WO2019192102A1 - 用于图像运动补偿的方法和装置 - Google Patents

用于图像运动补偿的方法和装置 Download PDF

Info

Publication number
WO2019192102A1
WO2019192102A1 PCT/CN2018/095710 CN2018095710W WO2019192102A1 WO 2019192102 A1 WO2019192102 A1 WO 2019192102A1 CN 2018095710 W CN2018095710 W CN 2018095710W WO 2019192102 A1 WO2019192102 A1 WO 2019192102A1
Authority
WO
WIPO (PCT)
Prior art keywords
initial
reference image
image
image block
current
Prior art date
Application number
PCT/CN2018/095710
Other languages
English (en)
French (fr)
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 CN202311002352.6A priority Critical patent/CN116781928A/zh
Priority to JP2020553636A priority patent/JP2021520124A/ja
Priority to CN201880012589.3A priority patent/CN110419220B/zh
Priority to EP18913581.7A priority patent/EP3783897A4/en
Priority to CN202311004591.5A priority patent/CN116760999A/zh
Priority to PCT/CN2018/103693 priority patent/WO2019192141A1/zh
Priority to JP2020553654A priority patent/JP7388659B2/ja
Priority to CN201880042138.4A priority patent/CN110786012B/zh
Priority to EP18913876.1A priority patent/EP3780614A4/en
Priority to EP18913372.1A priority patent/EP3780618A4/en
Priority to JP2020553580A priority patent/JP7294753B2/ja
Priority to CN201880011514.3A priority patent/CN110326295B/zh
Priority to CN202111283215.5A priority patent/CN113852828B/zh
Priority to CN202111284624.7A priority patent/CN113824966B/zh
Priority to PCT/CN2018/107436 priority patent/WO2019192152A1/zh
Priority to CN201880016545.8A priority patent/CN110495169B/zh
Priority to PCT/CN2018/112805 priority patent/WO2019192170A1/zh
Priority to JP2020553586A priority patent/JP7216109B2/ja
Priority to CN202111455033.1A priority patent/CN114125440A/zh
Priority to EP18913678.1A priority patent/EP3780615A4/en
Priority to PCT/CN2019/078051 priority patent/WO2019192301A1/zh
Priority to CN202210376345.1A priority patent/CN115037942A/zh
Priority to KR1020207031587A priority patent/KR20200134319A/ko
Priority to JP2020553581A priority patent/JP2021520120A/ja
Priority to EP19781713.3A priority patent/EP3780619A4/en
Priority to CN202210376602.1A priority patent/CN114938452A/zh
Priority to CN201980002813.5A priority patent/CN110720219B/zh
Publication of WO2019192102A1 publication Critical patent/WO2019192102A1/zh
Priority to US17/039,879 priority patent/US11323742B2/en
Priority to US17/039,903 priority patent/US11190798B2/en
Priority to US17/039,939 priority patent/US11368714B2/en
Priority to US17/039,862 priority patent/US11490118B2/en
Priority to US17/039,924 priority patent/US11330294B2/en
Priority to US17/220,822 priority patent/US11381839B2/en
Priority to US17/220,797 priority patent/US11343534B2/en
Priority to US17/220,756 priority patent/US11490120B2/en
Priority to US17/221,275 priority patent/US11159821B2/en
Priority to US17/456,815 priority patent/US11997312B2/en
Priority to US17/664,642 priority patent/US11949911B2/en
Priority to US17/844,669 priority patent/US11949912B2/en
Priority to US17/857,485 priority patent/US11871032B2/en
Priority to JP2022182636A priority patent/JP2023017981A/ja
Priority to JP2023006258A priority patent/JP2023052491A/ja
Priority to JP2023092773A priority patent/JP2023110048A/ja
Priority to JP2023190720A priority patent/JP2024010198A/ja
Priority to JP2024025977A priority patent/JP2024057014A/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/129Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/56Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one
    • 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/96Tree coding, e.g. quad-tree coding

