WO2022194103A1 - 解码方法、编码方法、装置、设备及存储介质 - Google Patents
解码方法、编码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- WO2022194103A1 WO2022194103A1 PCT/CN2022/080697 CN2022080697W WO2022194103A1 WO 2022194103 A1 WO2022194103 A1 WO 2022194103A1 CN 2022080697 W CN2022080697 W CN 2022080697W WO 2022194103 A1 WO2022194103 A1 WO 2022194103A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coding unit
- motion information
- block
- sub
- current
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/146—Data rate or code amount at the encoder output
- H04N19/147—Data rate or code amount at the encoder output according to rate distortion criteria
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods 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/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N19/159—Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/172—Methods 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 picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods 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 present application relates to video encoding and decoding technologies, and in particular, to a decoding method, an encoding method, an apparatus, a device, and a machine-readable storage medium.
- Complete video coding generally includes operations such as prediction, transformation, quantization, entropy coding, and filtering.
- Prediction can be divided into intra-frame prediction and inter-frame prediction.
- Intra-frame prediction uses the surrounding coded units as a reference to predict the current uncoded unit, effectively removing redundancy in the spatial domain.
- Inter prediction is to use adjacent coded images to predict the current image, effectively removing the redundancy in the temporal domain.
- ATMVP Alternative Temporal Motion Vector Prediction
- VVC Versatile Video Coding
- the present application provides a decoding method, an encoding method, an apparatus, a device, and a machine-readable storage medium.
- a decoding method including: obtaining a value of an enhanced temporal motion vector prediction mode flag bit and an enhanced temporal motion vector prediction mode index value of a current coding unit;
- the value of the temporal motion vector prediction mode flag bit is the first value: according to the coordinate information of the current coding unit, determine the coordinate information of the initial matching coding unit of the current coding unit; coordinate information to construct an enhanced time domain candidate list; according to the enhanced time domain motion vector prediction mode index value, obtain the corresponding enhanced time domain motion vector prediction mode number in the enhanced time domain candidate list, and determine the enhanced time domain motion vector prediction mode number.
- the motion information of each sub-block is determined, and the motion information of the sub-block at the corresponding position in the current coding unit is determined according to the target matching motion information of each sub-block in the coding unit.
- an encoding method comprising: determining the coordinate information of an initially matched encoding unit of the current encoding unit according to the coordinate information of the current encoding unit; according to the coordinate information of the initially matched encoding unit, constructing Enhanced time domain candidate list; traverse each enhanced time domain motion vector prediction mode number in the enhanced time domain candidate list in order, and determine the coordinate information of the target matching coding unit corresponding to each enhanced time domain motion vector prediction mode number;
- the coordinate information of the target matching coding unit determines the motion information of the target matching coding unit, the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit, and according to each sub-block in the target matching coding unit the motion information of the block, to determine the motion information of the sub-block at the corresponding position in the current coding unit; according to the motion information of each sub-block in the current coding unit, perform motion compensation on the corresponding sub-block in the current
- a decoding apparatus including: an acquisition unit configured to acquire the value of the enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value of the current coding unit A first determining unit for determining the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit when the value of the enhanced temporal motion vector prediction mode flag bit is the first numerical value coordinate information; a construction unit, configured to construct an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit; a second determination unit, configured to predict the mode index value according to the enhanced time domain motion vector, in the Obtain the corresponding enhanced temporal motion vector prediction mode number in the enhanced time domain candidate list, and determine the coordinate information of the target matching coding unit corresponding to the enhanced time domain motion vector prediction mode number; The coordinate information of the target matching coding unit determines the motion information of the target matching coding unit, the motion information of the target matching coding unit includes the motion information of each sub-block
- an encoding device comprising: a first determination unit, configured to determine coordinate information of an initially matching encoding unit of the current encoding unit according to the coordinate information of the current encoding unit; a construction unit, configured to According to the coordinate information of the initial matching coding unit, an enhanced time domain candidate list is constructed; the second determination unit is used to traverse each enhanced time domain candidate mode in the enhanced time domain candidate list in order, and determine the corresponding The coordinate information of the target matching coding unit; the third determining unit is used to determine the motion information of the target matching coding unit according to the coordinate information of the target matching coding unit, and the motion information of the target matching coding unit includes in the target matching coding unit The motion information of each sub-block, and the motion information of each sub-block in the coding unit is matched according to the target to determine the motion information of the sub-block at the corresponding position in the current coding unit; the motion compensation unit is used for according to the current coding unit.
- the motion information of each sub-block in the unit is used to perform motion compensation on the corresponding sub-block in the current coding unit; the coding unit is used to calculate the rate-distortion cost value corresponding to the enhanced temporal motion vector prediction mode, and use the rate-distortion cost value Compare with the rate-distortion cost value of other prediction modes, select the prediction mode corresponding to the smallest rate-distortion cost value, and write the corresponding enhanced temporal motion vector prediction mode flag bit and enhanced temporal motion vector prediction mode index value into The code stream is sent to the decoding device.
- a decoding device including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, the The processor is configured to execute machine-executable instructions to implement the decoding method of the first aspect.
- an encoding device including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor, the The processor is configured to execute machine-executable instructions to implement the encoding method of the second aspect.
- a machine-readable storage medium where machine-executable instructions are stored in the machine-readable storage medium, and when the machine-executable instructions are executed by a processor, the first aspect is implemented or the method described in the second aspect.
- the decoding method of the embodiment of the present application obtains the value of the enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value of the current coding unit; when the value of the enhanced temporal motion vector prediction mode flag bit is obtained
- the value is the first value
- the vector prediction mode index value obtains the corresponding enhanced temporal motion vector prediction mode number in the enhanced temporal candidate list, and determines the coordinate information of the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode number; according to the target matching coding unit
- the coordinate information of the target matching coding unit determines the motion information of the target matching coding unit, and the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit, and determines the current coding according to the motion information
- FIG. 1 is a schematic diagram of an encoding and decoding method according to an exemplary embodiment of the present application
- FIG. 2 is a schematic diagram of a Clip operation shown in an exemplary embodiment of the present application.
- FIG. 3 is a schematic flowchart of a decoding method according to an exemplary embodiment of the present application.
- FIG. 4 is a schematic diagram of a reference block when offsetting a matching coding unit according to an exemplary embodiment of the present application
- FIG. 5 is a schematic diagram of a first surrounding block of a current coding unit according to an exemplary embodiment of the present application
- FIG. 6 is a schematic flowchart of another decoding method shown in an exemplary embodiment of the present application.
- FIG. 7 is a schematic structural diagram of a decoding apparatus according to an exemplary embodiment of the present application.
- FIG. 8 is a schematic structural diagram of another decoding apparatus shown in an exemplary embodiment of the present application.
- FIG. 9 is a schematic diagram of a hardware structure of a decoding device shown in an exemplary embodiment of the present application.
- FIG. 10 is a schematic structural diagram of an encoding apparatus according to an exemplary embodiment of the present application.
- FIG. 11 is a schematic diagram of a hardware structure of an encoding device according to an exemplary embodiment of the present application.
- Prediction Signal Refers to the pixel value derived from the encoded and decoded pixels, obtains the residual through the difference between the original pixel and the predicted pixel, and then performs residual transformation quantization and coefficient encoding.
- the predicted pixels between frames refer to the pixel values derived from the reference frame (reconstructed pixel frame) of the current image block. Since the pixel positions are discrete, an interpolation operation is required to obtain the final predicted pixels. The closer the predicted pixel is to the original pixel, the smaller the residual energy obtained by subtracting the two, and the higher the coding compression performance.
- Motion Vector In inter-frame coding, MV is used to represent the relative displacement between the current coding unit and the best matching coding unit in the reference image.
- Each divided block (which may be referred to as a sub-block) has a corresponding motion vector that needs to be transmitted to decoding. If the MV of each sub-block is independently encoded and transmitted, especially if it is divided into sub-blocks of small size, it needs to consume a considerable number of bits.
- the spatial correlation between adjacent image blocks is used in video coding to predict the MV of the current block to be coded according to the MV of the adjacent coded blocks, and then the prediction difference is coded. .
- the MV of the adjacent coded block is generally used to predict the MV of the current image block, and then the MV prediction value (Motion Vector Prediction, MVP for short) and the true value of the motion vector are used to predict the MV of the current image block.
- the difference between the estimates, that is, a motion vector residual (Motion Vector Difference, MVD for short) is encoded, thereby effectively reducing the number of encoded bits of the MV.
- Motion Information Since MV represents the relative displacement between the current coding unit and the best matching coding unit in a reference image, in order to accurately obtain the information pointing to the image block, in addition to the MV information, it is also necessary to pass the reference
- the index information of the picture to indicate which reference picture is used.
- a reference image list is usually established based on certain principles, and the reference image index information indicates which reference image in the reference image list is used by the current image block.
- many coding technologies also support multiple reference picture lists, so an index value is also required to indicate which reference picture list is used, and the index value may be called a reference direction.
- motion-related coding information such as MV, reference frame index, and reference direction is collectively referred to as motion information.
- the motion vector, L0 reference index and L1 reference index are constituted.
- Rate-Distortion Optimized The indicators for evaluating coding efficiency include: code rate and Peak Signal to Noise Ratio (PSNR). The smaller the bit rate, the greater the compression rate; the greater the PSNR, the better the reconstructed image quality. In mode selection, the discriminant formula is essentially a comprehensive evaluation of the two. The cost corresponding to the mode:
- D represents the distortion (Distortion), which is usually measured by the SSE (sum of difference mean square) index
- SSE refers to the mean square sum of the difference between the reconstructed block and the source image block
- ⁇ is the Lagrange multiplier
- R is the The actual number of bits required for image block coding in this mode, including the sum of bits required for coding mode information, motion information, residuals, etc.
- mode selection if the RDO principle is used to make comparison decisions on encoding modes, the best encoding performance can usually be guaranteed.
- BIO BI-directional Optical flow
- the BIO technology uses the gradient information of the pixel values in the forward and backward reference frames to superimpose the optical flow compensation value on the current coding unit.
- the technical details of the BIO may be as follows:
- ⁇ x (i,j), ⁇ y (i,j) and ⁇ (i,j) are calculated as follows:
- I 0 (x, y) and I (1) (x, y) are the forward motion compensation value and the backward motion compensation value and their extension values.
- the extension method can be copying from the motion compensation value of the block boundary, or it can be obtained from the reference pixel position.
- ⁇ x (i, j) and ⁇ y (i, j) are the rate of change of the horizontal and vertical components of the pixel in the forward reference frame and the backward reference frame.
- ⁇ (i, j) represents the pixel difference between the forward motion compensation value and its extension value and the backward motion compensation value and its extension value.
- ⁇ is the left shift operator
- "x>y?z:a" indicates that when “x>y” is established, the value is z, and when "x>y” is not established, the value is a
- m and th BIO are all thresholds
- r is a regular term to avoid division by 0.
- S1, S2, S3, S5 and S6 are the gradient sums of the pixels, and clip3 means that the value inside is guaranteed to be between -th BIO and th BIO .
- (x, y) is the coordinate of each pixel in the current coding unit
- I 0 (x, y) and I (1) (x, y) are the forward motion compensation value and the backward motion compensation value and its extension value.
- BIO (x,y) (I (0) (x,y)+I (1) (x,y)+b+1)>>1
- I 0 (x, y) and I (1) (x, y) are the forward motion compensation value and the backward motion compensation value.
- Decoder-side Motion Vector Refinement (DMVR for short): The decoding motion vector adjustment technology DMVR is applied in direct mode or skip mode.
- the luminance image block of the current coding unit is divided into non-overlapping and adjacent sub-blocks, and the initial MVs of all sub-blocks are MV0 and MV1.
- the initial MVs of all sub-blocks are MV0 and MV1.
- For each sub-block take the position corresponding to the initial MV0 and MV1 as the center, and start to find the position with the smallest template matching distortion within a certain range nearby.
- the calculation method of template matching distortion is to calculate the sub-block starting from the center position in the forward search area.
- the SAD Sud of Absolute Differences, sum of absolute differences
- the confirmation of the sub-pixel position uses the template matching distortion values of five places in the optimal position of the integer position, its left side, its right side, its upper side, and its lower side to estimate the quadratic distortion plane near the optimal position of the integer position.
- the position with the least distortion in the distortion plane is calculated as the sub-pixel position. Its calculation formula is as follows:
- Horizontal sub-pixel position (sad_left-sad_right)*N/((sad_right+sad_left-2*sad_mid)*2)
- sad_mid, sad_left, sad_right, sad_top, and sad_btm are the template matching distortion values of the optimal position of the integer position, its left side, its right side, its top, and its bottom, respectively, and N is the precision.
- video coding generally includes processes such as prediction, transformation, quantization, and entropy coding. Further, the coding process can also be implemented according to the framework of (b) in FIG. 1 . .
- Intra-frame prediction is to use the surrounding coded blocks as a reference to predict the current uncoded block, and effectively remove the redundancy in the spatial domain.
- Inter prediction is to use adjacent coded images to predict the current image, effectively removing the redundancy in the temporal domain.
- Transformation refers to converting an image from the spatial domain to the transform domain, and using transformation coefficients to represent the image. Most images contain more flat areas and slowly changing areas. Appropriate transformation can transform the image from a scattered distribution in the spatial domain to a relatively concentrated distribution in the transform domain, remove the frequency domain correlation between signals, and cooperate with The quantization process can effectively compress the code stream.
- Entropy coding is a lossless coding method that can convert a series of element symbols into a binary code stream for transmission or storage.
- the input symbols may include quantized transform coefficients, motion vector information, prediction mode information, and transform and quantization correlation. grammar, etc. Entropy coding can effectively remove the redundancy of video element symbols.
- video decoding usually includes entropy decoding, prediction, inverse quantization, inverse transformation, filtering and other processes.
- the implementation principles of each process are the same as entropy coding or resemblance.
- the implementation of the existing ATMVP technology mainly includes the following processes:
- Temporal Motion Vector Prediction Temporal Motion Vector Prediction, referred to as TMVP: determine whether the motion information of the A0 position of the current coding unit satisfies the following conditions:
- the prediction mode of the A0 position is the inter-frame mode
- the reference frame index of the A0 position is consistent with the reference frame index of the co-located frame of the current frame (the L0 direction is judged first, and then the L1 direction is judged).
- the A0 position is the position of (xCb-1, yCb+CbHeight-1); (xCb, yCb) is the coordinate of the upper left corner of the current unit, and CbHeight is the height of the current coding unit.
- the precision of the TMVP obtained in step 1) is 1/16, and it needs to be shifted by 4 bits to the right to convert it into an integer pixel.
- the position of the reference block needs to be clipped to the current LCU (Largest Coding Unit, the largest coding unit) within the range of the co-located LCU in the reference frame, that is, when the position of the reference block is not within the current LCU in the reference frame.
- the reference block is horizontally shifted or/and vertically shifted to just within the range of the co-located LCU of the current LCU in the reference frame, as shown in FIG. 2 .
- the position of the center reference block is calculated as follows:
- xColCb Clip3(xCtb, Min(PicWidth-1, xCtb+(1 ⁇ CtbLog2Size)+3), xColCtrCb+(tempMv[0]>>4))
- yColCb Clip3(yCtb, Min(PicHeight-1, yCtb+(1 ⁇ CtbLog2Size)-1), yColCtrCb+(tempMv[1]>>4))
- (xColCb, yColCb) is the coordinate of the upper left corner of the center reference block
- (xCtb, yCtb) is the coordinate of the upper left corner of the co-located LCU of the current LCU in the reference frame
- PicWidth and PicHeight are the width and height of the current frame, respectively
- CtbLog2Size is the base of 2, taking the logarithm of the size of the current LCU
- (xColCtrCb, yColCtrCb) is the coordinate of the center position of the current coding unit
- tempMv[0] and tempMv[1] are the horizontal motion vector and vertical motion vector of the A0 position, respectively Motion vector.
- step 3 determine the prediction mode of the central reference block, if the prediction mode is a non-inter prediction mode, then both ctrPredFlagL0 and ctrPredFlagL1 are 0; otherwise, that is, the prediction mode is an inter prediction mode, go to step 4).
- the coding unit corresponding to the adjacent coding unit of the current coding unit can be found in the Co-located (co-located) frame by the motion information of the adjacent blocks of the current coding unit, and then the coding unit corresponding to the adjacent coding unit of the current coding unit can be The motion information of each sub-block in the coding unit at the corresponding position in the Co-located frame is provided to each sub-block in the current coding unit for use.
- Finding the coding unit corresponding to the current coding unit in the co-located frame depends on the motion information of the surrounding coding units of the current coding unit.
- the motion information of the coding unit is also unreliable, which affects the codec performance.
- the embodiment of the present application uses the motion information of the co-located coding unit in the current coding unit in the co-located frame to determine the matching coding unit, and uses the found matching coding unit to A series of offsets such as up, down, left, and right are performed to generate multiple time-domain candidate modes, which avoids to a certain extent the problem of inaccurate matching coding units due to inaccurate motion information of surrounding coding units.
- the main implementation process of this embodiment of the present application may include the following 6 parts:
- the first part (can be denoted as A), according to the encoding/decoding conditions of the current coding unit, encode/parse the Enhanced Temporal Motion Vector Prediction (ETMVP) mode flag and the Enhanced Temporal Motion Vector prediction mode index value;
- ETMVP Enhanced Temporal Motion Vector Prediction
- the second part (can be marked as B), determine the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit;
- the third part (can be denoted as C), constructs an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit;
- the fourth part (can be denoted as D), according to the index value of the enhanced temporal motion vector prediction mode, obtain the corresponding enhanced temporal motion vector prediction mode in the enhanced temporal candidate mode list, and determine the enhanced temporal motion vector prediction mode
- the corresponding target matches the coordinate information of the coding unit.
- the fifth part (can be marked as E), obtains the motion information of each sub-block in the current coding unit according to the coordinate information of the target matching coding unit;
- motion compensation is performed on the corresponding sub-block in the current coding unit.
- FIG. 3 is a schematic flowchart of a decoding method provided by an embodiment of the present application, wherein the decoding method may be applied to a decoding device.
- the decoding method may include the following steps:
- Step S300 Obtain the value of the enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value of the current coding unit.
- the current coding unit may be any coding unit in the image to be processed.
- the image to be processed may be divided into different coding units, and then each coding unit may be processed sequentially in a certain order.
- the size and shape of each coding unit may be set according to preset division rules.
- the value of the enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value of the current coding unit may be acquired.
- the value of the flag bit of the enhanced temporal motion vector prediction mode of the current coding unit may be obtained by parsing from the code stream, or derived under the condition that the current coding unit satisfies certain conditions.
- the enhanced temporal motion vector prediction mode index value of the current coding unit may be obtained by parsing from the code stream, or derived under the condition that the current coding unit satisfies certain conditions.
- steps S310 to S340 are performed.
- the value of the enhanced temporal motion vector prediction mode flag bit may include a value (herein referred to as a first value, such as 1) for indicating that the enhanced temporal motion vector prediction mode is enabled.
- Step S310 Determine the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit.
- the acquired value of the enhanced temporal motion vector prediction mode flag of the current coding unit is the first value, it can be determined that the enhanced temporal motion vector prediction mode is enabled in the current coding unit.
- the determination of the initial matching coding unit coordinate information is performed.
- the coordinate information of the initially matching coding unit of the current coding unit may be determined according to the coordinate information of the current coding unit.
- the coordinate information of the initially matched coding unit may be the coordinate information of the initially matched coding unit in the corresponding reference image, such as the coordinates of the upper left corner.
- Step S320 Construct an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit.
- the enhanced time domain candidate list may be constructed according to the coordinate information of the initially matched coding unit.
- the enhanced temporal candidate list includes at least one enhanced temporal motion vector prediction mode number.
- coordinate information of matching coding units corresponding to different enhanced temporal motion vector prediction mode numbers may be different.
- Step S330 according to the enhanced time domain motion vector prediction mode index value obtained, obtain the corresponding enhanced time domain motion vector prediction mode number in the enhanced time domain candidate list, and determine the target corresponding to the enhanced time domain motion vector prediction mode number Match the coordinate information of the coding unit.
- the corresponding enhanced temporal motion vector prediction mode number may be obtained in the enhanced temporal candidate list, and the corresponding enhanced temporal motion vector prediction mode number may be determined. Coordinate information of the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode number.
- the target matching coding unit may include an initial matching coding unit, or a matching coding unit obtained by performing up/down/left/right offsets on the initial matching coding unit.
- the coordinate information of the target matching coding unit may be consistent with the coordinate information of the initially matching coding unit, or obtained by adjusting according to a preset offset on the basis of the coordinate information of the initially matching coding unit.
- Step S340 determine the motion information of the target matching coding unit according to the coordinate information of the target matching coding unit, the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit, and according to each sub-block in the target matching coding unit.
- the motion information of the block determines the motion information of the sub-block at the corresponding position in the current coding unit.
- the motion information of the target matching coding unit may be determined according to the coordinate information of the target matching coding unit.
- the motion information of the target matching coding unit includes motion information of each sub-block in the target matching coding unit.
- the motion information of the sub-block at the corresponding position in the current coding unit may be determined according to the motion information of each sub-block in the target matching coding unit. For example, according to the motion information of the sub-block at the h-th row and the l-th column in the target matching coding unit, the motion information of the sub-block at the h-th row and the first column in the current coding unit is determined.
- step S300 acquiring the value of the enhanced temporal motion vector prediction mode flag of the current coding unit may include: when the current coding unit satisfies the first parsing condition, parsing the enhancement from the code stream the value of the flag bit of the temporal motion vector prediction mode; otherwise, it is determined that the value of the flag bit of the enhanced temporal motion vector prediction mode is the second value, and the value of the flag bit of the enhanced temporal motion vector prediction mode is the second value indicating that the current The coding unit does not enable enhanced temporal motion vector prediction mode.
- the enhanced temporal motion vector prediction mode may not be applicable,
- the value of the field motion vector prediction mode flag does not need to be parsed from the code stream, but can be derived.
- the first parsing condition determines whether the current coding unit satisfies a specified condition (referred to herein as the first parsing condition). It is possible to determine the value of the enhanced temporal motion vector prediction mode flag bit for parsing the current coding unit from the code stream, or, derive Obtain the value of the enhanced temporal motion vector prediction mode flag of the current coding unit.
- the value of the enhanced temporal motion vector prediction mode flag bit of the current coding unit is parsed from the code stream; when the current coding unit does not satisfy the first parsing condition, it can be It is not necessary to parse the value of the enhanced temporal motion vector prediction mode flag of the current coding unit from the code stream, but it can be determined that the current coding unit does not enable the enhanced temporal motion vector prediction mode, and the enhanced temporal motion vector of the current coding unit
- the value of the prediction mode flag is a value used to indicate that the current coding unit does not enable the enhanced temporal motion vector prediction mode (herein referred to as the second value).
- the above-mentioned current coding unit satisfies the first parsing condition, which may include one or more of the following: the prediction mode of the current coding unit is skip mode or direct mode; the size of the current coding unit satisfies a preset size limit; the sequence
- the high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction techniques; the current coding unit satisfies the angle-weighted prediction usage condition or satisfies the advanced motion vector representation usage condition.
- the coding unit may be determined whether the coding unit is suitable for use according to whether the prediction mode and/or size of the coding unit meets the requirements. .
- the current coding unit may be determined that the current coding unit does not enable the enhanced temporal motion vector prediction technique.
- the prediction mode of the current coding unit may be skip mode or direct mode, the size of the current coding unit satisfies a preset size limit, and the sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion
- the current coding unit satisfies the Angle Weight Prediction (AWP) use condition or the Advanced Motion Vector Expression (Ultimate Motion Vector Expression, UMVE) use condition and other conditions are met, determine The current coding unit satisfies the first parsing condition.
- ADP Angle Weight Prediction
- UMVE Advanced Motion Vector Expression
- the higher layer syntax allows the current coding unit to enable enhanced temporal motion vectors
- the prediction technique or, when the current coding unit satisfies the angle-weighted prediction use condition or the advanced motion vector expression use condition, it is determined that the current coding unit satisfies the first parsing condition.
- the prediction mode of the current coding unit is the skip mode or the direct mode, it is determined that the current coding unit satisfies the first parsing condition.
- the size of the current coding unit satisfies a preset size limit, it is determined that the current coding unit satisfies the first parsing condition.
- the sequence-level high-level syntax allows the current coding unit to enable the enhanced temporal motion vector prediction technique, it is determined that the current coding unit satisfies the first parsing condition.
- the current coding unit when the current coding unit satisfies the angle-weighted prediction use condition or the advanced motion vector expression use condition, it is determined that the current coding unit satisfies the first parsing condition.
- the prediction mode of the current coding unit is skip mode or direct mode
- the size of the current coding unit satisfies the preset size limit
- the sequence-level high layer syntax allows the current coding unit to enable the enhanced temporal motion vector prediction technology, the above-mentioned
- the prediction mode of the current coding unit may be skip mode or direct mode, the size of the current coding unit satisfies a preset size limit, the sequence-level higher layer syntax allows the current coding unit to enable the enhanced temporal motion vector prediction technique, and the current coding unit
- the unit satisfies the angle-weighted prediction use condition or the advanced motion vector expression use condition, that is, when both of the above conditions are met, it is determined that the current coding unit satisfies the first parsing condition.
- the size of the current coding unit satisfies the preset size limit may include that both the width and the height of the current coding unit are greater than or equal to N0.
- N0 8.
- the size of the current coding unit satisfies the preset size limit is only a specific example of the relevant implementation in the embodiment of the present application, and does not limit the protection scope of the present application.
- the current The size of the coding unit satisfies the preset size restriction and may also include other situations, such as the width of the current coding unit is greater than or equal to N0, the height of the current coding unit is greater than or equal to N0, or, the height and width of the current coding unit are greater than or equal to N0 , and the width and height are not equal to N0 and so on.
- the current coding unit satisfies the conditions for using angle-weighted prediction, which may include: the sequence-level high-level syntax allows the current coding unit to enable the angle-weighted prediction technique; the width and height of the current coding unit are both greater than or equal to N1, and the width of the current coding unit and The heights are all less than or equal to N2; the current image frame type is B image.
- the current coding unit satisfies the advanced motion vector expression usage condition, which may include: the sequence-level high-level syntax allows the current coding unit to enable the advanced motion vector expression technology.
- the current coding unit satisfying the first parsing condition includes: the prediction mode of the current coding unit is skip mode or direct mode; the size of the current coding unit satisfies the size restriction: both the width and height of the current coding unit are greater than or equal to N0 ; Sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction technology; the current coding unit satisfies the use condition of angle-weighted prediction or meets the use condition of advanced motion vector expression.
- the enhanced temporal motion vector prediction mode flag may employ context-based binary arithmetic coding and employ a context model.
- the enhanced temporal motion vector prediction mode flag may employ context-based binary arithmetic coding and employ multiple context models.
- the multiple context models may be determined according to the size of the current coding unit.
- the size of the current coding unit may include, but is not limited to, the width and/or height of the current coding unit, the maximum or minimum value in the width and height of the current coding unit, or the product of the width and height of the current coding unit, etc. .
- step S300 acquiring the enhanced temporal motion vector prediction mode index value of the current coding unit may include: when the current coding unit satisfies the second parsing condition, parsing the enhanced temporal motion vector prediction from the code stream mode index value; otherwise, determine the enhanced temporal motion vector prediction mode index value as a third value.
- the third value of the enhanced temporal motion vector prediction mode index value indicates that the current coding unit does not enable the enhanced temporal motion vector prediction mode.
- the enhanced temporal motion vector prediction mode index value It does not need to be parsed from the code stream, but can be derived.
- the enhanced temporal motion vector prediction mode index value can be parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode can be determined
- the index value is a third numerical value
- the enhanced temporal motion vector prediction mode index value is a third numerical value indicating that the current coding unit does not enable the enhanced temporal motion vector prediction mode.
- the third numerical value may be the same as the above-mentioned first numerical value or the second numerical value, or the third numerical value may be different from both the above-mentioned first numerical value and the second numerical value.
- the current coding unit satisfies the second parsing condition, which may include one or more of the following: the prediction mode of the current coding unit is skip mode or direct mode; the current coding unit enables the enhanced temporal motion vector prediction mode.
- the inverse binarization method of the enhanced temporal motion vector prediction mode index value adopts a truncated unary code with a maximum value of 4, uses a maximum of 4 binary symbol strings, and each binary symbol adopts a separate context model, There are a total of 4 context models.
- the inverse binarization method of the enhanced temporal motion vector prediction mode index value adopts a truncated unary code with a maximum value of 4, and uses a maximum of 4 binary symbol strings, each Each binary symbol adopts a separate context model, a total of 4 context models.
- cu_etmvp_cand_index is the index value of the enhanced temporal motion vector prediction mode.
- step S310 determining the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit includes: determining the temporal reference image where the matching coding unit is located according to the current image frame type ; According to the coordinate information of the current coding unit, determine the coordinate information of the initial matching coding unit in the temporal reference image.
- the frame type (that is, the current image frame type) of the image (herein referred to as the current image) where the current coding unit is located may be determined, and the frame type of the current image is determined Match the temporal reference picture where the coding unit is located.
- the time domain reference image is a reference image with a reference frame index value of 0 in the reference image queue 0 (ie List0); if the current image frame type is a B image, the time domain reference image is The reference picture is the reference picture whose reference frame index value is 0 in the reference picture queue 1 (ie, List1).
- the coordinate information of the initial matching coding unit in the temporal reference image may be determined according to the coordinate information of the current coding unit.
- the coordinate information of the current coding unit is the coordinates of the upper left corner of the current coding unit in the current image
- the coordinate information of the matching coding unit is the coordinates of the upper left corner of the matching coding unit in the temporal reference image.
- the matching coding unit may include an initial matching coding unit or a target matching coding unit, that is, if not specified below, the coordinate information of the initially matching coding unit may refer to the upper left corner coordinate of the initial matching coding unit, and the target The coordinate information of the matching coding unit may refer to the coordinates of the upper left corner of the target matching coding unit.
- determining the coordinate information of the initial matching coding unit in the temporal reference image according to the coordinate information of the current coding unit may include: according to the coordinates of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit , the size of the current image, the size of the current coding unit, and the coordinates of the upper left corner of the current coding unit in the image, to determine the coordinate information of the initially matched coding unit.
- a maximum coding unit may include one or more coding units.
- the coordinates of the current coding unit can be determined according to the coordinates of the upper left corner of the current largest coding unit in the image, the size of the largest coding unit, the size of the current coding unit, the size of the current image, and the coordinates of the upper left corner of the current coding unit in the image. Match the coordinate information of the coding unit.
- the initial matching is determined according to the coordinates of the upper left corner of the current largest coding unit in the image, the size of the largest coding unit, the size of the current image, the size of the current coding unit, and the coordinates of the upper left corner of the current coding unit in the image.
- the coordinate information of the coding unit may include: according to the abscissa of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the width of the current coding unit, the width of the current image, the horizontal coordinate of the upper left corner of the current coding unit in the image Coordinates, determine the abscissa of the initial matching coding unit; according to the upper left corner ordinate of the current maximum coding unit in the image, the size of the maximum coding unit, the height of the current coding unit, the height of the current image, the current coding unit is in the upper left of the image From the angular ordinate, determine the ordinate of the initially matched coding unit.
- the coordinate information of the current coding unit is the coordinates of the upper left corner of the current coding unit in the current image
- the coordinate information of the matching coding unit is the coordinates of the upper left corner of the matching coding unit in the temporal reference image.
- the right direction is the positive direction of the horizontal axis of the coordinate system
- the downward direction is the positive direction of the vertical axis of the coordinate system (the same below) as an example.
- (Xpos, Ypos) are the coordinates of the upper left corner of the current coding unit in the image
- (x_ctb_pos, y_ctb_pos) are the coordinates of the upper left corner of the current largest coding unit in the image
- cu_width and cu_height are the widths of the current coding unit, respectively and height
- horizontal_size and vertical_size are the width and height of the current image, respectively
- lcu_size is the size of the largest coding unit
- the coordinates (Mx, My) of the matching coding unit are derived as follows:
- Mx Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),((Xpos+4)>>3) ⁇ 3)
- (Xpos, Ypos) are the coordinates of the upper left corner of the current coding unit in the image
- (x_ctb_pos, y_ctb_pos) are the coordinates of the upper left corner of the current largest coding unit in the image
- cu_width and cu_height are the coordinates of the current coding unit, respectively.
- width and height, horizontal_size and vertical_size are the width and height of the current image respectively
- lcu_size is the size of the largest coding unit
- the coordinates (Mx, My) of the matching coding unit are derived as follows:
- Mx min(((Xpos+4)>>3) ⁇ 3,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width))
- step S320 constructing an enhanced temporal candidate list according to the coordinate information of the initially matched coding unit may include: determining at least one enhanced temporal motion vector prediction mode number according to the coordinate information of the initially matched coding unit; An enhanced temporal candidate list is constructed according to at least one enhanced temporal motion vector prediction mode number.
- the at least one enhanced temporal motion vector prediction mode number may include an enhanced temporal motion vector prediction mode number corresponding to the coordinate information of the initially matched coding unit, and one or more of the enhanced temporal motion vector prediction mode numbers obtained by offsetting the initially matched coding unit.
- the enhanced temporal motion vector prediction mode numbers corresponding to multiple new matching coding units (if available) of .
- an enhanced temporal candidate list may be constructed according to the at least one enhanced temporal motion vector prediction mode number.
- the length of the enhanced time domain candidate list may be initialized to 0, that is, the initial length of the enhanced time domain candidate list is 0.
- the length of the enhanced temporal candidate list may increase according to an increase in the number of added enhanced temporal motion vector prediction mode numbers.
- the coordinate information of the matching coding unit is the upper left corner coordinate of the matching coding unit in the temporal reference image;
- the above-mentioned construction of the enhanced temporal candidate list according to at least one enhanced temporal motion vector prediction mode number may include: The enhanced temporal motion vector prediction mode number 0 is added to the enhanced temporal candidate list, and the length of the enhanced temporal candidate list is increased by 1;
- Mx+8 is less than or equal to the smaller of x_ctb_pos+lcu_size-cu_width and horizontal_size-cu_width, and the motion information of the A1 position is different from the motion information of the B2 position, or the motion information of the A3 position is different from the motion information of the B4 position, Then add the enhanced time domain motion vector prediction mode number 2 to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- the enhanced temporal motion vector prediction mode number 3 is added to the enhanced In the time-domain candidate list, the length of the enhanced time-domain candidate list is increased by 1;
- the enhanced temporal motion vector prediction mode number 4 is added to the enhanced In the time domain candidate list, the length of the enhanced time domain candidate list is increased by 1.
- (Mx, My) the coordinate information of the initially matching coding unit
- (x_ctb_pos, y_ctb_pos) is the coordinate of the upper left corner of the current maximum coding unit in the image
- lcu_size is the size of the maximum coding unit
- cu_width and cu_height are respectively
- horizontal_size and vertical_size are the width and height of the current image, respectively.
- A1 is the 4*4 block in the upper left corner of the initial matching coding unit
- B1 is the 4*4 block on the left side of A1
- C1 is the 4*4 block directly above A1
- A2 is the upper right corner of the initial matching coding unit.
- B2 is the 4*4 block on the right side of A2
- C2 is the 4*4 block directly above A2
- A3 is the 4*4 block in the lower left corner of the initial matching coding unit
- B3 is the 4*4 block on the right side of A3 *4 block
- C3 is the 4*4 block directly below A3
- A4 is the 4*4 block in the lower right corner of the initial matching coding unit
- B4 is the 4*4 block directly to the right of A4
- C4 is the 4*4 block directly below A4 block, the schematic diagram of which can be shown in Figure 4.
- the offset unit is 8 pixels as an example.
- the matching coding unit is shifted downward, the matching coding unit is shifted downward by 8 pixels.
- a new matching coding unit is obtained by performing up/down/left/right offsets on the matching coding unit, and a candidate matching coding unit is added to add new candidate motion information.
- the matching coding unit is shifted downward to obtain a new match. There is a high probability that the motion information of the coding unit will be the same as the motion information of the original matching coding unit, and new motion information may not be obtained by this offset.
- the motion information of the A1 position and the motion information of the C3 position can be compared respectively, and the motion information of the A2 position and the motion information of the C4 position can be compared respectively, and when at least one of the two comparison results is inconsistent, it can be determined by downward
- the offset can obtain new motion information, that is, the matching coding unit obtained by the downward offset can be used as a candidate matching coding unit.
- the boundary of the new matching coding unit obtained after the offset does not exceed the maximum code where the matching coding unit (the matching coding unit before the offset) is located in the offset direction.
- the coordinate range corresponding to the unit does not exceed the boundary of the largest coding unit in the offset direction, and does not exceed the coordinate range corresponding to the image where the matching coding unit is located, that is, does not exceed the boundary of the image in the offset direction.
- the boundary in the offset direction is the upper boundary; for the downward offset, the boundary in the offset direction is the lower boundary; for the left offset, the boundary in the offset direction is is the left border; for a right offset, the border in the direction of the offset is the right border.
- the offset ordinate (that is, My+8) needs to be less than or equal to y_ctb_pos+lcu_size-cu_height (that is, The lower boundary of the new matching coding unit obtained after the offset does not exceed the lower boundary of the largest coding unit where the matching coding unit before the offset is located).
- the ordinate after the offset must be less than or equal to vertical_size-cu_height (The lower boundary of the new matching coding unit obtained after offset does not exceed the lower boundary of the image where the matching coding unit before offset is located), that is, My+8 must be less than or equal to the smaller of y_ctb_pos+lcu_size-cu_height and vertical_size-cu_height value.
- step S320 constructing an enhanced time-domain candidate list according to the coordinate information of the initially matched coding unit, which may further include: when the length of the enhanced time-domain candidate list is less than 5, cyclically perform the following operations until the enhanced time-domain candidate list is reached.
- the list length is equal to 5: Add the enhanced temporal motion vector prediction mode number that is the same as the last enhanced temporal motion vector prediction mode number in the current enhanced temporal candidate list to the enhanced temporal candidate list, and add 1 to the length of the enhanced temporal candidate list .
- the candidate matching coding units may include The matching coding unit of , and the 4 matching coding units obtained by matching, that is, the length of the enhanced time-domain candidate list is 5.
- the length of the enhanced time-domain candidate list constructed in the above manner is less than 5
- the length of the enhanced time-domain candidate list can be extended to 5 through a strategy.
- the enhanced temporal motion vector prediction mode number that is the same as the last enhanced temporal motion vector prediction mode number in the current enhanced temporal candidate list may be added to the enhanced temporal candidate.
- the length of the enhanced time domain candidate list is increased by 1; this operation is performed cyclically until the length of the enhanced time domain candidate list is equal to 5.
- the corresponding enhanced temporal motion vector prediction mode number is obtained in the enhanced temporal motion vector candidate list, and the target matching corresponding to the enhanced temporal motion vector prediction mode number is determined.
- the coordinate information of the coding unit which can include:
- (Mx, My) are the coordinates of the upper left corner of the initial matching coding unit
- (Px, Py) are the coordinates of the upper left corner of the target matching coding unit.
- a new matching coding unit is obtained by shifting the matching coding unit up/down/left/right by n pixels as an example.
- n 8.
- the enhanced temporal motion vector prediction mode number corresponding to the initially matched coding unit is 0, the enhanced temporal motion vector prediction mode number corresponding to the matching coding unit obtained by the downward offset is 1, and the obtained by shifting to the right.
- the enhanced temporal motion vector prediction mode number corresponding to the matching coding unit is 2, the enhanced temporal motion vector prediction mode number corresponding to the matching coding unit obtained by the upward offset is 3, and the enhancement time corresponding to the matching coding unit obtained by shifting to the left is enhanced.
- the domain motion vector prediction mode number is 4.
- the corresponding enhanced temporal motion vector prediction mode number can be obtained from the enhanced temporal domain candidate list according to the enhanced temporal motion vector prediction mode index value obtained in step S300 .
- the target matching coding unit is a temporal reference coding unit obtained by shifting the initial matching coding unit downward by n pixels as a whole, that is, Px is equal to Mx, and Py is equal to My. +n.
- the target matching coding unit is a temporal reference coding unit obtained by shifting the entire initial matching coding unit to the right by n pixels, that is, Px is equal to Mx+n, and Py is equal to My.
- the target matching coding unit is a temporal reference coding unit obtained by shifting the initial matching coding unit upward by n pixels, that is, Px is equal to Mx, and Py is equal to My-n.
- the target matching coding unit is a temporal reference coding unit obtained by shifting the entire initial matching coding unit to the left by n pixels, that is, Px is equal to Mx-n, and Py is equal to My.
- step S340 according to the motion information of each sub-block in the target matching coding unit, determine the motion information of the sub-block at the corresponding position in the current coding unit, which may include: for any sub-block in the target matching coding unit block, when the current image frame type is P image, if the forward motion information of the subblock is available, the forward motion information of the subblock will be stretched to the first frame pointing to List0, and the stretched forward motion information will be scaled to the first frame of List0.
- the motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- step S340 according to the motion information of each sub-block in the target matching coding unit, determine the motion information of the sub-block at the corresponding position in the current coding unit, which may include: for any sub-block in the target matching coding unit Block, if the current image frame type is a B image, if the forward motion information and backward motion information of the subblock are available, then the forward motion information and backward motion information of the subblock are respectively scaled to point to List0 The first frame and the first frame of List1, the forward motion information and backward motion information after scaling are respectively assigned to the sub-block of the corresponding position of the current coding unit; if the forward motion information of the sub-block is available, but the backward motion If the information is not available, the forward motion information of the subblock is scaled to the first frame pointing to List0, and the scaled forward motion information is given to the subblock at the corresponding position of the current coding unit; if the backward motion of the subblock If the information is available, but the forward motion information
- the motion information of each sub-block of the current coding unit for any sub-block in the target matching coding unit, it may be determined whether the motion information of the sub-block is available.
- the current image frame type is a P image
- the forward motion information of the sub-block can be judged respectively. Whether motion information and backward motion information are available.
- the forward motion information of the sub-block can be scaled to point to the first frame of List0, and the The scaled forward motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- the backward motion of the sub-block can be The information is scaled to point to the first frame of List1, and the scaled backward motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- the The forward motion information and backward motion information of the sub-block are respectively stretched to point to the first frame of List0 and the first frame of List1, and the stretched forward motion information and backward motion information are respectively assigned to the corresponding positions of the current coding unit sub-block.
- step S340 according to the motion information of each sub-block in the target matching coding unit, determine the motion information of the sub-block at the corresponding position in the current coding unit, which may include: for any sub-block in the target matching coding unit If the forward motion information of the sub-block is unavailable, when the forward motion information of the first surrounding block of the current coding unit is available, the forward motion information of the first surrounding block is The forward motion information is stretched to the first frame pointing to List0, and the stretched forward motion information is given to the sub-block at the corresponding position of the current coding unit; when the forward motion information of the first surrounding block is unavailable, zero motion information is given to the current coding unit.
- the sub-block at the corresponding position of the coding unit when the current image frame type is a B image, if the forward motion information and backward motion information of the sub-block are both unavailable, when the first surrounding block of the current coding unit is in front of the
- the forward motion information and backward motion information of the first surrounding block are scaled to point to the first frame of List0 and the first frame of List1 respectively, and the scaled forward motion information and backward motion information are respectively assigned to the sub-blocks corresponding to the current coding unit; when the forward motion information of the first surrounding block is available, but the backward motion information is not available, the forward motion information of the first surrounding block is scaled to point to The first frame of List0, and assign the stretched forward motion information to the sub-block at the corresponding position of the current coding unit; when the backward motion information of the first surrounding block is available, but the forward motion information is not available, the first surrounding block The backward motion information is scaled to point to the first frame of List1, and
- the motion information of the sub-blocks in the current coding unit may also be determined according to the motion information of the surrounding blocks of the current coding unit (referred to as the first surrounding blocks herein).
- the first surrounding blocks of the current coding unit may include, but are not limited to, any decoded adjacent blocks or non-adjacent blocks of the current coding unit.
- the first surrounding block of the current coding unit may be as shown in FIG. 5 .
- E is the current coding unit, and the first surrounding block of the current coding unit may include any block among A, B, C, D, F and G.
- a coding unit includes at least one sub-block, the width of each sub-block does not exceed the width of the current coding unit, and the height of each sub-block does not exceed the height of the current coding unit, for example, each sub-block is an 8*8 block.
- the first surrounding block of the current coding unit is F in FIG. 5 .
- the size of F may be 8*8, that is, the first surrounding block is an 8*8 block adjacent to the lower left corner of the current coding unit.
- the size of F may be 4*4, that is, the first surrounding block is a 4*4 block adjacent to the lower left corner of the current coding unit.
- the current image frame type is a P image
- the forward motion information of the sub-block of the target matching coding unit is unavailable, the current Motion information of sub-blocks of a coding unit.
- the current image frame type is a B image
- the motion information of the block determines the motion information of the sub-block of the current coding unit.
- Zero motion information may be assigned to sub-blocks corresponding to the current coding unit.
- the forward motion information and backward motion information of the sub-block in the target matching coding unit are not available, and the forward motion information and backward motion information of the first surrounding block are not available.
- zero motion information may be assigned to the sub-block at the corresponding position of the current coding unit.
- Step S340 after determining the motion information of the sub-block at the corresponding position in the current coding unit according to the motion information of each sub-block in the target matching coding unit, the following steps may be further included: Step S350. Perform motion compensation on the corresponding sub-block in the current coding unit according to the motion information of each sub-block in the current coding unit.
- motion compensation may be performed on the corresponding subblock in the current coding unit according to the motion information of each subblock in the current coding unit. For example, motion compensation may be performed on the sub-block in the h-th row and the l-th column in the current coding unit according to the motion information of the sub-block in the h-th row and the l-th column in the current coding unit.
- step S350 performing motion compensation on the corresponding sub-block in the current coding unit according to the motion information of each sub-block in the current coding unit may include: for any sub-block of the current coding unit, performing motion compensation on the sub-block The motion information of the sub-block is not decoded by the motion vector adjustment technique; if the sub-block satisfies the bidirectional optical flow condition, motion compensation is performed on the sub-block according to the motion information of the sub-block, and the bi-directional optical flow technique is used to superimpose the compensated pixel value. stream offset value to obtain the prediction sample matrix of the sub-block; otherwise, perform motion compensation on the sub-block according to the motion information of the sub-block to obtain the prediction sample matrix of the sub-block.
- the prediction samples of the current coding unit are composed of prediction samples of each sub-block.
- the sub-block satisfies the bidirectional optical flow conditions including: sequence-level high-level syntax allows bidirectional optical flow technology to be enabled; the motion vector precision of the current coding unit is equal to 0; the sub-block adopts bi-directional prediction; the reference picture queue of the sub-block is 0
- the reference frame with the reference frame index value of refIdxL0 and the reference frame with the reference index value of refIdxL1 in the reference picture queue 1 are respectively located on both sides of the current frame in display order.
- the embodiment of the present application also provides an encoding method, wherein the encoding method can be applied to an encoding device, and the method can include the following steps:
- T100 Determine, according to the coordinate information of the current coding unit, the coordinate information of the initially matching coding unit of the current coding unit.
- the specific implementation may be step S310 in the embodiment shown in FIG. 3 , and details are not described herein again in this embodiment of the present application.
- T110 Construct an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit.
- the specific implementation may be step S320 in the embodiment shown in FIG. 3 , which is not repeated in this embodiment of the present application.
- T120 Traverse each enhanced temporal motion vector prediction mode number in the enhanced temporal candidate list in order, and determine the coordinate information of the target matching coding unit corresponding to each enhanced temporal motion vector prediction mode number.
- the encoding device may traverse the number of candidate enhanced temporal motion vector prediction mode numbers in the enhanced temporal domain candidate list.
- the encoding device can determine the coordinate information of the corresponding target matching coding unit according to the candidate enhanced temporal motion vector prediction mode number.
- the specific implementation can be implemented in the embodiment shown in FIG. 3 . Step S330 is not repeated in this embodiment of the present application.
- T130 Determine the motion information of the target matching coding unit according to the coordinate information of the target matching coding unit, where the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit, and each sub-block in the target matching coding unit according to the target matching coding unit
- the motion information of the sub-block at the corresponding position in the current coding unit is determined.
- the specific implementation may be step S340 in the embodiment shown in FIG. 3 , which is not repeated in this embodiment of the present application.
- T140 Perform motion compensation on the corresponding sub-block in the current coding unit according to the motion information of each sub-block in the current coding unit.
- the specific implementation may be step S350 in the embodiment shown in FIG. 6 , which is not repeated in this embodiment of the present application.
- T150 Calculate the rate-distortion cost value corresponding to the enhanced temporal motion vector prediction mode, compare the rate-distortion cost value with the rate-distortion cost values of other prediction modes, select the prediction mode corresponding to the smallest rate-distortion cost value, and The corresponding enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value are written into the code stream and transmitted to the decoding device.
- the encoding device may determine the prediction mode with the smallest rate-distortion cost value based on the RDO decision, and determine the value of the enhanced temporal motion vector prediction mode flag bit and the enhancement time according to the prediction mode corresponding to the smallest rate-distortion cost value. domain motion vector prediction mode index value, and write it into the code stream and transmit it to the decoding device.
- the embodiment of the present application provides an enhanced temporal motion information prediction method, which uses the motion information of the co-located coding unit of the current coding unit in the co-located frame to determine the matching coding unit, and performs a series of up, down, left, right, etc. To a certain extent, it avoids the inaccurate problem of finding matching coding units caused by inaccurate motion information of surrounding coding units.
- the main implementation process of this embodiment of the present application may include the following 6 parts:
- the first part encode/analyze the enhanced temporal motion vector prediction mode flag bit and the enhanced temporal motion vector prediction mode index value;
- the second part determine the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit;
- the third part is to construct an enhanced time domain candidate list according to the coordinate information of the initial matching coding unit
- the fourth part according to the index value of the enhanced temporal motion vector prediction mode, obtain the corresponding enhanced temporal motion vector prediction mode in the enhanced temporal candidate mode list, and determine the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode coordinate information.
- the fifth part obtains the motion information of each sub-block in the current coding unit according to the coordinate information of the target matching coding unit;
- motion compensation is performed on the corresponding sub-block in the current coding unit.
- the first part encoding/parsing the enhanced temporal motion vector prediction mode flag and the enhanced temporal motion vector prediction mode index value
- parsing the enhanced temporal motion vector prediction mode flag and the enhanced temporal motion vector prediction mode index value may include: 1), parsing the enhanced temporal motion vector prediction mode flag (which may be denoted as etmvp_flag); 2), Parse the enhanced temporal motion vector prediction mode index value (can be denoted as cu_etmvp_cand_index).
- the enhanced temporal motion vector prediction mode flag is parsed from the code stream, otherwise, the enhanced temporal motion vector prediction mode flag is 0 ( That is, the above-mentioned second numerical value is 0).
- Embodiments 5 to 10 Exemplarily, for cases where the current coding unit satisfies the parsing condition 1, reference may be made to Embodiments 5 to 10, respectively.
- the current coding unit satisfies parsing condition 1, including: the current coding unit is in skip mode or direct mode.
- the current coding unit satisfies parsing condition 1, including that the size of the current coding unit satisfies one of the following constraints (ie, the above-mentioned preset size constraints): both the width and height of the current coding unit are greater than or equal to N0.
- N0 8.
- the current coding unit satisfies parsing condition 1, including: the sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction technology.
- the current coding unit satisfies parsing condition 1, including: the current coding unit satisfies the angle-weighted prediction use condition or the advanced motion vector expression use condition.
- the angle-weighted prediction usage conditions may include: the sequence-level high-level syntax allows the current coding unit to enable the angle-weighted prediction technique; the width and height of the current coding unit are both greater than or equal to N1, and both the width and height of the current coding unit are less than or equal to N2; the current picture frame type is B picture.
- N1 8.
- N2 64.
- the current coding unit satisfying the advanced motion vector expression usage condition includes: the sequence-level high-level syntax allows the current coding unit to enable the advanced motion vector expression technology.
- the current coding unit satisfies parsing condition 1, including:
- the current coding unit is skip mode or direct mode
- the width and height of the current coding unit are both greater than or equal to N0.
- N0 8
- sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction technology.
- the current coding unit satisfies parsing condition 1, including:
- the current coding unit is skip mode or direct mode
- the width and height of the current coding unit are both greater than or equal to N0.
- N0 8
- sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction technology.
- the current coding unit satisfies the use condition of angle weighted prediction or the use condition of advanced motion vector expression.
- the angle-weighted prediction usage conditions may include:
- sequence-level high-level syntax allows the current coding unit to enable the angle-weighted prediction technology
- the width and height of the current coding unit are all greater than or equal to N1, and the width and height of the current coding unit are all less than or equal to N2;
- the current image frame type is B image.
- N1 8.
- N2 64.
- the current coding unit satisfying the advanced motion vector expression usage condition includes: the sequence-level high-level syntax allows the current coding unit to enable the advanced motion vector expression technology.
- the current encoding unit satisfying the parsing condition 1 is not limited to the situation described in the fifth embodiment to the tenth embodiment above, and it may also include the embodiments from the fifth embodiment to the eighth embodiment.
- the situation obtained by combining any two of the above, and the situation obtained by combining any three is Embodiment 9).
- the enhanced temporal motion vector prediction mode flag bit is parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode flag bit takes the value 0.
- the enhanced temporal motion vector prediction mode flag bit adopts context-based binary arithmetic coding.
- the enhanced temporal motion vector prediction mode flag bit is parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode flag bit takes the value 0.
- the enhanced temporal motion vector prediction mode flag bit adopts context-based binary arithmetic coding, and adopts one context model.
- the enhanced temporal motion vector prediction mode flag bit is parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode flag bit takes the value 0.
- the enhanced temporal motion vector prediction mode flag bit adopts context-based binary arithmetic coding, and adopts multiple context models.
- the multiple context models may be determined according to the size of the current coding unit.
- the size of the current coding unit may include, but is not limited to, the width and/or height of the current coding unit, the maximum or minimum value in the width and height of the current coding unit, or the product of the width and height of the current coding unit, etc. .
- the enhanced temporal motion vector prediction mode index value is parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode index value is 0 (that is, the above-mentioned second parsing condition).
- the third value is 0).
- Embodiments fifteen to seventeen for cases where the current coding unit satisfies the parsing condition 2, reference may be made to Embodiments fifteen to seventeen, respectively.
- the current coding unit satisfies parsing condition 2, including: the current coding unit is in skip mode or direct mode.
- the current coding unit satisfies parsing condition 2, including: the current coding unit is an enhanced temporal motion vector prediction mode.
- the current coding unit satisfies parsing condition 2, including:
- the current coding unit is skip mode or direct mode
- the current coding unit is the enhanced temporal motion vector prediction mode.
- syntax description of the enhanced temporal motion vector prediction mode index value can be as follows:
- the enhanced temporal motion vector prediction mode index value is parsed from the code stream; otherwise, the enhanced temporal motion vector prediction mode index value is 0 (that is, the above-mentioned second parsing condition).
- the third value is 0).
- the inverse binarization method of the index value of the enhanced temporal motion vector prediction mode adopts a truncated unary code with a maximum value of 4, and uses a maximum of 4 binary symbol strings (bins), and each binary symbol (bin) adopts A separate context model, a total of 4 context models.
- Table 1 may refer to the implementation of inverse binarization of the index value of the enhanced temporal motion vector prediction mode.
- the second part Determine the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit
- determining the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit may include: determining the temporal reference image where the matching coding unit is located according to the current image frame type; Determine the coordinate information of the initial matching coding unit of the current coding unit.
- the temporal reference block in the temporal reference image whose width and height are the same as the width and height of the current coding unit is a matching coding unit of the current coding unit.
- the temporal reference image is a reference image with a reference frame index value of 0 in the reference image queue 0; if the current image frame type is a B image, the temporal reference image is a reference image.
- the coordinate information of the current coding unit may be the coordinates of the upper left corner of the current coding unit in the image (current image); the coordinate information of the matching coding unit may be the coordinates of the upper left corner of the matching coding unit in the temporal reference image.
- determining the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit may include: based on the coordinates of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the size of the current coding unit, The size, the size of the current coding unit, and the coordinates of the upper left corner of the current coding unit in the image, determine the coordinate information of the initially matched coding unit.
- the initial matching coding unit determines the initial matching coding unit.
- the coordinate information including: according to the abscissa of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the width of the current coding unit, the width of the current image, the abscissa of the upper left corner of the current coding unit in the image, determine The abscissa of the initial matching coding unit; according to the ordinate of the upper left corner of the current maximum coding unit in the image, the current maximum coding unit size, the height of the current coding unit, the height of the current image, the ordinate of the upper left corner of the current coding unit in the image , determine the ordinate of the initial matching coding unit.
- (Xpos, Ypos) are the coordinates of the upper left corner of the current coding unit in the image
- (x_ctb_pos, y_ctb_pos) are the coordinates of the upper left corner of the current largest coding unit in the image
- cu_width and cu_height are the width and height of the current coding unit
- horizontal_size and vertical_size are the width and height of the current image respectively
- lcu_size is the size of the largest coding unit
- the coordinates (Mx, My) of the matching coding unit are derived as follows:
- Mx Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),((Xpos+4)>>3) ⁇ 3)
- (Xpos, Ypos) are the coordinates of the upper left corner of the current coding unit in the image
- (x_ctb_pos, y_ctb_pos) are the coordinates of the upper left corner of the current largest coding unit in the image
- cu_width and cu_height are the width and height of the current coding unit
- horizontal_size and vertical_size are the width and height of the current image respectively
- lcu_size is the size of the largest coding unit
- the coordinates (Mx, My) of the matching coding unit are derived as follows:
- Mx min(((Xpos+4)>>3) ⁇ 3,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width))
- (Xpos, Ypos) are the coordinates of the upper left corner of the current coding unit in the image
- (x_ctb_pos, y_ctb_pos) are the coordinates of the upper left corner of the current largest coding unit in the image
- cu_width and cu_height are the width and height of the current coding unit
- horizontal_size and vertical_size are the width and height of the current image respectively
- lcu_size is the size of the largest coding unit
- the coordinates (Mx, My) of the matching coding unit are derived as follows:
- Mx Clip3(x_ctb_pos,min(x_ctb_pos+lcu_size-cu_width,horizontal_size-cu_width),(Xpos>>3) ⁇ 3)
- the third part according to the coordinate information of the initial matching coding unit, construct the enhanced time domain candidate list
- (Mx, My) is the coordinates of the upper left corner of the initial matching coding unit in the temporal reference image
- A1-A4, B1-B4, and C1-C4 are the coordinates of the initial matching coding unit located around the initial matching coding unit in the temporal reference image.
- the schematic diagram of adjacent 4*4 blocks can be shown in Figure 4.
- the matching coding unit where (Mx, My) is located does not exceed the lower boundary of the LCU or image where the matching coding unit is located, and the motion information of the A1 position is different from the motion information of the C3 position, or the motion information of the A2 position is different from the C4 position. If the motion information is different, add the enhanced temporal motion vector prediction mode number 1 to the enhanced temporal candidate list, and add 1 to the length of the enhanced temporal candidate list;
- the matching coding unit where (Mx, My) is located does not exceed the left boundary of the LCU or image where the matching coding unit is located, and the motion information of the A2 position is different from the motion information of the B1 position, or the motion information of the A4 position is different from the B3 position. If the motion information is different, add the enhanced temporal motion vector prediction mode number 4 to the enhanced temporal candidate list, and add 1 to the length of the enhanced temporal candidate list;
- implementation logic may be as follows:
- the matching coding unit where (Mx, My) is located does not exceed the left boundary of the LCU or image where the matching coding unit is located, and the motion information of the A2 position is different from the motion information of the B1 position, or the motion information of the A4 position is different from the B3 position. If the motion information is different, the enhanced temporal motion vector prediction mode number 4 is added to the enhanced temporal candidate list, and the length of the enhanced temporal candidate list is increased by 1.
- the enhanced time domain motion vector prediction mode number 1 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the enhanced time domain motion vector prediction mode number 2 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the enhanced time domain motion vector prediction mode number 3 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the left boundary of the matching coding unit where (Mx-8, My) is located does not exceed the left boundary of the LCU or image where the matching coding unit is located, and the motion information of the A2 position is different from the motion information of the B1 position, or the motion information of the A4 position is different. If the motion information is different from the motion information at the B3 position, the enhanced time domain motion vector prediction mode number 4 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the enhanced time domain motion vector prediction mode number 1 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the enhanced time domain motion vector prediction mode number 2 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the enhanced time domain motion vector prediction mode number 3 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1;
- the left boundary of the matching coding unit where (Mx-8, My) is located does not exceed the left boundary of the LCU or image where the matching coding unit is located, and the motion information of the A2 position is different from the motion information of the B1 position, or the motion information of the A4 position is different. If the motion information is different from the motion information at the position B3, the enhanced time domain motion vector prediction mode number 4 is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1.
- Mx+8 is less than or equal to the smaller of x_ctb_pos+lcu_size-cu_width and horizontal_size-cu_width, and the motion information of the A1 position is different from the motion information of the B2 position, or the motion information of the A3 position and the motion information of the B4 position If different, add the enhanced temporal motion vector prediction mode number 2 to the enhanced temporal candidate list, and add 1 to the length of the enhanced temporal candidate list;
- the temporal motion vector prediction mode number 3 will be enhanced. Add to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- the temporal motion vector prediction mode number 4 will be enhanced. Add to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- Mx+8 is less than or equal to the smaller of x_ctb_pos+lcu_size-cu_width and horizontal_size-cu_width, and the motion information of the A1 position is different from the motion information of the B2 position, or the motion information of the A3 position and the motion information of the B4 position If different, add the enhanced temporal motion vector prediction mode number 2 to the enhanced temporal candidate list, and add 1 to the length of the enhanced temporal candidate list;
- the temporal motion vector prediction mode number 3 will be enhanced. Add to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- the temporal motion vector prediction mode number 4 will be enhanced. It is added to the enhanced time domain candidate list, and the length of the enhanced time domain candidate list is increased by 1.
- the fourth part according to the index value of the enhanced temporal motion vector prediction mode, obtain the corresponding enhanced temporal motion vector prediction mode in the enhanced temporal candidate mode list, and determine the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode coordinate information of
- the corresponding enhanced temporal motion vector prediction mode number (which can be denoted as etmvp_mode) is obtained in the enhanced temporal candidate list, and according to the enhanced time domain
- the domain motion vector prediction mode number etmvp_mode determines the position coordinates (Px, Py) of the target matching coding unit.
- etmvp_mode EtmvpCandArray[EtmvpCandIndex].
- the position coordinates (Px, Py) of the target matching coding unit are determined by looking up the table.
- the correspondence between etmvp_mode and Px and Py can be shown in Table 2:
- n may be 8.
- the target matching coding unit is the initial matching coding unit, that is, Px is equal to Mx, and Py is equal to My;
- the target matching coding unit is a temporal reference block obtained by shifting the initial matching coding unit downward by n pixels as a whole, that is, Px is equal to Mx, and Py is equal to My+n;
- the target matching coding unit is a temporal reference block obtained by shifting the entire initial matching coding unit to the right by n pixels, that is, Px is equal to Mx+n, and Py is equal to My;
- the target matching coding unit is a temporal reference block obtained by shifting the initial matching coding unit upward by n pixels as a whole, that is, Px is equal to Mx, and Py is equal to My-n;
- the target matching coding unit is a temporal reference block obtained by shifting the entire initial matching coding unit to the left by n pixels, that is, Px is equal to Mx-n, and Py is equal to My.
- n may be 8.
- the fifth part obtain the motion information of each sub-block in the current coding unit according to the coordinate information of the target matching coding unit
- the motion information of the target matching coding unit can be determined according to the coordinate information of the target matching coding unit, and the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit;
- the motion information of the block determines the motion information of the sub-block at the corresponding position of the current coding unit.
- the first surrounding block of the current coding unit may be as shown in FIG. 5 .
- E is the current coding unit
- the first surrounding block of the current coding unit may include any block among A, B, C, D, F and G.
- a coding unit includes at least one sub-block, the width of each sub-block does not exceed the width of the current coding unit, and the height of each sub-block does not exceed the height of the current coding unit, for example, each sub-block is an 8*8 block.
- the first surrounding block of the current coding unit is F in FIG. 5 .
- the motion information of each 8*8 sub-block is denoted as MotionArray[i][j], and i is the sub-block level.
- the forward motion information and the backward motion information of the sub-block are available, then the forward motion information and the backward motion information of the sub-block are respectively scaled to point to the first frame of List0 and the first frame of List1, assigning the stretched forward motion information and backward motion information to the sub-blocks at the corresponding positions of the current coding unit respectively;
- the forward motion information of the sub-block is available, but the backward motion information is not available, then the forward motion information of the sub-block is scaled to the first frame pointing to List0, and the scaled forward motion information is given to the frame.
- the sub-block at the corresponding position of the current coding unit;
- the backward motion information of the sub-block is available, but the forward motion information is not available, then the backward motion information of the sub-block is scaled to the first frame pointing to List1, and the scaled backward motion information is given to the frame.
- the sub-block at the corresponding position of the current coding unit;
- this embodiment of the present application may not limit the default motion information, for example, the default motion information may be zero motion information or motion information derived from surrounding blocks of the current coding unit.
- this embodiment of the present application may not limit the default motion information, for example, the default motion information may be zero motion information or motion information derived from surrounding blocks of the current coding unit.
- this embodiment of the present application may not limit the default motion information, for example, the default motion information may be zero motion information or motion information derived from surrounding blocks of the current coding unit.
- the forward motion information of the sub-block is available, but the backward motion information is not available, then the forward motion information of the sub-block is scaled to the first frame pointing to List0, and the scaled forward motion is scaled. The information is given to the sub-block of the corresponding position of the current coding unit;
- the backward motion information of the sub-block is available, but the forward motion information is unavailable, the backward motion information of the sub-block is scaled to point to the first frame of List1, and the scaled backward motion is scaled. The information is given to the sub-block of the corresponding position of the current coding unit;
- this embodiment of the present application may not limit the default motion information, for example, the default motion information may be zero motion information or motion information derived from surrounding blocks of the current coding unit.
- the forward motion information of the sub-block is available, but the backward motion information is not available, then the forward motion information of the sub-block is scaled to the first frame pointing to List0, and the scaled forward motion information is given to the frame.
- the sub-block at the corresponding position of the current coding unit;
- the backward motion information of the sub-block is available, but the forward motion information is not available, then the backward motion information of the sub-block is scaled to the first frame pointing to List1, and the scaled backward motion information is given to the frame.
- the sub-block at the corresponding position of the current coding unit;
- the forward motion information of the first surrounding block is available, but the backward motion information is unavailable, the forward motion information of the first surrounding block is scaled to the first frame pointing to List0, and the scaled forward motion information is scaled.
- the motion information is assigned to the sub-block of the corresponding position of the current coding unit;
- the backward motion information of the first surrounding block is available, but the forward motion information is unavailable, the backward motion information of the first surrounding block is scaled to point to the first frame of List1, and the scaled backward motion information is scaled.
- the motion information is assigned to the sub-block of the corresponding position of the current coding unit;
- the forward motion information of the sub-block is available, but the backward motion information is not available, then the forward motion information of the sub-block is scaled to the first frame pointing to List0, and the scaled forward motion is scaled. The information is given to the sub-block of the corresponding position of the current coding unit;
- the backward motion information of the sub-block is available, but the forward motion information is not available, then the backward motion information of the sub-block is scaled to point to the first frame of List1, and the scaled backward motion is scaled. The information is given to the sub-block of the corresponding position of the current coding unit;
- the forward motion information of the first surrounding block is available, but the backward motion information is unavailable, the forward motion information of the first surrounding block is scaled to point to the first frame of List0, and the scaled forward motion information is scaled.
- the motion information is assigned to the sub-block of the corresponding position of the current coding unit;
- the backward motion information of the first surrounding block is available, but the forward motion information is unavailable, the backward motion information of the first surrounding block is scaled to point to the first frame of List1, and the scaled backward motion information is scaled.
- the motion information is assigned to the sub-block of the corresponding position of the current coding unit;
- the sixth part according to the motion information of each sub-block in the current coding unit, perform motion compensation on the corresponding sub-block in the current coding unit
- a coding unit includes at least one sub-block, the width of each sub-block does not exceed the width of the current coding unit, and the height of each sub-block does not exceed the height of the current coding unit.
- each sub-block is a block of size 8*8.
- the motion information of each 8*8 sub-block is denoted as MotionArray[i][j], and i is the sub-block level.
- motion compensation is performed on the current sub-block according to the motion information of the current sub-block to obtain a prediction sample matrix of the current sub-block.
- the prediction samples of the current coding unit are composed of prediction samples of each sub-block.
- any sub-block of the current coding unit if the current sub-block meets the BIO condition, motion compensation is performed on the current sub-block according to the motion information of the current sub-block, and the BIO technology is used to superimpose the optical flow offset on the compensated pixel value. value, the prediction sample matrix of the current sub-block is obtained; otherwise, motion compensation is performed on the current sub-block according to the motion information of the current sub-block to obtain the prediction sample matrix of the current sub-block.
- the prediction samples of the current coding unit are composed of prediction samples of each sub-block.
- the sub-blocks satisfying the bidirectional optical flow condition include:
- sequence-level high-level syntax allows to enable bidirectional optical flow technology
- the sub-block adopts bidirectional prediction
- the motion information of the current sub-block is not subjected to decoding motion vector adjustment (DMVR) technology, and motion compensation is performed on the current sub-block according to the motion information of the current sub-block to obtain the prediction sample of the current sub-block matrix.
- DMVR decoding motion vector adjustment
- the prediction samples of the current coding unit are composed of prediction samples of each sub-block.
- the motion information of the current sub-block is not subjected to decoding motion vector adjustment (DMVR) technology.
- DMVR decoding motion vector adjustment
- the current sub-block meets the BIO condition, motion compensation is performed on the current sub-block according to the motion information of the current sub-block. , and use the BIO technology to superimpose the optical flow offset value on the compensated pixel value to obtain the prediction sample matrix of the current sub-block; otherwise, perform motion compensation on the current sub-block according to the motion information of the current sub-block to obtain the current sub-block Predicted sample matrix.
- the prediction samples of the current coding unit are composed of prediction samples of each sub-block.
- the sub-blocks satisfying the bidirectional optical flow condition include:
- sequence-level high-level syntax allows to enable bidirectional optical flow technology
- the sub-block adopts bidirectional prediction
- FIG. 7 is a schematic structural diagram of a decoding apparatus provided by an embodiment of the present application.
- the apparatus may include: an obtaining unit 710, configured to obtain the value of the flag bit of the enhanced temporal motion vector prediction mode of the current coding unit and an enhanced temporal motion vector prediction mode index value; the first determination unit 720 is configured to, when the value of the enhanced temporal motion vector prediction mode flag bit is a first value, according to the coordinate information of the current coding unit, Determine the coordinate information of the initial matching coding unit of the current coding unit; the construction unit 730 is used for constructing an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit; the second determining unit 740 is used for according to the The enhanced temporal motion vector prediction mode index value is obtained, the corresponding enhanced temporal motion vector prediction mode number is obtained in the enhanced temporal candidate list, and the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode number is determined.
- a third determining unit 750 configured to determine motion information of the target matching coding unit according to the coordinate information of the target matching coding unit, where the motion information of the target matching coding unit includes the motion of each sub-block in the target matching coding unit information, and determine the motion information of the sub-block at the corresponding position in the current coding unit according to the motion information of each sub-block in the target matching coding unit.
- the obtaining unit 710 obtains the value of the enhanced temporal motion vector prediction mode flag of the current coding unit, including: when the current coding unit satisfies the first parsing condition, parsing the code stream from the code stream.
- the current coding unit satisfying the first parsing condition includes one or more of the following: the prediction mode of the current coding unit is skip mode or direct mode; the size of the current coding unit satisfies a preset Size restrictions; sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction techniques; the current coding unit satisfies the angle-weighted prediction usage condition or the advanced motion vector representation usage condition.
- the current coding unit satisfying the first parsing condition includes: the prediction mode of the current coding unit is skip mode or direct mode; the size of the current coding unit satisfies a size restriction: the width of the current coding unit and height are both greater than or equal to N0; the sequence-level high-level syntax allows the current coding unit to enable enhanced temporal motion vector prediction technology; the current coding unit satisfies the angle-weighted prediction use condition or the advanced motion vector expression use condition.
- the enhanced temporal motion vector prediction mode flag uses context-based binary arithmetic coding and uses a context model.
- the obtaining unit 710 obtaining the enhanced temporal motion vector prediction mode index value of the current coding unit includes: when the current coding unit satisfies the second parsing condition, when parsing the enhancement from the code stream Domain motion vector prediction mode index value.
- the current coding unit satisfies the second parsing condition, including one or more of the following: the prediction mode of the current coding unit is skip mode or direct mode; the current coding unit enables enhanced time domain Motion vector prediction mode.
- the inverse binarization method of the enhanced temporal motion vector prediction mode index value adopts a truncated unary code with a maximum value of 4, and uses a maximum of 4 binary symbol strings, and each binary symbol adopts a separate Context model, a total of 4 context models.
- the first determining unit 720 determines the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit, including: determining the time when the matching coding unit is located according to the current image frame type domain reference image; according to the coordinate information of the current coding unit, determine the coordinate information of the initial matching coding unit in the time domain reference image; wherein, if the current image frame type is a P image, then the time The domain reference picture is a reference picture with a reference frame index value of 0 in reference picture queue 0; if the current picture frame type is a B picture, the temporal reference picture is a reference picture in reference picture queue 1 with a reference frame index value of 0. .
- the first determining unit 720 determines the coordinate information of the initial matching coding unit in the temporal reference image according to the coordinate information of the current coding unit, including: according to the current largest coding unit in the The coordinates of the upper left corner in the image, the size of the largest coding unit, the size of the current image, the size of the current coding unit, and the coordinates of the upper left corner of the current coding unit in the image determine the coordinate information of the initially matched coding unit.
- the first determining unit 720 determines according to the coordinates of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the size of the current image, the size of the current coding unit, and the size of the current coding unit in the image.
- the coordinates of the upper left corner determine the coordinate information of the initial matching coding unit, including: according to the upper left corner abscissa of the current maximum coding unit in the image, the size of the maximum coding unit, the width of the current coding unit, the width of the current image, the current coding unit in the image
- the abscissa of the upper left corner in the image determines the abscissa of the initial matching coding unit; according to the ordinate of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the height of the current coding unit, the height of the current image,
- the ordinate of the initially matched coding unit is determined from the ordinate of the upper left corner of the current coding unit in the image.
- the constructing unit 730 constructs the enhanced temporal candidate list according to the coordinate information of the initially matched coding unit, including: determining at least one enhanced temporal motion vector according to the coordinate information of the initially matched coding unit a prediction mode number; construct an enhanced time domain candidate list according to the at least one enhanced time domain motion vector prediction mode number.
- the coordinate information of the matching coding unit is the upper left corner coordinate of the matching coding unit in the temporal reference image;
- the construction unit 730 constructs the enhanced temporal domain according to the at least one enhanced temporal motion vector prediction mode number The candidate list, including: adding the enhanced temporal motion vector prediction mode number 0 to the enhanced temporal candidate list, and adding 1 to the length of the enhanced temporal candidate list;
- Mx+8 is less than or equal to the smaller of x_ctb_pos+lcu_size-cu_width and horizontal_size-cu_width, and the motion information of the A1 position is different from the motion information of the B2 position, or the motion information of the A3 position is different from the motion information of the B4 position, Then add the enhanced time domain motion vector prediction mode number 2 to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- the enhanced temporal motion vector prediction mode number 3 is added to the enhanced In the time-domain candidate list, the length of the enhanced time-domain candidate list is increased by 1;
- the enhanced temporal motion vector prediction mode number 4 is added to the enhanced In the time-domain candidate list, the length of the enhanced time-domain candidate list is increased by 1;
- (Mx, My) the coordinate information of the initial matching coding unit
- (x_ctb_pos, y_ctb_pos) is the upper left corner coordinate of the current maximum coding unit in the image
- lcu_size is the size of the maximum coding unit
- cu_width and cu_height are the current coding respectively.
- the width and height of the unit, horizontal_size and vertical_size are the width and height of the current image respectively;
- A1 is the 4*4 block in the upper left corner of the initial matching coding unit
- B1 is the 4*4 block directly on the left of A1
- C1 is the 4*4 block directly above A1
- A2 is the upper right corner of the initial matching coding unit 4*4 block
- B2 is the 4*4 block on the right side of A2
- C2 is the 4*4 block directly above A2
- A3 is the 4*4 block in the lower left corner of the initial matching coding unit
- B3 is the 4*4 block on the right side of A3 4*4 block
- C3 is the 4*4 block directly below A3
- A4 is the 4*4 block in the lower right corner of the initial matching coding unit
- B4 is the 4*4 block on the right side of A4
- C4 is the 4*4 block directly below A4 4*4 blocks.
- the constructing unit 730 constructs an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit, and further includes: when the length of the enhanced time domain candidate list is less than 5, performing the following operations in a loop: Until the length of the enhanced temporal candidate list is equal to 5: add the enhanced temporal motion vector prediction mode number that is the same as the last enhanced temporal motion vector prediction mode number in the current enhanced temporal candidate list to the enhanced temporal candidate list, and the enhanced temporal Increase the length of the candidate list by 1.
- the second determining unit 740 obtains a corresponding enhanced temporal motion vector prediction mode number in the enhanced temporal candidate list according to the enhanced temporal motion vector prediction mode index value, and determines the number of the enhanced temporal motion vector prediction mode.
- the coordinate information of the target matching coding unit corresponding to the enhanced temporal motion vector prediction mode number including:
- (Mx, My) the coordinates of the upper left corner of the initial matching coding unit
- (Px, Py) are the coordinates of the upper left corner of the target matching coding unit.
- the third determining unit 750 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for target matching coding For any sub-block in the unit, if the current image frame type is a P image, if the forward motion information of the sub-block is available, then the forward motion information of the sub-block is stretched to the first frame pointing to List0, The scaled forward motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- the third determining unit 750 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for target matching coding For any sub-block in the unit, if the current image frame type is B image, if the forward motion information and backward motion information of the sub-block are available, the forward motion information and backward motion information of the sub-block will be used.
- the information is scaled to point to the first frame of List0 and the first frame of List1 respectively, and the scaled forward motion information and backward motion information are respectively assigned to the sub-block at the corresponding position of the current coding unit; if the forward motion information of the sub-block is The motion information is available, but the backward motion information is unavailable, then the forward motion information of the sub-block is stretched to the first frame pointing to List0, and the stretched forward motion information is given to the sub-block of the corresponding position of the current coding unit; If the backward motion information of the sub-block is available, but the forward motion information is not available, then the backward motion information of the sub-block is scaled to point to the first frame of List1, and the scaled backward motion information is given to the current encoding The sub-block at the corresponding location of the cell.
- the determining unit 750 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for the target matching coding unit If the forward motion information of the subblock is not available when the current image frame type is P image, then when the forward motion information of the first surrounding block of the current coding unit is available, the first The forward motion information of a surrounding block is scaled to point to the first frame of List0, and the stretched forward motion information is assigned to the sub-block corresponding to the current coding unit; when the forward motion information of the first surrounding block is unavailable, zero The motion information is assigned to the sub-block at the corresponding position of the current coding unit; in the case where the current image frame type is a B image, if the forward motion information and backward motion information of the sub-block are both unavailable, then when the first When both the forward motion information and the backward motion information of the surrounding blocks are available, the forward motion information and the backward motion information of the
- the forward motion information and the backward motion information are respectively assigned to the sub-block of the corresponding position of the current coding unit; when the forward motion information of the first surrounding block is available, but the backward motion information is not available, the forward motion of the first surrounding block is The information is scaled to the first frame pointing to List0, and the scaled forward motion information is given to the sub-block at the corresponding position of the current coding unit; when the backward motion information of the first surrounding block is available, but the forward motion information is unavailable, the The backward motion information of the first surrounding block is scaled to point to the first frame of List1, and the stretched backward motion information is given to the sub-block at the corresponding position of the current coding unit; when the forward motion information of the first surrounding block and the backward motion information are When no motion information is available, zero motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- the first surrounding block includes any decoded adjacent block of the current coding unit.
- the decoding apparatus further includes: a motion compensation unit 760, which, according to the motion information of each sub-block in the current coding unit, performs motion on the corresponding sub-block in the current coding unit compensate.
- the motion compensation unit 760 performs motion compensation on corresponding sub-blocks in the current coding unit according to the motion information of each sub-block in the current coding unit, including: for any sub-block of the current coding unit If the sub-block satisfies the bidirectional optical flow condition, motion compensation is performed on the sub-block according to the motion information of the sub-block, and the bi-directional optical flow technique is used to compensate the compensation.
- the optical flow offset value is superimposed on the latter pixel value to obtain the predicted sample matrix of the sub-block; otherwise, motion compensation is performed on the sub-block according to the motion information of the sub-block to obtain the predicted sample matrix of the sub-block; wherein, the current encoding
- the prediction samples of the unit consist of the prediction samples of each sub-block.
- the above-mentioned decoding apparatus may include a video decoder.
- FIG. 9 is a schematic diagram of a hardware structure of a decoding device according to an embodiment of the present application.
- the decoding apparatus may include a processor 901, a machine-readable storage medium 902 having machine-executable instructions stored thereon.
- Processor 901 and machine-readable storage medium 902 may communicate via system bus 903 . And, by reading and executing machine-executable instructions corresponding to the decoding control logic in the machine-readable storage medium 902, the processor 901 can perform the decoding method described above.
- the machine-readable storage medium 902 referred to herein can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, and the like.
- the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as compact disc, dvd, etc.), or similar storage media, or a combination thereof.
- a machine-readable storage medium having machine-executable instructions stored therein, the machine-executable instructions, when executed by a processor, implement the decoding method described above.
- the machine-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
- FIG. 10 is a schematic structural diagram of an encoding apparatus provided by an embodiment of the present application.
- the apparatus may include: a first determining unit 1010, configured to determine the initial matching code of the current encoding unit according to the coordinate information of the current encoding unit coordinate information of the unit; the construction unit 1020 is configured to construct an enhanced time-domain candidate list according to the coordinate information of the initially matched coding unit; the second determination unit 1030 is configured to traverse each of the enhanced time-domain candidate lists in order
- the enhanced temporal motion vector prediction mode number determines the coordinate information of the target matching coding unit corresponding to each enhanced temporal motion vector prediction mode number; the third determining unit 1040 is used to determine the target according to the coordinate information of the target matching coding unit
- the motion information of the matching coding unit, the motion information of the target matching coding unit includes the motion information of each sub-block in the target matching coding unit, and the current coding is determined according to the motion information of each sub-block in the target matching coding unit motion information of the sub-
- the first determining unit 1010 determines the coordinate information of the initial matching coding unit of the current coding unit according to the coordinate information of the current coding unit, including: determining the time when the matching coding unit is located according to the current image frame type domain reference image; according to the coordinate information of the current coding unit, determine the coordinate information of the initial matching coding unit in the time domain reference image; wherein, if the current image frame type is a P image, then the time The domain reference picture is a reference picture with a reference frame index value of 0 in reference picture queue 0; if the current picture frame type is a B picture, the temporal reference picture is a reference picture in reference picture queue 1 with a reference frame index value of 0. .
- the first determining unit 1010 determines the coordinate information of the initial matching coding unit in the temporal reference image according to the coordinate information of the current coding unit, including: according to the current maximum coding unit in the The coordinates of the upper left corner in the image, the size of the largest coding unit, the size of the current image, the size of the current coding unit, and the coordinates of the upper left corner of the current coding unit in the image determine the coordinate information of the initially matched coding unit.
- the first determining unit 1010 is based on the coordinates of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the size of the current image, the size of the current coding unit, and the size of the current coding unit in the image.
- the coordinates of the upper left corner determine the coordinate information of the initial matching coding unit, including: according to the upper left corner abscissa of the current maximum coding unit in the image, the size of the maximum coding unit, the width of the current coding unit, the width of the current image, the current coding unit in the image
- the abscissa of the upper left corner in the image determines the abscissa of the initial matching coding unit; according to the ordinate of the upper left corner of the current maximum coding unit in the image, the size of the maximum coding unit, the height of the current coding unit, the height of the current image,
- the ordinate of the initially matched coding unit is determined from the ordinate of the upper left corner of the current coding unit in the image.
- the constructing unit 1020 constructs the enhanced temporal candidate list according to the coordinate information of the initially matched coding unit, including: determining at least one enhanced temporal motion vector according to the coordinate information of the initially matched coding unit a prediction mode number; construct an enhanced time domain candidate list according to the at least one enhanced time domain motion vector prediction mode number.
- the coordinate information of the matching coding unit is the upper left corner coordinate of the matching coding unit in the temporal reference image;
- the construction unit 1020 constructs the enhanced temporal domain according to the at least one enhanced temporal motion vector prediction mode number The candidate list, including: adding the enhanced temporal motion vector prediction mode number 0 to the enhanced temporal candidate list, and adding 1 to the length of the enhanced temporal candidate list;
- Mx+8 is less than or equal to the smaller of x_ctb_pos+lcu_size-cu_width and horizontal_size-cu_width, and the motion information of the A1 position is different from the motion information of the B2 position, or the motion information of the A3 position is different from the motion information of the B4 position, Then add the enhanced time domain motion vector prediction mode number 2 to the enhanced time domain candidate list, and add 1 to the length of the enhanced time domain candidate list;
- the enhanced temporal motion vector prediction mode number 3 is added to the enhanced In the time-domain candidate list, the length of the enhanced time-domain candidate list is increased by 1;
- the enhanced temporal motion vector prediction mode number 4 is added to the enhanced In the time-domain candidate list, the length of the enhanced time-domain candidate list is increased by 1;
- (Mx, My) is the coordinate information of the initially matching coding unit
- (x_ctb_pos, y_ctb_pos) is the upper left corner coordinate of the current largest coding unit in the image
- lcu_size is the size of the largest coding unit
- cu_width and cu_height are the current coding respectively
- the width and height of the unit, horizontal_size and vertical_size are the width and height of the current image respectively;
- A1 is the 4*4 block in the upper left corner of the initial matching coding unit
- B1 is the 4*4 block directly on the left of A1
- C1 is the 4*4 block directly above A1
- A2 is the upper right corner of the initial matching coding unit 4*4 block
- B2 is the 4*4 block on the right side of A2
- C2 is the 4*4 block directly above A2
- A3 is the 4*4 block in the lower left corner of the initial matching coding unit
- B3 is the 4*4 block on the right side of A3 4*4 block
- C3 is the 4*4 block directly below A3
- A4 is the 4*4 block in the lower right corner of the initial matching coding unit
- B4 is the 4*4 block on the right side of A4
- C4 is the 4*4 block directly below A4 4*4 blocks.
- the constructing unit 1020 constructs an enhanced time domain candidate list according to the coordinate information of the initially matched coding unit, and further includes: when the length of the enhanced time domain candidate list is less than 5, performing the following operations in a loop: Until the length of the enhanced temporal candidate list is equal to 5: add the enhanced temporal motion vector prediction mode number that is the same as the last enhanced temporal motion vector prediction mode number in the current enhanced temporal candidate list to the enhanced temporal candidate list, and the enhanced temporal Increase the length of the candidate list by 1.
- the second determining unit 1030 traverses each enhanced temporal motion vector prediction mode number in the enhanced temporal candidate list in order, and determines the target match corresponding to each enhanced temporal motion vector prediction mode number
- the coordinate information of the coding unit including: for the currently traversed enhanced temporal motion vector prediction mode number,
- (Mx, My) the coordinates of the upper left corner of the initial matching coding unit
- (Px, Py) are the coordinates of the upper left corner of the target matching coding unit.
- the third determining unit 1040 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for target matching coding Any sub-block in the unit: if the current image frame type is a P image: if the forward motion information of the sub-block is available, the forward motion information of the sub-block is stretched to the first frame pointing to List0, The scaled forward motion information is assigned to the sub-block at the corresponding position of the current coding unit.
- the third determining unit 1040 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for target matching coding For any sub-block in the unit, if the current image frame type is B image, if the forward motion information and backward motion information of the sub-block are available, the forward motion information and backward motion information of the sub-block will be used.
- the information is scaled to point to the first frame of List0 and the first frame of List1 respectively, and the scaled forward motion information and backward motion information are respectively assigned to the sub-block at the corresponding position of the current coding unit; if the forward motion information of the sub-block is The motion information is available, but the backward motion information is unavailable, then the forward motion information of the sub-block is stretched to the first frame pointing to List0, and the stretched forward motion information is given to the sub-block of the corresponding position of the current coding unit; If the backward motion information of the sub-block is available, but the forward motion information is not available, then the backward motion information of the sub-block is scaled to point to the first frame of List1, and the scaled backward motion information is given to the current encoding The sub-block at the corresponding location of the cell.
- the third determining unit 1040 determines, according to the motion information of each sub-block in the target matching coding unit, the motion information of the sub-block at the corresponding position in the current coding unit, including: for target matching coding For any sub-block in the unit, when the current image frame type is a P image, if the forward motion information of the sub-block is unavailable, when the forward motion information of the first surrounding block of the current coding unit is available, The forward motion information of the first surrounding block is stretched to the first frame pointing to List0, and the stretched forward motion information is given to the sub-block at the corresponding position of the current coding unit; when the forward motion information of the first surrounding block is unavailable, Assign zero motion information to the sub-block at the corresponding position of the current coding unit; when the current image frame type is a B image: if the forward motion information and backward motion information of the sub-block are both unavailable, when the current coding unit When both the forward motion information and the backward motion information of the first surrounding block are available, the forward
- the motion compensation unit 1050 performs motion compensation on corresponding sub-blocks in the current coding unit according to the motion information of each sub-block in the current coding unit, including: for any sub-block of the current coding unit If the sub-block satisfies the bidirectional optical flow condition, motion compensation is performed on the sub-block according to the motion information of the sub-block, and the bi-directional optical flow technique is used to compensate the compensation.
- the optical flow offset value is superimposed on the latter pixel value to obtain the predicted sample matrix of the sub-block; otherwise, motion compensation is performed on the sub-block according to the motion information of the sub-block to obtain the predicted sample matrix of the sub-block; wherein, the current encoding
- the prediction samples of the unit consist of the prediction samples of each sub-block.
- the above-mentioned encoding apparatus may include a video encoder.
- FIG. 11 is a schematic diagram of a hardware structure of an encoding device according to an embodiment of the present application.
- the encoding apparatus may include a processor 1101, a machine-readable storage medium 1102 having machine-executable instructions stored thereon.
- the processor 1101 and the machine-readable storage medium 1102 may communicate via a system bus 1103 . And, by reading and executing machine-executable instructions corresponding to the encoding control logic in the machine-readable storage medium 1102, the processor 1101 can perform the encoding method described above.
- the machine-readable storage medium 1102 referred to herein can be any electronic, magnetic, optical, or other physical storage device that can contain or store information, such as executable instructions, data, and the like.
- the machine-readable storage medium can be: RAM (Radom Access Memory, random access memory), volatile memory, non-volatile memory, flash memory, storage drive (such as hard disk drive), solid state drive, any type of storage disk (such as compact disc, dvd, etc.), or similar storage media, or a combination thereof.
- a machine-readable storage medium stores machine-executable instructions that, when executed by a processor, implement the encoding method described above.
- the machine-readable storage medium may be ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
- a camera device including the encoding apparatus in any of the foregoing embodiments and the decoding apparatus in any of the foregoing embodiments.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Steroid Compounds (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
- Peptides Or Proteins (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
Abstract
Description
| if((SkipFlag||DirectFlag)&&EtmvpFlag){ | |
| cu_etmvp_cand_index | ae(v) |
| etmvp_mode | Px的值 | Py的值 |
| 0 | Mx | My |
| 1 | Mx | My+n |
| 2 | Mx+n | My |
| 3 | Mx | My–n |
| 4 | Mx–n | My |
Claims (51)
- 一种解码方法,其特征在于,包括:获取当前编码单元的增强时域运动矢量预测模式标志位的取值和增强时域运动矢量预测模式索引值;当所述增强时域运动矢量预测模式标志位的取值为第一数值时:根据所述当前编码单元的坐标信息,确定所述当前编码单元的初始匹配编码单元的坐标信息;根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表;根据所述增强时域运动矢量预测模式索引值,在所述增强时域候选列表中获取对应的增强时域运动矢量预测模式号,并确定所述增强时域运动矢量预测模式号对应的目标匹配编码单元的坐标信息;根据所述目标匹配编码单元的坐标信息确定目标匹配编码单元的运动信息,所述目标匹配编码单元的运动信息包括目标匹配编码单元内每个子块的运动信息,并根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息。
- 根据权利要求1所述的方法,其特征在于,所述获取当前编码单元的增强时域运动矢量预测模式标志位的取值,包括:当所述当前编码单元满足第一解析条件时,从码流中解析所述增强时域运动矢量预测模式标志位的取值;否则,确定所述增强时域运动矢量预测模式标志位的取值为第二数值;所述增强时域运动矢量预测模式标志位的取值为第一数值,表明所述当前编码单元启用增强时域运动矢量预测模式,所述增强时域运动矢量预测模式标志位的取值为第二数值,表明所述当前编码单元不启用增强时域运动矢量预测模式。
- 根据权利要求2所述的方法,其特征在于,所述当前编码单元满足第一解析条件包括以下之一或多个:所述当前编码单元的预测模式为跳过模式或直接模式;所述当前编码单元的尺寸满足预设尺寸限制;序列级高层语法允许所述当前编码单元启用增强时域运动矢量预测技术;所述当前编码单元满足角度加权预测使用条件或者满足高级运动矢量表达使用条件。
- 根据权利要求3所述的方法,其特征在于,所述预设尺寸限制包括:当前编码单元的宽度和高度均大于或等于N0。
- 根据权利要求4所述的方法,其特征在于,N0为8。
- 根据权利要求3所述的方法,其特征在于,所述当前编码单元满足角度加权预测使用条件,包括:序列级高层语法允许当前编码单元启用角度加权预测技术;当前编码单元的宽度和高度均大于或等于N1,当前编码单元的宽度和高度均小于或等于N2;当前图像帧类型为B图像;所述当前编码单元满足高级运动矢量表达使用条件,包括:序列级高层语法允许所述当前编码单元启用高级运动矢量表达技术。
- 根据权利要求2-6任一项所述的方法,其特征在于,所述增强时域运动矢量预测模式标志位采用基于上下文的二进制算术编码,并采用一个上下文模型。
- 根据权利要求1所述的方法,其特征在于,所述获取当前编码单元的增强时域运动矢量预测模式索引值,包括:当所述当前编码单元满足第二解析条件时,从码流中解析所述增强时域运动矢量预测模式索引值。
- 根据权利要求8所述的方法,其特征在于,所述当前编码单元满足第二解析条件,包括以下之一或多个:所述当前编码单元的预测模式为跳过模式或直接模式;所述当前编码单元启用增强时域运动矢量预测模式。
- 根据权利要求8或9所述的方法,其特征在于,所述增强时域运动矢量预测模式索引值的反二值化方式采用最大值为4的截断一元码,最多使用4个二元符号串,每个二元符号采用单独的上下文模型,一共4个上下文模型。
- 根据权利要求1所述的方法,其特征在于,所述根据当前编码单元的坐标信息,确定所述当前编码单元的初始匹配编码单元的坐标信息,包括:根据当前图像帧类型确定匹配编码单元所在的时域参考图像;根据所述当前编码单元的坐标信息,确定所述初始匹配编码单元在所述时域参考图像中的坐标信息;其中,若所述当前图像帧类型为P图像,则所述时域参考图像是参考图像队列0中参考帧索引值为0的参考图像;若当前图像帧类型是B图像,则所述时域参考图像是参考图像队列1中参考帧索引值为0的参考图像;所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,包括:根据所述初始匹配编码单元在所述时域参考图像中的坐标信息,构建增强时域候选列表。
- 根据权利要求11所述的方法,其特征在于,所述根据所述当前编码单元的坐标信息,确定所述初始匹配编码单元在所述时域参考图像中的坐标信息,包括:根据当前最大编码单元在图像中的左上角坐标、最大编码单元的大小、当前图像的尺寸、当前编码单元的尺寸、当前编码单元在图像中的左上角坐标,确定初始匹配编码单元的坐标信息。
- 根据权利要求12所述的方法,其特征在于,所述根据当前最大编码单元在图像中的左上角坐标、最大编码单元的大小、当前图像的尺寸、当前编码单元的尺寸、当前编码单元在图像中的左上角坐标,确定初始匹配编码单元的坐标信息,包括:根据当前最大编码单元在图像中的左上角横坐标、最大编码单元的大小、当前编码单元的宽度、当前图像的宽度、当前编码单元在图像中的左上角横坐标,确定所述初始匹配编码单元的横坐标;根据当前最大编码单元在图像中的左上角纵坐标、最大编码单元的大小、当前编码单元的高度、当前图像的高度、当前编码单元在图像中的左上角纵坐标来,确定所述初始匹配编码单元的纵坐标。
- 根据权利要求1所述的方法,其特征在于,所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,包括:根据所述初始匹配编码单元的坐标信息,确定至少一个增强时域运动矢量预测模式号;根据所述至少一个增强时域运动矢量预测模式号,构建增强时域候选列表。
- 根据权利要求14所述的方法,其特征在于,匹配编码单元的坐标信息为匹配编码单元在时域参考图像中的左上角坐标;所述根据所述至少一个增强时域运动矢量预测模式号,构建增强时域候选列表,包括:将增强时域运动矢量预测模式号0加入增强时域候选列表中,增强时域候选列表长度加1;若My+8小于或等于y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的较小值,且A1位置的运动信息与C3位置的运动信息不同,或A2位置的运动信息与C4位置的运动信息不同,则将增强时域运动矢量预测模式号1加入增强时域候选列表中,增强时域候选列表长度加1;若Mx+8小于或等于x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的较小值,且A1位置的运动信息与B2位置的运动信息不同,或A3位置的运动信息与B4位置的运动信息不同,则将增强时域运动矢量预测模式号2加入增强时域候选列表中,增强时域候选列表长度加1;若My-8大于或等于y_ctb_pos,且A3位置的运动信息与C1位置的运动信息不同,或A4位置的运动信息与C2位置的运动信息不同,则将增强时域运动矢量预测模式号3加入增强时域候选列表中,增强时域候选列表长度加1;若Mx-8大于或等于x_ctb_pos,且A2位置的运动信息与B1位置的运动信息不同,或A4位置的运动信息与B3位置的运动信息不同,则将增强时域运动矢量预测模式号4加入增强时域候选列表中,增强时域候选列表长度加1;其中,(Mx,My)所述初始匹配编码单元的坐标信息,(x_ctb_pos,y_ctb_pos)为当前最大编码单元在图像中的左上角坐标,lcu_size为最大编码单元的大小,cu_width和cu_height分别为当前编码单元的宽度和高度,horizontal_size和vertical_size分别是当前图像的宽度和高度;A1为所述初始匹配编码单元的左上角4*4块、B1为A1正左侧的4*4块,C1为A1正上方的4*4块;A2为所述初始匹配编码单元的右上角4*4块、B2为A2正右侧的4*4块,C2为A2正上方的4*4块;A3为所述初始匹配编码单元的左下角4*4块、B3为A3正左侧的4*4块,C3为A3正下方的4*4块;A4为所述初始匹配编码单元的右下角4*4块、B4为A4正右侧的4*4块,C4为A4正下方的4*4块。
- 根据权利要求15所述的方法,其特征在于,所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,还包括:当所述增强时域候选列表长度小于5时,循环执行如下操作,直至增强时域候选列表长度等于5:将与当前增强时域候选列表中最后一个增强时域运动矢量预测模式号相同的增强时域运动矢量预测模式号加入增强时域候选列表中,增强时域候选列表长度加1。
- 根据权利要求1所述的方法,其特征在于,所述根据所述增强时域运动矢量预测模式索引值,在所述增强时域候选列表中获取对应的增强时域运动矢量预测模式号,并确定所述增强时域运动矢量预测模式号对应的目标匹配编码单元的坐标信息,包括:若增强时域运动矢量预测模式号为0,则Px等于Mx,Py等于My;若增强时域运动矢量预测模式号为1,则Px等于Mx,Py等于My+n;若增强时域运动矢量预测模式号为2,则Px等于Mx+n,Py等于My;若增强时域运动矢量预测模式号为3,则Px等于Mx,Py等于My-n;若增强时域运动矢量预测模式号为4,则Px等于Mx-n,Py等于My;其中,(Mx,My)所述初始匹配编码单元的左上角坐标,(Px,Py)为所述目标匹配编码单元的左上角坐标。
- 根据权利要求17所述的方法,其特征在于,n为8。
- 根据权利要求1所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括:对于目标匹配编码单元中的任一子块:在当前图像帧类型是P图像的情况下:若该子块的前向运动信息可用,则将该子块的前向运动信息伸缩到指向List0的第一帧,将伸缩后的前向运动信息赋予所述当前编码单元对应位置的子块。
- 根据权利要求1所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括对于目标匹配编码单元中的任一子块:在当前图像帧类型是B图像的情况下:若该子块的前向运动信息和后向运动信息可用,则将该子块的前向运动信息和后向运动信息分别伸缩到指向List0的第一帧和List1的第一帧,将伸缩后的前向运动信息和后向运动信息分别赋予所述当前编码单元对应位置的子块;若该子块的前向运动信息可用,但后向运动信息不可用,则将该子块的前向运动信息伸缩到指向List0的第一帧,并将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;若该子块的后向运动信息可用,但前向运动信息不可用,则将该子块的后向运动信息伸缩到指向List1的第一帧,并将伸缩后的后向运动信息赋予当前编码单元对应位置的子块。
- 根据权利要求1所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括对于目标匹配编码单元中的任一子块:在当前图像帧类型是P图像的情况下:若将子块的前向运动信息不可用,则当当前编码单元的第一周围块的前向运动信息可用时,将第一周围块的前向运动信息伸缩到指向List0的第一帧,将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息不可用时,将零运动信息赋予当前编码单元对应位置的子块;在当前图像帧类型是B图像的情况下:若将子块的前向运动信息和后向运动信息均不可用,则当当前编码单元的第一周围块的前向运动信息和后向运动信息均可用时,将第一周围块的前向运动信息和后向运动信息分别伸缩到指向List0的第一帧和List1的第一帧,将伸缩后的前向运动信息和后向运动信息分别赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息可用,但后向运动信息不可用时,将第一周围块的前向运动信息伸缩到指向List0的第一帧,并将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;当第一周围块的后向运动信息可用,但前向运动信息不可用时,将第一周围块的后向运动信息伸缩到指向List1的第一帧,并将伸缩后的后向运动信息赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息和后向运动信息均不可用时,将零运动信息赋予当前编码单元对应位置的子块;其中,所述第一周围块包括所述当前编码单元任一已解码的相邻块。
- 根据权利要求1-21任一项所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息之后,还包括:根据所述当前编码单元内每个子块的运动信息,对所述当前编码单元内对应子块进行运动补偿。
- 根据权利要求22所述的方法,其特征在于,所述根据所述当前编码单元内每个子块的运动信息,对所述当前编码单元内对应子块进行运动补偿,包括:对于当前编码单元的任一子块,对该子块的运动信息不进行解码运动矢量调整技术;若该子块满足双向光流条件,根据该子块的运动信息对该子块进行运动补偿,并使用双向光流技术对补偿后的像素值叠加光流偏移值,得到该子块的预测样本矩阵;否则,根据该子块的运动信息对该子块进行运动补偿,得到该子块的预测样本矩阵;其中,当前编码单元的预测样本由各子块的预测样本组成。
- 根据权利要求23所述的方法,其特征在于,所述该子块满足双向光流条件, 至少包括:序列级高层语法允许启用双向光流技术;当前编码单元的运动矢量精度等于0;该子块采用双向预测;该子块的参考图像队列0中参考帧索引值为refIdxL0的参考帧和参考图像队列1中参考索引值为refIdxL1的参考帧显示顺序分别位于当前帧的两侧。
- 根据权利要求23所述的方法,其特征在于,所述使用双向光流技术对补偿后的像素值叠加光流偏移值,得到该子块的预测样本矩阵,包括:根据子块的前向运动补偿值、后向运动补偿值以及光流偏移值确定该子块的预测样本矩阵。
- 一种编码方法,其特征在于,包括:根据当前编码单元的坐标信息确定当前编码单元的初始匹配编码单元的坐标信息;根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表;按顺序遍历增强时域候选列表中的每个增强时域运动矢量预测模式号,确定每个增强时域运动矢量预测模式号对应的目标匹配编码单元的坐标信息;根据所述目标匹配编码单元的坐标信息确定目标匹配编码单元的运动信息,所述目标匹配编码单元的运动信息包括目标匹配编码单元内每个子块的运动信息,并根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息;根据所述当前编码单元内的每个子块的运动信息,对当前编码单元内的对应子块进行运动补偿;计算增强时域运动矢量预测模式对应的率失真代价值,并将该率失真代价值与其他预测模式的率失真代价值进行比较,选择最小的率失真代价值所对应的预测模式,并将对应的增强时域运动矢量预测模式标志位和增强时域运动矢量预测模式索引值写入码流,传送给解码设备。
- 根据权利要求26所述的方法,其特征在于,所述根据所述当前编码单元内的每个子块的运动信息,对当前编码单元内的对应子块进行运动补偿,包括:对于当前编码单元的任一子块,对该子块的运动信息不进行解码运动矢量调整技术;若该子块满足双向光流条件,根据该子块的运动信息对该子块进行运动补偿,并使用双向光流技术对补偿后的像素值叠加光流偏移值,得到该子块的预测样本矩阵;否则,根据该子块的运动信息对该子块进行运动补偿,得到该子块的预测样本矩阵;其中,当前编码单元的预测样本由各子块的预测样本组成。
- 根据权利要求27所述的方法,其特征在于,所述该子块满足双向光流条件,至少包括:序列级高层语法允许启用双向光流技术;当前编码单元的运动矢量精度等于0;该子块采用双向预测;该子块的参考图像队列0中参考帧索引值为refIdxL0的参考帧和参考图像队列1中参考索引值为refIdxL1的参考帧显示顺序分别位于当前帧的两侧。
- 根据权利要求27所述的方法,其特征在于,所述使用双向光流技术对补偿后的像素值叠加光流偏移值,得到该子块的预测样本矩阵,包括:根据子块的前向运动补偿值、后向运动补偿值以及光流偏移值确定该子块的预测样本矩阵。
- 根据权利要求26所述的方法,其特征在于,所述将对应的增强时域运动矢量预测模式标志位写入码流,包括:当所述当前编码单元满足第一解析条件时,将对应的增强时域运动矢量预测模式标 志位写入码流;否则,确定对应的增强时域运动矢量预测模式标志位的取值为第二数值;所述增强时域运动矢量预测模式标志位的取值为第一数值,表明所述当前编码单元启用增强时域运动矢量预测模式,所述增强时域运动矢量预测模式标志位的取值为第二数值表明所述当前编码单元不启用增强时域运动矢量预测模式。
- 根据权利要求30所述的方法,其特征在于,所述当前编码单元满足第一解析条件,包括:所述当前编码单元的预测模式为跳过模式或直接模式;所述当前编码单元的尺寸满足尺寸限制:当前编码单元的宽度和高度均大于或等于8;序列级高层语法允许所述当前编码单元启用增强时域运动矢量预测技术;所述当前编码单元满足角度加权预测使用条件或者满足高级运动矢量表达使用条件。
- 根据权利要求31所述的方法,其特征在于,所述当前编码单元满足角度加权预测使用条件,包括:序列级高层语法允许当前编码单元启用角度加权预测技术;当前编码单元的宽度和高度均大于或等于N1,当前编码单元的宽度和高度均小于或等于N2;当前图像帧类型为B图像;所述当前编码单元满足高级运动矢量表达使用条件,包括:序列级高层语法允许所述当前编码单元启用高级运动矢量表达技术。
- 根据权利要求26-32任一项所述的方法,其特征在于,所述增强时域运动矢量预测模式标志位采用基于上下文的二进制算术编码,并采用一个上下文模型。
- 根据权利要求26所述的方法,其特征在于,所述将增强时域运动矢量预测模式索引值写入码流,包括:当所述当前编码单元满足第二解析条件时,将增强时域运动矢量预测模式索引值写入码流。
- 根据权利要求34所述的方法,其特征在于,所述当前编码单元满足第二解析条件,包括以下之一或多个:所述当前编码单元的预测模式为跳过模式或直接模式;所述当前编码单元启用增强时域运动矢量预测模式。
- 根据权利要求34或35所述的方法,其特征在于,所述增强时域运动矢量预测模式索引值的二值化方式采用最大值为4的截断一元码,最多使用4个二元符号串,每个二元符号采用单独的上下文模型,一共4个上下文模型。
- 根据权利要求26所述的方法,其特征在于,所述根据当前编码单元的坐标信息确定当前编码单元的初始匹配编码单元的坐标信息,包括:根据当前图像帧类型确定匹配编码单元所在的时域参考图像;根据所述当前编码单元的坐标信息,确定所述初始匹配编码单元在所述时域参考图像中的坐标信息;其中,若所述当前图像帧类型为P图像,则所述时域参考图像是参考图像队列0中参考帧索引值为0的参考图像;若当前图像帧类型是B图像,则所述时域参考图像是参考图像队列1中参考帧索引值为0的参考图像;所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,包括:根据所述初始匹配编码单元在所述时域参考图像中的坐标信息,构建增强时域候选列表。
- 根据权利要求37所述的方法,其特征在于,所述根据所述当前编码单元的坐 标信息,确定所述初始匹配编码单元在所述时域参考图像中的坐标信息,包括:根据当前最大编码单元在图像中的左上角坐标、最大编码单元的大小、当前图像的尺寸、当前编码单元的尺寸、当前编码单元在图像中的左上角坐标,确定初始匹配编码单元的坐标信息。
- 根据权利要求38所述的方法,其特征在于,所述根据当前最大编码单元在图像中的左上角坐标、最大编码单元的大小、当前图像的尺寸、当前编码单元的尺寸、当前编码单元在图像中的左上角坐标,确定初始匹配编码单元的坐标信息,包括:根据当前最大编码单元在图像中的左上角横坐标、最大编码单元的大小、当前编码单元的宽度、当前图像的宽度、当前编码单元在图像中的左上角横坐标,确定所述初始匹配编码单元的横坐标;根据当前最大编码单元在图像中的左上角纵坐标、最大编码单元的大小、当前编码单元的高度、当前图像的高度、当前编码单元在图像中的左上角纵坐标来,确定所述初始匹配编码单元的纵坐标。
- 根据权利要求26所述的方法,其特征在于,所述按顺序遍历增强时域候选列表中的每个增强时域运动矢量预测模式号,确定每个增强时域运动矢量预测模式号对应的目标匹配编码单元的坐标信息,包括:若增强时域运动矢量预测模式号为0,则Px等于Mx,Py等于My;若增强时域运动矢量预测模式号为1,则Px等于Mx,Py等于My+8;若增强时域运动矢量预测模式号为2,则Px等于Mx+8,Py等于My;若增强时域运动矢量预测模式号为3,则Px等于Mx,Py等于My-8;若增强时域运动矢量预测模式号为4,则Px等于Mx-8,Py等于My;其中,(Mx,My)所述初始匹配编码单元的左上角坐标,(Px,Py)为所述目标匹配编码单元的左上角坐标。
- 根据权利要求26所述的方法,其特征在于,所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,包括:根据所述初始匹配编码单元的坐标信息,确定至少一个增强时域运动矢量预测模式号;根据所述至少一个增强时域运动矢量预测模式号,构建增强时域候选列表。
- 根据权利要求41所述的方法,其特征在于,匹配编码单元的坐标信息为匹配编码单元在时域参考图像中的左上角坐标;所述根据所述至少一个增强时域运动矢量预测模式号,构建增强时域候选列表,包括:将增强时域运动矢量预测模式号0加入增强时域候选列表中,增强时域候选列表长度加1;若My+8小于或等于y_ctb_pos+lcu_size-cu_height和vertical_size-cu_height中的较小值,且A1位置的运动信息与C3位置的运动信息不同,或A2位置的运动信息与C4位置的运动信息不同,则将增强时域运动矢量预测模式号1加入增强时域候选列表中,增强时域候选列表长度加1;若Mx+8小于或等于x_ctb_pos+lcu_size-cu_width和horizontal_size-cu_width中的较小值,且A1位置的运动信息与B2位置的运动信息不同,或A3位置的运动信息与B4位置的运动信息不同,则将增强时域运动矢量预测模式号2加入增强时域候选列表中,增强时域候选列表长度加1;若My-8大于或等于y_ctb_pos,且A3位置的运动信息与C1位置的运动信息不同,或A4位置的运动信息与C2位置的运动信息不同,则将增强时域运动矢量预测模式号3加入增强时域候选列表中,增强时域候选列表长度加1;若Mx-8大于或等于x_ctb_pos,且A2位置的运动信息与B1位置的运动信息不同, 或A4位置的运动信息与B3位置的运动信息不同,则将增强时域运动矢量预测模式号4加入增强时域候选列表中,增强时域候选列表长度加1;其中,(Mx,My)所述初始匹配编码单元的坐标信息,(x_ctb_pos,y_ctb_pos)为当前最大编码单元在图像中的左上角坐标,lcu_size为最大编码单元的大小,cu_width和cu_height分别为当前编码单元的宽度和高度,horizontal_size和vertical_size分别是当前图像的宽度和高度;A1为所述初始匹配编码单元的左上角4*4块、B1为A1正左侧的4*4块,C1为A1正上方的4*4块;A2为所述初始匹配编码单元的右上角4*4块、B2为A2正右侧的4*4块,C2为A2正上方的4*4块;A3为所述初始匹配编码单元的左下角4*4块、B3为A3正左侧的4*4块,C3为A3正下方的4*4块;A4为所述初始匹配编码单元的右下角4*4块、B4为A4正右侧的4*4块,C4为A4正下方的4*4块。
- 根据权利要求42所述的方法,其特征在于,所述根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表,还包括:当所述增强时域候选列表长度小于5时,循环执行如下操作,直至增强时域候选列表长度等于5:将与当前增强时域候选列表中最后一个增强时域运动矢量预测模式号相同的增强时域运动矢量预测模式号加入增强时域候选列表中,增强时域候选列表长度加1。
- 根据权利要求26所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括:对于目标匹配编码单元中的任一子块:在当前图像帧类型是P图像的情况下:若该子块的前向运动信息可用,则将该子块的前向运动信息伸缩到指向List0的第一帧,将伸缩后的前向运动信息赋予所述当前编码单元对应位置的子块。
- 根据权利要求26所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括:对于目标匹配编码单元中的任一子块:在当前图像帧类型是B图像的情况下:若该子块的前向运动信息和后向运动信息可用,则将该子块的前向运动信息和后向运动信息分别伸缩到指向List0的第一帧和List1的第一帧,将伸缩后的前向运动信息和后向运动信息分别赋予所述当前编码单元对应位置的子块;若该子块的前向运动信息可用,但后向运动信息不可用,则将该子块的前向运动信息伸缩到指向List0的第一帧,并将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;若该子块的后向运动信息可用,但前向运动信息不可用,则将该子块的后向运动信息伸缩到指向List1的第一帧,并将伸缩后的后向运动信息赋予当前编码单元对应位置的子块。
- 根据权利要求26所述的方法,其特征在于,所述根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息,包括:对于目标匹配编码单元中的任一子块:在当前图像帧类型是P图像的情况下:若将子块的前向运动信息不可用,则当当前编码单元的第一周围块的前向运动信息可用时,将第一周围块的前向运动信息伸缩到指向List0的第一帧,将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息不可用时,将零运动信息赋予当前编码单元对应位置的子块;在当前图像帧类型是B图像的情况下:若将子块的前向运动信息和后向运动信息均不可用,则当当前编码单元的第一周围 块的前向运动信息和后向运动信息均可用时,将第一周围块的前向运动信息和后向运动信息分别伸缩到指向List0的第一帧和List1的第一帧,将伸缩后的前向运动信息和后向运动信息分别赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息可用,但后向运动信息不可用时,将第一周围块的前向运动信息伸缩到指向List0的第一帧,并将伸缩后的前向运动信息赋予当前编码单元对应位置的子块;当第一周围块的后向运动信息可用,但前向运动信息不可用时,将第一周围块的后向运动信息伸缩到指向List1的第一帧,并将伸缩后的后向运动信息赋予当前编码单元对应位置的子块;当第一周围块的前向运动信息和后向运动信息均不可用时,将零运动信息赋予当前编码单元对应位置的子块;其中,所述第一周围块包括所述当前编码单元任一已解码的相邻块。
- 一种解码装置,其特征在于,包括:获取单元,用于获取当前编码单元的增强时域运动矢量预测模式标志位的取值和增强时域运动矢量预测模式索引值;第一确定单元,用于当所述增强时域运动矢量预测模式标志位的取值为第一数值时,根据所述当前编码单元的坐标信息,确定所述当前编码单元的初始匹配编码单元的坐标信息;构建单元,用于根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表;第二确定单元,用于根据所述增强时域运动矢量预测模式索引值,在所述增强时域候选列表中获取对应的增强时域运动矢量预测模式号,并确定所述增强时域运动矢量预测模式号对应的目标匹配编码单元的坐标信息;第三确定单元,用于根据所述目标匹配编码单元的坐标信息确定目标匹配编码单元的运动信息,所述目标匹配编码单元的运动信息包括目标匹配编码单元内每个子块的运动信息,并根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息。
- 一种编码装置,其特征在于,包括:第一确定单元,用于根据当前编码单元的坐标信息确定当前编码单元的初始匹配编码单元的坐标信息;构建单元,用于根据所述初始匹配编码单元的坐标信息,构建增强时域候选列表;第二确定单元,用于按顺序遍历增强型时域候选列表中的每一种增强时域候选模式,确定每个模式对应的目标匹配编码单元的坐标信息;第三确定单元,用于根据所述目标匹配编码单元的坐标信息确定目标匹配编码单元的运动信息,所述目标匹配编码单元的运动信息包括目标匹配编码单元内每个子块的运动信息,并根据所述目标匹配编码单元内每个子块的运动信息,确定所述当前编码单元内对应位置的子块的运动信息;运动补偿单元,用于根据所述当前编码单元内的每个子块的运动信息,对当前编码单元内的对应子块进行运动补偿;编码单元,用于计算增强时域运动矢量预测模式对应的率失真代价值,并将该率失真代价值与其他预测模式的率失真代价值进行比较,选择最小的率失真代价值所对应的预测模式,并将对应的增强时域运动矢量预测模式标志位和增强时域运动矢量预测模式索引值写入码流,传送给解码设备。
- 一种解码设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求1-25任一项所述的方法。
- 一种编码设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器用于执行机器可执行指令,以实现如权利要求26-46任一项所述的方法。
- 一种机器可读存储介质,其特征在于,所述机器可读存储介质内存储有机器可执行指令,所述机器可执行指令被处理器执行时实现如权利要求1-25或26-46任一项所述的方法。
Priority Applications (10)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020247027215A KR20240127495A (ko) | 2021-03-19 | 2022-03-14 | 디코딩 방법, 인코딩 방법, 장치, 기기 및 저장매체 |
| JP2023557413A JP7494403B2 (ja) | 2021-03-19 | 2022-03-14 | 復号方法、符号化方法、装置、デバイスおよび記憶媒体 |
| US18/548,785 US12063386B2 (en) | 2021-03-19 | 2022-03-14 | Methods, apparatuses, devices, and storage media for encoding or decoding |
| KR1020237028128A KR102696422B1 (ko) | 2021-03-19 | 2022-03-14 | 디코딩 방법, 인코딩 방법, 장치, 기기 및 저장매체 |
| MYPI2023005012A MY209492A (en) | 2021-03-19 | 2022-03-14 | Methods, apparatuses, devices, and storage media for encoding or decoding |
| AU2022235881A AU2022235881B2 (en) | 2021-03-19 | 2022-03-14 | Decoding method and apparatus, encoding method and apparatus, device, and storage medium |
| EP22770458.2A EP4280605A4 (en) | 2021-03-19 | 2022-03-14 | DECODING METHOD AND DEVICE, ENCODING METHOD AND DEVICE, DEVICE AND STORAGE MEDIUM |
| ZA2023/08038A ZA202308038B (en) | 2021-03-19 | 2023-08-18 | Methods, apparatuses, devices, and storage media for encoding or decoding |
| JP2024082505A JP7655474B2 (ja) | 2021-03-19 | 2024-05-21 | 復号方法、符号化方法、装置、デバイスおよび記憶媒体 |
| US18/756,946 US12574543B2 (en) | 2021-03-19 | 2024-06-27 | Methods, apparatuses, devices, and storage media for encoding or decoding |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202110297136.3A CN114640856B (zh) | 2021-03-19 | 2021-03-19 | 解码方法、编码方法、装置及设备 |
| CN202110297136.3 | 2021-03-19 |
Related Child Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/548,785 A-371-Of-International US12063386B2 (en) | 2021-03-19 | 2022-03-14 | Methods, apparatuses, devices, and storage media for encoding or decoding |
| US18/756,946 Continuation US12574543B2 (en) | 2021-03-19 | 2024-06-27 | Methods, apparatuses, devices, and storage media for encoding or decoding |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2022194103A1 true WO2022194103A1 (zh) | 2022-09-22 |
Family
ID=78668980
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2022/080697 Ceased WO2022194103A1 (zh) | 2021-03-19 | 2022-03-14 | 解码方法、编码方法、装置、设备及存储介质 |
Country Status (10)
| Country | Link |
|---|---|
| US (2) | US12063386B2 (zh) |
| EP (1) | EP4280605A4 (zh) |
| JP (2) | JP7494403B2 (zh) |
| KR (2) | KR102696422B1 (zh) |
| CN (5) | CN114640856B (zh) |
| AU (1) | AU2022235881B2 (zh) |
| MY (1) | MY209492A (zh) |
| TW (1) | TWI806495B (zh) |
| WO (1) | WO2022194103A1 (zh) |
| ZA (1) | ZA202308038B (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN114640856B (zh) * | 2021-03-19 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置及设备 |
| DE112021008324T5 (de) * | 2021-12-01 | 2024-09-05 | Hitachi Astemo, Ltd. | Fahrassistenzvorrichtung und fahrassistenzverfahren |
| CN115396672B (zh) * | 2022-08-25 | 2024-04-26 | 广东中星电子有限公司 | 比特流存储方法、装置、电子设备和计算机可读介质 |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060133501A1 (en) * | 2004-11-30 | 2006-06-22 | Yung-Lyul Lee | Motion estimation and compensation method and device adaptive to change in illumination |
| CA2543947A1 (en) * | 2005-04-19 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively selecting context model for entropy coding |
| CN110662075A (zh) * | 2018-06-29 | 2020-01-07 | 北京字节跳动网络技术有限公司 | 改进的时域运动矢量预测推导 |
| CN111953995A (zh) * | 2019-05-17 | 2020-11-17 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
| CN112153389A (zh) * | 2019-05-17 | 2020-12-29 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
| CN113794888A (zh) * | 2021-03-19 | 2021-12-14 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置、设备及机器可读存储介质 |
Family Cites Families (24)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| RU2336661C2 (ru) | 2005-04-19 | 2008-10-20 | Самсунг Электроникс Ко., Лтд. | Способ и устройство адаптивного выбора контекстной модели для кодирования по энтропии |
| JP2008005112A (ja) * | 2006-06-21 | 2008-01-10 | Matsushita Electric Ind Co Ltd | ストリームエンコーダ及びストリームデコーダ |
| US10536701B2 (en) | 2011-07-01 | 2020-01-14 | Qualcomm Incorporated | Video coding using adaptive motion vector resolution |
| US9043866B2 (en) | 2011-11-14 | 2015-05-26 | Wave Systems Corp. | Security systems and methods for encoding and decoding digital content |
| JP6149151B2 (ja) * | 2013-04-02 | 2017-06-14 | ヴィド スケール インコーポレイテッド | スケーラブルビデオコーディングのための拡張時間的動きベクトル予測 |
| US9762927B2 (en) | 2013-09-26 | 2017-09-12 | Qualcomm Incorporated | Sub-prediction unit (PU) based temporal motion vector prediction in HEVC and sub-PU design in 3D-HEVC |
| CN108293131B (zh) * | 2015-11-20 | 2021-08-31 | 联发科技股份有限公司 | 基于优先级运动矢量预测子推导的方法及装置 |
| CN109996081B (zh) * | 2017-12-31 | 2023-09-12 | 华为技术有限公司 | 图像预测方法、装置以及编解码器 |
| US11265551B2 (en) * | 2018-01-18 | 2022-03-01 | Qualcomm Incorporated | Decoder-side motion vector derivation |
| US10511852B1 (en) * | 2018-07-13 | 2019-12-17 | Tencent America LLC | Method and apparatus for video coding |
| US10715812B2 (en) * | 2018-07-13 | 2020-07-14 | Tencent America LLC | Method and apparatus for video coding |
| CN114866777B (zh) * | 2018-09-20 | 2024-11-22 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法及其设备 |
| CN119676442A (zh) * | 2018-12-29 | 2025-03-21 | 华为技术有限公司 | 帧间预测方法、装置以及相应的编码器和解码器 |
| CN111264061B (zh) * | 2019-03-12 | 2023-07-25 | 深圳市大疆创新科技有限公司 | 视频编码的方法与装置,以及视频解码的方法与装置 |
| CN111953997B (zh) * | 2019-05-15 | 2024-08-09 | 华为技术有限公司 | 候选运动矢量列表获取方法、装置及编解码器 |
| CN113794883B (zh) * | 2019-08-23 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种编解码方法、装置及其设备 |
| WO2021056205A1 (zh) * | 2019-09-24 | 2021-04-01 | 北京大学 | 一种视频处理方法、设备及存储介质 |
| CN113709484B (zh) | 2020-03-26 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置、设备及机器可读存储介质 |
| CN113766234B (zh) | 2020-06-05 | 2022-12-23 | 杭州海康威视数字技术股份有限公司 | 一种解码、编码方法、装置及其设备 |
| CN112004097B (zh) * | 2020-07-30 | 2021-09-14 | 浙江大华技术股份有限公司 | 帧间预测方法、图像处理装置以及计算机可读存储介质 |
| CN112291565B (zh) * | 2020-09-10 | 2021-09-14 | 浙江大华技术股份有限公司 | 视频编码方法及其相关装置 |
| CN112218076B (zh) * | 2020-10-17 | 2022-09-06 | 浙江大华技术股份有限公司 | 一种视频编码方法、装置、系统及计算机可读存储介质 |
| US11924409B2 (en) * | 2021-02-21 | 2024-03-05 | Alibaba (China) Co., Ltd. | Systems and methods for inter prediction compensation |
| US11778217B2 (en) * | 2021-02-22 | 2023-10-03 | Tencent America LLC | High level syntax control for screen content coding |
-
2021
- 2021-03-19 CN CN202110297136.3A patent/CN114640856B/zh active Active
- 2021-03-19 CN CN202111146280.3A patent/CN113794889B/zh active Active
- 2021-03-19 CN CN202111143914.XA patent/CN113727118B/zh active Active
- 2021-03-19 CN CN202111146263.XA patent/CN113794888B/zh active Active
- 2021-03-19 CN CN202111143912.0A patent/CN113709502B/zh active Active
-
2022
- 2022-03-14 JP JP2023557413A patent/JP7494403B2/ja active Active
- 2022-03-14 KR KR1020237028128A patent/KR102696422B1/ko active Active
- 2022-03-14 EP EP22770458.2A patent/EP4280605A4/en active Pending
- 2022-03-14 US US18/548,785 patent/US12063386B2/en active Active
- 2022-03-14 AU AU2022235881A patent/AU2022235881B2/en active Active
- 2022-03-14 WO PCT/CN2022/080697 patent/WO2022194103A1/zh not_active Ceased
- 2022-03-14 MY MYPI2023005012A patent/MY209492A/en unknown
- 2022-03-14 KR KR1020247027215A patent/KR20240127495A/ko active Pending
- 2022-03-16 TW TW111109686A patent/TWI806495B/zh active
-
2023
- 2023-08-18 ZA ZA2023/08038A patent/ZA202308038B/en unknown
-
2024
- 2024-05-21 JP JP2024082505A patent/JP7655474B2/ja active Active
- 2024-06-27 US US18/756,946 patent/US12574543B2/en active Active
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20060133501A1 (en) * | 2004-11-30 | 2006-06-22 | Yung-Lyul Lee | Motion estimation and compensation method and device adaptive to change in illumination |
| CA2543947A1 (en) * | 2005-04-19 | 2006-10-19 | Samsung Electronics Co., Ltd. | Method and apparatus for adaptively selecting context model for entropy coding |
| CN110662075A (zh) * | 2018-06-29 | 2020-01-07 | 北京字节跳动网络技术有限公司 | 改进的时域运动矢量预测推导 |
| CN111953995A (zh) * | 2019-05-17 | 2020-11-17 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
| CN112153389A (zh) * | 2019-05-17 | 2020-12-29 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
| CN112243586A (zh) * | 2019-05-17 | 2021-01-19 | 华为技术有限公司 | 一种帧间预测的方法和装置 |
| CN113794888A (zh) * | 2021-03-19 | 2021-12-14 | 杭州海康威视数字技术股份有限公司 | 解码方法、编码方法、装置、设备及机器可读存储介质 |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP4280605A4 * |
Also Published As
| Publication number | Publication date |
|---|---|
| CN113727118A (zh) | 2021-11-30 |
| KR102696422B1 (ko) | 2024-08-16 |
| KR20230128569A (ko) | 2023-09-05 |
| TWI806495B (zh) | 2023-06-21 |
| CN113709502B (zh) | 2022-12-23 |
| CN113794888B (zh) | 2022-12-23 |
| AU2022235881A1 (en) | 2023-09-07 |
| CN114640856A (zh) | 2022-06-17 |
| CN113794889B (zh) | 2022-12-23 |
| CN114640856B (zh) | 2022-12-23 |
| MY209492A (en) | 2025-07-12 |
| EP4280605A4 (en) | 2024-08-07 |
| KR20240127495A (ko) | 2024-08-22 |
| ZA202308038B (en) | 2024-12-18 |
| JP2024508193A (ja) | 2024-02-22 |
| JP7494403B2 (ja) | 2024-06-03 |
| US12574543B2 (en) | 2026-03-10 |
| US20240171770A1 (en) | 2024-05-23 |
| CN113794888A (zh) | 2021-12-14 |
| AU2022235881B2 (en) | 2024-05-23 |
| JP2024098086A (ja) | 2024-07-19 |
| TW202245472A (zh) | 2022-11-16 |
| CN113794889A (zh) | 2021-12-14 |
| US12063386B2 (en) | 2024-08-13 |
| CN113727118B (zh) | 2022-12-23 |
| JP7655474B2 (ja) | 2025-04-02 |
| EP4280605A1 (en) | 2023-11-22 |
| CN113709502A (zh) | 2021-11-26 |
| US20240357155A1 (en) | 2024-10-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106713933B (zh) | 图像解码方法 | |
| CN119299668A (zh) | 图像编码/解码方法以及存储比特流的记录介质 | |
| JP7655474B2 (ja) | 復号方法、符号化方法、装置、デバイスおよび記憶媒体 | |
| TW201309042A (zh) | 運動資訊之編碼解碼方法及其裝置 | |
| WO2015010319A1 (zh) | 一种基于p帧的多假设运动补偿编码方法 | |
| TWI806650B (zh) | 解碼方法、編碼方法、裝置、設備及存儲介質 | |
| CN119769091A (zh) | 用于视频处理的方法、装置和介质 | |
| CN112565747B (zh) | 一种解码、编码方法、装置及其设备 | |
| CN110662074B (zh) | 一种运动矢量确定方法和设备 | |
| RU2824460C1 (ru) | Способы, оборудование, устройства и носители данных для кодирования или декодирования | |
| RU2834715C2 (ru) | Способы, оборудование, устройства и носители данных для кодирования или декодирования | |
| HK40064060A (zh) | 解码方法、编码方法、装置、设备及机器可读存储介质 | |
| HK40064060B (zh) | 解码方法、编码方法、装置、设备及机器可读存储介质 | |
| WO2012114561A1 (ja) | 動画像符号化装置及び動画像符号化方法 |
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: 22770458 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 20237028128 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 202317055500 Country of ref document: IN Ref document number: 2022235881 Country of ref document: AU Ref document number: 1020237028128 Country of ref document: KR |
|
| ENP | Entry into the national phase |
Ref document number: 2022770458 Country of ref document: EP Effective date: 20230815 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 18548785 Country of ref document: US |
|
| ENP | Entry into the national phase |
Ref document number: 2022235881 Country of ref document: AU Date of ref document: 20220314 Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2301005785 Country of ref document: TH |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023557413 Country of ref document: JP |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 11202306293W Country of ref document: SG |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023122612 Country of ref document: RU |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
