WO2021056205A1 - Procédé et dispositif de traitement vidéo, et support de stockage - Google Patents

Procédé et dispositif de traitement vidéo, et support de stockage Download PDF

Info

Publication number
WO2021056205A1
WO2021056205A1 PCT/CN2019/107589 CN2019107589W WO2021056205A1 WO 2021056205 A1 WO2021056205 A1 WO 2021056205A1 CN 2019107589 W CN2019107589 W CN 2019107589W WO 2021056205 A1 WO2021056205 A1 WO 2021056205A1
Authority
WO
WIPO (PCT)
Prior art keywords
offset
motion information
motion vector
dual
candidate list
Prior art date
Application number
PCT/CN2019/107589
Other languages
English (en)
Chinese (zh)
Inventor
郑萧桢
王苏红
马思伟
王苫社
Original Assignee
北京大学
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to CN201980034157.7A priority Critical patent/CN112204983A/zh
Priority to PCT/CN2019/107589 priority patent/WO2021056205A1/fr
Publication of WO2021056205A1 publication Critical patent/WO2021056205A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Definitions

  • the embodiments of the present invention relate to the field of video coding and decoding, and in particular to a video processing method, device, and storage medium.
  • Prediction is an important module of the mainstream video coding framework. Prediction can include intra-frame prediction and inter-frame prediction.
  • the inter prediction mode may include an advanced motion vector prediction (Advanced Motion Vector Prediction, AMVP) mode and a merge (Merge) mode.
  • AMVP Advanced Motion Vector Prediction
  • Merge merge
  • DMVR decoder side motion vector refinement
  • the embodiments of the present invention provide a video processing method, equipment, and storage medium, which realize the fusion of MMVD technology and DMVR technology, improve coding and decoding performance, and effectively improve coding and decoding efficiency.
  • an embodiment of the present invention provides a video processing method, including:
  • a target motion information candidate list is obtained;
  • the target motion information candidate list includes dual motion information, based on the accuracy of the motion vector included in the dual motion information, determine whether the dual motion information satisfies a first preset condition;
  • the image block is encoded or decoded.
  • an embodiment of the present invention provides a video processing device, which is characterized by including: a memory and a processor;
  • the memory is used to store programs
  • the processor is used to call the program, and when the program is executed, it is used to perform the following operations:
  • a target motion information candidate list is obtained;
  • the target motion information candidate list includes dual motion information, based on the accuracy of the motion vector included in the dual motion information, determine whether the dual motion information satisfies a first preset condition;
  • the image block is encoded or decoded.
  • an embodiment of the present invention provides a computer-readable storage medium that stores a computer program that, when executed by a processor, implements the video processing method described in the above-mentioned first aspect.
  • the dual motion included in the target motion information candidate list is determined
  • the dual motion information is corrected according to the DMVR method to obtain the corrected dual motion information, so that the image block is encoded or decoded based on the corrected dual motion information.
  • Figure 1 is an architecture diagram of an encoding and decoding system
  • Figure 2 is a frame diagram of an encoder
  • Figure 3 is a schematic diagram of a MMVD search point
  • Figure 4 is a schematic diagram of a DMVR correction area
  • FIG. 5 is a schematic flowchart of a video processing method provided by an embodiment of the present invention.
  • Figure 6 is a schematic diagram of an implementation of DMVR
  • FIG. 7 is a schematic flowchart of another video processing method provided by an embodiment of the present invention.
  • Fig. 8 is a schematic structural diagram of a video processing device provided by an embodiment of the present invention.
  • the video processing method proposed in the embodiment of the present invention can be applied to a video processing device.
  • the video processing device can be set on a smart terminal (such as a mobile phone, a tablet computer, etc.), and the video processing device can be used on an encoding end or a decoding end. It can be an encoder or a decoder.
  • the embodiments of the present invention can be applied to aircraft (such as drones).
  • the embodiments of the present invention can also be applied to other movable platforms (such as unmanned ships, unmanned vehicles). , Robots, etc.), the embodiment of the present invention does not make specific limitations.
  • FIG. 1 is an architecture diagram of an encoding and decoding system.
  • the system 100 can receive the data 102 to be processed, process the data 102 to be processed, and generate processed data 108.
  • the system 100 may receive the data to be encoded and encode the data to be encoded to generate encoded data, or the system 100 may receive the data to be decoded and decode the data to be decoded to generate decoded data.
  • the components in the system 100 may be implemented by one or more processors.
  • the processor may be a processor in a computing device or a processor in a mobile device (such as a drone).
  • the processor may be any type of processor, which is not limited in the embodiment of the present invention.
  • the processor may include an encoder, a decoder, or a codec, etc.
  • the system 100 may also include one or more memories.
  • the memory can be used to store instructions and data, for example, computer executable instructions, to-be-processed data 102, processed data 108, etc., that implement the technical solutions of the embodiments of the present invention.
  • the memory may be any type of memory, which is not limited in the embodiment of the present invention.
  • the data to be encoded may include text, images, graphic objects, animation sequences, audio, video, or any other data that needs to be encoded.
  • the data to be encoded may include sensor data from sensors, which may be vision sensors (for example, cameras, infrared sensors), microphones, near-field sensors (for example, ultrasonic sensors, radars), position sensors, and temperature sensors. Sensors, touch sensors, etc.
  • the data to be encoded may include information from the user, for example, biological information, which may include facial features, fingerprint scans, retinal scans, voice recordings, DNA sampling, and the like.
  • FIG. 2 is a frame diagram of an encoder.
  • the processes of inter-frame coding and intra-frame coding will be respectively introduced in conjunction with FIG. 2.
  • the process of inter-frame encoding and decoding can be as follows:
  • an image of the current frame is acquired.
  • a reference frame image is acquired.
  • a reference frame image is used to perform motion estimation to obtain a motion vector (Motion Vector, MV) of each image block of the current frame image.
  • the motion vector obtained by the motion estimation is used to perform motion compensation to obtain the estimated value of the current image block.
  • the estimated value of the current image block is subtracted from the current image block to obtain the residual.
  • the residual is transformed to obtain transform coefficients.
  • the transform coefficients are quantized to obtain the quantized coefficients.
  • the quantized coefficients are entropy coded, and finally the bit stream obtained by entropy coding and the coding mode information after coding are stored or sent to the decoding end.
  • dequantize the quantized result In 210, the inverse quantization result is inversely transformed.
  • the reconstructed pixels are obtained by using the inverse transform result and the motion compensation result.
  • the reconstructed pixels are filtered. In 213, the reconstructed pixels after filtering are output.
  • the intra-frame encoding and decoding process can be as follows:
  • an image of the current frame is acquired.
  • intra-frame prediction selection is performed on the current frame image.
  • the current image block in the current frame performs intra-frame prediction.
  • the estimated value of the current image block is subtracted from the current image block to obtain the residual.
  • the residual of the image block is transformed to obtain transform coefficients.
  • the transform coefficients are quantized to obtain the quantized coefficients.
  • the quantized coefficients are entropy-encoded, and finally the bit stream obtained by the entropy encoding and the encoding mode information after the encoding are stored or sent to the decoding end.
  • the quantization result is dequantized.
  • the inverse quantization result is inversely transformed, and in 211, the inverse transform result and the intra-frame prediction result are used to obtain reconstructed pixels.
  • the image in the encoding process, in order to remove redundancy, the image can be predicted. Different images in the video can use different prediction methods. According to the prediction method adopted by the image, the image can be divided into an intra-frame prediction image and an inter-frame prediction image.
  • the inter prediction mode may include AMVP mode and Merge mode.
  • the motion vector prediction (motion vector prediction, MVP) can be determined first, and the MVP can be directly determined as the MV.
  • MVP motion vector prediction
  • the list can include at least one candidate MVP, and each candidate MVP can have an index.
  • the encoder can write the MVP index into the code stream, and the decoder can follow this The index finds the MVP corresponding to the index from the MVP candidate list to realize the decoding of the image block.
  • Step 1 Obtain the MVP candidate list
  • Step 2 Select an optimal MVP from the MVP candidate list, and at the same time obtain the index of the MVP in the MVP candidate list;
  • Step 3 Use the MVP as the MV of the current block
  • Step 4 Determine the position of the reference block (also called the prediction block) in the reference frame image according to the MV;
  • Step 5 Subtract the current block from the reference block to obtain residual data
  • Step 6 Pass the residual data and the index of the MVP to the decoding end.
  • Merge mode can also have other implementations.
  • inter-frame prediction mainly includes inter-frame prediction modes such as forward prediction, backward prediction, bidirectional prediction, and multi-frame prediction.
  • Forward prediction is to use the previous reconstructed frame ("history frame") to predict the current frame
  • backward prediction is to use the frame after the current frame ("future frame”) to predict the current frame
  • two-way prediction is not only the use of " "History frame” also uses “future frame” to predict the current frame
  • multi-frame prediction uses multiple reference frames to predict the current frame, and the multiple reference frames can be, for example, multiple "future frames", (labeled as " " "t” is the current frame).
  • the motion vectors included in the MVP candidate list may be dual motion vectors (a dual motion vector includes two single motion vectors), depending on whether the prediction block of the current block is bidirectional prediction. Wherein, one piece of single movement information included in one piece of dual movement information may come from the first list, and the other piece of single movement information included may come from the second list.
  • the first list may be list0
  • the second list may be list1.
  • List0 and list1 can be used for inter prediction of P frame or B frame.
  • I frame is also called intra-frame coded frame, which is an independent frame with all its own information, and can be decoded independently without referring to other images, that is, all are intra-frame coded.
  • P frame is also called inter-frame predictive coding frame. It needs to refer to the previous I frame to be encoded. It represents the difference between the current frame picture and the previous frame (the previous frame may be an I frame or a P frame). It is required for decoding The previously buffered picture is superimposed on the difference defined by this frame (using predictive coding) to generate the final picture.
  • B frame is also called bidirectional predictive coding frame, that is, B frame records the difference between the current frame and the previous frame.
  • B frame records the difference between the current frame and the previous frame.
  • To decode B frame not only the previous cached picture must be obtained, but also the decoded picture after passing through The superposition of the screen and the data of this frame obtains the final screen.
  • List0 and list1 are composed of several image frames. In some prior art, for P-frames, only list0 is used for inter-frame prediction, and for B-frames, both list0 and list1 are used in inter-frame prediction.
  • the current image frame (numbered 100) has three forward reference frames and three backward reference frames, that is, a total of six reference frames, which are in the order of natural images
  • the label (that is, the natural number) is 97, 98, 99, 100, 101, 102, 103.
  • the indexes of these reference frames in list 0 and list 1 are different.
  • the frame closest to the current reference frame is marked with index 0
  • the previous frame is marked with index 1
  • the forward reference is in order
  • the index of the natural image with order number 97, 98, 99, 100, 101, 102, 103 can be 2, 1, 0, 3, 4, 5; in list 1, the closest The next reference frame of the current reference frame is marked with index 0, and the next reference frame is marked with index 1.
  • the forward reference frame is arranged, and the sequence number is 97, 98, 99, 100,
  • the indexes of the natural images of 101, 102, and 103 may be 5, 4, 3, 0, 1, 2 in order.
  • the motion information comes from the first list or the second list, which schematically indicates that the reference frame corresponding to the motion information comes from the first list or the second list.
  • the MMVD technology is applied in the Merge mode.
  • the MMVD technology is usually called the ultimate motion vector expression (UMVE) technology, and can also be called the Merge technology containing the difference of the motion vector.
  • the MMVD technology is applied in constructing the Merge motion information candidate list, and the Merge motion information candidate list will be used in the MMVD technology.
  • the motion information candidate list includes one or more motion vectors (MV).
  • the implementation of MMVD technology can be roughly divided into two steps:
  • the first step is to use the constructed initial motion information candidate list of the Merge mode, and use the first two motion vectors in the initial motion information candidate list as the motion vectors in the target motion information candidate list of MMVD. If the initial motion information candidate list is If the number x of candidate motion vectors is less than N (N is a positive integer, such as 2), then (0, 0) is used for filling.
  • N is a positive integer, such as 2)
  • the motion vectors in the target motion information candidate list may come from spatial domain (MVP), temporal domain (TMVP), history-based motion vector prediction (HMVP), pairwise mean motion vector prediction pairwise MVP , (0,0), etc. Any one or more of these situations.
  • the second step is to offset the motion vector in the target motion information candidate list according to certain rules to generate a new motion vector.
  • record the motion vector in the target motion information candidate list as (x, y), and the new one after offset
  • the motion vector is (x', y').
  • the offset value (offset) has 8 optional values in the current design.
  • There are 4 ways to modify the motion vector in the target motion information candidate list as follows:
  • the offset value of the motion vector can have 8 values: 1/4 pixel, 1/2 pixel, 1 pixel, 2 pixel, 4 pixel, 8 pixel, 16 pixel , 32 pixels, as shown in Figure 3,
  • Figure 3 is a schematic diagram of MMVD search points.
  • the DMVR technology can be applied to the bidirectionally predicted coding blocks in the ordinary Merge mode, and the corrected MV can be obtained by finding a more accurate MV around the initial motion vector.
  • the implementation process of the implementation of the DMVR can be briefly summarized as the following steps:
  • Step 1 Calculate the sum of absolute errors (Sum of Absolute Differences, SAD) between the prediction blocks pointed to by the motion vectors MV0 and MV1 of the dual motion information that meet the first preset condition in their corresponding reference frames;
  • Step 2 Perform mirror offset on the periphery of the prediction block pointed to by the motion vector of the dual motion information in the respective reference frame, for example, first offset at the whole pixel, and then at the sub-pixel (such as 1/2 pixel) Offset
  • Step 3 Calculate the SAD between the two predicted blocks after the offset
  • Step 4 Select a group of motion vectors with the smallest SAD as the motion vector of the corrected dual motion information.
  • the final motion information candidate list can be determined based on the motion vector of the corrected dual motion information, and then the optimal MV for the current block can be determined from it. Encoding or decoding.
  • the correction area of the DMVR technology for the motion vector is within 2 pixels around the current position (as shown in Figure 4, which is a schematic diagram of the DMVR correction area). If the DMVR technology is applied to all MMVD modes On image blocks, some blocks will have repeated correction operations. For example, for image blocks whose motion vector offset is less than or equal to 2, the offset motion vector will be offset again during DMVR, which may lead to redundancy. Operation even shifts the originally corrected position.
  • the embodiment of the present invention proposes to perform DMVR for some image blocks in MMVD mode to solve the above problems, that is, by fusing MMVD technology and DMVR technology, according to the DMVR method, the target motion of the image block of the current frame that meets the first preset condition
  • the dual motion information in the information candidate list is corrected to obtain the corrected dual motion information, and based on the corrected dual motion information, the image block is encoded or decoded to ensure that no additional coding and decoding complexity is introduced. , Improve coding and decoding performance and improve coding and decoding efficiency.
  • FIG. 5 is a schematic flowchart of a video processing method according to an embodiment of the present invention.
  • the method can be applied to a video processing device, where the explanation of the video processing device is as described above and will not be repeated here.
  • the method of the embodiment of the present invention includes the following steps.
  • S501 Acquire an initial motion information candidate list of the image block of the current frame.
  • the video processing device may obtain the initial motion information candidate list of the image block of the current frame.
  • the current frame may be an image frame in the video.
  • the image can be divided into multiple image blocks.
  • the image can be divided into an m ⁇ n image block array.
  • the image block may have a rectangular shape, a square shape, a circular shape, or any other shape.
  • the image block can have any size, such as p ⁇ q pixels.
  • You can encode images of different resolutions by first dividing the image into multiple small blocks. Each image block can have the same size and/or shape. Alternatively, two or more image blocks may have different sizes and/or shapes. After the image is divided into a plurality of image blocks, these image blocks in the image data can be coded separately.
  • the image block may be a coding unit (Coding Unit, CU); in some embodiments, the current frame may be divided into equally large coding regions (Coding Tree Unit, CTU), for example 64x64, 128x128 size. Each CTU can be further divided into square or rectangular coding units (CU).
  • CU Coding Unit
  • the initial motion information candidate list may be the initial motion information candidate list of the image block of the current frame that has been constructed and obtained by the video processing device in the Merge mode. By obtaining the initial motion information candidate list, it is helpful to determine the target motion information candidate list.
  • the initial motion information candidate list may include at least one candidate motion information.
  • the number of candidate motion information included in the initial motion information candidate list may be a preset value.
  • the video processing device may sequentially add the motion information to be added to the initial motion information candidate list until the number of motion information included in the initial motion information candidate list reaches a preset value.
  • the motion information candidate list (for example, the initial motion information candidate list) mentioned in the embodiment of the present invention may be a set of candidate motion information of an image block, and each candidate motion information in the motion information candidate list may be stored in the same One buffer (buffer) can also be stored in different buffers, and there is no restriction here.
  • the index of the motion information in the motion information candidate list may be the index of the motion information in the set of candidate motion information of the image block.
  • the set of candidate motion information includes 5 candidate motion information, and the indexes of the 5 candidate motion information in the motion information candidate list may be 0, 1, 2, 3, and 4, respectively.
  • the motion information mentioned in the embodiment of the present invention may include a motion vector, or include a motion vector and reference frame information (for example, a reference frame index) and so on.
  • S502 Obtain a target motion information candidate list based on the initial motion information candidate list based on the MMVD method of expressing the ultimate motion vector.
  • the video processing device may express the MMVD method according to the ultimate motion vector, and obtain the target motion information candidate list based on the initial motion information candidate list.
  • the video processing device when the video processing device expresses the MMVD method according to the ultimate motion vector and obtains the target motion information candidate list based on the initial motion information candidate list, it may determine the specified number of motion vectors in the initial motion information candidate list For the motion vectors in the target motion information candidate list, if the number of candidate motion vectors in the initial motion information candidate list is less than the specified number, use (0, 0) for filling.
  • the video processing device may determine the first two motion vectors in the initial motion information candidate list as the motion vectors in the target motion information candidate list. If the number x of candidate motion vectors in the initial motion information candidate list is less than 2, use (0, 0) is filled into the initial motion information candidate list.
  • the video processing device when the video processing device expresses the MMVD method according to the ultimate motion vector and obtains the target motion information candidate list based on the initial motion information candidate list, it may express the offset features included in the MMVD method based on the ultimate motion vector,
  • the specific motion information in the initial motion information candidate list is selectively offset to obtain a target motion information candidate list including the offset specific motion information.
  • the offset feature includes multiple offset directions and multiple offsets, wherein each of the offset directions corresponds to the multiple offsets.
  • the specific motion information can be offset in some of the multiple offset directions, the specific motion information can be offset according to the partial offset of the multiple offsets, or the specific motion information can be offset in the Part of the multiple offset directions is offset according to the part of the multiple offsets to obtain a target motion information candidate list including the offset specific motion information.
  • the video processing device may determine whether the dual motion information satisfies the first prediction based on the accuracy of the motion vector included in the dual motion information. Set conditions.
  • the video processing device may detect at least one of the dual motion information when determining whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information Whether the accuracy of the motion vector meets the first condition, and if so, it can be determined that the dual motion information meets the first preset condition.
  • a piece of dual motion information may include two motion vectors, and detecting whether the accuracy of at least one motion vector in the dual motion information satisfies the first condition includes detecting whether the accuracy of any motion vector in the dual motion information satisfies the first condition, and also includes Detecting whether the accuracy of the two motion vectors in the dual motion information meets the first condition also includes detecting whether the accuracy of the specific motion vector in the dual motion information meets the first condition, that is, it refers to one or the other of the dual motion information. The accuracy of the multiple motion vectors satisfies the first condition.
  • the video processing device may detect whether the horizontal component of the at least one motion vector in the dual motion information is An integer multiple of the first pixel accuracy threshold. If the horizontal component of at least one motion vector in the dual motion information is an integer multiple of the first pixel accuracy threshold, then at least one motion vector in the dual motion information can be determined The accuracy of satisfies the first condition. The horizontal component of the motion vector is used to determine whether the accuracy of the motion vector satisfies the first condition, which improves the efficiency of determining the accuracy of the motion vector.
  • the first pixel accuracy threshold is 2
  • the video processing device detects that the horizontal component MV_BASE_X of at least one motion vector in the dual motion information included in the target motion information candidate list is 4, the level of at least one motion vector can be determined Component 4 is an integer multiple of the first pixel accuracy threshold 2. Therefore, it can be determined that the accuracy of at least one motion vector in the dual motion information satisfies the first condition.
  • the video processing device when the video processing device detects whether the accuracy of at least one motion vector in the dual motion information satisfies the first condition, it may detect whether the vertical component of the at least one motion vector in the dual motion information is An integer multiple of the second pixel accuracy threshold. If the vertical component of at least one motion vector in the dual motion information is an integer multiple of the second pixel accuracy threshold, at least one motion vector in the dual motion information can be determined The accuracy of satisfies the first condition. The vertical component of the motion vector is used to determine whether the accuracy of the motion vector meets the first condition, which improves the efficiency of determining the accuracy of the motion vector.
  • the second pixel accuracy threshold is 4, if the video processing device detects that the vertical component MV_BASE_Y of at least one motion vector in the dual motion information included in the target motion information candidate list is 4, it can determine the vertical component of the at least one motion vector.
  • Component 4 is an integer multiple of the second pixel accuracy threshold 4. Therefore, it can be determined that the accuracy of at least one motion vector in the dual motion information satisfies the first condition.
  • the video processing device may detect whether the horizontal component of the at least one motion vector in the dual motion information is Whether the first pixel accuracy threshold is an integer multiple and the vertical component is an integer multiple of the second pixel accuracy threshold, if the horizontal component of at least one motion vector in the dual motion information is an integer multiple of the first pixel accuracy threshold and the vertical If the component is an integer multiple of the second pixel accuracy threshold, it can be determined that the accuracy of at least one motion vector in the dual motion information satisfies the first condition.
  • the horizontal component and vertical component of the motion vector are used to determine whether the accuracy of the motion vector meets the first condition, which improves the efficiency and accuracy of determining the accuracy of the motion vector.
  • the first pixel accuracy threshold includes 2 or 4. In some embodiments, the second pixel accuracy threshold includes 2 or 4. In some embodiments, the first pixel accuracy threshold and the second pixel accuracy threshold may be equal or not equal. In some embodiments, the accuracy of the motion vector may be a set pixel accuracy. In an example, the accuracy of the motion vector may be 1/4 pixel, 1/2 pixel, 1 pixel, 2 pixels, Any pixel accuracy of 4 pixels, 8 pixels, 16 pixels, 32 pixels, etc.
  • the horizontal component of the motion vector is MV_BASE_X
  • the vertical component of the motion vector is MV_BASE_Y
  • the video processing device detects that the horizontal component of at least one motion vector in the dual motion information is 4, and the vertical component is 4, It can be determined that the horizontal component 4 of the at least one motion vector is twice the first pixel accuracy threshold 2, that is, an integer multiple, and the vertical component 4 is 1 times the second pixel accuracy threshold 4, that is, an integer multiple. Therefore, it can be determined that the accuracy of at least one motion vector in the dual motion information satisfies the first condition.
  • the dual motion information when the video processing device determines whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information, the dual motion information may be merged, To obtain a single motion information, and detect whether the accuracy of the motion vector included in the single motion information satisfies the first condition, and if so, it is determined that the dual motion information satisfies the first preset condition.
  • the dual motion information when the video processing device performs merging processing on the dual motion information, the dual motion information may be merged in a manner such as weighting processing, averaging processing, etc., to obtain single motion information.
  • the embodiment of the present invention does not specifically limit the manner of the dual motion information merging processing.
  • the video processing device when the video processing device detects whether the accuracy of the motion vector included in the single motion information satisfies the first condition, it may detect whether the horizontal component of the motion vector in the single motion information is third. If the horizontal component of the motion vector in the single motion information is an integer multiple of the third pixel accuracy threshold, it can be determined that the accuracy of the motion vector in the single motion information satisfies the first One condition. The horizontal component of a single motion vector is used to determine whether the accuracy of the motion vector satisfies the first condition, which improves the efficiency of determining the accuracy of the motion vector.
  • the first pixel accuracy threshold and the third pixel accuracy threshold may be the same or different, which is not specifically limited in the embodiment of the present invention.
  • the video processing device when the video processing device detects whether the accuracy of the motion vector included in the single motion information satisfies the first condition, it may detect whether the vertical component of the motion vector in the single motion information is fourth. If the vertical component of the motion vector in the single motion information is an integer multiple of the fourth pixel accuracy threshold, it can be determined that the accuracy of the motion vector in the single motion information satisfies the first One condition. The vertical component of a single motion vector is used to determine whether the accuracy of the motion vector meets the first condition, which improves the efficiency of determining the accuracy of the motion vector.
  • the fourth pixel accuracy threshold and the second pixel accuracy threshold may be the same or different, which is not specifically limited in the embodiment of the present invention.
  • the video processing device when it detects whether the accuracy of the motion vector included in the single motion information satisfies the first condition, it may detect whether the horizontal component of the motion vector in the single motion information is third. If the pixel accuracy threshold is an integer multiple of the pixel accuracy threshold and the vertical component is an integer multiple of the fourth pixel accuracy threshold, if the horizontal component of the motion vector in the single motion information is an integer multiple of the third pixel accuracy threshold and the vertical component is the If the fourth pixel accuracy threshold is an integer multiple, it can be determined that the accuracy of the motion vector in the single motion information satisfies the first condition.
  • the third pixel accuracy threshold and the fourth pixel accuracy threshold may be the same or different, which is not specifically limited in the embodiment of the present invention.
  • the horizontal component and vertical component of a single motion vector are used to determine whether the accuracy of the motion vector meets the first condition, which improves the efficiency of determining the accuracy of the motion vector. The specific embodiment is similar to the foregoing, and will not be repeated here.
  • the video processing device may detect at least one of the dual motion information when determining whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information Whether the accuracy of the motion vector meets the first condition, and whether the offset feature of at least one motion vector in the dual motion information relative to the corresponding initial motion vector in the initial motion information candidate list meets the second condition, if If the accuracy of at least one motion vector in the dual motion information meets the first condition, and the offset feature meets the second condition, it may be determined that the dual motion information meets the first preset condition.
  • the offset feature includes, but is not limited to, an offset. The accuracy of the motion vector and the offset feature of the motion vector are used to determine whether the dual motion information satisfies the first preset condition, which helps to improve the coding performance and the efficiency of coding and decoding.
  • the aforementioned MMVD method includes such as 8 offsets (that is, offset values) and 4
  • the two offset directions are offset respectively, and based on the offset motion vector, a candidate list of target motion information is obtained. Therefore, it can be determined whether the offset feature of the dual motion information satisfies the second condition according to the 8 offsets and/or the 4 offset directions.
  • the video processing device may detect whether the offset feature of at least one motion vector in the dual motion information with respect to the corresponding initial motion vector in the initial motion information candidate list satisfies the second condition. Whether the offset of at least one motion vector in the dual motion information relative to the corresponding initial motion vector in the initial motion information candidate list is greater than a preset offset threshold, and if so, it can be determined The offset feature of at least one motion vector with respect to the corresponding initial motion vector in the initial motion information candidate list satisfies the second condition.
  • the offset feature includes but is not limited to multiple offset directions and multiple offsets, wherein each offset direction corresponds to multiple offsets.
  • whether the offset of the at least one motion vector relative to the corresponding initial motion vector in the initial motion information candidate list is greater than a preset offset threshold includes whether the offset corresponding to each motion vector is greater than
  • the preset offset threshold includes whether the offset corresponding to any motion vector is greater than the preset offset threshold, and whether the offset corresponding to a specific motion vector is greater than the preset offset threshold, that is, refers to dual motion information Whether the offset of one or more of the motion vectors relative to the corresponding initial motion vector in the initial motion information candidate list is greater than a preset offset threshold.
  • the offset direction and the accuracy of the motion vector can be combined to determine whether the dual motion information meets the first preset condition, or the offset direction, the offset amount, and the accuracy of the motion vector can also be combined to determine Double motion letter
  • the preset offset threshold is related to the first condition.
  • the accuracy of the motion vector meeting the first condition includes that the accuracy of the motion vector is less than a preset pixel accuracy threshold, and the preset offset threshold is an integer of the preset pixel accuracy threshold Times.
  • the accuracy of the motion vector is less than the preset pixel accuracy threshold, that is, the horizontal component and/or vertical component of the motion vector can divide the corresponding preset pixel accuracy threshold.
  • the horizontal component MV_BASE_X of the motion vector is 2
  • the preset pixel accuracy threshold is 2. Since the horizontal component 2 can be divisible by 2, it means that the accuracy of the motion vector can reach 2; the horizontal component can be divisible by 1.
  • the accuracy of the motion vector can reach 1; the horizontal component 2 can be divided by 1/2, then the accuracy of the motion vector can be 1/2; the horizontal component 2 can be divided by 1/4, then the motion
  • the accuracy of the vector can be 1/4; therefore, if the achievable accuracy of the motion vector is 1/4, 1/2, and 1 are all less than the preset threshold 2, it can be determined that the accuracy of the motion vector is less than the preset pixel accuracy threshold 2.
  • the motion vector offset value can have 8 values: 1/4, 1/2, 1, 2, 4, 8, 16, 32.
  • the correction area of the DMVR technology for the motion vector is within 2 around the current position. Therefore, if the DMVR technology is applied to all MMVD mode coding blocks, some blocks will have repeated correction operations. For example, for coding blocks with a motion vector offset less than or equal to 2, the offset motion will be corrected when performing DMVR. The vector is shifted again, which may result in redundant operations, and even shift the originally corrected position. Therefore, in order to avoid redundant operations, the preset offset threshold is greater than 2.
  • the accuracy of the motion vector reflects the motion characteristics of the coding block to a certain extent. For example, for a coding block with higher motion vector accuracy, its motion is finer; for a coding block with lower motion vector accuracy, its motion is coarser. As for the coding speed with coarser motion characteristics, it is more likely to select a larger motion vector offset (for example, the same or greater accuracy than itself) in the MMVD method. Therefore, the coding block with such characteristics and applying the MMVD method is more suitable for applying the DMVR method. Therefore, the preset offset threshold may be related to the preset pixel accuracy, and the preset offset threshold may be an integer multiple of the preset pixel accuracy threshold, such as 2 times.
  • the horizontal component of the motion vector is MV_BASE_X
  • the vertical component of the motion vector is MV_BASE_Y
  • the motion vector is relative to the initial motion information candidate list
  • the offset feature of the corresponding initial motion vector in the dual motion information is offset, when it is detected that the horizontal component of at least one motion vector in the dual motion information is an integer multiple of N and the vertical component is an integer multiple of N, and the offset is greater than the preset
  • the offset threshold M satisfies the following formula (2), the dual motion information is corrected according to the DMVR method to obtain the corrected dual motion information.
  • the dual motion information when the video processing device determines whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information, the dual motion information may be merged, To obtain a single motion information, and detect whether the accuracy of the motion vector in the single motion information satisfies the second condition, and detect that at least one motion vector in the dual motion information is relative to the corresponding one in the initial motion information candidate list Whether the offset of the initial motion vector of is greater than the preset offset threshold, if the accuracy of the motion vector in the single motion information satisfies the second condition, and the offset is greater than the preset offset threshold, Then, it can be determined that the dual motion information satisfies the first preset condition.
  • the accuracy of the motion vector in the single motion information and the offset feature of the motion vector are used to determine whether the dual motion information satisfies the first preset condition, which helps to improve the coding performance and the efficiency of coding and decoding.
  • the specific embodiment examples are similar to the foregoing examples, and will not be repeated here.
  • the video processing device can correct the dual motion information according to the DMVR method of the decoding end motion vector to obtain the corrected dual motion information.
  • FIG. 6 is a schematic diagram of an implementation of DMVR.
  • Step 1 Calculate the reference frame corresponding to the motion vector MV0 of the dual motion information satisfying the first preset condition in the first list, and the corresponding reference frame in the second list of the motion vector MV1 of the dual motion information satisfying the first preset condition Reference frame, determining the absolute error sum (Sum of Absolute Differences, SAD) between the prediction block pointed to in the reference frame of the first list and the prediction block pointed to in the reference frame of the second list;
  • SAD Absolute Differences
  • Step 2 Perform mirror offset on the periphery of the prediction block pointed to by the motion vector of the dual motion information in the respective reference frame, for example, first offset at the whole pixel, and then at the sub-pixel (such as 1/2 pixel) Perform offset, for example, offset MV0 to get MV0', offset MV1 to get MV1';
  • Step 3 Calculate the SAD between the two predicted blocks after the offset, for example, the SAD between MV0' and MV1';
  • Step 4 Obtain a plurality of SADs between the two offset prediction blocks obtained by calculation, and select a group of motion vectors with the smallest SAD from the plurality of SADs as the motion vector of the corrected dual motion information.
  • a group of motion vectors of the smallest SAD among the plurality of SADs are MV0' and MV1', respectively, and the group of motion vectors of MV0' and MV1' are a group of motion vectors of dual motion information with better effects after correction.
  • the DMVR technology is applied to the MMVD technology, the loss of coding and decoding performance is reduced, and the accuracy of motion vector prediction is improved.
  • S505 Encode or decode the image block based on the corrected dual motion information.
  • the video processing device may encode or decode the image block based on the corrected dual motion information.
  • the coding and decoding efficiency is improved.
  • the target motion information candidate list is obtained, and the double information included in the target motion information candidate list is determined.
  • the dual motion information is corrected according to the DMVR method to obtain the corrected dual motion information, so that the image block is encoded or decoded based on the corrected dual motion information.
  • the fusion of MMVD technology and DMVR technology is realized, the coding and decoding performance is improved, and the coding and decoding efficiency is effectively improved.
  • FIG. 7 is a schematic flowchart of another video processing method according to an embodiment of the present invention.
  • the method can be applied to a video processing device, where the explanation of the video processing device is as described above and will not be repeated here.
  • the difference between the embodiment of the present invention and the embodiment described in FIG. 5 is that the embodiment of the present invention explains in detail how to obtain the target motion information candidate list based on the initial motion information candidate list according to the MMVD method. Specifically, this The method of the embodiment of the invention includes the following steps.
  • S701 Acquire an initial motion information candidate list of the image block of the current frame.
  • the video processing device may obtain the initial motion information candidate list of the image block of the current frame.
  • S702 Based on the offset feature included in the ultimate motion vector expression MMVD method, selectively offset the specific motion information in the initial motion information candidate list to obtain target motion information candidates including the offset specific motion information List.
  • the video processing device may express the offset feature included in the MMVD method based on the ultimate motion vector, selectively offset the specific motion information in the initial motion information candidate list, and obtain the offset feature including the offset Target motion information candidate list for specific motion information.
  • the offset feature includes multiple offset directions and multiple offsets, wherein each of the offset directions corresponds to the multiple offsets; the video processing device is based on the ultimate The motion vector expresses the offset feature included in the MMVD method.
  • the specific motion information in the initial motion information candidate list is selectively offset, it may be in the first direction of the plurality of offset directions, based on the The first offset of the plurality of offsets selectively offsets the specific motion information in the initial motion information candidate list.
  • the specific motion information mentioned in the embodiment of the present invention may include a motion vector, or include a motion vector and reference frame information (for example, reference frame index), etc.
  • reference frame information for example, reference frame index
  • the multiple offset directions may include four different directions, and the four directions include four directions up, down, left, and right as shown in FIG. 3.
  • the multiple offsets in each direction can have 8 values; in an example, the multiple offsets in each direction can include 1/4, 1/2, 1 , 2, 4, 8, 16, and 32.
  • the first direction may be one of the plurality of offset directions
  • the video processing device may perform an offset in one of the plurality of offset directions based on the offset of the plurality of offset directions.
  • the first offset selectively offsets the specific motion information in the initial motion information candidate list.
  • the video processing device can use the leftward direction among the four offset directions based on the first of the eight offset directions.
  • An offset of 1/4 selectively offsets the specific motion information in the initial motion information candidate list.
  • the first direction may be multiple offset directions, and the video processing device may be based on the first offset in the multiple offset directions in each of the multiple offset directions.
  • the specific motion information in the initial motion information candidate list is selectively offset.
  • the first offset may be one offset or multiple offsets, which is not specifically limited in the embodiment of the present invention.
  • the first offset It can be 1/4; in another example, the first offset can be 1/4 and 1/2.
  • the video processing device can be based on the first offset 1/ in the leftward direction based on the first offset 1/ 4 Selectively offset the specific motion information in the initial motion information candidate list; and the video processing device may be in the right direction, based on the 1/4 pair of the first offset among the plurality of offsets
  • the specific motion information in the initial motion information candidate list is selectively offset; and the video processing device may shift the initial motion information in an upward direction based on the first offset amount 1/4 of the plurality of offset amounts.
  • the specific motion information in the motion information candidate list is selectively offset; the video processing device may perform the offset on the initial motion information candidate in the downward direction based on the first offset 1/4 of the multiple offsets
  • the specific motion information in the list is selectively offset.
  • the video processing device compares a specific item in the initial motion information candidate list based on the first offset in the plurality of offset directions.
  • the motion information is selectively offset, it may be: in the second direction among the plurality of offset directions, the initial motion information candidate is adjusted according to the first offset of the plurality of offsets.
  • the specific motion information in the list is offset to obtain the reference offset cost of the specific motion information, and in the first direction, based on the reference offset cost and the second offset among the plurality of offsets.
  • the offset selectively offsets the specific motion information.
  • the second offset is greater than the first offset.
  • the second direction may include the first direction, and may be the same as or different from the first direction.
  • the offset cost is to offset the specific motion information in the initial motion information candidate list according to the first offset of the plurality of offsets under the same coding quality.
  • the number of bits required is determined. In some embodiments, the higher the number of bits, the greater the offset cost and the more coding time it takes. In some embodiments, the offset cost may be best cost; in some embodiments, the offset cost may be determined according to the following formula (3):
  • best cost represents the number of bits required to offset the specific motion information in the initial motion information candidate list according to the first offset of the multiple offsets under the same coding quality, and ⁇ is coefficient.
  • the second direction includes a plurality of offset directions, and the second direction includes the first direction; the video processing device may be in each offset direction of the plurality of offset directions, Offset the specific motion information in the initial motion information candidate list according to the first offset among the multiple offsets in each offset direction to obtain the reference offset cost of the specific motion information, and In one of the multiple offset directions, the specific motion information is selectively offset based on the reference offset cost and the second offset of the plurality of offsets.
  • the video processing device can be up and down respectively.
  • the specific motion information in the initial motion information candidate list is offset according to the first offset 1/4 to obtain a pair of the specific motion information according to the first offset 1/4.
  • the number of bits required to offset the specific motion information in the initial motion information candidate list is X, that is, the reference offset cost is X, and in the left direction, based on the reference offset cost X and the second
  • the offset 1/2 selectively offsets the specific motion information.
  • the offset cost mentioned in this article may include, but is not limited to, the number of bits required for offset, and may also include the magnitude of distortion such as distortion.
  • the second direction is a plurality of offset directions
  • the video processing device is in the first direction based on the reference offset cost and the second offset among the plurality of offsets.
  • the specific motion information may be offset in the first direction according to the second offset amount to obtain the offset of the specific motion information. If the offset cost and the reference offset cost meet a second preset condition, then in the first direction, continue to compare the offset cost according to the third offset of the plurality of offsets. The specific motion information is offset, and if the offset cost and the reference offset cost do not meet a second preset condition, then in the first direction, the specific motion information is no longer offset.
  • the plurality of offsets are arranged in ascending order, and the third offset is greater than the second offset and is adjacent to the second offset,
  • the 8 offsets are arranged in ascending order: 1/4, 1/2, 1, 2, 4, 8, 16, 32.
  • the offset cost and the reference offset cost satisfy a second preset condition, including at least one of the following: the offset cost is less than the smallest reference among the reference offset costs An offset cost, the offset cost is less than a specific reference offset cost in the reference offset cost, and the offset cost is less than a preset number of reference offset costs in the reference offset cost.
  • the second direction is a plurality of offset directions, and the second direction includes the first direction; the video processing device may perform the offset direction in each of the plurality of offset directions according to The first offset among the multiple offsets in each offset direction offsets the specific motion information in the initial motion information candidate list to obtain the reference offset cost of the specific motion information, and In one of the multiple offset directions, the specific motion information is offset according to the second offset amount to obtain the offset cost of the motion vector in the specific motion information.
  • the offset cost and the reference offset cost meet the second preset condition, in one of the multiple offset directions, according to the third offset of the multiple offsets
  • the offset continues to offset the specific motion information, and if the offset cost and the reference offset cost do not meet the second preset condition, then in one of the multiple offset directions , And no longer offset the specific motion information.
  • the multiple offsets are arranged in ascending order as follows: the first offset is 1/4, The second offset is 1/2, and the third offset is 1.
  • the video processing device can set the initial offset according to the first offset 1/4 of the multiple offsets in the four directions of up, down, left, and right.
  • the specific motion information in the motion information candidate list is offset to obtain the reference offset cost of the specific motion information, and in the left direction, the specific motion information is adjusted according to the second offset amount 1/2
  • the offset is performed, and the offset cost of the specific motion information is Y.
  • the offset cost Y is less than the minimum reference offset cost X in the reference offset cost, then in the left direction, continue to offset the specific motion information according to the third offset 1, if the offset cost Y If it is greater than the minimum reference offset cost X in the reference offset cost, then in the left direction, the specific motion information is no longer offset.
  • the video processing device may offset the specific motion information according to the second offset amount 1/2 in the left direction, and obtain the offset cost of the specific motion information as Y. If the offset cost Y is less than 2 (ie, the preset number) of the reference offset costs, the video processing device can continue to perform the specific motion information in the left direction according to the third offset 1 Offset, if the offset cost Y is less than 1 (ie, a preset number) of the reference offset costs, then the specific motion information is no longer offset in the left direction.
  • the video processing device may offset the specific motion information according to the second offset amount 1/2 in the left direction, and obtain the offset cost of the specific motion information as Y. If the offset cost Y is less than the specific reference offset cost Z in the reference offset cost, the video processing device can continue to offset the specific motion information in the left direction according to the third offset 1, if the offset If the cost Y is greater than the specific reference offset cost Z in the reference offset cost, the specific motion information is no longer offset in the left direction.
  • the second direction includes a plurality of offset directions, and the second direction does not include the first direction; the video processing device may perform offsets on the second direction according to the first offset.
  • the specific motion information in the initial motion information candidate list is offset to obtain the reference offset cost, and in the first direction, the specific motion information is offset according to the second offset amount to obtain the offset cost of the specific motion information, If the offset cost and the reference offset cost meet the second preset condition, in the first direction, continue to offset the specific motion information according to the third offset of the plurality of offsets If the offset cost and the reference offset cost do not meet the second preset condition, then in the first direction, the specific motion information is no longer offset.
  • the video processing device can be up and down respectively.
  • the specific motion information in the initial motion information candidate list is offset according to the first offset 1/4 to obtain the offset of the specific motion information according to the first offset 1/4.
  • the number of bits required to offset the specific motion information in the initial motion information candidate list is X, that is, the reference offset cost is X, and in the left direction, based on the reference offset cost X and the second
  • the offset 1/2 selectively offsets the specific motion information.
  • the second direction includes an offset direction, and the second direction is not the first direction
  • the video processing device may compare the initial motion information candidate list in the second direction according to the first offset. Offset the specific motion information in, to obtain the reference offset cost, and in the first direction, offset the specific motion information according to the second offset to obtain the offset cost of the specific motion information, if the offset cost is equal to If the reference offset cost satisfies the second preset condition, then in the first direction, continue to offset the specific motion information according to the third offset among the plurality of offsets, and if the offset If the shift cost and the reference shift cost do not meet the second preset condition, then in the first direction, the specific motion information is no longer shifted.
  • the video processing device can be in the right direction.
  • the specific motion information in the initial motion information candidate list is offset according to the first offset 1/4 to obtain the initial motion information candidate according to the first offset 1/4
  • the number of bits required to offset the specific motion information in the list is X, that is, the reference offset cost is X, and in the left direction, based on the reference offset cost X and the second offset 1 /2 selectively offsets the specific motion information.
  • the second direction is the first direction, that is, when the second direction and the first direction are the same direction, the video processing device is in the first direction, based on the reference offset cost and the multiple offsets.
  • the specific motion information can be offset in the same direction according to the second offset to obtain the offset cost of the specific motion information. If the offset If the cost and the reference offset cost meet the second preset condition, then in the same direction, continue to offset the specific motion information according to the third offset of the plurality of offsets, if the If the offset cost and the reference offset cost do not meet the second preset condition, then in the same direction, the specific motion information is no longer offset.
  • the offset cost is used as the reference offset cost if the video processing device has already offset the specific motion information in the same direction according to the first offset to obtain the offset cost of the specific motion information.
  • the video processing device can offset the specific motion information in the same direction according to the second offset to obtain the offset cost of the specific motion information. If the offset cost and the reference offset cost meet the second preset condition, It is determined that the aforementioned two offset costs are reference offset costs, and the video processing device may continue to offset the specific motion information in the same direction according to the third offset of the plurality of offsets, If the offset cost and the reference offset cost, that is, the aforementioned two offset costs, do not meet the second preset condition, then in the same direction, the specific motion information is no longer offset.
  • the multiple offsets are arranged in ascending order: the first offset is 1/4, and the second offset is 1. /2, the third offset is 1. If the video processing device is in the left direction, offsets the specific motion information according to the first offset 1/4 to obtain the offset of the specific motion information If the cost is X, then X is determined to be the reference offset cost, and the video processing device can offset the specific motion information according to the second offset amount 1/2 in the left direction to obtain the offset of the specific motion information.
  • the offset cost is Y. If the offset cost Y is less than the reference offset cost X, then X and Y are determined as the reference offset cost, and in the left direction, the specific motion information is continued according to the third offset 1. Perform the offset, if the offset cost Y is greater than the minimum reference offset cost X in the reference offset cost X and Y, then in the left direction, the specific motion information is no longer offset.
  • the video processing device in the first direction, according to the third offset among the plurality of offsets
  • the specific motion information may continue to be offset in the first direction according to the third offset of the plurality of offsets, until The offset cost obtained when the specific motion information is offset in the first direction according to other offsets among the plurality of offsets and the reference offset cost do not satisfy the second preset condition.
  • the multiple offsets are arranged in ascending order: the first offset is 1/4, the second offset is 1/2, and the third The offset is 1, the fourth offset is 2, the fifth offset is 4, the sixth offset is 8, the seventh offset is 16, and the eighth offset is 32, then the video processing device In the left direction, when continuing to offset the specific motion information according to the third offset 1, you can continue to offset the specific motion information according to the third offset 1 in the left direction, if the When the specific motion information is offset according to the fourth offset 2 in the left direction, the offset cost Z1 obtained is greater than the minimum reference offset cost X1 in the reference offset cost, then stop continuing according to the third offset 2 Offset specific motion information.
  • the offset cost Z1 obtained is less than the minimum reference offset cost X1 in the reference offset cost, then it can be in the left direction , Continue to offset the specific motion information according to the fifth offset amount 4. If the specific motion information is offset according to the fifth offset 4 in the left direction, the offset cost Z2 obtained is less than the minimum reference offset cost X2 in the reference offset cost, then it can be in the left direction , Continue to offset the specific motion information according to the sixth offset 8.
  • the offset cost Z3 obtained is less than the minimum reference offset cost X3 in the reference offset cost, then it can be in the left direction , Continue to offset the specific motion information according to the seventh offset amount 16. If the specific motion information is offset in the left direction according to the seventh offset amount 16, the offset cost Z4 obtained is less than the minimum reference offset cost X4 in the reference offset cost, then it can be in the left direction , Continue to offset the specific motion information according to the eighth offset 32. If the offset cost Z5 obtained when the specific motion information is offset according to the eighth offset 32 in the left direction is greater than the minimum reference offset cost X5 in the reference offset costs, stop according to the eighth offset 32 Continue to offset the specific motion information.
  • the units of the accuracy, the first pixel accuracy threshold, the second pixel accuracy threshold, the preset offset threshold, the offset amount, etc. mentioned herein are the same, for example, pixels.
  • the specific motion information in the initial motion information candidate list is selectively offset, Obtain a target motion information candidate list including the offset specific motion information to save coding time.
  • the dual motion information is corrected according to the DMVR method to obtain the corrected dual motion information, and based on the corrected dual motion information, Encode or decode image blocks.
  • the integration of MMVD technology and DMVR technology is realized, and at the same time, the MMVD technology is effectively optimized, and the coding and decoding performance is improved without increasing the coding and decoding time, and the coding and decoding efficiency is effectively improved.
  • FIG. 8 is a schematic structural diagram of a video processing device according to an embodiment of the present invention.
  • the video processing device includes a memory 801, a processor 802, and a data interface 803.
  • the memory 801 may include a volatile memory (volatile memory); the memory 801 may also include a non-volatile memory (non-volatile memory); the memory 801 may also include a combination of the foregoing types of memories.
  • the processor 802 may be a central processing unit (CPU).
  • the processor 802 may further include a hardware video processing device.
  • the foregoing hardware video processing device may be an application-specific integrated circuit (ASIC), a programmable logic device (PLD), or a combination thereof. Specifically, for example, it may be a complex programmable logic device (CPLD), a field-programmable gate array (FPGA), or any combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • FPGA field-programmable gate array
  • the memory 801 is used to store a program, and when the program is executed, the processor 802 can call the program stored in the memory 801 to perform the following steps:
  • a target motion information candidate list is obtained;
  • the target motion information candidate list includes dual motion information, based on the accuracy of the motion vector included in the dual motion information, determine whether the dual motion information satisfies a first preset condition;
  • the image block is encoded or decoded.
  • the processor 802 determines whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information, it is specifically configured to:
  • the processor 802 determines whether the dual motion information satisfies the first preset condition based on the accuracy of the motion vector included in the dual motion information, it is specifically configured to:
  • the processor 802 detects whether the offset feature of at least one motion vector in the dual motion information with respect to the corresponding initial motion vector in the initial motion information candidate list satisfies the second condition, it is specifically configured to:
  • the preset offset threshold is related to the first condition.
  • the accuracy of the motion vector meeting the first condition includes that the accuracy of the motion vector is less than a preset pixel accuracy threshold, and the preset offset threshold is an integer multiple of the preset pixel accuracy threshold.
  • the preset offset threshold is greater than 2.
  • the preset offset threshold is twice the preset pixel accuracy threshold.
  • the processor 802 detects whether the accuracy of at least one motion vector in the dual motion information satisfies the first condition, it is specifically configured to:
  • the horizontal component of at least one motion vector in the dual motion information is an integer multiple of the first pixel accuracy threshold, it is determined that the accuracy of the at least one motion vector in the dual motion information satisfies the first condition.
  • the processor 802 detects whether the accuracy of at least one motion vector in the dual motion information satisfies the first condition, it is specifically configured to:
  • the vertical component of at least one motion vector in the dual motion information is an integer multiple of the second pixel accuracy threshold, it is determined that the accuracy of the at least one motion vector in the dual motion information satisfies the first condition.
  • the processor 802 detects whether the accuracy of at least one motion vector in the dual motion information satisfies the first condition, it is specifically configured to:
  • the horizontal component of at least one motion vector in the dual motion information is an integer multiple of the first pixel accuracy threshold and the vertical component is an integer multiple of the second pixel accuracy threshold, determine that the The accuracy of at least one motion vector satisfies the first condition.
  • the first pixel accuracy threshold includes 2 or 4.
  • the second pixel accuracy threshold includes 2 or 4.
  • the processor 802 obtains the target motion information candidate list based on the ultimate motion vector expression MMVD method based on the initial motion information candidate list, it is specifically configured to:
  • the specific motion information in the initial motion information candidate list is selectively offset to obtain a target motion information candidate list including the offset specific motion information.
  • the offset feature includes multiple offset directions and multiple offsets, wherein each of the offset directions corresponds to the multiple offsets;
  • the processor 802 is based on the ultimate motion vector When expressing the offset features included in the MMVD method and selectively offsetting specific motion information in the initial motion information candidate list, it is specifically used for:
  • the specific motion information in the initial motion information candidate list is selectively offset based on the first offset of the plurality of offsets.
  • the processor 802 performs, in a first direction among the plurality of offset directions, on the specific motion in the initial motion information candidate list based on the first offset in the plurality of offsets.
  • information is selectively shifted, it is specifically used for:
  • the specific motion information in the initial motion information candidate list is offset according to the first offset of the plurality of offsets to obtain the Reference offset cost of specific motion information
  • the specific motion information is selectively offset based on the reference offset cost and a second offset of the plurality of offsets.
  • the second offset is greater than the first offset.
  • the processor 802 compares the reference offset cost and the second offset of the multiple offsets to the When the specific motion information is selectively offset, it is specifically used for:
  • the plurality of offsets are arranged in ascending order, and the third offset is greater than the second offset and is adjacent to the second offset.
  • the processor 802 satisfies a second preset condition for the offset cost and the reference offset cost, in the first direction, according to the third offset among the plurality of offsets
  • a second preset condition for the offset cost and the reference offset cost, in the first direction according to the third offset among the plurality of offsets
  • the offset cost and the reference offset cost meet the second preset condition, in the first direction, continue to perform the specific motion according to the third offset of the plurality of offsets
  • the information is offset until the offset cost obtained when the specific motion information is offset in the first direction according to other offsets among the plurality of offsets does not meet the reference offset cost
  • the second preset condition If the offset cost and the reference offset cost meet the second preset condition, in the first direction, continue to perform the specific motion according to the third offset of the plurality of offsets.
  • the offset cost and the reference offset cost satisfy a second preset condition, including at least one of the following:
  • the offset cost is less than the minimum reference offset cost in the reference offset costs, the offset cost is less than the specific reference offset cost in the reference offset costs, and the offset cost is less than the reference offset The preset number of reference offset costs in the offset costs.
  • the target motion information candidate list is obtained, and the double information included in the target motion information candidate list is determined.
  • the dual motion information is corrected according to the DMVR method to obtain the corrected dual motion information, so that the image block is encoded or decoded based on the corrected dual motion information.
  • a computer-readable storage medium stores a computer program.
  • the embodiment of the present invention is implemented in FIG. 5 or FIG.
  • the described video processing method can also implement the video processing device of the corresponding embodiment of the present invention shown in FIG. 8, and will not be repeated here.
  • the computer-readable storage medium may be an internal storage unit of the device described in any of the foregoing embodiments, such as a hard disk or memory of the device.
  • the computer-readable storage medium may also be an external storage device of the device, such as a plug-in hard disk equipped on the device, a Smart Media Card (SMC), or a Secure Digital (SD) card. , Flash Card, etc.
  • the computer-readable storage medium may also include both an internal storage unit of the device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the device.
  • the computer-readable storage medium can also be used to temporarily store data that has been output or will be output.
  • the program can be stored in a computer readable storage medium, and the program can be stored in a computer readable storage medium. During execution, it may include the procedures of the above-mentioned method embodiments.
  • the storage medium may be a magnetic disk, an optical disc, a read-only memory (Read-Only Memory, ROM), or a random access memory (Random Access Memory, RAM).

Landscapes

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

Abstract

Procédé et dispositif de traitement vidéo, et support de stockage. Le procédé consiste à : acquérir d'une liste initiale d'informations de mouvement candidates d'un bloc d'image d'une trame actuelle ; selon une fusion avec un procédé MMVD de différence de vecteur de mouvement, sur la base de la liste initiale d'informations de mouvement candidates, obtenir une liste cible d'informations de mouvement candidates ; lorsque la liste cible d'informations de mouvement candidates comprend des informations de mouvement double, sur la base de la précision de vecteur de mouvement incluse dans les informations de mouvement double, déterminer si les informations de mouvement double satisfont une première condition prédéfinie ; si les informations de mouvement double satisfont la première condition prédéfinie, affiner les informations de mouvement double selon un procédé DMVR d'affinement de vecteur de mouvement côté décodeur pour obtenir des informations de mouvement double affinées ; et, sur la base des informations de double mouvement affinées, coder ou décoder le bloc d'image. Le présent procédé de mise en œuvre intègre la technologie MMVD et la technologie DMVR pour améliorer les performances de codage et augmenter efficacement l'efficacité de codage et de décodage.
PCT/CN2019/107589 2019-09-24 2019-09-24 Procédé et dispositif de traitement vidéo, et support de stockage WO2021056205A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980034157.7A CN112204983A (zh) 2019-09-24 2019-09-24 一种视频处理方法、设备及存储介质
PCT/CN2019/107589 WO2021056205A1 (fr) 2019-09-24 2019-09-24 Procédé et dispositif de traitement vidéo, et support de stockage

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/107589 WO2021056205A1 (fr) 2019-09-24 2019-09-24 Procédé et dispositif de traitement vidéo, et support de stockage

Publications (1)

Publication Number Publication Date
WO2021056205A1 true WO2021056205A1 (fr) 2021-04-01

Family

ID=74004564

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/107589 WO2021056205A1 (fr) 2019-09-24 2019-09-24 Procédé et dispositif de traitement vidéo, et support de stockage

Country Status (2)

Country Link
CN (1) CN112204983A (fr)
WO (1) WO2021056205A1 (fr)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113794889B (zh) * 2021-03-19 2022-12-23 杭州海康威视数字技术股份有限公司 解码方法、编码方法、装置、设备及机器可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225346A (zh) * 2018-12-28 2019-09-10 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101137065A (zh) * 2006-09-01 2008-03-05 华为技术有限公司 图像编码方法、解码方法、编码器、解码器、编解码方法及编解码器
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
US10958927B2 (en) * 2015-03-27 2021-03-23 Qualcomm Incorporated Motion information derivation mode determination in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110225346A (zh) * 2018-12-28 2019-09-10 杭州海康威视数字技术股份有限公司 一种编解码方法及其设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
E. SASAKI, T. HASHIMOTO, T. CHUJOH, T. IKAI (SHARP): "Non-CE9: Harmonization of DMVR and MMVD", 14. JVET MEETING; 20190319 - 20190327; GENEVA; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-N0145-v1, 13 March 2019 (2019-03-13), Geneva CH, pages 1 - 2, XP030202849 *
S. JEONG (SAMSUNG), M. W. PARK (SAMSUNG), Y. PIAO (SAMSUNG), M. PARK (SAMSUNG), K. CHOI (SAMSUNG): "CE4 Ultimate motion vector expression (Test 4.5.4)", 12. JVET MEETING; 20181003 - 20181012; MACAO; (THE JOINT VIDEO EXPLORATION TEAM OF ISO/IEC JTC1/SC29/WG11 AND ITU-T SG.16 ), no. JVET-L0054, 4 October 2018 (2018-10-04), Macao CN, pages 1 - 5, XP030194605 *
Y.-W. CHEN (KWAI), X. XIU (KWAI), X. WANG (KWAI INC.): "Non-CE9: Improvement of DMVR", JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 15TH MEETING: GOTHENBURG, SE, 3–12 JULY 2019, DOCUMENT: JVET-O0590, no. JVET-O0590, 26 June 2019 (2019-06-26), Gothenburg SE, pages 1 - 2, XP030219991 *

Also Published As

Publication number Publication date
CN112204983A (zh) 2021-01-08

Similar Documents

Publication Publication Date Title
US11375226B2 (en) Method and apparatus of video coding with affine motion compensation
US11490118B2 (en) Method and device for image motion compensation
TWI617185B (zh) 具有仿射運動補償的視訊編碼的方法以及裝置
US11750818B2 (en) Inter-prediction mode based image processing method, and apparatus therefor
US20240121410A1 (en) Interaction Between IBC And Affine
CN112954332B (zh) 一种编解码方法、装置及其设备
CN111279701B (zh) 视频处理方法和设备
US20210329227A1 (en) Video processing method and device thereof
JP6574976B2 (ja) 動画像符号化装置および動画像符号化方法
US9706221B2 (en) Motion search with scaled and unscaled pictures
TW202015405A (zh) 用於視訊編解碼的幀間預測方法以及裝置
WO2021056205A1 (fr) Procédé et dispositif de traitement vidéo, et support de stockage
WO2021056212A1 (fr) Procédé et appareil de codage et de décodage vidéo
WO2019191889A1 (fr) Procédé et dispositif de traitement vidéo
JP2018182435A (ja) 動きベクトル予測装置及びコンピュータプログラム
KR102651484B1 (ko) 비디오 시퀀스의 이미지를 코딩하기 위한 방법 및 장치, 그리고 단말 디바이스

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19946934

Country of ref document: EP

Kind code of ref document: A1