WO2016184261A1 - 视频图像编码和解码的方法、编码设备和解码设备 - Google Patents

视频图像编码和解码的方法、编码设备和解码设备 Download PDF

Info

Publication number
WO2016184261A1
WO2016184261A1 PCT/CN2016/077784 CN2016077784W WO2016184261A1 WO 2016184261 A1 WO2016184261 A1 WO 2016184261A1 CN 2016077784 W CN2016077784 W CN 2016077784W WO 2016184261 A1 WO2016184261 A1 WO 2016184261A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
control point
determining
affine
image block
Prior art date
Application number
PCT/CN2016/077784
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
Priority to BR112017024467-5A priority Critical patent/BR112017024467B1/pt
Priority to MYPI2017704310A priority patent/MY183126A/en
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to SG11201709418UA priority patent/SG11201709418UA/en
Priority to EP21205488.6A priority patent/EP4033765A1/en
Priority to MX2017014652A priority patent/MX2017014652A/es
Priority to JP2017559585A priority patent/JP6978944B2/ja
Priority to EP16795748.9A priority patent/EP3291557B1/en
Priority to KR1020197031419A priority patent/KR102148804B1/ko
Priority to CA2985868A priority patent/CA2985868C/en
Priority to KR1020177035893A priority patent/KR102297921B1/ko
Priority to KR1020207024140A priority patent/KR102257653B1/ko
Priority to AU2016264380A priority patent/AU2016264380B2/en
Priority to ES16795748T priority patent/ES2900232T3/es
Priority to RU2017143768A priority patent/RU2689426C1/ru
Publication of WO2016184261A1 publication Critical patent/WO2016184261A1/zh
Priority to US15/812,719 priority patent/US10390036B2/en
Priority to HK18104331.0A priority patent/HK1244984A1/zh
Priority to US16/505,182 priority patent/US10887618B2/en
Priority to US17/122,844 priority patent/US11490115B2/en
Priority to US17/941,895 priority patent/US11949908B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/521Processing of motion vectors for estimating the reliability of the determined motion vectors or motion vector field, e.g. for smoothing the motion vector field or for correcting 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • 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/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • 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/53Multi-resolution motion estimation; Hierarchical motion estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/537Motion estimation other than block-based
    • H04N19/54Motion estimation other than block-based using feature points or meshes
    • 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/57Motion estimation characterised by a search window with variable size or shape
    • 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/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Definitions

  • the present invention relates to the field of video image processing, and in particular, to a video image encoding and decoding method, an encoding device, and a decoding device.
  • MPEG is responsible for the development of standards in the multimedia field, mainly for storage, broadcast television, Internet or streaming media on the wireless network.
  • ITU-T mainly develops video coding standards for real-time video communication, such as video telephony, video conferencing and other applications.
  • Video coding standards for various applications have been successfully developed internationally, including: MPEG-1 standard for Video Compact Disc (VCD) for vertical MPEG-2 standard for Digital Video Disc (“Digital Video Disc” (Digital Video Disc) and Digital Video Broadcasting (“DVB”), H.261 standard for video conferencing and H.263 standard , H.264 standard, MPEG-4 standard that allows encoding of objects of any shape, and the latest high-performance video encoding (High Efficiency Video Coding, referred to as "HEVC" standard.
  • VCD Video Compact Disc
  • Digital Video Disc Digital Video Disc
  • DVD Digital Video Broadcasting
  • H.261 standard for video conferencing and H.263 standard H.264 standard
  • MPEG-4 standard High Efficiency Video Coding
  • motion compensation prediction techniques based on linearly varying motion vector fields can significantly improve coding performance for sequences containing rotational and scaling motions.
  • Existing motion compensation prediction techniques based on affine transformation After obtaining the affine transformation parameters of the image block, the motion vector of each point in the image block is calculated, and the motion compensation prediction is performed according to the motion vector of each point, thereby obtaining the motion compensation prediction signal of each point. Since the motion vectors of each point in the image block may be different, different operations need to be performed for each point according to the motion vector. The complexity of point-based motion compensation prediction is very high. In order to reduce the complexity of codec, the related art attempts to subdivide the sub-image blocks in the image block, obtain the motion vector of each sub-image block, and obtain the motion of each sub-image block. Compensate for the predicted signal.
  • the size of the sub-picture block in the related art is fixed, and the sub-picture block is too small to cause a high complexity of codec, and the sub-picture block is excessively reduced to reduce the codec performance.
  • the invention provides a video image encoding and decoding method, an encoding device and a decoding device, which can reduce the complexity of the encoding and decoding and improve the encoding and decoding performance by selecting a sub-image block of a suitable size.
  • a method for encoding a video image including: determining a motion vector difference of an affine image block; determining a motion vector accuracy of the affine image block; and determining, according to the motion vector difference, the motion vector accuracy and the simulation Determining a distance between control points in the image block, determining a size of the affine motion compensated sub-image block in the affine image block, the control point being a pixel point for determining the motion vector difference; according to the affine motion The size of the sub-image block is compensated, and the affine image block is encoded.
  • the determining a motion vector difference of the affine image block includes: selecting a motion vector of the first control point and the second control point according to the same horizontal line a difference, determining a first component of the motion vector difference; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line; wherein The first control point and the second control point have a first horizontal distance, and the third control point and the fourth control point have a first vertical distance.
  • the difference between the motion vectors of the first control point and the second control point that are located on the same horizontal line Determining a first component of the motion vector difference, comprising: determining the first control point and the first a first horizontal component difference value and a first vertical component difference value of the motion vector of the two control points; determining a maximum value of the first horizontal component difference value and the first vertical component difference value as the motion vector difference First component
  • the determining, by the difference between the motion vector of the third control point and the fourth control point on the same vertical line, the second component of the motion vector difference comprising: determining the third control point and the fourth control a second horizontal component difference value and a second vertical component difference value of the motion vector of the point; determining a maximum value of the second horizontal component difference value and the second vertical component difference value as the second difference of the motion vector difference Component.
  • the method further includes: determining an affine transformation parameter of a pixel point in the affine image block, the simulation Pixels within the image block have the same affine transformation parameters;
  • the determining the first horizontal component difference and the first vertical component difference of the motion vector of the first control point and the second control point includes: determining, according to the affine transformation parameter and the first horizontal distance, The first horizontal component difference value and the first vertical component difference value;
  • the determining the second horizontal component difference and the second vertical component difference of the motion vector of the third control point and the fourth control point including: according to the affine transformation parameter and the first vertical distance, The second horizontal component difference and the second vertical component difference are determined.
  • the method further includes: determining a motion vector of the first control point, and a motion vector of the second control point a motion vector of the third control point and a motion vector of the fourth control point;
  • the determining the first horizontal component difference value and the first vertical component difference value of the motion vector of the first control point and the second control point includes: a horizontal component of the motion vector of the first control point and the a difference value of a horizontal component of a motion vector of the second control point is determined as the first horizontal component difference value; a vertical component of the motion vector of the first control point and a vertical component of the motion vector of the second control point a difference, determined as the first vertical component difference value;
  • the determining the second horizontal component difference and the second vertical component difference of the motion vector of the third control point and the fourth control point including: a horizontal component of the motion vector of the third control point a difference value of a horizontal component of a motion vector of the fourth control point is determined as the second horizontal component difference value; a vertical component of the motion vector of the third control point and a vertical component of the motion vector of the fourth control point The difference is determined as the second vertical component difference.
  • the fifth possible implementation in the first aspect In conjunction with the second possible implementation of the first aspect, the fifth possible implementation in the first aspect In the current mode, the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points;
  • the first horizontal component difference and the first vertical component difference of the motion vector of the first control point and the second control point are determined; the motion vector of the third control point and the fourth control point is determined
  • the second horizontal component difference and the second vertical component difference including:
  • the motion vector difference, the motion vector accuracy, and Determining a size of the affine motion compensated sub-image block by a distance between the control points in the affine image block comprising: a product of the motion vector accuracy and the first horizontal distance and a first component of the motion vector difference The ratio is determined as the length of the affine motion compensated sub-image block in the horizontal direction; the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is determined as the affine motion compensator The length of the image block in the vertical direction.
  • the motion vector difference, the motion vector accuracy, and The distance between the control points in the affine image block determines the size of the affine motion compensated sub-image block in the affine image block, including:
  • the second pre- The set value is determined as the length of the affine motion compensation sub-image block in the vertical direction.
  • the first control point and the third control point are The same pixel.
  • the first control point, the second control point, The third control point and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the determining the affine image block The motion vector accuracy includes: determining a third preset value as the motion vector precision of the affine image block; or determining a motion vector accuracy of the affine image block according to characteristics of the adjacent image block of the affine image block,
  • the neighboring image blocks are image blocks that are spatially and/or temporally adjacent to the affine image block.
  • any one of the first to the eleventh possible implementation manners of the first aspect, in the twelfth possible implementation manner of the first aspect, according to the affine motion Compensating the size of the sub-image block, and performing encoding processing on the affine image block comprising: determining a motion vector of each affine motion compensating sub-image block in the affine motion compensating sub-image block; compensating according to each affine motion a motion vector of the sub-image block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each affine motion compensator according to the motion compensation prediction signal of each affine motion compensation sub-image block a prediction residual signal of the image block; encoding a prediction residual signal for each affine motion compensated sub-picture block.
  • the method further includes: compensating boundary pixel points of the sub-image block for each affine motion The signal is filtered, the boundary pixel being one or more rows of pixels located at the boundary of each affine motion compensated sub-image block.
  • the signal of the boundary pixel point includes a motion compensation prediction signal and/or a reconstruction signal
  • the reconstructed signal is the sum of the motion compensated prediction signal and the reconstructed residual signal.
  • a second aspect provides a video image decoding method, including: determining a motion vector difference of an affine image block; determining a motion vector accuracy of the affine image block; and determining the motion vector difference, the motion vector accuracy, and the simulation Determining a distance between control points in the image block, determining a size of the affine motion compensated sub-image block in the affine image block, the control point being a pixel point for determining the motion vector difference; according to the affine motion The size of the sub-image block is compensated, and the affine image block is decoded.
  • the determining a motion vector difference of the affine image block includes: selecting motion vectors of the first control point and the second control point according to the same horizontal line a difference, determining a first component of the motion vector difference; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line; wherein The first control point and the second control point have a first horizontal distance, and the third control point and the fourth control point have a first vertical distance.
  • the difference between the motion vectors of the first control point and the second control point that are located on the same horizontal line Determining the first component of the motion vector difference, comprising: determining a first horizontal component difference value and a first vertical component difference value of the motion vector of the first control point and the second control point; a maximum value of the value and the first vertical component difference is determined as a first component of the motion vector difference;
  • the determining, by the difference between the motion vector of the third control point and the fourth control point on the same vertical line, the second component of the motion vector difference comprising: determining the third control point and the fourth control a second horizontal component difference value and a second vertical component difference value of the motion vector of the point; determining a maximum value of the second horizontal component difference value and the second vertical component difference value as the second difference of the motion vector difference Component.
  • the method further includes: determining an affine transformation parameter of a pixel point in the affine image block, the simulation Pixels within the image block have the same affine transformation parameters;
  • the determining the first horizontal component difference and the first vertical component difference of the motion vector of the first control point and the second control point includes: determining, according to the affine transformation parameter and the first horizontal distance, The first horizontal component difference value and the first vertical component difference value;
  • the difference value and the second vertical component difference value include: determining the second horizontal component difference value and the second vertical component difference value according to the affine transformation parameter and the first vertical distance.
  • the method further includes: determining a motion vector of the first control point, and a motion vector of the second control point a motion vector of the third control point and a motion vector of the fourth control point;
  • the determining the first horizontal component difference value and the first vertical component difference value of the motion vector of the first control point and the second control point includes: a horizontal component of the motion vector of the first control point and the a difference value of a horizontal component of a motion vector of the second control point is determined as the first horizontal component difference value; a vertical component of the motion vector of the first control point and a vertical component of the motion vector of the second control point a difference, determined as the first vertical component difference value;
  • the determining the second horizontal component difference and the second vertical component difference of the motion vector of the third control point and the fourth control point including: a horizontal component of the motion vector of the third control point a difference value of a horizontal component of a motion vector of the fourth control point is determined as the second horizontal component difference value; a vertical component of the motion vector of the third control point and a vertical component of the motion vector of the fourth control point The difference is determined as the second vertical component difference.
  • the first control point and the second control point are two adjacent pixel points, and the third The control point and the fourth control point are two adjacent pixel points;
  • the first horizontal component difference and the first vertical component difference of the motion vector of the first control point and the second control point are determined; the motion vector of the third control point and the fourth control point is determined
  • the second horizontal component difference and the second vertical component difference including:
  • the sixth possible implementation manner of the second aspect Determining the size of the affine motion compensated sub-image block by the distance between the motion vector precision and the control point in the affine image block, comprising: the product of the motion vector accuracy and the first horizontal distance being different from the motion vector The ratio of the first component is determined as the length of the horizontal direction of the affine motion compensated sub-image block; the ratio of the product of the motion vector precision to the first vertical distance to the second component of the motion vector difference is determined as the imitation The motion compensates for the length of the sub-image block in the vertical direction.
  • the motion vector difference, the motion vector accuracy, and The distance between the control points in the affine image block determines the size of the affine motion compensated sub-image block in the affine image block, including:
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are The same pixel.
  • the first control point, the second control point, The third control point and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the determining the affine image block The motion vector accuracy includes: determining a third preset value as a motion vector accuracy of the affine image block; or determining a motion vector of the affine image block according to characteristics of the adjacent image block of the affine image block;
  • the amount of precision is that the adjacent image block is an image block that is spatially and/or temporally adjacent to the affine image block.
  • any one of the first to the eleventh possible implementation manners of the second aspect in the twelfth possible implementation manner of the second aspect, Compensating the size of the sub-image block, and performing decoding processing on the affine image block, comprising: determining a motion vector of each affine motion compensating sub-image block in the affine motion compensating sub-image block; compensating according to each affine motion a motion vector of the sub-image block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each affine motion compensator according to the motion compensation prediction signal of each affine motion compensation sub-image block a prediction residual signal of the image block; decoding the prediction residual signal of each affine motion compensated sub-picture block.
  • the method further includes: compensating the boundary pixel of the sub-image block for each affine motion The signal is filtered, the boundary pixel being one or more rows of pixels located at the boundary of each affine motion compensated sub-image block.
  • the signal of the boundary pixel point includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is The sum of the motion compensated prediction signal and the reconstructed residual signal.
  • a third aspect provides an encoding apparatus, including: a first determining module, configured to determine a motion vector difference of an affine image block; a second determining module, configured to determine a motion vector accuracy of the affine image block; a determining module, configured to determine the affine image block according to the motion vector difference determined by the first determining module, the motion vector accuracy determined by the second determining module, and a distance between control points in the affine image block
  • the affine motion compensates the size of the sub-image block, the control point is a pixel point for determining the motion vector difference, and the encoding module is configured to compensate the size of the affine motion compensated sub-image block according to the third determining module And encoding the affine image block.
  • the first determining module is specifically configured to: according to a difference between motion vectors of the first control point and the second control point that are located on the same horizontal line, Determining a first component of the motion vector difference; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the first determining module is specifically configured to: determine a first horizontal component difference and a first vertical component difference of the motion vector of the first control point and the second control point; and the first horizontal component Determining a maximum value of the difference and the first vertical component difference as a first component of the motion vector difference; determining a second horizontal component difference of the motion vector of the third control point and the fourth control point And a second vertical component difference; the maximum of the second horizontal component difference and the second vertical component difference is determined as a second component of the motion vector difference.
  • the first determining module is specifically configured to: determine an affine transformation of a pixel in the affine image block a parameter, the pixel points in the affine image block have the same affine transformation parameter; determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; And determining the second horizontal component difference value and the second vertical component difference value according to the affine transformation parameter and the first vertical distance.
  • the first determining module is specifically configured to: determine a motion vector of the first control point, the second control a motion vector of the point, a motion vector of the third control point, and a motion vector of the fourth control point; a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point Determining as the first horizontal component difference; determining a difference between a vertical component of the motion vector of the first control point and a vertical component of the motion vector of the second control point as the first vertical component difference Determining, by the difference between the horizontal component of the motion vector of the third control point and the horizontal component of the motion vector of the fourth control point, the second horizontal component difference; the vertical of the motion vector of the third control point The difference between the component and the vertical component of the motion vector of the fourth control point is determined as the second vertical component difference.
  • the first control point and the second control point are two adjacent pixel points
  • the third The control point and the fourth control point are two adjacent pixel points
  • the first determining module is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the first
  • the three pixel points are pixel points that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel point and the second pixel point; determining the first pixel point and the third pixel point a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, the second Vertical
  • the distance, the third horizontal distance, and the third vertical distance determine the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second vertical component difference.
  • the third determining module is specifically configured to: The ratio of the product of the vector precision to the first horizontal distance and the first component of the motion vector difference is determined as the length of the horizontal direction of the affine motion compensated sub-image block; the motion vector accuracy is equal to the first vertical distance The ratio of the product to the second component of the motion vector difference is determined as the length of the affine motion compensated sub-image block in the vertical direction.
  • the third determining module is specifically configured to: When the ratio of the product of the vector precision to the first horizontal distance and the first component of the motion vector difference is greater than or equal to the first preset value, the ratio is determined as the length of the horizontal direction of the affine motion compensation sub-image block, Or determining, when the ratio of the product of the motion vector precision to the first horizontal distance and the first component of the motion vector difference is less than the first preset value, determining the first preset value as the affine motion compensator The length of the horizontal direction of the image block;
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are The same pixel.
  • the first control point, the second control point, The third control point and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the second determining module is specifically used
  • the third preset value is determined as the motion vector precision of the affine image block; or, according to the simulation
  • the characteristics of the adjacent image blocks of the image block determine the motion vector accuracy of the affine image block, which is a spatially and/or temporally adjacent image block with the affine image block.
  • the coding module is specifically used to Determining a motion vector of each affine motion compensated sub-image block in the affine motion compensated sub-image block; determining each affine motion compensated sub-image block according to a motion vector of each affine motion compensated sub-image block a motion compensated prediction signal; determining a prediction residual signal for each affine motion compensated sub-image block according to the motion compensated prediction signal of each affine motion compensated sub-image block; compensating the sub-image for each affine motion compensation sub-image
  • the prediction residual signal of the block is encoded.
  • the encoding device further includes: a filtering module, configured to compensate the sub-image for each affine motion The signal of the boundary pixel of the block is filtered, the boundary pixel being one or more rows of pixels located at the boundary of each affine motion compensated sub-image block.
  • the signal of the boundary pixel point includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is The sum of the motion compensated prediction signal and the reconstructed residual signal.
  • a fourth aspect provides a decoding apparatus, including: a first determining module, configured to determine a motion vector difference of an affine image block; a second determining module, configured to determine a motion vector accuracy of the affine image block; a determining module, configured to determine the affine image block according to the motion vector difference determined by the first determining module, the motion vector accuracy determined by the second determining module, and a distance between control points in the affine image block
  • the affine motion compensates the size of the sub-image block, the control point is a pixel point for determining the motion vector difference; and the decoding module is configured to compensate the size of the affine motion compensated sub-image block according to the third determining module And decoding the affine image block.
  • the first determining module is specifically configured to: according to a difference between motion vectors of the first control point and the second control point that are located on the same horizontal line, Determining a first component of the motion vector difference; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the first determining module is specifically configured to: determine the first control point and the second control point a first horizontal component difference value and a first vertical component difference value of the motion vector; determining a maximum value of the first horizontal component difference value and the first vertical component difference value as a first component of the motion vector difference; Determining a second horizontal component difference and a second vertical component difference of the motion vector of the third control point and the fourth control point; wherein the second horizontal component difference and the second vertical component difference are The maximum value is determined as the second component of the motion vector difference.
  • the first determining module is specifically configured to: determine an affine transformation of a pixel in the affine image block a parameter, the pixel points in the affine image block have the same affine transformation parameter; determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; And determining the second horizontal component difference value and the second vertical component difference value according to the affine transformation parameter and the first vertical distance.
  • the first determining module is specifically configured to determine a motion vector of the first control point, the second control point a motion vector, a motion vector of the third control point, and a motion vector of the fourth control point; determining a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point a first horizontal component difference value; a difference between a vertical component of the motion vector of the first control point and a vertical component of the motion vector of the second control point is determined as the first vertical component difference value; Determining, by the difference between the horizontal component of the motion vector of the third control point and the horizontal component of the motion vector of the fourth control point, the second horizontal component difference; the vertical component of the motion vector of the third control point The difference between the vertical component of the motion vector of the fourth control point is determined as the second vertical component difference.
  • the first control point and the second control point are two adjacent pixel points
  • the third The control point and the fourth control point are two adjacent pixel points
  • the first determining module is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the first
  • the three pixel points are pixel points that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel point and the second pixel point; determining the first pixel point and the third pixel point a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, the second a vertical distance, the third horizontal distance, and the third vertical distance, determining the first horizontal component difference, the first a vertical component difference value, the second horizontal component difference value, and the second vertical component difference value.
  • the third determining module is specifically configured to: The ratio of the product of the vector precision to the first horizontal distance and the first component of the motion vector difference is determined as the length of the horizontal direction of the affine motion compensated sub-image block; the motion vector accuracy is equal to the first vertical distance The ratio of the product to the second component of the motion vector difference is determined as the length of the affine motion compensated sub-image block in the vertical direction.
  • the third determining module is specifically configured to: When the ratio of the product of the vector precision to the first horizontal distance and the first component of the motion vector difference is greater than or equal to the first preset value, the ratio is determined as the length of the horizontal direction of the affine motion compensation sub-image block, Or determining, when the ratio of the product of the motion vector precision to the first horizontal distance and the first component of the motion vector difference is less than the first preset value, determining the first preset value as the affine motion compensator The length of the horizontal direction of the image block;
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are The same pixel.
  • the first control point, the second control point, The third control point and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the second determining module is specifically used And determining a third preset value as the motion vector precision of the affine image block; or determining a motion vector accuracy of the affine image block according to a characteristic of the adjacent image block of the affine image block, the neighboring map
  • the image block is an image block that is spatially and/or temporally adjacent to the affine image block.
  • the decoding module is specifically used to Determining a motion vector of each affine motion compensated sub-image block in the affine motion compensated sub-image block; determining each affine motion compensated sub-image block according to a motion vector of each affine motion compensated sub-image block a motion compensated prediction signal; determining a prediction residual signal for each affine motion compensated sub-image block according to the motion compensated prediction signal of each affine motion compensated sub-image block; compensating the sub-image for each affine motion compensation sub-image The prediction residual signal of the block is decoded.
  • the decoding device further includes: a filtering module, configured to compensate the sub-image for each affine motion The signal of the boundary pixel of the block is filtered, the boundary pixel being one or more rows of pixels located at the boundary of each affine motion compensated sub-image block.
  • the signal of the boundary pixel point includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is The sum of the motion compensated prediction signal and the reconstructed residual signal.
  • the video image encoding and decoding method, the encoding device, and the decoding device are based on motion vector differences of affine image blocks, motion vector precision of affine image blocks, and control in affine image blocks.
  • the distance between the points determines the size of the affine motion compensated sub-image block in the affine image block, thereby reducing the complexity of the codec by selecting a sub-image block of an appropriate size during the encoding and decoding process. Decoding performance.
  • FIG. 1 is a schematic flowchart of a method for encoding a video image according to an embodiment of the present invention
  • FIG. 2 is another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention
  • FIG. 3 is still another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention
  • FIG. 4 is still another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of an affine image block and a control point according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of three non-coincident pixel points in an affine image block according to an embodiment of the present invention.
  • FIG. 7 is another schematic diagram of an affine image block in accordance with an embodiment of the present invention.
  • FIG. 8 is still another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention.
  • FIG. 9 is still another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention.
  • FIG. 10 is still another schematic flowchart of a method for encoding a video image according to an embodiment of the present invention.
  • FIG. 11 is still another schematic diagram of an affine image block according to an embodiment of the present invention.
  • FIG. 12 is a schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 13 is another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 14 is still another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 15 is still another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 16 is still another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 17 is still another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 18 is still another schematic flowchart of a method for decoding a video image according to an embodiment of the present invention.
  • FIG. 19 is a schematic block diagram of an encoding device according to an embodiment of the present invention.
  • 20 is another schematic block diagram of an encoding device according to an embodiment of the present invention.
  • 21 is a schematic block diagram of a decoding device according to an embodiment of the present invention.
  • FIG. 22 is another schematic block diagram of a decoding device according to an embodiment of the present invention.
  • FIG. 23 is a schematic block diagram of an encoding device according to another embodiment of the present invention.
  • FIG. 24 is a schematic block diagram of a decoding device according to another embodiment of the present invention.
  • FIG. 1 shows a schematic flow chart of a method of video image encoding according to an embodiment of the present invention.
  • the method shown in Figure 1 can be performed by an encoding device, such as an encoder.
  • the method 1000 includes:
  • S1400 Perform encoding processing on the affine image block according to the size of the affine motion compensation sub-image block.
  • the encoding device determines a motion vector difference of the affine image block according to the determined control point, and determines a motion vector accuracy of the affine image block, according to the determined motion vector difference, the motion vector precision, and the control point
  • the distance is determined by the size of the affine motion compensated sub-image block in the affine image block, and the affine image block is encoded according to the determined size.
  • the encoding device determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to
  • the affine motion compensated sub-image block is encoded by the affine image block, thereby reducing the complexity of the encoding and improving the encoding performance by selecting a sub-image block of an appropriate size during the encoding process.
  • the affine image (Affine) block is that the motion vectors of all the units in the image block conform to the same affine model, for example, the same affine model, and may use the same parameters, for example, The same set of parameters to represent the image block.
  • the unit is a group of pixels, for example, a pixel, or a block structure of 1 ⁇ 3, 2 ⁇ 4, etc., which is not limited in the present invention.
  • an Affine Motion Compensation (Affine-MC) block is a sub-image block internally divided by an Affine block for motion compensation prediction, and each The size of the Affine-MC block may be the same or different, and the present invention does not limit this.
  • any non-coincident pixel point may be selected as a control point to determine a motion vector difference of the Affine block, which is not limited by the present invention.
  • S1100 includes:
  • S1101 Determine a first component of the motion vector difference according to a difference between motion vectors of the first control point and the second control point located on the same horizontal line;
  • S1102 Determine a second component of the motion vector difference according to a difference between a motion vector of a third control point and a fourth control point located on the same vertical line;
  • first control point and the second control point have a first horizontal distance
  • first There is a first vertical distance between the three control points and the fourth control point.
  • the first component of the motion vector difference refers to a horizontal component of the motion vector difference
  • the second component of the motion vector difference refers to a vertical component of the motion vector difference
  • the first, second, third, and fourth are only for distinguishing pixel points, and should not constitute any limitation on the protection scope of the present invention.
  • the first control point may also be referred to as The second control point, the second control point may become the first control point or the like.
  • the first control point and the third control point are the same pixel point, that is, the number of selected control points is three, and among the three control points One control point is on the same horizontal line as one of the other two control points, and is located on the same vertical line as the other of the other two control points.
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the Affine block, and respectively, four vertices of an Affine block are respectively Marked as the upper left corner vertex, the lower left corner vertex, the upper right corner vertex and the lower right corner vertex, any three vertices in two orthogonal directions can be selected to determine the motion vector difference of the Affine block, for example, the upper left corner vertex can be selected, The upper left corner vertex and the upper right corner vertex may be selected from the upper left corner vertex, the upper right corner vertex, and the lower right corner vertex, which is not limited in the present invention.
  • the difference between the components in any one of the components in the two directions of the motion vector of the first control point and the second control point may be determined as the motion vector of the Affine block.
  • a first component of the difference the difference between the components in any one of the components of the motion vector of the third control point and the motion vector of the fourth control point may be determined as the second component of the motion vector difference of the Affine block.
  • the value between the two differences between the components in the two directions of the motion vector of the first control point and the second control point may be determined as the number according to the actual requirements for coding complexity and coding performance.
  • the value between the two differences of the components in the two directions of the motion vector of the third control point and the fourth control point is determined as the second component, which is not limited by the present invention.
  • S1101 specifically includes:
  • S1104 determining a maximum value of the first horizontal component difference value and the first vertical component difference value as a first component of the motion vector difference
  • S1102 specifically includes:
  • S1106 Determine a maximum value of the second horizontal component difference value and the second vertical component difference value as a second component of the motion vector difference.
  • ⁇ mv hor max(vx (x+w,y) -vx (x,y) ,vy (x+w,y) -vy x,y ) (1)
  • ⁇ mv ver max(vx (x',y'+h) -vx (x',y') ,vy (x',y'+h) -vy (x',y') ) (2)
  • ⁇ mv hor represents the horizontal component of the motion vector difference of the Affine block
  • ⁇ mv ver represents the vertical component of the motion vector difference of the Affine block
  • w represents the first level of the first control point and the second control point
  • the distance, h represents the first vertical distance of the third control point and the fourth control point.
  • an affine transformation parameter of a pixel point in the affine image block may be determined, and the pixel points in the affine image block have the same affine transformation parameter;
  • S1103 is specifically: determining, according to the affine transformation parameter and the first horizontal distance, the first horizontal component difference value and the first vertical component difference value;
  • S1105 is specifically: determining the second horizontal component difference value and the second vertical component difference value according to the affine transformation parameter and the first vertical distance.
  • the affine transformation model may adopt a 6-parameter affine transformation model in the prior art, or a 4-parameter or 2-parameter affine transformation model, in a 6-parameter affine transformation model.
  • (x, y) is the coordinate of the pixel point P in the current image
  • (x', y') is the coordinate of the pixel point P' at which the pixel point P matches in the reference image
  • a, b, c, d, e, f is an affine transformation parameter. If the affine transformation parameters are known, the position (x', y') of the pixel point (x, y) in the reference image can be obtained, so that the prediction signal of the pixel point can be obtained from the reference image:
  • the affine transformation parameters can be calculated from the motion vectors of some pixel points in the image block.
  • the horizontal and vertical components of the motion vector can be expressed as equations (5) and (6), respectively:
  • Vx x-x' (5)
  • Vy y-y' (6)
  • Vx (1-a)x-by-e (7)
  • Vy (1-d)y-cx-f (8)
  • Equations (1) and (2) are transformed into equations (9) and (10), respectively:
  • the first component and the second component of the motion vector difference of the Affine block can be determined by determining the affine transformation parameters a, b, c, and d, and the distance between the control points.
  • the affine transformation parameter may be obtained by iteratively calculating each coefficient, for example, adding a coefficient a to determine whether the motion compensation prediction signal is optimal under the model.
  • the affine transformation parameters may also be derived from affine transformation coefficients of adjacent Affine blocks. However, the invention is not limited to this.
  • a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and a motion vector of the fourth control point may be determined
  • S1103 is specifically: determining, as the first horizontal component difference, a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point; a difference between a vertical component of the motion vector and a vertical component of the motion vector of the second control point is determined as the first vertical component difference value;
  • S1105 is specifically: a horizontal component of the motion vector of the third control point and the fourth control
  • the difference of the horizontal component of the motion vector of the point is determined as the difference of the second horizontal component; the difference between the vertical component of the motion vector of the third control point and the vertical component of the motion vector of the fourth control point, Determined as the second vertical component difference.
  • the motion vector of the control point can be directly determined.
  • the first component and the second component of the motion vector difference of the Affine block can be directly obtained.
  • Figure 5 is a schematic illustration of an affine image block and control points in accordance with an embodiment of the present invention.
  • Two of the control points A and B are on the same horizontal line, the distance is w, the two control points C and D are on the same vertical line, and the distance is h. If the movement of the control points A, B, C and D is known Vector, then the first component and the second component of the motion vector difference of the Affine block can be determined according to equations (11) and (12):
  • control points A and C may be the same pixel.
  • control points A, B, C, and D may be the vertices of the Affine block.
  • the distance between the control points A and B is the width W of the Affine block
  • the control points C and D The pitch is the height H of the Affine block.
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points.
  • the S1103 and the S1105 are specifically: determining a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the third pixel Points are pixels that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining between the first pixel and the third pixel a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, and the second vertical The distance, the third horizontal distance, and the third vertical distance determine the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second vertical component difference.
  • A, B, and C are three pixel points in the image block that do not coincide with each other.
  • the positions of the three pixel points are as shown in FIG. 6, and the motion vectors of the three points are respectively (vx A , vy A ), (vx B , vy B ) and (vx C , vy C ).
  • the distance between point A and point B in the horizontal direction is w 1
  • the distance in the vertical direction is h 1
  • the distance between point A and point C in the horizontal direction is w 2
  • the distance in the vertical direction is h 2
  • point B and point The distance of C in the horizontal direction is w 2 - w 1
  • the distance in the vertical direction is h 1 + h 2 .
  • the differences of the components of the motion vectors of the two adjacent pixels in the horizontal direction in the horizontal direction are ⁇ mvx hor and ⁇ mvy hor , respectively, and the motion vectors of the two adjacent pixels in the vertical direction are in the vertical direction.
  • the differences of the components are ⁇ mvx ver and ⁇ mvy ver respectively .
  • ⁇ mvx hor , ⁇ mvy hor , ⁇ mvx ver and ⁇ mvy ver can be determined by determining the motion vectors of the points A, B and C.
  • the motion vector difference of adjacent pixel points of the image block can be determined. Specifically, it can be determined according to formulas (13) to (16):
  • Vx B vx A +w 1 ⁇ mvx hor +h 1 ⁇ mvx ver (13)
  • Vy B vy A +w 1 ⁇ mvy hor +h 1 ⁇ mvy ver (14)
  • Vx C vx A +w 2 ⁇ mvx hor +h 2 ⁇ mvx ver (15)
  • Vy C vy A +w 2 ⁇ mvy hor +h 2 ⁇ mvy ver (16)
  • Vx C vx B +(w 2 -w 1 ) ⁇ mvx hor +(h 2 +h 1 ) ⁇ mvx ver (17)
  • Vy C vy B +(w 2 -w 1 ) ⁇ mvy hor +(h 2 +h 1 ) ⁇ mvy ver (18)
  • the encoding device may obtain motion vectors of all control points from the motion estimation search; motion vectors of all control points may be obtained from surrounding image blocks; all control may be calculated according to the affine transformation model The motion vector of the point; the motion vector of the partial control point can be obtained by motion estimation, and the motion vector of other control points can be obtained from the adjacent image block; the motion vector of the partial control point can be obtained by affine motion estimation, according to the affine transformation model The motion vectors of the other control points are calculated; the motion vectors of the partial control points can be obtained from the adjacent image blocks, and the motion vectors of the other control points are calculated according to the affine transformation model; however, the present invention is not limited thereto.
  • the third preset value may be determined as the motion vector accuracy of the affine image block; or the motion vector accuracy of the affine image block may be determined according to the characteristics of the adjacent image block of the affine image block.
  • the neighboring image block is an image block that is spatially and/or temporally adjacent to the affine image block.
  • the value of the motion vector of the Affine block may be an integer.
  • the motion vector is called the integer pixel precision, that is, the pixel precision is 1; the value of the motion vector may also be a non-integer, and the motion vector is called the sub-pixel precision. , including 1/2, 1/4, 1/8 and other precision.
  • Figure 7 shows a 4 ⁇ 4 image block, where ⁇ represents the pixel at the entire pixel position, and the acquired image is only Pixels at full pixel position.
  • O represents a pixel at a 1/2 precision position and needs to be interpolated by pixels at the entire pixel position. Pixel values at other precision positions need to be further interpolated using integer pixel precision pixels or 1/2 precision pixels. If the motion vector of the current pixel is an integer, it points to the position where ⁇ in the reference image, and if the motion vector of the current pixel is 1/2 precision, it points to the position where O in the reference image.
  • the motion vector precision of an Affine block refers to the highest precision of the motion vector of all pixels in the Affine block.
  • the motion vector accuracy of the Affine block can be preset, such as integer pixel precision, 1/2, 1/4, 1/8, 1/16, etc. It may also be determined according to the characteristics of the adjacent image block of the Affine block. For example, if the surrounding image is smoother and the current Affine block can be predicted to be smoother, a higher motion vector precision may be selected, for example, 1/8, 1/16. Accuracy, etc., instead use lower motion vector accuracy, such as integer pixel precision, 1/2 precision, and so on. The accuracy obtained is expressed by MvAc.
  • S1300 specifically includes:
  • S1302. Determine a ratio of a product of the motion vector precision to the first vertical distance to a second component of the motion vector difference as a length of the affine motion compensation sub-image block in a vertical direction.
  • the Affine block is divided into a plurality of Affine-MC blocks according to the previously obtained desired motion vector precision MvAc, and the motion vector accuracy of each Affine-MC block is guaranteed to reach MvAc.
  • the horizontal distance between the first control point and the second control point is assumed to be w
  • the vertical distance between the third control point and the fourth control point is h, assuming Affine-
  • the MC block has a width of aMcW and a height of aMcH, and then aMcW and aMcH can be determined according to formula (19):
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the Affine block
  • the first control point and the second The horizontal distance between the control points is the width W of the Affine block
  • the vertical distance between the third control point and the fourth control point is the height H of the Affine block.
  • the encoding device determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to
  • the affine motion compensated sub-image block is encoded to process the affine image block, thereby, by selecting a sub-image block of an appropriate size during the encoding process, while maintaining the affine transformation motion compensation prediction performance, Reduce the complexity of coding and improve coding performance.
  • S1300 includes:
  • a lower limit value may be set for the width and height of the Affine-MC block, and when the calculated width or height is less than the preset lower limit value, the preset The lower limit value is determined as the width or height of the Affine-MC block.
  • the lower limit value may be set to 4, but may be set to other values according to actual needs.
  • the lower limit value of the width may be set. It is set to 2, the set value of the height is set to 3, or the lower limit of the width is set to 1, and the set value of the height is set to 2, which is not limited in the present invention.
  • S1400 includes:
  • S1402 Determine, according to the motion vector of each affine motion compensation sub-image block, a motion compensation prediction signal of each affine motion compensation sub-image block;
  • each Affine-MC block may include a plurality of pixel points, and a motion vector of one pixel point needs to be selected from each Affine-MC as a motion vector of the Affine-MC block.
  • a motion vector of a pixel at a center position of the Affine-MC block may be selected as a motion vector of the Affine-MC block, and an average value of motion vectors of all pixels in the Affine-MC block may be selected.
  • the motion vector of the Affine-MC block the motion vector of the pixel located at the upper left corner of the Affine-MC block can be selected as the motion vector of the Affine-MC block, but the present invention is not limited thereto.
  • filtering a signal of a boundary pixel point of each affine motion compensation sub-image block optionally, filtering a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is a line located at a boundary of each affine motion compensation sub-image block Or multiple rows of pixels.
  • the signal of the boundary pixel includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is a sum of the motion compensation prediction signal and the reconstructed residual signal.
  • a thick solid line block represents an Affine block
  • a thin solid line block represents an Affine-MC block
  • a broken line frame represents a pixel of a boundary of an adjacent Affine-MC block
  • an intersection point represents a pixel.
  • the area of the dotted line frame in FIG. 11 includes two or two columns of pixels in the boundary of the adjacent Affine-MC blocks, and may also include one row or one column, three rows or three columns, and the like of the respective boundaries.
  • the prediction signals taken from the reference image are not adjacent in the reference image, which may cause discontinuities between prediction signals of adjacent Affine-MC block boundaries, As a result, the discontinuity of the residual is affected, which affects the coding performance of the residual. Therefore, it is considered to filter the motion compensation prediction signal at the boundary of the Affine-MC block.
  • the reconstructed signal is typically obtained by adding a motion compensated prediction signal to the reconstructed residual signal.
  • the residual signal typically uses lossy coding, which results in distortion between the reconstructed residual signal and the original residual signal.
  • the direction of distortion of pixels at the boundary of adjacent Affine-MC blocks may be inconsistent. For example, the pixels on the right side of the first Affine-MC block become larger due to distortion, and the pixels on the left side of the adjacent Affine-MC block on the right side become smaller due to distortion. This can result in discontinuities in pixel values at the boundaries of the reconstructed pixels of the Affine-MC block, affecting subjective and objective effects. Therefore, the reconstructed signal needs to be filtered.
  • the filtering may be performed by a low-pass filter such that the pixel value of the boundary region changes more gently, for example, using a Gaussian filter, but the present invention is not limited thereto.
  • the overlapped block motion compensation (abbreviated as “OBMC” method may be used for filtering.
  • the pixel to be filtered uses the motion vector of its adjacent Affine-MC block to perform motion. Compensating the prediction, weighting and averaging the obtained motion compensation prediction signal and the motion compensation prediction signal obtained by using the motion vector of the pixel to be filtered to obtain a final motion compensation prediction signal.
  • the encoding device determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to
  • the affine motion compensated sub-image block is encoded by the affine image block, thereby reducing the complexity of the encoding and improving the encoding performance by selecting a sub-image block of an appropriate size during the encoding process.
  • the video image encoding method according to an embodiment of the present invention is described in detail above with reference to FIGS. 1 through 11, and a video image decoding method according to an embodiment of the present invention will be described in detail below with reference to FIGS. 12 through 18. It should be noted that the related operations of the decoding end are essentially the same as those of the encoding end. To avoid repetition, details are not described herein again.
  • FIG. 12 shows a schematic flow chart of a method of video image decoding according to an embodiment of the present invention.
  • the method illustrated in Figure 12 may be performed by a decoding device, such as a decoder, and in particular, as shown in Figure 12, method 2000 includes:
  • S2300 Determine, according to the motion vector difference, the motion vector precision, and a distance between the control points in the affine image block, a size of the affine motion compensation sub-image block in the affine image block, where the control point is used Determining a pixel point of the difference in motion vectors;
  • S2400 Perform decoding processing on the affine image block according to the size of the affine motion compensation sub-image block.
  • the decoding device determines a motion vector difference of the affine image block according to the determined control point, and determines a motion vector accuracy of the affine image block, according to the determined motion vector difference, the motion vector precision, and the control point
  • the distance is determined by the size of the affine motion compensated sub-image block in the affine image block, and the affine image block is decoded according to the determined size.
  • the decoding device determines the size of the affine motion compensation sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to The determined size, the affine image block is decoded. Therefore, in the decoding process, the decoding complexity can be reduced and the decoding performance can be improved by selecting a sub-image block of an appropriate size.
  • S2100 includes:
  • S2101 Determine, according to a difference between a motion vector of a first control point and a second control point located on a same horizontal line, a first component of the motion vector difference;
  • S2102 Determine a second component of the motion vector difference according to a difference between a motion vector of a third control point and a fourth control point located on a same vertical line;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the first component of the motion vector difference refers to a horizontal component of the motion vector difference
  • the second component of the motion vector difference refers to a vertical component of the motion vector difference
  • S2101 specifically includes:
  • S2102 specifically includes:
  • S2105 Determine a second horizontal component difference and a second vertical component difference of the motion vector of the third control point and the fourth control point;
  • S2106 Determine a maximum value of the second horizontal component difference value and the second vertical component difference value as a second component of the motion vector difference.
  • the pixel points in the affine image block may be determined.
  • An affine transformation parameter, the pixels in the affine image block have the same affine transformation parameters;
  • S2103 is specifically: determining, according to the affine transformation parameter and the first horizontal distance, the first horizontal component difference value and the first vertical component difference value;
  • S2105 is specifically: determining the second horizontal component difference value and the second vertical component difference value according to the affine transformation parameter and the first vertical distance.
  • a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and a motion vector of the fourth control point may be determined
  • S2103 is specifically: determining, as the first horizontal component difference, a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point; a difference between a vertical component of the motion vector and a vertical component of the motion vector of the second control point is determined as the first vertical component difference value;
  • S2105 is specifically: determining a difference between a horizontal component of the motion vector of the third control point and a horizontal component of the motion vector of the fourth control point as the second horizontal component difference; and a motion vector of the third control point The difference between the vertical component of the vertical component and the vertical component of the motion vector of the fourth control point is determined as the second vertical component difference.
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points.
  • the S2103 and the S2105 are specifically: determining a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the third pixel Points are pixels that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining between the first pixel and the third pixel a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, and the second vertical The distance, the third horizontal distance, and the third vertical distance determine the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second vertical component difference.
  • the decoding device may parse the motion vectors of all the control points from the code stream; the motion vectors of all the control points may be obtained from the surrounding image blocks; and all the controls may be calculated according to the affine transformation model.
  • the motion vector of the point; the motion vector of the partial control point can be parsed from the code stream, and the motion vector of the other control point is obtained from the adjacent image block;
  • the motion vector of some control points can be parsed in the code stream, and the motion vectors of other control points can be calculated according to the affine transformation model; the motion vectors of some control points can be obtained from the adjacent image blocks, and other control points can be calculated according to the affine transformation model.
  • Motion vector however, the invention is not limited thereto.
  • the third preset value may be determined as the motion vector precision of the affine image block; or the motion vector accuracy of the affine image block may be determined according to the characteristics of the adjacent image block of the affine image block.
  • the neighboring image block is an image block that is spatially and/or temporally adjacent to the affine image block.
  • the S2300 specifically includes:
  • S2301 determining a ratio of a product of the motion vector precision to the first horizontal distance to a first component of the motion vector difference as a length of the affine motion compensation sub-image block in a horizontal direction;
  • S2302 Determine a ratio of a product of the motion vector precision to the first vertical distance to a second component of the motion vector difference as a length of the affine motion compensation sub-image block in a vertical direction.
  • the S2300 includes:
  • the S2400 includes:
  • S2401 Determine a motion vector of each affine motion compensation sub-image block in the affine motion compensation sub-image block;
  • S2402 Determine, according to the motion vector of each affine motion compensation sub-image block, a motion compensation prediction signal of each affine motion compensation sub-image block;
  • filtering a signal of a boundary pixel point of each affine motion compensation sub-image block optionally, filtering a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is a line located at a boundary of each affine motion compensation sub-image block Or multiple rows of pixels.
  • the signal of the boundary pixel includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is a sum of the motion compensation prediction signal and the reconstructed residual signal. Therefore, in the video image decoding method of the embodiment of the present invention, the decoding device determines the size of the affine motion compensation sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to The determined size, the affine image block is decoded. Therefore, in the decoding process, the decoding complexity can be reduced and the decoding performance can be improved by selecting a sub-image block of an appropriate size.
  • the decoding method in the present invention may also be:
  • the affine image block is subjected to decoding processing according to the size of the affine motion compensation sub-image block.
  • the affine image block is subjected to decoding processing according to the size of the affine motion compensation sub-image block.
  • the decoding end can be directly transmitted to the decoding by the encoding end without recalculation.
  • the parameters of the end determine the size of the affine motion compensated sub-image block, further reducing the computational complexity.
  • the encoding device 10 includes:
  • a first determining module 11 configured to determine a motion vector difference of the affine image block
  • a second determining module 12 configured to determine motion vector accuracy of the affine image block
  • the third determining module 13 is configured to determine, according to the motion vector difference determined by the first determining module 11 , the motion vector accuracy determined by the second determining module 12, and the distance between the control points in the affine image block.
  • the affine motion in the affine image block compensates for the size of the sub-image block, and the control point is a pixel point for determining the motion vector difference;
  • the encoding module 14 is configured to perform encoding processing on the affine image block according to the size of the affine motion compensation sub-image block determined by the third determining module 13.
  • the encoding device determines a motion vector difference of the affine image block according to the determined control point, and determines a motion vector accuracy of the affine image block, according to the determined motion vector difference, the motion vector precision, and the control point
  • the distance is determined by the size of the affine motion compensated sub-image block in the affine image block, and the affine image block is encoded according to the determined size.
  • the encoding apparatus of the embodiment of the present invention determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to the affine motion compensator
  • the size of the image block is encoded by the affine image block, thereby reducing the complexity of the encoding and improving the encoding performance by selecting a sub-image block of an appropriate size during the encoding process.
  • the first determining module 11 is specifically configured to determine the difference of the motion vector according to the difference between the motion vector of the first control point and the second control point located on the same horizontal line. a component; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the first determining module 11 is specifically configured to: determine a first horizontal component difference and a first vertical component difference of a motion vector of the first control point and the second control point. a value; the maximum of the first horizontal component difference and the first vertical component difference Determining a first component of the motion vector difference; determining a second horizontal component difference and a second vertical component difference of the motion vector of the third control point and the fourth control point; And a maximum value of the second vertical component difference is determined as a second component of the motion vector difference.
  • the first determining module 11 is specifically configured to: determine an affine transformation parameter of a pixel in the affine image block, where pixels in the affine image block have the same imitation a transformation transform parameter; determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; determining according to the affine transformation parameter and the first vertical distance The second horizontal component difference value and the second vertical component difference value.
  • the first determining module 11 is specifically configured to: determine a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and the a motion vector of the fourth control point; determining a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point as the first horizontal component difference; The difference between the vertical component of the motion vector of the point and the vertical component of the motion vector of the second control point is determined as the first vertical component difference; the horizontal component of the motion vector of the third control point is a difference value of a horizontal component of a motion vector of the fourth control point is determined as the second horizontal component difference value; a vertical component of the motion vector of the third control point and a vertical component of the motion vector of the fourth control point a difference, determined as the second vertical component difference;
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points.
  • the first determining module 11 is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the The third pixel is a pixel point that does not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining the first pixel and the third pixel a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, the first Determining the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second vertical component by two vertical distances, the third horizontal distance, and the third vertical distance Difference.
  • the third determining module 13 is specifically configured to: ratio of a product of the motion vector precision to the first horizontal distance to a first component of the motion vector difference The value is determined as the length of the affine motion compensated sub-image block in the horizontal direction; the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is determined as the affine motion compensator The length of the image block in the vertical direction.
  • the third determining module 13 is specifically configured to:
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are the same pixel.
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the second determining module 12 is specifically configured to: determine a third preset value as a motion vector accuracy of the affine image block; or, according to the adjacent image of the affine image block The characteristics of the block determine the motion vector accuracy of the affine image block, which is a spatially and/or temporally adjacent image block that is contiguous with the affine image block.
  • the encoding module 14 is specifically configured to: determine a motion vector of each affine motion compensation sub-image block in the affine motion compensation sub-image block; and compensate each affine motion according to the affine motion compensation a motion vector of the sub-image block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each affine motion compensator according to the motion compensation prediction signal of each affine motion compensation sub-image block a prediction residual signal of the image block; encoding a prediction residual signal for each affine motion compensated sub-picture block.
  • the encoding device 10 further includes:
  • the filtering module 15 is configured to filter a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is one or more rows of pixels located at a boundary of each affine motion compensation sub-image block .
  • the signal of the boundary pixel includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is a sum of the motion compensation prediction signal and the reconstructed residual signal.
  • the encoding device 10 in accordance with an embodiment of the present invention may correspond to the method 1000 of performing video image encoding in an embodiment of the present invention, and that the above and other operations and/or functions of the various modules in the encoding device 10 are respectively implemented for The corresponding processes of the respective methods in FIG. 11 to FIG. 11 are not described herein again for the sake of brevity.
  • the encoding apparatus of the embodiment of the present invention determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, and the affine according to the size
  • the image block is subjected to an encoding process, whereby the sub-image block of an appropriate size can be selected in the encoding process, thereby reducing the complexity of the encoding and improving the encoding performance.
  • the decoding device 20 includes:
  • a first determining module 21 configured to determine a motion vector difference of the affine image block
  • a second determining module 22 configured to determine motion vector accuracy of the affine image block
  • the third determining module 23 is configured to determine, according to the motion vector difference determined by the first determining module 21, the motion vector precision determined by the second determining module 22, and the distance between the control points in the affine image block.
  • the affine motion in the affine image block compensates for the size of the sub-image block, and the control point is a pixel point for determining the motion vector difference;
  • the decoding module 24 is configured to perform decoding processing on the affine image block according to the size of the affine motion compensation sub-image block determined by the third determining module 23.
  • the decoding device determines a motion vector difference of the affine image block according to the determined control point, and determines a motion vector accuracy of the affine image block, according to the determined motion vector difference, the motion vector precision, and the control point
  • the distance is determined by the size of the affine motion compensated sub-image block in the affine image block, and the affine image block is decoded according to the determined size.
  • the decoding apparatus of the embodiment of the present invention passes the motion vector of the determined affine image block. Determining the difference between the motion vector accuracy and the control point, determining the size of the affine motion compensated sub-image block, and decoding the affine image block according to the size of the affine motion compensated sub-image block, thereby decoding In the process, the decoding complexity can be reduced and the decoding performance can be improved by selecting a sub-image block of an appropriate size.
  • the first determining module 21 is specifically configured to: determine the difference of the motion vector according to the difference between the motion vector of the first control point and the second control point located on the same horizontal line. a component; determining a second component of the motion vector difference according to a difference between a motion vector of the third control point and the fourth control point on the same vertical line;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the first determining module 21 is specifically configured to: determine a first horizontal component difference and a first vertical component difference of a motion vector of the first control point and the second control point. a value; determining a maximum value of the first horizontal component difference value and the first vertical component difference value as a first component of the motion vector difference; determining a motion vector of the third control point and the fourth control point a second horizontal component difference value and a second vertical component difference value; the maximum value of the second horizontal component difference value and the second vertical component difference value is determined as a second component of the motion vector difference.
  • the first determining module 21 is specifically configured to: determine an affine transformation parameter of a pixel in the affine image block, where pixels in the affine image block have the same imitation a transformation transform parameter; determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; determining according to the affine transformation parameter and the first vertical distance The second horizontal component difference value and the second vertical component difference value.
  • the first determining module 21 is specifically configured to: determine a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and the a motion vector of the fourth control point; determining a difference between a horizontal component of the motion vector of the first control point and a horizontal component of the motion vector of the second control point as the first horizontal component difference; The difference between the vertical component of the motion vector of the point and the vertical component of the motion vector of the second control point is determined as the first vertical component difference; the horizontal component of the motion vector of the third control point is a difference value of a horizontal component of a motion vector of the fourth control point is determined as the second horizontal component difference value; a vertical component of the motion vector of the third control point and a vertical component of the motion vector of the fourth control point a difference, determined as the second vertical component difference;
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points.
  • the first determining module 21 is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the The third pixel is a pixel point that does not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining the first pixel and the third pixel a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second horizontal distance, the first Determining the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second vertical component by two vertical distances, the third horizontal distance, and the third vertical distance Difference.
  • the third determining module 23 is specifically configured to determine, as the affine, a ratio of a product of the motion vector precision to the first horizontal distance and a first component of the motion vector difference.
  • the length of the horizontal direction of the motion compensated sub-image block; the ratio of the product of the motion vector precision to the first vertical distance to the second component of the motion vector difference is determined as the vertical direction of the affine motion compensated sub-image block length.
  • the third determining module 23 is specifically configured to:
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are the same pixel.
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the second determining module 22 is specifically configured to: determine a third preset value as a motion vector accuracy of the affine image block; or, according to the adjacent image of the affine image block The characteristics of the block determine the motion vector accuracy of the affine image block, which is a spatially and/or temporally adjacent image block that is contiguous with the affine image block.
  • the decoding module 24 is specifically configured to: determine a motion vector of each affine motion compensation sub-image block in the affine motion compensation sub-image block; and compensate each affine motion according to the affine motion compensation a motion vector of the sub-image block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each affine motion compensator according to the motion compensation prediction signal of each affine motion compensation sub-image block a prediction residual signal of the image block; decoding the prediction residual signal of each affine motion compensated sub-picture block.
  • the decoding device 20 further includes:
  • a filtering module 25 configured to filter a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is one or more rows of pixels located at a boundary of each affine motion compensation sub-image block .
  • the signal of the boundary pixel includes a motion compensation prediction signal and/or a reconstruction signal, where the reconstruction signal is a sum of the motion compensation prediction signal and the reconstructed residual signal.
  • the decoding device 20 may correspond to the method 2000 of performing video image decoding in the embodiment of the present invention, and the above and other operations and/or functions of the respective modules in the decoding device 20 are respectively implemented for 12 to the corresponding flow of each method in FIG. 18, for brevity, no further details are provided herein.
  • the decoding apparatus of the embodiment of the present invention determines the size of the affine motion compensation sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, and the affine according to the size
  • the image block is subjected to decoding processing, thereby reducing the decoding complexity and improving the decoding performance by selecting a sub-image block of an appropriate size during the decoding process.
  • an embodiment of the present invention further provides an encoding device 30, including a processor 31, a memory 32, and a bus system 33.
  • the processor 31 and the memory 32 are connected by a bus system 33 for storing instructions for executing the memory. 32 stored instructions.
  • the memory 32 of the encoding device 30 stores the program code, and the processor 31 can call the program code stored in the memory 32 to perform the following operations: determining a motion vector difference of the affine image block; determining a motion vector accuracy of the affine image block; a motion vector difference, the motion vector precision, and a distance between the control points in the affine image block, determining a size of the affine motion compensating sub-image block in the affine image block, the control point being used to determine the motion The pixel of the vector difference; encoding the affine image block according to the size of the affine motion compensated sub-image block.
  • the encoding apparatus of the embodiment of the present invention determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to the affine motion compensator
  • the size of the image block is encoded by the affine image block, thereby reducing the complexity of the encoding and improving the encoding performance by selecting a sub-image block of an appropriate size during the encoding process.
  • the processor 31 may be a central processing unit (“CPU"), and the processor 31 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 32 can include read only memory and random access memory and provides instructions and data to the processor 31. A portion of the memory 32 may also include a non-volatile random access memory. For example, the memory 32 can also store information of the device type.
  • the bus system 33 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as the bus system 33 in the figure.
  • each step of the above method may be completed by an integrated logic circuit of hardware in the processor 31 or an instruction in a form of software.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 32, and the processor 31 reads the information in the memory 32 and, in conjunction with its hardware, performs the steps of the above method. To avoid repetition, here is no longer A detailed description.
  • the processor 31 is specifically configured to: determine, according to a difference between motion vectors of the first control point and the second control point on the same horizontal line, a first component of the motion vector difference; a difference between a motion vector of a third control point and a fourth control point on the same vertical line to determine a second component of the motion vector difference;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the processor 31 is specifically configured to: determine a first horizontal component difference value and a first vertical component difference value of a motion vector of the first control point and the second control point; Determining a maximum value of the first horizontal component difference and the first vertical component difference as a first component of the motion vector difference; determining a second horizontal component of the motion vector of the third control point and the fourth control point a difference value and a second vertical component difference value; determining a maximum value of the second horizontal component difference value and the second vertical component difference value as a second component of the motion vector difference.
  • the processor 31 is specifically configured to: determine an affine transformation parameter of a pixel point in the affine image block, where the pixel points in the affine image block have the same affine transformation parameter; Determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; determining the second level according to the affine transformation parameter and the first vertical distance a component difference value and the second vertical component difference value.
  • the processor 31 is specifically configured to: determine a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and the fourth control point. a motion vector; the difference between the horizontal component of the motion vector of the first control point and the horizontal component of the motion vector of the second control point is determined as the first horizontal component difference; the motion vector of the first control point The difference between the vertical component of the vertical component and the vertical component of the motion vector of the second control point is determined as the first vertical component difference; the horizontal component of the motion vector of the third control point and the fourth control point The difference of the horizontal component of the motion vector is determined as the second horizontal component difference; the difference between the vertical component of the motion vector of the third control point and the vertical component of the motion vector of the fourth control point is determined Is the second vertical component difference value;
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points;
  • the processor 31 is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel a point and the third pixel are pixels that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel and the second pixel; determining the first pixel and the first a third horizontal distance between the three pixel points and a third vertical distance; a motion vector according to the first pixel point, a motion vector of the second pixel point, a motion vector of the third pixel point, and the second horizontal distance Determining the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the second, the second vertical distance, the third horizontal distance, and the third vertical distance Vertical component difference.
  • the processor 31 is specifically configured to determine, as the affine motion compensation sub-image, a ratio of a product of the motion vector precision and the first horizontal distance to a first component of the motion vector difference.
  • the length of the block in the horizontal direction; the ratio of the product of the motion vector precision to the first vertical distance to the second component of the motion vector difference is determined as the length of the affine motion compensated sub-image block in the vertical direction.
  • the processor 31 is specifically configured to:
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are the same pixel.
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the processor 31 is specifically configured to: determine a third preset value as a motion vector accuracy of the affine image block; or, according to the adjacent image of the affine image block The characteristics of the block determine the motion vector accuracy of the affine image block, which is a spatially and/or temporally adjacent image block that is contiguous with the affine image block.
  • the processor 31 is specifically configured to: determine a motion vector of each affine motion compensation sub-image block in the affine motion compensation sub-image block; and compensate the sub-image according to each affine motion compensation image image. a motion vector of the block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each of the affine motion compensation sub-image blocks according to the motion compensation prediction signal of each affine motion compensation sub-image block a prediction residual signal; encoding a prediction residual signal for each affine motion compensated sub-picture block.
  • the processor 31 is further configured to filter a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is located in each affine motion compensator. One or more rows of pixels at the boundary of the image block.
  • the signal of the boundary pixel includes a motion compensated prediction signal and/or a reconstructed signal, where the reconstructed signal is a sum of the motion compensated prediction signal and the reconstructed residual signal.
  • the encoding device 30 may correspond to the encoding device 10 in the embodiment of the present invention, and may correspond to executing respective subjects in the method 1000 according to an embodiment of the present invention, and each of the encoding devices 30
  • the above and other operations and/or functions of the modules are respectively implemented in order to implement the respective processes of the respective methods in FIG. 1 to FIG. 11 , and are not described herein again for brevity.
  • the encoding apparatus of the embodiment of the present invention determines the size of the affine motion compensating sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, according to the affine motion compensator
  • the size of the image block is encoded by the affine image block, thereby reducing the complexity of the encoding and improving the encoding performance by selecting a sub-image block of an appropriate size during the encoding process.
  • an embodiment of the present invention further provides a decoding device 40, which includes a processor 41, a memory 42, and a bus system 43.
  • the processor 41 and the memory 42 are connected by a bus system 43 for storing instructions for executing instructions stored by the memory 42.
  • the memory 42 of the decoding device 40 stores the program code, and the processor 41 can call the program code stored in the memory 42 to perform the following operations: determining a motion vector difference of the affine image block; determining a motion vector accuracy of the affine image block; The motion vector difference, the motion vector precision, and the distance between the control points in the affine image block determine the affine map
  • the affine motion in the block compensates the size of the sub-image block, the control point is a pixel point for determining the motion vector difference; and the affine image block is decoded according to the size of the affine motion compensated sub-image block .
  • the decoding apparatus of the embodiment of the present invention determines the size of the affine motion compensation sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, and the affine according to the size
  • the image block is subjected to decoding processing. Therefore, in the decoding process, the decoding complexity can be reduced and the decoding performance can be improved by selecting a sub-image block of an appropriate size.
  • the processor 41 may be a central processing unit (“CPU"), and the processor 41 may also be other general-purpose processors, digital signal processors (DSPs). , an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, discrete hardware component, and the like.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the memory 42 can include read only memory and random access memory and provides instructions and data to the processor 41.
  • a portion of the memory 42 may also include a non-volatile random access memory.
  • the memory 42 can also store information of the device type.
  • the bus system 43 may include a power bus, a control bus, a status signal bus, and the like in addition to the data bus. However, for clarity of description, various buses are labeled as the bus system 43 in the figure.
  • each step of the above method may be completed by an integrated logic circuit of hardware in the processor 41 or an instruction in a form of software.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented as a hardware processor, or may be performed by a combination of hardware and software modules in the processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 42, and the processor 41 reads the information in the memory 42 and performs the steps of the above method in combination with its hardware. To avoid repetition, it will not be described in detail here.
  • the processor 41 is specifically configured to: determine, according to a difference between motion vectors of the first control point and the second control point on the same horizontal line, a first component of the motion vector difference; Third control point and fourth control point on the same vertical line a difference of the motion vector, determining a second component of the motion vector difference;
  • the first control point and the second control point have a first horizontal distance
  • the third control point and the fourth control point have a first vertical distance
  • the processor 41 is specifically configured to: determine a first horizontal component difference value and a first vertical component difference value of a motion vector of the first control point and the second control point; Determining a maximum value of the first horizontal component difference and the first vertical component difference as a first component of the motion vector difference; determining a second horizontal component of the motion vector of the third control point and the fourth control point a difference value and a second vertical component difference value; determining a maximum value of the second horizontal component difference value and the second vertical component difference value as a second component of the motion vector difference.
  • the processor 41 is specifically configured to: determine an affine transformation parameter of a pixel point in the affine image block, where the pixel points in the affine image block have the same affine transformation parameter; Determining the first horizontal component difference value and the first vertical component difference value according to the affine transformation parameter and the first horizontal distance; determining the second level according to the affine transformation parameter and the first vertical distance a component difference value and the second vertical component difference value.
  • the processor 41 is specifically configured to: determine a motion vector of the first control point, a motion vector of the second control point, a motion vector of the third control point, and the fourth control point. a motion vector; the difference between the horizontal component of the motion vector of the first control point and the horizontal component of the motion vector of the second control point is determined as the first horizontal component difference; the motion vector of the first control point The difference between the vertical component of the vertical component and the vertical component of the motion vector of the second control point is determined as the first vertical component difference; the horizontal component of the motion vector of the third control point and the fourth control point The difference of the horizontal component of the motion vector is determined as the second horizontal component difference; the difference between the vertical component of the motion vector of the third control point and the vertical component of the motion vector of the fourth control point is determined Is the second vertical component difference value;
  • the first control point and the second control point are two adjacent pixel points, and the third control point and the fourth control point are two adjacent pixel points;
  • the processor 41 is specifically configured to: determine a motion vector of the first pixel, a motion vector of the second pixel, and a motion vector of the third pixel, the first pixel, the second pixel, and the third
  • the pixel points are pixel points that do not coincide with each other; determining a second horizontal distance and a second vertical distance between the first pixel point and the second pixel point; determining between the first pixel point and the third pixel point a third horizontal distance and a third vertical distance; a motion vector according to the first pixel, a motion vector of the second pixel, a motion vector of the third pixel, the second Determining the first horizontal component difference, the first vertical component difference, the second horizontal component difference, and the horizontal distance, the second vertical distance, the third horizontal distance, and the third vertical distance The second vertical component difference.
  • the processor 41 is specifically configured to determine, as the affine motion compensation sub-image, a ratio of a product of the motion vector precision and the first horizontal distance to a first component of the motion vector difference.
  • the length of the block in the horizontal direction; the ratio of the product of the motion vector precision to the first vertical distance to the second component of the motion vector difference is determined as the length of the affine motion compensated sub-image block in the vertical direction.
  • the processor 41 is specifically configured to:
  • the ratio of the product of the motion vector precision to the first vertical distance and the second component of the motion vector difference is greater than or equal to the second preset value, determining the ratio as the vertical of the affine motion compensation sub-image block a length of the straight direction, or, when the ratio of the product of the motion vector accuracy to the first vertical distance to the second component of the motion vector difference is less than the second preset value, determining the second preset value as The affine motion compensates for the length of the sub-image block in the vertical direction.
  • the first control point and the third control point are the same pixel.
  • the first control point, the second control point, the third control point, and the fourth control point are vertices of the affine image block.
  • the first preset value is 4, and/or the second preset value is 4.
  • the processor 41 is specifically configured to: determine a third preset value as a motion vector accuracy of the affine image block; or determine according to characteristics of neighboring image blocks of the affine image block.
  • the motion vector accuracy of the affine image block which is a spatially and/or temporally adjacent image block that is contiguous with the affine image block.
  • the processor 41 is specifically configured to: determine a motion vector of each affine motion compensation sub-image block in the affine motion compensation sub-image block; And selecting a motion vector of the motion compensation sub-image block, determining a motion compensation prediction signal of each of the affine motion compensation sub-image blocks; determining each affine according to the motion compensation prediction signal of each affine motion compensation sub-image block A prediction residual signal of the motion compensated sub-picture block; the prediction residual signal of each affine motion compensated sub-picture block is decoded.
  • the processor 41 is further configured to filter a signal of a boundary pixel point of each affine motion compensation sub-image block, where the boundary pixel point is located in each affine motion compensator.
  • the boundary pixel point is located in each affine motion compensator.
  • the signal of the boundary pixel includes a motion compensated prediction signal and/or a reconstructed signal, where the reconstructed signal is a sum of the motion compensated prediction signal and the reconstructed residual signal.
  • the decoding device 40 may correspond to the decoding device 20 in the embodiment of the present invention, and may correspond to executing respective subjects in the method 2000 according to an embodiment of the present invention, and each of the decoding devices 40
  • the above and other operations and/or functions of the modules are respectively implemented in order to implement the respective processes of the respective methods in FIG. 12 to FIG. 18, and are not described herein again for brevity.
  • the decoding apparatus of the embodiment of the present invention determines the size of the affine motion compensation sub-image block by determining the motion vector difference of the affine image block, the motion vector precision, and the distance between the control points, and the affine according to the size
  • the image block is subjected to decoding processing. Therefore, in the decoding process, the decoding complexity can be reduced and the decoding performance can be improved by selecting a sub-image block of an appropriate size.
  • system and “network” are used interchangeably herein. It should be understood that the term “and/or” herein is merely an association relationship describing an associated object, indicating that there may be three relationships, for example, A and/or B, which may indicate that A exists separately, while A and B, there are three cases of B alone. In addition, the character “/" in this article generally indicates that the contextual object is an "or" relationship.
  • B corresponding to A means that B is associated with A, and B can be determined from 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 invention 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.
  • the integrated unit is implemented as a software functional unit and sold as a standalone product Or when used, it can be stored in a computer readable storage medium.
  • the technical solution of the present invention which is essential or contributes to the prior art, or a part of the technical solution, may be embodied in the form of a software product, which is stored in a storage medium, including
  • the instructions are used to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a disk or a CD.
  • ROM Read-Only Memory
  • RAM Random Access Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明提供了一种视频图像编码和解码的方法、编码设备和解码设备。该方法包括:确定仿射图像块的运动矢量差异;确定该仿射图像块的运动矢量精度;根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;根据该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。由此,能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。

Description

视频图像编码和解码的方法、编码设备和解码设备
本申请要求于2015年5月15日提交中国专利局、申请号为201510249484.8、发明名称为“视频图像编码和解码的方法、编码设备和解码设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本发明涉及视频图像处理领域,尤其涉及视频图像编码和解码的方法、编码设备和解码设备。
背景技术
随着互联网科技的迅猛发展以及人们物质精神文化的日益丰富,在互联网中针对视频的应用需求尤其是针对高清视频的应用需求越来越多,而高清视频的数据量非常大,要想高清视频能在带宽有限的互联网中传输,必须首先解决的问题就是高清视频压缩编码问题。目前,国际上有两个国际组织专门进行视频编码标准的制定工作,即国际标准化组织(International Organization for Standardization,简称为“ISO”)/国际电工委员会(International Electrotechnical Commission,简称为“IEC”)下的运动图像专家组(Motion Picture Experts Group,简称为“MPEG”)和国际电信联盟电信标准化组(International Telecommunication Union-Telecommunication standardization sector,简称为“ITU-T”)的视频编码专家组(Video Coding Experts Group,简称为“VCEG”)。成立于1986年的MPEG专门负责制定多媒体领域内的相关标准,主要应用于存储、广播电视、因特网或无线网上的流媒体等。ITU-T则主要制定面向实时视频通信领域的视频编码标准,如视频电话、视频会议等应用。
在过去的几十年里,国际上已经成功制定了面向各种应用的视频编码标准,主要包括:用于影音光碟(Video Compact Disc,简称为“VCD”)的MPEG-1标准,用于竖直多功能光盘(Digital Video Disc,简称为“DVD”)和数字视频广播(Digital Video Broadcasting,简称为“DVB”)的MPEG-2标准,用于视频会议的H.261标准以及H.263标准、H.264标准,允许对任意形状的对象编码的MPEG-4标准,以及最新的高性能视频编码(High  Efficiency Video Coding,简称为“HEVC”)标准。
相比于最新的视频编码标准HEVC,对于包含旋转、缩放运动的序列,基于线性变化的运动矢量场的运动补偿预测技术可以显著提高编码性能,在现有的基于仿射变换的运动补偿预测技术中,在获得图像块的仿射变换参数后,要计算图像块内每个点的运动矢量,根据每个点的运动矢量做运动补偿预测,从而获取每个点的运动补偿预测信号。由于图像块内每个点的运动矢量都可能不同,需要根据运动矢量为每个点进行不同的操作。基于点的运动补偿预测复杂度很高,为了降低编解码的复杂度,相关技术尝试在图像块内再划分子图像块,求得每个子图像块的运动矢量,再获得每个子图像块的运动补偿预测信号。
但是,相关技术中的子图像块的大小是固定的,子图像块过小会导致较高的编解码的复杂度,子图像块过大会降低编解码性能。
发明内容
本发明提供了一种视频图像编码和解码的方法、编码设备和解码设备,可以通过选取合适大小的子图像块,降低编解码的复杂度,提升编解码性能。
第一方面,提供了一种视频图像编码的方法,包括:确定仿射图像块的运动矢量差异;确定该仿射图像块的运动矢量精度;根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;根据该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。
结合第一方面,在第一方面的第一种可能的实现方式中,该确定仿射图像块的运动矢量差异,包括:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,该根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量,包括:确定该第一控制点与该第 二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;
其中,该根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量,包括:确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;
其中,该确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
结合第一方面的第二种可能的实现方式,在第一方面的第四种可能的实现方式中,该方法还包括:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;
其中,该确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
结合第一方面的第二种可能的实现方式,在第一方面的第五种可能的实 现方式中,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;该确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
结合第一方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第一方面的第六种可能的实现方式中,该根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第一方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第一方面的第七种可能的实现方式中,该根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,包括:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图 像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第一方面的第一种至第七种可能的实现方式中任一可能的实现方式,在第一方面的第八种可能的实现方式中,该第一控制点与该第三控制点为同一个像素点。
结合第一方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第一方面的第九种可能的实现方式中,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
结合第一方面的第七种可能的实现方式,在第一方面的第十种可能的实现方式中,该第一预设值为4,和/或,该第二预设值为4。
结合第一方面,第一方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第一方面的第十一种可能的实现方式中,该确定该仿射图像块的运动矢量精度,包括:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
结合第一方面,第一方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第一方面的第十二种可能的实现方式中,该根据该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理,包括:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行编码。
结合第一方面的第十二种可能的实现方式,在第一方面的第十三种可能的实现方式中,该方法还包括:对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
结合第一方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,该边界像素点的信号包括运动补偿预测信号和/或重建信号, 该重建信号为运动补偿预测信号与重建的残差信号之和。
第二方面,提供了一种视频图像解码的方法,包括:确定仿射图像块的运动矢量差异;确定该仿射图像块的运动矢量精度;根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
结合第二方面,在第二方面的第一种可能的实现方式中,该确定仿射图像块的运动矢量差异,包括:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
结合第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,该根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量,包括:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;
其中,该根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量,包括:确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,该方法还包括:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;
其中,该确定该第三控制点与该第四控制点的运动矢量的第二水平分量 差值和第二竖直分量差值,包括:根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
结合第二方面的第二种可能的实现方式,在第二方面的第四种可能的实现方式中,该方法还包括:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;
其中,该确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
结合第二方面的第二种可能的实现方式,在第二方面的第五种可能的实现方式中,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;该确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
结合第二方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第二方面的第六种可能的实现方式中,该根据该运动矢量差异、该运 动矢量精度和该仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第二方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第二方面的第七种可能的实现方式中,该根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,包括:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第二方面的第一种至第七种可能的实现方式中任一可能的实现方式,在第二方面的第八种可能的实现方式中,该第一控制点与该第三控制点为同一个像素点。
结合第二方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第二方面的第九种可能的实现方式中,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
结合第二方面的第七种可能的实现方式,在第二方面的第十种可能的实现方式中,该第一预设值为4,和/或,该第二预设值为4。
结合第二方面,第二方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第二方面的第十一种可能的实现方式中,该确定该仿射图像块的运动矢量精度,包括:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢 量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
结合第二方面,第二方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第二方面的第十二种可能的实现方式中,该根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理,包括:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行解码。
结合第二方面的第十二种可能的实现方式,在第二方面的第十三种可能的实现方式中,该方法还包括:对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
结合第二方面的第十三种可能的实现方式,在第二方面的第十四种可能的实现方式中,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
第三方面,提供了一种编码设备,包括:第一确定模块,用于确定仿射图像块的运动矢量差异;第二确定模块,用于确定该仿射图像块的运动矢量精度;第三确定模块,用于根据该第一确定模块确定的该运动矢量差异、该第二确定模块确定的该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;编码模块,用于根据该第三确定模块确定的该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。
结合第三方面,在第三方面的第一种可能的实现方式中,该第一确定模块具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实 现方式中,该第一确定模块具体用于:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,该第一确定模块具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
结合第三方面的第二种可能的实现方式,在第三方面的第四种可能的实现方式中,该第一确定模块具体用于:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
结合第三方面的第二种可能的实现方式,在第三方面的第五种可能的实现方式中,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该第一确定模块具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直 距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
结合第三方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第三方面的第六种可能的实现方式中,该第三确定模块具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第三方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第三方面的第七种可能的实现方式中,该第三确定模块具体用于:在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第三方面的第一种至第七种可能的实现方式中任一可能的实现方式,在第三方面的第八种可能的实现方式中,该第一控制点与该第三控制点为同一个像素点。
结合第三方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第三方面的第九种可能的实现方式中,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
结合第三方面的第七种可能的实现方式,在第三方面的第十种可能的实现方式中,该第一预设值为4,和/或,该第二预设值为4。
结合第三方面,第三方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第三方面的第十一种可能的实现方式中,该第二确定模块具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿 射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
结合第三方面,第三方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第三方面的第十二种可能的实现方式中,该编码模块具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行编码。
结合第三方面的第十二种可能的实现方式,在第三方面的第十三种可能的实现方式中,该编码设备还包括:滤波模块,用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
结合第三方面的第十三种可能的实现方式,在第一方面的第十四种可能的实现方式中,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
第四方面,提供了一种解码设备,包括:第一确定模块,用于确定仿射图像块的运动矢量差异;第二确定模块,用于确定该仿射图像块的运动矢量精度;第三确定模块,用于根据该第一确定模块确定的该运动矢量差异、该第二确定模块确定的该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;解码模块,用于根据该第三确定模块确定的该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
结合第四方面,在第四方面的第一种可能的实现方式中,该第一确定模块具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
结合第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,该第一确定模块具体用于:确定该第一控制点与该第二控制点的 运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
结合第四方面的第二种可能的实现方式,在第四方面的第三种可能的实现方式中,该第一确定模块具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
结合第四方面的第二种可能的实现方式,在第四方面的第四种可能的实现方式中,该第一确定模块具体用于确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
结合第四方面的第二种可能的实现方式,在第四方面的第五种可能的实现方式中,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该第一确定模块具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第 一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
结合第四方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第四方面的第六种可能的实现方式中,该第三确定模块具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第四方面的第三种至第五种可能的实现方式中任一可能的实现方式,在第四方面的第七种可能的实现方式中,该第三确定模块具体用于:在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
结合第四方面的第一种至第七种可能的实现方式中任一可能的实现方式,在第四方面的第八种可能的实现方式中,该第一控制点与该第三控制点为同一个像素点。
结合第四方面的第一种至第八种可能的实现方式中任一可能的实现方式,在第四方面的第九种可能的实现方式中,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
结合第四方面的第七种可能的实现方式,在第四方面的第十种可能的实现方式中,该第一预设值为4,和/或,该第二预设值为4。
结合第四方面,第四方面的第一种至第十种可能的实现方式中任一可能的实现方式,在第四方面的第十一种可能的实现方式中,该第二确定模块具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图 像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
结合第四方面,第四方面的第一种至第十一种可能的实现方式中任一可能的实现方式,在第四方面的第十二种可能的实现方式中,该解码模块具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行解码。
结合第四方面的第十二种可能的实现方式,在第四方面的第十三种可能的实现方式中,该解码设备还包括:滤波模块,用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
结合第四方面的第十三种可能的实现方式,在第四方面的第十四种可能的实现方式中,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
基于上述技术方案,本发明实施例的视频图像编码和解码的方法、编码设备和解码设备,根据仿射图像块的运动矢量差异、仿射图像块的运动矢量精度和仿射图像块中的控制点之间的距离,确定仿射图像块中的仿射运动补偿子图像块的大小,由此,在编解码过程中能够通过选取合适大小的子图像块,降低编解码的复杂度,提升编解码性能。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的视频图像编码的方法的示意性流程图;
图2是根据本发明实施例的视频图像编码的方法的另一示意性流程图;
图3是根据本发明实施例的视频图像编码的方法的再一示意性流程图;
图4是根据本发明实施例的视频图像编码的方法的再一示意性流程图;
图5是根据本发明实施例的仿射图像块及控制点的示意图;
图6是根据本发明实施例的仿射图像块中三个不重合像素点的示意图;
图7是根据本发明实施例的仿射图像块的另一示意图;
图8是根据本发明实施例的视频图像编码的方法的再一示意性流程图;
图9是根据本发明实施例的视频图像编码的方法的再一示意性流程图;
图10是根据本发明实施例的视频图像编码的方法的再一示意性流程图;
图11是根据本发明实施例的仿射图像块的再一示意图;
图12是根据本发明实施例的视频图像解码的方法的示意性流程图;
图13是根据本发明实施例的视频图像解码的方法的另一示意性流程图;
图14是根据本发明实施例的视频图像解码的方法的再一示意性流程图;
图15是根据本发明实施例的视频图像解码的方法的再一示意性流程图;
图16是根据本发明实施例的视频图像解码的方法的再一示意性流程图;
图17是根据本发明实施例的视频图像解码的方法的再一示意性流程图;
图18是根据本发明实施例的视频图像解码的方法的再一示意性流程图;
图19是根据本发明实施例的编码设备的示意性框图;
图20是根据本发明实施例的编码设备的另一示意性框图;
图21是根据本发明实施例的解码设备的示意性框图;
图22是根据本发明实施例的解码设备的另一示意性框图;
图23是根据本发明另一实施例的编码设备的示意性框图;
图24是根据本发明另一实施例的解码设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1示出了根据本发明实施例的视频图像编码的方法的示意性流程图。图1所示的方法可以由编码设备执行,例如编码器,具体地,如图1所示,方法1000包括:
S1100,确定仿射图像块的运动矢量差异;
S1200,确定该仿射图像块的运动矢量精度;
S1300,根据该运动矢量差异、该运动矢量精度和该仿射图像块中的 控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;
S1400,根据该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。
具体而言,编码设备根据确定的控制点,确定仿射图像块的运动矢量差异,并确定该仿射图像块的运动矢量精度,根据确定的运动矢量差异、运动矢量精度和控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行编码处理。
因此,本发明实施例的视频图像编码的方法,编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
应理解,在本发明实施例中,该仿射图像(Affine)块为图像块内所有单元的运动矢量符合相同的仿射模型,例如,同一个仿射模型,并可以用相同的参数,例如同一组参数来表示的图像块。其中单元是指一组像素,例如,可以是一个像素点,也可以是1×3,2×4等的块结构,本发明对此不作限定。
应理解,在本发明实施例中,仿射运动补偿子图像(Affine Motion Compensation,简称为“Affine-MC”)块为Affine块内部划分出来的用来做运动补偿预测的子图像块,每个Affine-MC块的大小可以相同也可以不同,本发明对此不作限定。
还应理解,在本发明实施例中,可以选择任意不重合的像素点作为控制点来确定Affine块的运动矢量差异,本发明对此不作限定。
优选地,如图2所示,S1100包括:
S1101,根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;
S1102,根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第 三控制点与该第四控制点之间具有第一竖直距离。
应理解,在本发明实施例中,该运动矢量差异的第一分量指该运动矢量差异的水平分量,该运动矢量差异的第二分量指该运动矢量差异的竖直分量。
还应理解,在本发明实施例中,第一、第二、第三和第四只是为了区分像素点,而不应该对本发明的保护范围构成任何限定,例如,第一控制点也可以称为第二控制点,第二控制点可以成为第一控制点等。
在本发明实施例中,可选地,该第一控制点和该第三控制点为同一个像素点,也就是说,选取的控制点的个数为3个,并且3个控制点中的一个控制点与其他2个控制点中的一个控制点位于同一水平线上,与其他2个控制点中的另一个控制点位于同一竖直线上。
在本发明实施例中,可选地,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该Affine块的顶点,假设一个Affine块的4个顶点分别标记为左上角顶点、左下角顶点、右上角顶点和右下角顶点,可以选择位于两个正交方向上的任意三个顶点来确定该Affine块的运动矢量差异,例如,可以选择左上角顶点、左下角顶点和右上角顶点,可以选择左上角顶点、右上角顶点和右下角顶点,本发明对此不作限定。
在本发明实施例中,可选地,可以将第一控制点与第二控制点的运动矢量的两个方向上的分量中任意一个方向上的分量的差值确定为该Affine块的运动矢量差异的第一分量,可以将第三控制点与第四控制点的运动矢量的两个方向上的分量中任意一个方向上的分量的差值确定为该Affine块的运动矢量差异的第二分量;还可以根据实际对编码复杂度和编码性能的要求,选择介于第一控制点与第二控制点的运动矢量的两个方向上的分量的两个差值之间的数值确定为该第一分量,选择介于第三控制点与第四控制点的运动矢量的两个方向上的分量的两个差值之间的数值确定为该第二分量,本发明对此不作限定。
可选地,如图3所示,S1101具体包括:
S1103,确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
S1104,将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;
相应的,如图4所示,S1102具体包括:
S1105,确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
S1106,将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
也就是说,如果用vx(x,y)和vy(x,y)表示位置为(x,y)的像素点的运动矢量的水平分量和竖直分量,则可以根据公式(1)和(2)确定Affine块的运动矢量差异:
Δmvhor=max(vx(x+w,y)-vx(x,y),vy(x+w,y)-vyx,y)    (1)
Δmvver=max(vx(x',y'+h)-vx(x',y'),vy(x',y'+h)-vy(x',y'))    (2)
其中,max表示取最大值,Δmvhor表示Affine块的运动矢量差异的水平分量,Δmvver表示Affine块的运动矢量差异的竖直分量,w表示第一控制点与第二控制点的第一水平距离,h表示第三控制点与第四控制点的第一竖直距离。
在本发明实施例中,可选地,可以确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;
相应地,S1103具体为:根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;
S1105具体为:根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在本发明实施例中,可选地,仿射变换模型可以采用现有技术中的6参数仿射变换模型,也可以采用4参数或2参数仿射变换模型,在6参数仿射变换模型中,假设(x,y)为像素点P在当前图像中的坐标,(x′,y′)为像素点P在参考图像中匹配的像素点P'的坐标,a,b,c,d,e,f为仿射变换参数。若已知仿射变换参数,即可求得像素点(x,y)在参考图像中的位置(x′,y′),从而可以从参考图像中获得像素点的预测信号:
x′=ax+by+e    (3)
y′=cx+dy+f    (4)
通常情况下,仿射变换参数可以根据图像块中部分像素点的运动矢量计算得到,运动矢量的水平分量和竖直分量可分别表示为公式(5)和(6):
vx=x-x'    (5)
vy=y-y'    (6)
将公式(3)带入公式(5)中,将公式(4)带入公式(6)中,得到坐标为(x,y)的像素点的运动矢量的水平分量和竖直分量分别为公式(7)和(8):
vx=(1-a)x-by-e    (7)
vy=(1-d)y-cx-f    (8)
将公式(7)带入公式(1)中,将公式(8)带入公式(2)中,公式(1)和(2)分别转变为公式(9)和(10):
Δmvhor=max((1-a)w,-cw)    (9)
Δmvver=max(-bh,(1-d)h)    (10)
通过确定仿射变换参数a、b、c和d,以及控制点之间的距离就可以确定Affine块的运动矢量差异的第一分量和第二分量。
应理解,在采用4参数仿射变换模型或2参数仿射变换模型时,确定运动矢量差异的方法和采用6参数仿射变换模型时的确定方法本质上是相同的,为了简便,在此不再赘述。
在本发明实施例中,可选地,在编码过程中,仿射变换参数可以通过对各个系数进行迭代计算得到,比如将系数a加1,判断在该模型下运动补偿预测信号是否是最优。仿射变换参数也可以是根据邻近Affine块的仿射变换系数推导得到的。但本发明并不限于此。
在本发明实施例中,可选地,可以确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;
相应地,S1103具体为:将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;
S1105具体为:将该第三控制点的运动矢量的水平分量与该第四控制 点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
具体而言,可以直接确定出控制点的运动矢量,通过将运动矢量的各分量分别作差,就可以直接得到Affine块的运动矢量差异的第一分量和第二分量。
例如,图5是根据本发明实施例的仿射图像块及控制点的示意图。其中两个控制点A和B在同一水平线上,距离为w,两个控制点C和D在同一竖直线上,距离为h,如果已知控制点A、B、C和D点的运动矢量,则可以根据公式(11)和(12)确定Affine块的运动矢量差异的第一分量和第二分量:
Δmvhor=max(vxB-vxA,vyB-vyA)    (11)
Δmvver=max(vxC-vxD,vyC-vyD)    (12)
在本发明实施例中,可选地,控制点A和C可以为同一个像素点。
在本发明实施例中,可选地,控制点A、B、C和D可以为Affine块的顶点,此时,控制点A和B的距离为Affine块的宽度W,控制点C和D的间距为Affine块的高度H。
在本发明实施例中,可选地,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该S1103和S1105具体为:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
具体而言,假设A、B和C是图像块中任意互相不重合的三个像素点,三个像素点的位置如图6所示,三个点的运动矢量分别为(vxA,vyA)、(vxB,vyB)和(vxC,vyC)。点A与点B在水平方向的距离是w1,竖直方向的距 离是h1,点A与点C在水平方向的距离是w2,竖直方向的距离是h2,点B与点C的在水平方向的距离为w2-w1,竖直方向的距离是h1+h2。假设在水平方向上相邻的两个像素点的运动矢量在水平方向的各分量的差异分别为Δmvxhor和Δmvyhor,在竖直方向上相邻的两个像素点的运动矢量在竖直方向的各分量的差异分别为Δmvxver和Δmvyver,由于图像块内运动矢量是线性变化的,则可以通过确定A、B和C点的运动矢量确定Δmvxhor、Δmvyhor、Δmvxver和Δmvyver,从而可以确定图像块的相邻像素点的运动矢量差异。具体可以根据公式(13)~(16)确定:
vxB=vxA+w1·Δmvxhor+h1·Δmvxver    (13)
vyB=vyA+w1·Δmvyhor+h1·Δmvyver    (14)
vxC=vxA+w2·Δmvxhor+h2·Δmvxver    (15)
vyC=vyA+w2·Δmvyhor+h2·Δmvyver    (16)
还可以根据公式(13)和(14)以及公式(17)和(18)确定:
vxC=vxB+(w2-w1)·Δmvxhor+(h2+h1)·Δmvxver    (17)
vyC=vyB+(w2-w1)·Δmvyhor+(h2+h1)·Δmvyver    (18)
在本发明实施例中,可选地,编码设备可以从通过运动估计搜索得到所有控制点的运动矢量;可以从周围图像块获得所有控制点的运动矢量;可以根据仿射变换模型计算出所有控制点的运动矢量;可以通过运动估计搜索得到部分控制点的运动矢量,从邻近图像块获得其他控制点的运动矢量;可以通过仿射运动估计搜索得到部分控制点的运动矢量,根据仿射变换模型计算得到其他控制点的运动矢量;可以从邻近图像块获得部分控制点的运动矢量,根据仿射变换模型计算出其他控制点的运动矢量;但本发明并不限于此。
可选地,在S1200中,可以将第三预设值确定为该仿射图像块的运动矢量精度;或根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
具体而言,Affine块的运动矢量的值可以是整数,此时称运动矢量是整像素精度,即像素精度为1;运动矢量的值也可以是非整数的,此时称运动矢量是亚像素精度,包括1/2、1/4、1/8等精度。图7所示的是一个4×4的图像块,其中×表示的是整像素位置的像素,采集得到的图像只有 整像素位置的像素。O表示的是1/2精度位置的像素,需要通过整像素位置的像素进行插值来得到。其他精度位置的像素值需要使用整像素精度像素或1/2精度像素进一步插值来获得。若当前像素点的运动矢量是整数,则指向参考图像中×所在的位置,若当前像素点的运动矢量是1/2精度,则指向参考图像中O所在的位置。
Affine块的运动矢量精度指Affine块内所有像素点的运动矢量的最高精度。Affine块的运动矢量精度可以是预先设定好的,例如整像素精度、1/2、1/4、1/8、1/16等精度。也可以是根据图Affine块邻近图像块的特性来确定,例如若周围的图像较为平滑,可以预测当前Affine块也较为平滑,则可以选用较高的运动矢量精度,例如1/8、1/16精度等,反之选用较低的运动矢量精度,例如整像素精度、1/2精度等。获得的精度用MvAc来表示。
可选地,如图8所示,S1300具体包括:
S1301,将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;
S1302,将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
具体而言,通常获得的运动矢量差异Δmvhor和Δmvver较小,表示每个像素点的运动矢量的精度过高,例如1/32,1/64等。过高的运动矢量精度对视频的压缩性能贡献不大,且会带来巨大的计算量。因此,根据之前获得的期望的运动矢量精度MvAc,来对Affine块进行划分,划分成多个Affine-MC块,保证每个Affine-MC块的运动矢量精度达到MvAc。
在本发明实施例中,可选地,假设第一控制点与第二控制点之间的水平距离为w,第三控制点与第四控制点之间的竖直距离为h,假设Affine-MC块的宽度为aMcW,高度为aMcH,则可以根据公式(19)确定aMcW和aMcH:
Figure PCTCN2016077784-appb-000001
等同于:
Figure PCTCN2016077784-appb-000002
在本发明实施中,可选地,在该第一控制点、该第二控制点、该第三控制点和该第四控制点为Affine块的顶点时,该第一控制点与该第二控制点之间的水平距离为Affine块的宽度W,该第三控制点与该第四控制点之间的竖直距离为Affine块的高度H。则Affine-MC块的宽度aMcW和高度aMcH,可以根据公式(20)确定:
Figure PCTCN2016077784-appb-000003
等同于:
Figure PCTCN2016077784-appb-000004
在本发明实施例中,可选地,在该第一控制点与该第二控制点为相邻的控制点,该第三控制点与该第四控制点为相邻的控制点时,该第一控制点与该第二控制点之间的第一水平距离为1,即第一控制点与第二控制点之间间隔一个整数的像素间隔;该第三控制点与该第四控制点之间的第一竖直距离为1,即第三控制点与第四控制点之间间隔一个整数的像素间隔。则公式(19)可以简化为公式(21):
Figure PCTCN2016077784-appb-000005
等同于:
Figure PCTCN2016077784-appb-000006
因此,本发明实施例的视频图像编码的方法,编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,在保持仿射变换运动补偿预测性能的前提下,降低编码的复杂度,提高编码性能。
可选地,如图9所示,S1300包括:
S1303,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
S1304,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
具体而言,为了编码过程中的硬件实现,可以对Affine-MC块的宽度和高度设置一个下限值,在计算出的宽度或高度小于该预设的下限值时,将该预设的下限值确定为Affine-MC块的宽度或高度,优选地,可以将该下限值均设定为4,但也可以根据实际需要设置为其他数值,例如,可以将宽度的下限值设定为2,高度的设定值设定为3,或者宽度的下限值设定为1,高度的设定值设定为2,本发明对此不作限定。
可选地,如图10所示,S1400包括:
S1401,确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
S1402,根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;
S1403,根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;
S1404,对该每个仿射运动补偿子图像块的预测残差信号进行编码。
应理解,在本发明实施例中,每个Affine-MC块可能包含多个像素点,需要从每个Affine-MC中选取一个像素点的运动矢量作为该Affine-MC块的运动矢量。
可选地,在S1401中,可以选取Affine-MC块的中心位置处的像素点的运动矢量作为该Affine-MC块的运动矢量,可以将Affine-MC块内所有像素点的运动矢量的平均值作为该Affine-MC块的运动矢量,可以选取位于Affine-MC块的左上角的像素点的运动矢量作为该Affine-MC块的运动矢量,但本发明并不限于此。
在本发明实施例中,可选地,对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
在本发明实施例中,可选地,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
具体而言,如图11所示,粗实线块表示Affine块,细实线块表示Affine-MC块,虚线框表示相邻的Affine-MC块的边界的像素,交叉点表示像素。其中,图11中虚线框的区域包含相邻Affine-MC块各自在边界的两行或者两列像素,也可以包含各自边界的一行或一列,三行或三列等。由于相邻的Affine-MC块的运动矢量可能不同,那么从参考图像中取得的预测信号在参考图像中不相邻,这会导致相邻Affine-MC块边界的预测信号之间的不连续,从而导致残差的不连续,影响残差的编码性能,因此考虑对Affine-MC块边界处的运动补偿预测信号进行滤波。
重建信号一般是将运动补偿预测信号与重建的残差信号相加而得到。残差信号一般使用有损编码,这会导致重建的残差信号与原始的残差信号之间存在失真。相邻Affine-MC块的边界处的像素的失真方向可能不一致,例如第一个Affine-MC块右边的像素由于失真变大,右边相邻的Affine-MC块左边的像素由于失真变小,这会导致在Affine-MC块的重建像素的边界处像素值不连续,影响主观和客观的效果。因此需要对重建信号进行滤波。
在本发明实施例中,可选地,可以通过低通滤波器进行滤波,使得边界区域的像素值变化的更平缓,例如使用高斯滤波器进行滤波,但本发明并不限于此。
在本发明实施例中,可选地,可以采用重叠分块运动补偿(Overlapped block motion compensation,简称为“OBMC”方法进行滤波。对待滤波的像素使用其邻近的Affine-MC块的运动矢量做运动补偿预测,将获得的运动补偿预测信号与使用待滤波像素自己的运动矢量获得的运动补偿预测信号进行加权平均,得到最终的运动补偿预测信号。
为了更好的证明本发明实施例相对于现有技术的有益效果,采用LDP测试结构测试了采用本发明实施例的方法和现有技术中的方法进行 编码时的编码复杂度和编码性能,结果如表1所示:
表1
Figure PCTCN2016077784-appb-000007
通过表1可以看写出,采用本发明实施例的视频图像编码的方法,能够提升编码性能,节约编码时间。
因此,本发明实施例的视频图像编码的方法,编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
以上结合图1至图11详细描述了根据本发明实施例的视频图像编码的方法,下面将结合图12至图18详细描述根据本发明实施例的视频图像解码的方法。应注意,解码端的有关操作本质上与编码端的一致,为了避免重复,在此不再赘述。
图12示出了根据本发明实施例的视频图像解码的方法的示意性流程图。图12所示的方法可以由解码设备执行,例如解码器,具体地,如图12所示,方法2000包括:
S2100,确定仿射图像块的运动矢量差异;
S2200,确定该仿射图像块的运动矢量精度;
S2300,根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;
S2400,根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
具体而言,解码设备根据确定的控制点,确定仿射图像块的运动矢量差异,并确定该仿射图像块的运动矢量精度,根据确定的运动矢量差异、运动矢量精度和控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行解码处理。
因此,本发明实施例的视频图像解码的方法,解码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行解码处理。由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
优选地,如图13所示,S2100包括:
S2101,根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;
S2102,根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
应理解,在本发明实施例中,该运动矢量差异的第一分量指该运动矢量差异的水平分量,该运动矢量差异的第二分量指该运动矢量差异的竖直分量。
可选地,如图14所示,S2101具体包括:
S2103,确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
S2104,将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;
相应的,如图15所示,S2102具体包括:
S2105,确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
S2106,将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
在本发明实施例中,可选地,可以确定该仿射图像块内的像素点的 仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;
相应地,S2103具体为:根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;
S2105具体为:根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,可以确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;
相应地,S2103具体为:将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;
S2105具体为:将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值。
在本发明实施例中,可选地,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该S2103和S2105具体为:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,解码设备可以从码流中解析得到所有控制点的运动矢量;可以从周围图像块获得所有控制点的运动矢量;可以根据仿射变换模型计算出所有控制点的运动矢量;可以从码流中解析得到部分控制点的运动矢量,从邻近图像块获得其他控制点的运动矢量; 可以码流中解析得到部分控制点的运动矢量,根据仿射变换模型计算得到其他控制点的运动矢量;可以从邻近图像块获得部分控制点的运动矢量,根据仿射变换模型计算出其他控制点的运动矢量;但本发明并不限于此。
可选地,在S2200中,可以将第三预设值确定为该仿射图像块的运动矢量精度;或根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
可选地,如图16所示,S2300具体包括:
S2301,将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;
S2302,将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,如图17所示,S2300包括:
S2303,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的水平分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
S2304,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的竖直分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的竖直分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,如图18所示,S2400包括:
S2401,确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
S2402,根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;
S2403,根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;
S2404,对该每个仿射运动补偿子图像块的预测残差信号进行解码。
在本发明实施例中,可选地,对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
在本发明实施例中,可选地,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。因此,本发明实施例的视频图像解码的方法,解码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行解码处理。由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
可选地,本发明中解码方法也可以是:
解析码流,以获取仿射图像块的运动矢量差异以及该仿射图像块的运动矢量精度,其中,该仿射图像块内的像素点具有相同的仿射变换参数;
根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;
根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
或者;
解析码流,获取仿射图像块信息;
根据该仿射图像块信息确定该仿射图像块中的仿射运动补偿子图像块的大小;
根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
通过这种方式解码端可以无需重新计算,而直接用编码端传至解码 端的参数来确定仿射运动补偿子图像块的大小,从而进一步降低计算的复杂度。
下面将结合图19和图20详细描述本发明实施例的编码设备。如图19所示,该编码设备10包括:
第一确定模块11,用于确定仿射图像块的运动矢量差异;
第二确定模块12,用于确定该仿射图像块的运动矢量精度;
第三确定模块13,用于根据该第一确定模块11确定的该运动矢量差异、该第二确定模块12确定的该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;
编码模块14,用于根据该第三确定模块13确定的该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。
具体而言,编码设备根据确定的控制点,确定仿射图像块的运动矢量差异,并确定该仿射图像块的运动矢量精度,根据确定的运动矢量差异、运动矢量精度和控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行编码处理。
因此,本发明实施例的编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
在本发明实施例中,可选地,该第一确定模块11具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
在本发明实施例中,可选地,该第一确定模块11具体用于:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确 定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
在本发明实施例中,可选地,该第一确定模块11具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,该第一确定模块11具体用于:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值;
在本发明实施例中,可选地,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该第一确定模块11具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,该第三确定模块13具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比 值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
在本发明实施例中,可选地,该第三确定模块13具体用于:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
在本发明实施例中,可选地,该第一控制点与该第三控制点为同一个像素点。
在本发明实施例中,可选地,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
在本发明实施例中,可选地,该第一预设值为4,和/或,该第二预设值为4。
在本发明实施例中,可选地,该第二确定模块12具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
在本发明实施例中,可选地,该编码模块14具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行编码。
在本发明实施例中,可选地,如图20所示,该编码设备10还包括:
滤波模块15,用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
在本发明实施例中,可选地,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
应理解,根据本发明实施例的编码设备10可对应于执行本发明实施例中的视频图像编码的方法1000,并且编码设备10中的各个模块的上述和其它操作和/或功能分别为了实现图1至图11中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
下面将结合图21和图22详细描述本发明实施例的解码设备。如图21所示,该解码设备20包括:
第一确定模块21,用于确定仿射图像块的运动矢量差异;
第二确定模块22,用于确定该仿射图像块的运动矢量精度;
第三确定模块23,用于根据该第一确定模块21确定的该运动矢量差异、该第二确定模块22确定的该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;
解码模块24,用于根据该第三确定模块23确定的该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
具体而言,解码设备根据确定的控制点,确定仿射图像块的运动矢量差异,并确定该仿射图像块的运动矢量精度,根据确定的运动矢量差异、运动矢量精度和控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,根据确定的该大小,对该仿射图像块进行解码处理。
因此,本发明实施例的解码设备通过确定的仿射图像块的运动矢量 差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行解码处理,由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
在本发明实施例中,可选地,该第一确定模块21具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
在本发明实施例中,可选地,该第一确定模块21具体用于:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
在本发明实施例中,可选地,该第一确定模块21具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,该第一确定模块21具体用于:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值;
在本发明实施例中,可选地,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该第一确定模块21具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
在本发明实施例中,可选地,该第三确定模块23具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
在本发明实施例中,可选地,该第三确定模块23具体用于:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
在本发明实施例中,可选地,该第一控制点与该第三控制点为同一个像素点。
在本发明实施例中,可选地,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
在本发明实施例中,可选地,该第一预设值为4,和/或,该第二预设值为4。
在本发明实施例中,可选地,该第二确定模块22具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
在本发明实施例中,可选地,该解码模块24具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行解码。
在本发明实施例中,可选地,如图22所示,该解码设备20还包括:
滤波模块25,用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
在本发明实施例中,可选地,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
应理解,根据本发明实施例的解码设备20可对应于执行本发明实施例中的视频图像解码的方法2000,并且解码设备20中的各个模块的上述和其它操作和/或功能分别为了实现图12至图18中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的解码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该大小对该仿射图像块进行解码处理,由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
如图23所示,本发明实施例还提供了一种编码设备30,包括处理器31、存储器32和总线系统33。其中,处理器31和存储器32通过总线系统33相连,该存储器32用于存储指令,该处理器31用于执行该存储器 32存储的指令。编码设备30的存储器32存储程序代码,且处理器31可以调用存储器32中存储的程序代码执行以下操作:确定仿射图像块的运动矢量差异;确定该仿射图像块的运动矢量精度;根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;根据该仿射运动补偿子图像块的大小,对该仿射图像块进行编码处理。
因此,本发明实施例的编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
应理解,在本发明实施例中,该处理器31可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器31还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器32可以包括只读存储器和随机存取存储器,并向处理器31提供指令和数据。存储器32的一部分还可以包括非易失性随机存取存储器。例如,存储器32还可以存储设备类型的信息。
该总线系统33除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统33。
在实现过程中,上述方法的各步骤可以通过处理器31中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器32,处理器31读取存储器32中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再 详细描述。
可选地,作为一个实施例,该处理器31具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
可选地,作为一个实施例,该处理器31具体用于:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
可选地,作为一个实施例,该处理器31具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
可选地,作为一个实施例,该处理器31具体用于:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值;
可选地,作为一个实施例,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该处理器31具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素 点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
可选地,作为一个实施例,该处理器31具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,作为一个实施例,该处理器31具体用于:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,作为一个实施例,该第一控制点与该第三控制点为同一个像素点。
可选地,作为一个实施例,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
可选地,作为一个实施例,该第一预设值为4,和/或,该第二预设值为4。
可选地,作为一个实施例,该处理器31具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像 块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
可选地,作为一个实施例,该处理器31具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行编码。
可选地,作为一个实施例,该处理器31:还用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
可选地,作为一个实施例,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
应理解,根据本发明实施例的编码设备30可对应于本发明实施例中的编码设备10,并可以对应于执行根据本发明实施例的方法1000中的相应主体,并且编码设备30中的各个模块的上述和其它操作和/或功能分别为了实现图1至图11中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的编码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该仿射运动补偿子图像块的大小对该仿射图像块进行编码处理,由此,在编码过程中能够通过选取合适大小的子图像块,降低编码的复杂度,提高编码性能。
如图24所示,本发明实施例还提供了一种解码设备40,包括处理器41、存储器42和总线系统43。其中,处理器41和存储器42通过总线系统43相连,该存储器42用于存储指令,该处理器41用于执行该存储器42存储的指令。解码设备40的存储器42存储程序代码,且处理器41可以调用存储器42中存储的程序代码执行以下操作:确定仿射图像块的运动矢量差异;确定该仿射图像块的运动矢量精度;根据该运动矢量差异、该运动矢量精度和该仿射图像块中的控制点之间的距离,确定该仿射图 像块中的仿射运动补偿子图像块的大小,该控制点为用于确定该运动矢量差异的像素点;根据该仿射运动补偿子图像块的大小,对该仿射图像块进行解码处理。
因此,本发明实施例的解码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该大小对该仿射图像块进行解码处理。由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
应理解,在本发明实施例中,该处理器41可以是中央处理单元(Central Processing Unit,简称为“CPU”),该处理器41还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
该存储器42可以包括只读存储器和随机存取存储器,并向处理器41提供指令和数据。存储器42的一部分还可以包括非易失性随机存取存储器。例如,存储器42还可以存储设备类型的信息。
该总线系统43除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统43。
在实现过程中,上述方法的各步骤可以通过处理器41中的硬件的集成逻辑电路或者软件形式的指令完成。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器42,处理器41读取存储器42中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
可选地,作为一个实施例,该处理器41具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定该运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的 运动矢量的差值,确定该运动矢量差异的第二分量;
其中,该第一控制点与该第二控制点之间具有第一水平距离,该第三控制点与该第四控制点之间具有第一竖直距离。
可选地,作为一个实施例,该处理器41具体用于:确定该第一控制点与该第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将该第一水平分量差值和该第一竖直分量差值中的最大值确定为该运动矢量差异的第一分量;确定该第三控制点与该第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将该第二水平分量差值和该第二竖直分量差值中的最大值确定为该运动矢量差异的第二分量。
可选地,作为一个实施例,该处理器41具体用于:确定该仿射图像块内的像素点的仿射变换参数,该仿射图像块内的像素点具有相同的仿射变换参数;根据该仿射变换参数和该第一水平距离,确定该第一水平分量差值和该第一竖直分量差值;根据该仿射变换参数和该第一竖直距离,确定该第二水平分量差值和该第二竖直分量差值。
可选地,作为一个实施例,该处理器41具体用于:确定该第一控制点的运动矢量、该第二控制点的运动矢量、该第三控制点的运动矢量和该第四控制点的运动矢量;将该第一控制点的运动矢量的水平分量与该第二控制点的运动矢量的水平分量的差值确定为该第一水平分量差值;将该第一控制点的运动矢量的竖直分量和该第二控制点的运动矢量的竖直分量的差值,确定为该第一竖直分量差值;将该第三控制点的运动矢量的水平分量与该第四控制点的运动矢量的水平分量的差值确定为该第二水平分量差值;将该第三控制点的运动矢量的竖直分量和该第四控制点的运动矢量的竖直分量的差值,确定为该第二竖直分量差值;
可选地,作为一个实施例,该第一控制点与该第二控制点为相邻的两个像素点,该第三控制点与该第四控制点为相邻的两个像素点;
其中,该处理器41具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,该第一像素点、该第二像素点和该第三像素点为互相不重合的像素点;确定该第一像素点与该第二像素点之间的第二水平距离和第二竖直距离;确定该第一像素点与该第三像素点之间的第三水平距离和第三竖直距离;根据该第一像素点的运动矢量、该第二像素点的运动矢量、该第三像素点的运动矢量、该第二 水平距离、该第二竖直距离、该第三水平距离和该第三竖直距离,确定该第一水平分量差值、该第一竖直分量差值、该第二水平分量差值和该第二竖直分量差值。
可选地,作为一个实施例,该处理器41具体用于:将该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值确定为该仿射运动补偿子图像块的水平方向的长度;将该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,作为一个实施例,该处理器41具体用于:
在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值大于或等于第一预设值时,将该比值确定为该仿射运动补偿子图像块的水平方向的长度,或,在该运动矢量精度与该第一水平距离的乘积与该运动矢量差异的第一分量的比值小于该第一预设值时,将该第一预设值确定为该仿射运动补偿子图像块的水平方向的长度;
在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值大于或等于第二预设值时,将该比值确定为该仿射运动补偿子图像块的竖直方向的长度,或,在该运动矢量精度与该第一竖直距离的乘积与该运动矢量差异的第二分量的比值小于该第二预设值时,将该第二预设值确定为该仿射运动补偿子图像块的竖直方向的长度。
可选地,作为一个实施例,该第一控制点与该第三控制点为同一个像素点。
可选地,作为一个实施例,该第一控制点、该第二控制点、该第三控制点和该第四控制点为该仿射图像块的顶点。
可选地,作为一个实施例,该第一预设值为4,和/或,该第二预设值为4。
可选地,作为一个实施例,该处理器41具体用于:将第三预设值确定为该仿射图像块的运动矢量精度;或,根据该仿射图像块的邻近图像块的特性确定该仿射图像块的运动矢量精度,该邻近图像块为与该仿射图像块在空间上和/或时间上相邻的图像块。
可选地,作为一个实施例,该处理器41具体用于:确定该仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据该每个仿 射运动补偿子图像块的运动矢量,确定该每个仿射运动补偿子图像块的运动补偿预测信号;根据该每个仿射运动补偿子图像块的运动补偿预测信号,确定该每个仿射运动补偿子图像块的预测残差信号;对该每个仿射运动补偿子图像块的预测残差信号进行解码。
可选地,作为一个实施例,该处理器41:还用于对该每个仿射运动补偿子图像块的边界像素点的信号进行滤波,该边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
可选地,作为一个实施例,该边界像素点的信号包括运动补偿预测信号和/或重建信号,该重建信号为运动补偿预测信号与重建的残差信号之和。
应理解,根据本发明实施例的解码设备40可对应于本发明实施例中的解码设备20,并可以对应于执行根据本发明实施例的方法2000中的相应主体,并且解码设备40中的各个模块的上述和其它操作和/或功能分别为了实现图12至图18中的各个方法的相应流程,为了简洁,在此不再赘述。
因此,本发明实施例的解码设备通过确定的仿射图像块的运动矢量差异、运动矢量精度和控制点之间的距离,确定仿射运动补偿子图像块的大小,根据该大小对该仿射图像块进行解码处理。由此,在解码过程中能够通过选取合适大小的子图像块,降低解码的复杂度,提高解码性能。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本发明的各种实施例中,应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
另外,本文中术语“系统”和“网络”在本文中常可互换使用。应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和 B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
在本申请所提供的实施例中,应理解,“与A相应的B”表示B与A相关联,根据A可以确定B。但还应理解,根据A确定B并不意味着仅仅根据A确定B,还可以根据A和/或其它信息确定B。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售 或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称为“ROM”)、随机存取存储器(Random Access Memory,简称为“RAM”)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (60)

  1. 一种视频图像编码的方法,其特征在于,包括:
    确定仿射图像块的运动矢量差异;
    确定所述仿射图像块的运动矢量精度;
    根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;
    根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理。
  2. 根据权利要求1所述的方法,其特征在于,所述确定仿射图像块的运动矢量差异,包括:
    根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;
    根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;
    其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
  3. 根据权利要求2所述的方法,其特征在于,所述根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量,包括:
    确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
    将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;
    其中,所述根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量,包括:
    确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
    将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
  4. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:
    根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;
    其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
  5. 根据权利要求3所述的方法,其特征在于,所述方法还包括:
    确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:
    将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;
    将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;
    其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;
    将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
  6. 根据权利要求3所述的方法,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;
    确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;
    确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;
    根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
  7. 根据权利要求4至6中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:
    将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;
    将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  8. 根据权利要求4至6中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,包括:
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异 的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  9. 根据权利要求2至8中任一项所述的方法,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
  10. 根据权利要求2至9中任一项所述的方法,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
  11. 根据权利要求8所述的方法,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
  12. 根据权利1至11中任一项所述的方法,其特征在于,所述确定所述仿射图像块的运动矢量精度,包括:
    将第三预设值确定为所述仿射图像块的运动矢量精度;或,
    根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
  13. 根据权利要求1至12中任一项所述的方法,其特征在于,所述根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理,包括:
    确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
    根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;
    根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;
    对所述每个仿射运动补偿子图像块的预测残差信号进行编码。
  14. 根据权利要求13所述的方法,其特征在于,所述方法还包括:
    对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
  15. 根据权利要求14所述的方法,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号 与重建的残差信号之和。
  16. 一种视频图像解码的方法,其特征在于,包括:
    确定仿射图像块的运动矢量差异;
    确定所述仿射图像块的运动矢量精度;
    根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;
    根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理。
  17. 根据权利要求16所述的方法,其特征在于,所述确定仿射图像块的运动矢量差异,包括:
    根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;
    根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;
    其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
  18. 根据权利要求17所述的方法,其特征在于,所述根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量,包括:
    确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
    将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;
    其中,所述根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量,包括:
    确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
    将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
  19. 根据权利要求18所述的方法,其特征在于,所述方法还包括:
    确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:
    根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;
    其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
  20. 根据权利要求18所述的方法,其特征在于,所述方法还包括:
    确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:
    将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;
    将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;
    其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;
    将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
  21. 根据权利要求18所述的方法,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;
    其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:
    确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;
    确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;
    确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;
    根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
  22. 根据权利要求19至21中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:
    将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;
    将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  23. 根据权利要求19至21中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,包括:
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异 的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  24. 根据权利要求17至23中任一项所述的方法,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
  25. 根据权利要求17至24中任一项所述的方法,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
  26. 根据权利要求23所述的方法,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
  27. 根据权利16至26中任一项所述的方法,其特征在于,所述确定所述仿射图像块的运动矢量精度,包括:
    将第三预设值确定为所述仿射图像块的运动矢量精度;或,
    根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
  28. 根据权利要求16至27中任一项所述的方法,其特征在于,所述根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理,包括:
    确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
    根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;
    根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;
    对所述每个仿射运动补偿子图像块的预测残差信号进行解码。
  29. 根据权利要求28所述的方法,其特征在于,所述方法还包括:
    对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
  30. 根据权利要求29所述的方法,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号 与重建的残差信号之和。
  31. 一种编码设备,其特征在于,包括:
    第一确定模块,用于确定仿射图像块的运动矢量差异;
    第二确定模块,用于确定所述仿射图像块的运动矢量精度;
    第三确定模块,用于根据所述第一确定模块确定的所述运动矢量差异、所述第二确定模块确定的所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;
    编码模块,用于根据所述第三确定模块确定的所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理。
  32. 根据权利要求31所述的编码设备,其特征在于,所述第一确定模块具体用于:
    根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;
    根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;
    其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
  33. 根据权利要求32所述的编码设备,其特征在于,所述第一确定模块具体用于:
    确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
    将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;
    确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
    将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
  34. 根据权利要求33所述的编码设备,其特征在于,所述第一确定模块具体用于:
    确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的 像素点具有相同的仿射变换参数;
    根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;
    根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
  35. 根据权利要求33所述的编码设备,其特征在于,所述第一确定模块具体用于:
    确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;
    将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;
    将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;
    将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;
    将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
  36. 根据权利要求33所述的编码设备,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;
    其中,所述第一确定模块具体用于:
    确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;
    确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;
    确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;
    根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分 量差值、所述第二水平分量差值和所述第二竖直分量差值。
  37. 根据权利要求34至36中任一项所述的编码设备,其特征在于,所述第三确定模块具体用于:
    将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;
    将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  38. 根据权利要求34至36中任一项所述的编码设备,其特征在于,所述第三确定模块具体用于:
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  39. 根据权利要求32至38中任一项所述的编码设备,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
  40. 根据权利要求32至39中任一项所述的编码设备,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
  41. 根据权利要求38所述的编码设备,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
  42. 根据权利31至41中任一项所述的编码设备,其特征在于,所述第二确定模块具体用于:
    将第三预设值确定为所述仿射图像块的运动矢量精度;或,
    根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
  43. 根据权利要求31至42中任一项所述的编码设备,其特征在于,所述编码模块具体用于:
    确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
    根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;
    根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;
    对所述每个仿射运动补偿子图像块的预测残差信号进行编码。
  44. 根据权利要求43所述的编码设备,其特征在于,所述编码设备还包括:
    滤波模块,用于对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
  45. 根据权利要求44所述的编码设备,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号与重建的残差信号之和。
  46. 一种解码设备,其特征在于,包括:
    第一确定模块,用于确定仿射图像块的运动矢量差异;
    第二确定模块,用于确定所述仿射图像块的运动矢量精度;
    第三确定模块,用于根据所述第一确定模块确定的所述运动矢量差异、所述第二确定模块确定的所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;
    解码模块,用于根据所述第三确定模块确定的所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理。
  47. 根据权利要求46所述的解码设备,其特征在于,所述第一确定模块具体用于:
    根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;
    根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;
    其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
  48. 根据权利要求47所述的解码设备,其特征在于,所述第一确定模块具体用于:
    确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;
    将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;
    确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;
    将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
  49. 根据权利要求48所述的解码设备,其特征在于,所述第一确定模块具体用于:
    确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;
    根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;
    根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
  50. 根据权利要求48所述的解码设备,其特征在于,所述第一确定模块具体用于:
    确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;
    将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;
    将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢 量的竖直分量的差值,确定为所述第一竖直分量差值;
    将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;
    将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
  51. 根据权利要求48所述的解码设备,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;
    其中,所述第一确定模块具体用于:
    确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;
    确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;
    确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;
    根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
  52. 根据权利要求49至51中任一项所述的解码设备,其特征在于,所述第三确定模块具体用于:
    将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;
    将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  53. 根据权利要求49至51中任一项所述的解码设备,其特征在于,所述第三确定模块具体用于:
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,
    在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,
    在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
  54. 根据权利要求47至53中任一项所述的解码设备,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
  55. 根据权利要求47至54中任一项所述的解码设备,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
  56. 根据权利要求53所述的解码设备,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
  57. 根据权利46至56中任一项所述的解码设备,其特征在于,所述第二确定模块具体用于:
    将第三预设值确定为所述仿射图像块的运动矢量精度;或,
    根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
  58. 根据权利要求46至57中任一项所述的解码设备,其特征在于,所述解码模块具体用于:
    确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;
    根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;
    根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;
    对所述每个仿射运动补偿子图像块的预测残差信号进行解码。
  59. 根据权利要求58所述的解码设备,其特征在于,所述解码设备还包括:
    滤波模块,用于对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
  60. 根据权利要求59所述的解码设备,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号与重建的残差信号之和。
PCT/CN2016/077784 2015-05-15 2016-03-30 视频图像编码和解码的方法、编码设备和解码设备 WO2016184261A1 (zh)

Priority Applications (19)

Application Number Priority Date Filing Date Title
KR1020207024140A KR102257653B1 (ko) 2015-05-15 2016-03-30 비디오 픽처 코딩 방법, 비디오 픽처 디코딩 방법, 코딩 장치, 및 디코딩 장치
KR1020177035893A KR102297921B1 (ko) 2015-05-15 2016-03-30 비디오 픽쳐 코딩 방법, 비디오 픽쳐 디코딩 방법, 코딩 장치, 및 디코딩 장치
AU2016264380A AU2016264380B2 (en) 2015-05-15 2016-03-30 Video picture coding method, video picture decoding method, coding device, and decoding device
MYPI2017704310A MY183126A (en) 2015-05-15 2016-03-30 Video picture coding method, video picture decoding method, coding device, and decoding device
MX2017014652A MX2017014652A (es) 2015-05-15 2016-03-30 Metodo de codificacion de imagen de video, metodo de decodificacion de imagen de video, dispositivo de codificación, y dispositivo de decodificación.
JP2017559585A JP6978944B2 (ja) 2015-05-15 2016-03-30 動画像符号化方法、動画像復号化方法、符号化装置および復号化装置
EP16795748.9A EP3291557B1 (en) 2015-05-15 2016-03-30 Video image coding and decoding method, coding device and decoding device
KR1020197031419A KR102148804B1 (ko) 2015-05-15 2016-03-30 비디오 픽쳐 코딩 방법, 비디오 픽쳐 디코딩 방법, 코딩 장치, 및 디코딩 장치
CA2985868A CA2985868C (en) 2015-05-15 2016-03-30 Video picture coding method, video picture decoding method, coding device, and decoding device
BR112017024467-5A BR112017024467B1 (pt) 2015-05-15 2016-03-30 Método de codificação de imagem de vídeo, método de decodificação de imagem de vídeo, dispositivo de codificação, e dispositivo de decodificação
EP21205488.6A EP4033765A1 (en) 2015-05-15 2016-03-30 Video picture coding method, video picture decoding method, coding device, and decoding device
SG11201709418UA SG11201709418UA (en) 2015-05-15 2016-03-30 Video picture coding method, video picture decoding method, coding device, and decoding device
ES16795748T ES2900232T3 (es) 2015-05-15 2016-03-30 Método de codificación y decodificación de imágenes de vídeo, dispositivo de codificación y dispositivo de decodificación
RU2017143768A RU2689426C1 (ru) 2015-05-15 2016-03-30 Способ кодирования видеоизображения, способ декодирования видеоизображения, устройство кодирования и устройство декодирования
US15/812,719 US10390036B2 (en) 2015-05-15 2017-11-14 Adaptive affine motion compensation unit determing in video picture coding method, video picture decoding method, coding device, and decoding device
HK18104331.0A HK1244984A1 (zh) 2015-05-15 2018-03-29 視頻圖像編碼和解碼的方法、編碼設備和解碼設備
US16/505,182 US10887618B2 (en) 2015-05-15 2019-07-08 Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device
US17/122,844 US11490115B2 (en) 2015-05-15 2020-12-15 Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device
US17/941,895 US11949908B2 (en) 2015-05-15 2022-09-09 Adaptive affine motion compensation unit determining in video picture coding method, video picture decoding method, coding device, and decoding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510249484.8A CN106303543B (zh) 2015-05-15 2015-05-15 视频图像编码和解码的方法、编码设备和解码设备
CN201510249484.8 2015-05-15

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US15/812,719 Continuation US10390036B2 (en) 2015-05-15 2017-11-14 Adaptive affine motion compensation unit determing in video picture coding method, video picture decoding method, coding device, and decoding device

Publications (1)

Publication Number Publication Date
WO2016184261A1 true WO2016184261A1 (zh) 2016-11-24

Family

ID=57319464

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/077784 WO2016184261A1 (zh) 2015-05-15 2016-03-30 视频图像编码和解码的方法、编码设备和解码设备

Country Status (14)

Country Link
US (4) US10390036B2 (zh)
EP (2) EP3291557B1 (zh)
JP (4) JP6978944B2 (zh)
KR (3) KR102257653B1 (zh)
CN (2) CN109005407B (zh)
AU (1) AU2016264380B2 (zh)
CA (1) CA2985868C (zh)
ES (1) ES2900232T3 (zh)
HK (1) HK1244984A1 (zh)
MX (2) MX2017014652A (zh)
MY (1) MY183126A (zh)
RU (1) RU2689426C1 (zh)
SG (1) SG11201709418UA (zh)
WO (1) WO2016184261A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018529255A (ja) * 2015-08-29 2018-10-04 ホアウェイ・テクノロジーズ・カンパニー・リミテッド イメージ予測方法および装置
WO2019069601A1 (ja) * 2017-10-03 2019-04-11 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
WO2019069602A1 (ja) * 2017-10-03 2019-04-11 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、プログラムおよび映像システム
EP3499882A1 (en) * 2017-12-13 2019-06-19 Industrial Technology Research Institute Method and image processing apparatus for video coding
WO2019160860A1 (en) * 2018-02-14 2019-08-22 Futurewei Technologies, Inc. Adaptive interpolation filter
KR20200033331A (ko) * 2017-08-11 2020-03-27 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 이미지 인코딩 및 디코딩 방법, 장치 및 디바이스
CN110944185A (zh) * 2018-09-21 2020-03-31 腾讯美国有限责任公司 视频解码的方法和装置、计算机设备及存储介质
WO2020251417A3 (en) * 2019-09-30 2021-03-11 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter
CN112703733A (zh) * 2018-09-21 2021-04-23 交互数字Vc控股公司 一统一列表中的平移和仿射候选
CN113313628A (zh) * 2021-06-29 2021-08-27 河南工业大学 基于仿射变换和均值像素法的环状编码点鲁棒性识别方法
US20210329289A1 (en) * 2018-12-24 2021-10-21 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
RU2771955C2 (ru) * 2017-08-11 2022-05-16 Хуавей Текнолоджиз Ко., Лтд. Устройство, оборудование, способ кодирования и декодирования видеоизображений
US11985354B2 (en) 2019-09-30 2024-05-14 Huawei Technologies Co., Ltd. Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter
US12047599B2 (en) 2020-01-07 2024-07-23 Huawei Technologies Co., Ltd. Motion vector range derivation for enhanced interpolation filter

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965871B (zh) 2015-09-29 2023-11-10 华为技术有限公司 图像预测的方法及装置
CN107027040B9 (zh) * 2016-01-29 2020-08-28 华为技术有限公司 一种去除块效应的滤波方法及装置
US20190273943A1 (en) * 2016-10-10 2019-09-05 Sharp Kabushiki Kaisha Systems and methods for performing motion compensation for coding of video data
CN108271023B (zh) 2017-01-04 2021-11-19 华为技术有限公司 图像预测方法和相关设备
US10609384B2 (en) * 2017-09-21 2020-03-31 Futurewei Technologies, Inc. Restriction on sub-block size derivation for affine inter prediction
US11363267B2 (en) * 2017-09-28 2022-06-14 Samsung Electronics Co., Ltd. Encoding method and device, and decoding method and device
WO2019072210A1 (en) * 2017-10-13 2019-04-18 Huawei Technologies Co., Ltd. RESTRICTION ON SUB-BLOCK SIZE DEDUCTION FOR AFFINE INTERPREDITION
CN109729352B (zh) 2017-10-27 2020-07-21 华为技术有限公司 确定仿射编码块的运动矢量的方法和装置
US20190208211A1 (en) * 2018-01-04 2019-07-04 Qualcomm Incorporated Generated affine motion vectors
US10757417B2 (en) * 2018-01-20 2020-08-25 Qualcomm Incorporated Affine motion compensation in video coding
WO2019194506A1 (ko) * 2018-04-01 2019-10-10 엘지전자 주식회사 어파인 인터 예측에 기반한 영상 코딩 방법 및 그 장치
CN116684638A (zh) * 2018-04-01 2023-09-01 Lg电子株式会社 图像编码/解码方法、视频数据发送方法和存储介质
WO2019199127A1 (ko) * 2018-04-12 2019-10-17 삼성전자 주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2019199067A1 (ko) 2018-04-13 2019-10-17 엘지전자 주식회사 비디오 처리 시스템에서 인터 예측 방법 및 장치
WO2019199152A1 (ko) * 2018-04-14 2019-10-17 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
SI3780617T1 (sl) 2018-04-24 2023-11-30 Lg Electronics Inc. Postopek in naprava za notranje napovedovanje v sistemu za kodiranje videa
WO2019231256A1 (ko) * 2018-05-30 2019-12-05 엘지전자 주식회사 어파인 움직임 예측을 이용하여 비디오 신호를 처리하는 방법 및 장치
WO2019235819A1 (ko) * 2018-06-04 2019-12-12 엘지전자 주식회사 비디오 신호를 처리하기 위한 방법 및 장치
KR20210016581A (ko) 2018-06-05 2021-02-16 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Ibc 및 atmvp 간의 상호 작용
US10999596B2 (en) * 2018-06-19 2021-05-04 Qualcomm Incorporated Unification of affine motion field derivation and affine motion compensation
CN116347099A (zh) 2018-06-19 2023-06-27 北京字节跳动网络技术有限公司 没有运动矢量预测截断的选择的运动矢量差精度
KR20210024565A (ko) * 2018-06-20 2021-03-05 미디어텍 인크. 비디오 코딩 시스템을 위한 모션 벡터 버퍼 관리 방법 및 장치
WO2019244117A1 (en) 2018-06-21 2019-12-26 Beijing Bytedance Network Technology Co., Ltd. Unified constrains for the merge affine mode and the non-merge affine mode
KR102701593B1 (ko) * 2018-06-21 2024-08-30 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 칼라 컴포넌트 간의 서브 블록 mv 상속
US11070813B2 (en) * 2018-06-29 2021-07-20 Intel Corporation Global motion estimation and modeling for accurate global motion compensation for efficient video processing or coding
CN118632026A (zh) * 2018-06-30 2024-09-10 有限公司B1影像技术研究所 帧间预测方法和记录介质
TWI731363B (zh) * 2018-07-01 2021-06-21 大陸商北京字節跳動網絡技術有限公司 高效的仿射Merge運動向量推導
SG11202013202YA (en) 2018-07-02 2021-01-28 Huawei Tech Co Ltd Motion vector prediction method and related apparatus
WO2020009449A1 (ko) * 2018-07-02 2020-01-09 엘지전자 주식회사 어파인 예측을 이용하여 비디오 신호를 처리하기 위한 방법 및 장치
CN110809155B (zh) 2018-08-04 2023-01-31 北京字节跳动网络技术有限公司 视频处理方法、装置和计算机可读介质
WO2020045050A1 (ja) * 2018-08-27 2020-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法及び復号方法
CN112640459B (zh) 2018-09-06 2023-07-28 Lg电子株式会社 图像编码系统中基于使用合并候选列表的运动预测的图像解码方法和设备
GB2591647B (en) * 2018-09-08 2023-02-01 Beijing Bytedance Network Tech Co Ltd Affine mode calculations for different video block sizes
CN110891176B (zh) * 2018-09-10 2023-01-13 华为技术有限公司 基于仿射运动模型的运动矢量预测方法及设备
SI3681161T1 (sl) * 2018-09-12 2024-03-29 Lg Electronics Inc., Postopek za dekodiranje in kodiranje slik z napravo na podlagi napovedovanja gibanja v enoti podbloka v sistemu za kodiranje slik
KR20240005178A (ko) * 2018-09-19 2024-01-11 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 적응적 움직임 벡터 해상도를 가지는 어파인 모드에 대한 구문 재사용
WO2020060344A1 (ko) * 2018-09-21 2020-03-26 엘지전자 주식회사 영상 신호를 처리하기 위한 방법 및 장치
TWI834727B (zh) 2018-09-23 2024-03-11 大陸商北京字節跳動網絡技術有限公司 從仿射運動預測的非仿射塊
CN112740663B (zh) * 2018-09-24 2022-06-14 华为技术有限公司 图像预测方法、装置以及相应的编码器和解码器
CN117768651A (zh) 2018-09-24 2024-03-26 北京字节跳动网络技术有限公司 处理视频数据的方法、装置、介质、以及比特流存储方法
CN111010569B (zh) 2018-10-06 2023-02-28 北京字节跳动网络技术有限公司 Bio中的时间梯度计算的改善
WO2020070730A2 (en) * 2018-10-06 2020-04-09 Beijing Bytedance Network Technology Co., Ltd. Size restriction based on affine motion information
CN112997489B (zh) 2018-11-06 2024-02-06 北京字节跳动网络技术有限公司 具有几何分割的帧间预测的边信息信令
EP3861723A4 (en) 2018-11-10 2022-04-20 Beijing Bytedance Network Technology Co., Ltd. ROUNDS IN PAIRS OF MEDIUM CANDIDATE BILLS
WO2020098643A1 (en) * 2018-11-12 2020-05-22 Beijing Bytedance Network Technology Co., Ltd. Simplification of combined inter-intra prediction
CN113170105A (zh) * 2018-11-16 2021-07-23 北京字节跳动网络技术有限公司 基于历史的仿射参数继承
US11528484B2 (en) 2018-12-06 2022-12-13 Lg Electronics Inc. Method and apparatus for processing video signal on basis of inter prediction
JP2022028089A (ja) * 2018-12-17 2022-02-15 ソニーグループ株式会社 画像符号化装置、画像符号化方法、画像復号装置、および画像復号方法
WO2020135368A1 (zh) * 2018-12-24 2020-07-02 华为技术有限公司 一种帧间预测的方法和装置
CN118694934A (zh) 2018-12-28 2024-09-24 三星电子株式会社 用于对运动矢量差进行编码的方法和设备以及用于对运动矢量差进行解码的方法和设备
CN113170166B (zh) 2018-12-30 2023-06-09 北京字节跳动网络技术有限公司 具有几何分割的帧间预测在视频处理中有条件的应用
WO2020141910A1 (ko) * 2019-01-02 2020-07-09 엘지전자 주식회사 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치
WO2020141935A1 (ko) * 2019-01-03 2020-07-09 엘지전자 주식회사 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치
WO2020140243A1 (zh) * 2019-01-03 2020-07-09 北京大学 视频图像处理方法与装置
CN113366851A (zh) 2019-01-31 2021-09-07 北京字节跳动网络技术有限公司 对称运动矢量差编解码模式的快速算法
CN118118659A (zh) 2019-01-31 2024-05-31 北京字节跳动网络技术有限公司 记录仿射模式自适应运动矢量分辨率的上下文
US11134262B2 (en) 2019-02-28 2021-09-28 Tencent America LLC Method and apparatus for video coding
JP7026064B2 (ja) * 2019-03-11 2022-02-25 Kddi株式会社 画像復号装置、画像復号方法及びプログラム
CN111247804B (zh) * 2019-03-12 2023-10-13 北京大学 图像处理的方法与装置
US11394993B2 (en) * 2019-03-13 2022-07-19 Tencent America LLC Method and apparatus for affine inter prediction with small subblocks
US11343525B2 (en) * 2019-03-19 2022-05-24 Tencent America LLC Method and apparatus for video coding by constraining sub-block motion vectors and determining adjustment values based on constrained sub-block motion vectors
JP7323641B2 (ja) * 2019-05-21 2023-08-08 北京字節跳動網絡技術有限公司 アフィンモードのための適応動きベクトル差分分解
US11153598B2 (en) * 2019-06-04 2021-10-19 Tencent America LLC Method and apparatus for video coding using a subblock-based affine motion model
US11330287B2 (en) 2019-06-28 2022-05-10 Tencent America LLC Method and apparatus for video coding
WO2021027774A1 (en) 2019-08-10 2021-02-18 Beijing Bytedance Network Technology Co., Ltd. Subpicture dependent signaling in video bitstreams
CN110636301B (zh) * 2019-09-18 2021-08-03 浙江大华技术股份有限公司 仿射预测方法、计算机设备和计算机可读存储介质
WO2021188876A1 (en) * 2020-03-20 2021-09-23 Beijing Dajia Internet Information Technology Co., Ltd. Spatial neighbor based affine motion derivation
CN114342390B (zh) * 2020-07-30 2022-10-28 北京达佳互联信息技术有限公司 用于仿射运动补偿的预测细化的方法和装置
WO2024117533A1 (ko) * 2022-11-29 2024-06-06 현대자동차주식회사 아핀 모델 기반의 예측을 이용하는 비디오 코딩방법 및 장치

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1325220A (zh) * 2000-05-24 2001-12-05 三星电子株式会社 运动向量编码方法
EP1274254A2 (en) * 1995-08-29 2003-01-08 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
CN1684517A (zh) * 2004-04-13 2005-10-19 三星电子株式会社 用于支持运动可缩放性的方法和设备
CN1961582A (zh) * 2004-03-31 2007-05-09 三星电子株式会社 在多层结构中有效压缩运动向量的方法和装置
CN102611884A (zh) * 2011-01-19 2012-07-25 华为技术有限公司 图像编解码方法及编解码设备
CN104539966A (zh) * 2014-09-30 2015-04-22 华为技术有限公司 图像预测方法及相关装置

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5654771A (en) * 1995-05-23 1997-08-05 The University Of Rochester Video compression system using a dense motion vector field and a triangular patch mesh overlay model
WO1997017797A2 (en) * 1995-10-25 1997-05-15 Sarnoff Corporation Apparatus and method for quadtree based variable block size motion estimation
JP3426092B2 (ja) * 1996-09-12 2003-07-14 シャープ株式会社 動画像符号化装置における動き補償フレーム間予測方法
US6775415B1 (en) * 1999-05-25 2004-08-10 George Mason University Fractal image compression using reinforcement learning
KR100359115B1 (ko) 2000-05-24 2002-11-04 삼성전자 주식회사 영상 코딩 방법
JP4355319B2 (ja) * 2002-01-24 2009-10-28 株式会社日立製作所 動画像復号化方法
US7408986B2 (en) * 2003-06-13 2008-08-05 Microsoft Corporation Increasing motion smoothness using frame interpolation with motion analysis
JP4340968B2 (ja) * 2004-05-07 2009-10-07 ソニー株式会社 画像処理装置および方法、記録媒体、並びにプログラム
US8665958B2 (en) * 2008-01-29 2014-03-04 Electronics And Telecommunications Research Institute Method and apparatus for encoding and decoding video signal using motion compensation based on affine transformation
JP4544334B2 (ja) 2008-04-15 2010-09-15 ソニー株式会社 画像処理装置および画像処理方法
WO2011070730A1 (ja) * 2009-12-07 2011-06-16 日本電気株式会社 映像符号化装置および映像復号装置
KR102166520B1 (ko) 2010-04-13 2020-10-16 지이 비디오 컴프레션, 엘엘씨 샘플 영역 병합
CN102547261B (zh) * 2010-12-24 2016-06-15 上海电机学院 一种分形图像编码方法
WO2013033790A1 (en) * 2011-09-09 2013-03-14 Newsouth Innovations Pty Limited A method and apparatus for communicating and recovering motion information
EP2777273B1 (en) 2011-11-11 2019-09-04 GE Video Compression, LLC Efficient multi-view coding using depth-map estimate for a dependent view
WO2013068564A1 (en) * 2011-11-11 2013-05-16 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Effective wedgelet partition coding using spatial prediction
US9769473B2 (en) * 2012-06-08 2017-09-19 Apple Inc. Predictive video coder with low power reference picture transformation
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
RU2533852C2 (ru) * 2012-12-26 2014-11-20 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Способ кодирования/декодирования многоракурсной видеопоследовательности на основе адаптивной компенсации локальных различий яркости при межкадровом предсказании (варианты)
KR102121558B1 (ko) 2013-03-15 2020-06-10 삼성전자주식회사 비디오 이미지의 안정화 방법, 후처리 장치 및 이를 포함하는 비디오 디코더
JP6399433B2 (ja) * 2013-05-31 2018-10-03 サン パテント トラスト 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置
WO2015006894A1 (en) * 2013-07-15 2015-01-22 Microsoft Corporation Feature-based image set compression
US9258446B2 (en) * 2013-10-16 2016-02-09 Fuji Xerox Co., Ltd. Image processing apparatus
US10554965B2 (en) * 2014-08-18 2020-02-04 Google Llc Motion-compensated partitioning
CN104363451B (zh) * 2014-10-27 2019-01-25 华为技术有限公司 图像预测方法及相关装置
US20160316220A1 (en) * 2015-04-21 2016-10-27 Microsoft Technology Licensing, Llc Video encoder management strategies
JP7105706B2 (ja) * 2019-01-16 2022-07-25 三菱電機株式会社 パワーモジュール

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1274254A2 (en) * 1995-08-29 2003-01-08 Sharp Kabushiki Kaisha Video coding device and video decoding device with a motion compensated interframe prediction
CN1325220A (zh) * 2000-05-24 2001-12-05 三星电子株式会社 运动向量编码方法
CN1961582A (zh) * 2004-03-31 2007-05-09 三星电子株式会社 在多层结构中有效压缩运动向量的方法和装置
CN1684517A (zh) * 2004-04-13 2005-10-19 三星电子株式会社 用于支持运动可缩放性的方法和设备
CN102611884A (zh) * 2011-01-19 2012-07-25 华为技术有限公司 图像编解码方法及编解码设备
CN104539966A (zh) * 2014-09-30 2015-04-22 华为技术有限公司 图像预测方法及相关装置

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880543B2 (en) 2015-08-29 2020-12-29 Huawei Technologies Co., Ltd. Image prediction method and device
US11979559B2 (en) 2015-08-29 2024-05-07 Huawei Technologies Co., Ltd. Image prediction method and device
JP2018529255A (ja) * 2015-08-29 2018-10-04 ホアウェイ・テクノロジーズ・カンパニー・リミテッド イメージ予測方法および装置
US11368678B2 (en) 2015-08-29 2022-06-21 Huawei Technologies Co., Ltd. Image prediction method and device
AU2018315106B2 (en) * 2017-08-11 2022-10-06 Huawei Technologies Co., Ltd. Video image encoding and decoding method, apparatus, and device
KR20200033331A (ko) * 2017-08-11 2020-03-27 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 이미지 인코딩 및 디코딩 방법, 장치 및 디바이스
RU2771955C2 (ru) * 2017-08-11 2022-05-16 Хуавей Текнолоджиз Ко., Лтд. Устройство, оборудование, способ кодирования и декодирования видеоизображений
EP3664452A4 (en) * 2017-08-11 2020-06-10 Huawei Technologies Co., Ltd. METHOD, DEVICE AND DEVICE FOR CODING AND DECODING VIDEO IMAGES
KR102357575B1 (ko) * 2017-08-11 2022-02-08 후아웨이 테크놀러지 컴퍼니 리미티드 비디오 이미지 인코딩 및 디코딩 방법, 장치 및 디바이스
US11496732B2 (en) 2017-08-11 2022-11-08 Huawei Technologies Co., Ltd. Video image encoding and decoding method, apparatus, and device
JP2020529811A (ja) * 2017-08-11 2020-10-08 華為技術有限公司Huawei Technologies Co.,Ltd. ビデオ画像符号化および復号方法、装置、およびデバイス
US11039127B2 (en) 2017-08-11 2021-06-15 Huawei Technologies Co., Ltd. Video image encoding and decoding method, apparatus, and device
JPWO2019069602A1 (ja) * 2017-10-03 2020-09-10 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、プログラムおよび映像システム
WO2019069601A1 (ja) * 2017-10-03 2019-04-11 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
WO2019069602A1 (ja) * 2017-10-03 2019-04-11 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法、プログラムおよび映像システム
JPWO2019069601A1 (ja) * 2017-10-03 2020-09-10 日本電気株式会社 映像符号化装置、映像復号装置、映像符号化方法、映像復号方法およびプログラム
EP3499882A1 (en) * 2017-12-13 2019-06-19 Industrial Technology Research Institute Method and image processing apparatus for video coding
WO2019160860A1 (en) * 2018-02-14 2019-08-22 Futurewei Technologies, Inc. Adaptive interpolation filter
EP3741121A1 (en) * 2018-02-14 2020-11-25 Huawei Technologies Co., Ltd. Adaptive interpolation filter
KR20200117031A (ko) * 2018-02-14 2020-10-13 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 보간 필터
KR102424189B1 (ko) * 2018-02-14 2022-07-21 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 보간 필터
US11146809B2 (en) 2018-02-14 2021-10-12 Huawei Technologies Co., Ltd. Adaptive interpolation filter
US12069293B2 (en) 2018-02-14 2024-08-20 Huawei Technologies Co., Ltd. Adaptive interpolation filter
CN110944185B (zh) * 2018-09-21 2023-03-28 腾讯美国有限责任公司 视频解码的方法和装置、计算机设备及存储介质
CN112703733A (zh) * 2018-09-21 2021-04-23 交互数字Vc控股公司 一统一列表中的平移和仿射候选
CN110944185A (zh) * 2018-09-21 2020-03-31 腾讯美国有限责任公司 视频解码的方法和装置、计算机设备及存储介质
US20210329289A1 (en) * 2018-12-24 2021-10-21 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
US11706444B2 (en) * 2018-12-24 2023-07-18 Huawei Technologies Co., Ltd. Inter prediction method and apparatus
WO2020251417A3 (en) * 2019-09-30 2021-03-11 Huawei Technologies Co., Ltd. Usage of dct based interpolation filter
US11985354B2 (en) 2019-09-30 2024-05-14 Huawei Technologies Co., Ltd. Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter
US12058337B2 (en) 2019-09-30 2024-08-06 Huawei Technologies Co., Ltd. Usage of DCT based interpolation filter
US12047599B2 (en) 2020-01-07 2024-07-23 Huawei Technologies Co., Ltd. Motion vector range derivation for enhanced interpolation filter
CN113313628A (zh) * 2021-06-29 2021-08-27 河南工业大学 基于仿射变换和均值像素法的环状编码点鲁棒性识别方法

Also Published As

Publication number Publication date
EP4033765A1 (en) 2022-07-27
US20180070102A1 (en) 2018-03-08
JP6978944B2 (ja) 2021-12-08
EP3291557A4 (en) 2018-03-28
CN109005407B (zh) 2023-09-01
US20210105502A1 (en) 2021-04-08
CA2985868C (en) 2022-11-29
AU2016264380B2 (en) 2018-10-18
US10887618B2 (en) 2021-01-05
JP7260620B2 (ja) 2023-04-18
AU2016264380A1 (en) 2017-12-14
SG11201709418UA (en) 2017-12-28
US11949908B2 (en) 2024-04-02
CN106303543B (zh) 2018-10-30
RU2689426C1 (ru) 2019-05-28
US10390036B2 (en) 2019-08-20
EP3291557B1 (en) 2021-11-03
MY183126A (en) 2021-02-15
CN109005407A (zh) 2018-12-14
JP7507922B2 (ja) 2024-06-28
JP6978552B2 (ja) 2021-12-08
EP3291557A1 (en) 2018-03-07
KR102297921B1 (ko) 2021-09-02
ES2900232T3 (es) 2022-03-16
CA2985868A1 (en) 2016-11-24
JP2022010251A (ja) 2022-01-14
KR20190122914A (ko) 2019-10-30
US11490115B2 (en) 2022-11-01
US20230077431A1 (en) 2023-03-16
KR20180006961A (ko) 2018-01-19
JP2018520558A (ja) 2018-07-26
MX2020011278A (es) 2020-11-13
US20190335196A1 (en) 2019-10-31
KR102148804B1 (ko) 2020-08-27
JP2020174373A (ja) 2020-10-22
JP2023089084A (ja) 2023-06-27
MX2017014652A (es) 2018-04-11
BR112017024467A2 (zh) 2018-07-24
KR102257653B1 (ko) 2021-05-27
HK1244984A1 (zh) 2018-08-17
CN106303543A (zh) 2017-01-04
KR20200102541A (ko) 2020-08-31

Similar Documents

Publication Publication Date Title
JP7260620B2 (ja) 動画像符号化方法、動画像復号化方法、符号化装置および復号化装置
KR102357575B1 (ko) 비디오 이미지 인코딩 및 디코딩 방법, 장치 및 디바이스
KR102408278B1 (ko) 이미지 예측 방법 및 장치
WO2017005141A1 (zh) 参考图像编码和解码的方法、编码设备和解码设备
US20240357158A1 (en) Adaptive affine motion compensation unit determing in video picture coding method, video picture decoding method, coding device, and decoding device
RU2771955C2 (ru) Устройство, оборудование, способ кодирования и декодирования видеоизображений
BR112017024467B1 (pt) Método de codificação de imagem de vídeo, método de decodificação de imagem de vídeo, dispositivo de codificação, e dispositivo de decodificação

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

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2985868

Country of ref document: CA

Ref document number: 2017559585

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 11201709418U

Country of ref document: SG

Ref document number: MX/A/2017/014652

Country of ref document: MX

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 20177035893

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2016264380

Country of ref document: AU

Date of ref document: 20160330

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2017143768

Country of ref document: RU

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112017024467

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 112017024467

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20171114