Encoding method, decoding method, encoder, decoder, and storage medium

By binarizing the motion information index value in the inter-geometric division prediction mode in the video encoding and decoding technology and entropy coding of different context probabilistic models, the problem of low encoding efficiency is solved and higher encoding and decoding performance and efficiency are achieved.

CN119946288AActive Publication Date: 2025-05-06GUANGDONG OPPO MOBILE TELECOMMUNICATIONS CORP LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202510107950.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2020-04-08
Publication Date
2025-05-06
Estimated Expiration
2040-04-08

AI Technical Summary

Technical Problem

In the inter-geometric division prediction mode of existing video encoding and decoding technology, the encoding efficiency of motion information index values ​​is low, resulting in an increase in the number of coded bits.

Method used

By binarizing the motion information index values ​​of the first and second partitions, entropy encoding is performed using different context probability models to reduce the number of bits required for encoding.

Benefits of technology

Improves encoding and decoding performance, reduces the number of encoding bits, and improves encoding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119946288A_ABST
    Figure CN119946288A_ABST
Patent Text Reader

Abstract

The embodiment of the invention discloses an encoding method, a decoding method, an encoder, a decoder and a storage medium, and the method comprises the steps: determining two partitions of a current block when a prediction mode parameter indicates that an inter-frame prediction value of the current block is determined through employing a GPM (Geometric Partition Mode); determining motion information of the two partitions from the motion information candidate list, setting a first motion information index value as an index serial number value of the motion information of the first partition in the motion information candidate list, and setting a second motion information index value as an index serial number value of the motion information of the second partition in the motion information candidate list; respectively carrying out binarization processing on the first motion information index value and the second motion information index value to obtain a first symbol string and a second symbol string; encoding the first binary symbol entropy of the first symbol string and the first binary symbol entropy of the second symbol string by using different context probability models; and performing entropy coding on binary symbols except the first binary symbol in the first symbol string and the second symbol string by using a preset model.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description of the case

[0002] This application is a divisional application based on a patent application with an application date of April 8, 2020, application number 202010271284.3, and invention name “Encoding method, decoding method, encoder, decoder and storage medium”. Technical Field

[0003] The present application relates to the field of coding and decoding technology, and in particular to an encoding method, a decoding method, an encoder, a decoder and a storage medium. Background Art

[0004] In the field of video coding and decoding, in addition to intra-frame prediction, inter-frame prediction can also be used in the process of coding and decoding the current block. Among them, inter-frame prediction can specifically use the inter-frame geometric partitioning prediction mode (GEO), or GPM prediction mode, which divides the current block into two non-rectangular partitions and then predicts them separately and then weightedly merges them to obtain the inter-frame prediction value of the current block.

[0005] However, for these two partitions, in the syntax element description, the first bit of the motion information index value of the first partition (expressed by merge_gpm_idx0[xCb][yCb]) and the motion information index value of the second partition (expressed by merge_gpm_idx1[xCb][yCb]) after binarization are encoded using the same context probability model, but these syntax element values ​​do not have the same probability distribution, which will increase the number of coding bits; in addition, the second bit after binarization is encoded using the equal probability model, which still increases the number of coding bits because the probability distribution is not fully considered. Summary of the invention

[0006] The embodiments of the present application propose an encoding method, a decoding method, an encoder, a decoder and a storage medium, which fully utilize the probability distribution characteristics of the first bit, the second bit or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization, thereby reducing the number of bits required for encoding and improving encoding and decoding performance.

[0007] The technical solution of the embodiment of the present application is implemented as follows:

[0008] In a first aspect, an embodiment of the present application provides an encoding method, which is applied to an encoder, and the method includes:

[0009] Determining prediction mode parameters for the current block;

[0010] When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block, determining two partitions of the current block;

[0011] Determine the motion information of the two partitions from the motion information candidate list, and set the first motion information index value to the index number value of the motion information of the first partition in the motion information candidate list, and set the second motion information index value to the index number value of the motion information of the second partition in the motion information candidate list;

[0012] Binarizing the first motion information index value and the second motion information index value respectively to obtain a first symbol string and a second symbol string; wherein the symbol string includes one or more binary symbols;

[0013] Using different context probability models, entropy encoding the first binary symbol of the first symbol string and the first binary symbol of the second symbol string is performed respectively;

[0014] Using a preset model, entropy encoding is performed on the binary symbols except the first binary symbol in the first symbol string and the second symbol string respectively;

[0015] The bits obtained by encoding the first symbol string and the second symbol string are written into a code stream.

[0016] In a second aspect, an embodiment of the present application provides a decoding method, which is applied to a decoder, and the method includes:

[0017] When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block, determining two partitions of the current block;

[0018] Parsing a bitstream to determine a first symbol string and a second symbol string corresponding to motion information index values ​​of two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: parsing the bitstream using different context probability models to obtain a first binary symbol of the first symbol string and the second symbol string; and continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string;

[0019] Determine, according to a preset binarization model, a first value and a second value corresponding to the first symbol string and the second symbol string, and set the first value and the second value as a first motion information index value and a second motion information index value, respectively;

[0020] Based on the motion information candidate list, determine the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition;

[0021] An inter-frame prediction value of the current block is determined according to the motion information corresponding to the first partition and the motion information of the second partition.

[0022] In a third aspect, an embodiment of the present application provides an encoder, the encoder comprising a first determining unit, a setting unit, a processing unit and an encoding unit; wherein,

[0023] The first determining unit is configured to determine a prediction mode parameter of a current block;

[0024] The first determining unit is further configured to determine two partitions of the current block in the image to be encoded when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block;

[0025] The setting unit is configured to determine the motion information of the two partitions from the motion information candidate list, and set the first motion information index value to the index number value of the motion information of the first partition in the motion information candidate list, and set the second motion information index value to the index number value of the motion information of the second partition in the motion information candidate list;

[0026] The processing unit is configured to perform binarization processing on the first motion information index value and the second motion information index value respectively to obtain a first symbol string and a second symbol string; wherein the symbol string includes one or more binary symbols;

[0027] The encoding unit is configured to use different context probability models to entropy encode the first binary symbol of the first symbol string and the second symbol string respectively; use a preset model to entropy encode the binary symbols in the first symbol string and the second symbol string except the first binary symbol; and write the bits obtained after encoding the first symbol string and the second symbol string into the code stream.

[0028] In a fourth aspect, an embodiment of the present application provides an encoder, the encoder comprising a first memory and a first processor; wherein:

[0029] The first memory is used to store a computer program that can be run on the first processor;

[0030] The first processor is configured to execute the method according to the first aspect when running the computer program.

[0031] In a fifth aspect, an embodiment of the present application provides a decoder, the decoder comprising a parsing unit, a second determining unit, an inverse processing unit and a prediction unit; wherein,

[0032] The parsing unit is configured to parse the bitstream to obtain prediction mode parameters of the current block;

[0033] The second determining unit is configured to determine two partitions of the current block when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block;

[0034] The parsing unit is further configured to parse the bitstream to determine a first symbol string and a second symbol string corresponding to the motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string include one or more binary symbols, including: using different context probability models to parse the bitstream to obtain the first binary symbol of the first symbol string and the second symbol string; and continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string.

[0035] The inverse processing unit is configured to determine the first value and the second value corresponding to the first symbol string and the second symbol string according to a preset binarization model, and set the first value and the second value as the first motion information index value and the second motion information index value respectively;

[0036] The second determining unit is further configured to determine, based on the motion information candidate list, the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition;

[0037] The prediction unit is configured to determine the inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition.

[0038] In a sixth aspect, an embodiment of the present application provides a decoder, the decoder comprising a second memory and a second processor; wherein:

[0039] The second memory is used to store a computer program that can be run on the second processor;

[0040] The second processor is used to execute the method as described in the second aspect when running the computer program.

[0041] In a seventh aspect, an embodiment of the present application provides a computer storage medium storing a computer program, wherein the computer program implements the method described in the first aspect when executed by a first processor, or implements the method described in the second aspect when executed by a second processor.

[0042] An encoding method, a decoding method, an encoder, a decoder and a storage medium provided in an embodiment of the present application are applied to an encoder to determine a prediction mode parameter of a current block; when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, two partitions of the current block are determined; from a motion information candidate list, the motion information of the two partitions is determined, and a first motion information index value is set to an index sequence value of the motion information of the first partition in the motion information candidate list, and a second motion information index value is set to an index sequence value of the motion information of the second partition in the motion information candidate list; the first motion information index value and the second motion information index value are binarized respectively to obtain a first symbol string and a second symbol string; wherein the symbol string contains one or more binary symbols; different context probability models are used to entropy encode the first binary symbol of the first symbol string and the second symbol string respectively; a preset model is used to entropy encode the binary symbols in the first symbol string and the second symbol string except the first binary symbol respectively; and the bits obtained after encoding the first symbol string and the second symbol string are written into a bit stream. In addition, an embodiment of the present application provides a decoding method, which is applied to a decoder, and obtains a prediction mode parameter of a current block by parsing a bitstream; when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, two partitions of the current block are determined; the bitstream is parsed to determine a first symbol string and a second symbol string corresponding to motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: using different context probability models to parse the bitstream to obtain the first binary symbol of the first symbol string and the second symbol string; continuing to parse the bitstream using a preset model to obtain the first symbol string and the second symbol string. Binary symbols other than the first binary symbol; according to a preset binarization model, determining the corresponding first and second numerical values ​​of the first symbol string and the second symbol string, and setting the first numerical value and the second numerical value as the first motion information index value and the second motion information index value, respectively; based on the motion information candidate list, determining the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determining the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition; determining the inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition.In this way, both the encoder and the decoder make full use of the probability distribution characteristics of the first bit, the second bit or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization, and design corresponding up-and-down probability models for them, thereby reducing the number of bits required for encoding and improving the encoding and decoding performance, so as to achieve the purpose of improving the encoding and decoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0043] Figure 1A A structural schematic diagram of a geometric partitioning mode provided for a related technical solution;

[0044] Figure 1B A structural schematic diagram of another geometric partitioning mode provided for the related technical solution;

[0045] Figure 2 A structural schematic diagram of the angle and step length of a current block provided for a related technical solution;

[0046] Figure 3A A block diagram of a video encoding system provided in an embodiment of the present application;

[0047] Figure 3B A block diagram of a video decoding system provided in an embodiment of the present application;

[0048] Figure 4 A schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application;

[0049] Figure 5 A schematic diagram of adjacent block distribution for constructing a merge candidate list provided in an embodiment of the present application;

[0050] Figure 6 A flowchart of a decoding method provided in an embodiment of the present application;

[0051] Figure 7 A schematic diagram of the overall architecture of a GPM prediction process provided in an embodiment of the present application;

[0052] Figure 8 A schematic diagram of the structure of an encoder provided in an embodiment of the present application;

[0053] Fig. 9 A schematic diagram of a specific hardware structure of an encoder provided in an embodiment of the present application;

[0054] Fig.10 A schematic diagram of the structure of a decoder provided in an embodiment of the present application;

[0055] Fig.11 A schematic diagram of the specific hardware structure of a decoder provided in an embodiment of the present application. DETAILED DESCRIPTION

