WO2021134627A1 - 一种帧间预测方法、编码器、解码器及存储介质 - Google Patents

一种帧间预测方法、编码器、解码器及存储介质 Download PDF

Info

Publication number
WO2021134627A1
WO2021134627A1 PCT/CN2019/130838 CN2019130838W WO2021134627A1 WO 2021134627 A1 WO2021134627 A1 WO 2021134627A1 CN 2019130838 W CN2019130838 W CN 2019130838W WO 2021134627 A1 WO2021134627 A1 WO 2021134627A1
Authority
WO
WIPO (PCT)
Prior art keywords
current block
weight
value
information
index
Prior art date
Application number
PCT/CN2019/130838
Other languages
English (en)
French (fr)
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 CN201980099607.0A priority Critical patent/CN114270846A/zh
Priority to PCT/CN2019/130838 priority patent/WO2021134627A1/zh
Priority to CN202210408005.2A priority patent/CN114666580A/zh
Priority to KR1020227009898A priority patent/KR20220122969A/ko
Priority to EP19958730.4A priority patent/EP4087248A4/en
Priority to JP2022526516A priority patent/JP7460766B2/ja
Publication of WO2021134627A1 publication Critical patent/WO2021134627A1/zh
Priority to US17/710,475 priority patent/US11632554B2/en
Priority to JP2024043451A priority patent/JP2024069590A/ja

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/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/109Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • 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/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame 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/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/182Methods 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 a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • 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
    • 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/537Motion estimation other than block-based
    • 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/537Motion estimation other than block-based
    • H04N19/543Motion estimation other than block-based using regions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the embodiments of the present application relate to video coding technology, and relate to but not limited to inter-frame prediction methods, encoders, decoders, and storage media.
  • inter-frame prediction can include motion estimation and motion compensation.
  • GEO geometrical partitioning for inter-blocks
  • the angle mapping table and the weight mapping table need to be used.
  • the length of the weight mapping table of one partition is 27, and the total length of the two partition mapping tables is only It is 54, but the corresponding weight values of these 54 are composed of five types ⁇ 4, 5, 6, 7, 8 ⁇ .
  • the embodiments of the present application provide an inter-frame prediction method, an encoder, a decoder, and a storage medium, which can simplify the text and code in the inter-frame prediction and reduce the overhead of data storage.
  • an embodiment of the present application provides an inter-frame prediction method, which is applied to an encoder, and the method includes:
  • the prediction mode parameter indicates that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame prediction of the current block, determine the GEO parameter of the current block;
  • Clamping processing is performed on the weight indexes corresponding to the pixels in the current block, respectively, to obtain the absolute weight index information corresponding to the pixels in the current block; wherein, the clamping processing is to perform the weight index corresponding to the pixels in the current block.
  • the maximum value of the absolute value of the index is clamped to half of the preset value;
  • an embodiment of the present application provides an inter-frame prediction method, which is applied to a decoder, and the method includes:
  • the code stream is parsed to determine the GEO parameter of the current block
  • Clamping processing is performed on the weight indexes corresponding to the pixels in the current block, respectively, to obtain the absolute weight index information corresponding to the pixels in the current block; wherein, the clamping processing is to perform the weight index corresponding to the pixels in the current block.
  • the maximum value of the index is clamped to half of the preset value;
  • the first prediction value, the first weight value, the second prediction value, and the second weight value are used to determine a weighted fusion of pixels in the current block to obtain an inter-frame prediction value of the current block.
  • an encoder including:
  • the first determining unit is configured to determine the prediction mode parameter of the current block; when the prediction mode parameter indicates that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame prediction of the current block, determine the GEO parameter of the current block; according to the GEO Parameters, determining 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; determining the weight index corresponding to the pixel in the current block according to the GEO parameter;
  • the first clamping unit is used to perform clamping processing on the weight index corresponding to the pixel in the current block to obtain the absolute information of the weight index corresponding to the pixel in the current block; wherein, the clamping processing is to perform the clamping processing on the weight index corresponding to the pixel in the current block.
  • the maximum value of the absolute value of the weight index corresponding to the pixel in the current block is clamped to half of the preset value;
  • the first determining unit is further configured to determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block;
  • the first prediction unit is configured to use the first prediction value, the first weight value, the second prediction value, and the second weight value to perform weighted fusion of pixels in the current block to obtain the current block The inter prediction value of.
  • an embodiment of the present application provides a decoder, including:
  • the parsing unit is used to parse the code stream and determine the predictive decoding parameters of the current block
  • the second determining unit is used to parse the code stream to determine the GEO parameters of the current block when the predictive decoding parameters indicate that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame prediction of the current block; and determine the current block’s GEO parameters according to the GEO parameters
  • the first prediction value of the first partition and the second prediction value of the second partition of the current block determine the weight index corresponding to the pixel in the current block according to the GEO parameter;
  • the second clamping unit is used to perform clamping processing on the weight index corresponding to the pixel in the current block to obtain the absolute information of the weight index corresponding to the pixel in the current block; wherein, the clamping processing is to perform the clamping processing on the weight index corresponding to the pixel in the current block.
  • the maximum value of the weight index corresponding to the pixel in the current block is clamped to half of the preset value;
  • the second determining unit is configured to determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block;
  • the second prediction unit is configured to use the first prediction value, the first weight value, the second prediction value, and the second weight value to determine the weighted fusion of pixels in the current block to obtain the current block The inter prediction value of.
  • 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, encoder, decoder, and storage medium, which determine the prediction mode parameter of the current block; when the prediction mode parameter indicates that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame of the current block During prediction, determine the GEO parameters of the current block; determine 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 according to the GEO parameters; determine the corresponding pixel points in the current block according to the GEO parameters
  • the weight index of the pixel points in the current block is respectively clamped to obtain the absolute information of the weight index corresponding to the pixels in the current block; the clamp processing is to index the weights corresponding to the pixels in the current block
  • the maximum value of the absolute value is clamped to half of the preset value; based on the absolute information of the weight index corresponding to the pixel in 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
  • the encoder can determine the weight index corresponding to the pixel in the current block according to the GEO parameters during the inter-frame prediction process, and then through the absolute value of the clamp processing, the pixel in the current block
  • the maximum value of the absolute value of the corresponding weight index is clamped to half of the preset value, thus reducing the size of the original clamp to half of the preset value, thus reducing the storage of the weight value corresponding to the absolute information of the weight index by half And use, thereby simplifying the text and code during inter-frame prediction, and reducing the overhead of data storage.
  • FIG. 1 is a schematic diagram of a composition block diagram of a video encoding system provided by an embodiment of the application;
  • FIG. 2 is a schematic diagram of the composition of a video decoding system provided by an embodiment of the application.
  • FIG. 3 is a first schematic diagram of an implementation process of an intra-frame prediction method provided by an embodiment of the application
  • 4a-4g are schematic diagrams of exemplary 7 division modes provided by embodiments of this application.
  • Fig. 5 is a schematic diagram of the angle and step length of an exemplary current block provided by 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 second schematic diagram of the implementation process of an intra-frame prediction method provided by an embodiment of the application.
  • FIG. 8 is a schematic diagram of an exemplary preset motion mask matrix 1 and previous motion mask matrices 2, 3, and 4 provided by an embodiment of the application;
  • FIG. 9 is a schematic diagram of an implementation process of an intra-frame prediction method provided by an embodiment of the application.
  • FIG. 10 is a first structural diagram of an encoder provided by an embodiment of the application.
  • FIG. 11 is a second structural diagram of an encoder provided by an embodiment of this application.
  • FIG. 12 is a first structural diagram of a decoder provided by an embodiment of this application.
  • FIG. 13 is a second structural diagram of a decoder provided by an embodiment of this application.
  • the video encoding system 11 includes:
  • Transform unit 111 Transform unit 111, quantization unit 112, mode selection and encoding control logic unit 113, intra prediction unit 114, inter prediction unit 115 (including: motion compensation and motion estimation), inverse quantization unit 116, inverse transform unit 117, loop Filtering unit 118, encoding unit 119, and decoded image buffer unit 110; for the input original video signal, a video reconstruction block can be obtained through coding tree unit (CTU) division, and the mode selection and coding control logic unit 113 Determine the encoding mode, and then transform the residual pixel information obtained after intra-frame or inter-frame prediction through the transform unit 111 and the quantization unit 112 to transform the video reconstruction block, including transforming the residual information from the pixel domain to the transform domain And quantize the obtained transform coefficients to further reduce the bit rate; the intra-frame prediction unit 114 is used to perform intra-frame prediction on the video reconstruction block; wherein, the intra-frame prediction unit 114 is used to determine the maximum value of the video reconstruction block Optimal intra prediction mode (ie
  • the decoded image buffer unit 110 is used to store reconstructed video reconstruction blocks for prediction reference. As the video image encoding progresses, new reconstructed video reconstruction blocks will be continuously generated, and these reconstructed video reconstruction blocks will all be stored in the decoded image buffer unit 110.
  • FIG. 2 is a schematic diagram of the composition structure of a video encoding system according to an embodiment of the application.
  • the video encoding system 12 includes:
  • the input video signal is encoded by the video encoding system 11
  • the code stream of the video signal is output;
  • the code stream is input into the video decoding system 12, and is first passed through the decoding unit 121 to obtain the decoded transform coefficient;
  • the transform coefficient is passed through the inverse transform unit 127 and the inverse quantization unit 122 Perform processing to generate a residual block in the pixel domain;
  • the intra prediction unit 123 can be used to generate prediction data of the current video decoding block based on the determined intra prediction direction and data from the previous decoded block of the current frame or picture ;
  • the motion compensation unit 124 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 predictive block of the video decoding block being decode
  • the inter-frame prediction method provided by the embodiment of the present application mainly acts on the inter-frame prediction unit 215 of the video encoding system 11 and the intra-frame prediction unit of the video decoding system 12, that is, the motion compensation unit 124;
  • the system 11 can obtain a better prediction effect through the inter-frame prediction method provided in the embodiments of the present application, and correspondingly, at the decoding end, the video decoding restoration quality can also be improved.
  • 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. It can be seen that the video encoding device includes at least a processor and a storage medium.
  • FIG. 3 is a schematic diagram of the implementation process of an intra-frame prediction method according to an embodiment of the application. As shown in FIG. 3, the method includes:
  • a video image can be divided into multiple image blocks, and each image block currently to be encoded can be called a coding block (Coding Block, CB), where each coding block can include a first image component, The second image component and the third image component; and the current block is a coding block in the video image for which prediction of the first image component, the second image component, or the third image component is currently to be performed.
  • CB Coding Block
  • 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.
  • Inter-frame prediction modes may include: geometrical partitioning for inter-blocks (Geometrical partitioning for inter-blocks, GEO), Triangle partitioning mode (TPM), and so on.
  • 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.
  • the prediction mode parameter indicates that GEO is used to determine the inter-frame prediction of the current block
  • the GEO parameter of the current block can be obtained or determined.
  • the current block in the embodiment of the present application refers to an inter-frame block.
  • the GEO parameters of the current block include angle index information and size information of the current block, and may also include step index information, target partition mode, and so on.
  • GEO divides the inter-frame block (ie, 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.
  • GEO has a total of 82 division modes. Each division mode corresponds to an angle ⁇ and a step length ⁇ . The angle is divided into 24 kinds of 360 degrees. Therefore, there are 24 kinds of angles. There are 4 kinds of step length, so there are 96 kinds of combinations of angle and step length.
  • 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 angle ⁇ and step size ⁇ constitutes a division mode (wherein all the first step sizes with angle indexes 0, 6, 12 to 23 are eliminated, and 82 is obtained.
  • Types of division modes all GEO division modes include the TPM mode, which unifies and replaces the TPM.
  • GEO divides the current block into two non-rectangular sub-partitions, and each sub-partition performs one-way motion compensation separately to obtain the one-way prediction value.
  • the weight matrix corresponding to the current block is used to weight the one-way prediction value of the two partitions to obtain the final The predicted value of GEO.
  • the encoder when the encoder side determines that GEO is used for inter-frame prediction, the encoder can obtain GEO parameters when the current block uses GEO for inter-frame prediction.
  • the encoder determines the partition mode with the least rate-distortion cost by traversing the 82 partition models corresponding to GEO, 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 mapping table of the preset division mode, angle index, and step index is shown in Table 1:
  • wedge_partition_idx is the partition mode index
  • angleIdx is the angle index information
  • distanceIdx is the step index information.
  • the encoder can divide the current block according to the target division mode to obtain the first partition and the second partition; from the preset merge candidate list , The first motion information of the first reference block corresponding to the first partition and the second motion information of the second reference block corresponding to the second partition are determined; the encoder performs motion compensation according to the first motion information to obtain the first motion information For the first predicted value of a partition, the encoder performs motion compensation according to the second motion information to obtain the second predicted value of the second partition.
  • GEO uses the one-way Merge candidate list of the TPM in the original VVC7, that is, the preset merge candidate list, to find the respective MVs of the two partitions of GEO, that is, 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 data corresponding to GEO 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.
  • S104 Determine the weight index corresponding to the pixel in the current block according to the GEO parameter.
  • the GEO parameter includes size information and angle index information of the current block, and the size information is the height and width of the current block.
  • the encoder can determine the position information of the pixels in the current block based on the size information of the current block, based on the position information, angle index information and update angle of each pixel in the current block With the mapping table, the weight index corresponding to each pixel in the current block can be calculated.
  • the encoder After the encoder obtains the pixels in the current block, after the absolute value of the weight index area corresponding to the pixels in the current block, the result is clamped in the range of [0 to half of the preset value] to obtain the current block
  • the absolute information of the weight index corresponding to each pixel of where, when the absolute value of the weight index of a pixel exceeds half of the preset value, the absolute information of the weight index corresponding to the pixel is half of the preset value;
  • the absolute value of the weight index of the one pixel point is its weight index absolute information.
  • the preset value is 26, then the absolute information of the weight index is in the range of [0-13].
  • the absolute information of the weight index can be obtained by expression (1), which is as follows:
  • weightIdxAbs Clip3(0,13,abs(weightIdx)) (1)
  • weightIdxAbs is the weight index absolute information
  • weightIdx is the weight index
  • abs() is the absolute value function
  • Clip3() is the clamp function.
  • S106 Determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block.
  • the encoder After the encoder obtains the weight index absolute information corresponding to the pixel in the current block, it can first determine the weight index according to the weight index corresponding to the pixel in the current block and the weight index absolute information corresponding to the pixel in the current block. The weight value corresponding to the absolute information, and then based on the weight value corresponding to the weight index absolute information, the weight value of the first pixel in the first partition and the weight value of the second pixel in the second partition are determined from the pixels in the current block , And then according to the weight value of the first pixel in the first partition and the weight value of the second pixel in the second partition to determine the first weight value of the pixel in the current block corresponding to the first partition, and finally according to the first The weight value determines the second weight value of the pixel point in the current block corresponding to the second partition.
  • the weight index corresponding to a pixel in the current block when the weight index corresponding to a pixel in the current block is less than or equal to 0, it means that the pixel belongs to the first partition; when one of the pixels in the current block When the weight index corresponding to the pixel is greater than 0, it indicates that the one pixel belongs to the second partition.
  • the process of obtaining the first weight value of the pixel in the current block based on the first partition may be: obtaining the first weight corresponding to the first pixel in the first partition based on the absolute information of the weight index corresponding to the pixel in the current block Index absolute information and second weight index absolute information corresponding to the second pixel of the second partition; obtain the weight value of the first pixel according to the first weight index absolute information, and obtain the second pixel according to the second weight index absolute information Point weight value; based on the weight value of the first pixel point and the weight value of the second pixel point, the first weight value of the pixel point in the current block corresponding to the first partition is obtained.
  • the second weight value of pixels in the current block is: 8-first weight value.
  • the encoder determines the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block.
  • the specific implementation may include the following Five ways.
  • Method 1 When the weight index absolute information is less than the preset index threshold, the encoder performs right shift preset position processing on the weight index absolute information combined with the first value, and then adds the preset weight value to obtain the corresponding weight index absolute information Weight value; when the weight index absolute information is greater than or equal to the preset index threshold, the encoder performs right-shift preset position processing on the weight index absolute information combined with the second value, and then adds the preset weight value to obtain the weight index absolute information corresponding According to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block, the encoder determines the first weight value of the pixel in the current block corresponding to the first partition; the encoder according to the first weight value , To obtain the second weight value of the pixel point in the current block corresponding to the second partition.
  • the encoder can first calculate the absolute information of the weight index according to the weight index of the pixel in the current block. -Half of the preset value]
  • the weight value corresponding to the absolute information of each weight index within the range specifically: when the absolute information of the weight index is less than the preset index threshold, the encoder performs a right shift pre-shift to the absolute information of the weight index plus the first value.
  • the weight value corresponding to the weight index absolute information is obtained; when the weight index absolute information is greater than or equal to the preset index threshold, the encoder moves the weight index absolute information combined with the second value to the right After the preset position is processed, the preset weight value is added to obtain the weight value corresponding to the absolute information of the weight index.
  • WedgeFilter weightIdxAbs ⁇ 9? ((weightIdxAbs+2)>>2)+4:((weightIdxAbs+3)>>2)+4(2)
  • the preset index threshold is 9; the first value is 2; the second value is 3; the preset weight value is 4; the preset bit is 2, WedgeFilter is the weight value corresponding to weightIdxAbs, and weightIdxAbs is a weight index absolute information.
  • WedgeFilter is the weight value corresponding to weightIdxAbs
  • weightIdxAbs is the absolute information of a weight index.
  • weight index absolute information (weightIdxAbs) is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, and 13, then the weight index absolute information
  • the weight value (WedgeFilter[weightIdxAbs]) is calculated according to the expression (2) or (3) as: 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7 and 8 .
  • the encoder uses a piecewise function to integrate the weight lookup process into the GEO operation process, and directly calculates the corresponding weight through the GEO weight index, eliminating the weight mapping table and the lookup operation. In fact, the lossless reduction of GEO weight table is implicitly realized.
  • the encoder indexes the weight value corresponding to the absolute information of the weight and the weight index corresponding to the pixel in the current block, the first weight index corresponding to the first pixel of the first partition, and the second partition.
  • the weight value of one pixel and the weight value of the second pixel obtain the first weight value of the pixel in the current block corresponding to the first partition.
  • the first weight value of each pixel can be obtained by using expression (4), which is as follows:
  • sampleWeight is the weight value of a pixel
  • weightIdx is the weight index of the pixel
  • WedgeFilter is the weight value corresponding to the absolute information of the weight of a pixel.
  • Method 2 The encoder combines the absolute information of the weight index with the first value and whether the absolute information of the weight index is greater than a value of 8, and then performs the right shift preset position processing, and finally adds the preset weight value to obtain the corresponding weight index absolute information Weight value; the encoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel point in the current block; the encoder determines the first weight value of the pixel point in the current block corresponding to the first partition; according to the first weight value, Obtain the second weight value of the pixel point in the current block corresponding to the second partition.
  • the encoder can first calculate the absolute information of the weight index according to the weight index of the pixel in the current block. -Half of the preset value]
  • the weight value corresponding to the absolute information of each weight index within the range specifically: the encoder adds the absolute information of the weight index to the first value, plus whether the absolute information of the weight index is greater than 8 before proceeding Shift the preset position to the right, and finally add the preset weight value to obtain the weight value corresponding to the absolute information of the weight index.
  • the weight value corresponding to the absolute information of the weight index can be obtained by expression (5), which is as follows:
  • WedgeFilter ((weightIdxAbs+2+(weightIdxAbs>8))>>2)+4 (5)
  • the first value is 2; the preset weight value is 4; the preset bit is 2, WedgeFilter is the weight value corresponding to weightIdxAbs, and weightIdxAbs is a weight index absolute information.
  • weight index absolute information (weightIdxAbs) is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, and 13, then the weight index absolute information
  • the weight values (WedgeFilter[weightIdxAbs]) calculated according to expression (5) are: 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7 and 8.
  • the encoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel point in the current block, and according to the first weight value .
  • the process of obtaining the second weight value of the pixel point in the current block corresponding to the second partition is consistent with the implementation description of mode 1, and will not be repeated here.
  • Method 3 The encoder combines the weight index absolute information with the first value and the 8-weight index absolute information to take the value of the sign, and then performs the right shift preset position processing, and finally adds the preset weight value to obtain the weight index absolute information corresponding According to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel point in the current block, determine the first weight value of the pixel point in the current block corresponding to the first partition; according to the first weight value, the second weight value is obtained The second weight value of the pixel in the current block corresponding to the partition.
  • the encoder can first calculate the absolute information of the weight index according to the weight index of the pixel in the current block. -Half of the preset value]
  • the weight value corresponding to the absolute information of each weight index within the range specifically: the encoder adds the absolute information of the weight index to the first value, and adds the value of the sign of the absolute information of the 8-weight index, Then the right shift preset position processing is performed, and the preset weight value is finally added to obtain the weight value corresponding to the absolute information of the weight index.
  • WedgeFilter ((weightIdxAbs+2+sign(8-weightIdxAbs))>>2)+4 (6)
  • the first value is 2; the default weight value is 4; the default bit is 2, WedgeFilter is the weight value corresponding to weightIdxAbs, weightIdxAbs is a weight index absolute information, sign() is a sign function, when 8-weightIdxAbs ⁇ When 0, the value is 1, and when 8-weightIdxAbs is greater than or equal to 0, the value is 0.
  • weight index absolute information (weightIdxAbs) is 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, and 13, then the weight index absolute information
  • the weight values (WedgeFilter[weightIdxAbs]) calculated according to the expression (5) are: 4, 4, 5, 5, 5, 5, 6, 6, 6, 7, 7, 7, 7 and 8, respectively.
  • the encoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel point in the current block, and according to the first weight value .
  • the process of obtaining the second weight value of the pixel point in the current block corresponding to the second partition is consistent with the implementation description of mode 1, and will not be repeated here.
  • the expression (7) or the expression (8) can also be used to achieve this, which is not limited in the embodiment of the present application. as follows:
  • WedgeFilter ((weightIdxAbs+2))>>2)+4 (7)
  • WedgeFilter ((weightIdxAbs+1))>>2)+4 (8)
  • Method 4 The encoder searches for the weight value corresponding to the absolute information of the weight index from the preset weight mapping table according to the absolute information of the weight index; wherein, the preset weight mapping table performs the respective weight index corresponding to the pixels in the current block. It is obtained by embedding processing within half of the preset value; the encoder determines the first weight of the pixel in the current block corresponding to the first partition according to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block Value; the encoder obtains the second weight value of the pixel point in the current block corresponding to the second partition according to the first weight value.
  • the encoder can obtain the weight value of the absolute information of the weight index from 0 to half of the preset value based on any one of the method 1 to the method 3, as the preset weight mapping table, when the encoder obtains When the weight index of the pixel in the current block is absolute information, the weight value corresponding to each pixel can be found from the preset weight mapping table.
  • the preset weight mapping table is shown in Table 2.
  • the encoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel point in the current block, and according to the first weight value .
  • the process of obtaining the second weight value of the pixel point in the current block corresponding to the second partition is consistent with the implementation description of mode 1, and will not be repeated here.
  • Method 5 When the absolute information of the weight index is less than the preset index threshold, the encoder performs right-shift preset position processing on the absolute information of the weight index combined with the first value to obtain a new weight index; when the absolute information of the weight index is greater than or equal to the preset index threshold When the absolute information of the weight index is combined with the second value, the encoder performs right-shift preset position processing to obtain the new weight index; the encoder obtains the new weight value corresponding to the new weight index from the preset new weight mapping table; when the weight index When the information is less than or equal to 0, the encoder determines the new weight value as the weight value corresponding to the weight index absolute information; when the weight index information is greater than 0, the encoder determines the 8-new weight value as the weight value corresponding to the weight index absolute information; The encoder determines the first weight value of the pixel in the current block corresponding to the first partition according to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block; the encode
  • a preset new weight mapping table is set to indicate the correspondence between the weight value and the weight index information, where the weight value has no repeated value, and the weight index information belongs to [0-half of the preset value ], the number of specific weight index information is consistent with the number of weight values, as shown in Table 3.
  • ReduceIdx is the weight index information
  • WedgeFilter[ReduceIdx] is the weight value
  • the encoder When the encoder obtains the weight index absolute information of the pixels in the current block, when the weight index absolute information is less than the preset index threshold, the encoder performs right shift preset position processing on the weight index absolute information plus the first value to obtain New weight index; when the absolute information of the weight index is greater than or equal to the preset index threshold, the encoder performs right-shift preset position processing on the absolute information of the weight index plus the second value to obtain the new weight index.
  • the new weight index can be obtained by expression (9), which is as follows:
  • ReduceIdx is the new weight index
  • WeightIdxabs is the absolute information of the weight index of a pixel.
  • the preset index threshold is 9; the first value is 2; the second value is 3; the preset weight value is 4; the preset position is 2 .
  • the new weight index can also be obtained by expression (10), which is as follows:
  • the encoder can obtain the weight value corresponding to the absolute information of the weight index of each pixel in the current block from the preset new weight mapping table, that is, the new weight value WedgeFilter[ ReduceIdx], when the weight index information of each pixel is less than or equal to 0, the encoder will determine the new weight value as the weight value corresponding to the absolute information of the weight index; when the weight index information is greater than 0, the encoder will 8-new weight The value is determined as the weight value corresponding to the absolute information of the weight index.
  • the encoder indexes the weight value corresponding to the absolute information of the weight and the weight index corresponding to the pixel in the current block, the first weight index corresponding to the first pixel of the first partition, and the second partition.
  • the weight value of one pixel and the weight value of the second pixel obtain the first weight value of the pixel in the current block corresponding to the first partition.
  • the first weight value of each pixel can be obtained by using expression (11), which is as follows:
  • sampleWeight is the weight value of a pixel
  • weightIdx is the weight index of the pixel
  • WedgeFilter[ReduceIdx] is the new weight value corresponding to the absolute weight information of a pixel.
  • the encoder simplifies the GEO weight mapping table, uses feasible mathematical formulas to derive the GEO weights in the process of calculation, while eliminating the weight mapping table and table look-up operations, it also implicitly realizes the original
  • the reduction of the weight mapping table further simplifies the code and text, and also reduces the storage overhead of the weight mapping table.
  • 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 weighted fusion of pixels in the current block obtains 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 prediction value of the current block can be obtained by using expression (23), as shown below:
  • pbSamples[x][y] Clip3(0,(1 ⁇ bitDepth)–1,(predSamplesLPART1[x][y]*(8–sampleWeight1)+predSamplesLPART2[x][y]*sampleWeight2+offset1)>> shift1) (23)
  • 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. Similarly, it can be performed according to the second weight of brightness. After downsampling, the second weight of the luminance sample in the upper right corner 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 weight index corresponding to the pixel in the current block according to GEO parameters, and then through the absolute value of the clamp processing, the pixel in the current block is corresponding to The maximum value of the absolute value of the weight index is clamped to half of the preset value. This reduces the size of the original clamp to half of the preset value. Therefore, it reduces the storage and storage of the weight value corresponding to the absolute information of the weight index by half. Use, thereby simplifying the text and code during inter-frame prediction, and reducing the overhead of data storage.
  • the GEO parameters of the current block include: angle index information and size information of the current block.
  • the implementation of S104 in an inter prediction method provided in an embodiment of the present application may be include:
  • S1041 according to the size information of the current block, determine the position information of the pixels in the current block;
  • the size information of the current block of the encoder includes the height H of the current block and the width W of the current block. In this way, the coordinate area where the current block is located can be determined, and the various pixels in the current block can be determined.
  • the position information that is, the coordinate information (x, y) of each pixel.
  • the encoder can determine the weight index corresponding to the pixel 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 encoder can determine the weight index corresponding to the pixel in the current block according to the angle index information, the preset angle mapping table, and the position information of the pixel in the current block.
  • the implementation process is: Encoder According to the angle index information, the cosine angle index information and the sine angle index information are determined; the encoder reduces the power of the preset angle mapping table to obtain the updated angle mapping table; the encoder according to the cosine angle index information and the sine angle index information , Update the angle mapping table, and respectively combine the position information of the pixels in the current block to determine the weight index corresponding to the pixels in the current block.
  • the preset angle mapping table is the angle mapping table used in the prior art, as shown in Table 4:
  • angleIdx is angle index information
  • Dis[angleIdx] is angle
  • the encoder performs power reduction processing on the angles of the preset angle mapping table, and obtains that the angles in the updated angle mapping table are all angle values in the preset angle mapping table reduced by a power. As shown in Table 5:
  • the original preset angle mapping table is deleted in the encoder, and only the updated angle mapping table is kept, which can reduce storage overhead.
  • 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 acquisition of cosine angle index information can be obtained according to expression (12), and the acquisition of sine angle index information can obtain expression (12) and expression (13) according to expression (13) as follows:
  • displacementX is cosine angle index information
  • displacementY is sine angle index information
  • angleIdx is angle index information
  • Dis[displacementX] is the cosine angle (first angle) corresponding to the cosine angle index information
  • Dis[displacementY is the sine angle (second angle) corresponding to the cosine angle index information, where the cosine angle and the sine angle can be updated according to The mapping table is obtained.
  • the weight index of each pixel in the current block can be obtained by expression (15), which is as follows:
  • weightIdx is the weight index of a pixel
  • x is the abscissa value of a pixel
  • y is the ordinate value of the pixel.
  • the position information of a pixel is (x, y).
  • the corresponding weight is obtained by checking the weight mapping table through the obtained index, and it can be found that each step of the above calculation needs to be multiplied by the angle Dis[displacementX] and Dis[displacementY], and this solution is to remove the weight mapping Table, and design a mathematical method to implicitly reduce the weight mapping table by half, so it is necessary to divide by 2 in each step of calculating the weight index and the motion index, but because the values in the angle mapping table are all powers of 2. Therefore, the operation of dividing the weight index and the motion index by 2 can be realized by reducing the power of the angle mapping table, and corresponding to the reduced weight mapping table.
  • the method may further include:
  • S108 Determine the motion offset value according to the cosine angle index information, the sine angle index information, and update the angle mapping table, and obtain the abscissa offset of the motion corresponding to the current block according to the angle index information, the step index information, and the size information of the current block. Shift value and movement ordinate offset value.
  • 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 corresponding sine angle index information From the second angle, the motion index information is obtained.
  • 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 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 index information
  • motion offset value motionOffset can be obtained by using expression (16), and expression (16) is as follows:
  • the encoder can obtain the abscissa offset of the motion corresponding to the current block according to the angle index information, the step index information, and the size information of the current block.
  • offsetY (64-numSbY)>>1+angleIdx ⁇ 12? (distanceIdx*nCbH)>>3:-((distanceIdx*nCbH)>>3)(18)
  • offsetX is the motion abscissa offset value
  • offsetY is the motion ordinate offset value
  • angleIdx is the angle index information
  • distanceIdx is the step index information
  • numSbX is the width of the motion mask matrix of the current block
  • numSbY is the current block
  • the height of the motion mask matrix, nCbW and nCbH represent the width and height of the current block.
  • the encoder can obtain the abscissa offset of the motion corresponding to the current block according to the angle index information, the step index information, and the size information of the current block.
  • offsetX (64-numSbX)>>1+angleIdx ⁇ 12? (distanceIdx*nCbW)>>3:-((distanceIdx*nCbW)>>3)(19)
  • offsetX is the motion abscissa offset value
  • offsetY is the motion ordinate offset value
  • angleIdx is the angle index information
  • distanceIdx is the step index information
  • numSbX is the width of the motion mask matrix of the current block
  • numSbY is the current block
  • the height of the motion mask matrix, nCbW and nCbH represent the width and height of the current block.
  • the encoder corresponds 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, and the cosine angle index information.
  • the first angle of, the second angle corresponding to the sine angle index information, the realization of the motion index information can be obtained by expression (21), and expression (21) is as follows:
  • motionIdx (((xSbIdx+offsetX) ⁇ 3)+1)*Dis[displacementX]+(((ySbIdx+offsetY ⁇ 3)+1))*Dis[displacementY]–rho+motionOffset (21)
  • motionIdx is the motion index information
  • the position information of the pixel in the upper left corner of the current block (xSbIdx, ySbIdx)
  • offsetX is the motion abscissa offset value
  • offsetY is the motion ordinate offset value
  • Dis[displacementX] is the first Angle
  • Dis[displacementY] is the second angle
  • rho is also the vertical distance from the center point of the block to the current dividing line obtained from the first angle and the second angle
  • motionOffset is the motion offset value.
  • ShiftHor is a horizontal offset, its value is 0, and more offset is needed on the Y axis, and its value is 1, and more offset is needed on the X axis.
  • the encoder may determine the motion information of the current block from the first motion information and the second motion information according to the current motion mask matrix and store it in the preset merge candidate list.
  • the encoder may also determine the motion information of the current block by motion index information.
  • the first motion information and the second motion information are determined as the motion information of the current block; when the motion index information is less than or equal to 0, the first motion information is determined Is the motion information of the current block; when the motion index information is greater than 0, the second motion information is determined as the motion information of the current block; the motion information of the current block is stored in the preset merge candidate list.
  • the encoder judges whether the storage of the current sub-block is unidirectional or bidirectional according to the size of abs (motionIdx) at each 4 ⁇ 4 sub-block.
  • the current block stores the constructed bidirectional motion information, that is, the first motion information and the second motion information;
  • the current block stores the second motion information of the second partition.
  • the preset motion index threshold is 32.
  • the encoder may first obtain the motion mask matrix, and then cut from the preset motion mask matrix according to the motion abscissa offset value and motion ordinate offset value Get the current motion mask matrix of the current block.
  • the preset motion mask matrix 1 shown in FIG. 8 is based on the difference of the division mode, the angle ⁇ , the step size ⁇ , the offsetX, and the offsetY.
  • the size A of the current block can be used from 1 to cut out Different current motion mask matrices 2, 3 and 4.
  • the encoder obtains the motion offset value motionOffset through expression (16), and obtains the motionOffset, rho, first angle, and second angle according to the position information (x, y) of each pixel in 56 ⁇ 56 All motion index information motionIdx1. As shown in expression (22):
  • motionIdx1 ((x ⁇ 3)+1)*Dis[displacementX]+((y ⁇ 3+1))*Dis[displacementY]–rho+motionOffset(22)
  • the mask corresponding to the motion information in the 56 ⁇ 56 preset motion mask matrix is determined based on abs(motionIdx1) and motionIdx1.
  • the motion mask of the current 4 ⁇ 4 sub-block is 2 (representing bidirectional motion information);
  • pre-stored mask matrices including the weighted weight mask matrix and the motion mask matrix
  • the pre-stored mask matrices of the remaining angles are obtained by mirroring the seven matrices in the horizontal or vertical direction to reduce storage space.
  • 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. 9 is a schematic diagram of the implementation process of an intra-frame prediction method according to an embodiment of the application. As shown in FIG. 10, the method includes:
  • S201 Parse the code stream, and determine the predictive decoding parameters of the current block.
  • S203 Determine 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 according to the GEO parameter.
  • Clamping processing is performed on the weight indexes corresponding to the pixels in the current block to obtain the absolute information of the weight indexes corresponding to the pixels in the current block; wherein, the clamping processing is the maximum value of the weight indexes corresponding to the pixels in the current block. Clamped to half of the preset value.
  • S206 Determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block.
  • the decoder determines the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block. Including the following five ways.
  • Method 1 When the absolute information of the weight index is less than the preset index threshold, the decoder combines the absolute information of the weight index with the first value to perform right shift preset position processing, and then adds the preset weight value to obtain the corresponding absolute information of the weight index Weight value; when the weight index absolute information is greater than or equal to the preset index threshold, the decoder performs right-shift preset position processing on the weight index absolute information combined with the second value, and then adds the preset weight value to obtain the weight index absolute information corresponding The decoder determines the first weight value of the pixel in the current block corresponding to the first partition according to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block; the decoder determines the first weight value of the pixel in the current block corresponding to the first partition; the decoder according to the first weight value , To obtain the second weight value of the pixel point in the current block corresponding to the second partition.
  • Method 2 The decoder combines the absolute information of the weight index with the first value and whether the absolute information of the weight index is greater than a value of 8, and then performs the right shift preset position processing, and finally adds the preset weight value to obtain the corresponding weight index absolute information Weight value; the decoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel point in the current block; the decoder determines the first weight value of the pixel point in the current block corresponding to the first partition according to the first weight value, Obtain the second weight value of the pixel point in the current block corresponding to the second partition.
  • Method 3 The decoder combines the absolute information of the weight index with the first value and the absolute information of the 8-weight index to take the value of the sign, and then performs the right shift preset position processing, and finally adds the preset weight value to obtain the weight index absolute information corresponding According to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel point in the current block, determine the first weight value of the pixel point in the current block corresponding to the first partition; according to the first weight value, the second weight value is obtained The second weight value of the pixel in the current block corresponding to the partition.
  • Method 4 According to the absolute information of the weight index, the decoder finds the weight value corresponding to the absolute information of the weight index from the preset weight mapping table; wherein, the preset weight mapping table separately performs the weight index corresponding to the pixel in the current block. It is obtained by embedding processing within half of the preset value; the decoder determines the first weight of the pixel in the current block corresponding to the first partition according to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block Value; the decoder obtains the second weight value of the pixel in the current block corresponding to the second partition according to the first weight value.
  • Method 5 When the absolute information of the weight index is less than the preset index threshold, the decoder combines the absolute information of the weight index with the first value to perform right shift preset processing to obtain a new weight index; when the absolute information of the weight index is greater than or equal to the preset index threshold When the weight index absolute information is combined with the second value, the decoder performs right-shift preset position processing to obtain a new weight index; the decoder obtains the new weight value corresponding to the new weight index from the preset new weight mapping table; when the weight index When the information is less than or equal to 0, the decoder determines the new weight value as the weight value corresponding to the weight index absolute information; when the weight index information is greater than 0, the decoder determines the 8-new weight value as the weight value corresponding to the weight index absolute information; The decoder determines the first weight value of the pixel in the current block corresponding to the first partition according to the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block
  • the decoder parses out the angle index information corresponding to the current block, the first motion information of the first reference block corresponding to the first partition, and the first motion information of the second reference block corresponding to the second partition from the code stream.
  • Two motion information and step size index information respectively perform motion compensation according to the first motion information and the second motion information to obtain the first unidirectional predictive value corresponding to the first partition and the second unidirectional predictive value corresponding to the second partition.
  • the preset value is 26; the preset index threshold is 9; the first value is 2; the second value is 3; the preset weight value is 4; the preset bit is 2.
  • the implementation of S201-S207 of the decoder is basically the same as the process of implementing S101-S107 on the encoder side, which will not be repeated here.
  • the difference is that the predictive decoding parameters and GEO 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 determine the weight index corresponding to the pixel in the current block according to the GEO parameters, and then through the absolute value clamping process, the pixel in the current block is corresponding to The maximum value of the absolute value of the weight index is clamped to half of the preset value. This reduces the size of the original clamp to half of the preset value. Therefore, it reduces the storage and storage of the weight value corresponding to the absolute information of the weight index by half. Use, thereby simplifying the text and code during inter-frame prediction, and reducing the overhead of data storage.
  • S2041 according to the size information of the current block, determine 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.
  • the implementation of S2041-S2042 of the decoder is basically the same as that of the implementation process of the encoder side S1041-S1042, which will not be repeated here.
  • the corresponding weight is obtained by checking the weight mapping table through the obtained index, and it can be found that each step of the above calculation needs to be multiplied by the angle Dis[displacementX] and Dis[displacementY], and this solution is to remove the weight mapping Table, and design a mathematical method to implicitly reduce the weight mapping table by half, so it is necessary to divide by 2 in each step of calculating the weight index and the motion index, but because the values in the angle mapping table are all powers of 2. Therefore, the operation of dividing the weight index and the motion index by 2 can be realized by reducing the power of the angle mapping table, and corresponding to the reduced weight mapping table.
  • the motion absc issa 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 corresponding sine angle index information From the second angle, get motion index information;
  • the implementation of S208-S213 of the decoder is basically the same as the process of implementing S108-S113 on the encoder side, which will not be repeated here.
  • the preset motion index threshold is 32.
  • an encoder 1 including:
  • the first determining unit 10 is configured to determine the prediction mode parameter of the current block; when the prediction mode parameter indicates that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame prediction of the current block, determine the GEO parameter of the current block; GEO parameters, determining 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; determining the weight index corresponding to the pixel in the current block according to the GEO parameter;
  • the first clamping unit 11 is configured to perform clamping processing on the weight indexes corresponding to the pixels in the current block to obtain the absolute information of the weight indexes corresponding to the pixels in the current block; wherein, the clamping processing is to perform the clamping processing on the weight indexes corresponding to the pixels in the current block.
  • the maximum value of the absolute value of the weight index corresponding to the pixel in the current block is clamped to half of the preset value;
  • the first determining unit 10 is further configured to determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block;
  • the first prediction unit 12 is configured to perform weighted fusion of pixels in the current block using the first prediction value, the first weight value, the second prediction value, and the second weight value to obtain the current The inter prediction value of the block.
  • the GEO parameters of the current block include: angle index information and size information of the current block;
  • the first determining unit 10 is further configured to determine the position information of pixels in the current block according to the size information of the current block; according to the angle index information and the preset angle mapping table, respectively combine the current The position information of the pixels in the block determines the weight index corresponding to the pixels in the current block.
  • the first determining unit 10 is further configured to determine cosine angle index information and sine angle index information according to the angle index information; Power down processing to obtain the updated angle mapping table; according to the cosine angle index information, the sine angle index information, and the updated angle mapping table, combined with the position information of the pixels in the current block to determine the current The weight index corresponding to the pixel in the block.
  • the first determining unit 10 is further configured to perform a right shift preset on the weight index absolute information in combination with the first value when the weight index absolute information is less than a preset index threshold.
  • the preset weight value is added to obtain the weight value corresponding to the weight index absolute information; when the weight index absolute information is greater than or equal to the preset index threshold, the weight index absolute information is combined with the second value.
  • the weight value corresponding to the absolute information of the weight index is obtained; the weight value corresponding to the absolute information of the weight index and the weight index corresponding to the pixel in the current block are determined.
  • the first weight value of the pixel point in the current block corresponding to the first partition; and the second weight value of the pixel point in the current block corresponding to the second partition is obtained according to the first weight value.
  • the first determining unit 10 is further configured to combine the weight index absolute information with a first value, and whether the weight index absolute information is greater than a value of 8, and then perform a right shift prediction. Setting processing, and finally adding a preset weight value to obtain the weight value corresponding to the weight index absolute information; according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel in the current block, determine the first A first weight value of a pixel in the current block corresponding to a partition; and a second weight value of a pixel in the current block corresponding to the second partition is obtained according to the first weight value.
  • the first determining unit 10 is further configured to combine the weight index absolute information with the first value, 8-the weight index absolute information takes the value of the sign, and then perform a right shift Preset position processing, and finally add a preset weight value to obtain the weight value corresponding to the weight index absolute information; determine the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel in the current block The first weight value of the pixel point in the current block corresponding to the first partition; and the second weight value of the pixel point in the current block corresponding to the second partition is obtained according to the first weight value.
  • the first determining unit 10 is further configured to search for the weight value corresponding to the weight index absolute information from a preset weight mapping table according to the weight index absolute information; where The preset weight mapping table is obtained by performing embedding processing within half of the preset value on the weight index corresponding to the pixel in the current block; according to the weight value corresponding to the absolute information of the weight index and the The weight index corresponding to the pixel in the current block is used to determine the first weight value of the pixel in the current block corresponding to the first partition; and the pixel in the current block corresponding to the second partition is obtained according to the first weight value The second weight value.
  • the first determining unit 10 is further configured to perform a right shift preset on the weight index absolute information in combination with the first value when the weight index absolute information is less than a preset index threshold.
  • Bit processing to obtain new weight index information when the weight index absolute information is greater than or equal to a preset index threshold, the weight index absolute information is combined with the second value to perform right shift preset position processing to obtain new weight index information;
  • In the preset new weight mapping table obtain a new weight value corresponding to the new weight index information; when the weight index information is less than or equal to 0, determine the new weight value as the weight value corresponding to the weight index absolute information;
  • the weight index determines the first weight value of the pixel point in the current block corresponding to the first partition; and obtains the second weight value of the pixel point in the
  • the encoder 1 further includes: a writing unit 13 and a first storage unit 14 (none of which is shown in the figure);
  • the writing unit 13 is configured to perform the weighted fusion of pixels in the current block using the first predicted value, the first weight value, the second predicted value, and the second weight value , After obtaining the inter-frame prediction value of the current block, write the angle index information into the code stream;
  • the first determining unit 10 is further configured to determine a motion offset value according to the cosine angle index information, the sine angle index information, and the updated angle mapping table, and according to the angle index information, step index Information and the size information of the current block to obtain the motion abscissa offset value and motion ordinate offset value corresponding to the current block; according to the motion offset value, the motion abscissa offset value and the motion ordinate offset value
  • the shift 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 motion index information When the absolute value of is less than half of the preset motion index threshold, the first motion information and the second motion information are determined as the motion information of the current block; when the motion index information is less than or equal to 0, all The first motion information is determined as the motion information of the current block; when the motion index information is greater than 0, the second motion information is determined as the motion information of the
  • the first storage unit 14 is configured to store the motion information of the current block in a preset merging candidate list.
  • the preset value is 26; the preset index threshold is 9; the first value is 2; the second value is 3; the preset weight value is 4; the preset position is 2; Set the motion index threshold to 32.
  • an encoder including:
  • the first memory 15 stores a computer program that can be run on the first processor 16, and the inter-frame prediction method on the encoder side when the first processor 16 executes the program.
  • the encoder can determine the weight index corresponding to the pixel in the current block according to GEO parameters, and then through the absolute value of the clamp processing, the pixel in the current block is corresponding to The maximum value of the absolute value of the weight index is clamped to half of the preset value. This reduces the size of the original clamp to half of the preset value. Therefore, it reduces the storage and storage of the weight value corresponding to the absolute information of the weight index by half. Use, thereby simplifying the text and code during inter-frame prediction, and reducing the overhead of data storage.
  • an embodiment of the present application provides a decoder 2, including:
  • the parsing unit 20 is used for parsing the code stream and determining the predictive decoding parameters of the current block
  • the second determining unit 21 is configured to parse the code stream to determine the GEO parameters of the current block when the prediction decoding parameters indicate that the inter-frame geometric division prediction mode GEO is used to determine the inter-frame prediction of the current block; and determine the current block according to the GEO parameters 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; determine the weight index corresponding to the pixel in the current block according to the GEO parameter;
  • the second clamping unit 22 is configured to perform clamping processing on the weight indexes corresponding to the pixels in the current block to obtain the absolute weight index information corresponding to the pixels in the current block; wherein, the clamping processing is to perform the clamping processing on the weight indexes corresponding to the pixels in the current block.
  • the maximum value of the weight index corresponding to the pixel in the current block is clamped to half of the preset value;
  • the second determining unit 21 is further configured to determine the first weight value of the pixel in the current block and the second weight value of the pixel in the current block based on the absolute information of the weight index corresponding to the pixel in the current block;
  • the second prediction unit 23 is configured to use the first prediction value, the first weight value, the second prediction value, and the second weight value to determine the weighted fusion of pixels in the current block to obtain the current The inter prediction value of the block.
  • the GEO parameters of the current block include: angle index information and size information of the current block;
  • the second determining unit 21 is further configured to determine the position information of pixels in the current block according to the size information of the current block; according to the angle index information and the preset angle mapping table, combine the current The position information of the pixels in the block determines the weight index corresponding to the pixels in the current block.
  • the second determining unit 21 is further configured to determine cosine angle index information and sine angle index information according to the angle index information; Power down processing to obtain the updated angle mapping table; according to the cosine angle index information, the sine angle index information, and the updated angle mapping table, combined with the position information of the pixels in the current block to determine the current The weight index corresponding to the pixel in the block.
  • the second determining unit 21 is further configured to perform a right shift preset on the weight index absolute information in combination with the first value when the weight index absolute information is less than a preset index threshold. After bit processing, the preset weight value is added to obtain the weight value corresponding to the weight index absolute information; when the weight index absolute information is greater than or equal to the preset index threshold, the weight index absolute information is combined with the second value.
  • the weight value corresponding to the weight index absolute information is obtained; according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel in the current block, it is determined
  • the first weight value of the pixel point in the current block corresponding to the first partition; and the second weight value of the pixel point in the current block corresponding to the second partition is obtained according to the first weight value.
  • the second determining unit 21 is further configured to combine the weight index absolute information with the first value, whether the weight index absolute information is greater than a value of 8, and then perform right shift pre-processing. Setting processing, and finally adding a preset weight value to obtain the weight value corresponding to the weight index absolute information; according to the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel in the current block, determine the first A first weight value of a pixel in the current block corresponding to a partition; and a second weight value of a pixel in the current block corresponding to the second partition is obtained according to the first weight value.
  • the second determining unit 21 is further configured to combine the weight index absolute information with the first value, 8-the weight index absolute information takes the value of the sign, and then perform a right shift Preset position processing, and finally add a preset weight value to obtain the weight value corresponding to the weight index absolute information; determine the weight value corresponding to the weight index absolute information and the weight index corresponding to the pixel in the current block The first weight value of the pixel point in the current block corresponding to the first partition; and the second weight value of the pixel point in the current block corresponding to the second partition is obtained according to the first weight value.
  • the second determining unit 21 is further configured to find the weight value corresponding to the weight index absolute information from the preset weight mapping table according to the weight index absolute information; where The preset weight mapping table is obtained by performing embedding processing within half of the preset value on the weight index corresponding to the pixel in the current block; according to the weight value corresponding to the absolute information of the weight index and the current block The weight index corresponding to the inner pixel point is used to determine the first weight value of the pixel point in the current block corresponding to the first partition; according to the first weight value, the first weight value of the pixel point in the current block corresponding to the second partition is obtained. Two weight value.
  • the second determining unit 21 is further configured to perform a right shift preset on the weight index absolute information in combination with the first value when the weight index absolute information is less than a preset index threshold.
  • Bit processing to obtain new weight index information when the weight index absolute information is greater than or equal to a preset index threshold, the weight index absolute information is combined with the second value to perform right shift preset position processing to obtain new weight index information;
  • In the preset new weight mapping table obtain a new weight value corresponding to the new weight index information; when the weight index information is less than or equal to 0, determine the new weight value as the weight value corresponding to the weight index absolute information;
  • the weight index determines the first weight value of the pixel point in the current block corresponding to the first partition; and obtains the second weight value of the pixel point in the
  • the decoder 2 further includes a second storage unit 24 (not shown in the figure);
  • the second determining unit 21 is further configured to use the first one-way prediction value, the first weight value, the second one-way prediction value, and the second weight value to perform the determination of each pixel.
  • the motion offset value is determined according to the cosine angle index information, the sine angle index information, and the updated angle mapping table, and according to the angle index information and step index Information and the size information of the current block to obtain the motion abscissa offset value and motion ordinate offset value corresponding to the current block; according to the motion offset value, the motion abscissa offset value and the motion ordinate offset value
  • the shift 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 motion index information When the absolute value of is less than half of the preset motion index threshold, the first motion information and the second motion information are determined as the motion information of the current block
  • the second storage unit 24 is configured to store the motion information of the current block in a preset merging candidate list.
  • the preset value is 26; the preset index threshold is 9; the first value is 2; the second value is 3; the preset weight value is 4; the preset position is 2; Set the motion index threshold to 32.
  • an embodiment of the present application also provides a decoder, including:
  • the second memory 25 stores a computer program that can be run on the second processor 26, and the second processor 25 implements the inter-frame prediction method on the decoder side when the second processor 25 executes the program.
  • the decoder can determine the weight index corresponding to the pixel in the current block according to the GEO parameters, and then through the absolute value clamping process, the pixel in the current block is corresponding to The maximum value of the absolute value of the weight index is clamped to half of the preset value. This reduces the size of the original clamp to half of the preset value. Therefore, it reduces the storage and storage of the weight value corresponding to the absolute information of the weight index by half. Use, thereby simplifying the text and code during inter-frame prediction, and reducing the overhead of data storage.
  • an embodiment of the present application provides a storage medium on which a computer program is stored.
  • the computer program is executed by the first processor, 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 weight index corresponding to the pixel in the current block can be determined according to GEO parameters, and then through the absolute value of the clamp processing, the pixel corresponding to the current block can be determined.
  • the maximum value of the absolute value of the weight index is clamped to half of the preset value, thus reducing the size of the original clamp to half of the preset value, thus reducing the storage and use of the weight value corresponding to the absolute information of the weight index by half , Which simplifies the text and code during inter-frame prediction, and reduces the overhead of data storage.

Landscapes

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

Abstract

本申请实施例提供了一种帧间预测方法、编码器、解码器及存储介质,包括:确定当前块的预测模式参数;当预测模式参数指示使用GEO确定当前块的帧间预测时,确定当前块的GEO参数;根据GEO参数,确定第一预测值和第二预测值;根据GEO参数,确定当前块内像素点对应的权重索引;对当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;嵌位处理是将当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;基于当前块内像素点对应的权重索引绝对信息,确定第一权重值和第二权重值;使用第一预测值、第一权重值、第二预测值和第二权重值,得到当前块的帧间预测值。

Description

一种帧间预测方法、编码器、解码器及存储介质 技术领域
本申请实施例涉及视频编码技术,涉及但不限于帧间预测方法、编码器、解码器及存储介质。
背景技术
在视频编解码,对当前块进行编解码的过程中,除了有帧内预测外,还可以采用帧间预测方式。帧间预测可以包括运动估计和运动补偿,针对运动补偿,可以采用帧间几何划分预测模式(Geometrical partitioning for inter blocks,GEO),将帧间的当前块划分为两个非矩形的分区分别进行预测后进行加权融合,从而得到当前块的预测值。
现有技术中,在GEO的预测过程中,需要使用到角度映射表和权重映射表,由于在对当前块进行预测时,一个分区的权重映射表的长度为27,两个分区映射表总长就为54,但是这54个中对应的权重值是由{4、5、6、7、8}这五种组成的。
然而,现有的权重映射表中就存在很多重复的权重,权重表过于冗长,从而使得帧间预测时的数据的存储开销较大,文本和代码比较复杂。
发明内容
本申请实施例提供了一种帧间预测方法、编码器、解码器和存储介质,能够简化帧间预测时的文本和代码,并减少了数据存储的开销。
第一方面,本申请实施例提供了一种帧间预测方法,应用于编码器,所述方法包括:
确定当前块的预测模式参数;
当所述预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;
根据所述GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;
根据所述GEO参数,确定当前块内像素点对应的权重索引;
对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;
基于所述当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;
使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值。
第二方面,本申请实施例提供了一种帧间预测方法,应用于解码器,所述方法包括:
解析码流,确定当前块的预测解码参数;
当所述预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数;
根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;
根据所述GEO参数,确定当前块内像素点对应的权重索引;
对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的最大值嵌位至预设数值的一半;
基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值;
使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值确定所述当前块内像素点的加权融合,得到当前块的帧间预测值。
第三方面,本申请实施例提供了一种编码器,包括:
第一确定单元,用于确定当前块的预测模式参数;当所述预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;根据所述GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
第一嵌位单元,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;
所述第一确定单元,还用于基于所述当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;
第一预测单元,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值。
第四方面,本申请实施例提供了一种解码器,包括:
解析单元,用于解析码流,确定当前块的预测解码参数;
第二确定单元,用于当所述预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数;根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
第二嵌位单元,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的最大值嵌位至预设数值的一半;
所述第二确定单元,用于基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值;
第二预测单元,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值确定所述当前块内像素点的加权融合,得到当前块的帧间预测值。
第五方面,本申请实施例还提供了一种编码器,包括:
第一存储器和第一处理器;
所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现编码器的所述帧间预测方法。
第六方面,本申请实施例还提供了一种解码器,包括:
第二存储器和第二处理器;
所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现解码器的所述帧间预测方法。
第七方面,本申请实施例提供了一种存储介质,包括:
其上存储有计算机程序,该计算机程序被第一处理器执行时,实现编码器的所述帧间预测方法;或者,该计算机程序被第二处理器执行时,实现解码器的所述帧间预测方法。
本申请实施例提供了一种帧间预测方法、编码器、解码器和存储介质,通过确定当前块的预测模式参数;当预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据GEO参数,确定当前块内像素点对应的权重索引;对当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,嵌位处理是将当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;基于当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;使用第一预测值、第一权重值、第二预测值和第二权重值进行当前块内像素点的加权融合,得到当前块的帧间预测值。采用上述方案实现技术,编码器在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。
附图说明
图1为本申请实施例提供的一种视频编码系统的组成框图示意图;
图2为本申请实施例提供的一种视频解码系统的组成框图示意图;
图3为本申请实施例提供的一种帧内预测方法的实现流程示意图一;
图4a-4g为本申请实施例提供的示例性的7种划分模式的示意图;
图5为本申请实施例提供的示例性当前块的角度和步长的示意图;
图6a为本申请实施例提供的示例性的亮度的第一权重值的示意图;
图6b为本申请实施例提供的示例性的色度的第一权重值的示意图;
图7为本申请实施例提供的一种帧内预测方法的实现流程示意图二;
图8为本申请实施例提供的示例性的预设运动掩码矩阵1和前运动掩码矩阵2、3和4的示意图;
图9为本申请实施例还提供的一种帧内预测方法的实现流程示意图;
图10为本申请实施例提供的一种编码器的结构示意图一;
图11为本申请实施例提供的一种编码器的结构示意图二;
图12为本申请实施例提供的一种解码器的结构示意图一;
图13为本申请实施例提供的一种解码器的结构示意图二。
具体实施方式
为本申请提供一种视频编码系统,如图1所示,该视频编码系统11包括:
变换单元111、量化单元112、模式选择和编码控制逻辑单元113、帧内预测单元114、帧间预测单元115(包括:运动补偿和运动估计)、反量化单元116、反变换单元117、环路滤波单元118、编码单元119和解码图像缓存单元110;针对输入的原始视频信号,通过编码树块(Coding Tree Unit,CTU)的划分可以得到一个视频重建块,通过模式选择和编码控制逻辑单元113确定编码模式,然后,对经过帧内或帧间预测后得到的残差像素信息,通过变换单元111、量化单元112对该视频重建块进行变换,包括将残差信息从像素域变换到变换域,并对所得的变换系数进行量化,用以进一步减少比特率;帧内预测单元114用于对该视频重建块进行帧内预测;其中,帧内预测单元114用于确定该视频重建块的最优帧内预测模式(即目标预测模式);帧间预测单元115用于执行所接收的视频重建块相对于一或多个参考帧中的一或多个块的帧间预测编码,以提供时间预测信息;其中吗,运动估计为产生运动向量的过程,所述运动向量可以估计该视频重建块的运动,然后,运动补偿基于由运动估计所确定的运动向量执行运动补偿;在确定帧间预测模式之后,帧间预测单元115还用于将所选择的帧间预测数据提供到编码单元119,而且,将所计算确定的运动向量数据也发送到编码单元119;此外,反量化单元116和反变换单元117用于该视频重建块的重构建,在像素域中重构建残差块,该重构建残差块通过环路滤波单元118去除方块效应伪影,然后,将该重构残差块添加到解码图像缓存单元110的帧中的一个预测性块,用以产生经重构建的视频重建块;编码单元119是用于编码各种编码参数及量化后的变换系数。而解码图像缓存单元110用于存放重构建的视频重建块,用于预测参考。随着视频图像编码的进行,会不断生成新的重构建的视频重建块,这些重构建的视频重建块都会被存放在解码图像缓存单元110中。
本申请实施例提供一种视频解码系统,图2为本申请实施例视频编码系统的组成结构示意图,如图2所示,该视频编码系统12包括:
解码单元121、反变换单元127,与反量化单元122、帧内预测单元123、运动补偿单元124、环路滤波单元125和解码图像缓存单元126单元;输入的视频信号经过视频编码系统11进行编码处理之后,输出该视频信号的码流;该码流输入视频解码系统12中,首先经过解码单元121,用于得到解码后的变换系数;针对该变换系数通过反变换单元127与反量化单元122进行处理,以便在像素域中产生残差块;帧内预测单元123可用于基于所确定的帧内预测方向和来自当前帧或图片的先前经解码块的数据而产生当前视频解码块的预测数据;运动补偿单元124是通过剖析运动向量和其他关联语法元素来确定用于视频解码块的预测信息,并使用该预测信息以产生正被解码的视频解码块的预测性块;通过对来自反变换单元127与反量化单元122的残差块与由帧内预测单元123或运动补偿单元124产生的对应预测性块进行求和,而形成解码的视频块;该解码的视频信号通过环路滤波单元125以便去除方块效应伪影,可以改善视频质量;然后将经解码的视频块存储于解码图像缓存单元126中,解码图像缓存单元126存储用于后续帧内预测或运动补偿的参考图像,同时也用 于视频信号的输出,得到所恢复的原始视频信号。
本申请实施例提供的一种帧间预测方法主要作用于视频编码系统11的帧间预测单元215和视频解码系统12的帧内预测单元,即运动补偿单元124;也就是说,如果在视频编码系统11能够通过本申请实施例提供的帧间预测方法得到一个较好的预测效果,那么,对应地,在解码端,也能够改善视频解码恢复质量。
基于此,下面结合附图和实施例对本申请的技术方案进一步详细阐述。在进行详细阐述之前,需要说明的是,说明书通篇中提到的“第一”、“第二”、“第三”等,仅仅是为了区分不同的特征,不具有限定优先级、先后顺序、大小关系等功能。
本申请实施例提供一种帧间预测方法,该方法应用于视频编码设备,即编码器。该方法所实现的功能可以通过视频编码设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该视频编码设备至少包括处理器和存储介质。
图3为本申请实施例一种帧内预测方法的实现流程示意图,如图3所示,该方法包括:
S101、确定当前块的预测模式参数。
在本申请实施例中,视频图像可以划分为多个图像块,每个当前待编码的图像块可以称为编码块(Coding Block,CB),其中,每个编码块可以包括第一图像分量、第二图像分量和第三图像分量;而当前块为视频图像中当前待进行第一图像分量、第二图像分量或者第三图像分量预测的编码块。
其中,假定当前块进行第一图像分量预测,而且第一图像分量为亮度分量,即待预测图像分量为亮度分量,那么当前块也可以称为亮度块;或者,假定当前块进行第二图像分量预测,而且第二图像分量为色度分量,即待预测图像分量为色度分量,那么当前块也可以称为色度块。
还需要说明的是,预测模式参数指示了当前块的编码模式及该模式相关的参数。通常可以采用率失真优化(Rate Distortion Optimization,RDO)的方式确定当前块的预测模式参数。
具体地,在一些实施例中,编码器确定当前块的预测模式参数的实现为:编码器确定当前块的待预测图像分量;基于当前块的参数,利用多种预测模式分别对待预测图像分量进行预测编码,计算多种预测模式下每一种预测模式对应的率失真代价结果;从计算得到的多个率失真代价结果中选取最小率失真代价结果,并将最小率失真代价结果对应的预测模式确定为当前块的预测模式参数。
也就是说,在编码器侧,针对当前块可以采用多种预测模式分别对待预测图像分量进行编码。这里,多种预测模式通常包括有帧间预测模式、传统帧内预测模式和非传统帧内预测模式,而传统帧内预测模式又可以包括有直流(Direct Current,DC)模式、平面(PLANAR)模式和角度模式等,非传统帧内预测模式又可以包括有MIP模式、跨分量线性模型预测(Cross-component Linear Model Prediction,CCLM)模式、帧内块复制(Intra Block Copy,IBC)模式和PLT(Palette)模式等,帧间预测模式可以包括:帧间几何划分预测模式(Geometrical partitioning for inter blocks,GEO)、三角预测模式(Triangle partition mode,TPM)等。
这样,在利用多种预测模式分别对当前块进行编码之后,可以得到每一种预测模式对应的率失真代价结果;然后从所得到的多个率失真代价结果中选取最小率失真代价结果,并将该最小率失真代价结果对应的预测模式确定为当前块的预测模式参数;如此,最终可以使用所确定的预测模式对当前块进行编码,而且在这种预测模式下,可以使得预测残差小,能够提高编码效率。
S102、当预测模式参数指示使用GEO确定当前块的帧间预测时,确定当前块的GEO参数。
在本申请实施例中,预测模式参数指示使用GEO确定当前块的帧间预测时,就可以获取或者确定出当前块的GEO参数。其中,本申请实施例中的当前块指帧间块。
在本申请实施例中,当前块的GEO参数包括:角度索引信息和当前块的尺寸信息,还可以包括:步长索引信息和目标划分模式等等。
需要说明的是,在本申请实施例中,GEO是针对图像中物体边缘部分,将帧间块(即,当前块)划分为两个非矩形的子分区分别进行预测后进行加权融合。例如,非矩形的形式可以如下图4a-4g所示。
其中,在目前VVC Draft7中,GEO总共有82种划分模式,每种划分模式对应一种角度α和一种步长ρ,角度为将360度划分成了24种,因此,角度包括24种,步长包括4种,这样角度和步长的组合为96种。
需要说明的是,角度表用基于斜率的角度表替代之前基于固定步长的角度表,使用5种固定的斜率(1、1/2、1/4、4、2)去构造不等间隔的角度表。
示例性的,如图5所示,每种角度α和步长ρ的组合构成一种划分模式(其中剔除了角度索引为0、6、12~23的所有第一种步长去除后得到82种划分模式),GEO所有的划分模式中包括了TPM 模式,将TPM统一并取代。GEO将当前块划分为两个非矩形的子分区,每个子分区单独进行单向的运动补偿得到单向预测值,最后利用当前块对应的权重矩阵对两分区的单向预测值加权融合得到最终的GEO的预测值。
在本申请实施例中,在编码器侧,确定是采用GEO进行帧间预测时,该编码器就可以获取该当前块采用GEO进行帧间预测时的GEO参数了。
在本申请实施例中,编码器通过遍历GEO对应的82种划分模型,确定出率失真代价最小的划分模式,即确定出目标划分模式;该编码器就可以依据目标划分模式,通过预设划分模式、角度索引和步长索引的映射表,确定出该目标划分模式对应的角度索引信息和步长索引信息了。其中,预设划分模式、角度索引和步长索引的映射表如表1所示:
表1
Figure PCTCN2019130838-appb-000001
其中,wedge_partition_idx为划分模式索引,angleIdx为角度索引信息,distanceIdx为步长索引信息。
S103、根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值。
在本申请实施例中,由于GEO参数可以包括角度索引信息和目标划分模式,因此,编码器可以根据目标划分模式对当前块进行划分,得到第一分区和第二分区;从预设合并候选列表中,确定出与第一分区对应的第一参考块的第一运动信息,以及与第二分区对应的第二参考块的第二运动信息;编码器根据第一运动信息进行运动补偿,得到第一分区的第一预测值,编码器根据第二运动信息进行运动补偿,得到第二分区的第二预测值。
需要说明的是,在本申请实施例中,GEO采用原有VVC7中TPM的单向Merge候选列表,即预设合并候选列表,找到GEO的划分后的两个分区各自的MV,即运动信息。
其中,Merge候选列表中一般包括预设个数的参考块的元素,预设个数可以为6个,每个元素是以结构体的形式存储数据的,每个结构体中可以包括:该参考块的运动信息、参考帧列表,预测方向等。而存储GEO对应的数据时,是按照4×4大小的块存储的。
在本申请实施例中,角度索引信息和步长索引信息、第一运动信息和第二运动信息等信息,都需要在编码时被写入码流,供解码时使用。
S104、根据GEO参数,确定当前块内像素点对应的权重索引。
GEO参数中包括当前块的尺寸信息和角度索引信息,该尺寸信息为当前块的高和宽。当前块中包括有很多像素点,编码器可以根据当前块的尺寸信息,确定出当前块内像素点的位置信息,基于该当前块内的每个像素点的位置信息,角度索引信息和更新角度映射表,就可以计算得到当前块内的每个像素点对应的权重索引了。
详细的获取过程将在后续实施例中进行描述。
S105、对当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,嵌位处理是将当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半。
在编码器获取到了当前块内像素点之后,对当前块内像素点对应的权重索引区绝对值后,将结果嵌位在【0至预设数值的一半】的范围内,从而得到当前块内的每个像素点对应的权重索引绝对信息;其中,一个像素点的权重索引的绝对值超过预设数值的一半时,该一个像素点对应的权重索引绝对信息为预设数值的一半;一个像素点的权重索引的绝对值未超过预设数值的一半时,该一个像素点的权重索引的绝对值为其权重索引绝对信息。
在本申请实施例中,预设数值为26,那么权重索引绝对信息是在【0-13】范围内的。
示例性的,采用三目运算符的实现方式,权重索引绝对信息可以通过表达式(1)得到,表达式(1)如下:
weightIdxAbs=Clip3(0,13,abs(weightIdx))  (1)
其中,weightIdxAbs为权重索引绝对信息,weightIdx为权重索引,abs( )为取绝对值函数,Clip3()为嵌位函数。
S106、基于当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值。
编码器在获取了当前块内像素点对应的权重索引绝对信息之后,就可以先根据该当前块内像素点对应的权重索引和当前块内像素点对应的权重索引绝对信息,确定出与权重索引绝对信息对应的权重值,再基于权重索引绝对信息对应的权重值,从当前块内像素点中确定出第一分区的第一像素点的权重值和第二分区的第二像素点的权重值,然后根据和第一分区的第一像素点的权重值和第二分区的第二像素点的权重值,确定出第一分区对应的当前块内像素点的第一权重值,最后根据第一权重值,确定出第二分区对应的当前块内像素点的第二权重值。
需要说明的是,在本申请实施例中,当前块内像素点中的一个像素点对应的权重索引小于等于0时,表征该一个像素点属于第一分区;当当前块内像素点中的一个像素点对应的权重索引大于0时,表征该一个像素点属于第二分区。基于第一分区得到当前块内像素点的第一权重值的过程可以为:将基于从当前块内像素点对应的权重索引绝对信息中得到与第一分区的第一像素点对应的第一权重索引绝对信息和第二分区的第二像素点对应的第二权重索引绝对信息;根据该第一权重索引绝对信息得到第一像素点的权重值,根据该第二权重索引绝对信息得到第二像素点的权重值;基于第一像素点的权重值和第二像素点的权重值,得到了第一分区对应的当前块内像素点的第一权重值。而当前块内像素点的第二权重值则为:8-第一权重值。
在本申请实施例中,编码器基于当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值的具体实现可以包括以下五种方式。
方式一:当权重索引绝对信息小于预设索引阈值时,编码器对权重索引绝对信息结合第一数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;当权重索引绝对信息大于等于预设索引阈值时,编码器对权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;编码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,由于权重索引绝对信息的范围在【0-预设数值的一半】的范围内,因此,编码器可以根据当前块内像素点的权重索引绝对信息,先计算出【0-预设数值的一半】范围内各个权重索引绝对信息对应的权重值,具体为:当权重索引绝对信息小于预设索引阈值时,编码器对权重索引绝对信息加上第一数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;当权重索引绝对信息大于等于预设索引阈值时,编码器对权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值。
示例性的,采用三目运算符的实现方式,权重索引绝对信息对应的权重值可以通过表达式(2) 得到,表达式(2)如下:
WedgeFilter=weightIdxAbs<9?((weightIdxAbs+2)>>2)+4:((weightIdxAbs+3)>>2)+4(2)
其中,预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2,WedgeFilter为weightIdxAbs对应的权重值,weightIdxAbs为一个权重索引绝对信息。
需要说明的是,表达式(2)中的右移后的结果只取整数部分。
采用分段映射函数的方式,权重索引绝对信息对应的权重值可以通过表达式(3)得到,表达式(3)如下:
Figure PCTCN2019130838-appb-000002
其中,WedgeFilter为weightIdxAbs对应的权重值,weightIdxAbs为一个权重索引绝对信息。
当预设数值为26时,权重索引绝对信息(weightIdxAbs)为0,1,2,3,4,5,6,7,8,9,10,11,12和13,那么权重索引绝对信息的权重值(WedgeFilter[weightIdxAbs])根据表达式(2)或(3)计算得到分别为:4,4,5,5,5,5,6,6,6,7,7,7,7和8。
可以理解的是,编码器利用一个分段函数将权重查表的过程融合到GEO运算的过程中,通过GEO的权重索引直接简单计算出对应的权重,省去了权重映射表以及查表操作,实际上隐性地实现了GEO权重表的无损缩减。
在本申请实施例中,编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,与第一分区的第一像素点对应的第一权重索引绝对信息和第二分区的第二像素点对应的第二权重索引绝对信息;根据该第一权重索引绝对信息得到第一像素点的权重值,根据该第二权重索引绝对信息得到第二像素点的权重值;基于第一像素点的权重值和第二像素点的权重值,得到了第一分区对应的当前块内像素点的第一权重值。
示例性的,每个像素点的第一权重值的获取可以采用表达式(4)得到,表达式(4)如下:
sampleWeight=weightIdx<=0?WedgeFilter:8–WedgeFilter  (4)
其中,sampleWeight为一个像素点的权重值,weightIdx为该一个像素点的权重索引,WedgeFilter为一个像素点的权重绝对信息对应的权重值。
由表达式(4)可知,以第一分区为主来得到整个当前块内像素点的第一权重值时,是需要基于两个分区,来确定出这两个分区中的各个像素点的权重值的,这样才能得到当前块内像素点的第一权重。而以第二分区为主的当前块内像素点的第二权重,则是由8减去当前块内像素点的第一权重值得到的。
方式二:编码器将权重索引绝对信息结合第一数值、权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;编码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,由于权重索引绝对信息的范围在【0-预设数值的一半】的范围内,因此,编码器可以根据当前块内像素点的权重索引绝对信息,先计算出【0-预设数值的一半】范围内各个权重索引绝对信息对应的权重值,具体为:编码器将权重索引绝对信息加上第一数值、加上权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值。
示例性的,采用三目运算符的实现方式,权重索引绝对信息对应的权重值可以通过表达式(5)得到,表达式(5)如下:
WedgeFilter=((weightIdxAbs+2+(weightIdxAbs>8))>>2)+4  (5)
其中,第一数值为2;预设权重数值为4;预设位为2,WedgeFilter为weightIdxAbs对应的权重值,weightIdxAbs为一个权重索引绝对信息。
需要说明的是,表达式(3)中的右移后的结果只取整数部分,权重索引绝对信息大于8时,值为1,小于等于8时,值为0。
当预设数值为26时,权重索引绝对信息(weightIdxAbs)为0,1,2,3,4,5,6,7,8,9,10,11,12和13,那么权重索引绝对信息的权重值(WedgeFilter[weightIdxAbs])根据表达式(5) 计算得到分别为:4,4,5,5,5,5,6,6,6,7,7,7,7和8。
需要说明的是,编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值,并根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值的过程与方式一的实现描述一致,此处不再赘述。
方式三:编码器将权重索引绝对信息结合第一数值、8-权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,由于权重索引绝对信息的范围在【0-预设数值的一半】的范围内,因此,编码器可以根据当前块内像素点的权重索引绝对信息,先计算出【0-预设数值的一半】范围内各个权重索引绝对信息对应的权重值,具体为:编码器将权重索引绝对信息加上第一数值、以及加上8-权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值。
示例性的,采用三目运算符的实现方式,权重索引绝对信息对应的权重值可以通过表达式(6)得到,表达式(6)如下:
WedgeFilter=((weightIdxAbs+2+sign(8-weightIdxAbs))>>2)+4  (6)
其中,第一数值为2;预设权重数值为4;预设位为2,WedgeFilter为weightIdxAbs对应的权重值,weightIdxAbs为一个权重索引绝对信息,sign()是取符号函数,当8-weightIdxAbs<0时值为1,当8-weightIdxAbs大于等于0时值为0。
当预设数值为26时,权重索引绝对信息(weightIdxAbs)为0,1,2,3,4,5,6,7,8,9,10,11,12和13,那么权重索引绝对信息的权重值(WedgeFilter[weightIdxAbs])根据表达式(5)计算得到分别为:4,4,5,5,5,5,6,6,6,7,7,7,7和8。
需要说明的是,编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值,并根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值的过程与方式一的实现描述一致,此处不再赘述。
进一步地,为了达到与表达式(6)较为相似的计算结果,还可以采用表达式(7)或者表达式(8)等来实现,本申请实施例不作限制。如下:
WedgeFilter=((weightIdxAbs+2))>>2)+4  (7)
WedgeFilter=((weightIdxAbs+1))>>2)+4  (8)
方式四:编码器根据权重索引绝对信息,从预设权重映射表中,查找得到权重索引绝对信息对应的权重值;其中,预设权重映射表是对当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;编码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,编码器可以基于方式一至方式三任一项的方式,得到权重索引绝对信息从0到预设数值的一半的权重值,作为预设权重映射表,当编码器得到了当前块内像素点的权重索引绝对信息时,就可以从预设权重映射表中查到了各个像素点对应的权重值了。
示例性的,预设权重映射表如表2所示。
表2
weightIdxAbs 0 1 2 3 4 5 6 7 8 9 10 11 12 13
WedgeFilter 4 4 5 5 5 5 6 6 6 7 7 7 7 8
需要说明的是,编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值,并根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值的过程与方式一的实现描述一致,此处不再赘述。
方式五:当权重索引绝对信息小于预设索引阈值时,编码器对权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引;当权重索引绝对信息大于等于预设索引阈值时,编码器对权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引;编码器从预设新权重映射表中,获取新权重索引对应的新权重值;当权重索引信息小于等于0时,编码器将新权重值确定为权重索引绝对信息对应的权重值;当权重索引信息大于0时,编码器将8-新权重值确定为权重索引绝对信息对应的权重值;编码器根据权重索引绝对信息对应的权重值和当前块内像 素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;编码器根据第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,设置有预设新权重映射表,表示权重值与权重索引信息之间的对应关系,其中,权重值没有重复值,权要索引信息属于【0-预设数值的一半】,具体的权重索引信息的个数与权重值的个数一致,如表3所示。
表3
ReduceIdx 0 1 2 3 4
WedgeFilter[ReduceIdx] 4 5 6 7 8
其中,ReduceIdx为权重索引信息,WedgeFilter[ReduceIdx]为权重值。
编码器在获取到当前块内像素点的权重索引绝对信息时,当权重索引绝对信息小于预设索引阈值时,编码器对权重索引绝对信息加上第一数值进行右移预设位处理,得到新权重索引;当权重索引绝对信息大于等于预设索引阈值时,编码器对权重索引绝对信息加上第二数值进行右移预设位处理,得到新权重索引。
示例性的,采用三目运算符的实现方式,新权重索引可以通过表达式(9)得到,表达式(9)如下:
ReduceIdx=WeightIdxabs<9?((WeightIdxabs+2)>>2):((WeightIdxabs+3)>>2) (9)
其中,ReduceIdx为新权重索引,WeightIdxabs为一个像素点的权重索引绝对信息,预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2。
需要说明的是,表达式(9)中的右移后的结果只取整数部分。
采用分段映射函数的方式,新权重索引可以还可以通过表达式(10)得到,表达式(10)如下:
Figure PCTCN2019130838-appb-000003
在本申请实施例中,编码器可以从预设新权重映射表中,获取当前块内的每个像素点的权要索引绝对信息对应的权重值,即新权重索引对应的新权重值WedgeFilter[ReduceIdx],当每个像素点的权重索引信息小于等于0时,编码器将与新权重值确定为权重索引绝对信息对应的权重值;当权重索引信息大于0时,编码器将8-新权重值确定为权重索引绝对信息对应的权重值。
在本申请实施例中,编码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,与第一分区的第一像素点对应的第一权重索引绝对信息和第二分区的第二像素点对应的第二权重索引绝对信息;根据该第一权重索引绝对信息得到第一像素点的权重值,根据该第二权重索引绝对信息得到第二像素点的权重值;基于第一像素点的权重值和第二像素点的权重值,得到了第一分区对应的当前块内像素点的第一权重值。
示例性的,每个像素点的第一权重值的获取可以采用表达式(11)得到,表达式(11)如下:
sampleWeight=weightIdx<=0?WedgeFilter[ReduceIdx]:8-WedgeFilter[ReduceIdx] (11)
其中,sampleWeight为一个像素点的权重值,weightIdx为该一个像素点的权重索引,WedgeFilter[ReduceIdx]为一个像素点的权重绝对信息对应的新权重值。
可以理解的是,编码器简化GEO的权重映射表,利用可行的数学公式将GEO权重在运算的过程中推导出来,在省去了权重映射表以及查表操作的同时,也隐性实现了原有权重映射表的缩减,使得代码和文本得到进一步的简化,也降低了权重映射表的存储开销。
S107、使用第一预测值、第一权重值、第二预测值和第二权重值进行当前块内像素点的加权融合,得到当前块的帧间预测值。
在本申请实施例中,编码器可以根据每个像素点的第一预测值与第一权重值相乘,加上对应的每个像素点的第二预测值与第二权重值之积,完成对当前块内像素点的加权融合,得到当前块的帧 间预测值。
需要说明的是,第一预测值和第二预测值为当前块内的各个像素点对饮的两个预测值,第一权重值和第二权重值也是分别都对应了当前块的各个像素点的不同的两种权重值。
当前块的帧间预测值的获取可以采用表达式(23)得到,如下所示:
pbSamples[x][y]=Clip3(0,(1<<bitDepth)–1,(predSamplesLPART1[x][y]*(8–sampleWeight1)+predSamplesLPART2[x][y]*sampleWeight2+offset1)>>shift1)  (23)
其中,pbSamples[x][y]为当前块的每个像素点的帧间预测值,predSamplesLPART1[x][y]为每个像素点的第一预测值,sampleWeight1为每个像素点的第一权重值,predSamplesLPART2[x][y]为每个像素点的第二预测值,sampleWeight2为每个像素点的第二权重值。
在本申请的一些实施例中,编码器在进行当前块的帧间预测时,是对视频分量分别进行预测的,也就是说,第一预测值和第二预测值均为包括亮度预测值和色度预测值的。
在本申请实施例中,编码器可以先进行亮度分量的权重值的获取,而色度分量的权重值则可以依据亮度分量的权重值得到。
本申请前述的第一权重和第二权重值可以为亮度分量的权重值。
需要说明的是,编码器通过获取每个2*2块的右上角的亮度样本权重直接作为当前(x,y)处的色度样本权重,即对亮度样本权重进行下采样。
示例性的,如图6a所示为亮度的第一权重,对其进行下采样,得到图6b所示的色度的第一权重值,同理,可以根据亮度的第二权重,对其进行下采样后,每个2*2块的右上角的亮度样本的第二权重直接作为当前(x,y)处的色度样本的第二权重。
可以理解的是,编码器在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。
在本申请的一些实施例中,如图7所示,当前块的GEO参数包括:角度索引信息和当前块的尺寸信息,本申请实施例提供的一种帧间预测方法中的S104的实现可以包括:
S1041、根据当前块的尺寸信息,确定当前块内像素点的位置信息;
S1042、根据角度索引信息、预设角度映射表,分别结合当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请实施例中,编码器的当前块的尺寸信息包括当前块的高H和当前块的宽W,这样就可以确定出当前块所在的坐标区域,进而确定出当前块内的各个像素点的位置信息,即每个像素点的坐标信息(x,y)了。编码器可以根据角度索引信息、预设角度映射表、当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,编码器可以根据角度索引信息、预设角度映射表、当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引的实现过程为:编码器根据角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;编码器将预设角度映射表的角度进行降幂处理,得到更新角度映射表;编码器根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,分别结合当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
需要说明的是,预设角度映射表为现有技术中采用的角度映射表,如表4所示:
表4
Figure PCTCN2019130838-appb-000004
其中,angleIdx为角度索引信息,Dis[angleIdx]为角度。
在本申请实施例中,编码器将预设角度映射表的角度进行降幂处理,得到更新角度映射表中的角度都是预设角度映射表中的降了一个次幂的角度值。如表5所示:
表5
Figure PCTCN2019130838-appb-000005
其中,编码器中将原预设角度映射表删除,只保留更新角度映射表,这样可以减少存储开销。
在本申请实施例中,编码器根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,分别结合当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引的实现过程中,该编码器需要先根据余弦角度索引信息和正弦角度索引信息确定块中心点到当前分割线的垂直距离rho,再根据余弦角度索引信息、正弦角度索引信息、更新角度映射表、当前块内像素点的位置信息和rho,确定每个像素点的权重索引。
示例性的,余弦角度索引信息的获取可以根据表达式(12)得到,正弦角度索引信息的获取可以根据表达式(13)得到表达式(12)和表达式(13)如下:
displacementX=angleIdx     (12)
displacementY=(displacementX+6)%24  (13)
其中,displacementX为余弦角度索引信息,displacementY为正弦角度索引信息;angleIdx为角度索引信息。
需要说明的是,当前角度所对应的cos(α)索引号为displacementX,以及对应的-sin(α)索引号为displacementY。
rho的获取可以根据表达式(14)得到,表达式(14)如下:
rho=(Dis[displacementX]<<8)+(Dis[displacementY]<<8)  (14)
其中,Dis[displacementX]为余弦角度索引信息对应的余弦角度(第一角度),Dis[displacementY为余弦角度索引信息对应的正弦角度(第二角度),其中,余弦角度和正弦角度是可以根据更新映射表得到的。
当前块的每个像素点的权重索引可以通过表达式(15)得到,表达式(15)如下:
weightIdx=((x<<1)+1)*Dis[displacementX]
+((y<<1)+1))*Dis[displacementY]–rho  (15)
其中,weightIdx为一个像素点的权重索引,x为一个像素点的横坐标值,y为该一个像素点的纵坐标值。一个像素点的位置信息为(x,y)。
可以理解的是,通过得到的索引查取权重映射表获取对应的权重,可以发现以上计算的每一步都需要和角度Dis[displacementX]和Dis[displacementY]相乘,而本方案是通过去掉权重映射表,并设计数学方法隐性地将权重映射表缩减一半,因此需要在计算权重索引和运动索引的每一步上都需要除以2,但是由于角度映射表中的值都是2的幂次方,因此可以通过将角度映射表降幂,实现权重索引和运动索引除以2的操作,并与缩减后的权重映射表对应起来。
在本申请的一些实施例中,本申请实施例提供的一种帧间预测方法的S107之后,该方法还可以包括:
S108、根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,确定运动偏移值,以及根据角度索引信息、步长索引信息和当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值。
S109、根据运动偏移值,运动横坐标偏移值、运动纵坐标偏移值、当前块的左上角的像素点的位置信息、余弦角度索引信息对应的第一角度、正弦角度索引信息对应的第二角度,得到运动索引信息。
S110、当运动索引信息的绝对值小于预设运动索引阈值的一半时,将第一运动信息和第二运动信息确定为当前块的运动信息。
S111、当运动索引信息小于等于0时,将第一运动信息确定为当前块的运动信息。
S112、当运动索引信息大于0时,将第而运动信息确定为当前块的运动信息。
S113、将当前块的运动信息存储在预设合并候选列表中。
在本申请实施例中,编码器在进行当前块的编码时,还需要将当前块的编码的运动信息存储起 来,供后续的编码块进行帧间预测时使用。编码器根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,计算出第一角度和第二角度,再基于第一角度和第二角度,得到运动偏移值;编码器根据运动偏移值,运动横坐标偏移值、运动纵坐标偏移值当前块的左上角的像素点的位置信息、余弦角度索引信息对应的第一角度、正弦角度索引信息对应的第二角度,得到运动索引信息;当运动索引信息的绝对值小于预设运动索引阈值的一半时,编码器将第一运动信息和第二运动信息确定为当前块的运动信息;当运动索引信息小于等于0时,编码器将第一运动信息确定为当前块的运动信息;当运动索引信息大于0时,编码器将第而运动信息确定为当前块的运动信息;将当前块的运动信息存储在预设合并候选列表中。
示例性的,运动偏移值motionOffset的获取可以采用表达式(16)得到,表达式(16)如下:
motionOffset=3*Dis[displacementX]+3*Dis[displacementY]  (16)
在本申请实施例中,由于GEO参数中还包括步长索引信息,因此,编码器可以根据角度索引信息、步长索引信息和当前块的尺寸信息中的,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值的实现在shiftHor==0时,可以采用表达式(17)和(18)实现,表达式(17)和(18)如下:
offsetX=(64-numSbX)>>1  (17)
offsetY=(64-numSbY)>>1+angleIdx<12?(distanceIdx*nCbH)>>3:-((distanceIdx*nCbH)>>3)(18)
其中,offsetX为运动横坐标偏移值,offsetY为运动纵坐标偏移值,angleIdx为角度索引信息,distanceIdx为步长索引信息,numSbX为当前块的运动掩码矩阵的宽,numSbY为当前块的运动掩码矩阵的高,nCbW和nCbH表示当前块的宽和高。
在本申请实施例中,由于GEO参数中还包括步长索引信息,因此,编码器可以根据角度索引信息、步长索引信息和当前块的尺寸信息中的,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值的实现在shiftHor==1时,可以采用表达式(19)和(20)实现,表达式(19)和(20)如下:
offsetX=(64-numSbX)>>1+angleIdx<12?(distanceIdx*nCbW)>>3:-((distanceIdx*nCbW)>>3)(19)
offsetY=(64-numSbY)>>1  (20)
其中,offsetX为运动横坐标偏移值,offsetY为运动纵坐标偏移值,angleIdx为角度索引信息,distanceIdx为步长索引信息,numSbX为当前块的运动掩码矩阵的宽,numSbY为当前块的运动掩码矩阵的高,nCbW和nCbH表示当前块的宽和高。
示例性的,在本申请实施例中,编码器根据运动偏移值,运动横坐标偏移值、运动纵坐标偏移值、当前块的左上角的像素点的位置信息、余弦角度索引信息对应的第一角度、正弦角度索引信息对应的第二角度,得到运动索引信息的实现可以通过表达式(21)得到,表达式(21)如下:
motionIdx=(((xSbIdx+offsetX)<<3)+1)*Dis[displacementX]+(((ySbIdx+offsetY<<3)+1))*Dis[displacementY]–rho+motionOffset  (21)
其中,motionIdx为运动索引信息,当前块的左上角的像素点的位置信息(xSbIdx,ySbIdx),offsetX为运动横坐标偏移值,offsetY为运动纵坐标偏移值,Dis[displacementX]为第一角度,Dis[displacementY]为第二角度,rho也是根据第一角度和第二角度得到的块中心点到当前分割线的垂直距离,motionOffset为运动偏移值。
需要说明的是,ShiftHor为水平偏移,其值为0,Y轴上需要多偏移,其值为1,X轴上需要多偏移。
如果(angleIdx%12==6)||(angleIdx%12!=0&&hwRatio≥1),ShiftHor=0;
否则,ShiftHor=1。
在本申请的一些实施例中,编码器可以根据当前运动掩码矩阵,从第一运动信息和第二运动信息中确定当前块的运动信息并存储在预设合并候选列表中。
在本申请的一些实施例中,编码器还可以运动索引信息,确定当前块的运动信息。当运动索引信息的绝对值小于预设运动索引阈值的一半时,将第一运动信息和第二运动信息确定为当前块的运动信息;当运动索引信息小于等于0时,将第一运动信息确定为当前块的运动信息;当运动索引信息大于0时,将第而运动信息确定为当前块的运动信息;将当前块的运动信息存储在预设合并候选列表中。
假设当前块为16×16,编码器根据每个4×4子块处的abs(motionIdx)的大小,来判断当前子块存储单向还是双向的。
示例性的,如果abs(motionIdx)<16,当前块存储构造的双向的运动信息,即第一运动信息和第 二运动信息;
如果(motionIdx)<=0,当前块存储第一个分区的第一运动信息;
如果(motionIdx)>0,当前块存储第二个分区的第二运动信息。
其中,预设运动索引阈值为32。
需要说明的是,在本申请实施例中,编码器是可以先进行运动掩码矩阵的获取,再根据运动横坐标偏移值和运动纵坐标偏移值,从预设运动掩码矩阵中剪裁得到当前块的当前运动掩码矩阵。
示例性的,如图8所示的预设运动掩码矩阵1,基于划分模式的不同,角度ψ、步长ρ、offsetX和offsetY的不同,可以从1中采用当前块的尺寸A,剪裁出不同的当前运动掩码矩阵2、3和4。
需要说明的是,由于GEO继承TPM存储运动信息的方式,GEO模式的运动信息的存储仍然是以4×4的小块为单位进行存储的,所以GEO预定义的运动掩码矩阵的大小为56*56,每个4×4小块的运动信息由其左上角的点处的加权权重决定,最后将计算出的所有4×4小块的运动掩码存储到56×56的矩阵中。具体的,编码器通过表达式(16)得到运动偏移值motionOffset,根据56×56中的每个像素点的位置信息(x,y),motionOffset、rho、第一角度和第二角度,得到全部运动索引信息motionIdx1。如表达式(22)所示:
motionIdx1=((x<<3)+1)*Dis[displacementX]+((y<<3+1))*Dis[displacementY]–rho+motionOffset(22)
其中,56×56的预设运动掩码矩阵中的运动信息对应的掩码是基于abs(motionIdx1)和motionIdx1决定的。
示例性的,如果abs(motionIdx)<16,当前4×4子块的运动掩码为2(表征双向运动信息);
否则,
如果(motionIdx)<=0,当前4×4子块的运动掩码为0(表征第一运动信息);
如果(motionIdx)>0,当前4×4子块的运动掩码为1(表征第二运动信息)。
需要说明的是,本申请实施例中,实际上总共有7个预存的掩码矩阵(包括加权权重掩码矩阵和运动掩码矩阵),分别对应0-90之间的7个角度的第一种步长过块中心点的情况。其余角度的预存掩码矩阵通过这七个矩阵在水平或者垂直方向上镜像得到,以此来降低存储空间。
可以理解的是,本申请实施例提供的帧间预测方法在基于GEO的VVC参考软件VTM7.0_common_base上实现以后,在Random Access条件下对JVET要求的测试序列进行测试,在Y,Cb,Cr分量上BD-rate没有任何变化(同Anchor性能一致),这一数据说明该简化方案不会对编码性能有任何影响,并且降低了权重表的存储,以及简化了文本描述和代码的实现。在时间复杂度方面,由于GEO预定义权重矩阵是针对每一个序列在编解码开始前只计算一次,因此本方案所带来的三目运算符的操作并不会对总体的编解码时间复杂度带来影响,可以说时间复杂度基本保持不变。
本申请实施例提供一种帧间预测方法,该方法应用于视频解码设备,即解码器。该方法所实现的功能可以通过视频解码设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该视频编码设备至少包括处理器和存储介质。
图9为本申请实施例一种帧内预测方法的实现流程示意图,如图10所示,该方法包括:
S201、解析码流,确定当前块的预测解码参数。
S202、当预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数。
S203、根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值。
S204、根据GEO参数,确定当前块内像素点对应的权重索引。
S205、对当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,嵌位处理是将当前块内像素点对应的权重索引的最大值嵌位至预设数值的一半。
S206、基于当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值。
S207、使用第一预测值、第一权重值、第二预测值和第二权重值确定当前块内像素点的加权融合,得到当前块的帧间预测值。
在本申请的一些实施例中,解码器基于当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值的具体实现可以包括以下五种方式。
方式一:当权重索引绝对信息小于预设索引阈值时,解码器对权重索引绝对信息结合第一数 值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;当权重索引绝对信息大于等于预设索引阈值时,解码器对权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;解码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;解码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
方式二:解码器将权重索引绝对信息结合第一数值、权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;解码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;解码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
方式三:解码器将权重索引绝对信息结合第一数值、8-权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
方式四:解码器根据权重索引绝对信息,从预设权重映射表中,查找得到权重索引绝对信息对应的权重值;其中,预设权重映射表是对当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;解码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;解码器根据第一权重值,得到第二分区对应的当前块内像素点的第二权重值。
方式五:当权重索引绝对信息小于预设索引阈值时,解码器对权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引;当权重索引绝对信息大于等于预设索引阈值时,解码器对权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引;解码器从预设新权重映射表中,获取新权重索引对应的新权重值;当权重索引信息小于等于0时,解码器将新权重值确定为权重索引绝对信息对应的权重值;当权重索引信息大于0时,解码器将8-新权重值确定为权重索引绝对信息对应的权重值;解码器根据权重索引绝对信息对应的权重值和当前块内像素点对应的权重索引,确定第一分区对应的当前块内像素点的第一权重值;解码器根据第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请实施例中,解码器从码流中,解析出当前块对应的角度索引信息、第一分区对应的第一参考块的第一运动信息、第二分区对应的第二参考块的第二运动信息和步长索引信息;分别根据第一运动信息和第二运动信息进行运动补偿,得到第一分区对应的第一单向预测值和第二分区对应的第二单向预测值。
其中,预设数值为26;预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2。
在本申请实施例中,解码器的S201-S207的实现与编码器侧的实现S101-S107的过程基本一致,这里不再赘述。
不同的是,解码器侧的当前块的预测解码参数和GEO参数都是从码流中解析出来的。而编码器则是自己获取的。
可以理解的是,解码器在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。
在本申请的一些实施例中,当前块的GEO参数包括:角度索引信息和当前块的尺寸信息;本申请实施例提供的一种帧间预测方法中的S204的实现可以包括:
S2041、根据当前块的尺寸信息,确定当前块内像素点的位置信息。
S2042、根据角度索引信息、预设角度映射表,分别结合当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,解码器可以根据角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;将预设角度映射表的角度进行降幂处理,得到更新角度映射表;根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,分别结合当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请实施例中,解码器的S2041-S2042的实现与编码器侧的实现过程的S1041-S1042基本一致,这里不再赘述。
可以理解的是,通过得到的索引查取权重映射表获取对应的权重,可以发现以上计算的每一步都需要和角度Dis[displacementX]和Dis[displacementY]相乘,而本方案是通过去掉权重映射表,并设计数学方法隐性地将权重映射表缩减一半,因此需要在计算权重索引和运动索引的每一步上都需要除以2,但是由于角度映射表中的值都是2的幂次方,因此可以通过将角度映射表降幂,实现权重索引和运动索引除以2的操作,并与缩减后的权重映射表对应起来。
S208、根据余弦角度索引信息、正弦角度索引信息、更新角度映射表,确定运动偏移值,以及根据角度索引信息、步长索引信息和当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值;
S209、根据运动偏移值,运动横坐标偏移值、运动纵坐标偏移值、当前块的左上角的像素点的位置信息、余弦角度索引信息对应的第一角度、正弦角度索引信息对应的第二角度,得到运动索引信息;
S210、当运动索引信息的绝对值小于预设运动索引阈值的一半时,将第一运动信息和第二运动信息确定为当前块的运动信息;
S211、当运动索引信息小于等于0时,将第一运动信息确定为当前块的运动信息;
S212、当运动索引信息大于0时,将第而运动信息确定为当前块的运动信息;
S213、将当前块的运动信息存储在预设合并候选列表中。
在本申请实施例中,解码器的S208-S213的实现与编码器侧的实现S108-S113的过程基本一致,这里不再赘述。
其中,预设运动索引阈值为32。
可以理解的是,本申请实施例提供的帧间预测方法在基于GEO的VVC参考软件VTM7.0_common_base上实现以后,在Random Access条件下对JVET要求的测试序列进行测试,在Y,Cb,Cr分量上BD-rate没有任何变化(同Anchor性能一致),这一数据说明该简化方案不会对编码性能有任何影响,并且降低了权重表的存储,以及简化了文本描述和代码的实现。在时间复杂度方面,由于GEO预定义权重矩阵是针对每一个序列在编解码开始前只计算一次,因此本方案所带来的三目运算符的操作并不会对总体的编解码时间复杂度带来影响,可以说时间复杂度基本保持不变。
如图10所示,本申请实施例提供一种编码器1,包括:
第一确定单元10,用于确定当前块的预测模式参数;当所述预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;根据所述GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
第一嵌位单元11,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;
所述第一确定单元10,还用于基于所述当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;
第一预测单元12,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值。
在本申请的一些实施例中,所述当前块的GEO参数包括:角度索引信息和当前块的尺寸信息;
所述第一确定单元10,还用于根据所述当前块的尺寸信息,确定所述当前块内像素点的位置信息;根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,所述第一确定单元10,还用于根据所述角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;将所述预设角度映射表的角度进行降幂处理,得到所述更新角度映射表;根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,所述第一确定单元10,还用于当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理后,再加上预设权重数 值,得到权重索引绝对信息对应的权重值;当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的所述第二权重值。
在本申请的一些实施例中,所述第一确定单元10,还用于将所述权重索引绝对信息结合第一数值、所述权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第一确定单元10,还用于将所述权重索引绝对信息结合第一数值、8-所述权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第一确定单元10,还用于根据所述权重索引绝对信息,从预设权重映射表中,查找得到所述权重索引绝对信息对应的权重值;其中,所述预设权重映射表是对所述当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第一确定单元10,还用于当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引信息;当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引信息;从预设新权重映射表中,获取与所述新权重索引信息对应的新权重值;当所述权重索引信息小于等于0时,将所述新权重值确定为权重索引绝对信息对应的权重值;当所述权重索引信息大于0时,将8-所述新权重值确定为权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述编码器1还包括:写入单元13和第一存储单元14(图中均未示出);
所述写入单元13,用于所述使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值之后,将所述角度索引信息写入码流;
所述第一确定单元10,还用于根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,确定运动偏移值,以及根据所述角度索引信息、步长索引信息和所述当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值;根据运动偏移值,所述运动横坐标偏移值、所述运动纵坐标偏移值、当前块的左上角的像素点的位置信息、所述余弦角度索引信息对应的第一角度、所述正弦角度索引信息对应的第二角度,得到运动索引信息;当所述运动索引信息的绝对值小于预设运动索引阈值的一半时,将所述第一运动信息和所述第二运动信息确定为所述当前块的运动信息;当所述运动索引信息小于等于0时,将所述第一运动信息确定为所述当前块的运动信息;当所述运动索引信息大于0时,将所述第而运动信息确定为所述当前块的运动信息;
所述第一存储单元14,用于将所述当前块的运动信息存储在预设合并候选列表中。
在本申请的一些实施例中,所述预设数值为26;预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2;预设运动索引阈值为32。
在实际应用中,如图11所示,本申请实施例还提供了一种编码器,包括:
第一存储器15和第一处理器16;
所述第一存储器15存储有可在第一处理器16上运行的计算机程序,所述第一处理器16执行所述程序时编码器侧的帧间预测方法。
可以理解的是,编码器在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对 应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。
如图12所示,本申请实施例提供一种解码器2,包括:
解析单元20,用于解析码流,确定当前块的预测解码参数;
第二确定单元21,用于当所述预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数;根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
第二嵌位单元22,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的最大值嵌位至预设数值的一半;
所述第二确定单元21,还用于基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值;
第二预测单元23,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值确定所述当前块内像素点的加权融合,得到当前块的帧间预测值。
在本申请的一些实施例中,所述当前块的GEO参数包括:角度索引信息和当前块的尺寸信息;
所述第二确定单元21,还用于根据所述当前块的尺寸信息,确定所述当前块内像素点的位置信息;根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,所述第二确定单元21,还用于根据所述角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;将所述预设角度映射表的角度进行降幂处理,得到所述更新角度映射表;根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
在本申请的一些实施例中,所述第二确定单元21,还用于当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第二确定单元21,还用于将所述权重索引绝对信息结合第一数值、所述权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第二确定单元21,还用于将所述权重索引绝对信息结合第一数值、8-所述权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第二确定单元21,还用于根据所述权重索引绝对信息,从预设权重映射表中,查找得到权重索引绝对信息对应的权重值;其中,所述预设权重映射表是对所述当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述第二确定单元21,还用于当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引信息; 当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引信息;从预设新权重映射表中,获取与所述新权重索引信息对应的新权重值;当所述权重索引信息小于等于0时,将所述新权重值确定为权重索引绝对信息对应的权重值;当所述权重索引信息大于0时,将8-所述新权重值确定为权重索引绝对信息对应的权重值;根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
在本申请的一些实施例中,所述解码器2还包括第二存储单元24(图中未示出);
所述第二确定单元21,还用于所述采用所述第一单向预测值、所述第一权重值、所述第二单向预测值和所述第二权重值进行各个像素点的加权融合,得到当前块的预测值之后,根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,确定运动偏移值,以及根据所述角度索引信息、步长索引信息和所述当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值;根据运动偏移值,所述运动横坐标偏移值、所述运动纵坐标偏移值、当前块的左上角的像素点的位置信息、所述余弦角度索引信息对应的第一角度、所述正弦角度索引信息对应的第二角度,得到运动索引信息;当所述运动索引信息的绝对值小于预设运动索引阈值的一半时,将所述第一运动信息和所述第二运动信息确定为所述当前块的运动信息;当所述运动索引信息小于等于0时,将所述第一运动信息确定为所述当前块的运动信息;当所述运动索引信息大于0时,将所述第而运动信息确定为所述当前块的运动信息;
所述第二存储单元24,用于将所述当前块的运动信息存储在预设合并候选列表中。
在本申请的一些实施例中,所述预设数值为26;预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2;预设运动索引阈值为32。
在实际应用中,如图13所示,本申请实施例还提供了一种解码器,包括:
第二存储器25和第二处理器26;
所述第二存储器25存储有可在第二处理器26上运行的计算机程序,所述第二处理器25执行所述程序时实现解码器侧的帧间预测方法。
可以理解的是,解码器在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。
相应的,本申请实施例提供了一种存储介质,其上存储有计算机程序,该计算机程序被第一处理器执行时,实现编码器的帧间预测方法;或者,该计算机程序被第二处理器执行时,实现解码器的帧间预测方法。
这里需要指出的是:以上存储介质和装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本申请存储介质和装置实施例中未披露的技术细节,请参照本申请方法实施例的描述而理解。
以上所述,仅为本申请的实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
工业实用性
本申请实施例中,在进行帧间预测的过程中,可以根据GEO参数确定出当前块内像素点对应的权重索引,再通过绝对值的嵌位处理,将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半,这样,缩减了原来嵌位至预设数值的一半的大小,因此,减少了一半权重索引绝对信息对应的权重值的存储和使用,进而简化帧间预测时的文本和代码,并减少了数据存储的开销。