Definitions

  • the present application relates to the field of image processing, and in particular, to a method and apparatus for image motion compensation.
  • video data is usually encoded and compressed at the encoding end and decoded at the decoding end.
  • the coding compression process includes processes such as prediction, transform, quantization, and entropy coding.
  • the prediction includes two types of intra prediction and inter prediction, and the purpose is to use the prediction block data to remove redundant information of the current image block to be encoded.
  • Intra prediction uses the information of the current frame image to obtain prediction block data.
  • Inter prediction uses the information of the reference image to obtain prediction block data, the process includes dividing the current image to be encoded into a plurality of image blocks to be encoded, and then dividing the image block to be encoded into a plurality of sub image blocks; and then, for each sub image block Searching, in the reference image, an image block that best matches the current sub-image block as a predicted image block, and the relative displacement of the predicted image block and the current sub-image block is a motion vector; thereafter, the sub-image block and the predicted image block are The corresponding pixel values are subtracted to obtain a residual. The obtained residuals of the respective sub-image blocks are combined to obtain a residual of the image block to be encoded.
  • the residual is subjected to processing such as transform, quantization, and entropy coding to obtain an entropy-encoded bit stream, and the entropy-encoded bit stream and the encoded coding mode information, such as an intra prediction mode, a motion vector (or a motion vector residual), and the like, Store or send to the decoder.
  • processing such as transform, quantization, and entropy coding to obtain an entropy-encoded bit stream, and the entropy-encoded bit stream and the encoded coding mode information, such as an intra prediction mode, a motion vector (or a motion vector residual), and the like, Store or send to the decoder.
  • the entropy-encoded bit stream is obtained and then entropy decoded to obtain a corresponding residual; the predicted image block corresponding to the image block to be decoded is found according to the decoded motion vector, intra prediction, etc.; The residual gives the value of each pixel in the image block to be decoded.
  • the similarity between the selected reference image and the current image to be encoded is, the smaller the residual generated by inter-frame prediction is, so that the coding efficiency of inter-frame prediction can be improved.
  • some existing techniques can utilize each image in the video to construct a high quality specific reference image containing background content of the scene.
  • the background portion of the current image to be encoded or the current image to be decoded when performing inter prediction may be used to reduce residual information of inter prediction by referring to the high quality specific reference image, thereby improving coding efficiency.
  • the specific reference image is a reference image as inter prediction.
  • the long-term reference image is not a decoded image, but an artificially constructed image.
  • the long-term reference image includes a plurality of image blocks, each of which is taken from a certain decoded image, and different image blocks in the long-term reference image may be taken from different decoded images.
  • some existing techniques can directly derive motion vectors at the decoding end.
  • the encoding end does not need to transmit motion vector information or motion vector residual information, and the decoding end can obtain the real motion vector without decoding the motion vector information or the motion vector residual information.
  • Some existing techniques using motion vector derivation and some techniques using bidirectional motion prediction do not consider the particularity of long-term reference images. Some techniques using motion vector derivation do not consider whether the reference image pointed by the motion vector is a long-term reference image, and may perform motion search in the long-term reference image when performing motion vector correction, which in turn reduces search efficiency and coding efficiency.
  • the technique of bidirectional motion prediction is used to operate the motion vector according to the temporal correlation of the image. When the reference image pointed to by the motion vector involved is a long-term reference image, due to the current image to be encoded or the current image to be decoded and the long-term reference image The time distance definition is not clear and these operations may fail.
  • the present application provides a method for image motion compensation and a device for image motion compensation, which can improve encoding/decoding efficiency.
  • a method for image motion compensation comprising:
  • the reference image pointed by the initial MV is a specific reference image, performing motion compensation on the current image block based on the initial MV;
  • the initial MV is corrected to obtain a corrected MV, and the current image block is motion compensated based on the modified MV.
  • an apparatus for image motion compensation comprising:
  • At least one memory for storing computer executable instructions
  • At least one processor singly or collectively, for accessing the at least one memory and executing the computer executable instructions to perform the following operations:
  • the reference image pointed by the initial MV is a specific reference image, performing motion compensation on the current image block based on the initial MV;
  • the initial MV is corrected to obtain a corrected MV, and the current image block is motion compensated based on the corrected MV.
  • a computer readable storage medium having stored thereon instructions for causing a computer to perform the method for image motion compensation of the first aspect when the instructions are run on a computer.
  • an encoding apparatus comprising the apparatus for image motion compensation of the second aspect.
  • a decoding apparatus comprising the apparatus for image motion compensation of the second aspect.
  • a method for image motion compensation comprising:
  • the current image block is motion compensated based on the scaled MV.
  • an apparatus for image motion compensation comprising:
  • At least one memory for storing computer executable instructions
  • At least one processor singly or collectively, for accessing the at least one memory and executing the computer executable instructions to perform the following operations:
  • the current image block is motion compensated based on the scaled MV.
  • a computer readable storage medium having stored thereon instructions for causing a computer to perform the method for image motion compensation of the sixth aspect when the instructions are run on a computer.
  • an encoding apparatus comprising the apparatus for image motion compensation of the seventh aspect.
  • a decoding apparatus comprising the apparatus for image motion compensation of the seventh aspect.
  • a method for image processing comprising:
  • the first reference image and the second reference image is a specific reference image, calculating a predicted image block of the current image block based on the first initial MV and the second initial MV;
  • the MV calculates a predicted image block of the current image block according to the MV of the current image block.
  • an apparatus for image processing comprising:
  • At least one memory for storing computer executable instructions
  • At least one processor singly or collectively, for accessing the at least one memory and executing the computer executable instructions to perform the following operations:
  • the first reference image and the second reference image is a specific reference image, calculating a predicted image block of the current image block based on the first initial MV and the second initial MV;
  • the MV calculates a predicted image block of the current image block according to the MV of the current image block.
  • a computer readable storage medium having stored thereon instructions for causing a computer to perform the method for image processing of the eleventh aspect when the instructions are run on a computer.
  • an encoding apparatus comprising the apparatus for image processing of the twelfth aspect.
  • a decoding apparatus comprising the apparatus for image processing of the twelfth aspect.
  • FIG. 1 is a schematic flow chart of a method for image motion compensation according to an embodiment of the present application.
  • FIG. 2 is a schematic diagram of the principle of a two-way matching method according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of the principle of a template matching method according to an embodiment of the present application.
  • FIG. 4 is a schematic diagram of the principle of a DMVR technology according to an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of a method for image processing according to another embodiment of the present application.
  • FIG. 6 is a schematic diagram of the principle of a BIO technology according to an embodiment of the present application.
  • Figure 7 is a schematic block diagram of an apparatus for image motion compensation in accordance with one embodiment of the present application.
  • FIG. 8 is a schematic block diagram of an apparatus for image processing according to an embodiment of the present application.
  • FIG. 9 is a schematic flow chart of a method for image motion compensation according to another embodiment of the present application.
  • FIG. 10 is a schematic block diagram of an apparatus for image motion compensation according to still another embodiment of the present application.
  • a video is made up of multiple images.
  • different images in the video can be predicted differently.
  • the image may be classified into an intra predicted image and an inter predicted image according to a prediction manner employed by the image, wherein the inter predicted image includes a forward predicted image and a bidirectional predicted image.
  • the I picture is an intra prediction picture, also called a key frame;
  • the P picture is a forward prediction picture, that is, one P picture or I picture that has been previously encoded/decoded is used as a reference picture;
  • the B picture is a bidirectional prediction picture, that is, The front and rear images are used as reference images.
  • the encoding/decoding end encodes/decodes multiple images to generate a segment of a group of pictures (GOP), the GOP is composed of an I image, and multiple B images (or bidirectional prediction) Image group and/or P image (or forward predicted image) image group.
  • the decoding end plays, it reads a segment of the GOP for decoding and then reads the picture and then renders the display.
  • images of different resolutions can be encoded/decoded by dividing the image into a plurality of small blocks, that is, the image can be divided into a plurality of image blocks.
  • the image can be divided into any number of image blocks.
  • the image can be divided into an array of m x n image blocks.
  • 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 x q pixels.
  • Each image block can have the same size and/or shape. Alternatively, two or more image blocks may have different sizes and/or shapes.
  • the image block may or may not have any overlapping portions.
  • the image block is referred to as a macroblock or a Largest Coding Unit (LCU) in some encoding/decoding standards.
  • LCU Largest Coding Unit
  • an image block is called a macroblock and its size can be 16 x 16 pixels.
  • an image block is referred to as a maximum coding unit and may be 64 x 64 pixels in size.
  • an image block may not be a macroblock or a maximum coding unit, but a portion including one macroblock or maximum coding unit, or at least two complete macroblocks (or maximum coding units), Or a portion containing at least one complete macroblock (or maximum coding unit) and one macroblock (or maximum coding unit), or at least two complete macroblocks (or maximum coding units) and some macroblocks (or maximum coding) Part of the unit).
  • the image blocks in the image data can be separately encoded/decoded.
  • the encoding process includes processing such as prediction, transform, quantization, and entropy encoding.
  • the prediction includes two types of intra prediction and inter prediction, and the purpose is to use the prediction block data to remove redundant information of the current image block to be encoded.
  • Intra prediction uses the information of the current frame image to obtain prediction block data.
  • Inter prediction uses the information of the reference image to obtain prediction block data, the process includes dividing the current image to be encoded into a plurality of image blocks to be encoded, and then dividing the image block to be encoded into a plurality of sub image blocks; and then, for each sub image block Searching, in the reference image, an image block that best matches the current sub-image block as a predicted image block, and the relative displacement of the predicted image block and the current sub-image block is a motion vector; thereafter, the sub-image block and the predicted image block are The corresponding pixel values are subtracted to obtain a residual. The obtained residuals of the respective sub-image blocks are combined to obtain a residual of the image block to be encoded.
  • the transformation matrix may be used to remove the correlation of residuals of image blocks, that is, to remove redundant information of image blocks in order to improve coding efficiency.
  • the transformation of the data block in the image block usually adopts two-dimensional transformation, that is, the residual information of the data block is multiplied by an N ⁇ M transformation matrix and its transposed matrix at the encoding end, and the multiplication is obtained after the multiplication. .
  • the transform coefficients are quantized to obtain quantized coefficients, and finally the quantized coefficients are entropy encoded to obtain an entropy encoded bit stream.
  • the entropy-encoded bit stream and the encoded coding mode information such as an intra prediction mode, a motion vector (or a motion vector residual), are stored or transmitted to the decoding end.
  • the entropy-encoded bit stream is obtained, and entropy decoding is performed to obtain a corresponding residual; the predicted image block corresponding to the image block is found according to the decoded motion vector, intra prediction, and the like; and the predicted image block and the residual are obtained according to the prediction The value of each pixel in the current sub-image block is obtained.
  • the encoded/decoded image is used as the reference image to be currently encoded/decoded.
  • a reference image may also be constructed in some embodiments to increase the similarity of the reference image to the current image to be encoded/decoded.
  • video surveillance belongs to this type of scenario.
  • a video surveillance scenario it is usually monitored that the camera is stationary or only slow moving occurs, and the background is considered to be substantially unchanged.
  • objects such as people or cars photographed in a video surveillance camera often move or change, and the foreground can be considered to change frequently.
  • a particular reference image can be constructed that contains only high quality background information.
  • a plurality of image blocks may be included in the particular reference image, and any one of the image blocks is taken from a certain decoded image, and different image blocks in the particular reference image may be taken from different decoded images.
  • the background portion of the current image to be encoded/decoded can refer to the specific reference image, whereby the residual information of the inter prediction can be reduced, thereby improving the encoding/decoding efficiency.
  • the particular reference image has at least one of the following properties: a composite reference, a long-term reference image, a reference image that is not output.
  • the specific reference image may be a constructed long-term reference image, or may be a construction frame that is not output, or may be a long-term reference image that is not output, and the like.
  • the construction frame is also referred to as a composite reference frame.
  • the non-specific reference image may be a reference image that does not have at least one of the following: a construction frame, a long-term reference image, a reference image that is not output.
  • the specific reference image may include a reference image other than the construction frame, or include a reference image other than the long-term reference image, or include a reference image other than the reference image that is not output, or include a long-term reference image other than the configuration.
  • the reference image includes a reference image other than the construction frame that is not output, or includes a reference image other than the long-term reference image that is not output, and the like.
  • the long-term reference image and the short-term reference image can be distinguished.
  • the short-term reference image is a concept corresponding to a long-term reference image.
  • the short-term reference image is present in the reference image buffer for a period of time after which the short-term reference image is removed from the reference image buffer after a number of move-in and move-out operations in the reference image buffer after the short-term reference image has passed.
  • the reference picture buffer may also be referred to as a reference picture list buffer, a reference picture list, a reference frame list buffer, or a reference frame list, etc., which are collectively referred to herein as reference picture buffers.
  • the long-term reference image (or a portion of the data in the long-term reference image) may remain in the reference image buffer, the long-term reference image (or a portion of the data in the long-term reference image) is not subject to the decoded reference image in the reference image buffer
  • the effect of the shift in and out operations is that the long-term reference image (or a portion of the data in the long-term reference image) is removed from the reference image buffer only when the decoding terminal issues an update instruction operation.
  • Short-term reference images and long-term reference images may be called differently in different standards.
  • short-term reference images in H.264/advanced video coding (AVC) or H.265/HEVC standards are called For short-term reference
  • the long-term reference picture is called a long-term reference.
  • AVC audio coding coding
  • IEEE Institute of electrical and electronics engineers
  • the long-term reference image is called For the background picture.
  • the long-term reference image is called a golden frame.
  • referring to a long-term reference image as a long-term reference frame does not mean that H.264/AVC or H.265/ must be used.
  • HEVC and other standards correspond to the technology.
  • the long-term reference image mentioned above may be constructed from image blocks taken from a plurality of decoded images, or may be updated by using a plurality of decoded images to update existing reference frames (eg, pre-stored reference frames).
  • existing reference frames eg, pre-stored reference frames
  • the specific reference image of the configuration may also be a short-term reference image.
  • the long-term reference image may not be a constructed reference image.
  • the specific reference image may include a long-term reference image
  • the non-specific reference image may include a short-term reference image
  • the type of reference frame may be identified by a special field in the code stream structure.
  • determining that the reference image is a long-term reference image
  • determining that the reference image is a specific reference image; or determining that the reference image is a specific reference image when determining that the reference image is a frame that is not output; or, determining When the reference image is a construction frame, the reference image is determined to be a specific reference image; or, when the reference image is determined to be a frame that is not output, and the reference image is further determined to be a construction frame, the reference image is determined to be a specific reference image.
  • each type of reference image may have a corresponding identifier.
  • whether the reference image is a specific reference image may be determined according to the identifier of the reference image.
  • the reference image when determining that the reference image has an identification of the long-term reference image, is determined to be a particular reference image.
  • the reference image when it is determined that the reference image has an identification that is not to be output, the reference image is determined to be a particular reference image.
  • the reference image when it is determined that the reference image has an identification of the constructed frame, the reference image is determined to be a particular reference image.
  • determining that the reference image has a specific reference image when the reference image has at least two of the following three identifiers: an identifier of the long-term reference image, an identifier that is not output, a construction frame, or a composite reference frame Logo. For example, when it is determined that the reference image has an identifier that is not output, and it is determined that the reference image has an identifier of the construction frame, the reference image is determined to be a specific reference image.
  • the image may have an identifier indicating whether it is an output frame, and when a certain image is indicated not to be output, indicating that the frame is a reference image, and further, determining whether the frame has an identifier of a constructed frame, if And determining that the reference image is a specific reference image. If an image is instructed to be output, it may be determined that the frame is not a specific reference image without making a determination as to whether or not to construct the frame. Alternatively, if an image is indicated not to be output, but has an identity that is not a constructed frame, then it may be determined that the frame is not a particular reference image.
  • determining that the reference image is a specific reference image when determining that the reference image satisfies one of the following conditions from a picture header (Picture Header), a picture parameter set (PPS), a slice header (pareheader):
  • the reference image is a long-term reference image
  • the reference image is a construction reference image
  • the reference image is an image that is not output
  • the reference image is further determined to be a construction reference image.
  • PMMVD Motion Vector Derivation
  • DMVR Decode Motion Vector Refinement
  • Bi-directional optical flow (BIO) prediction technology is a technique that uses two-way motion prediction.
  • the method for image motion compensation of the present invention will be explained by way of example with reference to PMMVD, DMVR and BIO. It should be noted that the method for image motion compensation in the present invention is not limited to these three techniques.
  • the HEVC standard defines three modes of inter prediction: Inter mode, Merge mode, and Skip mode.
  • the purpose of inter prediction is to obtain a motion vector (Motion Vector, MV), and then determine the position of the predicted image block in the reference image based on the motion vector.
  • MV Motion Vector
  • adjacent image blocks have similar motion patterns, for example, the current image block (eg, the image block to be encoded and/or the image block to be decoded) and the adjacent image block belong to the same object, and when the lens moves, they The distance and direction of movement are naturally similar or the same, so it is often not necessary to calculate the motion vector, and the motion vector of the adjacent image block is directly regarded as the motion vector of the current image block.
  • the motion vector difference (MVD) is 0, that is, the motion vector is directly obtained according to the adjacent coded image block or the decoded image block.
  • the working principle is as follows. Constructing a Motion Vector Prediction (MVP) candidate list by neighboring image blocks, selecting an optimal MVP from the MVP candidate list as a motion vector of the current image block, and then determining a predicted image block according to the motion vector. Position, after determining the predicted image block, the residual can be calculated.
  • MVP Motion Vector Prediction
  • the motion vector is selected from the MVP candidate list, so there is no MVD. The encoding end only needs to encode the residual and the index of the selected motion vector in the MVP candidate list, and it is no longer necessary to encode the MVD.
  • the decoding end can construct the MVP candidate list in a similar manner, and then obtain the motion vector according to the index transmitted from the encoding end.
  • the decoding end determines the predicted image block according to the motion vector, and combines the residual decoding to obtain the current image block.
  • the current image block is subtracted from the predicted image block to obtain a residual.
  • the motion vector is selected from the MVP candidate list, so there is no MVD, and only the residual and the index of the selected MVP in the MVP candidate list are sent to the decoding end.
  • the motion vector is found in the MVP candidate list as the motion vector of the current image block.
  • Skip mode is a special case of the Merge mode. After obtaining the motion vector according to the Merge mode, if the encoder determines that the current image block and the predicted image block are substantially the same according to a certain method, and does not need to transmit the residual data, only the index of the motion vector in the MVP candidate list needs to be transmitted, and an indication The current image block can be identified directly from the predicted image block.
  • the MVP is first determined, and then the MVP is corrected to obtain the MVD.
  • the encoding end not only needs to transmit the index and the residual to the decoding end, but also needs to transmit the MVD to the decoding end.
  • Advanced Motion Vector Prediction is a tool for predicting motion vectors through a competitive mechanism.
  • the MVP candidate list in AMVP mode is also an MVP candidate list in the AMVP mode, and the motion vector in the MVP candidate list is obtained from the spatial block of the current image block or the adjacent block on the time domain.
  • the MVP candidate list in AMVP mode may be different from the MVP candidate list in Merge mode.
  • the encoding end or the decoding end selects an optimal one MVP from the MVP candidate list.
  • an optimal motion vector is obtained, which is the motion vector of the current image block.
  • the position of the predicted image block is determined according to the motion vector, and the residual is calculated after determining the predicted image block.
  • the MV is subtracted from the MVP to obtain an MVD.
  • the encoding end encodes the residual, the index of the MVP in the MVP candidate list, and the MVD to the decoding end.
  • the decoding end can construct the MVP candidate list in a similar manner, and then obtain the MVP according to the index transmitted from the encoding end.
  • the decoding end determines the MV according to the MVP and the MVD, and then determines the predicted image block according to the MV, and combines the residual decoding to obtain the current image block.
  • the current image block is subtracted from the predicted image block to obtain a residual.
  • Embodiments of the present application provide a method 100 for image motion compensation.
  • 1 is a schematic flow diagram of a method 100 for image motion compensation in accordance with an embodiment of the present application. As shown in FIG. 1, the method 100 includes:
  • the initial motion vector is corrected to obtain a corrected motion vector, and the current image block is motion compensated based on the corrected motion vector.
  • motion compensation is directly performed. If the initial motion vector points to the non-specific reference image, the initial motion vector is corrected, and motion compensation is performed based on the corrected motion vector. It is possible to avoid a significant jump in the edge of the image block of a specific reference image, and to perform a meaningless search, which can improve the coding and decoding efficiency.
  • the method 100 for image motion compensation of the embodiments of the present application may be applied to the PMMVD technology.
  • PMMVD technology is a special Merge mode based on Frame Rate Up Conversion (FRUC) technology.
  • FRUC Frame Rate Up Conversion
  • the motion information of the current image block (such as MV and MVD) is not encoded in the code stream, but is generated directly at the decoding end.
  • Performing motion compensation on the current image block by the motion vector may include: acquiring a motion vector candidate list of the current image block, where the reference image pointed by any candidate motion vector in the motion vector candidate list is a non-specific reference And determining an initial motion vector based on the motion vector candidate list; correcting the initial motion vector to obtain a corrected motion vector; and performing motion compensation on the current image block based on the corrected motion vector.
  • an initial motion vector is determined from a motion vector candidate list, and a reference image pointed by the candidate motion vector in the motion vector candidate list is a non-specific reference image, and the initial motion vector is corrected to obtain a modified motion vector.
  • the motion compensation is performed on the current image block based on the modified motion vector, which can avoid meaningless search due to the edge of the image block of the specific reference image, and perform meaningless search, thereby improving the encoding and decoding efficiency.
  • acquiring the motion vector candidate list of the current image block may include: determining a candidate motion vector for adding the motion vector candidate list, where the candidate motion vector points to the reference image When it is a non-specific reference image, the candidate motion vector is added to the motion vector candidate list.
  • the method 100 may further include determining, based on a frame mark of the reference image pointed by the candidate motion vector, that the reference image pointed by the candidate motion vector is a non-specific reference image. Specifically, whether the reference image pointed by the candidate motion vector is a specific reference image may be determined based on a frame mark of the reference image pointed by the candidate motion vector. If the reference image pointed by the candidate motion vector is a specific reference image, the candidate motion vector corresponding to the specific reference image may not be added to the motion vector candidate list. Thus, when the initial motion vector is selected from the motion vector candidate list, the motion vector corresponding to the specific reference image is not selected.
  • the motion vectors of various embodiments of the present application include three parameters, a horizontal component vx , a vertical component vy, and a frame marker of the reference image pointed to.
  • the frame mark may be a Picture Order Count (POC) or other form of mark.
  • POC Picture Order Count
  • the encoding end and the decoding end can determine the attribute of the reference image, and determine whether the reference image is a specific reference image or a non-specific reference image.
  • determining the initial motion vector based on the motion vector candidate list may include: determining whether the selected initial motion vector is a motion vector that points to a specific reference image, if at least one of the selected initial motion vectors Pointing to a specific reference image, the initial motion vector is reselected until the pointed reference image is selected as the initial motion vector of the reference image other than the specific reference image.
  • one candidate motion vector may be re-selected from the motion vector candidate list as an initial motion vector according to a preset rule.
  • the preset rule may be, for example, selecting a candidate motion vector with a small matching cost. If the candidate motion vector does not point to a specific reference image, the candidate motion vector is used as an initial motion vector.
  • the motion vector derivation process in FRUC merge mode is divided into two steps.
  • the first step is the coding unit (CodingUnit, CU) level motion search
  • the second step is the sub-CU (Sub-CU) level motion refinement process.
  • the decoder can also implement similar functions on the encoder side.
  • a CU-level motion vector candidate list is generated. Finding a motion vector with the smallest matching cost (such as MV-A) from the CU-level motion vector candidate list based on the bidirectional matching method; finding a motion vector with the smallest matching cost from the CU-level motion vector candidate list based on the template matching method , for example, MV-B. Then, based on the Rate Distortion Cost (RD-Cost) decision used in the Merge mode decision, the current CU is determined by using the FRUC merge mode. That is, the results of the two matching methods (two-way matching method and template matching method) are checked using the RD-Cost decision.
  • RD-Cost Rate Distortion Cost
  • the result obtained by the matching method with a small matching cost is further compared with the results of other CU modes. If the matching method with a small matching cost in the two matching methods is that the final matching cost is the smallest, the flag bit of the FRUC of the current CU is set to true, and the decoding end is instructed to use the corresponding matching mode.
  • the CU-level motion vector candidate list may correspond to the motion vector candidate list in the method 100 of the embodiment of the present application.
  • the motion vector candidate list When the motion vector candidate list is generated, the motion vector to be added to the list may be traversed.
  • the motion vector points to the non-specific reference image, the motion vector is added to the motion vector candidate list; when pointing to the specific reference image, the motion vector is discarded, Add a motion vector candidate list.
  • the motion vector candidate list in this implementation manner may include at least one candidate motion vector in which: if the current image block is in the advanced motion vector prediction AMVP mode, the original AMVP candidate motion vector obtained from the non-specific reference image; a merge candidate motion vector obtained from a specific reference image; a motion vector obtained by interpolation from a non-specific reference image; and an upper adjacent motion vector and a left adjacent motion vector of the current block relative to the non-specific reference image.
  • the motion vector candidate list can be used as a CU-level motion vector candidate list. It should be understood that the non-specific reference image in this implementation manner may specifically be a short-term reference image or a short-term reference frame.
  • Determining the initial motion vector based on the motion vector candidate list may include: determining a distortion cost corresponding to the candidate motion vector in the motion vector candidate list based on a bidirectional matching method and/or a template matching method; The motion vector having the smallest distortion cost in the candidate list is used as the initial motion vector.
  • determining that the initial motion vector based on the motion vector candidate list may correspond to a CU-level motion search.
  • a motion vector with the smallest matching cost such as MV-A
  • the matching cost is also found from the CU-level motion vector candidate list based on the template matching method.
  • a motion vector such as MV-B.
  • the current CU is determined using the FRUC merge mode. That is: the results of the two matching methods (two-way matching method and template matching method) are checked using RD-Cost decision.
  • the result obtained by the matching method with a small matching cost is further compared with the results of other CU modes. If the matching method with a small matching cost in the two matching methods is that the final matching cost is the smallest, the flag bit of the FRUC of the current CU is set to true, and the decoding end is instructed to use the corresponding matching mode.
  • the decoding end can also implement the function similar to the encoding end, but the decoding end is not complicated by the encoding end. For example, the decoding end directly receives the identification bit of the encoding end for indicating the matching manner, and does not need to perform the RD-Cost decision.
  • modifying the initial motion vector to obtain the corrected motion vector may include: generating a sub-motion vector candidate list for the current image block, where the initial motion vector includes the initial motion vector; A motion vector having the smallest distortion cost is determined in the sub motion vector candidate list as the corrected motion vector.
  • the initial motion vector is corrected, and the obtained motion vector can be corresponding to the sub-CU level motion refinement.
  • the motion vector with the smallest matching cost in the CU-level motion search is the initial motion vector, which is used as the starting point for sub-CU-level motion refinement.
  • a local search is performed around the starting point based on the matching method determined by the CU level (two-way matching method or template matching method).
  • one sub-CU level motion vector candidate list may be generated.
  • a motion vector with a small matching cost is found in the sub-CU level motion vector candidate list as the motion vector of the current CU.
  • the sub-CU level motion vector candidate list includes the following motion vectors: an MV determined from a CU-level search; an adjacent motion vector of the current image block, a left adjacent motion vector, and a left upper adjacent The motion vector and the upper right adjacent motion vector (top, left, top-left and top-right neighbouring MVs); the scaled versions of the collocated MVs from reference pictures in the reference image; Candidate motion vectors derived from the time domain (up to 4ATMVP candidates and up to 4STMVP candidates).
  • the candidate motion vector corresponding to the specific reference image is not added to the CU-level motion vector candidate list, so that the candidate motion vector corresponding to the specific reference image does not exist.
  • the opportunity becomes the initial motion vector.
  • the CU-level motion vector candidate list may be re-selected according to a preset rule.
  • Candidate motion vector as the initial motion vector The preset rule may be, for example, selecting a candidate motion vector with a small matching cost. If the candidate motion vector does not point to a specific reference image, the candidate motion vector is used as an initial motion vector.
  • the bidirectional matching method derives the motion vector of the current CU by finding the closest match between the two predicted image blocks in the different reference images on the motion trajectory of the current CU.
  • the two-way matching method is based on the assumption that the motion trajectory of the current image block is continuous.
  • the motion vectors MV0 and MV1 of the two predicted image blocks should be proportional to the time domain distance (TD0 and TD1) between the current image and the two reference images (reference image 0 and reference image 1).
  • the motion vector candidate list is traversed, for example for MV0, motion vector pairs MV0 and MV1 can be generated.
  • the bidirectional matching method cannot be performed because the temporal distance definition of the current image (the current image to be encoded or the current image to be decoded) and the specific reference image is unclear. .
  • the specific reference image is artificially constructed or comes from a certain reference image that is very early in time sequence, there is not necessarily a spatial connection between the image blocks in the specific reference image, and the edge of the image block is obviously The jump, the two-way matching method based on such a specific reference image to search for motion vectors is of little significance.
  • the candidate motion vector corresponding to the specific reference image is not added to the CU-level motion vector candidate list, thereby avoiding the above problem.
  • FIG. 3 is a schematic diagram of the principle of a template matching method according to an embodiment of the present application.
  • the template matching method finds the closest match between the template of the current image (the upper image block and/or the left image block of the current CU) and the block in the reference image (the same size as the template). Export the motion vector of the current CU.
  • the candidate motion vector is the motion vector of the current CU.
  • the reference image is a specific reference image
  • the specific reference image since the specific reference image is artificially constructed or comes from a certain reference image that is very early in time sequence, there is not necessarily between the image blocks in the specific reference image. In the spatial connection, there is a significant jump in the edge of the image block. It is not meaningful to search the motion vector based on such a specific reference image, that is, the result of the template matching method is inaccurate or even meaningless.
  • the candidate motion vector corresponding to the specific reference image is not added to the CU-level motion vector candidate list, thereby avoiding the above problem.
  • the method 100 for image motion compensation of the embodiment of the present application can be applied to the DMVR technology.
  • the DMVR technology is a refinement technique used to make more accurate predictions of a current image block when performing bidirectional prediction.
  • the following takes the decoding end as an example to describe the DMVR technology in detail.
  • the DMVR technology mainly includes two major steps. In the first step, a template is constructed based on the decoded image blocks corresponding to the plurality of initial motion vectors. The second step: correcting the plurality of initial motion vectors based on the template.
  • the decoding end may generate a motion vector candidate list.
  • the motion vector candidate list may be a motion vector candidate list of the AMVP mode described above or a motion vector candidate list of the Merge template.
  • the decoding end may receive a plurality of indexes sent by the encoding end to indicate the initial motion vector.
  • the decoding end obtains a plurality of initial motion vectors from the motion vector candidate list according to the index.
  • the decoding end may generate a template (for example, a manner of weighting and summing the pixels) based on the decoded image blocks corresponding to the plurality of initial motion vectors, and respectively correct the plurality of initial motion vectors by using the generated template.
  • the current image block is motion compensated based on the corrected motion vector.
  • the initial motion vector may include a first initial motion vector and a second initial motion vector.
  • performing motion compensation on the current image block based on the initial motion vector may include: when the first initial motion vector and the second initial When the reference image pointed by the at least one initial motion vector in the motion vector is a specific reference image, the current image block is motion compensated based on the first initial motion vector and the second initial motion vector; when the first initial When the motion vector and the reference image pointed by the second initial motion vector are both non-specific reference images, the first initial motion vector and the second initial motion vector are corrected to obtain the corrected first motion vector sum.
  • the corrected second motion vector performs motion compensation on the current image block based on the corrected first motion vector and the corrected second motion vector.
  • the initial motion vector is a non-specific reference image
  • the existing DMVR processing method can be adopted.
  • the initial motion vector includes a first initial motion vector (for example, may be MV0), and a second initial motion vector (for example, may be MV1), and the decoded image block corresponding to the first initial motion vector belongs to the first frame.
  • the first decoded image block, the first frame may be a first reference image, and the first decoded image block may be a first reference image block.
  • the decoded image block corresponding to the second motion vector belongs to the second decoded image block of the second frame, and the second frame may be the second reference image, and the second decoded image block may be the second reference image block.
  • a weighted summation is performed on the first reference image block and the second reference image block to obtain a template.
  • the template can be called a two-way template.
  • the initial motion vector comprises a first initial motion vector and a second initial motion vector.
  • Correcting the first initial motion vector and the second initial motion vector to obtain the corrected first motion vector and the corrected second motion vector may include: based on the first reference image block and the second reference image a block generation template, wherein the first reference image block corresponds to the first initial motion vector and belongs to a first reference image, the second reference image block corresponds to the second initial motion vector and belongs to a second reference And correcting the first initial motion vector and the second initial motion vector based on the template to obtain a corrected first motion vector and a corrected second motion vector.
  • the correcting the first initial motion vector and the second initial motion vector based on the template to obtain the corrected first motion vector and the modified second motion vector may include: using N And a third reference image block respectively matched with the template, wherein the N third reference image blocks correspond to N third initial motion vectors and belong to the first reference image; and M fourth references are utilized Image blocks, respectively matched to the template, wherein the M fourth reference image blocks correspond to M fourth initial motion vectors and belong to the second reference image; based on the matching result, from the N Selecting a third initial motion vector from the third initial motion vectors, and selecting a fourth initial motion vector from the M fourth initial motion vectors, the one third initial motion vector and the one fourth initial a motion vector as a motion vector of the current image block (ie, the corrected first motion vector and the corrected second motion vector), or used to determine a motion vector of the current image block the amount.
  • the selected third initial motion vector may be a motion vector corresponding to a minimum distortion cost.
  • the selected third initial motion vector may be a motion vector corresponding to a distortion cost less than a certain value.
  • the selected fourth initial motion vector may be a motion vector corresponding to a minimum distortion cost.
  • the selected fourth initial motion vector may be a motion vector corresponding to a distortion cost less than a certain value.
  • the first initial motion vector and the one fourth initial motion vector are used as motion vectors of the current image block, and at this time, the one third initial motion vector and the one fourth initial motion may be used.
  • the vector corresponding known image blocks ie, the initial predicted image blocks
  • the one third initial motion vector and the one fourth initial motion vector may be used to determine a motion vector of the current image, that is, the one third initial motion vector and the one fourth initial motion vector.
  • the third MVP can be used as a starting point for search optimization, an optimized motion vector is obtained, and the fourth MVP can be used as a starting point for search optimization to obtain another optimized motion vector.
  • the known image blocks (i.e., the initial predicted image blocks) corresponding to the two optimized motion vectors can be weighted and summed to obtain a predicted image block.
  • the N and M may be equal.
  • the third initial motion vector includes the first initial motion vector, where the fourth initial motion vector includes the second initial motion vector, that is, a reference image corresponding to the first initial motion vector used to generate the template.
  • the reference image block corresponding to the block and the second motion vector also needs to be matched with the template separately.
  • At least part of the initial motion vectors of the N third initial motion vectors are obtained by performing offset based on the first initial motion vector, and at least the M fourth initial motion vectors are obtained.
  • Part of the initial motion vector is obtained by offset based on the second initial motion vector.
  • an initial motion vector other than the first initial motion vector of the N third initial motion vectors may be obtained by performing offset based on the first initial motion vector, for example, N may be equal to 9, and 8 initials thereof
  • the motion vector may be obtained by shifting based on the first initial motion vector, for example, may be obtained by shifting in eight directions, or by shifting different pixels in the vertical or horizontal direction.
  • an initial motion vector other than the second initial motion vector of the M fourth initial motion vectors may be obtained by performing offset based on the second initial motion vector, for example, M may be equal to 9, and 8 of them
  • the initial motion vector may be obtained by shifting based on the second initial motion vector, for example, which may be obtained by shifting in eight directions or by shifting different pixels in the vertical or horizontal direction.
  • the first reference image may be a forward frame of the current image block, and the second reference image may be a backward frame of the current image block; or
  • the first reference image may be a forward frame of the current image block, and the second reference image may be a forward frame of the current image block.
  • the decoding end generates a motion vector candidate list, and receives two indexes sent by the encoding end to indicate the initial motion vector.
  • the decoding end determines the DMVR condition, and the DMVR condition requires that two initial motion vectors (for example, MV0 and MV1) do not point to a specific reference image, and the prediction directions of the two initial motion vectors are opposite, that is, one should be forward, The other is backward.
  • the image block corresponding to MV0 and the image block corresponding to MV1 are weighted and summed to generate a bidirectional template.
  • the candidate motion vector corresponding to the specific reference image is not added to the motion vector candidate list, thereby avoiding that the reference image pointed by the initial motion vector indicated by the two indexes is a specific reference image.
  • the decoding end may require the encoding end to re-instruct the motion vector not pointing to the specific reference image as the initial motion. Vector; or the decoder returns or marks the DMVR algorithm invalid.
  • one luminance pixel is offset in the horizontal direction and/or the vertical direction, and the motion vectors of the adjacent eight image blocks found are together with 9 motion vectors of MV0.
  • the second reference image for the image block corresponding to MV1, one luminance pixel is offset in the horizontal direction and/or the vertical direction, and the motion vectors of the adjacent eight image blocks found are together with 9 motion vectors of MV1.
  • the bidirectional template matching used by the decoder is to perform a distortion-based search between the bidirectional template and the reconstructed block in the reference image, and finally obtain a refined motion vector without additional motion information.
  • the motion vector with the smallest matching cost is replaced with the original motion vector as the updated motion vector.
  • the original MV0 and MV1 are replaced with two new motion vectors (MV0' and MV1' as shown in Figure 3).
  • the final bidirectional prediction result is generated based on the predicted image block corresponding to MV0' and the predicted image block corresponding to MV1'.
  • the reference image is a specific reference image in the DMVR technology
  • the specific reference image is artificially constructed or comes from a certain reference image that is very early in chronological order, between the image blocks in the specific reference image
  • the motion vector corresponding to the specific reference image is no longer refined, and is directly used for motion compensation, thereby avoiding the above problem.
  • FIG. 5 is a schematic flow chart of a method 200 for image processing according to another embodiment of the present application. As shown in FIG. 5, the method 200 includes:
  • the motion values of the current image block are calculated by using the gradient values of the pixel points and the optimization principle, and then Calculating the predicted image block of the current image block, when the reference image pointed by the two initial motion vectors has a specific reference image, calculating the predicted image block of the current image block directly based on the two initial motion vectors, avoiding the current image and the specific reference
  • the prediction that the temporal distance definition of the image is ambiguous cannot be performed, which can improve the coding and decoding efficiency.
  • the S230 calculates the MV of the current image block according to the gradient values of the pixel points pointed to by the first initial MV and the second initial MV, and may include: according to the first initial MV and the first The gradient value of the pixel point pointed to by the initial MV and the optimization principle calculate the MV of the current image block. And optimization principle
  • the method 200 for image processing of the embodiments of the present application can be applied to improve the bidirectional motion prediction mode.
  • the bidirectional motion prediction mode refers to predicting a current image block using two initial predicted image blocks from two different reference images when encoding a certain current image block, and combining two initial predicted image blocks into one An image block that acts as a predicted image block for the current image block.
  • BIO prediction technology is a technology in a two-way motion prediction mode. Under the BIO prediction technique, the motion vector does not have more coding identifiers than the normal two-way motion prediction mode, but the prediction process of the image block is different.
  • the BIO prediction technique is motion optimization based on block motion compensation. The motion vector is calculated by the optical flow model, which is the motion optimization at the sampling point level.
  • the BIO prediction technique of the embodiment of the present application may include two steps.
  • the first step is to calculate the MV of the current image block from the two initial MVs (eg, the first initial MV and the second initial MV). Specifically, the MV of the current image block is calculated according to the gradient values of the pixel points pointed to by the first initial MV and the second initial MV and the optimization principle.
  • the second step is to calculate a predicted image block of the current image block according to the MV of the current image block, the first reference image block pointed by the first initial MV, and the second reference image block pointed by the second initial MV.
  • the BIO prediction technique interpolates two reference image blocks pointed to by two initial MVs to obtain two initial predicted image blocks of the same size as the current image block, and then combines the two initial predicted image blocks into current A block of predicted images of an image block.
  • FIG. 6 is a schematic diagram of the principle of a BIO technology according to an embodiment of the present application.
  • ⁇ 0 and ⁇ 1 represent the distances of the current image to the reference image 0 and the reference image 1, respectively, which can be calculated by the POC of the current image and the two reference images:
  • POC(current) is the image sequence number of the current image
  • POC(Ref 0 ) is the image sequence number of the reference image
  • POC(Ref 1 ) is the image sequence number of the reference image 1.
  • the reference images can be anisotropic, that is, one from the past and one from the future; the two reference images are also in the same direction, that is, both from the past or from the future. If the two reference images are in the same direction, ⁇ 0 and ⁇ 1 are different. In this case, the two reference images cannot be the same, ie ⁇ 0 ⁇ - ⁇ 1 , and the reference region has non-zero motion (MV x0 , MV y0 , MV x1 , MV y1 ⁇ 0), then the motion vector and the time domain distance become proportion
  • is the Taylor first-order expansion of the pixel difference of the corresponding two reference points in the two reference images (two points A and B in FIG. 4).
  • the optimal motion vector of the current image block satisfies the smallest sum of the squares of the ⁇ in the whole region, and the optimal motion vector (v x , v y ) can be calculated accordingly, considering the robustness of the algorithm. Sex, v x and v y should be within a certain threshold range.
  • the flow of the BIO prediction technique is as follows.
  • I (0) and I (1) represent the pixel values in the two reference pictures, respectively.
  • I (0) , I (1), and ⁇ 0 and ⁇ 1 are known in the above formula.
  • the vertical component can be calculated in the reference image, and the unknown are v x , v y and ⁇ .
  • a ⁇ can be calculated. Using the optimization method, let ⁇ get the minimum value of v x and v y , which is the optimal motion vector required.
  • v x and v y is calculated when, respectively, will be v x and v y to an interval
  • the interval threshold value is determined by two reference images with respect to the direction of the current image.
  • the calculating, by the first initial motion vector and the second initial motion vector, the predicted image block of the current image block including: pointing the first initial motion vector
  • the first reference image block and the second reference image block pointed by the second initial motion vector are weighted and summed to obtain a predicted image block of the current image block.
  • BIO prediction a judgment condition is added before the BIO prediction starts execution, or a necessary condition is added to the BIO condition. If it is determined that the first reference image pointed by the first initial motion vector and the second reference image pointed by the second initial motion vector are not specific reference images, and the original BIO condition is passed, BIO prediction can be performed. Otherwise, the predicted image block of the current image block is calculated directly based on the two initial motion vectors, or the BIO prediction algorithm is returned or marked invalid.
  • the BIO condition may further include: the prediction directions of the first initial motion vector and the second initial motion vector are different.
  • the BIO condition may further include: the first initial motion vector and the second initial motion vector have the same prediction direction, and neither the first initial motion vector nor the second initial motion vector is 0, the first reference image and the second reference image are different.
  • the ratio of each of the first initial motion vector and the second initial motion vector is the same, which is equal to the ratio of the distance of the first reference image pointed by the motion vector to the current image and the distance between the second reference image and the current image.
  • the motion vectors of various embodiments of the present application include three parameters, a horizontal component vx , a vertical component vy, and a frame marker of the reference image pointed to.
  • the frame tag can be a POC or other form of tag.
  • the encoding end and the decoding end can determine the attribute of the reference image and determine whether the reference image is a specific reference image.
  • determining whether the reference image pointed by the initial motion vector is a specific reference image may include: determining, according to a frame marker of the reference image pointed by the initial motion vector, whether the reference image pointed by the initial motion vector has a specific reference image.
  • the S230 calculates the predicted image block of the current image block according to the motion vector of the current image block, and may include: according to the motion vector of the current image block, the first initial The first reference image block pointed by the motion vector and the second reference image block pointed by the second initial motion vector, and the predicted image block of the current image block is calculated.
  • the specific calculation formula has been described in detail in the foregoing, and will not be described here.
  • a specific implementation of method 200 can include the following steps.
  • the reference images pointed by the two initial motion vectors are all non-specific reference images, that is, the first reference image pointed by the first initial motion vector and the second reference image pointed by the second initial motion vector are both non-specific reference images.
  • the two initial motion vectors come from different prediction directions (forward and backward).
  • the two initial motion vectors are from different reference pictures of the same prediction direction, and the two initial motion vectors are not 0, and the ratios of the two initial motion vectors are the same for each direction component, which are equal to the reference image pointed by the motion vector The ratio of the distance to the current image.
  • BIO prediction can be performed while satisfying the initial motion vector of a) and b) in accordance with the BIO condition.
  • BIO prediction value is obtained by the motion vector of the current image block and the reference image block pointed to by the two initial motion vectors.
  • the BIO prediction technique cannot be performed because the temporal distance definition of the current image (the current image to be encoded or the current image to be decoded) and the specific reference image is not clear.
  • the predicted image block of the current image block is directly calculated based on the two initial motion vectors, thereby avoiding the above problem.
  • the current image block of each embodiment of the present application may be an image block to be encoded, or may be an image block to be decoded.
  • the embodiment of the present application is only for the purpose of applying the method for image processing to the PMMVD technology, the DMVR technology, and the BIO prediction technology, and the method of the embodiment of the present application can also be applied to existing or future.
  • Other video encoding/decoding techniques are not limited in this embodiment of the present application.
  • FIG. 7 is a schematic block diagram of an apparatus 70 for image motion compensation in accordance with an embodiment of the present application. As shown in FIG. 7, the apparatus 70 for image motion compensation includes:
  • At least one memory 701 for storing computer executable instructions
  • At least one processor 702 is operable to: access the at least one memory and execute the computer executable instructions to perform the following operations:
  • the reference image pointed by the initial MV is a specific reference image, performing motion compensation on the current image block based on the initial MV;
  • the initial MV is corrected to obtain a corrected MV, and the current image block is motion compensated based on the corrected MV.
  • the processor 702 is specifically configured to:
  • the processor 702 is further configured to:
  • a candidate MV for joining the MV candidate list is determined, and when the reference image pointed by the candidate MV is a non-specific reference image, the candidate MV is added to the MV candidate list.
  • the processor 702 is further configured to:
  • the reference image pointed by the candidate MV is determined to be a non-specific reference image based on a frame mark of the reference image pointed by the candidate MV.
  • the MV candidate list includes at least one of the following candidate MVs:
  • the original AMVP candidate MV obtained from the non-specific reference image
  • the current block is relatively adjacent to the upper adjacent MV and the left adjacent MV of the non-specific reference image.
  • the processor 702 is specifically configured to:
  • the MV having the smallest distortion cost in the MV candidate list is taken as the initial MV.
  • the processor 702 is specifically configured to:
  • An MV having the smallest distortion cost is determined from the sub MV candidate list as the corrected MV.
  • the initial MV includes a first initial MV and a second initial MV
  • the processor 702 is specifically configured to:
  • the processor 702 is specifically configured to:
  • the first reference image block corresponds to the first initial MV and belongs to a first reference image
  • the second reference image block corresponds to the a second initial MV and belonging to the second reference image
  • the processor 702 is specifically configured to:
  • N third reference image blocks correspond to N third initial MVs and belong to the first reference image
  • a third initial MV from the N third initial MVs, and selecting a fourth initial MV from the M fourth initial MVs, the third initial MV and the A fourth initial MV is used as the MV of the current image block, or is used to determine the MV of the current image block.
  • the third initial MV includes the first initial MV
  • the fourth initial MV includes the second initial MV
  • At least part of the initial MVs of the N third initial MVs are obtained based on the first initial MV, and at least part of the initial MVs of the M fourth initial MVs are based on The second initial MV is obtained by offsetting.
  • the N is equal to the M.
  • the first reference image is a forward frame of the current image block
  • the second reference image is a backward frame of the current image block
  • the first reference image is a forward frame of the current image block
  • the second reference image is a forward frame of the current image block
  • apparatus 70 for image motion compensation may also be implemented by a corresponding software module, and details are not described herein again.
  • FIG. 8 is a schematic block diagram of an apparatus 80 for image processing in accordance with another embodiment of the present application. As shown in FIG. 8, the apparatus 80 for image processing includes:
  • At least one memory 801 for storing computer executable instructions
  • At least one processor 802 singly or collectively, is operable to: access the at least one memory, and execute the computer executable instructions to perform the following operations:
  • the first reference image and the second reference image is a specific reference image, calculating a predicted image block of the current image block based on the first initial MV and the second initial MV;
  • the MV calculates a predicted image block of the current image block according to the MV of the current image block.
  • the processor 802 is specifically configured to:
  • the processor 802 is specifically configured to:
  • the prediction directions of the first initial MV and the second initial MV are different.
  • the first initial MV and the second initial MV have the same prediction direction, and the first initial MV and the second initial MV are not 0, the first reference image and the The second reference image is different.
  • the processor 802 is specifically configured to:
  • apparatus 80 for image processing may also be implemented by a corresponding software module, and details are not described herein again.
  • the scaling of the motion vector is meaningless, which also reduces search efficiency and encoding/decoding efficiency. This is because the motion vector is scaled based on the distance between the images when scaling the motion vector, and the specific reference image may be artificially constructed, and there is no distance from other reference images, based on such a specific reference image. It doesn't make much sense to scale motion vectors.
  • FIG. 9 is a schematic flowchart of a method 900 for image motion compensation according to still another embodiment of the present application. As shown in FIG. 9, the method 900 includes:
  • the method for obtaining the initial MV may be the same as the method for obtaining the initial MV described above, and details are not described herein again.
  • the method for image motion compensation in the embodiment of the present application has a scaling ratio of 1 if the initial MV points to a specific reference image. If the initial MV is directed to a non-specific reference image, the scaling thereof is not limited, and the motion vector is scaled based on the distance between the current image and the non-specific reference image and the scaling strategy, thereby performing motion compensation, which can improve the codec. effectiveness.
  • the current image block is motion compensated directly based on the scaled MV.
  • the scaled MV may be further modified to obtain a corrected MV; and the current image block is motion compensated based on the corrected MV.
  • the manner of correcting the scaled MV may be the same as the manner of modifying the initial MV described above, and details are not described herein again.
  • the first initial MV points to the first reference image and the second initial MV points to the second reference image.
  • the first initial MV and the second initial MV are scaled based on the distance between the first reference image and the second reference image.
  • the current image block is then motion compensated based on the scaled first initial MV and the scaled second initial MV.
  • a first reference image block is determined, where the first reference image block corresponds to the scaled first initial MV and belongs to a second reference image; and a second reference image block is determined, where the second reference image block corresponds to The scaled second initial MV and belongs to the first reference image.
  • the motion vector of the current image block is calculated using the corrected first MV and second MV.
  • the method for modifying the first initial MV and the second initial MV based on the template may be the same as the method for modifying the first initial MV and the second initial MV based on the template described above, and details are not described herein again.
  • the present application also provides yet another method for image motion compensation.
  • an initial motion vector MV of a current image block is acquired; when the initial MV is directed to a specific reference image and when the initial MV is directed to a non-specific reference image, different operations are respectively employed based on The initial MV performs motion compensation on the current image block.
  • the method for obtaining the initial MV may be the same as the method for obtaining the initial MV described above, and details are not described herein again.
  • the current image block is motion compensated using the initial MV when the initial MV is directed to a particular reference image.
  • the initial MV points to a non-specific reference image
  • the manner of correcting the scaled MV or correcting the initial MV may be the same as the manner of correcting the initial MV described above, and details are not described herein again.
  • the initial MV when the initial MV is directed to a particular reference image, the initial MV may be modified to perform motion compensation based on the modified MV.
  • the initial MV When the initial MV is directed to the non-specific reference image, the initial MV may be scaled, or after the initial MV is scaled and corrected, the current image block is motion compensated. That is, for the case where the initial MV points to a specific reference image, the step of skipping the scaling of the initial MV is directly corrected, or the scaling of the initial MV is directly set to 1 to be scaled and corrected; for the case where the initial MV points to a non-specific reference image , the initial MV is scaled, or the initial MV is scaled and corrected to improve the encoding and decoding efficiency.
  • the initial MV when the initial MV is directed to a specific reference image, the initial MV is used for motion compensation or the initial MV is corrected, the motion compensation is performed based on the modified MV, and when the initial MV is directed to the non-specific reference image.
  • motion compensation is performed, and various implementation manners may be combined in any manner, which is not limited in this embodiment of the present application.
  • the acquiring the initial motion vector MV of the current image block comprises: acquiring an MV candidate list of the current image block; determining the initial MV based on the MV candidate list. That is, after scaling the initial MV (including scaling with a scaling of 1), the MV of the initial MV may be selected to be corrected for the MV of the non-specific reference image, or may be corrected regardless of the reference image of the initial MV.
  • the reference image pointed by any candidate MV in the MV candidate list is a non-specific reference image.
  • the acquiring the MV candidate list of the current image block may include: determining a candidate MV for adding the MV candidate list, when the reference image pointed by the candidate MV is a non-specific reference image, The candidate MV joins the MV candidate list.
  • the method may further include determining, according to a frame mark of the reference image pointed by the candidate MV, that the reference image pointed by the candidate MV is a non-specific reference image.
  • the MV candidate list may include at least one candidate MV: if the current image block is in the advanced motion vector prediction AMVP mode, the original AMVP candidate MV obtained from the non-specific reference image; relatively non-specific a merge candidate MV obtained from a reference image; an MV obtained by interpolation from a non-specific reference image; and an upper adjacent MV and a left adjacent MV of the current block relative to the non-specific reference image.
  • the determining, according to the MV candidate list, the initial MV may include: determining, according to a bidirectional matching method and/or a template matching method, a distortion cost corresponding to a candidate MV in the MV candidate list; The MV with the lowest distortion cost in the MV candidate list is taken as the initial MV.
  • the correcting the scaled MV to obtain the corrected MV may include: generating a sub-MV candidate list for the current image block, where the sub-MV candidate list includes the scaled MV; determining, from the list of sub-MV candidates, an MV having the smallest distortion cost as the corrected MV.
  • the initial MV includes a first initial MV and a second initial MV
  • the method includes: when the reference image of the at least one initial MV in the first initial MV and the second initial MV is a specific reference And when the image is set, the scaling ratio of the first initial MV and the second initial MV is set to 1, and the current image block is motion compensated based on the first initial MV and the second initial MV; and Or, when the reference images pointed by the first initial MV and the second initial MV are both non-specific reference images, determining a scaling of the first initial MV and a scaling of the second initial MV, based on Scaling the first initial MV to scale the first initial MV, and scaling the second initial MV based on a scaling ratio of the second initial MV, based on the scaled first initial MV sum
  • the scaled second initial MV performs motion compensation on the current image block.
  • the performing motion compensation on the current image block based on the scaled first initial MV and the scaled second initial MV comprises: based on the first reference image block and the second reference image block Generating a template, wherein the first reference image block corresponds to the scaled first initial MV and belongs to a second reference image, and the second reference image block corresponds to the scaled second initial MV and belongs to a first reference image, the first reference image is a reference image pointed by the first initial MV, the second reference image is a reference image pointed by the second initial MV; and the first is based on the template
  • the initial MV and the second initial MV are corrected to obtain the corrected first MV and the corrected second MV.
  • the correcting the first initial MV and the second initial MV based on the template, obtaining the corrected first MV and the modified second MV including: using N And a third reference image block respectively matched with the template, wherein the N third reference image blocks correspond to N third initial MVs and belong to the first reference image; and M fourth reference images are utilized Blocking, respectively, matching the template, wherein the M fourth reference image blocks correspond to M fourth initial MVs and belong to the second reference image; based on the matching result, from the N Selecting a third initial MV from the three initial MVs, and selecting a fourth initial MV from the M fourth initial MVs, the one third initial MV and the one fourth initial MV as the current image block MV, or MV used to determine the current image block.
  • the third initial MV may include the first initial MV
  • the fourth initial MV may include the second initial MV
  • At least part of the initial MVs of the N third initial MVs may be obtained by performing offset based on the first initial MV, and at least part of the initial MVs of the M fourth initial MVs may be based on The second initial MV is offset.
  • the N may be equal to the M.
  • the first reference image is a forward frame of the current image block
  • the second reference image is a backward frame of the current image block
  • the first reference image is the current reference image A forward frame of the image block
  • the second reference image being a forward frame of the current image block.
  • FIG. 10 is a schematic block diagram of an apparatus 1000 for image motion compensation according to an embodiment of the present application. As shown in FIG. 10, the apparatus 1000 for image motion compensation includes:
  • At least one processor 1002 singly or collectively, is operable to: access the at least one memory and execute the computer executable instructions to perform the following operations:
  • the current image block is motion compensated based on the scaled MV.
  • the processor 1002 performs motion compensation on the current image block based on the scaled MV, including:
  • the processor 1002 acquires an initial motion vector MV of the current image block, including:
  • the initial MV is determined based on the MV candidate list.
  • the reference image pointed to by any of the candidate MVs in the MV candidate list is a non-specific reference image.
  • the processor 1002 acquires an MV candidate list of the current image block, including:
  • a candidate MV for joining the MV candidate list is determined, and when the reference image pointed by the candidate MV is a non-specific reference image, the candidate MV is added to the MV candidate list.
  • the processor 1002 is further configured to:
  • the reference image pointed by the candidate MV is determined to be a non-specific reference image based on a frame mark of the reference image pointed by the candidate MV.
  • the MV candidate list includes at least one of the following candidate MVs:
  • the original AMVP candidate MV obtained from the non-specific reference image
  • the current block is relatively adjacent to the upper adjacent MV and the left adjacent MV of the non-specific reference image.
  • the processor 1002 determines the initial MV based on the MV candidate list, including:
  • the MV having the smallest distortion cost in the MV candidate list is taken as the initial MV.
  • the processor 1002 corrects the scaled MV to obtain a modified MV, including:
  • the sub-MV candidate list including the scaled MV
  • An MV having the smallest distortion cost is determined from the sub MV candidate list as the corrected MV.
  • the initial MV includes a first initial MV and a second initial MV
  • the processor 1002 is specifically configured to:
  • the scaling ratios of the first initial MV and the second initial MV are both set to 1 And performing motion compensation on the current image block based on the first initial MV and the second initial MV; and/or,
  • the subsequent second initial MV performs motion compensation on the current image block.
  • the processor 1002 performs motion compensation on the current image block based on the scaled first initial MV and the scaled second initial MV, including:
  • the first reference image block corresponds to the scaled first initial MV and belongs to a second reference image
  • the second reference image block corresponds to And the second reference MV that belongs to the first reference MV
  • the first reference image is a reference image pointed by the first initial MV
  • the second reference image is pointed by the second initial MV Reference image
  • the processor 1002 corrects the first initial MV and the second initial MV based on the template to obtain the corrected first MV and the modified second MV. ,include:
  • N third reference image blocks correspond to N third initial MVs and belong to the first reference image
  • a third initial MV from the N third initial MVs, and selecting a fourth initial MV from the M fourth initial MVs, the third initial MV and the A fourth initial MV is used as the MV of the current image block, or is used to determine the MV of the current image block.
  • the third initial MV includes the first initial MV
  • the fourth initial MV includes the second initial MV
  • At least part of the initial MVs of the N third initial MVs are obtained based on the first initial MV, and at least part of the initial MVs of the M fourth initial MVs are based on The second initial MV is obtained by offsetting.
  • the feature is that the N is equal to the M.
  • the first reference image is a forward frame of the current image block
  • the second reference image is a backward frame of the current image block
  • the first reference image is a forward frame of the current image block
  • the second reference image is a forward frame of the current image block
  • the particular reference image includes at least one of a long-term reference image, a construction frame, and a frame that is not output.
  • the processor 1002 is further configured to:
  • the reference image is determined as the specific reference image when it is determined that the reference image is a frame that is not to be output, and further determining that the reference image is a construction frame.
  • the non-specific reference image comprises a short term reference image.
  • apparatus 1000 for image motion compensation can also be implemented by a corresponding software module, and details are not described herein again.
  • the apparatus of the embodiments of the present application may be implemented based on a memory and a processor, each memory is configured to store instructions for executing the method of the embodiments of the present application, and the processor executes the instructions, so that the apparatus performs the embodiments of the present application. Methods.
  • processors mentioned in the embodiment of the present application may be a central processing unit (CPU), and may also be other general-purpose processors, digital signal processors (DSPs), and application specific integrated circuits ( Application Specific Integrated Circuit (ASIC), Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, etc.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory referred to in the embodiments of the present application may be a volatile memory or a non-volatile memory, or may include both volatile and non-volatile memory.
  • the non-volatile memory may be a read-only memory (ROM), a programmable read only memory (PROM), an erasable programmable read only memory (Erasable PROM, EPROM), or an electric Erase programmable read only memory (EEPROM) or flash memory.
  • the volatile memory can be a Random Access Memory (RAM) that acts as an external cache.
  • RAM Random Access Memory
  • many forms of RAM are available, such as static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (Synchronous DRAM). SDRAM), Double Data Rate SDRAM (DDR SDRAM), Enhanced Synchronous Dynamic Random Access Memory (ESDRAM), Synchronous Connection Dynamic Random Access Memory (Synchlink DRAM, SLDRAM) ) and direct memory bus random access memory (DR RAM).
  • processor is a general-purpose processor, DSP, ASIC, FPGA or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, the memory (storage module) is integrated in the processor.
  • memories described herein are intended to comprise, without being limited to, these and any other suitable types of memory.
  • the embodiment of the present application further provides a computer readable storage medium having stored thereon instructions for causing a computer to execute the methods of the foregoing method embodiments when the instructions are run on a computer.
  • the embodiment of the present application further provides a computing device, which includes the above computer readable storage medium.
  • Embodiments of the present application also provide an encoding device that includes means 70 for image motion compensation and/or means 80 for image processing and/or apparatus 1000 for image motion compensation.
  • Embodiments of the present application also provide a decoding device that includes means 70 for image motion compensation and/or means 80 for image processing and/or apparatus 1000 for image motion compensation.
  • Embodiments of the present application can be applied to the field of aircraft, especially drones.
  • circuits, sub-circuits, and sub-units of various embodiments of the present application is merely illustrative. Those of ordinary skill in the art will appreciate that the circuits, sub-circuits, and sub-units of the various examples described in the embodiments disclosed herein can be further separated or combined.
  • a computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, computer instructions can be wired from a website site, computer, server or data center (eg Coax, fiber, Digital Subscriber Line (DSL) or wireless (eg infrared, wireless, microwave, etc.) to another website, computer, server or data center.
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (for example, a floppy disk, a hard disk, a magnetic tape), an optical medium (for example, a high-density digital video disc (DVD)), or a semiconductor medium (for example, a solid state disk (SSD)). )Wait.
  • a magnetic medium for example, a floppy disk, a hard disk, a magnetic tape
  • an optical medium for example, a high-density digital video disc (DVD)
  • DVD high-density digital video disc
  • SSD solid state disk
  • the size of the sequence numbers of the foregoing processes does not mean the order of execution sequence, and the order of execution of each process should be determined by its function and internal logic, and should not be applied to the embodiment of the present application.
  • the implementation process constitutes any limitation.
  • B corresponding to A means that B is associated with A, and B can be determined according to A.
  • determining B from A does not mean that B is only determined based on A, and that B can also be determined based on A and/or other information.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, and may be in an electrical, mechanical or other form.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.