[0056] The following will be combined with the accompanying drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. It is understood that the specific embodiments described herein are only used to explain the related applications, rather than to limit the applications. It should also be noted that, for the convenience of description, only the parts related to the related applications are shown in the accompanying drawings.

[0057] In a video image, a first image component, a second image component and a third image component are generally used to represent a current block (Coding Block, CB); wherein the three image components are a brightness component, a blue chrominance component and a red chrominance component, respectively. Specifically, the brightness component is usually represented by the symbol Y, the blue chrominance component is usually represented by the symbol Cb or U, and the red chrominance component is usually represented by the symbol Cr or V; thus, the video image can be represented in the YCbCr format or in the YUV format.

[0058] In the embodiment of the present application, the first image component may be a brightness component, the second image component may be a blue chrominance component, and the third image component may be a red chrominance component, but the embodiment of the present application does not make any specific limitation.

[0059] The following will describe relevant technical solutions for the geometrical partition prediction mode (GPM).

[0060] In the hybrid framework of video coding, coding techniques such as prediction, transformation and quantization are usually implemented only in square and rectangular blocks. However, in actual applications, the edges of moving objects are not necessarily horizontal or vertical; even if they are, they are not necessarily exactly on the edges of divisible blocks. Since the motion vectors on both sides of the moving edge are often different, it is easy to generate large prediction errors when performing motion prediction and compensation on a whole block during the coding process, thus limiting the coding efficiency.

[0061] In the process of developing the new generation of video coding standard H.266 / Versatile Video Coding (VVC), other shapes other than squares and rectangles were introduced. The first is the introduction of triangular partition mode (TPM), such as Figure 1A shown in Figure 1A In the method, a diagonal line or an anti-diagonal line of a square or rectangle is used as a dividing line to obtain a triangular prediction unit, so that inter-frame prediction data can be represented more flexibly, prediction errors are reduced, and coding efficiency is improved.

[0062] At the first meeting of the Joint Video Experts Team (JVET), a more flexible inter-frame prediction mode (GEO) was proposed. Later, JVET formally adopted the GEO prediction mode into VVC and renamed it GPM. Specifically, the GPM prediction technology uses a more flexible representation method for the edge of moving objects in the image, dividing the inter-frame block into two non-rectangular partitions, such as Figure 1B As shown; the two partitions are predicted separately and then weighted fused to obtain the inter-frame prediction value of the current block.

[0063] It should also be noted that in the current VVC, the GPM prediction technology can have a total of 64 division modes, and each division mode corresponds to an angle (represented by α) and a step size (represented by ρ), that is, there can be a total of 20 angles and 4 step sizes. Figure 2 As shown in the figure, the angle of the horizontal rotation to the right to the normal position of the dividing line is α, and the normal distance of the dividing line is ρ; here, each combination of angle and step size can constitute a partitioning mode. In the GPM prediction mode, the current block can be divided into two non-rectangular partitions according to a partitioning mode, and each partition performs unidirectional motion compensation separately to obtain a unidirectional prediction value. Finally, the unidirectional prediction values ​​of the two partitions are weighted and fused using a weight matrix to obtain the final GPM prediction value.

[0064] However, for each of the two partitions of the current block, in the syntax element description, the motion information index value of the first partition (represented by merge_gpm_idx0[xCb][yCb]) and the motion information index value of the second partition (represented by merge_gpm_idx1[xCb][yCb]) both need to be binarized. In the current scheme, the first bit after binarization of merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] uses the same context probability model, and shares the same context probability model with the motion information index value of the ordinary inter-frame prediction mode (represented by merge_idx), but these syntax element values ​​do not have the same probability distribution, which will cause the context probability model to stabilize slowly during the encoding process, resulting in an increase in the number of coded bits; in addition, for the second bit after binarization, since the probability of the second bit being 0 is much smaller than the probability of the second bit being 1, the current scheme uses an equal probability model and does not fully consider the probability distribution, which still increases the number of coded bits and reduces the encoding and decoding efficiency.

[0065] An embodiment of the present application provides a coding method, which is applied to an encoder to determine prediction mode parameters of a current block; when the prediction mode parameters indicate that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, two partitions of the current block are determined; from a motion information candidate list, the motion information of the two partitions is determined, and a first motion information index value is set to an index sequence value of the motion information of the first partition in the motion information candidate list, and a second motion information index value is set to an index sequence value of the motion information of the second partition in the motion information candidate list; the first motion information index value and the second motion information index value are binarized respectively to obtain a first symbol string and a second symbol string; wherein the symbol string contains one or more binary symbols; different context probability models are used to entropy encode the first binary symbol of the first symbol string and the second symbol string respectively; a preset model is used to entropy encode the binary symbols in the first symbol string and the second symbol string except the first binary symbol respectively; and the bits obtained after encoding the first symbol string and the second symbol string are written into a bit stream. In addition, an embodiment of the present application provides a decoding method, which is applied to a decoder, and obtains a prediction mode parameter of a current block by parsing a bitstream; when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, two partitions of the current block are determined; the bitstream is parsed to determine a first symbol string and a second symbol string corresponding to motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: using different context probability models to parse the bitstream to obtain the first binary symbol of the first symbol string and the second symbol string; continuing to parse the bitstream using a preset model to obtain the first symbol string and the second symbol string. Binary symbols other than the first binary symbol; according to a preset binarization model, determine the corresponding first and second numerical values ​​of the first symbol string and the second symbol string, and set the first and second numerical values ​​as the first motion information index value and the second motion information index value respectively; based on the motion information candidate list, determine the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition; determine the inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition. In this way, whether it is an encoder or a decoder, it fully utilizes the probability distribution characteristics of the first bit, the second bit or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization, and designs a corresponding up-down probability model for it, so as to reduce the number of bits required for encoding and improve the encoding and decoding performance, so as to achieve the purpose of improving the encoding and decoding efficiency.