Claims (25)

  1. 一种帧间预测方法,其特征在于,应用于编码器中,包括:
    确定当前块的预测模式参数;
    当所述预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;
    根据所述GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;
    根据所述GEO参数,确定当前块内像素点对应的权重索引;
    对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;
    基于所述当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;
    使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值。
  2. 根据权利要求1所述的方法,其特征在于,所述当前块的GEO参数包括:角度索引信息和当前块的尺寸信息;所述根据所述GEO参数,确定当前块内像素点对应的权重索引,包括:
    根据所述当前块的尺寸信息,确定所述当前块内像素点的位置信息;
    根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引,包括:
    根据所述角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;
    将所述预设角度映射表的角度进行降幂处理,得到所述更新角度映射表;
    根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
  4. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;
    当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的所述第二权重值。
  5. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    将所述权重索引绝对信息结合第一数值、所述权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  6. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    将所述权重索引绝对信息结合第一数值、8-所述权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  7. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    根据所述权重索引绝对信息,从预设权重映射表中,查找得到所述权重索引绝对信息对应的权重值;其中,所述预设权重映射表是对所述当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  8. 根据权利要求1至3任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引信息;
    当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引信息;
    从预设新权重映射表中,获取与所述新权重索引信息对应的新权重值;
    当所述权重索引信息小于等于0时,将所述新权重值确定为权重索引绝对信息对应的权重值;
    当所述权重索引信息大于0时,将8-所述新权重值确定为权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  9. 根据权利要求3所述的方法,其特征在于,所述使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值之后,所述方法还包括:
    将所述角度索引信息写入码流;
    根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,确定运动偏移值,以及根据所述角度索引信息、步长索引信息和所述当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值;
    根据运动偏移值,所述运动横坐标偏移值、所述运动纵坐标偏移值、当前块的左上角的像素点的位置信息、所述余弦角度索引信息对应的第一角度、所述正弦角度索引信息对应的第二角度,得到运动索引信息;
    当所述运动索引信息的绝对值小于预设运动索引阈值的一半时,将所述第一运动信息和所述第二运动信息确定为所述当前块的运动信息;
    当所述运动索引信息小于等于0时,将所述第一运动信息确定为所述当前块的运动信息;
    当所述运动索引信息大于0时,将所述第而运动信息确定为所述当前块的运动信息;
    将所述当前块的运动信息存储在预设合并候选列表中。
  10. 根据权利要求1所述的方法,其特征在于,
    所述预设数值为26;预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2;预设运动索引阈值为32。
  11. 一种帧间预测方法,其特征在于,应用于解码器中,包括:
    解析码流,确定当前块的预测解码参数;
    当所述预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数;
    根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;
    根据所述GEO参数,确定当前块内像素点对应的权重索引;
    对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的最大值嵌位至预 设数值的一半;
    基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值;
    使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值确定所述当前块内像素点的加权融合,得到当前块的帧间预测值。
  12. 根据权利要求11所述的方法,其特征在于,所述当前块的GEO参数包括:角度索引信息和当前块的尺寸信息;所述根据所述GEO参数,确定当前块内像素点对应的权重索引,包括:
    根据所述当前块的尺寸信息,确定所述当前块内像素点的位置信息;
    根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
  13. 根据权利要求12所述的方法,其特征在于,根据所述角度索引信息、预设角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引,包括:
    根据所述角度索引信息,确定出余弦角度索引信息和正弦角度索引信息;
    将所述预设角度映射表的角度进行降幂处理,得到所述更新角度映射表;
    根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,分别结合所述当前块内像素点的位置信息,确定出当前块内像素点对应的权重索引。
  14. 根据权利要求11至13任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;
    当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理后,再加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  15. 根据权利要求11至13任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    将所述权重索引绝对信息结合第一数值、所述权重索引绝对信息是否大于8的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  16. 根据权利要求11至13任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    将所述权重索引绝对信息结合第一数值、8-所述权重索引绝对信息取符号的值后,再进行右移预设位处理,最后加上预设权重数值,得到权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  17. 根据权利要求11至13任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    根据所述权重索引绝对信息,从预设权重映射表中,查找得到权重索引绝对信息对应的权重值;其中,所述预设权重映射表是对所述当前块内像素点对应的权重索引分别进行预设数值的一半内的嵌位处理得到的;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  18. 根据权利要求11至13任一项所述的方法,其特征在于,所述基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值,包括:
    当所述权重索引绝对信息小于预设索引阈值时,对所述权重索引绝对信息结合第一数值进行右移预设位处理,得到新权重索引信息;
    当所述权重索引绝对信息大于等于预设索引阈值时,对所述权重索引绝对信息结合第二数值进行右移预设位处理,得到新权重索引信息;
    从预设新权重映射表中,获取与所述新权重索引信息对应的新权重值;
    当所述权重索引信息小于等于0时,将所述新权重值确定为权重索引绝对信息对应的权重值;
    当所述权重索引信息大于0时,将8-所述新权重值确定为权重索引绝对信息对应的权重值;
    根据所述权重索引绝对信息对应的权重值和所述当前块内像素点对应的权重索引,确定所述第一分区对应的当前块内像素点的第一权重值;
    根据所述第一权重值,得到所述第二分区对应的当前块内像素点的第二权重值。
  19. 根据权利要求13所述的方法,其特征在于,所述采用所述第一单向预测值、所述第一权重值、所述第二单向预测值和所述第二权重值进行各个像素点的加权融合,得到当前块的预测值之后,所述方法还包括:
    根据所述余弦角度索引信息、所述正弦角度索引信息、所述更新角度映射表,确定运动偏移值,以及根据所述角度索引信息、步长索引信息和所述当前块的尺寸信息,得到当前块对应的运动横坐标偏移值和运动纵坐标偏移值;
    根据运动偏移值,所述运动横坐标偏移值、所述运动纵坐标偏移值、当前块的左上角的像素点的位置信息、所述余弦角度索引信息对应的第一角度、所述正弦角度索引信息对应的第二角度,得到运动索引信息;
    当所述运动索引信息的绝对值小于预设运动索引阈值的一半时,将所述第一运动信息和所述第二运动信息确定为所述当前块的运动信息;
    当所述运动索引信息小于等于0时,将所述第一运动信息确定为所述当前块的运动信息;
    当所述运动索引信息大于0时,将所述第而运动信息确定为所述当前块的运动信息;
    将所述当前块的运动信息存储在预设合并候选列表中。
  20. 根据权利要求11所述的方法,其特征在于,
    所述预设数值为26;预设索引阈值为9;第一数值为2;第二数值为3;预设权重数值为4;预设位为2;预设运动索引阈值为32。
  21. 一种编码器,其特征在于,包括:
    第一确定单元,用于确定当前块的预测模式参数;当所述预测模式参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,确定当前块的GEO参数;根据所述GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
    第一嵌位单元,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的绝对值的最大值嵌位至预设数值的一半;
    所述第一确定单元,还用于基于所述当前块内像素点对应的权重索引绝对信息,确定当前块内像素点的第一权重值和当前块内像素点的第二权重值;
    第一预测单元,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值进行所述当前块内像素点的加权融合,得到当前块的帧间预测值。
  22. 一种解码器,其特征在于,包括:
    解析单元,用于解析码流,确定当前块的预测解码参数;
    第二确定单元,用于当所述预测解码参数指示使用帧间几何划分预测模式GEO确定当前块的帧间预测时,解析码流,确定当前块的GEO参数;根据GEO参数,确定当前块的第一分区的第一预测值和当前块的第二分区的第二预测值;根据所述GEO参数,确定当前块内像素点对应的权重索引;
    第二嵌位单元,用于对所述当前块内像素点对应的权重索引分别进行嵌位处理,得到当前块内像素点对应的权重索引绝对信息;其中,所述嵌位处理是将所述当前块内像素点对应的权重索引的最大值嵌位至预设数值的一半;
    所述第二确定单元,用于基于所述当前块内像素点对应的权重索引绝对信息,确定出当前块内像素点的第一权重值和当前块内像素点的第二权重值;
    第二预测单元,用于使用所述第一预测值、所述第一权重值、所述第二预测值和所述第二权重值确定所述当前块内像素点的加权融合,得到当前块的帧间预测值。
  23. 一种编码器,其特征在于,包括:
    第一存储器和第一处理器;
    所述第一存储器存储有可在第一处理器上运行的计算机程序,所述第一处理器执行所述程序时实现权利要求1至10任一项所述帧间预测方法。
  24. 一种解码器,其特征在于,包括:
    第二存储器和第二处理器;
    所述第二存储器存储有可在第二处理器上运行的计算机程序,所述第二处理器执行所述程序时实现权利要求11至20任一项所述帧间预测方法。
  25. 一种存储介质,其特征在于,其上存储有计算机程序,该计算机程序被第一处理器执行时,实现权利要求1至10任一项所述帧间预测方法;或者,该计算机程序被第二处理器执行时,实现权利要求11至20任一项所述帧间预测方法。