Landscapes

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

Abstract

一种用于图像运动补偿的方法和装置,该方法包括:获取当前图像块的初始运动矢量;当该初始运动矢量指向的参考图像为特定参考图像时,基于该初始运动矢量对该当前图像块进行运动补偿;当该初始运动矢量指向的参考图像为非特定参考图像时,对该初始运动矢量进行修正,获得修正后的运动矢量,基于该修正后的运动矢量对该当前图像块进行运动补偿。该方法能够避免由于特定参考图像的图像块边沿的明显跳变,进行无意义的搜索,可以提高编解码效率。

Description

用于图像运动补偿的方法和装置
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本申请涉及图像处理领域,尤其涉及一种用于图像运动补偿的方法和装置。
背景技术
近年来,由于便携式设备、手持式设备以及可穿戴设备的盛行,视频的内容量不断增长。随着视频形式变得越来越复杂,视频的存储和传输变得越来越具有挑战性。为了减少视频存储和传输所占用的带宽,通常在编码端对视频数据进行编码压缩,在解码端进行解码。
编码压缩过程包括预测、变换、量化和熵编码等处理。其中,预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块数据去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考图像的信息获得预测块数据,其过程包括将当前待编码图像划分成若干个待编码图像块,再将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测图像块,预测图像块与当前子图像块的相对位移即为运动矢量;其后,将该子图像块与预测图像块的相应像素值相减得到残差。将得到的各子图像块对应的残差组合在一起,得到待编码图像块的残差。残差经过变换、量化和熵编码等处理后得到熵编码比特流,将熵编码比特流及进行编码后的编码模式信息,例如帧内预测模式、运动矢量(或运动矢量残差)等信息,进行存储或发送到解码端。
在图像的解码端,获得熵编码比特流后进行熵解码,得到相应的残差;根据解码得到的运动矢量、帧内预测等信息找到待解码图像块对应的预测图 像块;根据预测图像块与残差得到待解码图像块中各像素点的值。
通过以上说明可知,在进行帧间预测时,选取的参考图像与当前待编码图像越相似则帧间预测产生的残差越小,从而可以提升帧间预测的编码效率。具体地,现有的一些技术可以利用视频中的各图像构建一个包含场景的背景内容的高质量的特定参考图像。在进行帧间预测时当前待编码图像或当前待解码图像的背景部分可通过参考所述的高质量的特定参考图像用于减少帧间预测的残差信息,从而提高编码效率。也即,该特定参考图像是作为帧间预测的参考图像。长期参考图像不是一个已解码图像,而是一个人为构造的图像。长期参考图像中包括多个图像块,任意一个图像块均是从某个已解码图像中取出的,长期参考图像中的不同图像块可能取自于不同的已解码图像。
为了提高编码效率,减少编码端发送的信息量,现有的一些技术可以在解码端直接推导出运动矢量。编码端无需发送运动矢量信息或运动矢量残差信息,解码端也无需通过解码运动矢量信息或运动矢量残差信息便可以获得真实的运动矢量。
现有的一些使用运动矢量推导的技术和一些使用双向运动预测的技术中,不考虑长期参考图像的特殊性。一些使用运动矢量推导的技术不考虑运动矢量所指向的参考图像是否为长期参考图像,在进行运动矢量修正时可能会在长期参考图像中进行运动搜索,这反而降低了搜索效率和编码效率。使用双向运动预测的技术根据图像的时间相关性对运动矢量进行操作,当涉及到的运动矢量所指向的参考图像为长期参考图像时,由于当前待编码图像或当前待解码图像与长期参考图像的时间距离定义不明确,这些操作可能会失效。
发明内容
本申请提供了一种用于图像运动补偿的方法和用于图像运动补偿的装置,可以提高编/解码效率。
第一方面,提供一种用于图像运动补偿的方法,包括:
获取当前图像块的初始运动矢量MV;
当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿;
当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV 进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿。
第二方面,提供一种用于图像运动补偿的装置,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
获取当前图像块的初始运动矢量MV;
当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿;
当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿。
第三方面,提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行第一方面的用于图像运动补偿的方法。
第四方面,提供一种编码设备,包括第二方面的用于图像运动补偿的装置。
第五方面,提供一种解码设备,包括第二方面的用于图像运动补偿的装置。
第六方面,提供一种用于图像运动补偿的方法,包括:
获取当前图像块的初始运动矢量MV;
确定所述初始MV的缩放比例,其中,当所述初始MV指向特定参考图像时,所述初始MV的缩放1比例为1;
基于所述初始MV的缩放比例对所述初始MV进行缩放;
基于所述缩放后的MV对所述当前图像块进行运动补偿。
第七方面,提供一种用于图像运动补偿的装置,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
获取当前图像块的初始运动矢量MV;
确定所述初始MV的缩放比例,其中,当所述初始MV指向特定参考图像时,所述初始MV的缩放1比例为1;
基于所述初始MV的缩放比例对所述初始MV进行缩放;
基于所述缩放后的MV对所述当前图像块进行运动补偿。
第八方面,提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行第六方面的用于图像运动补偿的方法。
第九方面,提供一种编码设备,包括第七方面的用于图像运动补偿的装置。
第十方面,提供一种解码设备,包括第七方面的用于图像运动补偿的装置。
第十一方面,提供一种用于图像处理的方法,包括:
获取第一初始运动矢量MV和第二初始MV,所述第一初始MV指向第一参考图像,所述第二初始MV指向第二参考图像;
当所述第一参考图像和所述第二参考图像中至少一个为特定参考图像时,基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块;
当所述第一参考图像和所述第二参考图像均为非特定参考图像时,根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,根据所述当前图像块的MV,计算得到当前图像块的预测图像块。
第十二方面,提供一种用于图像处理的装置,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
获取第一初始运动矢量MV和第二初始MV,所述第一初始MV指向第一参考图像,所述第二初始MV指向第二参考图像;
当所述第一参考图像和所述第二参考图像中至少一个为特定参考图像时,基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块;
当所述第一参考图像和所述第二参考图像均为非特定参考图像时,根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,根据所述当前图像块的MV,计算得到当前图像块的预测图像块。
第十三方面,提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行第十一方面的用于图像处理的方法。
第十四方面,提供一种编码设备,包括第十二方面的用于图像处理的装置。
第十五方面,提供一种解码设备,包括第十二方面的用于图像处理的装置。
附图说明
图1是本申请一个实施例的用于图像运动补偿的方法的示意性流程图。
图2是本申请一个实施例的双向匹配法的原理示意图。
图3是本申请一个实施例的模板匹配法的原理示意图。
图4是本申请一个实施例的DMVR技术的原理示意图。
图5是本申请另一个实施例的用于图像处理的方法的示意性流程图。
图6是本申请一个实施例的BIO技术的原理示意图。
图7是本申请一个实施例的用于图像运动补偿的装置的示意性框图。
图8是本申请一个实施例的用于图像处理的装置的示意性框图。
图9是本申请另一个实施例的用于图像运动补偿的方法的示意性流程图。
图10是本申请又一个实施例的用于图像运动补偿的装置的示意性框图。
具体实施方式
下面将结合附图,对本申请实施例中的技术方案进行描述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
首先介绍本申请实施例涉及的相关技术及概念。
视频是由多个图像构成的。对视频进行编/解码时,视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像,其中帧间预测图像包括前向预测图像和双向预测图像。I图像是帧内预测图像,也称为关键帧;P图像是前向预测图像,也即采用之前已编/解码的一个P图像或者I图像作为参考图像;B图像是双向预测图像,也即采用前后的图像作为参考图像。一种实现方式是编/解码端将 多张图像进行编/解码后产生一段一段的图像组(Group Of Picture,GOP),该GOP是由一张I图像,以及多张B图像(或双向预测图像)和/或P图像(或前向预测图像)构成的图像组。解码端在播放时则是读取一段一段的GOP进行解码后读取画面再渲染显示。
在现代视频编/解码标准中,可以通过将图像分成多个小块来对不同分辨率的图像进行编/解码,即图像可以被分成多个图像块。图像可以被分成任何数量的图像块。例如,该图像可以被分成一个m×n图像块阵列。图像块可以具有矩形形状、正方形形状、圆形形状或任何其他形状。图像块可以具有任何尺寸,例如p×q像素。每个图像块都可以具有相同尺寸和/或形状。可替代地,两个或更多图像块可以具有不同的尺寸和/或形状。图像块可以具有或者可以不具有任何重叠部分。在一些实施例中,该图像块在一些编/解码标准中被称为宏块或最大编码单元(Largest Coding Unit,LCU)。对于H.264标准,图像块被称为宏块,其大小可以是16×16像素。对于高效率视频编码(High Efficiency Video Coding,HEVC)标准,图像块被称为最大编码单元,其大小可以是64×64像素。
在另一些实施例中,一个图像块也可以不是一个宏块或最大编码单元,而是包含一个宏块或最大编码单元的部分,或者包含至少两个完整的宏块(或最大编码单元),或者包含至少一个完整的宏块(或最大编码单元)和一个宏块(或最大编码单元)的部分,或者包含至少两个完整的宏块(或最大编码单元)和一些宏块(或最大编码单元)的部分。如此,在图像被分成多个图像块之后,可以分别对图像数据中的这些图像块进行编/解码。
编码过程包括预测、变换、量化和熵编码等处理。其中,预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块数据去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考图像的信息获得预测块数据,其过程包括将当前待编码图像划分成若干个待编码图像块,再将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测图像块,预测图像块与当前子图像块的相对位移即为运动矢量;其后,将该子图像块与预测图像块的相应像素值相减得到残差。将得到的各子图像块对应的残差组合在一起,得到待编码图像块的残差。
在本申请的各实施例,可以使用变换矩阵去除图像块的残差的相关性, 即去除图像块的冗余信息,以便提高编码效率。图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个N×M的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,得到熵编码比特流。将熵编码比特流及进行编码后的编码模式信息,例如帧内预测模式、运动矢量(或运动矢量残差)等信息,进行存储或发送到解码端。
在图像的解码端,获得熵编码比特流后进行熵解码,得到相应的残差;根据解码得到的运动矢量、帧内预测等信息找到图像块对应的预测图像块;根据预测图像块与残差得到当前子图像块中各像素点的值。
前文中提到采用已编/解码的图像来作为当前待编/解码的参考图像。在一些实施例中还可以构造一个参考图像,来提高参考图像与当前待编/解码图像的相似度。
举例而言,视频内容中存在一类特定的编/解码场景,在该场景中背景基本不发生改变,只有视频中的前景发生改变或者运动。例如,视频监控就属于该类场景。在视频监控场景中通常监控摄像头固定不动或者只发生缓慢的移动,可以认为背景基本不发生变化。与此相对,在视频监控镜头中所拍摄到的人或车等物体则经常发生移动或改变,可以认为前景是经常变化的。在这类场景中,可以构造一个特定的参考图像,该特定的参考图像中只包含高质量的背景信息。该特定参考图像中可以包括多个图像块,任意一个图像块均是从某个已解码图像中取出的,该特定参考图像中的不同图像块可能取自于不同的已解码图像。在进行帧间预测时,当前待编/解码图像的背景部分可通过参考该特定参考图像,由此能够减少帧间预测的残差信息,从而提高编/解码效率。
上述是对特定参考图像的一个具体举例。在一些实现方式中,特定参考图像具有以下至少一种性质:构造帧(composite reference)、长期参考图像、不被输出的参考图像。例如,该特定参考图像可以是构造的长期参考图像,或者可以是不被输出的构造帧,或者可以是不被输出的长期参考图像等等。在一些实现方式中,构造帧也被称为合成参考帧。
在一些实现方式中,非特定参考图像可以是不具有以下至少一种性质的参考图像:构造帧、长期参考图像、不被输出的参考图像。例如,该特定参考图像可以包括除构造帧以外的参考图像,或者包括除长期参考图像以外的 参考图像,或者包括除不被输出的参考图像以外的参考图像,或者包括除构造的长期参考图像以外的参考图像,或者包括除不被输出的构造帧以外的参考图像,或者包括除不被输出的长期参考图像以外的参考图像等等。
在一些实现方式中,视频中的图像可作为参考图像时,可以区分长期参考图像和短期参考图像的。其中,该短期参考图像是与长期参考图像相对应的一个概念。短期参考图像存在于参考图像缓冲区中一段时间,经过该短期参考图像之后的已解码的参考图像在参考图像缓冲区中的若干移入和移出操作之后,短期参考图像会被移出参考图像缓冲区。参考图像缓冲区也可以称为参考图像列表缓存、参考图像列表、参考帧列表缓存或参考帧列表等,本文中将其统称为参考图像缓冲区。
长期参考图像(或长期参考图像中的一部分数据)可以一直存在于参考图像缓冲区中,该长期参考图像(或长期参考图像中的一部分数据)不受已解码的参考图像在参考图像缓冲区中的移入和移出操作的影响,只有在解码端发出更新指令操作时该长期参考图像(或长期参考图像中的一部分数据)才会被移出参考图像缓冲区。
短期参考图像和长期参考图像在不同的标准中的叫法可能不同,例如,在H.264/高级视频编码(advanced video coding,AVC)或者H.265/HEVC等标准中短期参考图像被称为短期参考帧(short-term reference),长期参考图像被称为长期参考帧(long-term reference)。又如在信源编码标准(audio video coding standard,AVS)1-P2、AVS2-P2、电气和电子工程师协会(institute of electrical and electronics engineers,IEEE)1857.9-P4等标准中,长期参考图像被称为背景帧(background picture)。又如在VP8、VP9等标准中,长期参考图像被称为黄金帧(golden frame)。
应理解,本申请实施例中采用特定了术语,并不代表必须应用到特定场景下,例如,将长期参考图像称为长期参考帧并不代表必须用到H.264/AVC或者H.265/HEVC等标准对应的技术中。
以上提到的长期参考图像可以是从多个已解码图像中取出的图像块构造得到的,或者利用多个已解码图像对已有参考帧(例如,预存的参考帧)进行更新得到。当然,该构造的特定参考图像也可以是短期参考图像。或者,长期参考图像也可以不是构造的参考图像。
在上述的实现方式中,特定参考图像可以包括长期参考图像,非特定参 考图像可以包括短期参考图像。
可选地,参考帧的类型可以在码流结构中通过特殊字段标识出来。
可选地,在确定参考图像为长期参考图像时,确定该参考图像为特定参考图像;或,在确定参考图像为不被输出的帧时,确定该参考图像为特定参考图像;或,在确定参考图像为构造帧时,确定该参考图像为特定参考图像;或,在确定参考图像为不被输出的帧,且进一步确定该参考图像为构造帧时,确定该参考图像为特定参考图像。
可选地,各种类型的参考图像都可以具有相应的标识,此时对于解码端而言,可以依据参考图像所具有的标识来确定该参考图像是否为特定参考图图像。
在一些实现方式中,在确定参考图像具有长期参考图像的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有不被输出的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有构造帧的标识时,确定该参考图像为特定参考图像。
在一些实现方式中,在确定参考图像具有以下三个标识中的至少两个标识时,确定参考图像为特定参考图像:长期参考图像的标识、不被输出的标识、构造帧或合成参考帧的标识。例如,确定参考图像具有不被输出的标识,且确定参考图像具有构造帧的标识时,确定参考图像为特定参考图像。
具体地,图像可以具有指示是否是被输出帧的标识,当某一图像被指示是不被输出时,则表明该帧为参考图像,进一步地,判断该帧是否具有构造帧的标识,如果是,则确定所述参考图像为特定参考图像。如果某一图像被指示被输出,则可以不进行是否是构造帧的判断,直接确定该帧不是特定参考图像。或者,如果某一图像被指示不被输出,但是具有不是构造帧的标识,则可以确定该帧不是特定参考图像。
可选地,从图像头(pictureheader)、图像参数集(PPS,picture parameterset)、条带头(sliceheader)中解析参数确定所述参考图像满足以下条件之一时,确定所述参考图像为特定参考图像:
所述参考图像为长期参考图像;
所述参考图像为构造参考图像;
所述参考图像为不被输出图像;
所述参考图像为不被输出图像时,进一步判断所述参考图像为构造参考图像。
前文中提到一些使用运动矢量推导的技术,在进行运动矢量修正时如果在特定参考图像中进行运动搜索,反而会降低搜索效率和编/解码效率。这是由于特定参考图像是人为构造的或者是来自于在时间顺序上很早之前的某一特定参考图像,特定参考图像中的图像块之间不一定有空间上的联系,图像块边沿有很明显的跳变,基于这样的特定参考图像对运动矢量进行搜索意义不大。
模式匹配的运动矢量导出(Pattern Matching Motion VectorDerivation,PMMVD)技术和解码端运动矢量求精(Decode Motion Vector Refinement,DMVR)技术均是一种使用运动矢量推导的技术。
前文中还提到一些使用双向运动预测的技术,根据图像的时间相关性对运动矢量进行操作,当涉及到的运动矢量所指向的参考图像为特定参考图像时,由于当前待编码图像或当前待解码图像与特定参考图像的时间距离定义不明确,这些操作可能会失效。双向光流(Bi-directional Optical flow,BIO)预测技术便是使用双向运动预测的技术。
下面将结合PMMVD、DMVR和BIO对本发明的用于图像运动补偿的方法进行举例解释。需要说明的是,本发明中的用于图像运动补偿的方法并不局限于这三种技术。
在对本申请实施例的用于图像运动补偿的方法进行说明之前,先对HEVC标准下视频编解码过程进行一个简单的说明。
HEVC标准定义了三种帧间预测的模式:Inter模式、Merge模式和Skip模式。帧间预测的目的是要得到一个运动矢量(Motion Vector,MV),然后根据该运动矢量确定预测图像块在参考图像中的位置。由于邻近的图像块在运动方式上具有相似性,例如,当前图像块(例如待编码图像块和/或待解码图像块)和邻近的图像块都属于同一个物体,在镜头移动的时候,它们移动的距离和方向自然是相似的或相同,因此很多时候并不需要计算运动矢量,直接把邻近的图像块的运动矢量当作当前图像块的运动矢量。其中,Merge模式和Skip模式中,运动矢量残差(Motion Vector Difference,MVD)为0,即根据邻近的已编码图像块或已解码图像块直接得到运动矢量。
当待编码图像块和/或待解码图像块的模式为Merge模式时,工作原理如下。通过邻近的图像块构造一个运动矢量预测(Motion Vector Prediction,MVP)候选列表,从MVP候选列表中选出最优的一个MVP作为当前图像块的运动矢量,然后根据该运动矢量确定预测图像块的位置,确定预测图像块之后便能计算得到残差。在Merge模式下,运动矢量是从MVP候选列表中选出的,因此不存在MVD。编码端只需要对残差和选定的运动矢量在MVP候选列表中的索引进行编码即可,不再需要编码MVD。解码端可以按照类似的方法构造MVP候选列表,然后根据编码端传送过来的索引得到运动矢量。解码端根据运动矢量确定预测图像块,再结合残差解码得到当前图像块。
Merge模式下编码端具体的工作流程是:
1.获取MVP候选列表。
2.从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引。
3.将选出的MVP作为当前图像块的运动矢量。
4.根据运动矢量从参考图像中确定出预测图像块。
5.当前图像块减去预测图像块得到残差。
6.运动矢量是从MVP候选列表中选出的,因此不存在MVD,只需把残差和选出的MVP在MVP候选列表中的索引发送给解码端。
Merge模式下解码端具体的工作流程是:
1.接收残差和运动矢量在MVP候选列表中的索引。
2.获取MVP候选列表。
3.根据索引,在MVP候选列表找到运动矢量作为当前图像块的运动矢量。
4.根据运动矢量确定预测图像块,再结合残差解码得到当前图像块。
以上为普通的Merge模式的处理过程。
Skip模式是Merge模式的一种特例。按照Merge模式得到运动矢量之后,如果编码器根据某种方法判断当前图像块和预测图像块基本相同,不需要传输残差的数据,只需要传送运动矢量在MVP候选列表中的索引,以及一个表明当前图像块可以直接从预测图像块得到标识。
Inter模式下,首先确定MVP,然后对MVP进行修正,得到MVD。编码端不仅需要向解码端传输索引和残差,还需要向解码端传输MVD。高级 运动矢量预测(Advanced Motion Vector Prediction,AMVP)是一种通过竞争机制实现运动矢量预测的工具。
AMVP模式下也有一个MVP候选列表,该MVP候选列表中的运动矢量是从当前图像块的空域或者时域上的邻近的块得到的。AMVP模式下的MVP候选列表与Merge模式下的MVP候选列表可能是不同的。编码端或解码端从MVP候选列表中选出最优的一个MVP。将该MVP作为搜索起始点,在其附近进行搜索,得到一个最优的运动矢量,该运动矢量就是当前图像块的运动矢量。根据该运动矢量确定预测图像块的位置,确定预测图像块之后便能计算得到残差。同时将该MV与MVP相减,得到MVD。编码端对残差、MVP在MVP候选列表中的索引以及MVD进行编码发送给解码端。解码端可以按照类似的方法构造MVP候选列表,然后根据编码端传送过来的索引得到MVP。解码端根据MVP和MVD确定MV,再根据MV确定预测图像块,结合残差解码得到当前图像块。
AMVP模式下编码端具体的工作流程是:
1.获取MVP候选列表。
2.从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引。
3.根据MVP确定搜索起始点。
4.在起始点附近进行搜索,得到最优的运动矢量。
5.根据运动矢量从参考图像中确定出预测图像块。
6.当前图像块减去预测图像块得到残差。
7.由运动矢量减去MVP得到MVD。
8.把残差、选出的MVP在MVP候选列表中的索引和MVD发送给解码端。
AMVP模式下解码端具体的工作流程不再赘述。
本申请实施例提供了一种用于图像运动补偿的方法100。图1是本申请一个实施例的用于图像运动补偿的方法100的示意性流程图。如图1所示,该方法100包括:
S110,获取当前图像块的初始运动矢量;
S120,当该初始运动矢量指向的参考图像为特定参考图像时,基于该初始运动矢量对该当前图像块进行运动补偿;
S130,当该初始运动矢量指向的参考图像为非特定参考图像时,对该初始运动矢量进行修正,获得修正后的运动矢量,基于该修正后的运动矢量对该当前图像块进行运动补偿。
一些实现方式中,如果初始运动矢量指向特定参考图像,则直接进行运动补偿,如果初始运动矢量指向非特定参考图像,则对初始运动矢量进行修正,基于所述修正后的运动矢量进行运动补偿,能够避免由于特定参考图像的图像块边沿的明显跳变,进行无意义的搜索,可以提高编解码效率。
在一个可能的实现方式中,本申请实施例的用于图像运动补偿的方法100可以应用于PMMVD技术。
PMMVD技术是基于帧率上转换(Frame Rate Up Conversion,FRUC)技术的一种特殊的Merge模式。这种特殊的Merge模式下,当前图像块的运动信息(例如MV和MVD)不会在码流中进行编码,而是直接在解码端生成。
可选地,在该可能的实现方式中,S130当所述初始运动矢量指向的参考图像为非特定参考图像时,对所述初始运动矢量进行修正,获得修正后的运动矢量,基于所述修正后的运动矢量对所述当前图像块进行运动补偿,可以包括:获取所述当前图像块的运动矢量候选列表,所述运动矢量候选列表中的任一候选运动矢量指向的参考图像为非特定参考图像;基于所述运动矢量候选列表确定所述初始运动矢量;对所述初始运动矢量进行修正,获得修正后的运动矢量;基于所述修正后的运动矢量对所述当前图像块进行运动补偿。
本实现方式中,从运动矢量候选列表中确定出初始运动矢量,该运动矢量候选列表中的候选运动矢量指向的参考图像为非特定参考图像,对初始运动矢量进行修正,获得修正后的运动矢量,基于修正后的运动矢量对当前图像块进行运动补偿,能够避免由于特定参考图像的图像块边沿的明显跳变,进行无意义的搜索,可以提高编解码效率。
可选地,在一个可能的实现方式中,获取当前图像块的运动矢量候选列表,可以包括:确定用于加入所述运动矢量候选列表的候选运动矢量,当所述候选运动矢量指向的参考图像为非特定参考图像时,将所述候选运动矢量加入所述运动矢量候选列表。
具体地,在一个实施例中,所述方法100还可以包括:基于所述候选运 动矢量指向的参考图像的帧标记确定所述候选运动矢量指向的参考图像为非特定参考图像。具体地,可以基于所述候选运动矢量指向的参考图像的帧标记确定所述候选运动矢量指向的参考图像是否特定参考图像。如果候选运动矢量指向的参考图像是特定参考图像,则可以不将特定参考图像对应的候选运动矢量加入运动矢量候选列表。这样,从运动矢量候选列表选择出初始运动矢量时便不会选取出特定参考图像对应的运动矢量。
应理解,本申请各实施例的运动矢量包括三个参数,水平分量v x、垂直分量v y和所指向的参考图像的帧标记。例如,该帧标记可以为图像序列号(Picture Order Count,POC),也可以为其他形式的标记。编码端和解码端通过该帧标记,可以确定参考图像的属性,判断该参考图像是特定参考图像还是非特定参考图像。
可选地,在一个实施例中,基于所述运动矢量候选列表确定初始运动矢量,可以包括:判断选取的初始运动矢量是否为指向特定参考图像的运动矢量,如果选取的初始运动矢量中至少一个指向特定参考图像,则重新选取初始运动矢量,直至选取出指向的参考图像为特定参考图像以外的参考图像的初始运动矢量。
具体地,如果基于运动矢量候选列表确定出的初始运动矢量指向的是特定参考图像,则可以根据预设的规则,重新从运动矢量候选列表中选择一个候选运动矢量,作为初始运动矢量。该预设的规则例如可以为,选择匹配代价次小的候选运动矢量,如果该候选运动矢量指向的不是特定参考图像,则将该候选运动矢量作为初始运动矢量。该实施例仅为示例,而非对本申请的限定。
以编码端为例,FRUC merge模式下运动矢量导出过程分为两步。第一步是编码单元(CodingUnit,CU)级运动搜索,第二步是子CU(Sub-CU)级运动求精过程。类似地,解码端也能够实现编码端类似的功能。
在CU级运动搜索中,生成一个CU级运动矢量候选列表。基于双向匹配法从CU级运动矢量候选列表中找到匹配代价(cost)最小的一个运动矢量,例如MV-A;基于模板匹配法也从CU级运动矢量候选列表中找到匹配代价最小的一个运动矢量,例如MV-B。然后,基于Merge模式决策中使用的率失真代价(Rate Distortion Cost,RD-Cost)决策,对当前CU是否使用FRUC merge模式进行决策。即:使用RD-Cost决策对两种匹配法(双向匹 配法和模板匹配法)的结果进行检查。将匹配代价小的匹配方式得到的结果进一步与其他CU模式的结果再次进行比较。如果两种匹配法中匹配代价小的匹配方式是最终匹配代价最小的,则将当前CU的FRUC的标识位设为真,且指示解码端使用对应的匹配方式。
在该具体的实现方式中,CU级运动矢量候选列表可以对应于本申请实施例的方法100中的运动矢量候选列表。生成运动矢量候选列表时可以对待加入列表的运动矢量进行遍历,当运动矢量指向非特定参考图像时,将该运动矢量加入运动矢量候选列表;当指向特定参考图像时,将该运动矢量舍弃,不加入运动矢量候选列表。本实现方式中运动矢量候选列表可以包括以下中的至少一种候选运动矢量:如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选运动矢量;相对非特定参考图像得到的合并候选运动矢量;从非特定参考图像通过插值得到的运动矢量;和所述当前块相对非特定参考图像的上方相邻运动矢量和左方相邻运动矢量。该运动矢量候选列表可以作为CU级运动矢量候选列表。应理解,本实现方式中非特定参考图像具体可以为短期参考图像或短期参考帧。
基于所述运动矢量候选列表确定所述初始运动矢量,可以包括:基于双向匹配法和/或模板匹配法,确定所述运动矢量候选列表中的候选运动矢量对应的失真代价;将所述运动矢量候选列表中失真代价最小的运动矢量,作为所述初始运动矢量。
具体地,以编码端为例,基于所述运动矢量候选列表确定初始运动矢量可以对应于CU级运动搜索。在CU级运动搜索中,基于双向匹配法从CU级运动矢量候选列表中找到匹配代价最小的一个运动矢量,例如MV-A;基于模板匹配法也从CU级运动矢量候选列表中找到匹配代价最小的一个运动矢量,例如MV-B。然后,基于Merge模式决策中使用的RD-Cost决策,对当前CU是否使用FRUC merge模式进行决策。即:使用RD-Cost决策对两种匹配法(双向匹配法和模板匹配法)的结果进行检查。将匹配代价小的匹配方式得到的结果进一步与其他CU模式的结果再次进行比较。如果两种匹配法中匹配代价小的匹配方式是最终匹配代价最小的,则将当前CU的FRUC的标识位设为真,且指示解码端使用对应的匹配方式。类似地,解码端也能够实现类似编码端的功能,但是解码端没有编码端复杂,例如,解码端直接接收编码端的用于指示匹配方式的标识位,无需执行RD-Cost决策。
可选地,对初始运动矢量进行修正,获得修正后的运动矢量,可以包括:为所述当前图像块生成子运动矢量候选列表,所述子运动矢量候选列表中包括所述初始运动矢量;从所述子运动矢量候选列表中确定出失真代价最小的运动矢量,作为所述修正后的运动矢量。
具体地,对初始运动矢量进行修正,获得修正后的运动矢量可以对应于子CU级运动求精。
CU级运动搜索中匹配代价最小的运动矢量,即为初始运动矢量,其被用来作为子CU级运动求精的起始点。在起始点周围基于CU级确定的匹配法(双向匹配法或模板匹配法)进行局部搜索。具体地,在子CU级运动求精中,可以生成一个子CU级运动矢量候选列表。在子CU级运动矢量候选列表中找到匹配代价小的运动矢量,作为当前CU的运动矢量。
子CU级运动矢量候选列表中包括以下运动矢量:CU级运动搜索确定的运动矢量(an MV determined from a CU-level search);当前图像块的上方相邻运动矢量、左方相邻运动矢量、左上方相邻运动矢量和右上方相邻运动矢量(top,left,top-left and top-right neighbouring MVs);参考图像中当前图像块对应位置的经过伸缩后的运动矢量(scaled versions of collocated MVs from reference pictures);其他由时域导出的候选运动矢量(up to 4ATMVP candidates和up to 4STMVP candidates)。
在上述具体的实现方式中,如果候选运动矢量指向的参考图像是特定参考图像,则不将特定参考图像对应的候选运动矢量加入CU级运动矢量候选列表,使得特定参考图像对应的候选运动矢量没有机会成为初始运动矢量。
在另外一种具体的实现方式中,如果基于CU级运动矢量候选列表确定出的初始运动矢量指向的是特定参考图像,则可以根据预设的规则,重新从CU级运动矢量候选列表中选择一个候选运动矢量,作为初始运动矢量。该预设的规则例如可以为,选择匹配代价次小的候选运动矢量,如果该候选运动矢量指向的不是特定参考图像,则将该候选运动矢量作为初始运动矢量。
图2是本申请一个实施例的双向匹配法的原理示意图。如图2所示,双向匹配法通过在当前CU的运动轨线上找到不同参考图像中的两个预测图像块之间最接近的匹配,导出当前CU的运动矢量。双向匹配法基于当前图像块的运动轨迹是连续的这一假设。两个预测图像块的运动矢量MV0和MV1,应该和当前图像与两个参考图像(参考图像0和参考图像1)之间的时域距 离(TD0和TD1)成比例。遍历运动矢量候选列表,例如针对MV0,可以生成运动矢量对MV0和MV1。其中,根据MV0、TD0、TD1,可以生成的MV1。如果MV0对应的运动矢量对指向的两个预测图像块之间的失真最小,该运动矢量(即MV0)即为当前CU的运动矢量。当TD0=TD1时,双向匹配就变为了基于镜像的双向匹配。
能够理解,当两个参考图像中的任一个为特定参考图像时,由于当前图像(当前待编码图像或当前待解码图像)与特定参考图像的时间距离定义不明确,双向匹配法是无法执行的。并且由于特定参考图像是人为构造的或者是来自于在时间顺序上很早之前的某一特定参考图像,特定参考图像中的图像块之间不一定有空间上的联系,图像块边沿有很明显的跳变,双向匹配法基于这样的特定参考图像对运动矢量进行搜索意义不大。本申请一种可能的实现方式中,不将特定参考图像对应的候选运动矢量加入CU级运动矢量候选列表,从而避免了出现上述问题。
图3是本申请一个实施例的模板匹配法的原理示意图。如图3所示,模板匹配法通过在当前图像的模板(当前CU的上方图像块和/或左方图像块)和参考图像中的块(和模板大小相同)之间找到最接近的匹配,导出当前CU的运动矢量。在得到模板之后,模板和候选的运动矢量指向的预测图像块之间的失真最小时,该候选的运动矢量即为当前CU的运动矢量。
能够理解,当参考图像为特定参考图像时,由于特定参考图像是人为构造的或者是来自于在时间顺序上很早之前的某一特定参考图像,特定参考图像中的图像块之间不一定有空间上的联系,图像块边沿有很明显的跳变,基于这样的特定参考图像对运动矢量进行搜索意义不大,即模板匹配法的结果是不准确甚至无意义的。本申请一种可能的实现方式中,不将特定参考图像对应的候选运动矢量加入CU级运动矢量候选列表,从而避免了出现上述问题。
在一个具体的实现方式中,本申请实施例的用于图像运动补偿的方法100可以应用于DMVR技术。
DMVR技术是在进行双向预测时,为了对一个当前图像块进行更精确的预测所使用的求精技术。下面以解码端为例,对DMVR技术进行详细说明。DMVR技术主要包括两大步骤,第一步,基于多个初始运动矢量对应的已解码图像块构造一个模板。第二步:基于模板对该多个初始运动矢量进行修正。
具体地,解码端可以生成运动矢量候选列表。例如,该运动矢量候选列表可以为前文描述的AMVP模式的运动矢量候选列表或者Merge模板的运动矢量候选列表。解码端可以接收编码端发送的用于指示初始运动矢量的多个索引。解码端根据索引从运动矢量候选列表中得到多个初始运动矢量。解码端可以基于该多个初始运动矢量对应的已解码图像块生成模板(例如,对像素进行加权求和的方式),利用生成的模板,分别对该多个初始运动矢量进行修正。最后,基于修正后的运动矢量对该当前图像块进行运动补偿。
本具体的实现方式中,初始运动矢量可以包括第一初始运动矢量和第二初始运动矢量。当初始运动矢量中存在特定参考图像时,可以采用以下处理。S120当所述初始运动矢量指向的参考图像为特定参考图像时,基于所述初始运动矢量对所述当前图像块进行运动补偿,可以包括:当所述第一初始运动矢量和所述第二初始运动矢量中至少一个初始运动矢量指向的参考图像为特定参考图像时,基于所述第一初始运动矢量和所述第二初始运动矢量对所述当前图像块进行运动补偿;当所述第一初始运动矢量和所述第二初始运动矢量指向的参考图像均为非特定参考图像时,对所述第一初始运动矢量和所述第二初始运动矢量进行修正,获得修正后的第一运动矢量和修正后的第二运动矢量,基于所述修正后的第一运动矢量和所述修正后的第二运动矢量对所述当前图像块进行运动补偿。当初始运动矢量中不存在特定参考图像,即初始运动矢量均为非特定参考图像时,可以采用现有的DMVR处理方式。
图4是本申请一个实施例的DMVR技术的原理示意图。具体地,假设初始运动矢量包括第一初始运动矢量(例如可以是MV0),和第二初始运动矢量(例如可以是MV1),第一初始运动矢量对应的已解码图像块为属于第一帧的第一已解码图像块,该第一帧可以为第一参考图像,该第一已解码图像块可以为第一参考图像块。第二运动矢量对应的已解码图像块属于第二帧的第二已解码图像块,该第二帧可以为第二参考图像,该第二已解码图像块可以为第二参考图像块。对该第一参考图像块和该第二参考图像块进行加权求和,可以得到模板。其中,该模板可以称为双向模板。
可选地,在一个实施例中,所述初始运动矢量包括第一初始运动矢量和第二初始运动矢量。对所述第一初始运动矢量和所述第二初始运动矢量进行修正,获得修正后的第一运动矢量和修正后的第二运动矢量,可以包括:基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块 对应于所述第一初始运动矢量且属于第一参考图像,所述第二参考图像块对应于所述第二初始运动矢量且属于第二参考图像;基于所述模板对所述第一初始运动矢量和所述第二初始运动矢量进行修正,获得修正后的第一运动矢量和修正后的第二运动矢量。
具体地,所述基于所述模板对所述第一初始运动矢量和所述第二初始运动矢量进行修正,获得修正后的第一运动矢量和修正后的第二运动矢量,可以包括:利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始运动矢量且属于所述第一参考图像;利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始运动矢量且属于所述第二参考图像;基于所述匹配结果,从所述N个第三初始运动矢量中选择一个第三初始运动矢量,以及从所述M个第四初始运动矢量中选择一个第四初始运动矢量,所述一个第三初始运动矢量和所述一个第四初始运动矢量作为所述当前图像块的运动矢量(即修正后的第一运动矢量和修正后的第二运动矢量),或者用于确定所述当前图像块的运动矢量。
可选地,该选择的第三初始运动矢量可以为最小的失真代价对应的运动矢量。或者,该选择的第三初始运动矢量可以为小于某一特定的值的失真代价对应的运动矢量。
可选地,该选择的第四初始运动矢量可以为最小的失真代价对应的运动矢量。或者,该选择的第四初始运动矢量可以为小于某一特定的值失真代价对应的运动矢量。
其中,所述一个第三初始运动矢量和所述一个第四初始运动矢量作为所述当前图像块的运动矢量,此时,可以将所述一个第三初始运动矢量和所述一个第四初始运动矢量对应的已知图像块(即初始预测图像块)可以进行加权求和得到预测图像块。
或者,所述一个第三初始运动矢量和所述一个第四初始运动矢量可以用于确定所述当前图像的运动矢量,也即所述一个第三初始运动矢量和所述一个第四初始运动矢量可以分别作为MVP。此时,可以将该第三MVP作为起始点进行搜索优化,得到一个优化的运动矢量,以及可以将该第四MVP作为起始点进行搜索优化,得到另一优化的运动矢量。将该两个优化后的运动矢量对应的已知图像块(即初始预测图像块)可以进行加权求和得到预测图 像块。
可选地,该N和M可以相等。
可选地,该第三初始运动矢量包括该第一初始运动矢量,该第四初始运动矢量包括该第二初始运动矢量,也就是说,用于生成模板的第一初始运动矢量对应的参考图像块和第二运动矢量对应的参考图像块,也需要分别与模板进行匹配。
可选地,在本申请实施例中,该N个第三初始运动矢量中的至少部分初始运动矢量是基于该第一初始运动矢量进行偏移得到,该M个第四初始运动矢量中的至少部分初始运动矢量是基于该第二初始运动矢量进行偏移得到的。
例如,该N个第三初始运动矢量中除第一初始运动矢量之外的初始运动矢量可以是基于该第一初始运动矢量进行偏移得到,例如,N可以等于9,则其中的8个初始运动矢量可以是基于第一初始运动矢量进行偏移得到的,例如,可以在八个方向上进行偏移得到的,或者在垂直方向或水平方向上偏移不同的像素得到的。
再例如,该M个第四初始运动矢量中除第二初始运动矢量之外的初始运动矢量可以是基于该第二初始运动矢量进行偏移得到,例如,M可以等于9,则其中的8个初始运动矢量可以是基于第二初始运动矢量进行偏移得到的,例如,可以在八个方向上进行偏移得到的或者在垂直方向或水平方向上偏移不同的像素得到的。
可选地,在本申请实施例中,所述第一参考图像可以为所述当前图像块的前向帧,所述第二参考图像可以是所述当前图像块的后向帧;或,所述第一参考图像可以为所述当前图像块的前向帧,所述第二参考图像可以是所述当前图像块的前向帧。
在一个具体的实现方式中,解码端生成运动矢量候选列表,接收编码端发送的用于指示初始运动矢量的两个索引。解码端判断DMVR条件,该DMVR条件要求两个初始运动矢量(例如可以是MV0和MV1)均不指向特定参考图像,且两个初始运动矢量的预测方向是相反的,即一个应为前向,另一个为后向。在满足DMVR条件时,对MV0对应的图像块和MV1对应的图像块进行加权求和,生成双向模板。
本申请一种可能的实现方式中,不将特定参考图像对应的候选运动矢量 加入运动矢量候选列表,从而避免了两个索引所指示的初始运动矢量指向的参考图像为特定参考图像。在另外一种可能的实现方式中,如果基两个索引所指示的初始运动矢量指向的参考图像为特定参考图像,则解码端可以要求编码端重新指示不指向特定参考图像的运动矢量作为初始运动矢量;或者解码端返回或标记DMVR算法失效。
可以在第一参考图像中,针对MV0对应的图像块,在水平方向和/或垂直方向上偏移一个亮度像素,找到的邻近的8个图像块的运动矢量,与MV0共9个运动矢量一起形成参考列表list0。可以在第二参考图像中,针对MV1对应的图像块,在水平方向和/或垂直方向上偏移一个亮度像素,找到的邻近的8个图像块的运动矢量,与MV1共9个运动矢量一起形成参考列表list1。
解码端使用的双向模板匹配是为了在双向模板和参考图像中的重构块之间进行基于失真的搜索,最终得到没有额外运动信息的求精后的运动矢量。对于两个参考图像中的运动矢量(list0中的运动矢量和list1中的运动矢量),拥有最小匹配代价的运动矢量会被作为更新运动矢量来替代原有的运动矢量。最终,会用两个新的运动矢量(如图3中所示的MV0′和MV1′)替代原有的MV0和MV1。根据MV0′对应的预测图像块和MV1′对应的预测图像块,生成最终的双向预测结果。
能够理解,DMVR技术中当参考图像为特定参考图像时,由于特定参考图像是人为构造的或者是来自于在时间顺序上很早之前的某一特定参考图像,特定参考图像中的图像块之间不一定有空间上的联系,图像块边沿有很明显的跳变,基于这样的特定参考图像对运动矢量进行搜索意义不大,即DMVR技术是不准确甚至无意义的。本申请实施例中,对特定参考图像对应的运动矢量不再进行求精,直接用来做运动补偿,从而避免了出现上述问题。
本申请实施例提供了一种用于图像处理的方法200。图5是本申请另一个实施例的用于图像处理的方法200的示意性流程图。如图5所示,该方法200包括:
S210,获取第一初始运动矢量和第二初始运动矢量,该第一初始运动矢量指向第一参考图像,该第二初始运动矢量指向第二参考图像;
S220,当该第一参考图像和该第二参考图像中至少一个为特定参考图像时,基于该第一初始运动矢量和该第二初始运动矢量计算得到当前图像块的预测图像块;
S230,当该第一参考图像和该第二参考图像均为非特定参考图像时,根据该第一初始运动矢量和该第二初始运动矢量所指向的像素点的梯度值,计算得到当前图像块的运动矢量,根据该当前图像块的运动矢量,计算得到当前图像块的预测图像块。
本申请实施例的用于图像处理的方法,当两个初始运动矢量指向的参考图像均非特定参考图像时,采用像素点的梯度值和最优化原理,计算得到当前图像块的运动矢量,再计算得到当前图像块的预测图像块,当两个初始运动矢量指向的参考图像存在特定参考图像时,直接基于两个初始运动矢量计算得到当前图像块的预测图像块,避免由于当前图像与特定参考图像的时间距离定义不明确导致的预测无法执行,可以提高编解码效率。
可选地,S230根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,可以包括:根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值和最优化原理,计算得到所述当前图像块的MV。和最优化原理
在一个具体的实现方式中,本申请实施例的用于图像处理的方法200可以应用于改进双向运动预测模式。双向运动预测模式是指编码某一个当前图像块时,同时使用来自于两个不同的参考图像中的两个初始预测图像块对当前图像块进行预测,并将两个初始预测图像块合并为一个图像块,作为当前图像块的预测图像块。BIO预测技术就是一种双向运动预测模式下的技术。在BIO预测技术下,运动矢量相比于普通的双向运动预测模式不会有更多的编码标识,但是预测图像块的导出过程有不同。BIO预测技术是基于块运动补偿的运动优化,通过光流模型计算运动矢量,是采样点级别的运动优化。
本申请实施例的BIO预测技术可以包括两个步骤。第一个步骤是根据两个初始MV(例如,第一初始MV和第二初始MV),计算得到当前图像块的MV。具体而言,根据第一初始MV和第二初始MV所指向的像素点的梯度值和最优化原理,计算得到当前图像块的MV。第二个步骤是根据当前图像块的MV、第一初始MV指向的第一参考图像块和第二初始MV指向的第二参考图像块,计算得到当前图像块的预测图像块。具体地,BIO预测技术通过对两个初始MV指向的两个参考图像块进行插值,得到与当前图像块相同尺寸的两个初始预测图像块,然后将这两个初始预测图像块加权合并为当前图像块的预测图像块。
图6是本申请一个实施例的BIO技术的原理示意图。BIO技术假设在较短时间内,物体的运动在水平方向和垂直方向上都是匀速运动的,符合光流法分析条件。如图6所示,可以假设两个初始MV指向的参考点k(k=0,1)的运动矢量(v x,v y)和亮度值I (k)符合如下光流公式:
Figure PCTCN2018095710-appb-000001
其中,
Figure PCTCN2018095710-appb-000002
Figure PCTCN2018095710-appb-000003
表示的梯度水平分量和垂直分量。
将光流公式和Hermite插值联立得到如下多项式,在t=0时即为BIO预测值。
Figure PCTCN2018095710-appb-000004
其中,τ 0和τ 1分别表示当前图像到参考图像0和参考图像1的距离,两者可以通过当前图像和两个参考图像的POC计算得到:
τ 0=POC(current)-POC(Ref 0)公式3
τ 1=POC(Ref 1)-POC(current)公式4
其中,POC(current)为当前图像的图像序列号,POC(Ref 0)为参考图像0的图像序列号,POC(Ref 1)为参考图像1的图像序列号。
参考图像可以异向,即一个来自于过去一个来自于将来;两个参考图像也同向,即都来自于过去或都来自于将来。如果两个参考图像同向,则τ 0和τ 1异号。这种情况下,两个参考图像不能相同,即τ 0≠-τ 1,参考区域有非零运动(MV x0,MV y0,MV x1,MV y1≠0),则运动矢量与时域距离成比例
(MV x0/MV x1=MV y0/MV y1=-τ 01)。
假设在很小一片区域内的运动是相同的,可以得到BIO的运动矢量满足如下一阶泰勒展开公式:
Figure PCTCN2018095710-appb-000005
其中Δ为两个参考图像中对应的两个参考点(如图4中的A、B两点) 的像素差的泰勒一阶展开。通过梯度值和最优化方法分析,当前图像块的最佳运动矢量满足整个区域内Δ的平方和最小,据此可以计算出最佳运动矢量(v x,v y),考虑到算法的鲁棒性,v x和v y应处于某个阈值范围内。
根据上述公式,BIO预测技术的流程如下。对于一个当前图像块,其在两个参考图像对应位置的像素值都是已经得到了的。在公式中I (0)和I (1)分别表示两个参考图中的像素值,上述公式中已知的就是I (0)、I (1)以及τ 0和τ 1,梯度水平分量和垂直分量可以在参考图像中通过计算得到,未知的就是v x、v y和Δ。对一片区域内所有的像素点,都可以计算出一个Δ,使用最优化方法,让Δ取得最小值的v x和v y,就是需要的最优运动矢量。其中,计算v x和v y的时候,会分别给v x和v y一个区间,该区间的阈值是通过两个参考图像相对于当前图像的方向来确定的。得到最优运动矢量之后,并不是直接拿这个最优运动矢量指向的图像块+残差作为当前图像块,而是用公示2计算出来当前图像块的各个像素,也叫BIO预测值,各像素的预测值组合在一起,形成预测图像块。
可选地,在本申请实施例中,所述基于所述第一初始运动矢量和所述第二初始运动矢量计算得到当前图像块的预测图像块,包括:对所述第一初始运动矢量指向的第一参考图像块和所述第二初始运动矢量指向的第二参考图像块进行加权求和,得到所述当前图像块的预测图像块。
具体而言,在BIO预测开始执行前增加一个判断条件,或者说在BIO条件中增加一个必要条件。如果确定第一初始运动矢量指向的第一参考图像和第二初始运动矢量指向的第二参考图像均不是特定参考图像,并且通过原有的BIO条件,那么可以进行BIO预测。否则,直接基于两个初始运动矢量计算得到当前图像块的预测图像块,或者返回或标记BIO预测算法失效。
BIO条件还可以包括:所述第一初始运动矢量和所述第二初始运动矢量的预测方向不同。或者,可替代地,BIO条件还可以包括:所述第一初始运动矢量和所述第二初始运动矢量的预测方向相同,所述第一初始运动矢量和所述第二初始运动矢量均不为0,所述第一参考图像和所述第二参考图像不同。同时,第一初始运动矢量和第二初始运动矢量每个方向分量的比例相同,均等于运动矢量指向的第一参考图像与当前图像的距离以及第二参考图像与当前图像的距离的比。
应理解,本申请各实施例的运动矢量包括三个参数,水平分量v x、垂直分量v y和所指向的参考图像的帧标记。例如,该帧标记可以为POC,也可以为其他形式的标记。编码端和解码端通过该帧标记,可以确定参考图像的属性,判断该参考图像是否特定参考图像。
可选地,在本申请实施例中,判断初始运动矢量指向的参考图像是否特定参考图像,可以包括:根据初始运动矢量指向的参考图像的帧标记,确定初始运动矢量指向的参考图像是否特定参考图像。
可选地,在本申请实施例中,S230根据所述当前图像块的运动矢量,计算得到当前图像块的预测图像块,可以包括:根据所述当前图像块的运动矢量、所述第一初始运动矢量指向的第一参考图像块和所述第二初始运动矢量指向的第二参考图像块,计算得到所述当前图像块的预测图像块。具体的计算公式已在前文中详细说明,此处不再赘述。
方法200的一个具体的实现方式可以包括以下步骤。
1.判断当前两个初始运动矢量是否符合BIO条件,判断条件如下:
a)两个初始运动矢量指向的参考图像均为非特定参考图像,即第一初始运动矢量指向的第一参考图像和第二初始运动矢量指向的第二参考图像均为非特定参考图像。
b)满足下面两项之一
i)两个初始运动矢量来自于不同的预测方向(分别为前向和后向)。
ii)两个初始运动矢量来自于同一预测方向的不同参考图像,且两个初始运动矢量均不为0,并且两个初始运动矢量每个方向分量的比例相同,均等于运动矢量指向的参考图像与当前图像的距离的比。
同时满足a)和b)的初始运动矢量符合BIO条件,则可以进行BIO预测。
2.根据两个初始运动矢量的预测方向,确定运算阈值,即v x和v y的区间的阈值。
3.计算两个初始运动矢量指向的像素点的梯度值。
4.根据梯度值和最优化原理,计算出最佳运动矢量,作为当前图像块的运动矢量。
5.通过当前图像块的运动矢量、两个初始运动矢量指向的参考图像块,得到BIO预测值。
如果仅满足b)i),则对所述第一初始运动矢量指向的第一参考图像块和所述第二初始运动矢量指向的第二参考图像块进行加权求和,得到所述当前图像块的预测图像块。
本申请实施例的BIO预测参照的原理、公式及步骤可以参见上文的描述,此处不再赘述。
能够理解,BIO预测技术中当参考图像为特定参考图像时,由于当前图像(当前待编码图像或当前待解码图像)与特定参考图像的时间距离定义不明确,BIO预测技术是无法执行的。本申请实施例中,当两个初始运动矢量指向的参考图像存在特定参考图像时,直接基于两个初始运动矢量计算得到当前图像块的预测图像块,从而避免了出现上述问题。
应理解,本申请各实施例的方法均可以应用于编码端和解码端。本申请各实施例的当前图像块可以为待编码图像块,也可以为待解码图像块。
应理解,本申请实施例仅是示例性的给出了将用于图像处理的方法应用于PMMVD技术、DMVR技术和BIO预测技术,本申请实施例的方法还可以应用于已有的或未来的其他视频编/解码技术,本申请实施例对此不作限定。
图7是本申请一个实施例的用于图像运动补偿的装置70的示意性框图。如图7所示,用于图像运动补偿的装置70包括:
至少一个存储器701,用于存储计算机可执行指令;
至少一个处理器702,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
获取当前图像块的初始运动矢量MV;
当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿;
当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器702具体用于:
获取所述当前图像块的MV候选列表,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像;
基于所述MV候选列表确定所述初始MV;
对所述初始MV进行修正,获得修正后的MV;
基于所述修正后的MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器702还用于:
确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
在一些实施例中,所述处理器702还用于:
基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
在一些实施例中,所述MV候选列表包括以下中的至少一种候选MV:
如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
相对非特定参考图像得到的合并候选MV;
从非特定参考图像通过插值得到的MV;和
所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
在一些实施例中,所述处理器702具体用于:
基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
在一些实施例中,所述处理器702具体用于:
为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述初始MV;
从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
在一些实施例中,所述初始MV包括第一初始MV和第二初始MV,
所述处理器702具体用于:
当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;
当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,对所述第一初始MV和所述第二初始MV进行修正,获得修正后的第一MV和修正后的第二MV,基于所述修正后的第一MV和所述修正后的第二MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器702具体用于:
基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述第一初始MV且属于第一参考图像,所述第二参考图像块对应于所述第二初始MV且属于第二参考图像;
基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
在一些实施例中,所述处理器702具体用于:
利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
在一些实施例中,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
在一些实施例中,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
在一些实施例中,所述N等于所述M。
在一些实施例中,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
应理解,用于图像运动补偿的装置70还可以由对应的软件模块来实现,此处不再赘述。
图8是根据本申请另一个实施例的用于图像处理的装置80的示意性框图。如图8所示,用于图像处理的装置80包括:
至少一个存储器801,用于存储计算机可执行指令;
至少一个处理器802,单独或共同地用于:访问所述至少一个存储器, 并执行所述计算机可执行指令,以实施以下操作:
获取第一初始运动矢量MV和第二初始MV,所述第一初始MV指向第一参考图像,所述第二初始MV指向第二参考图像;
当所述第一参考图像和所述第二参考图像中至少一个为特定参考图像时,基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块;
当所述第一参考图像和所述第二参考图像均为非特定参考图像时,根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,根据所述当前图像块的MV,计算得到当前图像块的预测图像块。
在一些实施例中,所述处理器802具体用于:
根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值和最优化原理,计算得到所述当前图像块的MV。
在一些实施例中,所述处理器802具体用于:
对所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块进行加权求和,得到所述当前图像块的预测图像块。
在一些实施例中,所述第一初始MV和所述第二初始MV的预测方向不同。
在一些实施例中,所述第一初始MV和所述第二初始MV的预测方向相同,所述第一初始MV和所述第二初始MV均不为0,所述第一参考图像和所述第二参考图像不同。
在一些实施例中,所述处理器802具体用于:
根据所述当前图像块的MV、所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块,计算得到所述当前图像块的预测图像块。
应理解,用于图像处理的装置80还可以由对应的软件模块来实现,此处不再赘述。
一些使用运动矢量推导的技术中,如果运动矢量指向特定参考图像时,对该运动矢量的缩放没有意义,也会降低搜索效率和编/解码效率。这是由于在对运动矢量进行缩放时要基于图像之间的距离对运动矢量进行缩放,而特定参考图像可能是人为构造的,与其他参考图像并没有距离这一说法,基于 这样的特定参考图像对运动矢量进行缩放意义不大。
本申请还提供了又一种用于图像运动补偿的方法。图9是本申请又一实施例的用于图像运动补偿的方法900的示意性流程图。如图9所示,该方法900包括:
S910,获取当前图像块的初始运动矢量MV;
S920,确定该初始MV的缩放比例,其中,当该初始MV指向特定参考图像时,该初始MV的缩放比例为1;
S930,基于该初始MV的缩放比例对该初始MV进行缩放;
S940,基于该缩放后的MV对该当前图像块进行运动补偿。
其中,获取初始MV的方法可以和上文所描述的获取初始MV的方法相同,在此不再赘述。
本申请实施例的用于图像运动补偿的方法,如果初始MV指向特定参考图像,则对其的缩放比例为1。如果初始MV指向非特定参考图像,则对其的缩放比例不做限定,基于该当前图像与非特定参考图像之间的距离及缩放策略对运动矢量进行缩放,进而进行运动补偿,可以提高编解码效率。
在一些实施例中,直接基于缩放后的MV对当前图像块进行运动补偿。
在一些实施例中,对于缩放后的MV,可以进一步对所述缩放后的MV进行修正,获得修正后的MV;基于所述修正后的MV对所述当前图像块进行运动补偿。其中,对缩放后的MV进行修正的方式可以和上文所描述的对初始MV进行修正的方式相同,在此不再赘述。
例如,在图5所示实施例中,第一初始MV指向第一参考图像,第二初始MV指向第二参考图像。当第一参考图像和第二参考图像均指向非特定参考图像时,基于第一参考图像和第二参考图像之间的距离对第一初始MV和第二初始MV进行缩放。然后基于缩放后的第一初始MV和缩放后的第二初始MV对当前图像块进行运动补偿。一种实现方式中,确定第一参考图像块,该第一参考图像块对应于该缩放后的第一初始MV且属于第二参考图像;确定第二参考图像块,该第二参考图像块对应于该缩放后的第二初始MV且属于第一参考图像。基于第一参考图像块和第二参考图像块生成模板,以及基于该模板对第一初始MV和第二初始MV进行修正,获得修正后的第一MV和所述修正后的第二MV。利用修正后的第一MV和第二MV计算当前图像块的运动矢量。
其中,基于该模板对第一初始MV和第二初始MV进行修正的方法可以和上文中描述的基于模板对第一初始MV和第二初始MV进行修正的方法相同,在此不再赘述。
本申请还提供了又一种用于图像运动补偿的方法。在该用于图像运动补偿的方法中,获取当前图像块的初始运动矢量MV;当所述初始MV指向特定参考图像时和当该初始MV指向非特定参考图像时,分别采用不同的操作基于所述初始MV对所述当前图像块进行运动补偿。
其中,获取初始MV的方法可以和上文所描述的获取初始MV的方法相同,在此不再赘述。
在一个实施例中,当初始MV指向特定参考图像时,使用该初始MV对当前图像块进行运动补偿。当初始MV指向非特定参考图像时,可以有四种实现方式:1、对初始MV进行缩放,基于缩放后的初始MV对当前图像块进行运动补偿;2、对初始MV进行修正,基于修正后的初始MV对当前图像块进行运动补偿;3、对初始MV进行缩放,对缩放后的MV进行修正,获得修正后的MV,基于修正后的MV对当前图像块进行运动补偿;4、对初始MV进行修正,对修正后的MV进行缩放,获得缩放后的MV,基于缩放后的MV对当前图像块进行运动补偿。
其中,对缩放后的MV修正的方式或对初始MV进行修正的方式,可以和上文所描述的对初始MV进行修正的方式相同,在此不再赘述。
在一个实施例中,当初始MV指向特定参考图像时,可以对初始MV进行修正,基于修正后的MV进行运动补偿。当初始MV指向非特定参考图像时,则可以对初始MV进行缩放后,或者对初始MV进行缩放以及修正后,对当前图像块进行运动补偿。即对于初始MV指向特定参考图像的情况,对初始MV跳过缩放的步骤直接进行修正,或者直接将初始MV的缩放比例置位1进行缩放后进行修正;对于初始MV指向非特定参考图像的情况,对初始MV进行缩放,或者对初始MV进行缩放和修正,可以提高编解码效率。
在本申请其他实施例中,当初始MV指向特定参考图像时,直接使用初始MV进行运动补偿或对初始MV进行修正,基于修正后的MV进行运动补偿;以及当初始MV指向非特定参考图像时,对初始MV进行缩放和/或修正后,进行运动补偿,各种实现方式可以任意组合,本申请实施例对此不作限定。
在一些实施例中,所述获取当前图像块的初始运动矢量MV,包括:获取所述当前图像块的MV候选列表;基于所述MV候选列表确定所述初始MV。即,对初始MV进行缩放(包括缩放比例为1的缩放)之后,可以选择初始MV指向非特定参考图像的MV进行修正,也可以不论初始MV指向何类参考图像均可进行修正。
可选地,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像。
可选地,所述获取所述当前图像块的MV候选列表,可以包括:确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
可选地,所述方法还可以包括:基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
可选地,所述MV候选列表可以包括以下中的至少一种候选MV:如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;相对非特定参考图像得到的合并候选MV;从非特定参考图像通过插值得到的MV;和所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
可选地,所述基于所述MV候选列表确定所述初始MV,可以包括:基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
可选地,所述对所述缩放后的MV进行修正,获得修正后的MV,可以包括:为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述缩放后的MV;从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
可选地,所述初始MV包括第一初始MV和第二初始MV,所述方法包括:当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,将所述第一初始MV和所述第二初始MV的缩放比例均置为1,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;和/或,当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,确定所述第一初始MV的缩放和所述第 二初始MV的缩放比例,基于所述第一初始MV的缩放比例对所述第一初始MV进行缩放,基于所述第二初始MV的缩放比例对所述第二初始MV进行缩放,基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿。
可选地,所述基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿,包括:基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述缩放后的第一初始MV且属于第二参考图像,所述第二参考图像块对应于所述缩放后的第二初始MV且属于第一参考图像,所述第一参考图像为所述第一初始MV指向的参考图像,所述第二参考图像为所述第二初始MV指向的参考图像;基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
可选地,所述基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV,包括:利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
可选地,所述第三初始MV可以包括所述第一初始MV,所述第四初始MV可以包括所述第二初始MV。
可选地,所述N个第三初始MV中的至少部分初始MV可以是基于所述第一初始MV进行偏移得到的,所述M个第四初始MV中的至少部分初始MV可以是基于所述第二初始MV进行偏移得到的。
可选地,所述N可以等于所述M。
可选地,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
应理解,上述可选的实现方式可以类似方法100的细节实现,此处不再 进行赘述。
图10是本申请一个实施例的用于图像运动补偿的装置1000的示意性框图。如图10所示,用于图像运动补偿的装置1000包括:
至少一个存储器1001,用于存储计算机可执行指令;
至少一个处理器1002,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
获取当前图像块的初始运动矢量MV;
确定所述初始MV的缩放比例,其中,当所述初始MV指向特定参考图像时,所述初始MV的缩放1比例为1;
基于所述初始MV的缩放比例对所述初始MV进行缩放;
基于所述缩放后的MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器1002基于所述缩放后的MV对所述当前图像块进行运动补偿,包括:
对所述缩放后的MV进行修正,获得修正后的MV;
基于所述修正后的MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器1002获取当前图像块的初始运动矢量MV,包括:
获取所述当前图像块的MV候选列表;
基于所述MV候选列表确定所述初始MV。
在一些实施例中,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像。
在一些实施例中,所述处理器1002获取所述当前图像块的MV候选列表,包括:
确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
在一些实施例中,所述处理器1002还用于:
基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
在一些实施例中,所述MV候选列表包括以下中的至少一种候选MV:
如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
相对非特定参考图像得到的合并候选MV;
从非特定参考图像通过插值得到的MV;和
所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
在一些实施例中,所述处理器1002基于所述MV候选列表确定所述初始MV,包括:
基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
在一些实施例中,所述处理器1002对所述缩放后的MV进行修正,获得修正后的MV,包括:
为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述缩放后的MV;
从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
在一些实施例中,所述初始MV包括第一初始MV和第二初始MV,所述处理器1002具体用于:
当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,将所述第一初始MV和所述第二初始MV的缩放比例均置为1,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;和/或,
当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,确定所述第一初始MV的缩放和所述第二初始MV的缩放比例,基于所述第一初始MV的缩放比例对所述第一初始MV进行缩放,基于所述第二初始MV的缩放比例对所述第二初始MV进行缩放,基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿。
在一些实施例中,所述处理器1002基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿,包括:
基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述缩放后的第一初始MV且属于第二参考图像,所述第二参考图像块对应于所述缩放后的第二初始MV且属于第一参考图像,所述第一参考图像为所述第一初始MV指向的参考图像,所述第二参考图像为所述第 二初始MV指向的参考图像;
基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
在一些实施例中,所述处理器1002基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV,包括:
利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
在一些实施例中,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
在一些实施例中,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
在一些实施例中,其特征在于,所述N等于所述M。
在一些实施例中,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
在一些实施例中,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
在一些实施例中,所述处理器1002还用于:
在确定所述参考图像为不被输出的帧,并进一步确定所述参考图像为构造帧时,将所述参考图像确定为所述特定参考图像。
在一些实施例中,所述非特定参考图像包括短期参考图像。
应理解,用于图像运动补偿的装置1000还可以由对应的软件模块来实 现,此处不再赘述。
应理解,本申请各实施例的装置可以基于存储器和处理器实现,各存储器用于存储用于执行本申请个实施例的方法的指令,处理器执行上述指令,使得装置执行本申请各实施例的方法。
应理解,本申请实施例中提及的处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中提及的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data Rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DR RAM)。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)集成在处理器中。
应注意,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本申请实施例还提供一种计算机可读存储介质,其上存储有指令,当指令在计算机上运行时,使得计算机执行上述各方法实施例的方法。
本申请实施例还提供一种计算设备,该计算设备包括上述计算机可读存 储介质。
本申请实施例还提供一种编码设备,该编码设备包括用于图像运动补偿的装置70和/或用于图像处理的装置80和/或用于图像运动补偿的装置1000。
本申请实施例还提供一种解码设备,该解码设备包括用于图像运动补偿的装置70和/或用于图像处理的装置80和/或用于图像运动补偿的装置1000。
本申请实施例可以应用在飞行器,尤其是无人机领域。
应理解,本申请各实施例的电路、子电路、子单元的划分只是示意性的。本领域普通技术人员可以意识到,本文中所公开的实施例描述的各示例的电路、子电路和子单元,能够再行拆分或组合。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(Digital Subscriber Line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(Digital Video Disc,DVD))、或者半导体介质(例如,固态硬盘(Solid State Disk,SSD))等。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应 对本申请实施例的实施过程构成任何限定。
应理解,在本申请实施例中,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限 于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (99)

  1. 一种用于图像运动补偿的方法,其特征在于,包括:
    获取当前图像块的初始运动矢量MV;
    当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿;
    当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿。
  2. 根据权利要求1所述的方法,其特征在于,所述当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿,包括:
    获取所述当前图像块的MV候选列表,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像;
    基于所述MV候选列表确定所述初始MV;
    对所述初始MV进行修正,获得修正后的MV;
    基于所述修正后的MV对所述当前图像块进行运动补偿。
  3. 根据权利要求2所述的方法,其特征在于,所述获取所述当前图像块的MV候选列表,包括:
    确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
  5. 根据权利要求2至4中任一项所述的方法,其特征在于,所述MV候选列表包括以下中的至少一种候选MV:
    如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
    相对非特定参考图像得到的合并候选MV;
    从非特定参考图像通过插值得到的MV;和
    所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
  6. 根据权利要求5所述的方法,其特征在于,所述基于所述MV候选 列表确定所述初始MV,包括:
    基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
    将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
  7. 根据权利要求6所述的方法,其特征在于,所述对所述初始MV进行修正,获得修正后的MV,包括:
    为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述初始MV;
    从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
  8. 根据权利要求1所述的方法,其特征在于,所述初始MV包括第一初始MV和第二初始MV,
    当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿,包括:
    当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;
    当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,对所述第一初始MV和所述第二初始MV进行修正,获得修正后的第一MV和修正后的第二MV,基于所述修正后的第一MV和所述修正后的第二MV对所述当前图像块进行运动补偿。
  9. 根据权利要求8所述的方法,其特征在于,所述对所述第一初始MV和所述第二初始MV进行修正,获得修正后的第一MV和修正后的第二MV,包括:
    基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述第一初始MV且属于第一参考图像,所述第二参考图像块对应于所述第二初始MV且属于第二参考图像;
    基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
  10. 根据权利要求9所述的方法,其特征在于,所述基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV 和所述修正后的第二MV,包括:
    利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
    利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
    基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
  11. 根据权利要求10所述的方法,其特征在于,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
  12. 根据权利要求10或11所述的方法,其特征在于,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
  13. 根据权利要求10至12中任一项所述的方法,其特征在于,所述N等于所述M。
  14. 根据权利要求10至13中任一项所述的方法,其特征在于,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
    所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
  15. 根据权利要求1至14中任一项所述的方法,其特征在于,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,所述方法还包括:
    在确定所述参考图像为不被输出的帧,以及确定所述参考图像为构造帧时,将所述参考图像确定为所述特定参考图像。
  17. 根据权利要求1至16中任一项所述的方法,其特征在于,所述非特定参考图像包括短期参考图像。
  18. 一种用于图像运动补偿的装置,其特征在于,包括:
    至少一个存储器,用于存储计算机可执行指令;
    至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
    获取当前图像块的初始运动矢量MV;
    当所述初始MV指向的参考图像为特定参考图像时,基于所述初始MV对所述当前图像块进行运动补偿;
    当所述初始MV指向的参考图像为非特定参考图像时,对所述初始MV进行修正,获得修正后的MV,基于所述修正后的MV对所述当前图像块进行运动补偿。
  19. 根据权利要求18所述的用于图像运动补偿的装置,其特征在于,所述处理器具体用于:
    获取所述当前图像块的MV候选列表,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像;
    基于所述MV候选列表确定所述初始MV;
    对所述初始MV进行修正,获得修正后的MV;
    基于所述修正后的MV对所述当前图像块进行运动补偿。
  20. 根据权利要求19所述的用于图像运动补偿的装置,其特征在于,所述处理器还用于:
    确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
  21. 根据权利要求18至20中任一项所述的用于图像运动补偿的装置,其特征在于,所述处理器还用于:
    基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
  22. 根据权利要求21所述的用于图像运动补偿的装置,其特征在于,所述MV候选列表包括以下中的至少一种候选MV:
    如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
    相对非特定参考图像得到的合并候选MV;
    从非特定参考图像通过插值得到的MV;和
    所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
  23. 根据权利要求22所述的用于图像运动补偿的装置,其特征在于,所述处理器具体用于:
    基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
    将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
  24. 根据权利要求18至20中任一项所述的用于图像运动补偿的装置,其特征在于,所述处理器具体用于:
    为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述初始MV;
    从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
  25. 根据权利要求18所述的用于图像运动补偿的装置,其特征在于,所述初始MV包括第一初始MV和第二初始MV,
    所述处理器具体用于:
    当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;
    当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,对所述第一初始MV和所述第二初始MV进行修正,获得修正后的第一MV和修正后的第二MV,基于所述修正后的第一MV和所述修正后的第二MV对所述当前图像块进行运动补偿。
  26. 根据权利要求25所述的用于图像运动补偿的装置,其特征在于,所述处理器具体用于:
    基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述第一初始MV且属于第一参考图像,所述第二参考图像块对应于所述第二初始MV且属于第二参考图像;
    基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
  27. 根据权利要求26所述的用于图像运动补偿的装置,其特征在于,所述处理器具体用于:
    利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N 个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
    利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
    基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
  28. 根据权利要求27所述的用于图像运动补偿的装置,其特征在于,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
  29. 根据权利要求27或28所述的用于图像运动补偿的装置,其特征在于,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
  30. 根据权利要求27至29中任一项所述的用于图像运动补偿的装置,其特征在于,所述N等于所述M。
  31. 根据权利要求27至30中任一项所述的用于图像运动补偿的装置,其特征在于,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
    所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
  32. 根据权利要求18至31中任一项所述的用于图像运动补偿的装置,其特征在于,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  33. 根据权利要求18至32中任一项所述的用于图像运动补偿的装置,其特征在于,所述处理器还用于:
    在确定所述参考图像为不被输出的帧,并进一步确定所述参考图像为构造帧时,将所述参考图像确定为所述特定参考图像。
  34. 根据权利要求18至33中任一项所述的用于图像运动补偿的装置,其特征在于,所述非特定参考图像包括短期参考图像。
  35. 一种计算机可读存储介质,其特征在于,其上存储有指令,当指令 在计算机上运行时,使得计算机执行权利要求1至17中任一项所述的用于图像运动补偿的方法。
  36. 一种编码设备,其特征在于,包括权利要求18至34中任一项所述的用于图像运动补偿的装置。
  37. 一种解码设备,其特征在于,包括权利要求18至34中任一项所述的用于图像运动补偿的装置。
  38. 一种用于图像运动补偿的方法,其特征在于,包括:
    获取当前图像块的初始运动矢量MV;
    确定所述初始MV的缩放比例,其中,当所述初始MV指向特定参考图像时,所述初始MV的缩放1比例为1;
    基于所述初始MV的缩放比例对所述初始MV进行缩放;
    基于所述缩放后的MV对所述当前图像块进行运动补偿。
  39. 根据权利要求38所述的方法,其特征在于,所述基于所述缩放后的MV对所述当前图像块进行运动补偿,包括:
    对所述缩放后的MV进行修正,获得修正后的MV;
    基于所述修正后的MV对所述当前图像块进行运动补偿。
  40. 根据权利要求38或39所述的方法,其特征在于,所述获取当前图像块的初始运动矢量MV,包括:
    获取所述当前图像块的MV候选列表;
    基于所述MV候选列表确定所述初始MV。
  41. 根据权利要求40所述的方法,其特征在于,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像。
  42. 根据权利要求41所述的方法,其特征在于,所述获取所述当前图像块的MV候选列表,包括:
    确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
  43. 根据权利要求42所述的方法,其特征在于,所述方法还包括:
    基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
  44. 根据权利要求40至43中任一项所述的方法,其特征在于,所述MV候选列表包括以下中的至少一种候选MV:
    如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
    相对非特定参考图像得到的合并候选MV;
    从非特定参考图像通过插值得到的MV;和
    所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
  45. 根据权利要求44所述的方法,其特征在于,所述基于所述MV候选列表确定所述初始MV,包括:
    基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
    将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
  46. 根据权利要求45所述的方法,其特征在于,所述对所述缩放后的MV进行修正,获得修正后的MV,包括:
    为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述缩放后的MV;
    从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
  47. 根据权利要求38所述的方法,其特征在于,所述初始MV包括第一初始MV和第二初始MV,所述方法包括:
    当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,将所述第一初始MV和所述第二初始MV的缩放比例均置为1,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;和/或,
    当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,确定所述第一初始MV的缩放和所述第二初始MV的缩放比例,基于所述第一初始MV的缩放比例对所述第一初始MV进行缩放,基于所述第二初始MV的缩放比例对所述第二初始MV进行缩放,基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿。
  48. 根据权利要求47所述的方法,其特征在于,所述基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿,包括:
    基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考 图像块对应于所述缩放后的第一初始MV且属于第二参考图像,所述第二参考图像块对应于所述缩放后的第二初始MV且属于第一参考图像,所述第一参考图像为所述第一初始MV指向的参考图像,所述第二参考图像为所述第二初始MV指向的参考图像;
    基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
  49. 根据权利要求47所述的方法,其特征在于,所述基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV,包括:
    利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
    利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
    基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
  50. 根据权利要求49所述的方法,其特征在于,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
  51. 根据权利要求49或50所述的方法,其特征在于,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
  52. 根据权利要求49至51中任一项所述的方法,其特征在于,所述N等于所述M。
  53. 根据权利要求49至52中任一项所述的方法,其特征在于,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
    所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
  54. 根据权利要求38至53中任一项所述的方法,其特征在于,所述特 定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  55. 根据权利要求38至54中任一项所述的方法,其特征在于,所述方法还包括:
    在确定所述参考图像为不被输出的帧,并进一步确定所述参考图像为构造帧时,将所述参考图像确定为所述特定参考图像。
  56. 根据权利要求38至55中任一项所述的方法,其特征在于,所述非特定参考图像包括短期参考图像。
  57. 一种用于图像运动补偿的装置,其特征在于,包括:
    至少一个存储器,用于存储计算机可执行指令;
    至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
    获取当前图像块的初始运动矢量MV;
    确定所述初始MV的缩放比例,其中,当所述初始MV指向特定参考图像时,所述初始MV的缩放1比例为1;
    基于所述初始MV的缩放比例对所述初始MV进行缩放;
    基于所述缩放后的MV对所述当前图像块进行运动补偿。
  58. 根据权利要求57所述的用于图像运动补偿的装置,其特征在于,所述处理器基于所述缩放后的MV对所述当前图像块进行运动补偿,包括:
    对所述缩放后的MV进行修正,获得修正后的MV;
    基于所述修正后的MV对所述当前图像块进行运动补偿。
  59. 根据权利要求57或58所述的用于图像运动补偿的装置,其特征在于,所述处理器获取当前图像块的初始运动矢量MV,包括:
    获取所述当前图像块的MV候选列表;
    基于所述MV候选列表确定所述初始MV。
  60. 根据权利要求59所述的用于图像运动补偿的装置,其特征在于,所述MV候选列表中的任一候选MV指向的参考图像为非特定参考图像。
  61. 根据权利要求60所述的用于图像运动补偿的装置,其特征在于,所述处理器获取所述当前图像块的MV候选列表,包括:
    确定用于加入所述MV候选列表的候选MV,当所述候选MV指向的参考图像为非特定参考图像时,将所述候选MV加入所述MV候选列表。
  62. 根据权利要求61所述的用于图像运动补偿的装置,其特征在于,所 述处理器还用于:
    基于所述候选MV指向的参考图像的帧标记确定所述候选MV指向的参考图像为非特定参考图像。
  63. 根据权利要求59至62中任一项所述的用于图像运动补偿的装置,其特征在于,所述MV候选列表包括以下中的至少一种候选MV:
    如果所述当前图像块在高级运动矢量预测AMVP模式下,相对非特定参考图像得到的原始AMVP候选MV;
    相对非特定参考图像得到的合并候选MV;
    从非特定参考图像通过插值得到的MV;和
    所述当前块相对非特定参考图像的上方相邻MV和左方相邻MV。
  64. 根据权利要求63所述的用于图像运动补偿的装置,其特征在于,所述处理器基于所述MV候选列表确定所述初始MV,包括:
    基于双向匹配法和/或模板匹配法,确定所述MV候选列表中的候选MV对应的失真代价;
    将所述MV候选列表中失真代价最小的MV,作为所述初始MV。
  65. 根据权利要求64所述的用于图像运动补偿的装置,其特征在于,所述处理器对所述缩放后的MV进行修正,获得修正后的MV,包括:
    为所述当前图像块生成子MV候选列表,所述子MV候选列表中包括所述缩放后的MV;
    从所述子MV候选列表中确定出失真代价最小的MV,作为所述修正后的MV。
  66. 根据权利要求57所述的用于图像运动补偿的装置,其特征在于,所述初始MV包括第一初始MV和第二初始MV,所述处理器具体用于:
    当所述第一初始MV和所述第二初始MV中至少一个初始MV指向的参考图像为特定参考图像时,将所述第一初始MV和所述第二初始MV的缩放比例均置为1,基于所述第一初始MV和所述第二初始MV对所述当前图像块进行运动补偿;和/或,
    当所述第一初始MV和所述第二初始MV指向的参考图像均为非特定参考图像时,确定所述第一初始MV的缩放和所述第二初始MV的缩放比例,基于所述第一初始MV的缩放比例对所述第一初始MV进行缩放,基于所述第二初始MV的缩放比例对所述第二初始MV进行缩放,基于所述缩放后的 第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿。
  67. 根据权利要求66所述的用于图像运动补偿的装置,其特征在于,所述处理器基于所述缩放后的第一初始MV和所述缩放后的第二初始MV对所述当前图像块进行运动补偿,包括:
    基于第一参考图像块和第二参考图像块生成模板,其中,所述第一参考图像块对应于所述缩放后的第一初始MV且属于第二参考图像,所述第二参考图像块对应于所述缩放后的第二初始MV且属于第一参考图像,所述第一参考图像为所述第一初始MV指向的参考图像,所述第二参考图像为所述第二初始MV指向的参考图像;
    基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV。
  68. 根据权利要求66所述的用于图像运动补偿的装置,其特征在于,所述处理器基于所述模板对所述第一初始MV和所述第二初始MV进行修正,获得所述修正后的第一MV和所述修正后的第二MV,包括:
    利用N个第三参考图像块,分别与所述模板进行匹配,其中,所述N个第三参考图像块对应于N个第三初始MV且属于所述第一参考图像;
    利用M个第四参考图像块,分别与所述模板进行匹配,其中,所述M个第四参考图像块对应于M个第四初始MV且属于所述第二参考图像;
    基于所述匹配结果,从所述N个第三初始MV中选择一个第三初始MV,以及从所述M个第四初始MV中选择一个第四初始MV,所述一个第三初始MV和所述一个第四初始MV作为所述当前图像块的MV,或者用于确定所述当前图像块的MV。
  69. 根据权利要求68所述的用于图像运动补偿的装置,其特征在于,所述第三初始MV包括所述第一初始MV,所述第四初始MV包括所述第二初始MV。
  70. 根据权利要求68或69所述的用于图像运动补偿的装置,其特征在于,所述N个第三初始MV中的至少部分初始MV是基于所述第一初始MV进行偏移得到,所述M个第四初始MV中的至少部分初始MV是基于所述第二初始MV进行偏移得到的。
  71. 根据权利要求68至70中任一项所述的用于图像运动补偿的装置,其特征在于,所述N等于所述M。
  72. 根据权利要求68至71中任一项所述的用于图像运动补偿的装置,其特征在于,所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的后向帧;或,
    所述第一参考图像为所述当前图像块的前向帧,所述第二参考图像是所述当前图像块的前向帧。
  73. 根据权利要求57至72中任一项所述的用于图像运动补偿的装置,其特征在于,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  74. 根据权利要求57至73中任一项所述的用于图像运动补偿的装置,其特征在于,所述处理器还用于:
    在确定所述参考图像为不被输出的帧,并进一步确定所述参考图像为构造帧时,将所述参考图像确定为所述特定参考图像。
  75. 根据权利要求57至74中任一项所述的用于图像运动补偿的装置,其特征在于,所述非特定参考图像包括短期参考图像。
  76. 一种计算机可读存储介质,其特征在于,其上存储有指令,当指令在计算机上运行时,使得计算机执行权利要求38至56中任一项所述的用于图像运动补偿的方法。
  77. 一种编码设备,其特征在于,包括权利要求57至75中任一项所述的用于图像运动补偿的装置。
  78. 一种解码设备,其特征在于,包括权利要求57至75中任一项所述的用于图像运动补偿的装置。
  79. 一种用于图像处理的方法,其特征在于,包括:
    获取第一初始运动矢量MV和第二初始MV,所述第一初始MV指向第一参考图像,所述第二初始MV指向第二参考图像;
    当所述第一参考图像和所述第二参考图像中至少一个为特定参考图像时,基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块;
    当所述第一参考图像和所述第二参考图像均为非特定参考图像时,根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,根据所述当前图像块的MV,计算得到当前图像块的预测图像块。
  80. 根据权利要求79所述的方法,其特征在于,所述根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,包括:
    根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值和最优化原理,计算得到所述当前图像块的MV。
  81. 根据权利要求79或80所述的方法,其特征在于,所述基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块,包括:
    对所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块进行加权求和,得到所述当前图像块的预测图像块。
  82. 根据权利要求79至81中任一项所述的方法,其特征在于,所述第一初始MV和所述第二初始MV的预测方向不同。
  83. 根据权利要求79至82中任一项所述的方法,其特征在于,所述第一初始MV和所述第二初始MV的预测方向相同,所述第一初始MV和所述第二初始MV均不为0,所述第一参考图像和所述第二参考图像不同。
  84. 根据权利要求79至83中任一项所述的方法,其特征在于,所述根据所述当前图像块的MV,计算得到当前图像块的预测图像块,包括:
    根据所述当前图像块的MV、所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块,计算得到所述当前图像块的预测图像块。
  85. 根据权利要求79至84中任一项所述的方法,其特征在于,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  86. 根据权利要求79至85中任一项所述的方法,其特征在于,所述方法还包括:
    在确定所述第一参考图像和/或所述第二参考图像为不被输出的帧,并进一步确定所述第一参考图像和/或所述第二参考图像为构造帧时,将所述第一参考图像和/或所述第二参考图像确定为所述特定参考图像。
  87. 根据权利要求79至86中任一项所述的方法,其特征在于,所述非特定参考图像包括短期参考图像。
  88. 一种用于图像处理的装置,其特征在于,包括:
    至少一个存储器,用于存储计算机可执行指令;
    至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执 行所述计算机可执行指令,以实施以下操作:
    获取第一初始运动矢量MV和第二初始MV,所述第一初始MV指向第一参考图像,所述第二初始MV指向第二参考图像;
    当所述第一参考图像和所述第二参考图像中至少一个为特定参考图像时,基于所述第一初始MV和所述第二初始MV计算得到当前图像块的预测图像块;
    当所述第一参考图像和所述第二参考图像均为非特定参考图像时,根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值,计算得到当前图像块的MV,根据所述当前图像块的MV,计算得到当前图像块的预测图像块。
  89. 根据权利要求88所述的装置,其特征在于,所述处理器具体用于:
    根据所述第一初始MV和所述第二初始MV所指向的像素点的梯度值和最优化原理,计算得到所述当前图像块的MV。
  90. 根据权利要求88或89所述的装置,其特征在于,所述处理器具体用于:
    对所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块进行加权求和,得到所述当前图像块的预测图像块。
  91. 根据权利要求88至90中任一项所述的装置,其特征在于,所述第一初始MV和所述第二初始MV的预测方向不同。
  92. 根据权利要求88至91中任一项所述的装置,其特征在于,所述第一初始MV和所述第二初始MV的预测方向相同,所述第一初始MV和所述第二初始MV均不为0,所述第一参考图像和所述第二参考图像不同。
  93. 根据权利要求88至92中任一项所述的装置,其特征在于,所述处理器具体用于:
    根据所述当前图像块的MV、所述第一初始MV指向的第一参考图像块和所述第二初始MV指向的第二参考图像块,计算得到所述当前图像块的预测图像块。
  94. 根据权利要求88至93中任一项所述的装置,其特征在于,所述特定参考图像包括长期参考图像、构造帧、不被输出的帧中的至少一种。
  95. 根据权利要求88至94中任一项所述的装置,其特征在于,所述处理器还用于:
    在确定所述第一参考图像和/或所述第二参考图像为不被输出的帧,并进一步确定所述第一参考图像和/或所述第二参考图像为构造帧时,将所述第一参考图像和/或所述第二参考图像确定为所述特定参考图像。
  96. 根据权利要求88至95中任一项所述的装置,其特征在于,所述非特定参考图像包括短期参考图像。
  97. 一种计算机可读存储介质,其特征在于,其上存储有指令,当指令在计算机上运行时,使得计算机执行权利要求79至87中任一项所述的用于图像处理的方法。
  98. 一种编码设备,其特征在于,包括权利要求88至96中任一项所述的用于图像处理的装置。
  99. 一种解码设备,其特征在于,包括权利要求88至96中任一项所述的用于图像处理的装置。