[0066] The embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0067] See also Figure 3A , which shows an example of a block diagram of a video encoding system provided by an embodiment of the present application; Figure 3AAs shown, the video coding system 10 includes a transform and quantization unit 101, an intra-frame estimation unit 102, an intra-frame prediction unit 103, a motion compensation unit 104, a motion estimation unit 105, an inverse transform and inverse quantization unit 106, a filter control analysis unit 107, a filtering unit 108, an entropy coding unit 109 and a decoded image cache unit 110, etc., wherein the filtering unit 108 can implement deblocking filtering and sample adaptive offset (Sample Adaptive0ffset, SAO) filtering, and the entropy coding unit 109 can implement header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC). For the input original video signal, through the coding tree block (Coding A video coding block can be obtained by dividing the video coding block into a plurality of blocks (CTUs) by a plurality of tree units (CTUs). Then, the residual pixel information obtained after intra-frame or inter-frame prediction is transformed by a transform and quantization unit 101, including transforming the residual information from a pixel domain to a transform domain, and quantizing the obtained transform coefficients to further reduce the bit rate. An intra-frame estimation unit 102 and an intra-frame prediction unit 103 are used to perform intra-frame prediction on the video coding block. Specifically, the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used to determine an intra-frame prediction mode to be used for encoding the video coding block. A motion compensation unit 104 and a motion estimation unit 105 are used to perform inter-frame prediction coding of the received video coding block relative to one or more blocks in one or more reference frames to provide temporal prediction information. The motion estimation performed by the motion estimation unit 105 is a process of generating a motion vector, which can estimate the motion of the video coding block. Then, the motion compensation unit 104 calculates the motion vector based on the motion vector determined by the motion estimation unit 105. vector performs motion compensation; after determining the intra-frame prediction mode, the intra-frame prediction unit 103 is also used to provide the selected intra-frame prediction data to the entropy coding unit 109, and the motion estimation unit 105 also sends the calculated motion vector data to the entropy coding unit 109; in addition, the inverse transform and inverse quantization unit 106 is used to reconstruct the video coding block, reconstruct the residual block in the pixel domain, the reconstructed residual block is removed from the block effect artifact by the filter control analysis unit 107 and the filtering unit 108, and then the reconstructed residual block is added to a predictive block in the frame of the decoded image cache unit 110 to generate a reconstructed video coding block; the entropy coding unit 109 is used to encode various coding parameters and quantized transform coefficients. In the CABAC-based coding algorithm, the context content can be based on adjacent coding blocks and can be used to encode information indicating the determined intra-frame prediction mode and output the code stream of the video signal; and the decoded image cache unit 110 is used to store the reconstructed video coding block for prediction reference.As the video image encoding proceeds, new reconstructed video encoding blocks are continuously generated, and these reconstructed video encoding blocks are stored in the decoded image buffer unit 110 .

[0068] See also Figure 3B , which shows an example of a block diagram of a video decoding system provided by an embodiment of the present application; Figure 3B As shown, the video decoding system 20 includes an entropy decoding unit 201, an inverse transform and inverse quantization unit 202, an intra-frame prediction unit 203, a motion compensation unit 204, a filtering unit 205, and a decoded image buffer unit 206, wherein the entropy decoding unit 201 can implement header information decoding and CABAC decoding, and the filtering unit 205 can implement deblocking filtering and SAO filtering. The input video signal is Figure 3A After the encoding process, the code stream of the video signal is output; the code stream is input into the video decoding system 20, and first passes through the entropy decoding unit 201 to obtain the decoded transform coefficients; the transform coefficients are processed by the inverse transform and inverse quantization unit 202 to generate residual blocks in the pixel domain; the intra-frame prediction unit 203 can be used to generate prediction data of the current video decoding block based on the determined intra-frame prediction mode and the data of the previously decoded blocks from the current frame or picture; the motion compensation unit 204 determines the prediction information for the video decoding block by analyzing the motion vector and other associated syntax elements, and uses the prediction information The decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 202 and the corresponding predictive block generated by the intra-frame prediction unit 203 or the motion compensation unit 204; the decoded video signal passes through the filtering unit 205 to remove the block effect artifacts, which can improve the video quality; and then the decoded video block is stored in the decoded image buffer unit 206, which stores the reference image used for subsequent intra-frame prediction or motion compensation, and is also used for the output of the video signal, that is, the restored original video signal is obtained.

[0069] The embodiment of the present application is mainly applied to the entropy coding part (i.e. Figure 3A The entropy coding unit 109 shown in FIG. Figure 3B In the entropy decoding unit 201 shown in FIG. 2 ); correspondingly, in the entropy coding part, it will also affect Figure 3A The inter-frame prediction part in Figure 3A The motion compensation unit 104 and the motion estimation unit 105 shown in FIG. 1 also affect the entropy decoding part. Figure 3B The inter-frame prediction part in Figure 3BThe motion compensation unit 204 is shown. That is to say, the embodiment of the present application can be applied to both the video encoding system and the video decoding system, and can also be applied to both the video encoding system and the video decoding system at the same time, and the embodiment of the present application does not make any limitation.

[0070] Based on the above Figure 3A For an example of an application scenario, see Figure 4 , which shows a schematic diagram of a flow chart of an encoding method provided in an embodiment of the present application. Figure 4 As shown, the method may include:

[0071] S401: Determine prediction mode parameters of the current block;

[0072] It should be noted that the image to be encoded can be divided into multiple image blocks, and the current image block to be encoded can be called a coding block (Coding Block, CB). Here, each coding block may include a first image component, a second image component, and a third image component; and the current block is a coding block in the image to be encoded that is currently to be predicted for the first image component, the second image component, or the third image component.

[0073] Among them, assuming that the current block predicts the first image component, and the first image component is a luminance component, that is, the image component to be predicted is a luminance component, then the current block can also be called a luminance block; or, assuming that the current block predicts the second image component, and the second image component is a chrominance component, that is, the image component to be predicted is a chrominance component, then the current block can also be called a chrominance block.

[0074] It should also be noted that the prediction mode parameters indicate the prediction mode used by the current block and the parameters related to the prediction mode. Here, for determining the prediction mode parameters, a simple decision strategy can be adopted, such as determining according to the size of the distortion value; or a complex decision strategy can be adopted, such as determining according to the result of rate distortion optimization (RDO), which is not limited in any way in the embodiments of the present application. Generally speaking, the RDO method can be used to determine the prediction mode parameters of the current block.

[0075] Specifically, in some embodiments, for S401, determining the prediction mode parameters of the current block may include:

[0076] Pre-encoding the current block using multiple prediction modes to obtain a rate-distortion cost value corresponding to each prediction mode;

[0077] A minimum rate-distortion cost value is selected from the obtained multiple rate-distortion cost values, and a prediction mode corresponding to the minimum rate-distortion cost value is determined as a prediction mode parameter of the current block.

[0078] That is to say, on the encoder side, multiple prediction modes can be used for the current block to perform pre-coding processing on the current block respectively. Here, the multiple prediction modes generally include inter-frame prediction mode, traditional intra-frame prediction mode and non-traditional intra-frame prediction mode; among which, the traditional intra-frame prediction mode may include direct current (DC) mode, plane (PLANAR) mode and angle mode, etc., the non-traditional intra-frame prediction mode may include matrix-based intra-frame prediction (Matrix-based Intra Prediction, MIP) mode, cross-component linear model prediction (Cross-component Linear Model Prediction, CCLM) mode, intra-frame block copy (Intra Block Copy, IBC) mode and PLT (Palette) mode, etc., and the inter-frame prediction mode may include traditional inter-frame prediction mode and GPM prediction mode, etc.

[0079] In this way, after pre-encoding the current block using multiple prediction modes, the rate-distortion cost value corresponding to each prediction mode can be obtained; then the minimum rate-distortion cost value is selected from the multiple rate-distortion cost values ​​obtained, and the prediction mode corresponding to the minimum rate-distortion cost value is determined as the prediction mode parameter of the current block. In addition, after pre-encoding the current block using multiple prediction modes, the distortion value corresponding to each prediction mode can be obtained; then the minimum distortion value is selected from the multiple distortion values ​​obtained, and the prediction mode corresponding to the minimum distortion value is determined as the prediction mode parameter of the current block. In this way, the current block is finally encoded using the determined prediction mode parameters, and in this prediction mode, the prediction residual can be made smaller, which can improve the coding efficiency.

[0080] S402: When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, determine two partitions of the current block;

[0081] It should be noted that, for the current block, if the current block can use the GPM prediction mode, the current block also needs to meet some restrictions. For example, these restrictions may include:

[0082] (a) The Sequence Parameter Set (SPS) allows the use of the GPM prediction mode;

[0083] (b) The coded image area of ​​the current block belongs to a bidirectional prediction slice (B slice);

[0084] (c) The size limit of the current block, the width and height must be greater than or equal to 8 and less than or equal to 64, and the aspect ratio and height-to-width ratio of the current block are both less than 8;

[0085] (d) The current block is not general merge prediction, merge_subblock prediction, affine prediction, or Composed Intra Inter Prediction (CIIP);

[0086] (e) Disable GPM prediction mode for chroma components in 4:0:0 format.

[0087] It should also be noted that if the current block meets the above-mentioned restrictions and the prediction mode parameters indicate that the current block adopts the GPM prediction mode under inter-frame prediction, then the angle and step size corresponding to the dividing line in the current block can be determined, and then the two partitions divided by the current block can be determined, such as the first partition and the second partition, which can be represented by partition A and partition B.

[0088] Further, the angle index value and the step index value are respectively set to the index numbers corresponding to the angle and step length of the segmentation line in the current block in the preset mapping table. In some embodiments, when the prediction mode parameter indicates that the inter-frame prediction value of the current block is determined by using GPM, the method may further include:

[0089] Determining a partitioning mode of the current block;

[0090] The division mode index value is determined as the index number corresponding to the division mode in the preset mapping table and written into the bitstream; wherein the preset mapping table is used to indicate the correspondence between the division mode index value, the angle index value and the step index.

[0091] That is to say, when it is determined that the prediction mode parameter indicates that the GPM prediction mode is used to determine the inter-frame prediction value of the current block, the partition mode of the current block can also be determined at this time; wherein each partition mode corresponds to an angle and a step size. Generally speaking, there are a total of 64 partition modes in the GPM prediction mode. For so many partition modes, the RDO method can still be used to determine the partition mode of the current block, and at the same time, the partition mode index value is determined as the index number corresponding to the partition mode in the preset mapping table and written into the bitstream, so that the partition mode index value can be obtained by parsing the bitstream on the decoder side, and then the angle index value and step index value of the current block can be determined by searching the preset mapping table.

[0092] Among them, the preset mapping table for reflecting the division mode index value, angle index value and step index is shown in Table 1; in Table 1, a total of 64 division modes are provided, as well as the angle index value and step index value corresponding to each division mode; here, merge_gpm_partition_idx is the division mode index value, angleIdx is the angle index value, and distanceIdx is the step index value.

[0093] Table 1

[0094]

[0095]

[0096] In this way, when the current block adopts the GPM prediction mode, the encoder side can determine the partition mode index value written into the bitstream according to the preset mapping table shown in Table 1; and the decoder side can obtain the partition mode index value selected by the current block by parsing the bitstream, and obtain the corresponding angle index value and step index value by looking up the table, and then determine the first partition and the second partition into which the current block is divided.

[0097] S403: Determine the motion information of the two partitions from the motion information candidate list, and set the first motion information index value to the index number value of the motion information of the first partition in the motion information candidate list, and set the second motion information index value to the index number value of the motion information of the second partition in the motion information candidate list;

[0098] It should be noted that the motion information may include at least a motion vector and a reference image index. Since the motion information of the adjacent blocks can be obtained, a motion information candidate list can be constructed for at least two partitions of the current block according to the motion information of the adjacent blocks, thereby obtaining a motion information candidate list. Specifically, in some embodiments, before S402, the method may further include:

[0099] The motion information candidate list is constructed by using the motion information of the neighboring blocks of the current block.

[0100] It can be understood that, on the encoder side, the GPM prediction mode and other inter-frame prediction modes can be regarded as competing modes. If the current block chooses to use the GPM prediction mode, there is also a selection process for various parameters within it. In addition, it should be noted that the image blocks adjacent to the current block are called adjacent blocks; that is, in the image to be encoded, the current block and the adjacent blocks have an adjacent relationship. The adjacent blocks mentioned here include spatially adjacent blocks and temporally adjacent blocks of the current block. Among them, spatially adjacent blocks refer to encoded (or decoded) blocks that are located in the same image as the current block; temporally adjacent blocks refer to encoded (or decoded) blocks located in the inter-frame prediction reference image of the current block.

[0101] Here, the GPM prediction mode can reuse the existing regular merge list and construct a one-way merge list belonging to GPM in a parity check manner, so that the candidate motion vector (motionvector, mv) information of each of the two partitions after the GPM division is selected from the one-way merge list.

[0102] Specifically, the first step is to construct a merge candidate list, which is consistent with the process of constructing a list in normal merge mode. The construction order is: upper neighboring block (represented by B1), left neighboring block (represented by A1), upper right neighboring block (represented by B0), lower left neighboring block (represented by A0), upper left neighboring block (represented by B2), reference frame corresponding position block (represented by col), historical reference block (represented by his), average motion vector of the first and second candidate mv (represented by mv avg), and zero motion vector (represented by 0). Figure 5 As shown, it gives a schematic diagram of the distribution of adjacent blocks for constructing a merge candidate list for the current block; according to the construction order, the merge candidate list of the current block, that is, the motion information candidate list, can be obtained.

[0103] In the second step, according to RDO or other strategies, different prediction mode parameters are selected, including angles and step sizes corresponding to different partitioning lines, and mv options in the above merge candidate list for the mv of the two partitions, and the selection results (angle and offset information corresponding to the partitioning mode, and position information of the reference options selected by partitions A and B in the merge candidate list, represented by m and n respectively) are transmitted to the decoder side in the form of syntax elements in the bitstream.

[0104] Here, the code stream writing process of the first motion information index value (represented by merge_gpm_idx0[xCb][yCb]) and the second motion information index value (represented by merge_gpm_idx1[xCb][yCb]) is mainly described. After obtaining the reference option position information selected by the two A and B partitions m and n in the merge candidate list, the encoder side can assign the syntax element according to the following formula:

[0105] merge_gpm_idx0[xCb][yCb]=m (1)

[0106] merge_gpm_idx1[xCb][yCb]=n-(merge_gpm_idx1[xCb][yCb]>=m)? 1:0 (2)

[0107] Then it is binarized, entropy encoded, and written into the bitstream for transmission. That is, at the encoder side, the coding unit (CU) layer syntax element description corresponding to the current block is shown in Table 2 below.

[0108] Table 2

[0109]

[0110] Here, ae(v) represents a context-adaptive arithmetic entropy-coded syntaxelement, that is, a context-adaptive arithmetic entropy coded syntaxelement, and merge_gpm_partition_idx[x0][y0] represents the partition mode index value under the GPM prediction mode, which is used to look up the table in combination with Table 1 to obtain the angle and step size corresponding to the partition line in the current block.

[0111] In this way, after obtaining the motion information candidate list, the motion information of each partition can also be determined from the motion information candidate list, and the motion information index value of each partition can be set to the index number value of the corresponding determined motion information in the motion information candidate list, so as to subsequently perform binarization and binary encoding processing on the motion information index value.

[0112] S404: Binarize the first motion information index value and the second motion information index value respectively to obtain a first symbol string and a second symbol string; wherein the symbol string includes one or more binary symbols;

[0113] It should be noted that after obtaining the first motion information index value and the second motion information index value, it is necessary to first perform binarization on the two motion information index values ​​respectively, so as to obtain two groups of symbol strings (i.e., the first symbol string and the second symbol string), and each group of symbol strings can contain one or more binary symbols; here, the value of the binary symbol can be 0 or 1.

[0114] It should also be noted that m and n represent the reference option position information selected by partitions A and B respectively in the merge candidate list. The current value range of m and n is 0 to MaxNumGpmMergeCand-1; among them, MaxNumGpmMergeCand represents the length of the GPM merge candidate list, and its value can be 2 to 6, which is specifically set by the relevant syntax elements of the SPS layer. Before the binarization process, the mapping operation of formula (1) and formula (2) is first required, so that the value range of merge_gpm_idx0[xCb][yCb] is still 0 to MaxNumGpmMergeCand-1, while the value range of merge_gpm_idx1[xCb][yCb] is reduced to 0 to MaxNumGpmMergeCand-2; here, merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] represent the position information of the mv information selected by the two partitions divided by the dividing line in the current block in the merge candidate list. For merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb], both can be binarized using truncated unary codes.