PCT/CN2019/130838 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质 WO2021134627A1 (zh)

Priority Applications (8)

Application Number Priority Date Filing Date Title
CN201980099607.0A CN114270846A (zh) 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质
PCT/CN2019/130838 WO2021134627A1 (zh) 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质
CN202210408005.2A CN114666580A (zh) 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质
KR1020227009898A KR20220122969A (ko) 2019-12-31 2019-12-31 인터 예측 방법, 인코더, 디코더 및 저장 매체
EP19958730.4A EP4087248A4 (en) 2019-12-31 2019-12-31 INTER-FRAME PREDICTION METHOD, ENCODER, DECODER AND STORAGE MEDIUM
JP2022526516A JP7460766B2 (ja) 2019-12-31 2019-12-31 インター予測方法、エンコーダー、デコーダー、及び記憶媒体
US17/710,475 US11632554B2 (en) 2019-12-31 2022-03-31 Inter prediction method, encoder, decoder, and storage medium
JP2024043451A JP2024069590A (ja) 2019-12-31 2024-03-19 インター予測方法、エンコーダー、デコーダー、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/130838 WO2021134627A1 (zh) 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/710,475 Continuation US11632554B2 (en) 2019-12-31 2022-03-31 Inter prediction method, encoder, decoder, and storage medium

