WO2016184261A1 - 视频图像编码和解码的方法、编码设备和解码设备 - Google Patents
视频图像编码和解码的方法、编码设备和解码设备 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 137
- 230000033001 locomotion Effects 0.000 claims abstract description 1221
- 239000013598 vector Substances 0.000 claims abstract description 864
- PXFBZOLANLWPMH-UHFFFAOYSA-N 16-Epiaffinine Natural products C1C(C2=CC=CC=C2N2)=C2C(=O)CC2C(=CC)CN(C)C1C2CO PXFBZOLANLWPMH-UHFFFAOYSA-N 0.000 claims abstract description 638
- 230000009466 transformation Effects 0.000 claims description 80
- 238000012545 processing Methods 0.000 claims description 20
- 238000001914 filtration Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 238000004088 simulation Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/521—Processing 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/119—Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/136—Incoming video signal characteristics or properties
- H04N19/137—Motion inside a coding unit, e.g. average field, frame or block difference
- H04N19/139—Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/172—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/189—Methods 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/196—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/53—Multi-resolution motion estimation; Hierarchical motion estimation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/537—Motion estimation other than block-based
- H04N19/54—Motion estimation other than block-based using feature points or meshes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/57—Motion estimation characterised by a search window with variable size or shape
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/573—Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/80—Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
- H04N19/82—Details 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
Claims (60)
- 一种视频图像编码的方法,其特征在于,包括:确定仿射图像块的运动矢量差异;确定所述仿射图像块的运动矢量精度;根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理。
- 根据权利要求1所述的方法,其特征在于,所述确定仿射图像块的运动矢量差异,包括:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
- 根据权利要求2所述的方法,其特征在于,所述根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量,包括:确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;其中,所述根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量,包括:确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求3所述的方法,其特征在于,所述方法还包括:确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
- 根据权利要求3所述的方法,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求4至6中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求4至6中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,包括:在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异 的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求2至8中任一项所述的方法,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
- 根据权利要求2至9中任一项所述的方法,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
- 根据权利要求8所述的方法,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
- 根据权利1至11中任一项所述的方法,其特征在于,所述确定所述仿射图像块的运动矢量精度,包括:将第三预设值确定为所述仿射图像块的运动矢量精度;或,根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
- 根据权利要求1至12中任一项所述的方法,其特征在于,所述根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理,包括:确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;对所述每个仿射运动补偿子图像块的预测残差信号进行编码。
- 根据权利要求13所述的方法,其特征在于,所述方法还包括:对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
- 根据权利要求14所述的方法,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号 与重建的残差信号之和。
- 一种视频图像解码的方法,其特征在于,包括:确定仿射图像块的运动矢量差异;确定所述仿射图像块的运动矢量精度;根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理。
- 根据权利要求16所述的方法,其特征在于,所述确定仿射图像块的运动矢量差异,包括:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
- 根据权利要求17所述的方法,其特征在于,所述根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量,包括:确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;其中,所述根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量,包括:确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
- 根据权利要求18所述的方法,其特征在于,所述方法还包括:确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求18所述的方法,其特征在于,所述方法还包括:确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值,包括:将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;其中,所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
- 根据权利要求18所述的方法,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;其中,所述确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;所述确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值,包括:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求19至21中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定仿射运动补偿子图像块的大小,包括:将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求19至21中任一项所述的方法,其特征在于,所述根据所述运动矢量差异、所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,包括:在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异 的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求17至23中任一项所述的方法,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
- 根据权利要求17至24中任一项所述的方法,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
- 根据权利要求23所述的方法,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
- 根据权利16至26中任一项所述的方法,其特征在于,所述确定所述仿射图像块的运动矢量精度,包括:将第三预设值确定为所述仿射图像块的运动矢量精度;或,根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
- 根据权利要求16至27中任一项所述的方法,其特征在于,所述根据所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理,包括:确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;对所述每个仿射运动补偿子图像块的预测残差信号进行解码。
- 根据权利要求28所述的方法,其特征在于,所述方法还包括:对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
- 根据权利要求29所述的方法,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号 与重建的残差信号之和。
- 一种编码设备,其特征在于,包括:第一确定模块,用于确定仿射图像块的运动矢量差异;第二确定模块,用于确定所述仿射图像块的运动矢量精度;第三确定模块,用于根据所述第一确定模块确定的所述运动矢量差异、所述第二确定模块确定的所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;编码模块,用于根据所述第三确定模块确定的所述仿射运动补偿子图像块的大小,对所述仿射图像块进行编码处理。
- 根据权利要求31所述的编码设备,其特征在于,所述第一确定模块具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
- 根据权利要求32所述的编码设备,其特征在于,所述第一确定模块具体用于:确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
- 根据权利要求33所述的编码设备,其特征在于,所述第一确定模块具体用于:确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的 像素点具有相同的仿射变换参数;根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求33所述的编码设备,其特征在于,所述第一确定模块具体用于:确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢量的竖直分量的差值,确定为所述第一竖直分量差值;将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
- 根据权利要求33所述的编码设备,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;其中,所述第一确定模块具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分 量差值、所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求34至36中任一项所述的编码设备,其特征在于,所述第三确定模块具体用于:将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求34至36中任一项所述的编码设备,其特征在于,所述第三确定模块具体用于:在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求32至38中任一项所述的编码设备,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
- 根据权利要求32至39中任一项所述的编码设备,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
- 根据权利要求38所述的编码设备,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
- 根据权利31至41中任一项所述的编码设备,其特征在于,所述第二确定模块具体用于:将第三预设值确定为所述仿射图像块的运动矢量精度;或,根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
- 根据权利要求31至42中任一项所述的编码设备,其特征在于,所述编码模块具体用于:确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;对所述每个仿射运动补偿子图像块的预测残差信号进行编码。
- 根据权利要求43所述的编码设备,其特征在于,所述编码设备还包括:滤波模块,用于对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
- 根据权利要求44所述的编码设备,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号与重建的残差信号之和。
- 一种解码设备,其特征在于,包括:第一确定模块,用于确定仿射图像块的运动矢量差异;第二确定模块,用于确定所述仿射图像块的运动矢量精度;第三确定模块,用于根据所述第一确定模块确定的所述运动矢量差异、所述第二确定模块确定的所述运动矢量精度和所述仿射图像块中的控制点之间的距离,确定所述仿射图像块中的仿射运动补偿子图像块的大小,所述控制点为用于确定所述运动矢量差异的像素点;解码模块,用于根据所述第三确定模块确定的所述仿射运动补偿子图像块的大小,对所述仿射图像块进行解码处理。
- 根据权利要求46所述的解码设备,其特征在于,所述第一确定模块具体用于:根据位于同一水平线上的第一控制点与第二控制点的运动矢量的差值,确定所述运动矢量差异的第一分量;根据位于同一竖直线上的第三控制点与第四控制点的运动矢量的差值,确定所述运动矢量差异的第二分量;其中,所述第一控制点与所述第二控制点之间具有第一水平距离,所述第三控制点与所述第四控制点之间具有第一竖直距离。
- 根据权利要求47所述的解码设备,其特征在于,所述第一确定模块具体用于:确定所述第一控制点与所述第二控制点的运动矢量的第一水平分量差值和第一竖直分量差值;将所述第一水平分量差值和所述第一竖直分量差值中的最大值确定为所述运动矢量差异的第一分量;确定所述第三控制点与所述第四控制点的运动矢量的第二水平分量差值和第二竖直分量差值;将所述第二水平分量差值和所述第二竖直分量差值中的最大值确定为所述运动矢量差异的第二分量。
- 根据权利要求48所述的解码设备,其特征在于,所述第一确定模块具体用于:确定所述仿射图像块内的像素点的仿射变换参数,所述仿射图像块内的像素点具有相同的仿射变换参数;根据所述仿射变换参数和所述第一水平距离,确定所述第一水平分量差值和所述第一竖直分量差值;根据所述仿射变换参数和所述第一竖直距离,确定所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求48所述的解码设备,其特征在于,所述第一确定模块具体用于:确定所述第一控制点的运动矢量、所述第二控制点的运动矢量、所述第三控制点的运动矢量和所述第四控制点的运动矢量;将所述第一控制点的运动矢量的水平分量与所述第二控制点的运动矢量的水平分量的差值确定为所述第一水平分量差值;将所述第一控制点的运动矢量的竖直分量和所述第二控制点的运动矢 量的竖直分量的差值,确定为所述第一竖直分量差值;将所述第三控制点的运动矢量的水平分量与所述第四控制点的运动矢量的水平分量的差值确定为所述第二水平分量差值;将所述第三控制点的运动矢量的竖直分量和所述第四控制点的运动矢量的竖直分量的差值,确定为所述第二竖直分量差值。
- 根据权利要求48所述的解码设备,其特征在于,所述第一控制点与所述第二控制点为相邻的两个像素点,所述第三控制点与所述第四控制点为相邻的两个像素点;其中,所述第一确定模块具体用于:确定第一像素点的运动矢量、第二像素点的运动矢量和第三像素点的运动矢量,所述第一像素点、所述第二像素点和所述第三像素点为互相不重合的像素点;确定所述第一像素点与所述第二像素点之间的第二水平距离和第二竖直距离;确定所述第一像素点与所述第三像素点之间的第三水平距离和第三竖直距离;根据所述第一像素点的运动矢量、所述第二像素点的运动矢量、所述第三像素点的运动矢量、所述第二水平距离、所述第二竖直距离、所述第三水平距离和所述第三竖直距离,确定所述第一水平分量差值、所述第一竖直分量差值、所述第二水平分量差值和所述第二竖直分量差值。
- 根据权利要求49至51中任一项所述的解码设备,其特征在于,所述第三确定模块具体用于:将所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值确定为所述仿射运动补偿子图像块的水平方向的长度;将所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求49至51中任一项所述的解码设备,其特征在于,所述第三确定模块具体用于:在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值大于或等于第一预设值时,将所述比值确定为所述仿射运动补偿子图像块的水平方向的长度,或,在所述运动矢量精度与所述第一水平距离的乘积与所述运动矢量差异的第一分量的比值小于所述第一预设值时,将所述第一预设值确定为所述仿射运动补偿子图像块的水平方向的长度;在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值大于或等于第二预设值时,将所述比值确定为所述仿射运动补偿子图像块的竖直方向的长度,或,在所述运动矢量精度与所述第一竖直距离的乘积与所述运动矢量差异的第二分量的比值小于所述第二预设值时,将所述第二预设值确定为所述仿射运动补偿子图像块的竖直方向的长度。
- 根据权利要求47至53中任一项所述的解码设备,其特征在于,所述第一控制点与所述第三控制点为同一个像素点。
- 根据权利要求47至54中任一项所述的解码设备,其特征在于,所述第一控制点、所述第二控制点、所述第三控制点和所述第四控制点为所述仿射图像块的顶点。
- 根据权利要求53所述的解码设备,其特征在于,所述第一预设值为4,和/或,所述第二预设值为4。
- 根据权利46至56中任一项所述的解码设备,其特征在于,所述第二确定模块具体用于:将第三预设值确定为所述仿射图像块的运动矢量精度;或,根据所述仿射图像块的邻近图像块的特性确定所述仿射图像块的运动矢量精度,所述邻近图像块为与所述仿射图像块在空间上和/或时间上相邻的图像块。
- 根据权利要求46至57中任一项所述的解码设备,其特征在于,所述解码模块具体用于:确定所述仿射运动补偿子图像块中每个仿射运动补偿子图像块的运动矢量;根据所述每个仿射运动补偿子图像块的运动矢量,确定所述每个仿射运动补偿子图像块的运动补偿预测信号;根据所述每个仿射运动补偿子图像块的运动补偿预测信号,确定所述每个仿射运动补偿子图像块的预测残差信号;对所述每个仿射运动补偿子图像块的预测残差信号进行解码。
- 根据权利要求58所述的解码设备,其特征在于,所述解码设备还包括:滤波模块,用于对所述每个仿射运动补偿子图像块的边界像素点的信号进行滤波,所述边界像素点为位于每个仿射运动补偿子图像块的边界的一行或多行像素点。
- 根据权利要求59所述的解码设备,其特征在于,所述边界像素点的信号包括运动补偿预测信号和/或重建信号,所述重建信号为运动补偿预测信号与重建的残差信号之和。
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)
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)
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)
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)
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 | 三菱電機株式会社 | パワーモジュール |
-
2015
- 2015-05-15 CN CN201811104435.5A patent/CN109005407B/zh active Active
- 2015-05-15 CN CN201510249484.8A patent/CN106303543B/zh active Active
-
2016
- 2016-03-30 WO PCT/CN2016/077784 patent/WO2016184261A1/zh active Application Filing
- 2016-03-30 MY MYPI2017704310A patent/MY183126A/en unknown
- 2016-03-30 MX MX2017014652A patent/MX2017014652A/es active IP Right Grant
- 2016-03-30 JP JP2017559585A patent/JP6978944B2/ja active Active
- 2016-03-30 KR KR1020207024140A patent/KR102257653B1/ko active IP Right Grant
- 2016-03-30 AU AU2016264380A patent/AU2016264380B2/en active Active
- 2016-03-30 RU RU2017143768A patent/RU2689426C1/ru active
- 2016-03-30 EP EP16795748.9A patent/EP3291557B1/en active Active
- 2016-03-30 SG SG11201709418UA patent/SG11201709418UA/en unknown
- 2016-03-30 KR KR1020177035893A patent/KR102297921B1/ko active IP Right Grant
- 2016-03-30 CA CA2985868A patent/CA2985868C/en active Active
- 2016-03-30 ES ES16795748T patent/ES2900232T3/es active Active
- 2016-03-30 EP EP21205488.6A patent/EP4033765A1/en active Pending
- 2016-03-30 KR KR1020197031419A patent/KR102148804B1/ko active IP Right Grant
-
2017
- 2017-11-14 US US15/812,719 patent/US10390036B2/en active Active
- 2017-11-15 MX MX2020011278A patent/MX2020011278A/es unknown
-
2018
- 2018-03-29 HK HK18104331.0A patent/HK1244984A1/zh unknown
-
2019
- 2019-07-08 US US16/505,182 patent/US10887618B2/en active Active
-
2020
- 2020-07-01 JP JP2020114144A patent/JP6978552B2/ja active Active
- 2020-12-15 US US17/122,844 patent/US11490115B2/en active Active
-
2021
- 2021-11-11 JP JP2021184230A patent/JP7260620B2/ja active Active
-
2022
- 2022-09-09 US US17/941,895 patent/US11949908B2/en active Active
-
2023
- 2023-04-06 JP JP2023062068A patent/JP7507922B2/ja active Active
Patent Citations (6)
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)
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
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 |