[0115] Taking MaxNumGpmMergeCand=5 as an example, the binarization result of merge_gpm_idx0[xCb][yCb] is shown in Table 3, and the binarization result of merge_gpm_idx1[xCb][yCb] is shown in Table 4.

[0116] Table 3

[0117] merge_gpm_idx0[xCb][yCb] bit string 0 0 1 10 2 110 3 1110 4 1111

[0118] Table 4

[0119] merge_gpm_idx1[xCb][yCb] bit string 0 0 1 10 2 110 3 111

[0120] Furthermore, since the design of the merge candidate list places the candidate position information with a higher probability at the front position of the candidate list, it is convenient to assign smaller index values ​​to these candidate motion information; therefore, merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb]=0 is more likely, and fewer bits can be assigned to the position information index with a higher probability during subsequent entropy coding.

[0121] S405: performing entropy coding on the first binary symbol of the first symbol string and the first binary symbol of the second symbol string respectively using different context probability models;

[0122] S406: performing entropy coding on the binary symbols except the first binary symbol in the first symbol string and the second symbol string respectively using a preset model;

[0123] S407: Writing bits obtained by encoding the first symbol string and the second symbol string into a bit stream.

[0124] It should be noted that there are usually two entropy coding modes for H.266 / VVC, namely, a binary coding mode based on a context probability model and a binary coding mode based on an equal probability model. Among them, the context probability model (ContextModel) can be referred to as the context model for short, which is used to represent the probability of the binary symbol "0" or "1" appearing, and in the binary arithmetic coding process, it is also necessary to update the context probability model according to the value after the binary symbol is encoded; the equal probability model can be called the bypass model (Bypass Model), which uses the same probability for the binary symbol "0" or "1" in the binary arithmetic coding process, and there is no need to update the equal probability model after the binary symbol is encoded.

[0125] That is to say, after obtaining the binarized bits, binary arithmetic entropy coding (CABAC) based on the context probability model is usually used. Here, CABAC selects a probability model for each bit and uses this probability model for arithmetic coding. In the current VVC, the first bit after the binarization of merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] and the first bit of the normal merge mode (non-GPM prediction mode) use the same context probability model for entropy coding, and the remaining bits use an equal probability model for entropy coding; however, the probability distribution characteristics of the first bit, the second bit, or even each bit are not fully considered. For example, for the first bit, the first bit of merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] use the same context probability model, and share the context probability model with merge_idx, but these syntax element values ​​do not have the same Probability distribution, which will lead to an increase in the number of coded bits; for the second bit, taking Table 3 as an example, merge_gpm_idx0[xCb][yCb] uses truncated unary code for binarization. At this time, merge_gpm_idx0[xCb][yCb]=1 is binarized to 10, and its second bit is 0. The second bits of merge_gpm_idx0[xCb][yCb]=2, 3, and 4 are all 1. According to statistical probability analysis, it is found that the probability of merge_gpm_idx0[xCb][yCb]=1 is basically much smaller than the sum of the probabilities of merge_gpm_idx0[xCb][yCb]=2, 3, and 4. Since the current VVC still uses the equal probability model for entropy coding for the second bit, the number of coded bits will still increase.

[0126] In the embodiment of the present application, the encoder optimizes the encoding process of the relevant syntax merge_gpm_idx0[x0][y0] and merge_gpm_idx1[x0][y0] of the GPM prediction mode; specifically,

[0127] First, a context probability model is designed separately for the first bit after merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb] is binarized, so that the probability of the bit can be effectively learned and the coding performance of the bit can be improved;

[0128] The second is to design a separate context probability model for entropy coding of the second bit (if there is a second bit) after binarization of merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], so as to replace the equal probability model entropy coding in the current VVC. Here, after counting the probability distribution characteristics of merge_gpm_idx0[xCb][yCb], it is found that p(1)<(p(2)+p(3)+p(4)); where p(i) represents the probability that merge_gpm_idx0[xCb][yCb]=i, i=1,2,3,4; therefore, the probability that the second bit is 0 is much less than the probability that the second bit is 1, that is, the second bit is not suitable for using the equal probability model.

[0129] Specifically, in some embodiments, for S405, the entropy encoding the first binary symbol of the first symbol string and the first binary symbol of the second symbol string respectively using different context probability models may include:

[0130] The first binary symbol of the first symbol string is entropy encoded using a first context probability model, and the first binary symbol of the second symbol string is entropy encoded using a second context probability model; wherein the first context probability model is different from the second context probability model.

[0131] That is to say, for the first binary symbol (i.e., the first bit), a context probability model can be designed separately for the first motion information index value (merge_gpm_idx0[xCb][yCb]) and separated from the original shared context probability model; or, a context probability model can be designed separately for the second motion information index value (merge_gpm_idx1[xCb][yCb]) and separated from the original shared context probability model; or, a context probability model can be designed separately for the first motion information index value (merge_gpm_idx0[xCb][yCb]) and the second motion information index value (merge_gpm_idx1[xCb][yCb]), respectively, and both can be separated from the original shared context probability model; the embodiments of the present application are not specifically limited.

[0132] Taking the modification of merge_gpm_idx0[xCb][yCb] as an example, it is separated from the original shared context probability model and a separate context probability model is designed; the specific text modifications are as follows, Table 5 shows an example in which merge_idx[][], merge_gpm_idx0[][] and merge_gpm_idx1[][] share the same context probability model in the current VVC, Table 6 shows an example in which merge_gpm_idx0[][] provided in an embodiment of the present application is separated from the same context probability model shared by the three, and Table 7 shows the current VVC merge_gpm_idx0[][] except the first bit An example of using an equal probability model for the remaining bits, where "bypass" represents a bypass model, that is, an equal probability model; Table 8 shows an example of using a context probability model for the second bit of merge_gpm_idx0[][] provided in an embodiment of the present application, Table 9 shows an example of parameter specification design in which the three share the same context probability model in the current VVC, Table 10 shows an example of parameter specification design in which merge_idx[][] and merge_gpm_idx1[][] share a context probability model provided in an embodiment of the present application, Table 11 shows an example of parameter specification design for a context probability model designed separately for merge_gpm_idx0[][] provided in an embodiment of the present application.

[0133] Table 5

[0134]

[0135] Table 6

[0136]

[0137] Table 7

[0138]

[0139] Table 8

[0140]

[0141] Table 8.1

[0142]

[0143] Table 8.2

[0144]

[0145] Table 9

[0146]

[0147] Table 10

[0148]

[0149] Table 11

[0150]

[0151] Here, EP in the embodiment of the present application represents equal probability. In addition to modifying merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] can also be modified, and the text modification selected by the context probability model is the same as merge_gpm_idx0[xCb][yCb]. Specifically, for Table 8, it shows an example of using the context probability model for the second bit of merge_gpm_idx0[][] after binarization provided by an embodiment of the present application; if merge_gpm_idx1[xCb][yCb] is modified so that the second bit of merge_gpm_idx1[xCb][yCb] after binarization uses the context probability model, then the example is shown in Table 8.1; if merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] are modified at the same time so that the second bits of merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb] after binarization both use the context probability model, then the example is shown in Table 8.2.

[0152] Furthermore, the embodiments of the present application may also correct each bit after merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb] is binarized, and a context probability model that conforms to the probability distribution of the bit is individually designed. These situations will be described separately below.

[0153] Optionally, in some embodiments, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], different context probability models are designed only for the first bit after binarization, but the remaining bits except the first bit after binarization still use an equal probability model. Specifically, for S406, the entropy encoding of the binary symbols except the first binary symbol in the first symbol string and the second symbol string using the preset model includes:

[0154] A bypass model is used to perform entropy coding on binary symbols other than the first binary symbol in the first symbol string and the second symbol string; wherein the bypass model represents binary arithmetic entropy coding using an equal probability model.