Publications (1)

Publication Number Publication Date
WO2021134627A1 true WO2021134627A1 (zh) 2021-07-08

Family

ID=76686799

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/130838 WO2021134627A1 (zh) 2019-12-31 2019-12-31 一种帧间预测方法、编码器、解码器及存储介质

Country Status (6)

Country Link
US (1) US11632554B2 (zh)
EP (1) EP4087248A4 (zh)
JP (2) JP7460766B2 (zh)
KR (1) KR20220122969A (zh)
CN (2) CN114666580A (zh)
WO (1) WO2021134627A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113311A1 (zh) * 2022-12-01 2024-06-06 Oppo广东移动通信有限公司 编解码方法、编解码器、码流以及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208818A1 (en) * 2007-10-12 2010-08-19 Thomson Licensing Methods and apparatus for video encoding and decoding geometrically partitioned bii-predictive mode partitions
CN106210501A (zh) * 2015-04-08 2016-12-07 大同大学 图像合成方法与图像处理装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010524396A (ja) 2007-04-12 2010-07-15 トムソン ライセンシング ビデオエンコーダにおける高速な幾何学的なモードの判定方法及び装置
EP2509319A4 (en) * 2009-12-01 2013-07-10 Humax Co Ltd METHOD AND APPARATUS FOR ENCODING / DECODING HIGH RESOLUTION IMAGES
KR20120033951A (ko) * 2010-09-30 2012-04-09 한국전자통신연구원 영상 부호화 방법과 복호화 방법 및 이를 이용한 영상 부호화 장치와 복호화 장치
CN110324623B (zh) * 2018-03-30 2021-09-07 华为技术有限公司 一种双向帧间预测方法及装置
US11317094B2 (en) * 2019-12-24 2022-04-26 Tencent America LLC Method and apparatus for video coding using geometric partitioning mode

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100208818A1 (en) * 2007-10-12 2010-08-19 Thomson Licensing Methods and apparatus for video encoding and decoding geometrically partitioned bii-predictive mode partitions
CN106210501A (zh) * 2015-04-08 2016-12-07 大同大学 图像合成方法与图像处理装置

