WO2021196235A1 - Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement - Google Patents

Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement Download PDF

Info

Publication number
WO2021196235A1
WO2021196235A1 PCT/CN2020/083373 CN2020083373W WO2021196235A1 WO 2021196235 A1 WO2021196235 A1 WO 2021196235A1 CN 2020083373 W CN2020083373 W CN 2020083373W WO 2021196235 A1 WO2021196235 A1 WO 2021196235A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
partition
prediction
preset
area
Prior art date
Application number
PCT/CN2020/083373
Other languages
English (en)
Chinese (zh)
Inventor
马彦卓
霍俊彦
万帅
杨付正
冉启宏
邱瑞鹏
Original Assignee
Oppo广东移动通信有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Oppo广东移动通信有限公司 filed Critical Oppo广东移动通信有限公司
Priority to PCT/CN2020/083373 priority Critical patent/WO2021196235A1/fr
Priority to CN202080073861.6A priority patent/CN114586366A/zh
Priority to TW110109408A priority patent/TW202139709A/zh
Publication of WO2021196235A1 publication Critical patent/WO2021196235A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding

Definitions

  • the embodiments of the present application relate to video coding technology, and relate to, but are not limited to, inter-frame prediction methods, encoders, decoders, and storage media.
  • inter-frame prediction can include motion estimation and motion compensation.
  • GMP Geometrical Partition Mode
  • the embodiments of the present application provide an inter-frame prediction method, encoder, decoder, and storage medium.
  • the partition near the upper right pixel position can be selected as the first partition, so that the candidates of the first partition are more advanced than the candidates of the second partition Can make the coding rate lower.
  • an embodiment of the present application provides an inter-frame prediction method applied to an encoder, and the method includes:
  • the prediction mode parameter indicates that the geometric partition prediction mode is used to determine the inter prediction value of the current block, determine the first position in the current block of the partition that meets the preset condition
  • an embodiment of the present application provides an inter-frame prediction method, which is applied to a decoder, and the method includes:
  • the predictive decoding parameter indicates that the geometric partition prediction mode is used to determine the inter-frame prediction value of the current block, determine the first position in the current block of the partition that meets the preset condition;
  • an encoder wherein:
  • the first determining module is used to determine the prediction mode parameter of the current block
  • the first indication module is configured to determine the first position in the current block of the partition that meets the preset condition when the prediction mode parameter indicates that the geometric partition prediction mode is used to determine the inter-frame prediction value of the current block;
  • a first division module configured to determine, in the current block, an area whose distance from the first position of the current block is less than a preset distance as the first division
  • a second partition module configured to determine a second partition from the area of the current block excluding the first partition
  • a second determining module configured to determine the first predicted value of the first partition and the second predicted value of the second partition
  • the first fusion module is configured to perform weighted fusion on the first predicted value and the second predicted value to determine the inter-frame predicted value of the current block.
  • an encoder wherein:
  • the first parsing module is used to parse the code stream and determine the predictive decoding parameters of the current block
  • the second indication module is configured to determine the first position in the current block of the partition that meets the preset condition when the prediction decoding parameter indicates that the geometric partition prediction mode is used to determine the inter-frame prediction value of the current block;
  • a third division module configured to determine, in the current block, an area whose distance from the first position of the current block is less than a preset distance as the first division
  • a fourth partition module configured to determine a second partition from the area of the current block excluding the first partition
  • a third determining module configured to determine the first predicted value of the first partition and the second predicted value of the second partition
  • the second fusion module is configured to perform weighted fusion on the first predicted value and the second predicted value to determine the inter-frame predicted value of the current block
  • an encoder including:
  • the first memory and the first processor are The first memory and the first processor;
  • the first memory stores a computer program that can be run on a first processor, and when the first processor executes the program, the inter-frame prediction method of the encoder is implemented.
  • an embodiment of the present application also provides a decoder, including:
  • the second memory stores a computer program that can be run on a second processor, and the second processor implements the inter-frame prediction method of the decoder when the second processor executes the program.
  • an embodiment of the present application provides a storage medium, including:
  • a computer program is stored thereon, and when the computer program is executed by the first processor, the inter-frame prediction method of the encoder is realized; or, when the computer program is executed by the second processor, the inter-frame prediction method of the decoder is realized. method of prediction.
  • the embodiments of the application provide an inter-frame prediction method, an encoder, a decoder, and a storage medium.
  • the position of the partition arranged in the preset sequence number in the construction sequence is determined as the first position; then, in the current block, the distance from the first position of the current block is less than the preset distance
  • the area is determined as the first partition; the second partition is determined from the area of the current block excluding the first partition; in this way, the partition close to the upper right pixel position is selected as the first partition, so that the first partition is The candidate is more advanced than the candidate of the second partition, which can make the coding rate lower.
  • the current block is partitioned, so that the predicted inter-frame prediction value of the current block is more accurate.
  • FIG. 1A is a schematic diagram of GPM partitions from different angles in an exemplary embodiment of this application;
  • FIG. 1B is a schematic diagram of the distribution of the positive and negative values of the directly calculated distance under different angles in an exemplary embodiment of this application;
  • FIG. 2A is a block diagram of a video encoding system provided by an embodiment of this application.
  • 2B is a block diagram of a video decoding system provided by an embodiment of this application.
  • FIG. 3 is a schematic flowchart of an image component prediction method provided by an embodiment of the application.
  • 4a-4g are schematic diagrams of exemplary multiple division modes provided by embodiments of this application.
  • FIG. 5A is a schematic diagram of the angle and step size of an exemplary current block provided by an embodiment of the application.
  • FIG. 5B is a schematic diagram of neighboring blocks in a candidate list according to an embodiment of the application.
  • FIG. 5C is a schematic diagram of a candidate list according to an embodiment of the application.
  • FIG. 6a is a schematic diagram of an exemplary first weight value of brightness provided by an embodiment of the application.
  • FIG. 6b is a schematic diagram of an exemplary first weight value of chromaticity provided by an embodiment of the application.
  • FIG. 7 is a flowchart of a codec prediction process according to an embodiment of the application.
  • FIG. 8 is a schematic diagram of judging the AB partition based on the distance between two points according to the embodiment of the application.
  • FIG. 9 is a schematic diagram of residual calculation according to an embodiment of the application.
  • FIG. 10 is a schematic diagram of a revised partition distribution according to an embodiment of the application.
  • FIG. 11 is a schematic diagram of an implementation process of an intra-frame prediction method according to an embodiment of the application.
  • FIG. 12 is a schematic diagram of the hardware structure of an encoder according to an embodiment of the application.
  • FIG. 13 is a schematic diagram of the hardware structure of another encoder according to an embodiment of the application.
  • FIG. 14 is a schematic diagram of the hardware structure of a decoder according to an embodiment of the application.
  • FIG. 15 is a schematic diagram of the hardware structure of another decoder according to an embodiment of the application.
  • FIG. 1A is a schematic diagram of the GPM partition from different angles in an exemplary embodiment of the application.
  • 11 represents the first partition (that is, partition A)
  • partition 12 represents the second partition (that is, partition B); the partitions between sequence number 12 and sequence number 28 are reversed.
  • the obtained positive and negative regions of the weight index (weightIdx) value are the results shown in Figure 1B.
  • the weight index of partition 13 is positive
  • the weight index of partition 14 is negative; a comprehensive comparison of Figure 1A Compared with Fig. 1B, it can be concluded that in the range of 13-27 angles, the A zone corresponds to the area with a negative distance, while the other angles A zone corresponds to the area with a positive distance.
  • partition A corresponds to the area where the distance is negative.
  • a zone corresponds to the area where the distance is positive at other angles.
  • the first drawback is that it may be sloppy to judge the AB partition based on the angle.
  • the construction order of the existing Merge list is: B1-A1-B0-A0- B2-Co-location time-domain candidate-historical-based candidate-combined average candidate-zero candidate, so the partition close to the upper right pixel position should be selected as partition A as much as possible, so that the candidate of partition A is more advanced than the candidate of partition B so that The encoding rate is lower.
  • the second drawback is that at an angle in the range of 13-27, the two partitions need to be flipped, so that the weight index of the A partition is always positive. But by analyzing the partition distribution of each angle, theoretically speaking, the partitions corresponding to the angle index 12 and 28 should be consistent, that is, the upper left side is the A partition, and the lower right is the B partition, but there are obvious faults here. Although there is little difference in performance, it violates GPM's partition distribution rules.
  • an embodiment of the present application provides an inter prediction method.
  • the prediction mode parameter of the current block is determined; when the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block, it is determined to satisfy The partition of the preset condition is at the first position in the current block; then, in the current block, an area whose distance from the first position of the current block is less than the preset distance is determined as the first partition; From the area of the current block other than the first partition, determine a second partition; determine the first prediction value of the first partition and the second prediction value of the second partition; finally, the The first predicted value and the second predicted value are weighted and merged to determine the inter-frame predicted value of the current block.
  • the construction order is B1-A1-B0-A0-B2-Co-located temporal candidates-historical-based candidates-combined average candidates-zero candidates
  • the construction order is B1-A1-B0-A0-B2-Co-located temporal candidates-historical-based candidates-combined average candidates-zero candidates
  • coding techniques such as prediction, transformation, and quantization are implemented in units of square and rectangular blocks.
  • edges of moving objects are not necessarily horizontal or vertical. Even if they are, they may not be exactly on the edge of the block that can be divided.
  • the motion vectors on both sides of the moving edge are often different, so in the encoding process Performing motion prediction and compensation in a whole block is prone to large prediction errors, which leads to limited coding efficiency.
  • VVC Versatile Video Coding
  • TPM Triangular Partition Mode
  • the geometrical partitioning for inter-blocks (Geometrical partitioning for interblocks, GEO) prediction mode is adopted into the VVC standard to form a geometrical partitioning mode (GPM).
  • GPM geometrical partitioning mode
  • the inter-frame block is divided into two non-rectangular sub-partitions for prediction and weighted fusion.
  • the first The image component, the second image component, and the third image component represent the coding block (CB); among them, the three image components are a luminance component, a blue chrominance component, and a red chrominance component, specifically
  • the luminance component is usually represented by the symbol Y
  • the blue chrominance component is usually represented by the symbol Cb or U
  • the red chrominance component is usually represented by the symbol Cr or V; in this way, the video image can be represented by the YCbCr format or the YUV format.
  • the first image component may be a luminance component
  • the second image component may be a blue chrominance component
  • the third image component may be a red chrominance component
  • the video encoding 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, and a motion estimation unit 105, The inverse transform and inverse quantization unit 106, the filter control analysis unit 107, the filter unit 108, the encoding unit 109, and the decoded image buffer unit 110, etc., wherein the filter unit 108 can implement deblocking filtering and sample adaptive indentation (Sample Adaptive Offset).
  • the encoding unit 109 can implement header information encoding and context-based adaptive binary arithmetic coding (Context-based Adaptive Binary Arithmatic Coding, CABAC).
  • a video coding block can be obtained by dividing the coding tree unit (CTU), and then the residual pixel information obtained after intra-frame or inter-frame prediction is paired by the transformation and quantization unit 101 The video coding block is transformed, including transforming the residual information from the pixel domain to the transform domain, and quantizing the resulting transform coefficients to further reduce the bit rate;
  • the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used for Perform intra-frame prediction on the video encoding block; specifically, the intra-frame estimation unit 102 and the intra-frame prediction unit 103 are used to determine the intra-frame prediction mode to be used to encode the video encoding block;
  • the motion compensation unit 104 and the motion estimation unit 105 is used to perform inter-frame predictive coding of the received video coding block relative to
  • the context content can be based on adjacent coding blocks, can be used to encode information indicating the determined intra prediction mode, and output the code stream of the video signal; and the decoded image buffer unit 110 is used to store reconstructed video coding blocks for Forecast reference. As the video image encoding progresses, new reconstructed video encoding blocks will be continuously generated, and these reconstructed video encoding blocks will be stored in the decoded image buffer unit 110.
  • the video decoding system 20 includes a decoding unit 201, an inverse transform and inverse quantization unit 202, and an intra-frame
  • the prediction unit 203, the motion compensation unit 204, the filtering unit 205, and the decoded image buffer unit 206, etc. wherein the decoding unit 201 can implement header information decoding and CABAC decoding, and the filtering unit 205 can implement deblocking filtering and SAO filtering.
  • 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 decoding unit 201 to obtain the decoded transform coefficient; the transform coefficient is passed through
  • the inverse transform and inverse quantization unit 202 performs processing to generate a residual block in the pixel domain; the intra prediction unit 203 can be used to generate data based on the determined intra prediction mode and the data from the previous decoded block of the current frame or picture The prediction data of the current video decoding block; 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 to generate the predictability of the video decoding block being decoded Block; by summing the residual block from the inverse transform and inverse quantization unit 202 and the corresponding predictive block generated by the intra prediction unit 203 or the motion compensation unit 204 to form a decoded video block; the decoded video signal Through the filtering unit 205 in order to remove the block effect artifacts, the video quality can
  • the image component prediction method in the embodiment of the present application is mainly applied to the part of the intra prediction unit 103 shown in FIG. 2A and the part of the intra prediction unit 203 shown in FIG. 2B. That is to say, the image component prediction method in the embodiment of the present application can be applied to both a video encoding system, a video decoding system, or even a video encoding system and a video decoding system at the same time.
  • the embodiment of the present application There is no specific limitation.
  • the "current block” specifically refers to the current block in the intra prediction; when the image component prediction method is applied to the intra prediction unit 203 In some cases, the "current block” specifically refers to the current decoded block in intra prediction.
  • the embodiment of the present application provides an inter-frame prediction method, which is applied to a video encoding device, that is, an encoder.
  • the functions implemented by the method can be implemented by the processor in the video encoding device calling program codes.
  • the program code can be stored in a computer storage medium.
  • the video encoding device includes at least a processor and a storage medium.
  • Step S301 Determine the prediction mode parameter of the current block.
  • each image block currently to be encoded may be referred to as a coding block (CB).
  • each encoding block may include a first image component, a second image component, and a third image component; and the current block is the encoding of the first image component, the second image component, or the third image component currently to be predicted in the video image.
  • the current block is the encoding of the first image component, the second image component, or the third image component currently to be predicted in the video image.
  • the current block performs the first image component prediction, and the first image component is the brightness component, that is, the image component to be predicted is the brightness component, then the current block can also be called the brightness block; or, it is assumed that the current block performs the second image component Prediction, 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.
  • the prediction mode parameter indicates the coding mode of the current block and parameters related to the mode.
  • a rate-distortion optimization (Rate Distortion Optimization, RDO) method can be used to determine the prediction mode parameters of the current block.
  • the encoder to determine the prediction mode parameters of the current block is implemented as follows: the encoder determines the image components to be predicted for the current block; based on the parameters of the current block, multiple prediction modes are used to perform the prediction on the image components to be predicted. Predictive coding, calculate the rate-distortion cost result corresponding to each prediction mode in multiple prediction modes; select the minimum rate-distortion cost result from the calculated multiple rate-distortion cost results, and assign the minimum rate-distortion cost result to the corresponding prediction mode Determined as the prediction mode parameter of the current block.
  • multiple prediction modes can be used for the current block to respectively encode the image components to be predicted.
  • multiple prediction modes usually include inter prediction mode, traditional intra prediction mode, and non-traditional intra prediction mode
  • traditional intra prediction modes can include direct current (DC) mode and plane (PLANAR). Mode and angle mode, etc.
  • Non-traditional intra prediction modes can include MIP mode, Cross-component Linear Model Prediction (CCLM) mode, Intra Block Copy (IBC) mode and PLT (Palette) mode, etc.
  • the inter-frame prediction mode may include: geometrical partitioning for inter-blocks (GEO), geometrical partitioning prediction mode, and triangular partitioning mode (TPM).
  • the rate-distortion cost result corresponding to each prediction mode can be obtained; then the minimum rate-distortion cost result is selected from the obtained multiple rate-distortion cost results, and The prediction mode corresponding to the minimum rate-distortion cost result is determined as the prediction mode parameter of the current block; in this way, the determined prediction mode can be used to encode the current block, and in this prediction mode, the prediction residual can be made small , Can improve coding efficiency.
  • Step S302 When the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block, determine the first position of the partition that meets the preset condition in the current block.
  • the position of the B1 partition constructed first in the construction order of the merge list is determined as the first position.
  • GMP divides the inter-frame block (that is, the current block) into two non-rectangular sub-partitions for the edge part of the object in the image, respectively, and then performs weighted fusion after prediction.
  • the non-rectangular form can be as shown in Figures 4a-4g below.
  • GPM there are a total of 64 division modes, and each division mode corresponds to an angle ⁇ and a step size ⁇ . There are a total of 20 angles and 4 step sizes. The combination of each angle and step size constitutes one Kind of division mode.
  • GPM divides the current block into two non-rectangular sub-partitions, and each sub-partition performs one-way motion compensation separately to obtain a one-way prediction value, and finally uses a weight matrix to weight and fuse the one-way prediction values of the two partitions to obtain the final GPM prediction value .
  • angle table replaces the previous angle table based on a fixed step with a slope-based angle table, and uses 5 fixed slopes (1, 1/2, 1/4, 4, 2) to construct unequal intervals Angle table.
  • each combination of angle ⁇ and step size ⁇ constitutes a division mode.
  • GPM divides the current block into two non-rectangular sub-partitions, and each sub-partition performs one-way motion compensation separately to obtain a one-way prediction value, and finally uses a weight matrix to weight and fuse the one-way prediction values of the two partitions to obtain the final GPM prediction value .
  • the partition that meets the preset condition can be understood as the partition that is in the front of the construction order in the candidate list.
  • the partition that is arranged first in the construction order is determined as the partition that meets the preset condition. Partition, and then determine the position of the partition in the coding block in the candidate list.
  • the order of construction of the Merge list is: B1-A1-B0-A0-B2- co-located time domain candidates-historical-based candidates-combined average candidates-zero candidates; that is, the first constructed partition is B1, from As can be seen in Figure 5B, B1 is in the upper right corner of the current block, so in order to select the partition close to the upper right pixel position as the A partition as much as possible, the area near the upper right corner is divided into the A partition, thereby ensuring the candidate of the A partition More advanced than the candidate of the B partition can make the coding rate lower.
  • VTM8.0 the use of GPM by each coding unit (CU) needs to meet some restrictive conditions:
  • Block size restriction both width and height must be greater than or equal to 8 and less than or equal to 64, and the aspect ratio and aspect ratio of the current block are both less than 8.
  • the current block is non-general merge prediction (general merge), non-merged subblock prediction (merge_subblock), non-affine prediction, and non-composed intra-inter prediction (CIIP).
  • the code unit layer syntax is as follows:
  • the first step construct a merge candidate list, which is consistent with the process of constructing a list in the normal merge mode.
  • GMP uses the one-way merge candidate list of the TPM in the original VVC8, that is, the preset merge candidate list, to find the respective motion vectors (MV) of the two partitions of the GMP, that is, motion information.
  • FIG. 5B is a schematic structural diagram of adjacent blocks in the candidate list of an exemplary embodiment of this application.
  • FIG. 503 A1
  • upper right adjacent block 502 B0
  • lower left adjacent block 504 A0
  • historical reference block his
  • first 1 The average of the second candidate MV (MVavg), and the zero motion vector 0.
  • Step 2 Obtain MV of two partitions (for example, obtain partition A first and then partition B)
  • merge_gpm_idx1[x0][y0] represents the position of the MV of the B partition in the merge list.
  • the position of the MV of the B partition in the merge list may be reduced by 1 because A first selected the option at the higher position.
  • n merge_gpm_idx1[xCb][yCb]+(merge_gpm_idx1[xCb][yCb]>m)? 1:0, where n represents the actual position of the MV selected by the B partition in the merge candidate list, waiting for subsequent processing.
  • each partition will only use the unidirectional prediction mode, and each item in the merge list may be bidirectionally predicted MV information, so the unidirectional predicted MV needs to be taken out for use.
  • X (m&0x01), where & is a bitwise AND operation, that is, take out the last bit of m (similar to parity check).
  • & is a bitwise AND operation, that is, take out the last bit of m (similar to parity check).
  • the MV information predFlagLXM corresponding to the reference frame in the reference list corresponding to X is preferentially used for partition prediction, as shown in the option corresponding to block 511 in FIG. 5C.
  • the opposite MV the MV represented by the block 512 corresponding to the level of the block 511 (ie, the white block in FIG. 5C)
  • X 1-X.
  • the corresponding MV information is stored in the processing variables of the A partition, and the subsequent prediction block structure is prepared, as shown below:
  • MVA is the MV vector
  • refIdxA is the reference frame corresponding to the motion vector
  • predListFlagA indicates which component of the list of the motion vector alternatives is currently selected.
  • N mergeCandList[n]
  • the corresponding MV information is stored in the processing variables of the B partition, and the subsequent prediction block structure is prepared, as shown below:
  • MVB is the MV vector
  • refIdxB is the reference frame corresponding to the motion vector
  • predListFlagB indicates which component of the list of the motion vector alternatives is currently selected.
  • the encoder determines the partition mode with the least rate-distortion cost by traversing the 64 partition models corresponding to the GPM, that is, determines the target partition mode; the encoder can then determine the target partition mode according to the target partition mode, through preset partitioning
  • the mapping table of mode, angle index, and step index determines the angle index information and step index information corresponding to the target division mode.
  • the current prediction block is in GPM mode, it will look up the table according to the selected partition mode index merge_gpm_partition_idx of the current block to obtain the corresponding angle angleIdx and step distanceIdx.
  • the mapping table of this partition mode is shown in Table 1:
  • Table 1 Mapping table of angle and step size based on wedge_partition_idx
  • Step S303 In the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the first partition.
  • the current block and the upper right corner of the current block (that is, the B1 constructed first in the construction order of the merge list)
  • the area with the smaller distance between the first position of the partition is divided into the first partition.
  • the area near the upper right corner of the current block is divided into the A partition; so that the candidate of the A partition is more advanced than the candidate of the B partition , In order to make the encoding rate lower.
  • the first position can be understood as first determining that the first structured partition is in the encoding block through the construction order between the different partitions of the encoding block in the obtained candidate list (for example, the merge list). s position. Then, after the first position is determined, it is determined that the distance between the current block and the first position of the current block is less than the preset distance, and this area is divided into the first partition (for example, the A partition), and finally, the The remaining areas in the current block are determined as the second partition (for example, the B partition), so that it is ensured that the candidates of the A partition are more advanced than the candidates of the B partition.
  • the position of the first constructed partition in the coding block is the upper right corner, then the upper right corner is the first position; then, in the current block In the middle, make sure that the area near the upper right corner is zone A, and the other areas are zone B.
  • first determine the first position of the current block, for example, the position of the upper right corner of the current block, and then, in the current block, determine the area where the distance from the upper right corner position is less than the preset distance, Divide this area into the first partition, for example, determine the area within 0.1 mm around the first position of the current block as an area where the distance between the first positions of the current block is less than a preset distance.
  • GMP uses the one-way Merge candidate list of the TPM in the original VVC8, that is, the preset merge candidate list, to find the respective MVs of the two partitions of the GMP, that is, the motion information.
  • the Merge candidate list generally includes a preset number of reference block elements, the preset number can be 6, and each element stores data in the form of a structure, and each structure can include: the reference Motion information of the block, reference frame list, prediction direction, etc.
  • the Merge candidate list When storing data corresponding to GMP, it is stored in 4 ⁇ 4 blocks.
  • information such as angle index information and step length index information, first motion information, and second motion information needs to be written into the code stream during encoding for use during decoding.
  • Step S304 Determine a second partition from the area of the current block excluding the first partition.
  • the second partition is a part of other areas in the current block except the first partition, that is, the current block includes: the first partition, the second partition, and other remaining parts.
  • the current block only includes the first partition and the second partition.
  • part or all of the area of the current block excluding the first partition is determined as the second partition.
  • Step S305 Determine the first predicted value of the first partition and the second predicted value of the second partition.
  • the first predicted value of the first partition and the second predicted value of the second partition may be determined according to the GMP parameter.
  • GMP parameters can include angle index information and target division mode
  • the encoder can divide the current block according to the target division mode to obtain the first partition and the second partition;
  • the encoder performs motion compensation according to the first motion information to obtain the first prediction value of the first partition
  • the encoder performs motion compensation according to the second motion information to obtain the second prediction value of the second partition.
  • Step S306 Perform weighted fusion on the first predicted value and the second predicted value to determine the inter-frame predicted value of the current block.
  • the first weight value of the pixel in the current block and the second weight value of the pixel in the current block are determined, and then, according to the first predicted value and the second weight value, The prediction value, the first weight value and the second weight value are weighted and merged on the pixels in the current block to obtain the inter-frame prediction value of the current block.
  • the encoder can multiply the first predicted value of each pixel by the first weight value, and add the product of the second predicted value and the second weight value of each pixel to complete the pixel in the current block. Weighted fusion to obtain the inter-frame prediction value of the current block.
  • first prediction value and the second prediction value are the two prediction values of each pixel in the current block, and the first weight value and the second weight value also correspond to each pixel of the current block.
  • the two different weight values are the two prediction values of each pixel in the current block, and the first weight value and the second weight value also correspond to each pixel of the current block. The two different weight values.
  • the inter-frame prediction value of the current block can be obtained by using expression (1), as shown below:
  • pbSamples[x][y] Clip3(0,(1 ⁇ bitDepth)1,(predSamplesLPART1[x][y]*(8sampleWeight1)+predSamplesLPART2[x][y]*sampleWeight2+offset1)>>shift1) ( 1);
  • pbSamples[x][y] is the inter prediction value of each pixel in the current block
  • predSamplesLPART1[x][y] is the first prediction value of each pixel
  • sampleWeight1 is the first prediction value of each pixel
  • the weight value, predSamplesLPART2[x][y] is the second predicted value of each pixel
  • sampleWeight2 is the second weight value of each pixel.
  • the encoder when the encoder performs inter-frame prediction of the current block, it predicts the video components separately, that is, the first predicted value and the second predicted value both include the luminance predicted value and Predicted value of chroma.
  • the encoder may first obtain the weight value of the luminance component, and the weight value of the chrominance component may be obtained according to the weight value of the luminance component.
  • the aforementioned first weight and second weight value in this application may be the weight value of the luminance component.
  • the encoder directly uses the weight of the chrominance sample at the current (x, y) by obtaining the weight of the luminance sample in the upper right corner of each 2*2 block, that is, down-sampling the weight of the luminance sample.
  • the first weight of brightness is down-sampled to obtain the first weight value of chroma shown in FIG. 6b.
  • it can be performed according to the second weight of brightness.
  • the second weight of the luminance sample in the upper right corner (or upper left corner or lower left corner, etc.) of each 2*2 block is directly used as the second weight of the chrominance sample at the current (x, y).
  • the encoder can determine the first position of the partition that meets the preset condition, and then, the area whose distance from the first position of the current block is less than the preset distance , Determine it as the first partition; determine other areas in the current block as the second partition, so that the candidate of the first partition is higher than the candidate of the second partition, which can make the coding rate lower.
  • the codec GPM prediction process is shown in FIG. 7, which is a flowchart of the codec prediction process according to an embodiment of the application.
  • the GPM prediction process is as follows:
  • the input module 701 input the brightness values (xCb, yCb), (width, height), the MV of the A partition and the MV of the B partition with a maximum accuracy of 1/16, and the A partition with the maximum brightness accuracy of 1/32 MV and B partition MV, the reference frame corresponding to the motion vector of the A partition and the reference frame corresponding to the motion vector of the B partition, the component in the list of which partition A motion vector option is currently selected and the current selection of the B partition motion vector backup Which component of the list of options.
  • processing module 702 the following four steps of processing are performed:
  • Step 1 derive the reference frame list refPicLN and the sub-pixel predicted pixel value predSamplesLN (14-bit depth) for the three components of L, Cb, and Cr, where N is A or B.
  • L, Cb, and Cr respectively represent blue and red in the brightness and chroma of the current block.
  • Step two push to the split angle and position.
  • Step three is to derive the weighted prediction pixel value predSamples for the three components of L, Cb, and Cr.
  • Step 4 Store MV information for subsequent prediction of MVN, refidxN, and predListFlagN.
  • the GPM prediction results are output, such as predicted pixel values, pre-sampled brightness (predSamplesL), pre-sampled blue (predSamplesCb), and pre-sampled red (predSamplesCr).
  • the GPM mode reuses the existing conventional Merge list, and constructs the one-way Merge list belonging to GPM according to the parity check.
  • the merge candidates of the two sub-partitions after the GPM division are all from the one-way Merge.
  • the candidate list is selected, that is, the merge candidate list is constructed first, and then the MVs of the two partitions are obtained.
  • the motion compensation method is used to calculate the respective one-way motion compensation prediction values of the two partitions, which are used in the final weighted fusion process of the subsequent GPM.
  • the motion compensation here is the same as the conventional motion compensation process, that is, the pixel value of the corresponding area is found through the motion vector and copied.
  • step S302 in order to enable the determined first location to enable the partition to meet the preset condition, step S302 may be implemented through the following steps:
  • Step S321 When the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter-frame prediction value of the current block, the construction order between different partitions of the coding block in the preset candidate list is determined.
  • the preset candidate list can be a merge candidate list, which is to find all MVp information related to the current block motion information as much as possible, that is, to find all MVp information related to the current block motion information.
  • Stored in the merge list to give a reference to the current block.
  • the construction sequence between the different partitions of the coding block in the merge candidate list is: the upper adjacent block B1, the left adjacent block A1, the upper right adjacent block B0, the lower left adjacent block A0, and the upper left adjacent block B2 .
  • the reference frame corresponds to the location block col, the historical reference block his, the average MVavg of the first and second candidate MVs, and the zero motion vector 0.
  • Step S322 Determine the position of the partition arranged in the preset sequence number in the construction sequence as the first position.
  • the preset serial number is the first few serial numbers arranged in the construction order.
  • first according to the construction order, determine the partition of the first construction; that is, determine the first one in the construction order.
  • the constructed partition is the upper adjacent block B1; then, the first position of the first constructed partition in the current block is determined. That is, the upper right corner of the current block is determined as the first position.
  • step S304 may be implemented in the following multiple ways:
  • Step S341 Determine at least one reference point at the second position in the current block.
  • the second position may be the upper right corner of the current block.
  • two reference points 81 and 82 are determined.
  • Step S342 Determine the sum of the distances between the at least one reference point and the dividing line in the current block.
  • the dividing line is used to divide the current block into multiple partitions. As shown in FIG. 9, the dividing line of the current block 901 is 902. The sum of distances is generally in the coordinate system. If the dividing line is on the right side of the pixel, then the distance between the two is positive, and if the dividing line is on the left side of the pixel, then the distance between the two is negative.
  • step S343 if the sum of the distances is greater than or equal to a preset value, determine the area where the pixel points with a positive distance from the dividing line in the current block are located as the first area.
  • the chroma processing is consistent with the brightness
  • the motion vector storage is also consistent with the A and B partitions here.
  • pbSamples[x][y] Clip3(0,(1 ⁇ BitDepth)-1,(predSamplesLA[x][y]*wValue+predSamplesLB[x][y]*(8-wValue)+offset1)>> shift1) (2);
  • the chroma processing is proportional to the brightness
  • the motion vector storage is also consistent with the A and B partitions here.
  • step S344 if the sum of the distances is less than the preset value, determine the area where the pixel points with the negative distance from the dividing line in the current block are located as the first area.
  • the partition corresponding to the negative distance value is judged to be the first partition (A partition).
  • Step S351 Determine the GPM parameter of the current block.
  • the GPM parameter of the current block includes angle index information and size information of the current block.
  • Step S352 Determine the weight of each pixel in the current block according to the GPM parameter.
  • the encoder can determine the pixels in the current block according to the size information of the current block.
  • the position information of the point based on the position information of each pixel in the current block, the angle index information and the update of the angle mapping table, the weight index corresponding to each pixel in the current block can be calculated.
  • the weight of the pixels in the current block is determined.
  • the encoder determines the implementation process of the weight index corresponding to the pixel in the current block according to the cosine angle index information, the sine angle index information, the updated angle mapping table, and the position information of the pixels in the current block.
  • the encoder needs to determine the vertical distance rho from the center point of the block to the current dividing line according to the cosine angle index information and the sine angle index information, and then update the angle mapping table according to the cosine angle index information, the sine angle index information, and the current block
  • the position information of the pixel and rho determine the weight index of each pixel.
  • the process of determining the weighted predicted pixel value of each component in the current block is as follows, that is, the process of deriving the weighted predicted pixel value predSamples for the three components of L, Cb, and Cr is:
  • the weight mask matrix of the current brightness block is obtained by cropping the predefined weight matrix, and the process is as follows:
  • Step 1 The acquisition of the weight matrix requires the current block and the division mode of the current block to calculate the offset value Offset (x, y) of the upper left corner of the current block corresponding to the origin of the coordinates, and the origin of the coordinates is at the same angle and the division line crosses the geometry.
  • the geometric center point of the same size block of the center point is shown in Figure 9, where the background 903 is the maximum moving range ( 112x112). If the dividing line does not pass through the center point of the block, keep the relative position of the dividing line unchanged, and move the position of the block in the coordinate system to obtain a proper division.
  • the step size used when constructing the predefined weight matrix is only the first step size (that is, the dividing line must intersect the center point of the block).
  • partFlip is 0, which means that the side where the distance (weightIdx) between the point obtained in the subsequent expression (8) and the dividing line is negative is the A partition, and the opposite side of the dividing line is the B partition; when the value is 1, then On the contrary, the side where the distance weightIdx is positive is the A partition, and the negative side is the B partition.
  • the key parameter shiftHor is calculated by the following expressions (6) and (7):
  • shiftHor is the determination of the displacement direction between different dividing lines at the same angle. If its value is 0, the dividing line will be shifted on the Y axis; if its value is 1, the dividing line will be shifted on the X axis. .
  • offsetY (-nH)>>1+angleIdx ⁇ 16? (distanceIdx*nH)>>3:-((distanceIdx*nH)>>3) (8);
  • the current block has an offset value related to the width of the block in the horizontal direction.
  • offsetX (-nW)>>1+angleIdx ⁇ 16? (distanceIdx*nW)>>3:-((distanceIdx*nW)>>3);
  • Step 2 Calculate the weight index weightIdx at the current pixel through the position of the pixel, and directly calculate the weight value at the current pixel through the expressions (10) to (12).
  • weightIdx (((x*subW+offsetX) ⁇ 1)+1)*disLut[displacementX]+(((y*subH+offsetY) ⁇ 1)+1))*disLut[displacementY](10);
  • weightIdxL partFlip? 32+weightIdx:32–weightIdx (11);
  • subW and subH indicate the downsampling rate, if it is 420 format, both subW and subH are 2.
  • the brightness does not need to be down-sampled, and the chroma weight is obtained by down-sampling the brightness weight.
  • Table 2 Lookup table for distance arrangement of multiple dividing lines
  • pbSamples[x][y] Clip3(0,(1 ⁇ BitDepth)-1,(predSamplesLA[x][y]*;
  • offset1 is used for rounding
  • shift1 is used to restore the predicted value after weighted average to the same bit depth as the input video, as shown in expressions (14) and (15):
  • the GPM motion vector of the current prediction block needs to be stored, and the process is as follows:
  • the storage process is realized by using the motion mask matrix of the current brightness block. If the predicted value is completely from the A partition, then the motion vector of the A partition is recorded, and if it is completely from the B partition, the motion vector of the B partition is recorded; otherwise, at the same time Record the motion vectors of the two partitions.
  • the calculation of the motion mask is basically the same as the process of calculating the brightness weight matrix. First, the offset value offset is calculated. The calculation of the offset is shown in Expression (16) and Expression (17):
  • offsetY ((-cbHeight)>>1)+(angleIdx ⁇ 16?(distanceIdx*cbHeight)>>3-((distanceIdx*cbHeight)>>3)) (16);
  • offsetX ((-cbWidth)>>1+(angleIdx ⁇ 16?(distanceIdx*cbWidth)>>3-((distanceIdx*cbWidth)>>3))?;
  • cbWidth and cbHeight are respectively the width and height of the motion mask matrix corresponding to the current prediction block (that is, the width and height of the luminance component of the current block).
  • the motion mask matrix of the current prediction block is still calculated in units of 4 ⁇ 4 sub-blocks, and the calculation of the motion index (motionIdx) at the center position (4i+2, 4j+2) of each 4 ⁇ 4 sub-block is similar
  • weightIdx in expression (18):
  • motionIdx (((4*xSbIdx+offsetX) ⁇ 1)+5)*disLut[displacementX]+((((4*ySbIdx+offsetY) ⁇ 1)+5)*disLut[displacementY] (18);
  • motionIdx is the motion index information, the position information of the pixel in the upper left corner of the current block (xSbIdx, ySbIdx), (xSbIdx, ySbIdx) represents the sub-block of each 4 ⁇ 4 sub-block (subblock, sb) in the current CU coordinate.
  • offsetX is the movement abscissa offset value
  • offsetY is the movement ordinate offset value
  • DisLut[displacementX] is the first angle
  • DisLut[displacementY] is the second angle.
  • partIdx indicates whether the two partitions need to be flipped.
  • the current block stores the MVA of the first partition
  • the current block stores the MVB of the second partition
  • the stored MV information will be used for MV prediction of subsequent coding blocks.
  • the encoding process of the encoder for the GPM prediction mode related syntax is as follows:
  • the encoder regards GPM and other inter-frame prediction modes as competing modes, selects between modes according to rate-distortion optimization or other strategies, and transmits the selected result to the decoder in the form of syntax elements in the code stream. That is, the write operation of the syntax described in section 1). This process is opposite to the parsing process. First, get the position information of the reference option selected in the merge list for the two partitions A and B of m and n, and then assign the syntax elements in the following way:
  • Step S353 If the sum of the weight values of the at least one reference point is greater than or equal to the weight threshold, determine the area where the weight of the determined pixel point is the sum of the weight values in the current block as the first partition.
  • the weight threshold can be set to 8. If the sum of the weights of the two points is greater than 8, the partition corresponding to the current weight is judged to be the first partition, that is, the A partition; otherwise, the second partition is judged to correspond to the current weight , Namely B partition.
  • WeightSum The specific implementation of the two-point weight sum (WeightSum) is as follows:
  • WeightSum wValue[nCbW-1][0]+wValue[nCbW-2][0];
  • wValue refers to the value determined according to the following method:
  • weightIdx can be expressed as:
  • weightIdx (((x*subW+offsetX) ⁇ 1)+1)*disLut[displacementX]+(((y*
  • Step S355 If the sum of the weight values of the at least one reference point is less than the weight threshold, determine the area where the weight of the pixel in the current block is the sum of the weight values as the second partition.
  • the weight threshold is set to 8, and the sum of the weights of the two points is less than 8, it is determined that the current weight corresponds to the second partition, that is, the B partition.
  • the A partition selects the top option in the merge list, and the B partition selects the latter option, which makes the coding rate lower.
  • Method 3 The encoder determines the first partition according to the angle number and the position of the intersection between the dividing line and the boundary.
  • the implementation process is as follows:
  • the chroma processing is proportional to the brightness
  • the motion vector storage is also consistent with the A and B partitions here.
  • Method 4 Specify the A and B partitions in various sizes and modes through the set list, as shown in Table 3.
  • Table 3 How to divide the current block can be obtained, that is, it can be realized by looking up the table, so that the current block can be divided more quickly, conveniently and accurately.
  • the revised partition distribution diagram is as shown in FIG. 10, which is a schematic diagram of the revised partition distribution according to the embodiment of the application. It can be seen from FIG. The situation where the partitions between the corresponding blocks in the GPM partition are different from the perspective.
  • the method may further include:
  • the angle index information is written into the code stream.
  • the second step is to determine the motion offset value according to the cosine angle index information, sine angle index information, and update the angle mapping table, and according to the angle index information, step index information, and size information of the current block, obtain the motion profile corresponding to the current block. Coordinate offset value and movement ordinate offset value.
  • the third step according to the motion offset value, the motion abscissa offset value, the motion ordinate offset value, the position information of the pixel point in the upper left corner of the current block, the first angle corresponding to the cosine angle index information, and the sine angle index information Corresponding to the second angle, the motion index information is obtained.
  • the first motion information and the second motion information are determined as the motion information of the current block.
  • the first motion information is determined as the motion information of the current block.
  • the second motion information is determined as the motion information of the current block.
  • the seventh step is to store the motion information of the current block in the preset merge candidate list.
  • the encoder when the encoder performs the coding of the current block, it also needs to store the coded motion information of the current block for use in inter-frame prediction of subsequent coding blocks.
  • the encoder calculates the first angle and the second angle according to the cosine angle index information, the sine angle index information, and the updated angle mapping table, and then obtains the motion offset value based on the first angle and the second angle; the encoder offsets according to the motion Value, motion abscissa offset value, motion ordinate offset value
  • the position information of the pixel in the upper left corner of the current block, the first angle corresponding to the cosine angle index information, and the second angle corresponding to the sine angle index information to obtain the motion index Information; when the absolute value of the motion index information is less than half of the preset motion index threshold, the encoder determines the first motion information and the second motion information as the motion information of the current block; when the motion index information is less than or equal to 0, the encoder Determine the first motion information as the motion information of the current block; when the motion
  • the embodiment of the present application provides an inter-frame prediction method, which is applied to a video decoding device, that is, a decoder.
  • the function implemented by this method can be implemented by the processor in the video decoding device calling program code.
  • the program code can be stored in a computer storage medium. It can be seen that the video encoding device at least includes a processor and a storage medium.
  • FIG. 11 is a schematic diagram of the implementation process of an intra-frame prediction method according to an embodiment of the application, which is applied to a decoder. As shown in FIG. 11, the method includes:
  • Step S1101 Parse the code stream and determine the predictive decoding parameters of the current block.
  • Step S1102 When the predictive decoding parameter indicates that the geometric partition prediction mode GPM is used to determine the inter-frame prediction value of the current block, determine the first position of the partition that meets the preset condition in the current block.
  • the construction order between different partitions of the coding block in the preset candidate list is determined; then, the construction The position of the partition arranged in the preset sequence number in the sequence is determined as the first position; in a specific example, the first structured partition is determined according to the structure order; it is determined that the first structured partition is in the The first position in the current block.
  • Step S1103 In the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the first partition.
  • Step S1104 Determine a second partition from the area of the current block excluding the first partition.
  • Step S1105 Determine the first predicted value of the first partition and the second predicted value of the second partition.
  • Step S1106 Perform weighted fusion on the first predicted value and the second predicted value to determine the inter-frame predicted value of the current block.
  • the decoder determines the predictive decoding parameters of the current block by parsing the code stream; then, combined with the construction order in the candidate list, determines the first position of the partition that meets the preset condition in the current block; next, In the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the A partition; the area of the current block other than the first partition is determined as the B partition; In this way, it is ensured that the candidates of the A partition are more advanced than the candidates of the B partition, which can make the coding rate lower. Finally, determine the first predicted value of the first partition and the second predicted value of the second partition; perform weighted fusion on the first predicted value and the second predicted value to determine the frame of the current block Time prediction value; improve the accuracy of prediction.
  • the decoder determines an area whose distance from the first position of the current block is less than a preset distance as the first partition in the following manners: :
  • Manner 1 The decoder first determines at least one reference point at a second position in the current block; then, determines the sum of the distances between the at least one reference point and the dividing line in the current block; If the sum of the distances is greater than or equal to a preset value, the decoder determines the area where the pixel points in the current block with a positive distance from the dividing line are located as the first area. If the sum of the distances is less than the preset value, the decoder determines the area where the pixel points in the current block with a negative distance from the dividing line are located as the first area.
  • the decoder first determines the GPM parameter of the current block; then, according to the GPM parameter, determines the weight of each pixel in the current block; if the sum of the weight values of the at least one reference point is greater than or equal to For a weight threshold, the decoder determines an area in the current block where the weight of the determined pixel point is the sum of the weight values as the first partition. If the sum of the weight values of the at least one reference point is less than the weight threshold, the decoder determines the area where the weight of the pixel in the current block is the sum of the weight values, and determines the second partition.
  • Manner 3 The decoder determines the first partition according to the angle number and the position of the intersection of the partition line and the boundary.
  • Method 4 The decoder specifies the A and B partitions in various sizes and modes through the set list.
  • the implementation of S1101-S1106 on the decoder is basically the same as the process of implementing S301-S306 on the encoder side, and will not be repeated here.
  • the difference is that the predictive decoding parameters and GMP parameters of the current block on the decoder side are both parsed from the code stream.
  • the encoder is obtained by itself.
  • the decoder can arrange the order of the different partitions of the coding block in the preset candidate list according to the construction order; arrange the construction order at the position of the partition with the preset number, Determine as the first position; then, in the current block, determine an area with a distance less than a preset distance from the first position of the current block as the first partition; divide from the current block In the area outside the first partition, the second partition is determined; in this way, the partition near the upper right pixel position is selected as the A partition, so that the candidate of the A partition is higher than the candidate of the B partition, which can make the coding rate lower .
  • the current block is partitioned AB, so that the predicted inter-frame prediction value of the current block is more accurate.
  • the GPM parameters of the current block include: angle index information and size information of the current block; in the embodiments of the present application, the implementation of determining the weight of each pixel in the current block may include:
  • the first step is to determine the position information of pixels in the current block according to the size information of the current block.
  • the second step is to determine the weight of the pixels in the current block according to the angle index information, the preset angle mapping table, and the position information of the pixels in the current block.
  • the decoder may determine the cosine angle index information and the sine angle index information according to the angle index information; reduce the power of the angle of the preset angle mapping table to obtain the updated angle mapping table;
  • the angle index information, the sine angle index information, and the updated angle mapping table are respectively combined with the position information of the pixels in the current block to determine the weight index corresponding to the pixels in the current block.
  • an encoder 1 including:
  • the first determining module 1201 is configured to determine the prediction mode parameter of the current block
  • the first indication module 1202 is configured to determine the first position in the current block of the partition that meets the preset condition when the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block;
  • the first division module 1203 is configured to determine, in the current block, an area whose distance from the first position of the current block is less than a preset distance as the first partition;
  • the second partition module 1204 is configured to determine a second partition from the area of the current block excluding the first partition
  • the second determining module 1205 is configured to determine the first predicted value of the first partition and the second predicted value of the second partition;
  • the first fusion module 1206 is configured to perform weighted fusion on the first predicted value and the second predicted value to determine the inter-frame predicted value of the current block.
  • the first indication module 1202 is further configured to: when the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block, determine that it is in the preset candidate list The construction sequence between the different partitions of the coding block; the position of the partition arranged in the preset sequence number in the construction order is determined as the first position.
  • the first indication module 1202 is further configured to: determine the first structured partition according to the structure sequence; determine the first structure of the first structured partition in the current block One location.
  • the first dividing module 1203 is further configured to: determine at least one reference point at a second position in the current block; determine the at least one reference point and the current The sum of the distances between the dividing lines in the block; if the sum of the distances is greater than or equal to the preset value, determine the area where the pixel points in the current block with a positive distance from the dividing line are located Is the first area.
  • the first dividing module 1203 is further configured to: if the sum of the distances is less than the preset value, the distance between the current block and the dividing line is The area where the negative pixel points are located is determined as the first area.
  • the first dividing module 1203 is further configured to: determine the GPM parameter of the current block; determine the weight of each pixel in the current block according to the GPM parameter; if The sum of the weight values of the at least one reference point is greater than or equal to the weight threshold, and the area where the weight of the determined pixel point in the current block is the sum of the weight values is determined as the first partition.
  • the first dividing module 1203 is further configured to: if the sum of the weight values of the at least one reference point is less than the weight threshold, the weight of the pixel in the current block is The area of the sum of the weight values is determined as the second partition.
  • the GPM parameters of the current block include: angle index information and size information of the current block; the first division module 1203 is further configured to: determine according to the size information of the current block The position information of the pixels in the current block; and the weight of the pixels in the current block is determined according to the angle index information, the preset angle mapping table, and the position information of the pixels in the current block.
  • an embodiment of the present application also provides an encoder, including: a first memory 1301 and a first processor 1302; the first memory 1301 stores data that can be stored in the first processor A computer program running on 1302, an inter-frame prediction method on the encoder side when the first processor 1302 executes the program.
  • the encoder determines the order of construction between different partitions of the coding block in the preset candidate list; arranges the position of the partition with the preset number in the construction order to determine Is the first position; then, in the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the first partition; and the current block is divided by In the area outside the first partition, the second partition is determined; in this way, the partition close to the upper right pixel position is selected as the A partition, so that the candidate of the A partition is higher than the candidate of the B partition, which can make the coding rate lower.
  • the current block is partitioned AB, so that the predicted inter-frame prediction value of the current block is more accurate.
  • an embodiment of the present application provides a decoder 2, which includes: a first parsing module 1401, used to parse a code stream, and determine the predictive decoding parameters of the current block; a second indicating module 1402, used to The predictive decoding parameter indicates that when the geometric partition prediction mode GPM is used to determine the inter-frame prediction value of the current block, the first position of the partition that meets the preset condition is determined in the current block; the third partition module 1403 is used for determining the first position of the partition in the current block.
  • the fourth division module 1404 is used to select the area from the current block except the first partition Area, determine the second partition; the third determination module 1405, used to determine the first prediction value of the first partition and the second prediction value of the second partition; the second fusion module 1406, used to compare the The first predicted value and the second predicted value are weighted and merged to determine the inter-frame predicted value of the current block.
  • the second indication module 1402 is further configured to: when the prediction mode parameter indicates that the geometric partition prediction mode GPM is used to determine the inter prediction value of the current block, determine that it is in the preset candidate list The construction sequence between the different partitions of the coding block; the position of the partition arranged in the preset sequence number in the construction order is determined as the first position.
  • the second indication module 1402 is further configured to: determine the first structured partition according to the structure order; determine the first structure of the first structured partition in the current block One location.
  • the third dividing module 1403 is further configured to: determine at least one reference point at a second position in the current block; determine the at least one reference point and the current block The sum of the distances between the dividing lines in the block; if the sum of the distances is greater than or equal to the preset value, determine the area where the pixels whose distances between the dividing lines are positive in the current block are Is the first area.
  • the third dividing module 1403 is further configured to: if the sum of the distances is less than the preset value, the distance between the current block and the dividing line is The area where the negative pixel points are located is determined as the first area.
  • the third dividing module 1403 is further configured to: determine the GPM parameter of the current block; determine the weight of each pixel in the current block according to the GPM parameter; if The sum of the weight values of the at least one reference point is greater than or equal to the weight threshold, and the area where the weight of the determined pixel point in the current block is the sum of the weight values is determined as the first partition.
  • the third dividing module 1403 is further configured to: if the sum of the weight values of the at least one reference point is less than the weight threshold, the weight of the pixel in the current block is The area of the sum of the weight values is determined as the second partition.
  • the third dividing module 1403 is further configured to: determine the position information of pixels in the current block according to the size information of the current block; Set the angle mapping table and the position information of the pixels in the current block to determine the weight of the pixels in the current block.
  • an embodiment of the present application also provides a decoder, including: a second memory 1501 and a second processor 1502; the second memory 1501 stores data that can be stored in the second processor A computer program running on 1502, when the second processor 1502 executes the program, the inter-frame prediction method on the decoder side is implemented.
  • the decoder is based on the construction order between the different partitions of the coded block in the preset candidate list; arranges the position of the partition with the preset number in the construction order to determine Is the first position; then, in the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the first partition; and the current block is divided by In the area outside the first partition, the second partition is determined; in this way, the partition close to the upper right pixel position is selected as the A partition, so that the candidate of the A partition is higher than the candidate of the B partition, which can make the coding rate lower.
  • the current block is partitioned AB, so that the predicted inter-frame prediction value of the current block is more accurate.
  • an embodiment of the present application provides a storage medium on which a computer program is stored.
  • the inter-frame prediction method of the encoder is implemented; or, the computer program is processed by the second processor.
  • the decoder is executed, the inter-frame prediction method of the decoder is realized.
  • the position of the partition arranged in the preset sequence number in the construction order is determined as The first position; then, in the current block, an area whose distance from the first position of the current block is less than a preset distance is determined as the first partition; and the current block is divided by In the area outside the first partition, determine the second partition; in this way, select the partition close to the upper-right pixel position as the first partition, so that the candidates of the first partition are ahead of the candidates of the second partition, which can make the coding rate higher. Low.
  • the current block is partitioned, so that the predicted inter-frame prediction value of the current block is more accurate.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

Un procédé de prédiction inter-trame, un codeur, un décodeur et un support d'enregistrement sont divulgués. Le procédé comprend : la détermination d'un paramètre de mode de prédiction du bloc actuel ; lorsque le paramètre de mode de prédiction indique qu'un mode de partition géométrique (GPM) est utilisé pour déterminer une valeur de prédiction inter-trame du bloc actuel, la détermination d'une première position, dans le bloc actuel, d'une partition qui satisfait une condition prédéfinie ; dans le bloc actuel, la détermination d'une région ayant une distance à partir de la première position du bloc actuel inférieure à une distance prédéfinie pour être une première partition ; la détermination d'une seconde partition à partir d'une région du bloc actuel autre que la première séparation ; la détermination d'une première valeur de prédiction de la première partition et d'une seconde valeur de prédiction de la seconde partition ; et la réalisation d'une fusion pondérée sur la première valeur de prédiction et la seconde valeur de prédiction pour déterminer une valeur de prédiction inter-trame du bloc actuel.
PCT/CN2020/083373 2020-04-03 2020-04-03 Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement WO2021196235A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2020/083373 WO2021196235A1 (fr) 2020-04-03 2020-04-03 Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement
CN202080073861.6A CN114586366A (zh) 2020-04-03 2020-04-03 帧间预测方法、编码器、解码器及存储介质
TW110109408A TW202139709A (zh) 2020-04-03 2021-03-16 幀間預測方法、編碼器、解碼器及儲存媒介

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2020/083373 WO2021196235A1 (fr) 2020-04-03 2020-04-03 Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement

Publications (1)

Publication Number Publication Date
WO2021196235A1 true WO2021196235A1 (fr) 2021-10-07

Family

ID=77927567

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/083373 WO2021196235A1 (fr) 2020-04-03 2020-04-03 Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement

Country Status (3)

Country Link
CN (1) CN114586366A (fr)
TW (1) TW202139709A (fr)
WO (1) WO2021196235A1 (fr)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114422781A (zh) * 2022-03-29 2022-04-29 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质
CN114598880A (zh) * 2022-05-07 2022-06-07 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质
WO2023174426A1 (fr) * 2022-03-18 2023-09-21 Mediatek Inc. Mode de partitionnement géométrique et réorganisation de candidats à la fusion
WO2024012054A1 (fr) * 2022-07-15 2024-01-18 深圳传音控股股份有限公司 Procédé de traitement d'image, terminal intelligent et support de stockage

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230156181A1 (en) * 2021-11-17 2023-05-18 Mediatek Inc. Methods and Apparatuses for a High-throughput Video Encoder or Decoder
CN115379214B (zh) * 2022-10-26 2023-05-23 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106627A1 (en) * 2009-06-26 2012-05-03 Thomson Licensing Methods and apparatus for video encoding and decoding using adaptive geometric partitioning
CN102611880A (zh) * 2011-01-19 2012-07-25 华为技术有限公司 标识图像块几何划分模式的编解码方法和设备
CN102790892A (zh) * 2012-07-05 2012-11-21 清华大学 深度图编码方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120106627A1 (en) * 2009-06-26 2012-05-03 Thomson Licensing Methods and apparatus for video encoding and decoding using adaptive geometric partitioning
CN102611880A (zh) * 2011-01-19 2012-07-25 华为技术有限公司 标识图像块几何划分模式的编解码方法和设备
CN102790892A (zh) * 2012-07-05 2012-11-21 清华大学 深度图编码方法及装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
H. GAO (HUAWEI), S. ESENLIK (HUAWEI), E. ALSHINA (HUAWEI), A. M. KOTRA (HUAWEI), B. WANG (HUAWEI), M. BLÄSER (RWTH-AACHEN), J. SAU: "CE4: CE4-1.1, CE4-1.2 and CE4-1.14: Geometric Merge Mode (GEO),", 16. JVET MEETING; 20191001 - 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-P0068-v2, 25 September 2019 (2019-09-25), Geneva CH, pages 1 - 7, XP030216132 *
S. ESENLIK (HUAWEI), H. GAO (HUAWEI), A. FILIPPOV, V. RUFITSKIY, A. M. KOTRA, B. WANG, E. ALSHINA (HUAWEI), M. BLÄSER (RWTH-AACHEN: "Non-CE4: Geometrical partitioning for inter blocks", 15. JVET MEETING; 20190703 - 20190712; GOTHENBURG; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 27 June 2019 (2019-06-27), Gothenburg SE, pages 1 - 9, XP030219715 *
Y. KIDANI (KDDI), K. KAWAMURA (KDDI), K. UNNO, S. NAITO (KDDI): "Non-CE4: On merge list generation for geometric partitioning", 17. JVET MEETING; 20200107 - 20200117; BRUSSELS; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), 1 January 2020 (2020-01-01), Brussels BE, pages 1 - 6, XP030222641 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023174426A1 (fr) * 2022-03-18 2023-09-21 Mediatek Inc. Mode de partitionnement géométrique et réorganisation de candidats à la fusion
CN114422781A (zh) * 2022-03-29 2022-04-29 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质
WO2023185351A1 (fr) * 2022-03-29 2023-10-05 深圳传音控股股份有限公司 Procédé de traitement d'image, terminal intelligent et support de stockage
CN114598880A (zh) * 2022-05-07 2022-06-07 深圳传音控股股份有限公司 图像处理方法、智能终端及存储介质
WO2024012054A1 (fr) * 2022-07-15 2024-01-18 深圳传音控股股份有限公司 Procédé de traitement d'image, terminal intelligent et support de stockage

Also Published As

Publication number Publication date
CN114586366A (zh) 2022-06-03
TW202139709A (zh) 2021-10-16

Similar Documents

Publication Publication Date Title
WO2021196235A1 (fr) Procédé de prédiction inter-trame, codeur, décodeur et support d'enregistrement
CN114868395A (zh) 采用几何分割进行帧间预测的高级语法
JP2023179747A (ja) オプティカルフローを用いた予測リファインメントに関する方法および装置
US11785208B2 (en) Prediction method for decoding and apparatus, and computer storage medium
US20230023856A1 (en) Inter prediction method, encoder, decoder, and storage medium
WO2021203841A1 (fr) Procédé de prédiction inter-trames, codeur, décodeur et support de stockage
WO2021196857A1 (fr) Procédé de prédiction inter-trame, codeur, décodeur et support de stockage lisible par ordinateur
CN116233466A (zh) 光流预测细化(prof)的方法和装置
US20230042640A1 (en) Inter prediction method, encoder, decoder, and storage medium
CN114342378A (zh) 关于利用光流的预测细化的方法和装置
WO2021238396A1 (fr) Procédé de prédiction inter-trames, codeur, décodeur et support de stockage informatique
WO2021258841A1 (fr) Procédé de prédiction inter-trames, codeur, décodeur, et support de stockage informatique
WO2021203924A1 (fr) Procédé de codage, procédé de décodage, codeur, décodeur et support d'enregistrement
CN114503561A (zh) 用于利用光流的预测细化、双向光流和解码器侧运动矢量细化的方法和装置
US20230045687A1 (en) Inter Prediction Method, Encoder, Decoder, and Storage Medium
US20230080546A1 (en) Inter Prediction Method, Encoder, Decoder and Storage Medium
CN113709498A (zh) 帧间预测方法、编码器、解码器以及计算机存储介质
WO2022022278A1 (fr) Procédé de prédiction inter-trames, codeur, décodeur et support de stockage informatique
WO2022061680A1 (fr) Procédé de prédiction inter-trames, codeur, décodeur et support de stockage informatique
WO2020258052A1 (fr) Procédé et dispositif de prédiction de composante d'image et support de stockage informatique
CN113545090A (zh) 用于帧内子分区编解码模式的方法和设备
WO2023044916A1 (fr) Procédé de prédiction intra, codeur, décodeur et système de codage et de décodage
WO2023044917A1 (fr) Procédé de prédiction intra, codeur, décodeur et système de codage et de décodage
WO2023044918A1 (fr) Procédé de prédiction intra, codeur, décodeur et système de codage/décodage
WO2022037344A1 (fr) Procédé de prédiction entre trames, codeur, décodeur et support de stockage informatique

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20929568

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20929568

Country of ref document: EP

Kind code of ref document: A1