[0155] That is to say, merge_gpm_idx0[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and a context probability model is designed for the first bit of merge_gpm_idx0[xCb][yCb]. After the parameters of the context probability model are initialized, 0 is a high probability symbol, corresponding to the probability distribution of the first bit after merge_gpm_idx0[xCb][yCb] is binarized. In addition, merge_gpm_idx1[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and is designed for the first bit of merge_gpm_idx0[xCb][yCb].

[0156] A context probability model is designed for the first bit of merge_gpm_idx1[xCb][yCb]. After the context probability model parameters are initialized, 0 is a high probability symbol, corresponding to the probability distribution of the first bit after merge_gpm_idx1[xCb][yCb] is binarized.

[0157] Exemplarily, the specific text modifications are as follows: Table 12 shows an example in which merge_idx[][], merge_gpm_idx0[][] and merge_gpm_idx1[][] share the same context probability model in the current VVC; Table 13 shows an example in which merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in an embodiment of the present application are separated from sharing the same context probability model; Table 14 shows an example of parameter specification design in which the three share the same context probability model in the current VVC; Table 15 shows an example of parameter specification design of the context probability model used by merge_idx[][] provided in an embodiment of the present application; Table 16 shows an example of parameter specification design of the context probability model used by merge_gpm_idx0[][] provided in an embodiment of the present application; Table 17 shows an example of parameter specification design of the context probability model used by merge_gpm_idx1[][] provided in an embodiment of the present application.

[0158] Table 12

[0159]

[0160] Table 13

[0161]

[0162] Table 14

[0163]

[0164] Table 15

[0165]

[0166] Table 16

[0167]

[0168] Table 17

[0169]

[0170]

[0171] Optionally, in some embodiments, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], different context probability models are designed not only for the first bit after binarization, but also for the second bit after binarization, but the remaining bits except the first bit and the second bit after binarization still adopt an equal probability model. Specifically, for S406, the entropy encoding of the binary symbols except the first binary symbol in the first symbol string and the second symbol string respectively using a preset model includes:

[0172] performing entropy coding on the second binary symbol of the first symbol string and the second symbol string using different context probability models;

[0173] A bypass model is used to perform entropy coding on binary symbols other than the first binary symbol and the second binary symbol in the first symbol string and the second symbol string; wherein the bypass model represents binary arithmetic entropy coding using an equal probability model.

[0174] Further, the entropy encoding the second binary symbol of the first symbol string and the second symbol string using different context probability models may include:

[0175] The second binary symbol of the first symbol string is entropy encoded using a third context probability model, and the second binary symbol of the second symbol string is entropy encoded using a fourth context probability model; wherein the third context probability model is different from the fourth context probability model.

[0176] That is to say, merge_gpm_idx0[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and a context probability model is designed separately for the first bit of merge_gpm_idx0[xCb][yCb]. At the same time, a context model is also designed separately for the second bit of merge_gpm_idx0[xCb][yCb]. In addition, merge_gpm_idx1[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and a context model is designed separately for the first bit of merge_gpm_idx1[xCb][yCb]. At the same time, a context model is also designed separately for the second bit of merge_gpm_idx1[xCb][yCb].

[0177] Exemplarily, the specific text modifications are as follows: Table 18 shows an example in which merge_idx[][], merge_gpm_idx0[][] and merge_gpm_idx1[][] share the same context probability model in the current VVC; Table 19 shows an example in which merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in an embodiment of the present application are separated from sharing the same context probability model; Table 20 shows an example in which the remaining bits of merge_gpm_idx0[][] and merge_gpm_idx1[][] except the first bit in the current VVC all use an equal probability model; Table 21, Table 21.1 and Table 21.2 An example of using a context probability model for the second bit of merge_gpm_idx0[][] and / or merge_gpm_idx1[][] provided in an embodiment of the present application is shown. Table 22 shows an example of parameter specification design in which the three in the current VVC share the same context probability model. Table 23 shows an example of parameter specification design using a context probability model for merge_idx[][] provided in an embodiment of the present application. Table 24 shows an example of parameter specification design of the context probability model used by merge_gpm_idx0[][] provided in an embodiment of the present application. Table 25 shows an example of parameter specification design of the context probability model used by merge_gpm_idx1[][] provided in an embodiment of the present application.

[0178] Table 18

[0179]

[0180] Table 19

[0181]

[0182] Table 20

[0183]

[0184] Table 21

[0185]

[0186] Table 21.1

[0187]

[0188] Table 21.2

[0189]

[0190] Table 22

[0191]

[0192] Table 23

[0193]

[0194] Table 24

[0195]

[0196] Table 25

[0197]

[0198] Optionally, in some embodiments, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], a different context probability model may be designed for each bit after binarization. Specifically, the method may further include:

[0199] Different context probability models are used to entropy encode each binary symbol in the first symbol string and the second symbol string in sequence.

[0200] That is, merge_gpm_idx0[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and a context probability model is designed for each bit of merge_gpm_idx0[xCb][yCb] after binarization. In addition, merge_gpm_idx1[xCb][yCb] is separated from the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and a context probability model is designed for each bit of merge_gpm_idx1[xCb][yCb] after binarization.

[0201] Exemplarily, the specific text is modified as follows: Table 26 shows an example in which merge_idx[][], merge_gpm_idx0[][] and merge_gpm_idx1[][] share the same context probability model in the current VVC; Table 27 shows an example in which merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in an embodiment of the present application are separated from sharing the same context probability model; Table 28 shows an example in which the remaining bits of merge_gpm_idx0[][] and merge_gpm_idx1[][] except the first bit in the current VVC all use an equal probability model; Table 29 shows an example in which the present application Please provide an example of using a context probability model for each bit of merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in the embodiment. Table 30 shows an example of parameter specification design in which the three in the current VVC share the same context probability model. Table 31 shows an example of parameter specification design using a context probability model for merge_idx[][] provided in the embodiment of the present application. Table 32 shows an example of parameter specification design of the context probability model used by merge_gpm_idx0[][] provided in the embodiment of the present application. Table 33 shows an example of parameter specification design of the context probability model used by merge_gpm_idx1[][] provided in the embodiment of the present application.

[0202] Table 26

[0203]

[0204] Table 27

[0205]

[0206] Table 28

[0207]

[0208] Table 29

[0209]

[0210] Table 30

[0211]

[0212] Table 31

[0213]

[0214] Table 32

[0215]

[0216] Table 33

[0217]

[0218]

[0219] Optionally, in some embodiments, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], a bypass model may be used for each bit after binarization. Specifically, the method may further include:

[0220] A bypass model is used to entropy encode each binary symbol in the first symbol string and the second symbol string in sequence.

[0221] That is, all bits of merge_gpm_idx0[xCb][yCb] after binarization use the bypass coding mode, and all bits of merge_gpm_idx1[xCb][yCb] after binarization use the bypass coding mode.

[0222] Exemplarily, the specific text modifications are as follows: Table 34 shows an example in which merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in an embodiment of the present application are separated from the same context probability model, and only merge_idx[][] uses the context probability model; Table 35 shows an example in which the remaining bits of merge_gpm_idx0[][] and merge_gpm_idx1[][] except the first bit in the current VVC all use an equal probability model; Table 36 shows an example in which each bit of merge_gpm_idx0[][] and merge_gpm_idx1[][] provided in an embodiment of the present application uses a bypass model; Table 37 shows an example of parameter specification design of merge_idx[][] using a context probability model provided in an embodiment of the present application.

[0223] Table 34

[0224]

[0225] Table 35

[0226]

[0227] Table 36

[0228]

[0229] Table 37

[0230]

[0231] Optionally, in some embodiments, in addition to modifying the context probability model during bit encoding after binarization, the binarization processing method may also be optimized.

[0232] Specifically, the embodiment of the present application also proposes to modify the binarization method of the relevant syntax element merge_gpm_idx0[xCb][yCb] in the GPM prediction mode, that is, to replace the above Table 3. For the probability model of each bit, the same context model as the current VVC (that is, the first bit can select the context probability model shared by merge_gpm_idx0[xCb][yCb], merge_gpm_idx1[xCb][yCb] and merge_idx, and other bits select equal probability models) can be used for entropy coding.

[0233] Taking MaxNumGpmMergeCand=5 as an example, by modifying the binarization method of merge_gpm_idx0[xCb][yCb], the binarization result is shown in Table 38 below; here, the bold number indicates that the bit is entropy encoded using the context probability model, and the underlined number indicates that the bit is entropy encoded using the equal probability model.

[0234] Table 38

[0235]

[0236]

[0237] For MaxNumGpmMergeCand=2, 3, 4, and 6, the entropy coding method is the same as that of MaxNumGpmMergeCand=5 and does not change. As shown below, Table 39 shows a binarization result of MaxNumGpmMergeCand=2 provided in an embodiment of the present application, Table 40 shows a binarization result of MaxNumGpmMergeCand=3 provided in an embodiment of the present application, Table 41 shows a binarization result of MaxNumGpmMergeCand=4 provided in an embodiment of the present application, and Table 42 shows a binarization result of MaxNumGpmMergeCand=6 provided in an embodiment of the present application.

[0238] Table 39

[0239] merge_gpm_idx0[xCb][yCb] bit string 0 0 1 1

[0240] Table 40

[0241] merge_gpm_idx0[xCb][yCb] bit string 0 0 1 10 2 11

[0242] Table 41

[0243] merge_gpm_idx0[xCb][yCb] bit string 0 0 1 10 2 110 3 111

[0244] Table 42

[0245] merge_gpm_idx0[xCb][yCb] bit string 0 0 1 100 2 101 3 1100 4 1101 5 1110

[0246] Exemplarily, the specific text modifications are as follows: Table 43 shows an example of the merge_gpm_idx0[][] binarization processing method in the current VVC, and Table 44 shows an example of the merge_gpm_idx0[][] binarization processing method provided in an embodiment of the present application, where TR stands for Truncated Rice, which is a binarization processing method.

[0247] Table 43

[0248]

[0249] Table 44

[0250]

[0251] Furthermore, for the binarization processing of merge_gpm_idx0[][], the input of the processing process is the binarization request of the syntax element merge_gpm_idx0[][] and cMax; the output of the processing process is the binarization result of the syntax element, and the binarization processing method of merge_gpm_idx0[][] is shown in Table 45.

[0252] Table 45

[0253]

[0254] Further, in some embodiments, based on the binarization processing method of modifying the GPM-related syntax element merge_gpm_idx0[xCb][yCb] provided in the above embodiments, for the probability model of each bit, the context model proposed in the embodiments of the present application can be used (modifying the context probability model of the first bit, the second bit or each bit).

[0255] Specifically, the binarization processing method can adopt the above-mentioned Tables 43, 44 and 45, and the text of the probability model selection is modified as follows: Table 46 shows an example in which merge_idx[][], merge_gpm_idx0[][] and merge_gpm_idx1[][] share the same context probability model in the current VVC; Table 47 shows an example in which merge_gpm_idx0[][] provided in an embodiment of the present application is separated from the three sharing the same context probability model; Table 48 shows an example of parameter specification design for the three sharing the same context probability model in the current VVC; Table 49 shows an example of parameter specification design for the context probability model shared by merge_idx[][] and merge_gpm_idx1[][] provided in an embodiment of the present application; Table 50 shows an example of parameter specification design for the context probability model designed separately for merge_gpm_idx0[][] provided in an embodiment of the present application.

[0256] Table 46

[0257]

[0258] Table 47

[0259]

[0260] Table 48

[0261]

[0262] Table 49

[0263]

[0264] Table 50

[0265]

[0266] It can be understood that the embodiments of the present application are to make full use of the probability distribution characteristics of the data, and design a context probability model for the first bit, the second bit or each bit after merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb] is binarized, so that the codeword used in the actual encoding is less than 1 bit, which can reduce the number of bits required for encoding, thereby improving the encoding performance.

[0267] The present embodiment provides a coding method, which is applied to an encoder. By determining the prediction mode parameters of the current block; when the prediction mode parameters indicate that the inter-frame prediction value of the current block is determined by using the geometric partitioning mode GPM, two partitions of the current block are determined; from the motion information candidate list, the motion information of the two partitions is determined, and the first motion information index value is set to the index sequence value of the motion information of the first partition in the motion information candidate list, and the second motion information index value is set to the index sequence value of the motion information of the second partition in the motion information candidate list; the first motion information index value and the second motion information index value are binarized respectively to obtain a first symbol string and a second symbol string; wherein the symbol string contains one or more binary symbols; different context probability models are used to entropy encode the first binary symbol of the first symbol string and the second symbol string respectively; the preset model is used to entropy encode the binary symbols in the first symbol string and the second symbol string except the first binary symbol respectively; the bits obtained after encoding the first symbol string and the second symbol string are written into the bit stream. In this way, the probability distribution characteristics of the first bit, the second bit or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization are fully utilized to design corresponding up-and-down probability models, thereby reducing the number of bits required for encoding and improving encoding performance, so as to achieve the purpose of improving encoding efficiency.

[0268] Based on the above Figure 3B For an example of an application scenario, see Figure 6 , which shows a schematic flow chart of a decoding method provided by an embodiment of the present application. Figure 6 As shown, the method may include:

[0269] S601: Parse the bitstream to obtain prediction mode parameters of the current block;

[0270] It should be noted that the image to be decoded can be divided into multiple image blocks, and the image block currently to be decoded can be called a decoding block. Here, each decoding block may include a first image component, a second image component, and a third image component; and the current block is a decoding block in the image to be decoded that is currently to be predicted for the first image component, the second image component, or the third image component.

[0271] It should also be noted that the prediction mode parameters indicate the prediction mode used by the current block and the parameters related to the prediction mode. Among them, the prediction mode usually includes inter-frame prediction mode, traditional intra-frame prediction mode and non-traditional intra-frame prediction mode, and the inter-frame prediction mode includes traditional inter-frame prediction mode and GPM prediction mode. In other words, the encoder will select the optimal prediction mode to pre-encode the current block. In this process, the prediction mode of the current block can be determined, so that the corresponding prediction mode parameters are written into the bitstream and transmitted from the encoder to the decoder.

[0272] In this way, at the decoder side, the prediction mode parameters of the current block can be obtained by parsing the bitstream, and the obtained prediction mode parameters are used to determine whether the current block uses the GPM prediction mode.

[0273] S602: When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block, determine two partitions of the current block;

[0274] S603: parsing the bitstream to determine a first symbol string and a second symbol string corresponding to the motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: parsing the bitstream using different context probability models to obtain the first binary symbol of the first symbol string and the second symbol string; continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string;

[0275] The first symbol string and the second symbol string respectively represent one or more binary symbols related to the motion information index values ​​of the two partitions of the current block. Here, the first symbol string includes one or more binary symbols, which are related to the first motion information index value corresponding to the first partition of the current block (expressed by merge_gpm_idx0[xCb][yCb]); the second symbol string also includes one or more binary symbols, which are related to the second motion information index value corresponding to the second partition of the current block (expressed by merge_gpm_idx1[xCb][yCb]).

[0276] It should be noted that if the prediction mode parameter indicates that the current block uses the GPM prediction mode, it is necessary to continue parsing the bitstream to obtain the angle index value and the step index value of the current block. Specifically, when the prediction mode parameter indicates that the current block uses the GPM to determine the inter-frame prediction value of the current block, the method may further include:

[0277] Parsing the bitstream to obtain the partition mode index value of the current block;

[0278] Based on the division mode index value, query the angle index value and the step index value corresponding to the division mode index value from a preset mapping table; wherein the preset mapping table is used to indicate the corresponding relationship between the division mode index value, the angle index value and the step index;

[0279] The angle index value and the step index value obtained by the query are determined as the angle index value and the step index value corresponding to the segmentation line in the current block.

[0280] That is to say, when the prediction mode parameter indicates that the current block uses the GPM prediction mode, the code stream can be further parsed to obtain the partition mode index value of the current block, represented by merge_gpm_partition_idx, and combined with the preset mapping table shown in Table 1, the corresponding angle index value (represented by angleIdx) and step index value (represented by distanceIdx) can be obtained by looking up the table. In this way, after obtaining the angle index value and the step index value, the dividing line of the current block can be determined and divided, so that two partitions of the current block can be obtained, such as the first partition and the second partition, which can also be represented by partition A and partition B.

[0281] Furthermore, on the decoder side, two groups of symbol strings, namely the first symbol string and the second symbol string, can be obtained by parsing the bitstream. The bitstream is entropy decoded using the same arithmetic coding rules of the context probability model as on the encoder side to obtain the binarized bits. In this process, the decoder also maintains the probability model consistent with the encoder side and uses this probability model for binary arithmetic decoding.

[0282] Different context probability models may be used to decode the first bit of merge_gpm_idx0[x0][y0] and merge_gpm_idx1[x0][y0] after binarization. Specifically, in some embodiments, the method of parsing the bitstream using different context probability models to obtain the first binary symbol of the first symbol string and the second symbol string may include:

[0283] Performing binary arithmetic entropy decoding using a first context probability model to obtain a first binary symbol of the first symbol string;

[0284] Perform binary arithmetic entropy decoding using a second context probability model to obtain a first binary symbol of the second symbol string; wherein the first context probability model is different from the second context probability model.

[0285] Optionally, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], different context probability models are designed only for the first bit after binarization, but the remaining bits except the first bit after binarization still use an equal probability model. In some embodiments, the using a preset model to continue parsing the bitstream to obtain binary symbols except the first binary symbol in the first symbol string and the second symbol string includes:

[0286] The code stream is parsed using a bypass model to sequentially obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string; wherein the bypass model represents binary arithmetic entropy decoding using an equal probability model.

[0287] Optionally, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], different context probability models are designed not only for the first bit after binarization, but also for the second bit after binarization, but the remaining bits except the first bit and the second bit after binarization still adopt an equal probability model. In some embodiments, the using a preset model to continue parsing the bitstream to obtain binary symbols except the first binary symbol in the first symbol string and the second symbol string includes:

[0288] Parsing the bitstream using different context probability models to obtain the second binary symbol of the first symbol string and the second symbol string;

[0289] The bypass model is used to continue parsing the code stream, and binary symbols other than the first binary symbol and the second binary symbol in the first symbol string and the second symbol string are obtained in turn; wherein the bypass model represents binary arithmetic entropy decoding using an equal probability model.

[0290] Further, the using the preset model to continue parsing the code stream to obtain the binary symbols except the first binary symbol in the first symbol string and the second symbol string may include:

[0291] Performing binary arithmetic entropy decoding using a third context probability model to obtain a second binary symbol of the first symbol string;

[0292] Perform binary arithmetic entropy decoding using a fourth context probability model to obtain a second binary symbol of the second group of symbol strings; wherein the third context probability model is different from the fourth context probability model.

[0293] Optionally, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], different context probability models may be designed for each bit after binarization. In some embodiments, the method may further include:

[0294] The code stream is parsed using different context probability models to obtain each binary symbol in the first symbol string and the second symbol string.

[0295] Optionally, for merge_gpm_idx0[xCb][yCb] and / or merge_gpm_idx1[xCb][yCb], a bypass model may be used for each bit after binarization. In some embodiments, the method may further include:

[0296] The code stream is parsed using a bypass model to obtain each binary symbol in the first symbol string and the second symbol string.

[0297] In this way, the arithmetic coding rules of the context probability model that are the same as those on the encoder side can be used to perform entropy decoding on the bit stream, and the first symbol string and the second symbol string can be parsed to obtain; based on the first symbol string and the second symbol string, they can subsequently be subjected to inverse binarization processing respectively.

[0298] S604: Determine, according to a preset binarization model, a first value and a second value corresponding to the first symbol string and the second symbol string, and set the first value and the second value as a first motion information index value and a second motion information index value, respectively;

[0299] It should be noted that the binarization model is used to convert the symbol string into the corresponding numerical value; specifically, the same Table 3 and Table 4 as the encoder can be used to restore the binary bits to the corresponding motion information index values, namely merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb].

[0300] S605: Based on the motion information candidate list, determine the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition;

[0301] It should be noted that the motion information may include at least a motion vector and a reference image index. Since the motion information of the adjacent blocks can be obtained, a motion information candidate list can be constructed for at least two partitions of the current block according to the motion information of the adjacent blocks, thereby obtaining a motion information candidate list. Specifically, in some embodiments, the method may further include:

[0302] The motion information candidate list is constructed by using the motion information of the neighboring blocks of the current block.

[0303] Here, the way the decoder constructs the motion information candidate list is consistent with the process of constructing the list in the normal merge mode. The construction order is still: upper neighboring block B1, left neighboring block A1, upper right neighboring block B0, lower left neighboring block A0, upper left neighboring block B2, reference frame corresponding position block col, historical reference block his, average motion vector mv avg of the first and second candidates mv, and zero motion vector 0. In other words, the operation of constructing the motion information candidate list on the decoder side is consistent with the operation of constructing the motion information candidate list on the encoder side.

[0304] Since the code stream transmitted by the encoder includes the reference position information of partition A and partition B respectively selected in the merge candidate list (indicated by merge_gpm_idx0[xCb][yCb] and merge_gpm_idx1[xCb][yCb], first partition A and then partition B), by parsing the code stream, merge_gpm_idx0[xCb][yCb] can be obtained, which indicates the position of the mv of partition A in the merge candidate list. Let

[0305] m=merge_gpm_idx0[xCb][yCb] (3)

[0306] By parsing the bitstream, we can also get merge_gpm_idx1[xCb][yCb], which indicates the position of the mv of partition B in the merge candidate list. Since the position of the mv of partition B in the merge list may be reduced by 1 because partition A selects the option at the front position first, that is,

[0307] n=merge_gpm_idx1 [xCb][yCb]+(merge_gpm_idx1[xCb][yCb]>=m)? 1:0 (4)

[0308] Among them, n represents the actual position of the mv selected by partition B in the merge list. After obtaining m and n, let M = mergeCandList[m], take the mth item from the merge candidate list for the mv construction of partition A; let N = mergeCandList[n], take the nth item from the merge candidate list for the mv construction of partition B.

[0309] It should also be noted that the decoder side does not need to perform motion estimation. After obtaining M and N, they can be used to determine the inter-frame prediction value of the current block.

[0310] S606: Determine an inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition.

[0311] It should be noted that after parsing the code stream and inverse binarization processing, the motion information corresponding to the first partition of the current block and the motion information of the second partition can be obtained; then, based on the motion information corresponding to the first partition and the motion information of the second partition, the inter-frame prediction value of the current block can be determined.

[0312] For example, see Figure 7 , which shows a schematic diagram of the overall architecture of a GPM prediction process provided by an embodiment of the present application. Figure 7In the embodiment, the overall architecture may include an input module 701, a processing module 702 and an output module 703. The input module 701 provides input parameters in the GPM prediction mode, which include: the pixel position of the current block, taking the luminance component as an example, can be described by a luma location (xCb, yCb); the size information of the current block can be described by cbWidth and cbHeight; the mv information of the luminance component with 1 / 16 pixel accuracy can be represented by 1 / 16fractional-sample accuracy mvA and mvB; the mv information of the chrominance component with 1 / 32 pixel accuracy can be represented by 1 / 32fractional-sample accuracy mvCA and mvCB; the reference frame corresponding to the mv information can be represented by refIdxA and refIdxB; the list flag selected by the mv information is represented by predListFlagA and predListFlagB. The processing module 702 includes three steps: first, deriving the reference frame list (represented by refPicLN) and sub-pixel predicted pixel values ​​(represented by predSamplesLN) for three image components (including L component, Cb component and Cr component), N is A or B, and the sub-pixel predicted pixel values ​​are 14-bit depth; second, deriving the angle and step size of the segmentation line; third, deriving the weighted predicted pixel values ​​(represented by predSamples) for the three image components; finally, storing the mv information for subsequent prediction of mvN, refIdxN and predListFlagN. The output module 703 is used to output the predicted pixel values, which may include the predicted pixel values ​​corresponding to the three image components, represented by predSampleL, predSampleCb and predSampleCr respectively. Here, after determining the motion information corresponding to the first partition and the motion information of the second partition, the first prediction value of the first partition of the current block and the second prediction value of the second partition of the current block can be determined; after calculating the weight matrix of the current block according to the offset information, the first prediction value, the second prediction value and the weight matrix can be used to perform weighted fusion on each pixel in the current block to obtain the inter-frame prediction value of the current block.

[0313] This embodiment provides a decoding method, which is applied to a decoder. The method comprises the steps of: obtaining a prediction mode parameter of a current block by parsing a bitstream; determining two partitions of the current block when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine an inter-frame prediction value of the current block; parsing the bitstream to determine a first symbol string and a second symbol string corresponding to motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: parsing the bitstream using different context probability models to obtain the first binary symbol of the first symbol string and the second symbol string; continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string; determining a first value and a second value corresponding to the first symbol string and the second symbol string according to a preset binarization model, and setting the first value and the second value as a first motion information index value and a second motion information index value, respectively; determining, based on a motion information candidate list, the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determining the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition; and determining the inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition. In this way, the probability distribution characteristics of the first bit, the second bit or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization are fully utilized to design corresponding up-and-down probability models, thereby reducing the number of bits required for encoding and improving decoding performance, so as to achieve the purpose of improving decoding efficiency.

[0314] Based on the same inventive concept as the above embodiments, see Figure 8 , which shows a schematic diagram of the structure of an encoder 80 provided in an embodiment of the present application. Figure 8 As shown, the encoder 80 may include: a first determining unit 801, a setting unit 802, a processing unit 803 and an encoding unit 804; wherein,

[0315] A first determining unit 801 is configured to determine a prediction mode parameter of a current block;

[0316] The first determining unit 801 is further configured to determine two partitions of the current block in the image to be encoded when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block;