Non-Patent Citations (4)

* 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-Related: Geometric Merge Mode (GEO) Simplifications", 16. JVET MEETING; 20191001 - 20191011; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-P0107 ; m50057, 25 September 2019 (2019-09-25), XP030216253 *
S. BLASI, A. SEIXAS DIAS, G. KULUPANA (BBC), H. GAO (HUAWEI), S. ESENLIK (HUAWEI), E. ALSHINA (HUAWEI), A. M. KOTRA (HUAWEI), B. W: "CE4-1.10: CIIP with triangular partitions + 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-P0070 ; m50016, 30 September 2019 (2019-09-30), XP030216139 *
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 ), no. JVET-O0489 ; m48614, 27 June 2019 (2019-06-27), XP030219715 *
See also references of EP4087248A4 *

Also Published As

Publication number Publication date
JP7460766B2 (ja) 2024-04-02
US11632554B2 (en) 2023-04-18
EP4087248A4 (en) 2023-07-26
US20220224910A1 (en) 2022-07-14
CN114270846A (zh) 2022-04-01
CN114666580A (zh) 2022-06-24
EP4087248A1 (en) 2022-11-09
KR20220122969A (ko) 2022-09-05
JP2023514469A (ja) 2023-04-06
JP2024069590A (ja) 2024-05-21