PCT/CN2018/095710 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置 WO2019192102A1 (zh)

Priority Applications (45)

Application Number Priority Date Filing Date Title
CN202311002352.6A CN116781928A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
JP2020553636A JP2021520124A (ja) 2018-04-02 2018-07-13 画像動き補償方法及び装置
CN201880012589.3A CN110419220B (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
EP18913581.7A EP3783897A4 (en) 2018-04-02 2018-07-13 METHOD AND DEVICE FOR IMAGE MOTION COMPENSATION
CN202311004591.5A CN116760999A (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
PCT/CN2018/103693 WO2019192141A1 (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
JP2020553654A JP7388659B2 (ja) 2018-04-02 2018-08-31 動画処理方法、ビットストリーム生成方法、動画処理装置、及びプログラム
CN201880042138.4A CN110786012B (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
EP18913876.1A EP3780614A4 (en) 2018-04-02 2018-08-31 METHOD AND APPARATUS FOR IMAGE MOTION COMPENSATION
EP18913372.1A EP3780618A4 (en) 2018-04-02 2018-09-25 METHOD AND DEVICE FOR OBTAINING VIDEO IMAGE MOTION VECTOR
JP2020553580A JP7294753B2 (ja) 2018-04-02 2018-09-25 動画像処理方法、及び動画像処理装置
CN201880011514.3A CN110326295B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置、存储介质
CN202111283215.5A CN113852828B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN202111284624.7A CN113824966B (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
PCT/CN2018/107436 WO2019192152A1 (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置
CN201880016545.8A CN110495169B (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
PCT/CN2018/112805 WO2019192170A1 (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
JP2020553586A JP7216109B2 (ja) 2018-04-02 2018-10-30 動画像処理方法、動画像処理装置、及びコンピュータプログラム
CN202111455033.1A CN114125440A (zh) 2018-04-02 2018-10-30 视频图像处理方法与装置
EP18913678.1A EP3780615A4 (en) 2018-04-02 2018-10-30 VIDEO IMAGE PROCESSING METHOD AND APPARATUS
CN202210376345.1A CN115037942A (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
PCT/CN2019/078051 WO2019192301A1 (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
KR1020207031587A KR20200134319A (ko) 2018-04-02 2019-03-13 비디오 이미지 처리 방법 및 장치
JP2020553581A JP2021520120A (ja) 2018-04-02 2019-03-13 動画像処理方法および装置
EP19781713.3A EP3780619A4 (en) 2018-04-02 2019-03-13 METHOD AND APPARATUS FOR VIDEO IMAGE PROCESSING
CN202210376602.1A CN114938452A (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
CN201980002813.5A CN110720219B (zh) 2018-04-02 2019-03-13 视频图像处理方法与装置
US17/039,879 US11323742B2 (en) 2018-04-02 2020-09-30 Method and device for obtaining motion vector of video image
US17/039,903 US11190798B2 (en) 2018-04-02 2020-09-30 Method and device for video image processing
US17/039,939 US11368714B2 (en) 2018-04-02 2020-09-30 Method and device for video image processing
US17/039,862 US11490118B2 (en) 2018-04-02 2020-09-30 Method and device for image motion compensation
US17/039,924 US11330294B2 (en) 2018-04-02 2020-09-30 Method and device for image motion compensation
US17/220,756 US11490120B2 (en) 2018-04-02 2021-04-01 Method and device for image motion compensation
US17/220,822 US11381839B2 (en) 2018-04-02 2021-04-01 Method and device for image motion compensation
US17/220,797 US11343534B2 (en) 2018-04-02 2021-04-01 Method and device for obtaining motion vector of video image
US17/221,275 US11159821B2 (en) 2018-04-02 2021-04-02 Method and device for video image processing
US17/456,815 US11997312B2 (en) 2018-04-02 2021-11-29 Method and device for video image processing
US17/664,642 US11949911B2 (en) 2018-04-02 2022-05-23 Method and device for obtaining motion vector of video image
US17/844,669 US11949912B2 (en) 2018-04-02 2022-06-20 Method and device for video image processing
US17/857,485 US11871032B2 (en) 2018-04-02 2022-07-05 Method and device for image motion compensation
JP2022182636A JP2023017981A (ja) 2018-04-02 2022-11-15 動画処理方法、エンコーダ、非一時的なコンピュータ可読記憶媒体、及びプログラム
JP2023006258A JP2023052491A (ja) 2018-04-02 2023-01-19 動画像処理方法および装置
JP2023092773A JP2023110048A (ja) 2018-04-02 2023-06-05 動画像処理方法、動画処理装置、及びビットストリーム生成方法
JP2023190720A JP2024010198A (ja) 2018-04-02 2023-11-08 動画処理方法、ビットストリーム生成方法、及び動画処理装置
JP2024025977A JP2024057014A (ja) 2018-04-02 2024-02-22 動画像符号化方法、動画像符号化装置、及びビットストリーム生成方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNPCT/CN2018/081652 2018-04-02
PCT/CN2018/081652 WO2019191890A1 (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/039,924 Continuation US11330294B2 (en) 2018-04-02 2020-09-30 Method and device for image motion compensation

Publications (1)

Publication Number Publication Date
WO2019192102A1 true WO2019192102A1 (zh) 2019-10-10

Family

ID=68099733

Family Applications (4)

Application Number Title Priority Date Filing Date
PCT/CN2018/081652 WO2019191890A1 (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置
PCT/CN2018/095710 WO2019192102A1 (zh) 2018-04-02 2018-07-13 用于图像运动补偿的方法和装置
PCT/CN2018/103693 WO2019192141A1 (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
PCT/CN2018/107436 WO2019192152A1 (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/081652 WO2019191890A1 (zh) 2018-04-02 2018-04-02 用于图像处理的方法和图像处理装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
PCT/CN2018/103693 WO2019192141A1 (zh) 2018-04-02 2018-08-31 用于图像运动补偿的方法和装置
PCT/CN2018/107436 WO2019192152A1 (zh) 2018-04-02 2018-09-25 获取视频图像运动矢量的方法与装置

Country Status (6)

Country Link
US (14) US11330294B2 (zh)
EP (6) EP3780608A4 (zh)
JP (11) JP7088606B2 (zh)
KR (1) KR20200134319A (zh)
CN (16) CN117135346A (zh)
WO (4) WO2019191890A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323698B2 (en) * 2019-07-27 2022-05-03 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116962717A (zh) * 2018-03-14 2023-10-27 Lx 半导体科技有限公司 图像编码/解码方法、存储介质和发送方法
JP7088606B2 (ja) 2018-04-02 2022-06-21 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 動画処理方法、画像処理装置、プログラム、符号化デバイス、及び復号化デバイス
WO2020084554A1 (en) 2018-10-24 2020-04-30 Beijing Bytedance Network Technology Co., Ltd. Searching based motion candidate derivation for sub-block motion vector prediction
WO2020130710A1 (ko) * 2018-12-21 2020-06-25 한국전자통신연구원 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
CN113455002A (zh) * 2018-12-28 2021-09-28 瑞典爱立信有限公司 生成运动向量预测器列表
CN117395397A (zh) 2019-06-04 2024-01-12 北京字节跳动网络技术有限公司 使用临近块信息的运动候选列表构建
CN114097228B (zh) 2019-06-04 2023-12-15 北京字节跳动网络技术有限公司 具有几何分割模式编解码的运动候选列表
JP7460661B2 (ja) 2019-06-06 2024-04-02 北京字節跳動網絡技術有限公司 映像符号化のための動き候補リストの構成
CN114175636B (zh) 2019-07-14 2024-01-12 北京字节跳动网络技术有限公司 自适应参数集中的自适应环路滤波的指示
WO2021032162A1 (en) 2019-08-20 2021-02-25 Beijing Bytedance Network Technology Co., Ltd. Signaling for transform skip mode
EP4011077A4 (en) 2019-09-13 2022-11-30 Beijing Bytedance Network Technology Co., Ltd. SAMPLE WEIGHTED BIDIRECTIONAL PREDICTION IN VIDEO CODING
KR20220061108A (ko) 2019-09-19 2022-05-12 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩에서 레퍼런스 샘플 위치 유도
KR20220066045A (ko) 2019-09-19 2022-05-23 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 비디오 코딩의 스케일링 윈도우
WO2021057996A1 (en) 2019-09-28 2021-04-01 Beijing Bytedance Network Technology Co., Ltd. Geometric partitioning mode in video coding
EP4026336A4 (en) 2019-10-05 2022-12-07 Beijing Bytedance Network Technology Co., Ltd. LEVEL-BASED SIGNALING OF VIDEO CODING TOOLS
CN114556918A (zh) * 2019-10-12 2022-05-27 北京字节跳动网络技术有限公司 细化视频编解码工具的使用和信令
JP7414980B2 (ja) 2019-10-13 2024-01-16 北京字節跳動網絡技術有限公司 参照ピクチャリサンプリングと映像コーディングツールとの間の相互作用
CN113727119B (zh) * 2020-05-20 2023-03-17 Oppo广东移动通信有限公司 帧间预测方法、编码器、解码器以及计算机存储介质
CN111724422B (zh) * 2020-06-29 2024-01-09 深圳市慧鲤科技有限公司 图像处理方法及装置、电子设备及存储介质
CN112132732B (zh) * 2020-09-10 2023-06-02 宁波大学科学技术学院 立体图像的像素预测方法、可逆信息隐藏提取方法、终端及存储介质
WO2022141278A1 (zh) * 2020-12-30 2022-07-07 深圳市大疆创新科技有限公司 视频处理方法和编码装置
WO2023192335A1 (en) * 2022-03-28 2023-10-05 Beijing Dajia Internet Information Technology Co., Ltd. Methods and devices for candidate derivation for affine merge mode in video coding
WO2024005456A1 (ko) * 2022-06-27 2024-01-04 현대자동차주식회사 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
WO2024005616A1 (ko) * 2022-07-01 2024-01-04 엘지전자 주식회사 영상 인코딩/디코딩 방법 및 장치, 그리고 비트스트림을 저장한 기록 매체

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150195558A1 (en) * 2012-07-02 2015-07-09 Samsung Electronics Co., Ltd. Motion vector prediction method and apparatus for encoding or decoding video
CN104796724A (zh) * 2011-11-08 2015-07-22 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
CN107071477A (zh) * 2011-06-30 2017-08-18 索尼公司 图像处理设备和图像处理方法

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1452039B1 (en) 2001-11-29 2008-12-31 Panasonic Corporation Coding distortion removal method and video encoding and decoding methods
JP4130783B2 (ja) * 2002-04-23 2008-08-06 松下電器産業株式会社 動きベクトル符号化方法および動きベクトル復号化方法
KR100491530B1 (ko) * 2002-05-03 2005-05-27 엘지전자 주식회사 모션 벡터 결정 방법
US20050013498A1 (en) * 2003-07-18 2005-01-20 Microsoft Corporation Coding of motion vector information
US7660354B2 (en) 2005-05-11 2010-02-09 Fang Shi Temporal error concealment for bi-directionally predicted frames
ZA200900102B (en) * 2006-07-06 2010-05-26 Thomson Licensing Method and apparatus for decoupling frame number and/or picture order count (poc) for multi-view video encoding and decoding
JP2010509799A (ja) * 2006-11-03 2010-03-25 サムスン エレクトロニクス カンパニー リミテッド 映像の予測符号化方法及び装置、その復号化方法及び装置
JP2009118221A (ja) * 2007-11-07 2009-05-28 Toshiba Corp ディジタル画像復号装置及びディジタル画像復号方法
CN101873500B (zh) * 2009-04-24 2012-05-23 华为技术有限公司 帧间预测编码方法、帧间预测解码方法及设备
ES2652337T3 (es) * 2010-02-09 2018-02-01 Nippon Telegraph And Telephone Corporation Procedimiento de codificación predictiva para vector de movimiento, procedimiento de decodificación predictiva para vector de movimiento, dispositivo de codificación de imagen, dispositivo de decodificación de imagen, y programas para ello
KR20120009861A (ko) * 2010-07-22 2012-02-02 에스케이 텔레콤주식회사 확장된 스킵모드를 이용한 영상 부호화/복호화 방법 및 장치
KR20120016991A (ko) 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
KR20240034886A (ko) * 2010-10-08 2024-03-14 지이 비디오 컴프레션, 엘엘씨 블록 분할 및 블록 병합을 지원하는 픽처 코딩
US8824558B2 (en) * 2010-11-23 2014-09-02 Mediatek Inc. Method and apparatus of spatial motion vector prediction
US8976873B2 (en) * 2010-11-24 2015-03-10 Stmicroelectronics S.R.L. Apparatus and method for performing error concealment of inter-coded video frames
CN107071460B (zh) 2010-12-14 2020-03-06 M&K控股株式会社 用于编码运动画面的设备
US9635383B2 (en) 2011-01-07 2017-04-25 Texas Instruments Incorporated Method, system and computer program product for computing a motion vector
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
CN102611881B (zh) * 2011-01-19 2014-06-25 华为技术有限公司 参考运动矢量获取方法、模块及编、解码装置
KR101484171B1 (ko) * 2011-01-21 2015-01-23 에스케이 텔레콤주식회사 예측 움직임벡터 색인부호화에 기반한 움직임정보 생성/복원 장치 및 방법, 및 그것을 이용한 영상 부호화/복호화 장치 및 방법
EP3627839B1 (en) * 2011-03-21 2021-10-20 LG Electronics Inc. Method for selecting motion vector predictor
US9247249B2 (en) 2011-04-20 2016-01-26 Qualcomm Incorporated Motion vector prediction in video coding
JP5786478B2 (ja) 2011-06-15 2015-09-30 富士通株式会社 動画像復号装置、動画像復号方法、及び動画像復号プログラム
ES2715613T3 (es) * 2011-06-28 2019-06-05 Lg Electronics Inc Método para fijar una lista de vectores de movimiento
KR102004113B1 (ko) * 2011-06-30 2019-07-25 가부시키가이샤 제이브이씨 켄우드 화상 부호화 장치, 화상 부호화 방법, 화상 부호화 프로그램, 화상 복호 장치, 화상 복호 방법 및 화상 복호 프로그램
CN105376576B (zh) 2011-08-29 2017-07-28 苗太平洋控股有限公司 用于解码合并模式下的运动信息的装置
CN102447904A (zh) * 2011-10-24 2012-05-09 成都虢电智能电力科技有限公司 一种快速对视频序列进行运动估计的方法
RU2604679C2 (ru) * 2011-10-27 2016-12-10 Сан Пэтент Траст Способ кодирования изображений, способ декодирования изображений, устройство кодирования изображений и устройство декодирования изображений
PL2773111T3 (pl) 2011-10-28 2020-06-29 Sun Patent Trust Sposób kodowania obrazów, sposób dekodowania obrazów, urządzenie do kodowania obrazów i urządzenie do dekodowania obrazów
CN107948656B (zh) 2011-10-28 2021-06-01 太阳专利托管公司 图像解码方法及图像解码装置
TWI569634B (zh) 2011-10-31 2017-02-01 Jvc Kenwood Corp Dynamic image decoding device, dynamic image decoding method and dynamic image decoding program
ES2898887T3 (es) 2011-11-08 2022-03-09 Nokia Technologies Oy Manejo de imágenes de referencia
CN107659813B (zh) 2011-12-23 2020-04-17 韩国电子通信研究院 图像解码方法、图像编码方法和记录介质
DK3716621T3 (da) * 2012-04-12 2021-12-06 Jvc Kenwood Corp Indretning til kodning af levende billeder, fremgangsmåde til kodning af levende billeder, program til kodning af levende billeder og indretning til afkodning af levende billeder, fremgangsmåde til afkodning af levende billeder, program til afkodning af levende billeder
JP2013223049A (ja) * 2012-04-13 2013-10-28 Sharp Corp 画像復号装置、および画像符号化装置
US9979958B2 (en) * 2012-04-20 2018-05-22 Qualcomm Incorporated Decoded picture buffer processing for random access point pictures in video sequences
US9325990B2 (en) * 2012-07-09 2016-04-26 Qualcomm Incorporated Temporal motion vector prediction in video coding extensions
CN102883161B (zh) * 2012-09-19 2015-09-30 华为技术有限公司 视频编码和解码的处理方法和装置
US20150350684A1 (en) * 2012-09-20 2015-12-03 Sony Corporation Image processing apparatus and method
US9538180B2 (en) * 2012-12-17 2017-01-03 Qualcomm Incorporated Motion vector prediction in video coding
CN105075269B (zh) * 2013-04-04 2018-07-03 夏普株式会社 图像解码装置、图像编码装置及计算机可读取的记录介质
WO2014167817A1 (en) * 2013-04-07 2014-10-16 Sharp Kabushiki Kaisha Signaling change in output layer sets
US9591321B2 (en) * 2013-04-07 2017-03-07 Dolby International Ab Signaling change in output layer sets
US9930363B2 (en) 2013-04-12 2018-03-27 Nokia Technologies Oy Harmonized inter-view and view synthesis prediction for 3D video coding
EP3021589A4 (en) * 2013-07-10 2017-02-15 Sharp Kabushiki Kaisha Image decoding device and image encoding device
US9894369B2 (en) * 2013-07-30 2018-02-13 Kt Corporation Image encoding and decoding method supporting plurality of layers and apparatus using same
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
WO2015053286A1 (ja) * 2013-10-08 2015-04-16 シャープ株式会社 画像復号装置、画像符号化装置、及び、符号化データ
WO2015102042A1 (en) * 2014-01-02 2015-07-09 Sharp Kabushiki Kaisha Parameter set signaling
KR101658192B1 (ko) * 2014-01-02 2016-09-20 인텔렉추얼디스커버리 주식회사 다시점 영상을 위한 움직임 벡터를 부호화/복호화하는 방법 및 그 장치
US20170019666A1 (en) * 2014-03-13 2017-01-19 Sharp Kabushiki Kaisha Constrained reference picture parameters
US9788007B2 (en) * 2014-06-20 2017-10-10 Qualcomm Incorporated Profile, tier, level for the 0-th output layer set in video coding
EP3198872A1 (en) * 2014-09-26 2017-08-02 VID SCALE, Inc. Intra block copy coding with temporal block vector prediction
CN112188204B (zh) 2014-10-31 2024-04-05 三星电子株式会社 使用高精度跳过编码的视频编码设备和视频解码设备及其方法
US9872296B2 (en) 2015-01-06 2018-01-16 Qualcomm Incorporated Techniques for beam shaping at a millimeter wave base station and a wireless device and fast antenna subarray selection at a wireless device
WO2016165069A1 (en) * 2015-04-14 2016-10-20 Mediatek Singapore Pte. Ltd. Advanced temporal motion vector prediction in video coding
EP3342165B1 (en) * 2015-09-08 2021-11-10 MediaTek Inc. Method and system of decoded picture buffer for intra block copy mode
CN106534858B (zh) 2015-09-10 2019-09-06 展讯通信(上海)有限公司 真实运动估计方法及装置
CN111526361B (zh) * 2016-02-06 2022-05-13 华为技术有限公司 图像编解码方法及装置
CN114449288A (zh) * 2016-03-16 2022-05-06 联发科技股份有限公司 视频编码的样式基础的运动向量推导之方法及装置
CN108886618A (zh) 2016-03-24 2018-11-23 Lg 电子株式会社 视频编码系统中的帧间预测方法和装置
US10560718B2 (en) 2016-05-13 2020-02-11 Qualcomm Incorporated Merge candidates for motion vector prediction for video coding
WO2017205700A1 (en) 2016-05-25 2017-11-30 Arris Enterprises Llc Binary, ternary and quad tree partitioning for jvet coding of video data
EP3497932A4 (en) * 2016-08-15 2020-03-25 Nokia Technologies Oy VIDEO CODING AND DECODING
US11409855B2 (en) * 2016-08-22 2022-08-09 Lenovo (Singapore) Pte. Ltd. Gesture based CAPTCHA test
CN107820095B (zh) * 2016-09-14 2020-01-03 北京金山云网络技术有限公司 一种长期参考图像选择方法及装置
US10812791B2 (en) * 2016-09-16 2020-10-20 Qualcomm Incorporated Offset vector identification of temporal motion vector predictor
EP3301914A1 (en) 2016-09-30 2018-04-04 Thomson Licensing Method and apparatus for encoding and decoding a large field of view video
EP3343924A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
EP3343925A1 (en) 2017-01-03 2018-07-04 Thomson Licensing Method and apparatus for encoding and decoding motion information
US10542280B2 (en) 2017-01-09 2020-01-21 QUALCOMM Incorpated Encoding optimization with illumination compensation and integer motion vector restriction
US20180199057A1 (en) 2017-01-12 2018-07-12 Mediatek Inc. Method and Apparatus of Candidate Skipping for Predictor Refinement in Video Coding
JP7036628B2 (ja) 2017-03-10 2022-03-15 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN109089119B (zh) 2017-06-13 2021-08-13 浙江大学 一种运动矢量预测的方法及设备
JP2020145486A (ja) * 2017-07-28 2020-09-10 シャープ株式会社 動画像符号化装置及び動画像復号装置
KR102408258B1 (ko) * 2017-09-12 2022-06-13 삼성전자주식회사 움직임 정보의 부호화 및 복호화 방법, 및 움직임 정보의 부호화 및 복호화 장치
CN107682705B (zh) * 2017-09-26 2020-05-12 杭州电子科技大学 基于mv-hevc框架的立体视频b帧错误隐藏方法
US20190141320A1 (en) * 2017-11-07 2019-05-09 Qualcomm Incorporated Enhanced reference picture management in video coding
US11057640B2 (en) 2017-11-30 2021-07-06 Lg Electronics Inc. Image decoding method and apparatus based on inter-prediction in image coding system
US11323705B2 (en) 2018-03-09 2022-05-03 Electronics And Telecommunications Research Institute Image encoding/decoding method and apparatus using sample filtering
KR102502175B1 (ko) * 2018-04-01 2023-02-21 엘지전자 주식회사 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
EP3761644A4 (en) 2018-04-01 2021-01-20 LG Electronics Inc. PICTURE ENCODING PROCESS ON THE BASIS OF AN APPEAL MOTION PREDICTION AND DEVICE FOR IT
JP7088606B2 (ja) 2018-04-02 2022-06-21 エスゼット ディージェイアイ テクノロジー カンパニー リミテッド 動画処理方法、画像処理装置、プログラム、符号化デバイス、及び復号化デバイス
CN114697663B (zh) * 2018-08-17 2024-01-30 华为技术有限公司 对编码视频位流进行解码的方法,解码设备以及译码系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107071477A (zh) * 2011-06-30 2017-08-18 索尼公司 图像处理设备和图像处理方法
CN104796724A (zh) * 2011-11-08 2015-07-22 三星电子株式会社 用于在视频编码或解码中的运动矢量确定的方法和设备
US20150195558A1 (en) * 2012-07-02 2015-07-09 Samsung Electronics Co., Ltd. Motion vector prediction method and apparatus for encoding or decoding video

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11323698B2 (en) * 2019-07-27 2022-05-03 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
US20220217334A1 (en) * 2019-07-27 2022-07-07 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types
US11589039B2 (en) 2019-07-27 2023-02-21 Beijing Bytedance Network Technology Co., Ltd. Restrictions of usage of tools according to reference picture types

Also Published As

Publication number Publication date
CN110419217A (zh) 2019-11-05
EP3783897A1 (en) 2021-02-24
EP3780619A4 (en) 2022-02-23
CN114125440A (zh) 2022-03-01
JP7088606B2 (ja) 2022-06-21
EP3780618A1 (en) 2021-02-17
US20210227251A1 (en) 2021-07-22
CN113824966B (zh) 2023-09-12
CN110419220B (zh) 2023-08-29
JP2024057014A (ja) 2024-04-23
US11343534B2 (en) 2022-05-24
US20210021856A1 (en) 2021-01-21
CN110786012B (zh) 2024-01-30
CN113852828A (zh) 2021-12-28
KR20200134319A (ko) 2020-12-01
EP3783897A4 (en) 2022-02-23
CN110720219A (zh) 2020-01-21
EP3780619A1 (en) 2021-02-17
US20220353527A1 (en) 2022-11-03
CN113824966A (zh) 2021-12-21
JP7216109B2 (ja) 2023-01-31
WO2019192141A1 (zh) 2019-10-10
US20220321907A1 (en) 2022-10-06
US11368714B2 (en) 2022-06-21
WO2019191890A1 (zh) 2019-10-10
CN113852828B (zh) 2023-09-12
JP2021520119A (ja) 2021-08-12
CN116760999A (zh) 2023-09-15
US20210021855A1 (en) 2021-01-21
CN110720219B (zh) 2022-04-26
JP2023017981A (ja) 2023-02-07
JP2021520124A (ja) 2021-08-12
CN110326295B (zh) 2021-11-16
CN110786012A (zh) 2020-02-11
US20210227252A1 (en) 2021-07-22
CN117135346A (zh) 2023-11-28
EP3780615A4 (en) 2022-03-02
JP2024010198A (ja) 2024-01-23
CN116781928A (zh) 2023-09-19
US20210227254A1 (en) 2021-07-22
JP7388659B2 (ja) 2023-11-29
US20220286706A1 (en) 2022-09-08
US11381839B2 (en) 2022-07-05
US20210021812A1 (en) 2021-01-21
WO2019192152A1 (zh) 2019-10-10
JP2023110048A (ja) 2023-08-08
US11190798B2 (en) 2021-11-30
JP2021526322A (ja) 2021-09-30
US11330294B2 (en) 2022-05-10
US11350124B2 (en) 2022-05-31
CN110326295A (zh) 2019-10-11
US11490118B2 (en) 2022-11-01
US20210021824A1 (en) 2021-01-21
JP2023052491A (ja) 2023-04-11
US11363294B2 (en) 2022-06-14
US20210021825A1 (en) 2021-01-21
CN114938452A (zh) 2022-08-23
US11490120B2 (en) 2022-11-01
US20210218989A1 (en) 2021-07-15
US20220086483A1 (en) 2022-03-17
US20210227253A1 (en) 2021-07-22
EP3780615A1 (en) 2021-02-17
US11871032B2 (en) 2024-01-09
CN117061738A (zh) 2023-11-14
CN110419220A (zh) 2019-11-05
CN117294837A (zh) 2023-12-26
EP3780618A4 (en) 2022-03-02
JP2021520121A (ja) 2021-08-12
EP3780608A4 (en) 2021-12-01
JP7294753B2 (ja) 2023-06-20
US11949911B2 (en) 2024-04-02
US20210021865A1 (en) 2021-01-21
CN110495169A (zh) 2019-11-22
CN110495169B (zh) 2021-12-17
JP2021520126A (ja) 2021-08-12
CN110419217B (zh) 2023-09-26
US11323742B2 (en) 2022-05-03
US11159821B2 (en) 2021-10-26
JP2021520120A (ja) 2021-08-12
EP3780614A4 (en) 2022-02-23
EP3780608A1 (en) 2021-02-17
EP3780614A1 (en) 2021-02-17
US11949912B2 (en) 2024-04-02
CN115037942A (zh) 2022-09-09

Similar Documents

Publication Publication Date Title
WO2019192102A1 (zh) 用于图像运动补偿的方法和装置
US20220224912A1 (en) Image encoding/decoding method and device using affine tmvp, and method for transmitting bit stream
WO2020129681A1 (ja) 符号化装置及びプログラム
US20240137559A1 (en) Method and device for image motion compensation

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020553636

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018913581

Country of ref document: EP

Effective date: 20201102