[0317] A setting unit 802 is configured to determine the motion information of the two partitions from the motion information candidate list, and set the first motion information index value to the index number value of the motion information of the first partition in the motion information candidate list, and set the second motion information index value to the index number value of the motion information of the second partition in the motion information candidate list;

[0318] The processing unit 803 is configured to perform binarization processing on the first motion information index value and the second motion information index value respectively to obtain a first symbol string and a second symbol string; wherein the symbol string includes one or more binary symbols;

[0319] The encoding unit 804 is configured to use different context probability models to entropy encode the first binary symbol of the first symbol string and the second symbol string respectively; use a preset model to entropy encode the binary symbols in the first symbol string and the second symbol string except the first binary symbol; and write the bits obtained after encoding the first symbol string and the second symbol string into the code stream.

[0320] In some embodiments, see Figure 8 The encoder 80 may further include a first construction unit 805 configured to construct the motion information candidate list using motion information of neighboring blocks of the current block.

[0321] In some embodiments, the encoding unit 804 is specifically configured to use a first context probability model to entropy encode the first binary symbol of the first symbol string, and use a second context probability model to entropy encode the first binary symbol of the second symbol string; wherein the first context probability model is different from the second context probability model.

[0322] In some embodiments, the encoding unit 804 is further configured to perform entropy encoding on binary symbols other than the first binary symbol in the first symbol string and the second symbol string using a bypass model; wherein the bypass model represents binary arithmetic entropy encoding using an equal probability model.

[0323] In some embodiments, the encoding unit 804 is further configured to perform entropy encoding on the second binary symbol of the first symbol string and the second symbol string using different context probability models; and to perform entropy encoding on the binary symbols other than the first binary symbol and the second binary symbol in the first symbol string and the second symbol string using a bypass model; wherein the bypass model represents binary arithmetic entropy encoding using an equal probability model.

[0324] Furthermore, the encoding unit 804 is specifically configured to use a third context probability model to entropy encode the second binary symbol of the first symbol string, and use a fourth context probability model to entropy encode the second binary symbol of the second symbol string; wherein the third context probability model is different from the fourth context probability model.

[0325] In some embodiments, the encoding unit 804 is further configured to perform entropy encoding on each binary symbol in the first symbol string and the second symbol string using different context probability models.

[0326] In some embodiments, the encoding unit 804 is further configured to perform entropy encoding on each binary symbol in the first symbol string and the second symbol string using a bypass model.

[0327] In some embodiments, the first determination unit 801 is specifically configured to perform pre-encoding processing on the current block using multiple prediction modes to obtain rate-distortion cost values ​​corresponding to each prediction mode; and select a minimum rate-distortion cost value from the multiple rate-distortion cost values ​​obtained, and determine the prediction mode corresponding to the minimum rate-distortion cost value as the prediction mode parameter of the current block.

[0328] It is understandable that in the embodiments of the present application, a "unit" may be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course, it may be a module, or it may be non-modular. Moreover, the components in the present embodiment may be integrated into a processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of a software functional module.

[0329] If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this embodiment is essentially or the part that contributes to the prior art or the whole or part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including several instructions for a computer device (which can be a personal computer, server, or network device, etc.) or a processor to perform all or part of the steps of the method described in this embodiment. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk, etc., various media that can store program codes.

[0330] Therefore, an embodiment of the present application provides a computer storage medium, which is applied to an encoder 80, and the computer storage medium stores an encoding program, and when the encoding program is executed by a first processor, the method described in any one of the aforementioned embodiments is implemented.

[0331] Based on the composition of the encoder 80 and the computer storage medium, see Fig. 9 , which shows a specific hardware structure example of the encoder 80 provided in an embodiment of the present application, which may include: a first communication interface 901, a first memory 902 and a first processor 903; each component is coupled together through a first bus system 904. It can be understood that the first bus system 904 is used to realize the connection and communication between these components. In addition to the data bus, the first bus system 904 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, in Fig. 9 In the figure, various buses are marked as the first bus system 904.

[0332] The first communication interface 901 is used to receive and send signals during the process of sending and receiving information with other external network elements;

[0333] A first memory 902, used to store a computer program that can be run on the first processor 903;

[0334] The first processor 903 is configured to execute, when running the computer program:

[0335] Determining prediction mode parameters for the current block;

[0336] When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block, determining two partitions of the current block;

[0337] Determine the motion information of the two partitions from the motion information candidate list, and set the first motion information index value to the index number value of the motion information of the first partition in the motion information candidate list, and set the second motion information index value to the index number value of the motion information of the second partition in the motion information candidate list;

[0338] Binarizing the first motion information index value and the second motion information index value respectively to obtain a first symbol string and a second symbol string; wherein the symbol string includes one or more binary symbols;

[0339] Using different context probability models, entropy encoding the first binary symbol of the first symbol string and the first binary symbol of the second symbol string is performed respectively;

[0340] Using a preset model, entropy encoding is performed on the binary symbols except the first binary symbol in the first symbol string and the second symbol string respectively;

[0341] The bits obtained by encoding the first symbol string and the second symbol string are written into a code stream.

[0342] It can be understood that the first memory 902 in the embodiment of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), or a flash memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM) and direct memory bus random access memory (DRRAM). The first memory 902 of the systems and methods described in the present application is intended to include, but is not limited to, these and any other suitable types of memory.

[0343] The first processor 903 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the hardware integrated logic circuit or software instructions in the first processor 903. The above-mentioned first processor 903 can be a general-purpose processor, a digital signal processor (Digital Signal Processor, DSP), an application-specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps and logic block diagrams disclosed in the embodiments of the present application can be implemented or executed. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The steps of the method disclosed in the embodiments of the present application can be directly embodied as a hardware decoding processor to execute, or the hardware and software modules in the decoding processor are combined and executed. The software module can be located in a mature storage medium in the field such as a random access memory, a flash memory, a read-only memory, a programmable read-only memory or an electrically erasable programmable memory, a register, etc. The storage medium is located in the first memory 902, and the first processor 903 reads the information in the first memory 902 and completes the steps of the above method in combination with its hardware.

[0344] It is to be understood that these embodiments described in the present application can be implemented with hardware, software, firmware, middleware, microcode or a combination thereof. For hardware implementation, the processing unit can be implemented in one or more application specific integrated circuits (Application Specific Integrated Circuits, ASIC), digital signal processors (Digital Signal Processing, DSP), digital signal processing equipment (DSP Device, DSPD), programmable logic devices (Programmable Logic Device, PLD), field programmable gate arrays (Field-Programmable Gate Array, FPGA), general-purpose processors, controllers, microcontrollers, microprocessors, other electronic units or combinations thereof for performing functions described in the present application. For software implementation, the technology described in the present application can be implemented by a module (such as a process, function, etc.) that performs functions described in the present application. The software code can be stored in a memory and executed by a processor. The memory can be implemented in a processor or outside a processor.

[0345] Optionally, as another embodiment, the first processor 903 is further configured to execute the method described in any one of the aforementioned embodiments when running the computer program.

[0346] This embodiment provides an encoder, which may include a first determining unit, a setting unit, a processing unit, and an encoding unit. In the encoder, the probability distribution characteristics of the first bit, the second bit, or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization are fully utilized to design a corresponding up-down probability model, thereby reducing the number of bits required for encoding and improving encoding performance.

[0347] Based on the same inventive concept as the above embodiments, see Fig.10 , which shows a schematic diagram of the structure of a decoder 100 provided in an embodiment of the present application. Fig.10 As shown, the decoder 150 may include: a parsing unit 1001, a second determining unit 1002, an inverse processing unit 1003 and a prediction unit 1004; wherein,

[0348] The parsing unit 1001 is configured to parse the bitstream to obtain prediction mode parameters of the current block;

[0349] A second determining unit 1002 is configured to determine two partitions of the current block when the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block;

[0350] The parsing unit 1001 is further configured to parse the bitstream to determine the first symbol string and the second symbol string corresponding to the motion information index values ​​of the two partitions of the current block, wherein the first symbol string and the second symbol string include one or more binary symbols, including: using different context probability models to parse the bitstream to obtain the first binary symbol of the first symbol string and the second symbol string; continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string;

[0351] The inverse processing unit 1003 is configured to determine the first value and the second value corresponding to the first symbol string and the second symbol string according to a preset binarization model, and set the first value and the second value as the first motion information index value and the second motion information index value respectively;

[0352] The second determining unit 1002 is further configured to determine, based on the motion information candidate list, the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition;

[0353] The prediction unit 1004 is configured to determine the inter-frame prediction value of the current block according to the motion information corresponding to the first partition and the motion information of the second partition.

[0354] In some embodiments, see Fig.10 The decoder 100 may further include a second construction unit 1005 configured to construct the motion information candidate list using motion information of neighboring blocks of the current block.

[0355] In some embodiments, the parsing unit 1001 is specifically configured to perform binary arithmetic entropy decoding using a first context probability model to obtain the first binary symbol of the first symbol string; and perform binary arithmetic entropy decoding using a second context probability model to obtain the first binary symbol of the second symbol string; wherein the first context probability model is different from the second context probability model.

[0356] In some embodiments, the parsing unit 1001 is further configured to parse the code stream using a bypass model to sequentially obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string; wherein the bypass model represents binary arithmetic entropy decoding using an equal probability model.

[0357] In some embodiments, the parsing unit 1001 is further configured to parse the code stream using different context probability models to obtain the second binary symbol of the first symbol string and the second symbol string; continue to parse the code stream using a bypass model to sequentially obtain binary symbols other than the first binary symbol and the second binary symbol in the first symbol string and the second symbol string; wherein the bypass model represents binary arithmetic entropy decoding using an equal probability model.

[0358] Further, the parsing unit 1001 is specifically configured to use a third context probability model to perform binary arithmetic entropy decoding to obtain the second binary symbol of the first symbol string; and use a fourth context probability model to perform binary arithmetic entropy decoding to obtain the second binary symbol of the second group of symbol strings; wherein the third context probability model is different from the fourth context probability model.

[0359] In some embodiments, the parsing unit 1001 is further configured to parse the code stream using different context probability models to obtain each binary symbol in the first symbol string and the second symbol string.

[0360] In some embodiments, the parsing unit 1001 is further configured to parse the code stream using a bypass model to obtain each binary symbol in the first symbol string and the second symbol string.

[0361] It can be understood that in this embodiment, a "unit" can be a part of a circuit, a part of a processor, a part of a program or software, etc., and of course it can also be a module, or it can be non-modular. Moreover, the components in this embodiment can be integrated into a processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The above-mentioned integrated unit can be implemented in the form of hardware or in the form of a software functional module.

[0362] If the integrated unit is implemented in the form of a software function module and is not sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, this embodiment provides a computer storage medium, which is applied to the decoder 100. The computer storage medium stores a decoding program. When the decoding program is executed by the second processor, it implements any of the methods in the foregoing embodiments.

[0363] Based on the above-mentioned components of the decoder 100 and the computer storage medium, see Fig.11 , which shows a specific hardware structure example of the decoder 100 provided in an embodiment of the present application, which may include: a second communication interface 1101, a second memory 1102, and a second processor 1103; each component is coupled together via a second bus system 1104. It is understandable that the second bus system 1104 is used to realize the connection and communication between these components. In addition to the data bus, the second bus system 1104 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clarity, in Fig.11 In the figure, various buses are marked as the second bus system 1104.