Similar Documents

Publication Publication Date Title
KR102046521B1 (ko) 스킵 모드를 이용한 영상 복호화 방법 및 이러한 방법을 사용하는 장치
WO2019148977A1 (en) Methods and apparatuses of video encoding or decoding with adaptive quantization of video data
WO2021196235A1 (zh) 帧间预测方法、编码器、解码器及存储介质
US10574863B2 (en) Video encoding and decoding
US10085028B2 (en) Method and device for reducing a computational load in high efficiency video coding
JP2017535148A (ja) 映像符号化のためのハッシュベースのエンコーダ判断
WO2021196857A1 (zh) 帧间预测方法、编码器、解码器及计算机可读存储介质
WO2021004155A1 (zh) 图像分量预测方法、编码器、解码器以及存储介质
WO2021203841A1 (zh) 一种帧间预测方法、编码器、解码器及存储介质
KR20220100991A (ko) 비디오 필터링 방법 및 장치
US10091514B1 (en) Apparatus and method for inter and intra mode selection and block partitioning
JP2024069590A (ja) インター予測方法、エンコーダー、デコーダー、及び記憶媒体
WO2021196220A1 (zh) 一种帧间预测方法、编码器、解码器及存储介质
WO2021134635A1 (zh) 变换方法、编码器、解码器以及存储介质
WO2021056223A1 (zh) 图像编解码方法、编码器、解码器以及存储介质
CN116868571A (zh) 对于帧间预测的改进的局部光照补偿
WO2021196228A1 (zh) 帧间预测方法、编码器、解码器以及存储介质
US20200267409A1 (en) Early termination of block-matching for collaborative filtering
KR20230070535A (ko) 광 흐름에 의한 예측 개선, 양방향 광 흐름 및 디코더 측 움직임 벡터 개선을 위한 방법들 및 장치들
WO2022140905A1 (zh) 预测方法、编码器、解码器以及存储介质
WO2021196211A1 (zh) 一种帧间预测方法、编码器、解码器及存储介质
CN116391355A (zh) 视频编码中边界处理的方法和设备
WO2024055155A1 (zh) 一种编解码方法、装置、编码器、解码器及存储介质
KR20220113537A (ko) 비디오 코딩 방법 및 장치
TW202209884A (zh) 幀間預測方法、編碼器、解碼器及電腦可讀儲存媒介

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: 19958730

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2022526516

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2019958730

Country of ref document: EP

Effective date: 20220801