[0364] The second communication interface 1101 is used for receiving and sending signals during the process of sending and receiving information with other external network elements;

[0365] The second memory 1102 is used to store a computer program that can be run on the second processor 1103;

[0366] The second processor 1103 is configured to execute, when running the computer program:

[0367] Parse the bitstream and obtain the prediction mode parameters of the current block;

[0368] When the prediction mode parameter indicates that a geometric partitioning mode GPM is used to determine the inter-frame prediction value of the current block, determining two partitions of the current block;

[0369] Parsing a bitstream to determine a first symbol string and a second symbol string corresponding to motion information index values ​​of two partitions of the current block, wherein the first symbol string and the second symbol string contain one or more binary symbols, including: parsing the bitstream using different context probability models to obtain a first binary symbol of the first symbol string and the second symbol string; and continuing to parse the bitstream using a preset model to obtain binary symbols other than the first binary symbol in the first symbol string and the second symbol string;

[0370] Determine, according to a preset binarization model, a first value and a second value corresponding to the first symbol string and the second symbol string, and set the first value and the second value as a first motion information index value and a second motion information index value, respectively;

[0371] Based on the motion information candidate list, determine the motion information in the motion information candidate list indicated by the first motion information index value as the motion information corresponding to the first partition, and determine the motion information in the motion information candidate list indicated by the second motion information index value as the motion information of the second partition;

[0372] An inter-frame prediction value of the current block is determined according to the motion information corresponding to the first partition and the motion information of the second partition.

[0373] Optionally, as another embodiment, the second processor 1103 is further configured to execute any one of the methods described in the foregoing embodiments when running the computer program.

[0374] It can be understood that the hardware functions of the second memory 1102 and the first memory 902 are similar, and the hardware functions of the second processor 1103 and the first processor 903 are similar; they will not be described in detail here.

[0375] This embodiment provides a decoder, which may include a parsing unit, a second determination unit, an inverse processing unit, and a prediction unit. In the decoder, the probability distribution characteristics of the first bit, the second bit, or each bit of the motion information index value of the first partition and / or the motion information index value of the second partition after binarization are fully utilized to design a corresponding up-down probability model, thereby reducing the number of bits required for encoding and improving decoding performance.

[0376] It should be noted that, in this application, the terms "include", "comprises" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "includes a ..." does not exclude the existence of other identical elements in the process, method, article or device including the element.

[0377] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0378] The methods disclosed in several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.

[0379] The features disclosed in several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.

[0380] The features disclosed in several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.

[0381] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

Claims

1. A decoding method, characterized in that: Applied to a decoder, the method comprises: In the case of determining the inter-frame prediction value of the current block based on the geometric partitioning mode GPM: Decoding the bitstream to determine a first motion information index value and a second motion information index value of the current block; Constructing a motion information candidate list of the current block; Determine, according to the first motion information index value and the motion information candidate list, motion information corresponding to the first partition; When the second motion information index value is greater than or equal to the first motion information index value, determining the motion information corresponding to the second partition according to a value of the second motion information index value plus one and the motion information candidate list; When the second motion information index value is less than the first motion information index value, determining the motion information corresponding to the second partition according to the second motion information index value and the motion information candidate list; Determine an inter-frame prediction value of the sample in the current block according to the motion information corresponding to the first partition and the motion information corresponding to the second partition.

2. The decoding method according to claim 1, characterized in that: The decoding code stream determines the first motion information index value and the second motion information index value of the current block, including: Determine, according to a context probability model, a first binary symbol of a first symbol string corresponding to the first motion information index value, and determine, according to an equal probability model, binary symbols other than the first binary symbol in the first symbol string; Determine, according to a context probability model, a first binary symbol of a second symbol string corresponding to the second motion information index value, and determine, according to an equal probability model, binary symbols other than the first binary symbol in the second symbol string; Determine the first motion information index value according to a preset binarization model and a first binary symbol and binary symbols other than the first binary symbol of the first symbol string; The second motion information index value is determined according to a preset binarization model and the first binary symbol and binary symbols other than the first binary symbol of the second symbol string.

3. The decoding method according to claim 2, characterized in that: The preset binarization model is truncated binarization TR.

4. The decoding method according to claim 1, characterized in that: The method further comprises: Decoding a bitstream to determine a partition mode index value of the current block; Determine an angle index value and a step index value of the current block according to the partition mode index value of the current block; Determine a weight matrix according to the angle index value and the step index value; Determine, according to the motion information corresponding to the first partition, a first prediction value of the sample in the current block; Determine a second prediction value of the sample in the current block according to the motion information corresponding to the second partition; An inter-frame prediction value of the sample in the current block is determined according to the first prediction value, the second prediction value and the weight matrix of the sample in the current block.

5. The decoding method according to any one of claims 1 to 4, characterized in that: The method further comprises: When the current block satisfies the following restriction, determining the inter-frame prediction value of the current block based on the geometric partitioning mode GPM: (1) The sequence layer parameters indicate that the GPM mode is allowed; (2) the slice where the current block is located belongs to a bidirectional prediction slice; (3) The width and height of the current block are both greater than or equal to 8 and less than or equal to 64; (4) Both the aspect ratio and height-to-width ratio of the current block are less than 8; (5) The current block is not a common fusion prediction and a non-joint intra-frame or inter-frame prediction.

6. A coding method, characterized in that: Applied to an encoder, the method comprises: In the case of determining the inter-frame prediction value of the current block based on the geometric partitioning mode GPM: Determine motion information corresponding to the first partition and motion information corresponding to the second partition of the current block; Constructing a motion information candidate list of the current block; Determine a first motion information index value according to the motion information corresponding to the first partition and the motion information candidate list; Determine a second motion information index value according to the first motion information index value, the motion information corresponding to the second partition and the motion information candidate list; wherein: When the second motion information index value is greater than or equal to the first motion information index value, subtract one from the index number value of the motion information corresponding to the second partition in the motion information candidate list to determine the second motion information index value; When the second motion information index value is less than the first motion information index value, determining the index number value of the motion information corresponding to the second partition in the motion information candidate list as the second motion information index value; The first motion information index value and the second motion information index value are written into a bitstream.

7. The encoding method according to claim 6, characterized in that: The step of writing the first motion information index value and the second motion information index value into a bitstream includes: Determine, according to a preset binarization model and the first motion information index value, a first binary symbol and binary symbols other than the first binary symbol of the first symbol string; Determine a first binary symbol and binary symbols other than the first binary symbol of a second symbol string according to a preset binarization model and the second motion information index value; Encoding the first binary symbol of the first symbol string and the first binary symbol of the second symbol string respectively using a context probability model; Using an equal probability model to encode binary symbols other than the first binary symbol in the first symbol string and binary symbols other than the first binary symbol in the second symbol string respectively; The bits obtained by encoding the first symbol string and the second symbol string are written into a code stream.

8. The encoding method according to claim 7, characterized in that: The preset binarization model is truncated binarization TR.

9. The encoding method according to claim 6, characterized in that: The method further comprises: Determining a partition mode index value of the current block; Determine an angle index value and a step index value of the current block according to the partition mode index value of the current block; Determine a weight matrix according to the angle index value and the step index value; Determine, according to the motion information corresponding to the first partition, a first prediction value of the sample in the current block; Determine a second prediction value of the sample in the current block according to the motion information corresponding to the second partition; An inter-frame prediction value of the sample in the current block is determined according to the first prediction value, the second prediction value and the weight matrix of the sample in the current block.

10. The encoding method according to any one of claims 6 to 9, characterized in that: The method further comprises: When the current block satisfies the following restriction, determining the inter-frame prediction value of the current block based on the geometric partitioning mode GPM: (1) The sequence layer parameters indicate that the GPM mode is allowed; (2) the slice where the current block is located belongs to a bidirectional prediction slice; (3) The width and height of the current block are both greater than or equal to 8 and less than or equal to 64; (4) Both the aspect ratio and height-to-width ratio of the current block are less than 8; (5) The current block is not a common fusion prediction and a non-joint intra-frame or inter-frame prediction.

11. An encoder, characterized in that: The encoder comprises a first determining unit, a first constructing unit and an encoding unit; wherein, The first determining unit is configured to determine the motion information corresponding to the first partition and the motion information corresponding to the second partition of the current block when determining the inter-frame prediction value of the current block based on the geometric partition mode GPM; The first construction unit is configured to construct a motion information candidate list of the current block; The first determining unit is further configured to determine a first motion information index value according to the motion information corresponding to the first partition and the motion information candidate list; The first determining unit is further configured to determine a second motion information index value according to the first motion information index value, the motion information corresponding to the second partition and the motion information candidate list; wherein: When the second motion information index value is greater than or equal to the first motion information index value, subtract one from the index number value of the motion information corresponding to the second partition in the motion information candidate list to determine the second motion information index value; When the second motion information index value is less than the first motion information index value, determining the index number value of the motion information corresponding to the second partition in the motion information candidate list as the second motion information index value; The encoding unit is configured to write the first motion information index value and the second motion information index value into a bit stream.

12. An encoder, characterized in that: The encoder includes a first memory and a first processor; wherein, The first memory is used to store a computer program that can be run on the first processor; The first processor is configured to execute the method according to any one of claims 6 to 10 when running the computer program.

13. A decoder, characterized in that: The decoder comprises a parsing unit, a second determining unit, a second constructing unit and a predicting unit; wherein, The parsing unit is configured to, when determining that the inter-frame prediction value of the current block is determined based on the geometric partitioning mode GPM, decode the bitstream to determine the first motion information index value and the second motion information index value of the current block; The second construction unit is configured to construct a motion information candidate list of the current block; The second determining unit is configured to determine the motion information corresponding to the first partition according to the first motion information index value and the motion information candidate list; The second determination unit is further configured to, when the second motion information index value is greater than or equal to the first motion information index value, determine the motion information corresponding to the second partition according to the value of the second motion information index value plus one and the motion information candidate list; when the second motion information index value is less than the first motion information index value, determine the motion information corresponding to the second partition according to the second motion information index value and the motion information candidate list; The prediction unit is configured to determine the inter-frame prediction value of the sample in the current block according to the motion information corresponding to the first partition and the motion information corresponding to the second partition.

14. A decoder, characterized in that: The decoder comprises a second memory and a second processor; wherein, The second memory is used to store a computer program that can be run on the second processor; The second processor is configured to execute the method according to any one of claims 1 to 5 when running the computer program.

15. A computer storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 5 is implemented, or the method according to any one of claims 6 to 10 is implemented.

16. A computer storage medium having a code stream stored thereon, characterized in that: The code stream is generated by executing the steps of the method according to any one of claims 6 to 10.

Citation Information

Patent Citations

  • Image encoding / decoding apparatus and method to which filter selection by precise units is applied

    CN103733624A

  • Geometry-based priority for the construction of candidate lists

    CN109644272A

  • Image prediction method and device

    CN110944171A

  • Decoding apparatus or encoding apparatus wherein intermediate buffer is inserted between arithmetic sign decoder or encoder and debinarizer or binarizer

    WO2005041420A1

  • Method for encoding / decoding image and device therefor

    WO2017039117A1