CN111556323A - 图像编解码方法及装置 - Google Patents
图像编解码方法及装置 Download PDFInfo
- Publication number
- CN111556323A CN111556323A CN202010262939.0A CN202010262939A CN111556323A CN 111556323 A CN111556323 A CN 111556323A CN 202010262939 A CN202010262939 A CN 202010262939A CN 111556323 A CN111556323 A CN 111556323A
- Authority
- CN
- China
- Prior art keywords
- unit
- motion vector
- decoded
- coded
- determining
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 239000013598 vector Substances 0.000 claims abstract description 901
- 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 description 29
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000013139 quantization Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000012163 sequencing technique Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction 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/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/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/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/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/157—Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
-
- 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/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/182—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 a pixel
-
- 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/44—Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
-
- 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/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
- H04N19/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例提供一种图像编解码方法及装置。本发明的图像编码方法包括按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元;N个已编码单元与待编码单元的运动预测模式相同;根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组;n取遍不大于N的所有正整数;按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组;根据最优运动矢量组采用第二预设算法确定待编码单元中每个像素单元的预测像素值;对每个像素单元的预测残差值和最优运动矢量组的索引标识进行编码获得待编码单元对应的码流。本发明实施例可提高编解码准确度。
Description
技术领域
本发明实施例涉及图像处理技术,尤其涉及一种图像编解码方法及装置。
背景技术
视频会议、视频监控和网络电视等视频多媒体应用在生活工作中的广泛应用,使得视频图像质量、视频图像传输以及视频图像存储的需求越来越高,这使得图像编码技术应运而生。该图像编码技术可以通过对视频图像数据进行编码,减少视频图像数据的冗余信息,方便视频图像传输和存储,保证视频图像的质量。
现有的图像编码方法可以采用帧间预测(Intra-Picture Prediction)编码方式,根据待编码单元的相邻已编码单元的运动矢量确定该待编码单元的运动矢量,并根据该待编码单元的运动矢量确定该待编码单元的预测像素值,继而对该待编码单元的原始像素值和该预测像素值的残差值进行编码获得该待编码单元的码流。
由于该相邻已编码单元与该待编码单元的运动相关性,也对该待编码单元的运动矢量造成影响,因而该现有的图像编码方法中所确定的该待编码单元的运动矢量不够准确,从而使得图像编码的准确度较低。
发明内容
本发明实施例提供一种图像编解码方法及装置,以提供图像编解码的准确度。
本发明实施例提供一种图像编码方法,包括:
按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元;其中,N个已编码单元与待编码单元的运动预测模式相同;N为正整数;
根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组;n取遍不大于N的所有正整数;
按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组;
根据所述最优运动矢量组采用第二预设算法确定所述待编码单元中每个像素单元的预测像素值;
根据所述每个像素单元的原始像素值与所述每个像素单元的预测像素值的差值确定所述每个像素单元的预测残差值;
对所述每个像素单元的预测残差值和所述最优运动矢量组的索引标识进行编码获得所述待编码单元对应的码流;所述最优运动矢量组的索引标识用于指示解码装置确定所述每个像素单元的预测像素值。
可选的,根据第n已编码单元的运动矢量按照第一预设算法生成第n运动矢量组,可包括:
根据第n已编码单元的运动矢量、第n已编码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待编码单元的M个控制点的运动矢量预测值;
根据M个控制点的运动矢量预测值,生成第n运动矢量组;M为根据待编码单元的运动预测模式确定的正整数。
可选的,M个控制点包括所述待编码单元的左上顶点和右上顶点;
上述根据第n已编码单元的运动矢量、第n已编码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待编码单元的M个控制点的运动矢量预测值,包括:
根据第n已编码单元的左上顶点的运动矢量(vx2,vy2)、第n已编码单元的右上顶点的运动矢量(vx3,vy3)、第n已编码单元的左下顶点的运动矢量(vx4,vy4)、第n已编码单元的左上顶点的像素坐标(x2,y2)、第n已编码单元的右上顶点的像素坐标(x3,y3)、第n已编码单元的左下顶点的像素坐标(x4,y4)和待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出待编码单元的左上顶点的运动矢量预测值(vx0,vy0);
根据第n已编码单元的左上顶点的运动矢量(vx2,vy2)、第n已编码单元的右上顶点的运动矢量(vx3,vy3)、第n已编码单元的左上顶点的像素坐标(x2,y2)、第n已编码单元的右上顶点的像素坐标(x3,y3)、待编码单元的左上顶点的运动矢量预测值(vx0,vy0)、待编码单元的左上顶点的像素坐标(x0,y0)及待编码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出待编码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组,可包括:
按照预设排序规则对N个运动矢量组进行排序,生成候选运动矢量队列;
若N大于或等于预设值,确定候选运动矢量队列中前预设个数的运动矢量组;
确定前预设个数的运动矢量组中各运动矢量组与待编码单元的匹配误差;
确定匹配误差最小的一个运动矢量组为最优运动矢量组。
可选的,预设排序规则包括:N个已编码单元从大到小的顺序。
可选的,按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组,可以包括:
按照预设排序规则对N个运动矢量组进行排序;
若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于预设值,Q为正整数;
将Q个运动矢量组排列至N个运动矢量组之后,生成候选运动矢量队列;
确定候选运动矢量队列中前预设个数的运动矢量组;
确定前预设个数的运动矢量组中各运动矢量组与待编码单元的匹配误差;
确定匹配误差最小的一个运动矢量组为最优运动矢量组。
可选的,生成Q个运动矢量组可包括:
从相邻已编码单元中确定待编码单元中第m控制点对应的已编码单元;第m控制点对应的已编码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将第m控制点对应的已编码单元的运动矢量,确定为第m控制点的运动矢量预测值;
根据M个控制点的运动矢量预测值,生成Q个运动矢量组。
可替代地,生成Q个运动矢量组可包括:
从相邻已编码单元中确定待编码单元中第m控制点对应的已编码单元;第m控制点对应的已编码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将第m控制点对应的已编码单元的运动矢量,确定为第m控制点的第一运动矢量预测值;
根据M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;
将相邻已编码单元中第j个已编码单元的运动矢量,确定为第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为相邻已编码单元的个数;J为正整数;
根据M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;
将K个第一运动矢量组排列至L个第二运动矢量组之后,生成Q个运动矢量组。
可选的,将Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列,可包括:
确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;
根据Q个运动矢量组对应的特征值,按照从小到大的顺序,对Q个运动矢量组进行排序;
将排序后的Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列。
可选的,确定第q个运动矢量组对应的特征值,包括:
确定第q个运动矢量组中M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;
比较差值的绝对值与预设分量阈值的大小;预设分量阈值为待编码单元在同一预测方向上的范围;
若差值的绝对值小于或等于预设分量阈值,则确定第q个运动矢量组对应的特征值。
可选的,确定第q个运动矢量组对应的特征值可包括:
从该相邻已编码单元中确定另一控制点对应的已编码单元;该另一控制点对应的已编码单元与该另一控制点间的距离小于或等于预设距离;该另一控制点为待编码单元中M个控制点外的任一控制点;
将另一控制点对应的已编码单元的运动矢量,确定为另一控制点的运动矢量预测值;
根据另一控制点的运动矢量预测值和第q个运动矢量组中的M个控制点的运动矢量预测值,采用第三预设算法确定第q个运动矢量组对应的特征值。
可选的,待编码单元的运动预测模式包括:平移运动预测模式或仿射运动预测模式。
本发明实施例还提供一种图像解码方法,包括:
根据第一预设规则从待解码单元的相邻已解码单元中确定出N个已解码单元;其中,述N个已解码单元与待解码单元的运动预测模式相同;N为正整数;
根据第n已解码单元的运动矢量采用第一预设算法确定生成第n运动矢量组;n取遍不大于N的所有正整数;
对待解码单元对应的码流进行解码,获得每个像素单元的预测残差值和最优运动矢量组的索引标识;
根据最优运动矢量组的索引标识确定N个运动矢量组中的最优运动矢量组;
根据最优运动矢量组采用第二预设算法确定待解码单元中每个像素单元的预测像素值;
根据每个像素单元的预测像素值和每个像素单元的预测残差值的和确定每个像素单元的重建像素值。
可选的,根据第n已解码单元的运动矢量按照第一预设算法生成第n运动矢量组,可包括:
根据第n已解码单元的运动矢量、第n已解码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待解码单元的M个控制点的运动矢量预测值;
根据M个控制点的运动矢量预测值,生成第n运动矢量组;M为根据待解码单元的运动预测模式确定的正整数。
可选的,M个控制点包括:待解码单元的左上顶点和右上顶点;
根据第n已解码单元的运动矢量、该第n已解码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待解码单元的M个控制点的运动矢量预测值,包括:
根据第n已解码单元的左上顶点的运动矢量(vx2,vy2)、第n已解码单元的右上顶点的运动矢量(vx3,vy3)、第n已解码单元的左下顶点的运动矢量(vx4,vy4)、第n已解码单元的左上顶点的像素坐标(x2,y2)、第n已解码单元的右上顶点的像素坐标(x3,y3)、第n已解码单元的左下顶点的像素坐标(x4,y4)和待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出待解码单元的左上顶点的运动矢量预测值(vx0,vy0);
根据第n已解码单元的左上顶点的运动矢量(vx2,vy2)、第n已解码单元的右上顶点的运动矢量(vx3,vy3)、第n已解码单元的左上顶点的像素坐标(x2,y2)、第n已解码单元的右上顶点的像素坐标(x3,y3)、待解码单元的左上顶点的运动矢量预测值(vx0,vy0)、待解码单元的左上顶点的像素坐标(x0,y0)及待解码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出待解码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,根据最优运动矢量组的索引标识确定N个运动矢量组中的最优运动矢量组,可包括:
按照预设排序规则对N个运动矢量组进行排序,生成候选运动矢量队列;
若N大于或等于预设值,确定候选运动矢量队列中前预设个数的运动矢量组;
根据最优运动矢量组的索引标识确定前预设个数的运动矢量组中的最优运动矢量组。
可选的,预设排序规则包括:N个已解码单元的从大到小的顺序。
可选的,根据最优运动矢量组的索引标识确定N个运动矢量组中的最优运动矢量组,可包括:
按照预设排序规则对N个运动矢量组进行排序;
若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于所述预设值,Q为正整数;
将Q个运动矢量组排列至N个运动矢量组之后,生成候选运动矢量队列;
确定候选运动矢量队列中前预设个数的运动矢量组;
根据最优运动矢量组的索引标识确定前预设个数的运动矢量组中的最优运动矢量组。
可选的,生成Q个运动矢量组包括:
从相邻已解码单元中确定待解码单元中第m控制点对应的已解码单元;第m控制点对应的已解码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将第m控制点对应的已解码单元的运动矢量,确定为第m控制点的运动矢量预测值;
根据M个控制点的运动矢量预测值,生成Q个运动矢量组。
可替代的,生成Q个运动矢量组包括:
从相邻已解码单元中确定待解码单元中第m控制点对应的已解码单元;第m控制点对应的已解码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将第m控制点对应的已解码单元的运动矢量,确定为第m控制点的第一运动矢量预测值;
根据M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;
将相邻已解码单元中第j个已解码单元的运动矢量,确定为第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为相邻已解码单元的个数;J为正整数;
根据M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;
将K个第一运动矢量组排列至L个第二运动矢量组之后,生成Q个运动矢量组。
可选的,将Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列,包括:
确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;
根据Q个运动矢量组对应的特征值,按照从小到大的顺序,对Q个运动矢量组进行排序;
将排序后的Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列。
可选的,确定第q个运动矢量组对应的特征值,包括:
确定第q个运动矢量组中M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;
比较差值的绝对值与预设分量阈值的大小;预设分量阈值为待解码单元在同一预测方向上的范围;
若差值的绝对值小于或等于预设分量阈值,则确定第q个运动矢量组对应的特征值。
可选的,确定第q个运动矢量组对应的特征值包括:
从相邻已解码单元中确定另一控制点对应的已解码单元;另一控制点对应的已解码单元与另一控制点间的距离小于或等于预设距离;另一控制点为待解码单元中M个控制点外的任一控制点;
将另一控制点对应的已解码单元的运动矢量,确定为另一控制点的运动矢量预测值;
根据另一控制点的运动矢量预测值和第q个运动矢量组中的M个控制点的运动矢量预测值,采用第三预设算法确定第q个运动矢量组对应的特征值。
可选的,待解码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。
本发明实施例还提供一种图像编码装置,包括:
确定模块,用于按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元;其中,N个已编码单元与待编码单元的运动预测模式相同;N为正整数;
计算模块,用于根据确定模块确定的第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组;n取遍不大于N的所有正整数;
确定模块,还用于按照第二预设规则在计算模块得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组;
计算模块,还用于根据确定模块确定的最优运动矢量组采用第二预设算法确定待编码单元中每个像素单元的预测像素值,根据每个像素单元的原始像素值与每个像素单元的预测像素值的差值确定每个像素单元的预测残差值;
编码模块,用于对每个像素单元的预测残差值和最优运动矢量组的索引标识进行编码获得待编码单元对应的码流;最优运动矢量组的索引标识用于指示解码装置确定每个像素单元的预测像素值。
可选的,计算模块,具体用于根据确定模块确定的第n已编码单元的运动矢量、第n已编码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待编码单元的M个控制点的运动矢量预测值;根据该M个控制点的运动矢量预测值,生成该第n运动矢量组;M为根据该待编码单元的运动预测模式确定的正整数。
可选的,M个控制点包括:待编码单元的左上顶点和右上顶点;
计算模块,具有用于根据确定模块确定的第n已编码单元的左上顶点的运动矢量(vx2,vy2)、第n已编码单元的右上顶点的运动矢量(vx3,vy3)、第n已编码单元的左下顶点的运动矢量(vx4,vy4)、第n已编码单元的左上顶点的像素坐标(x2,y2)、第n已编码单元的右上顶点的像素坐标(x3,y3)、第n已编码单元的左下顶点的像素坐标(x4,y4)和待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出待编码单元的左上顶点的运动矢量预测值(vx0,vy0);
计算模块,还用于根据确定模块确定的第n已编码单元的左上顶点的运动矢量(vx2,vy2)、第n已编码单元的右上顶点的运动矢量(vx3,vy3)、第n已编码单元的左上顶点的像素坐标(x2,y2)、第n已编码单元的右上顶点的像素坐标(x3,y3)、待编码单元的左上顶点的运动矢量预测值(vx0,vy0)、待编码单元的左上顶点的像素坐标(x0,y0)及待编码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出待编码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,确定模块,具体用于按照预设排序规则对N个运动矢量组进行排序,生成候选运动矢量队列,若N大于或等于预设值,确定候选运动矢量队列中前预设个数的运动矢量组,确定前预设个数的运动矢量组中各运动矢量组与待编码单元的匹配误差,确定匹配误差最小的一个运动矢量组为最优运动矢量组。
可选的,预设排序规则包括:N个已编码单元从大到小的顺序。
可选的,确定模块,还用于按照预设排序规则对N个运动矢量组进行排序;若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于预设值,Q为正整数;将Q个运动矢量组排列至N个运动矢量组之后,生成候选运动矢量队列;确定候选运动矢量队列中前预设个数的运动矢量组;确定前预设个数的运动矢量组中各运动矢量组与待编码单元的匹配误差;确定匹配误差最小的一个运动矢量组为最优运动矢量组。
可选的,确定模块,还用于从相邻已编码单元中确定待编码单元中第m控制点对应的已编码单元;第m控制点对应的已编码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将第m控制点对应的已编码单元的运动矢量,确定为第m控制点的运动矢量预测值;根据M个控制点的运动矢量预测值,生成Q个运动矢量组。
可选的,确定模块,还用于从相邻已编码单元中确定待编码单元中第m控制点对应的已编码单元;第m控制点对应的已编码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将第m控制点对应的已编码单元的运动矢量,确定为第m控制点的第一运动矢量预测值;根据M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;将相邻已编码单元中第j个已编码单元的运动矢量,确定为第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为相邻已编码单元的个数,J为正整数;根据M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;将K个第一运动矢量组排列至L个第二运动矢量组之后,生成Q个运动矢量组。
可选的,确定模块,还用于确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;根据Q个运动矢量组对应的特征值,按照从小到大的顺序,对Q个运动矢量组进行排序;将排序后的Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列。
可选的,确定模块,还用于确定第q个运动矢量组中M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;比较差值的绝对值与预设分量阈值的大小;预设分量阈值为待编码单元在所述同一预测方向上的范围;若差值的绝对值小于或等于预设分量阈值,则确定第q个运动矢量组对应的特征值。
可选的,确定模块,还用于从相邻已编码单元中确定另一控制点对应的已编码单元;另一控制点对应的已编码单元与另一控制点间的距离小于或等于预设距离;另一控制点为待编码单元中M个控制点外的任一控制点;将另一控制点对应的已编码单元的运动矢量,确定为另一控制点的运动矢量预测值;根据另一控制点的运动矢量预测值和第q个运动矢量组中的M个控制点的运动矢量预测值,采用第三预设算法确定第q个运动矢量组对应的特征值。
可选的,待编码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。
本发明实施例还提供一种图像解码装置,包括:
确定模块,用于根据第一预设规则从待解码单元的相邻已解码单元中确定出N个已解码单元;其中,N个已解码单元与待解码单元的运动预测模式相同;N为正整数;
计算模块,用于根据确定模块确定的第n已解码单元的运动矢量采用第一预设算法确定生成第n运动矢量组;n取遍不大于N的所有正整数;
解码模块,用于对待解码单元对应的码流进行解码,获得每个像素单元的预测残差值和最优运动矢量组的索引标识;
确定模块,还用于根据解码模块确定的最优运动矢量组的索引标识确定N个运动矢量组中的最优运动矢量组;
计算模块,还用于根据确定模块确定的最优运动矢量组采用第二预设算法确定待解码单元中每个像素单元的预测像素值,根据每个像素单元的预测像素值和每个像素单元的预测残差值的和确定每个像素单元的重建像素值。
可选的,计算模块,具有用于根据确定模块确定的第n已解码单元的运动矢量、第n已解码单元的像素坐标和M个控制点的像素坐标,采用第一预设算法确定出待解码单元的M个控制点的运动矢量预测值;根据M个控制点的运动矢量预测值,生成第n运动矢量组;M为根据待解码单元的运动预测模式确定的正整数。
可选的,M个控制点包括待解码单元的左上顶点和右上顶点;
计算模块,具体用于根据确定模块确定的第n已解码单元的左上顶点的运动矢量(vx2,vy2)、第n已解码单元的右上顶点的运动矢量(vx3,vy3)、第n已解码单元的左下顶点的运动矢量(vx4,vy4)、第n已解码单元的左上顶点的像素坐标(x2,y2)、第n已解码单元的右上顶点的像素坐标(x3,y3)、第n已解码单元的左下顶点的像素坐标(x4,y4)和待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出待解码单元的左上顶点的运动矢量预测值(vx0,vy0);
计算模块,具体还用于根据确定模块确定的第n已解码单元的左上顶点的运动矢量(vx2,vy2)、第n已解码单元的右上顶点的运动矢量(vx3,vy3)、第n已解码单元的左上顶点的像素坐标(x2,y2)、第n已解码单元的右上顶点的像素坐标(x3,y3)、待解码单元的左上顶点的运动矢量预测值(vx0,vy0)、待解码单元的左上顶点的像素坐标(x0,y0)及待解码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出待解码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,确定模块,还用于按照预设排序规则对N个运动矢量组进行排序,生成候选运动矢量队列;若N大于或等于预设值,确定候选运动矢量队列中前预设个数的运动矢量组;根据最优运动矢量组的索引标识确定前预设个数的运动矢量组中的该最优运动矢量组。
可选的,预设排序规则包括:N个已解码单元的从大到小的顺序。
可选的,确定模块,还用于按照预设排序规则对N个运动矢量组进行排序;若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于预设值,Q为正整数;将Q个运动矢量组排列至N个运动矢量组之后,生成候选运动矢量队列;确定候选运动矢量队列中前预设个数的运动矢量组;根据最优运动矢量组的索引标识确定前预设个数的运动矢量组中的最优运动矢量组。
可选的,确定模块,还用于从相邻已解码单元中确定待解码单元中第m控制点对应的已解码单元;第m控制点对应的已解码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将第m控制点对应的已解码单元的运动矢量,确定为第m控制点的运动矢量预测值;根据M个控制点的运动矢量预测值,生成Q个运动矢量组。
可选的,确定模块,还用于从相邻已解码单元中确定待解码单元中第m控制点对应的已解码单元;第m控制点对应的已解码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将第m控制点对应的已解码单元的运动矢量,确定为第m控制点的第一运动矢量预测值;根据M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;将相邻已解码单元中第j个已解码单元的运动矢量,确定为第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为相邻已解码单元的个数;J为正整数;根据M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;将K个第一运动矢量组排列至L个第二运动矢量组之后,生成Q个运动矢量组。
可选的,确定模块,还用于确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;根据Q个运动矢量组对应的特征值,按照从小到大的顺序,对Q个运动矢量组进行排序;将排序后的Q个运动矢量组添加至排序后的N个运动矢量组之后,生成候选运动矢量队列。
可选的,确定模块,还用于确定第q个运动矢量组中M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;比较差值的绝对值与预设分量阈值的大小;预设分量阈值为待解码单元在同一预测方向上的范围;若差值的绝对值小于或等于预设分量阈值,则确定第q个运动矢量组对应的特征值。
可选的,确定模块,还用于从相邻已解码单元中确定另一控制点对应的已解码单元;另一控制点对应的已解码单元与另一控制点间的距离小于或等于预设距离;另一控制点为待解码单元中M个控制点外的任一控制点;将另一控制点对应的已解码单元的运动矢量,确定为另一控制点的运动矢量预测值;根据另一控制点的运动矢量预测值和第q个运动矢量组中的M个控制点的运动矢量预测值,采用第三预设算法确定第q个运动矢量组对应的特征值。
可选的,待解码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。
本发明实施例还提供一种图像编码装置,包括:处理器、存储器、通信接口和总线;其中,处理器与存储器、通信接口通过总线连接;
存储器用于存储指令;
处理器用于执行指令,当处理器执行存储器存储的指令时,使得处理器执行上述任一图像编码方法。
本发明实施例还提供一种图像解码装置,包括:处理器、存储器、通信接口和总线;其中,处理器与存储器、通信接口通过总线连接;
存储器用于存储指令;
处理器用于执行指令,当处理器执行存储器存储的指令时,使得处理器执行上述任一的图像解码方法。
本发明实施例图像编解码方法及装置,可根据第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元,该N个已编码单元与该待编码单元的运动预测模式相同,N为正整数,根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组,n取遍不大于N的所有正整数;按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组;根据该最优运动矢量组采用第二预设算法确定该待编码单元中每个像素单元的预测像素值,根据该每个像素单元的原始像素值与该每个像素单元的预测像素值的差值确定该每个像素单元的预测残差值,对该每个像素单元的预测残差值和该最优运动矢量组的索引标识进行编码获得该待编码单元对应的码流,该最优运动矢量组的索引标识用于指示解码装置确定该每个像素单元的预测像素值。由于该N个已编码单元与该待编码单元的运动预测模式相同,则该N个已编码单元与该待编码单元的运动相关性较高,而该最优运动矢量组是从根据该N个已编码单元的运动矢量确定的N个运动矢量组中确定的,那么根据该最优运动矢量组确定该待编码单元中每个像素单元的预测像素值则更准确,编码准确度更高。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的图像编码方法的流程图;
图2为本发明实施例一的图像编码方法中待编码单元与相邻已编码单元的结构示意图;
图3为本发明实施例二提供的一种图编码方法的流程图;
图4为本发明实施例三提供的一种图像解码方法的流程图;
图5为本发明实施例四提供的一种图像编码装置的结构示意图;
图6为本发明实施例五提供的一种图像解码装置的结构示意图;
图7为本发明实施例六提供的图像编码装置的结构示意图;
图8为本发明实施例七提供的图像解码装置的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的图像编码方法及装置、图像解码方法及装置,可应用于卫星及陆上电视广播***、视频会议、安防监控、医疗示教、课堂录播、庭审***等场景中,通过采用帧间预测模式对视频图像的待处理单元进行运动预测,从而根据该运动预测结果对该视频图像进行编解码。其中,该图像编码方法及装置,可通过运动预测获得该视频图像中待编码单元中各像素单元的预测像素值,并对该各像素单元的预测像素值与该各像素单元的原始像素值的差值进行编码获得该待编码单元对应的码流,以通过对该待编码单元对应的码流进行存储或传输实现该待编码单元对应的图像的存储或传输。对应的,该图像解码方法及装置,可通过运动预测获得该视频图像中待解码单元中各像素单元的预测像素值,通过对该待解码单元对应的码流进行解码,获得该待解码单元的各像素单元的预测像素值与该各像素单元的原始像素值的差值,继而根据该差值与该预测像素值获得该各像素单元的重建像素值,从而可根据该各像素单元的重建像素值获得该待解码单元对应的图像。该待解码单元对应的码流例如可以为该图像解码装置接收到的图像编码装置传输的,也可以为该图像解码装置从存储设备中获取到的,该存储设备中的码流可以为该图像解码装置存储在该存储设备。
本发明实施例一提供一种图像编码方法。该图像编码方法可由图像编码装置执行,该图像编码装置例如可以通过软件和/或硬件的形式集成在具有图像处理功能的电子设备中,该电子设备例如可以为智能终端、个人计算机、消费电子产品的或视频服务器等。图1为本发明实施例一提供的图像编码方法的流程图。如图1所示,该方法可包括:
S101、按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元;其中,N个已编码单元与该待编码单元的运动预测模式相同。
具体地,该待编码单元可以为高效视频编码(High Efficiency Video Coding,简称HEVC)标准及后续编码标准中的编码单元(Coding Unit,简称CU)。在该HEVC标准中,最大的编码单元可以为编码树单元(Coding Tree Unit,简称CTU),每个CTU逐级划分可获得更小的CU。该CU的大小可包括四个级别,如64×64、32×32、16×16、8×8四个级别。其中,64×64级别的CU包括:64×64个像素点;32×32级别的CU包括:32×32个像素点;16×16级别的CU包括:16×16个像素点;8×8级别的CU包括:8×8个像素点。该待编码单元可以为64×64、32×32、16×16、8×8四个级别中任一级别对应的编码单元。
视频图像中一个帧图像内的不同编码单元之间相互独立,该不同编码单元的可能相同,也可能不同。也就是说,在每个帧图像中,该图像编码装置可以是以每个编码单元为单位进行编码,那么对该不同编码单元进行编码使用的运动预测模式可能相同,也可能不同。该图像编码装置可采用编码单元的运动预测模式对该编码单元中的各像素单元进行运动预测,以确定该各像素单元的预测像素值,继而实现编码。该运动预测模式可用以确定编码单元中控制点的运动矢量,继而确定编码单元中各像素单元的像素预测值。该像素单元例如可以包括:像素点或像素分块,其中,像素分块可包括多个像素点。
该待编码单元的相邻已编码单元可以为与该待编码单元的各边界相邻的位置的已编码单元。
如上所述的S101中按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元,可以是包括:采用预设的遍历顺序,对该待编码单元的相邻已编码单元进行遍历,从而确定该相邻已编码单元中,确定运动预测模式与该待编码单元相同的N个已编码单元。其中,该对该相邻已编码单元进行遍历,可以是判断该相邻已编码单元的运动预测模式与该待编码单元的运动预测模式是否相同。对于已编码单元来说,运动预测模式是确定的,则该相邻已编码单元的运动预测模式可以为该相邻已编码单元进行编码时所采用的运动预测模式。该待编码单元的运动预测模式可以预测的运动预测模式。
如上所述S101中按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元之后,该方法还可包括:
确定该运动预测模式对应的指示信息。
若该运动预测模式包括仿射运动预测模式,可以确定该仿射运动预测模式对应的指示信息,如语法元素仿射-合并-标签(affine-merge-flag),并将该affine-merge-flag配置为1。
若该运动预测模式包括仿射运动预测模式,但该相邻已编码单元中没有与该待编码单元的运动预测模式相同的已编码单元,则可该affine-merge-flag配置为0。
举例来说,若该待编码单元的运动预测模式可以为仿射运动预测模式,则图像编码装置例如可以是采用预设的遍历顺序,对该待编码单元的相邻已编码单元进行遍历,确定该相邻已编码单元中,确定运动预测模式为仿射运动预测模式的N个已编码单元。该仿射运动预测模式也可称为仿射变换运动预测模式。该预设的遍历顺序可以为该待编码单元的所有相邻已编码单元的遍历顺序。该N个已编码单元中每个已编码单元例如可以为一个4×4的单元。
图2为本发明实施例一的图像编码方法中待编码单元与相邻已编码单元的结构示意图。如图2所示,该待编码单元的相邻已编码单元例如可包括:已编码单元A、已编码单元B、已编码单元C、已编码单元D及已编码单元E。若该待编码单元的运动预测模式为仿射运动预测模式,则该待编码单元的控制点可以为多个,如2个。该2个控制点例如可以为该待编码单元中左上顶点和该待编码单元中右上顶点。该待编码单元中左上顶点可表示为像素单元0,该待编码单元中右上顶点可表示为像素单元1。
该图像编码装置可以是在第一预测方向上,依次对已编码单元A、已编码单元B进行遍历,找到该第一预测方向上的第一个运动预测模式为仿射运动预测模式的已编码单元,如已编码单元B;在第二预测方向上,依次对已编码单元C、已编码单元D及已编码单元E进行遍历,找到第一个运动预测模式为仿射运动预测模式的已编码单元,如已编码单元D。
可替换的,该图像编码装置可以是依次根据已编码单元A、已编码单元B、已编码单元C、已编码单元D及已编码单元E进行遍历,找到第一个运动预测模式为仿射运动预测模式的已编码单元,如已编码单元B。
S102、根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组,n取遍不大于N的所有正整数。
可选的,S102中根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组可以包括:
根据该第n已编码单元的运动矢量、该第n已编码单元的像素坐标,以及该待编码单元的M个控制点的像素坐标,采用该第一预设算法确定出该M个控制点的运动矢量预测值;M为根据该待编码单元的运动预测模式确定的正整数;
根据该M个控制点的运动矢量预测值,生成该第n运动矢量组。
具体地,该M个控制点可包括位于该待编码单元的顶点位置的像素单元。若该待编码单元的运动预测模式为仿射运动预测模式,则该M可以为多个,该M个控制点可以包括该待编码单元中的M个顶点。
举例来说,若该待编码单元的运动预测模式为仿射运动预测模式,M可以为2,该M个控制点例如可以包括该待编码单元中左上顶点和该待编码单元中右上顶点。该待编码单元中左上顶点可以为图2中的像素单元0,该待编码单元中右上顶点可以为图2中的像素单元1。若该S101中确定的N个已编码单元中第n已编码单元例如可以为图2中的已编码单元B。以下,以已编码单元B为例进行说明,该图2中该已编码单元B中的至少两个像素单元可以为3个,可分别为该已编码单元B中左上顶点、该已编码单元B中右上顶点、该已编码单元B中左下顶点。其中,该已编码单元B中左上顶点可以为像素单元2、该已编码单元B中右上顶点可表示为像素单元3,该已编码单元B中左下顶点可表示为像素单元4。
如上所述根据该第n已编码单元的运动矢量、该第n已编码单元的像素坐标和该M个控制点的像素坐标,采用该第一预设算法确定出该待编码单元的M个控制点的运动矢量预测值,可以包括;
根据该第n已编码单元的左上顶点的运动矢量(vx2,vy2)、该第n已编码单元的右上顶点的运动矢量(vx3,vy3)、该第n已编码单元的左下顶点的运动矢量(vx4,vy4)、该第n已编码单元的左上顶点的像素坐标(x2,y2)、该第n已编码单元的右上顶点的像素坐标(x3,y3)、该第n已编码单元的左下顶点的像素坐标(x4,y4)和该待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出该待编码单元的左上顶点的运动矢量预测值(vx0,vy0)。
根据该第n已编码单元的左上顶点的运动矢量(vx2,vy2)、该第n已编码单元的右上顶点的运动矢量(vx3,vy3)、该第n已编码单元的左上顶点的像素坐标(x2,y2)、该第n已编码单元的右上顶点的像素坐标(x3,y3)、该待编码单元的左上顶点的运动矢量预测值(vx0,vy0)、该待编码单元的左上顶点的像素坐标(x0,y0)及该待编码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出该待编码单元的右上顶点的运动矢量预测值(vx1,vy1)。
S103、按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组。
可选的,如上S103中按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组,可包括:
按照预设排序规则对该N个运动矢量组进行排序,生成候选运动矢量队列;
若N大于或等于预设值,确定该候选运动矢量队列中前预设个数的运动矢量组;
确定该前预设个数的运动矢量组中各运动矢量组与该待编码单元的匹配误差;
确定该匹配误差最小的一个运动矢量组为该最优运动矢量组。
具体地,该预设排序规则可包括:该N个已编码单元的从大到小的顺序。
该N个已编码单元中每个已编码单元的大小例如可以为该每个已编码单元的水平宽度与垂直高度的乘积。该N个已编码单元中每个已编码单元的大小例如可以是根据如下公式(3)确定。
Si=Wi×Hi 公式(3)
其中,Si为该每个已编码单元的大小,Wi为该每个已编码单元的水平宽带,Hi为该每个已编码单元的垂直高度,i为该每个已编码单元的标识。
举例来说,若该N为2。该N个已编码单元例如可以为图2所示的已编码单元B和已编码单元D。
已编码单元B的大小可以为SB,SB为WB与HB的乘积;WB为该已编码单元B的水平宽带,HB为该已编码单元B的垂直高度。已编码单元D的大小可以为SD,SD为WD与HD的乘积;WD为该已编码单元D的水平宽带,HD为该已编码单元D的垂直高度。若该已编码单元B大于该已编码单元D,则该遍历顺序例如可表示为B>D。
该候选运动矢量队列中,根据该已编码单元B生成的运动矢量组对应的索引标识例如可以为1,根据该已编码单元D生成的运动矢量组对应的索引标识例如可以为2。
举例来说,若N为10,也就是说,该候选运动矢量队列包括10个运动矢量组,该候选运动矢量队列中前预设个数的运动矢量组例如可以为该10个运动矢量组中的前5个运动矢量组。
可选的,从该候选运动矢量队列中前预设个数的运动矢量组中选择该最优匹配运动矢量组,可以是:确定该前预设个数的运动矢量组中每个运动矢量组与该待编码单元的匹配误差;将与该待编码单元的匹配误差最小的一个运动矢量组确定为该最优匹配运动矢量组。
其中,确定该前预设个数的运动矢量组中每个运动矢量组与该待编码单元的匹配误差,可以是:根据该每个运动矢量组确定该每个运动矢量组对应的该待编码单元中每个像素单元的预测像素值;
根据该每个运动矢量组对应的该每个像素单元的预测像素值,与,该每个像素单元的原始像素值,的平方误差和(Sum of Squared Differences,简称SSD)或者绝对误差和(Sum of Absolute Differences,简称SAD),确定该每个运动矢量组对应的率失真代价(Rate Distortion Cost,简称RD Cost);
根据该每个运动矢量组对应的率失真代价确定该每个运动矢量组与该待编码单元的匹配误差。
具体地,上述步骤中根据该每个运动矢量组确定该每个运动矢量组对应的该待编码单元中每个像素单元的预测像素值,可以包括:根据该每个运动矢量组确定该每个像素单元的运动矢量预测值,继而根据该每个像素单元的运动矢量预测值,确定该每个运动矢量组对应的率失真代价。
举例来说,以SAD为例,图像编码装置例如可以是根据该每个运动矢量组对应的该每个像素单元的预测像素值,与,该每个像素单元的原始像素值,的SAD、与该待编码单元对应的码率,采用如下公式(4)确定该每个运动矢量组对应的率失真代价。
J=SAD+λR 公式(4)
其中,J为该每个运动矢量组对应的率失真代价;SAD为该每个运动矢量组对应的该每个像素单元的预测像素值,与,该每个像素单元的原始像素值,的SAD;R为该待编码单元对应的码率;λ为拉格朗日乘子,λ为预设常数。
S104、根据该最优运动矢量组采用第二预设算法确定该待编码单元中每个像素单元的预测像素值。
可选的,该S104中根据该最优运动矢量组采用第二预设算法确定该待编码单元中每个像素单元的预测像素值可以包括:
根据该最优运动矢量组中,M个控制点的运动矢量预测值,以及,该待编码单元中每个像素单元的像素坐标采用该第二预设算法确定该每个像素单元的运动矢量预测值;
在预设参考帧中根据该每个像素单元的运动矢量预测值确定该每个像素单元的预测像素值。
举例来说,若该待编码单元的运动预测模式为仿射运动预测模式,如图2所示,该待编码单元中控制点例如可以为2个,分别为该待编码单元中左上顶点和该待编码单元中右上顶点。
该图像编码装置例如可以是根据该最优运动矢量组中,2个控制点的运动矢量预测值,以及,该待编码单元中每个像素单元的像素坐标,采用如下公式(5)确定该每个像素单元的运动矢量预测值。
其中,(vx,vy)为该每个像素单元的运动矢量预测值,vx为该每个像素单元的水平运动矢量预测值,vy,为该每个像素单元的垂直运动矢量预测值。(x,y)为该每个像素单元的像素坐标,x为该每个像素单元的水平像素坐标,y为该每个像素单元的垂直像素坐标。w为该待编码单元的水平宽度。
S105、根据该每个像素单元的原始像素值与该每个像素单元的预测像素值的差值确定该每个像素单元的预测残差值。
S106、对该每个像素单元的预测残差值和该最优运动矢量组的索引标识进行编码获得该待编码单元对应的码流;该最优运动矢量组的索引标识用于指示解码装置确定该每个像素单元的预测像素值。
具体地,该S106中可以是对该每个像素单元的预测残差值和该最优运动矢量组的索引标识依次进行变换(Transform)、量化(Quantization)后再进行编码,获得该待编码单元对应的码流。
其中,该变换可以为卡洛南-洛伊变换(Karhunen-Loève Transform,简称KLT)、离散傅立叶变换和离散余弦变换(Discrete Cosine Transform,简称DCT)等变换中任一。该编码可以为熵(Entropy)编码。
可选的,该S106中可以是对该每个像素单元的预测残差值、该最优运动矢量组的索引标识及该预设参考帧的索引标识进行编码获得该待编码单元对应的码流。
可选的,该S106中可以是对该每个像素单元的预测残差值、该最优运动矢量组的索引标识、该预设参考帧的索引标识、及该待编码单元的运动预测模式对应的指示信息进行编码获得该待编码单元对应的码流。
由于该N个已编码单元为该待编码单元的相邻已编码单元中运动预测模式相同的已编码单元,则该N个已编码单元与该待编码单元的运动相关性较高。由于,该N个运动矢量组是根据该N个已编码单元的运动矢量确定的,那么根据该N个运动矢量组中的最优运动矢量组确定的该待编码单元中每个像素单元的运动矢量预测值则更准确,从而使得编码精度更准确。
并且,该候选运动该最优运动矢量组可以是从候选运动矢量队列中前预设个数的运动矢量组中确定的,而该候选运动矢量队列是根据排序后的N个运动矢量组所生成的,那么该最优运动矢量组在该候选运动矢量队列中的索引标识较小,使得对该最优运动矢量组的索引标识进行编码的比特数较少,从而提高编码效率。
本发明实施例一提供的图像编码方法,可按照第一预设规则从待编码单元的相邻已编码单元中确定N个已编码单元,N个已编码单元与待编码单元的运动预测模式相同,根据第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组,n取遍不大于N的所有正整数,按照第二预设规则在得到的N个运动矢量组中确定一个运动矢量组为最优运动矢量组,确定该最优运动矢量组采用第二预设算法确定该待编码单元中每个像素单元的预测像素值,根据该每个像素单元的原始像素值与该每个像素单元的预测像素值的差值确定该每个像素单元的预测残差值,对该每个像素单元的预测残差值和该最优匹配运动矢量组的索引标识进行编码获得该待编码单元对应的码流。由于该N个已编码单元与该待编码单元的运动预测模式相同,则该N个已编码单元与该待编码单元的运动相关性较高,而该最优运动矢量组从根据该N个已编码单元的运动矢量确定的N个运动矢量组中确定的,那么根据该最优运动矢量组确定该待编码单元中每个像素单元的预测像素值则更准确,从而使得图像编码的准确度更高。
本发明实施例二还提供一种图像编码方法。图3为本发明实施例二提供的一种图编码方法的流程图。如图3所示,该方法在上述实施例中S103中所述按照第二预设规则在得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组,可包括:
S301、预设的排序规则对该N个运动矢量组进行排序。
该预设排序规则例如可以为该N个已编码单元的大小顺序。
S302、若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于该预设值,Q为正整数。
若N小于预设值,为保证候选运动矢量组中运动矢量组的个数,从而使得选择的最优运动矢量组的准确度,还需生成Q个运动矢量组。
可选的,该S302中生成Q个运动矢量组可包括:
从该相邻已编码单元中确定该待编码单元中第m控制点对应的已编码单元;第m控制点对应的已编码单元与第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将该第m控制点对应的已编码单元的运动矢量,确定为该第m控制点的运动矢量预测值;
根据该M个控制点的运动矢量预测值,生成该Q个运动矢量组。
举例来说,如上图2所示,若该相邻已编码单元包括:已编码单元A、已编码单元B、已编码单元C、已编码单元D及已编码单元E。若该待编码单元中控制点的个数为2。该相邻已编码单元中,该待编码单元的左上顶点对应的已编码单元例如可以包括已编码单元C;该相邻已编码单元中,该待编码单元的右上顶点对应的已编码单元例如可以包括:已编码单元D、已编码单元E。
若该待编码单元的左上顶点对应的已编码单元例如可以包括已编码单元C,则该左上顶点的一个运动矢量预测值可以为v0 C。v0 C可以为根据已编码单元C的运动矢量确定的该左上顶点的运动矢量预测值。
若该待编码单元的右上顶点对应的已编码单元例如可以包括已编码单元D和已编码单元E,则该右上顶点的一个运动矢量预测值可以为v1 D,该右上顶点的另一个运动矢量预测值可以为v1 E。v1 D可以为根据已编码单元D的运动矢量确定的该右上顶点的运动矢量预测值;v1 E可以为根据已编码单元E的运动矢量确定的该右上顶点的运动矢量预测值。
该Q个运动矢量组可包括:(v0 C,v1 D)和(v0 C,v1 E)两个运动矢量组。Q例如可以为2。
可替代地,该S302中生成Q个运动矢量组可包括:
从该相邻已编码单元中确定该待编码单元中第m控制点对应的已编码单元;该第m控制点对应的已编码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将该第m控制点对应的已编码单元的运动矢量,确定为该第m控制点的第一运动矢量预测值;
根据该M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;
将该相邻已编码单元中第j个已编码单元的运动矢量,确定为该第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为该相邻已编码单元的个数;J为正整数;
根据该M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;
将该K个第一运动矢量组排列至该L个第二运动矢量组之后,生成该Q个运动矢量组。
具体地,该Q个运动矢量组可以是分多次生成的,如先生成K个第一运动矢量组,再生成L个第二运动矢量组。
S303、将该Q个运动矢量组排列至该N个运动矢量组之后,生成候选运动矢量队列。
S304、确定该候选运动矢量队列中前预设个数的运动矢量组。
该S304中确定该候选运动矢量队列中前预设个数的运动矢量组的实现过程与上述实施例一中类似,在此不再赘述。
S305、确定该前预设个数的运动矢量组中各运动矢量组与该待编码单元的匹配误差。
该S305中各运动矢量组与该待编码单元的匹配误差的具体实现过程与上述实施例一中类似,在此不再赘述。
S306、确定该匹配误差最小的一个运动矢量组为该最优运动矢量组。
可选的,如上述S303中将该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成候选运动矢量队列,可以包括:
确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;
根据该Q个运动矢量组对应的特征值,按照从小到大的顺序,对该Q个运动矢量组进行排序;
将该排序后的该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成该候选运动矢量队列。
可选的,如上所述确定第q个运动矢量组对应的特征值,可以包括:
确定该第q个运动矢量组中该M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;
比较该差值的绝对值与预设分量阈值的大小;该预设分量阈值为该待编码单元在该同一预测方向上的范围;
若该差值的绝对值小于或等于该预设分量,则确定该第q个运动矢量组对应的特征值。
具体地,该预设分量阈值可以是根据该待编码单元在水平预测方向上的水平宽度确定的;该预设分量阈值还可以是根据该待编码单元在垂直预测方向上的垂直高度确定的。
举例来说,若该待编码单元的M个控制点包括:如图2所示的该待编码单元的左上顶点的像素单元和右上顶点。该Q个运动矢量组可包括:(v0 C,v1 D)和(v0 C,v1 E)两个运动矢量组,其中,v0 C为该待编码单元中左上顶点的运动矢量预测值,v1 D和v1 E均为该待编码单元中右上顶点的运动矢量预测值。
该实施例中例如可以是根据如下公式(6),比较该M个控制点中相邻控制点的运动矢量预测值在同一预测方向上的分量的差值,与,预设分量阈值的大小。
其中,vx0 i为左上顶点的运动矢量预测值在水平预测方向上的分量;vy0 i为左上顶点的运动矢量预测值在垂直预测方向上的分量;vx1 j为右上顶点的运动矢量预测值在水平预测方向上的分量;vy1 j为右上顶点的运动矢量预测值在垂直预测方向上的分量。其中,i可以为C,j可以为D和E中任一。w为该待编码单元的水平宽度,h为该待编码单元的垂直高度。
可选的,如上所述的确定第q个运动矢量组对应的特征值可以包括:
从该相邻已编码单元中确定另一控制点对应的已编码单元;该另一控制点对应的已编码单元与该另一控制点间的距离小于或等于预设距离;该另一控制点为该待编码单元中该M个控制点外的任一控制点;
将该另一控制点对应的已编码单元的运动矢量确定为该另一控制点的运动矢量预测值;
根据该另一控制点的运动矢量预测值,和,该第q个运动矢量组中的该M个控制点的运动矢量预测值,采用第三预设算法确定该第q个运动矢量组对应的特征值。
举例来说,若该待编码单元中该M个控制点可以包括该待编码单元的左上顶点和右上顶点,该另一个控制点可以为该待编码单元的左下顶点,如图2中的该待编码单元中的像素单元5。
该另一控制点对应的已编码单元可以包括:已编码单元A和已编码单元B,因而可将该已编码单元A的运动矢量确定为该另一控制点的运动矢量预测值为v5 A,将该已编码单元B的运动矢量确定为该另一控制点的运动矢量预测值为v5 B。
该实施例例如可以是根据该另一控制点的运动矢量预测值,和,第q个运动矢量组中的该M个控制点的运动矢量预测值,采用如下公式(7)确定该第q个运动矢量组对应的特征值。
D(V)=abs((vx1 j-vx0 i)×h-(vy5 k-vx0 i)×w)+abs((vy1 j-vy0 i)×h+(vx5 k-vx0 i)×w)
公式(7)
其中,D(V)为该第q个运动矢量组对应的特征值。abs为绝对值函数;vx5 k为该另一控制点,如左下顶点的运动矢量预测值在水平预测方向上的分量;vy5 k为该另一控制点,如左下顶点的运动矢量预测值在垂直预测方向上的分量。其中,k可以为A和B中任一。
可选的,该待编码单元的运动预测模式可包括:平移运动预测模式或仿射运动预测模式。
若该待编码单元的运动预测模式包括平移运动预测模式,该控制点的个数,即M可以为1;若该待编码单元的运动预测模式包括仿射运动预测模式,该控制点的个数,即M可以为多个。
本发明实施例二提供多种确定候选运动矢量队列的实现过程,可更好地保证根据该候选运动矢量队列中选择的最优运动矢量组确定该待编码单元中每个像素单元的预测像素值则更准确,从而使得编码精度更准确,还可使得对该最优运动矢量组的索引标识进行编码的比特数较少,从而提高编码效率。
本发明实施例三提供一种图像解码方法,该图像解码方法为上述图像编码方法对应的解码方法。该图像解码方法可由图像解码装置执行,该图像解码装置例如可以通过软件和/或硬件的形式集成在具有图像处理功能的电子设备中,该电子设备例如可以为智能终端、个人计算机、消费电子产品的或视频服务器等。图4为本发明实施例三提供的一种图像解码方法的流程图。如图4所示,该方法可包括:
S401、根据第一预设规则从待解码单元的相邻已解码单元中确定出N个已解码单元;其中,N个已解码单元与所述待解码单元的运动预测模式相同。
该S401的具体实现过程与上述实施例中S101类似,在此不再赘述。
如上所述S401中根据该第一预设规则从待解码单元的相邻已解码单元中确定出N个已解码单元之前,该方法还可包括:
确定该待编码单元的运动预测模式。
具体地,如上确定该待编码单元的运动预测模式可以包括:对该待解码单元对应的语法元素进行解析,获得该待编码单元的运动预测模式。若该解析后的语法元素affine-merge-flag为1,则该待编码单元的运动预测模式为仿射运动预测模式;若该解析后的语法元素affine-merge-flag为0,则该待编码单元的运动预测模式为平移运动预测模式。
S402、根据第n个已解码单元的运动矢量采用第一预设算法生成第n运动矢量组;n取遍不大于N的所有正整数。
该S402的具体实现过程与上述实施例中S102类似,在此不再赘述。
S403、对该待解码单元对应的码流进行解码,获得该每个像素单元的预测残差值和最优运动矢量组的索引标识。
具体地,该S403中可以是对该待编码单元对应的码流进行解码,并对解码后的信息依次进行反量化(Quantization)、反变换(Transform),继而获得该每个像素单元的预测残差值,和,该最优匹配运动矢量组的索引标识。其中,该反变换可以为上述实施例中S106中变换对应的逆变换,该反量化可以为上述实施例中S106中量化对应的反量化,该解码可以为上述S106中编码对应的解码,如熵编码对应的解码。
S404、根据该最优运动矢量组的索引标识确定N个运行矢量组中的该最优运动矢量组。
该最优运动矢量组的索引标识可以为该最优运动矢量组在该N个运动矢量组中的索引号。
S405、根据该最优运动矢量组采用第二预设算法确定该待解码单元中每个像素单元的预测像素值。
该S405中确定该待解码单元中每个像素单元的预测像素值的过程可以与上述实施例中104中类似,在此不再赘述。
S406、根据该每个像素单元的预测像素值和该每个像素单元的预测残差值之和确定该每个像素单元的重建像素值。
可选的,如上所述S402中根据第n已解码单元的运动矢量采用第一预设算法生成第n运动矢量组可包括:
根据该第n已解码单元的运动矢量、该第n已解码单元的像素坐标和该M个控制点的像素坐标,采用该第一预设算法确定出该待解码单元的M个控制点的运动矢量预测值;
根据该M个控制点的运动矢量预测值,生成该第n运动矢量组;M为根据该待解码单元的运动预测模式确定的正整数。
可选的,该M个控制点包括:该待解码单元的左上顶点和右上顶点。
如上所述的根据该第n已解码单元的运动矢量、该第n已解码单元的像素坐标和该M个控制点的像素坐标,采用该第一预设算法确定出该待解码单元的M个控制点的运动矢量预测值,可以包括:
根据该第n已解码单元的左上顶点的运动矢量(vx2,vy2)、该第n已解码单元的右上顶点的运动矢量(vx3,vy3)、该第n已解码单元的左下顶点的运动矢量(vx4,vy4)、该第n已解码单元的左上顶点的像素坐标(x2,y2)、该第n已解码单元的右上顶点的像素坐标(x3,y3)、该第n已解码单元的左下顶点的像素坐标(x4,y4)和该待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出该待解码单元的左上顶点的运动矢量预测值(vx0,vy0);
根据该第n已解码单元的左上顶点的运动矢量(vx2,vy2)、该第n已解码单元的右上顶点的运动矢量(vx3,vy3)、该第n已解码单元的左上顶点的像素坐标(x2,y2)、该第n已解码单元的右上顶点的像素坐标(x3,y3)、该待解码单元的左上顶点的运动矢量预测值(vx0,vy0)、该待解码单元的左上顶点的像素坐标(x0,y0)及该待解码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出该待解码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,如上所述S404中根据该最优运动矢量组的索引标识确定N个运动矢量组中的该最优运动矢量组,可以包括:
按照预设排序规则对该N个运动矢量组进行排序,生成候选运动矢量队列;
若N大于或等于预设值,确定该候选运动矢量队列中前预设个数的运动矢量组;
根据该最优运动矢量组的索引标识确定该前预设个数的运动矢量组中的该最优运动矢量组。
可选的,该预设排序规则包括:N个已解码单元的从大到小的顺序。
可替代地,如上所述的S404中根据该最优运动矢量组的索引标识确定N个运动矢量组中的该最优运动矢量组,可以包括:
按照预设排序规则对该N个运动矢量组进行排序;
若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于该预设值,Q为正整数;
将该Q个运动矢量组排列至该N个运动矢量组之后,生成候选运动矢量队列;
确定该候选运动矢量队列中前预设个数的运动矢量组;
根据该最优运动矢量组的索引标识确定该前预设个数的运动矢量组中的该最优运动矢量组。
可选的,如上所述的生成Q个运动矢量组可以包括:
从该相邻已解码单元中确定该待解码单元中第m控制点对应的已解码单元;该第m控制点对应的已解码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将该第m控制点对应的已解码单元的运动矢量,确定为该第m控制点的运动矢量预测值;
根据该M个控制点的运动矢量预测值,生成该Q个运动矢量组。
可选的,如上所述的生成Q个运动矢量组可以包括:
从该相邻已解码单元中确定该待解码单元中第m控制点对应的已解码单元;该第m控制点对应的已解码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;
将该第m控制点对应的已解码单元的运动矢量,确定为该第m控制点的第一运动矢量预测值;
根据该M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;
将该相邻已解码单元中第j个已解码单元的运动矢量,确定为该第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为该相邻已解码单元的个数;J为正整数;
根据该M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;
将该K个第一运动矢量组排列至该L个第二运动矢量组之后,生成该Q个运动矢量组。
可选的,将该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成候选运动矢量队列,可以包括:
确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;
根据该Q个运动矢量组对应的特征值,按照从小到大的顺序,对该Q个运动矢量组进行排序;
将该排序后的该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成该候选运动矢量队列。
可选的,确定第q个运动矢量组对应的特征值,包括:
确定该第q个运动矢量组中该M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;
比较该差值的绝对值与预设分量阈值的大小;该预设分量阈值为该待解码单元在该同一预测方向上的范围;
若该差值的绝对值小于或等于该预设分量阈值,则确定该第q个运动矢量组对应的特征值。
可选的,上述确定第q个运动矢量组对应的特征值可以包括:
从该相邻已解码单元中确定另一控制点对应的已解码单元;该另一控制点对应的已解码单元与该另一控制点间的距离小于或等于预设距离;该另一控制点为该待解码单元中该M个控制点外的任一控制点;
将该另一控制点对应的已解码单元的运动矢量,确定为该另一控制点的运动矢量预测值;
根据该另一控制点的运动矢量预测值和该第q个运动矢量组中的该M个控制点的运动矢量预测值,采用第三预设算法确定该第q个运动矢量组对应的特征值。
可选的,该待解码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。若该待解码单元的运动预测模式包括平移运动预测模式,该控制点的个数为1;若该待解码单元的运动预测模式包括仿射运动预测模式,该控制点的个数为多个。
本发明实施例三提供的图像解码方法为上述实施例一至二中所述的图像编码方法对应的解码方法,其有益效果与上述实施例类似,在此不再赘述。
本发明实施例四提供一种图像编码装置。图5为本发明实施例四提供的一种图像编码装置的结构示意图。如图5所示,该图像编码装置500包括:确定模块501、计算模块502和编码模块503。
其中,确定模块501,用于按照第一预设规则从待编码单元的相邻已编码单元中确定出N个已编码单元;其中,该N个已编码单元与该待编码单元的运动预测模式相同;N为正整数。
计算模块502,用于根据确定模块501确定的第n已编码单元的运动矢量采用第一预设算法生成第n运动矢量组;n取遍不大于N的所有正整数。
确定模块501,还用于按照第二预设规则在计算模块502得到的N个运动矢量组中确定出一个运动矢量组为最优运动矢量组。
计算模块502,还用于根据该确定模块确定的该最优运动矢量组采用第二预设算法确定该待编码单元中每个像素单元的预测像素值,根据该每个像素单元的原始像素值与该每个像素单元的预测像素值的差值确定该每个像素单元的预测残差值。
编码模块503,用于对该每个像素单元的预测残差值和该最优运动矢量组的索引标识进行编码获得该待编码单元对应的码流;该最优运动矢量组的索引标识用于指示解码装置确定该每个像素单元的预测像素值。
可选的,计算模块502,具体用于根据确定模块501确定的第n已编码单元的运动矢量、该第n已编码单元的像素坐标和该待解码单元的M个控制点的像素坐标,采用该第一预设算法确定出该M个控制点的运动矢量预测值;根据该M个控制点的运动矢量预测值,生成该第n运动矢量组;M为根据该待编码单元的运动预测模式确定的正整数。
可选的,M个控制点包括:该待编码单元的左上顶点和右上顶点;
计算模块502,具有用于根据确定模块501确定的该第n已编码单元的左上顶点的运动矢量(vx2,vy2)、该第n已编码单元的右上顶点的运动矢量(vx3,vy3)、该第n已编码单元的左下顶点的运动矢量(vx4,vy4)、该第n已编码单元的左上顶点的像素坐标(x2,y2)、该第n已编码单元的右上顶点的像素坐标(x3,y4)、该第n已编码单元的左下顶点的像素坐标(x4,y4)和该待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出该待编码单元的左上顶点的运动矢量预测值(vx0,vy0);
计算模块502,还用于根据确定模块501确定的该第n已编码单元的左上顶点的运动矢量(vx2,vy2)、该第n已编码单元的右上顶点的运动矢量(vx3,vy3)、该第n已编码单元的左上顶点的像素坐标(x2,y2)、该第n已编码单元的右上顶点的像素坐标(x3,y3)、该待编码单元的左上顶点的运动矢量预测值(vx0,vy0)、该待编码单元的左上顶点的像素坐标(x0,y0)及该待编码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出该待编码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,确定模块501,具体用于按照预设排序规则对该N个运动矢量组进行排序,生成候选运动矢量队列,若N大于或等于预设值,确定该候选运动矢量队列中前预设个数的运动矢量组,确定该前预设个数的运动矢量组中各运动矢量组与该待编码单元的匹配误差,确定该匹配误差最小的一个运动矢量组为该最优运动矢量组。
可选的,该预设排序规则包括:该N个已编码单元从大到小的顺序。
可选的,确定模块501,还用于按照预设排序规则对该N个运动矢量组进行排序;若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于该预设值,Q为正整数;将该Q个运动矢量组排列至该N个运动矢量组之后,生成候选运动矢量队列;确定该候选运动矢量队列中前预设个数的运动矢量组;确定该前预设个数的运动矢量组中各运动矢量组与该待编码单元的匹配误差;确定该匹配误差最小的一个运动矢量组为该最优运动矢量组。
可选的,确定模块501,还用于从该相邻已编码单元中确定该待编码单元中第m控制点对应的已编码单元;该第m控制点对应的已编码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将该第m控制点对应的已编码单元的运动矢量,确定为该第m控制点的运动矢量预测值;根据该M个控制点的运动矢量预测值,生成该Q个运动矢量组。
可选的,确定模块501,还用于从该相邻已编码单元中确定该编码单元中第m控制点对应的已编码单元;该第m控制点对应的已编码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将该第m控制点对应的已编码单元的运动矢量,确定为该第m控制点的第一运动矢量预测值;根据该M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;将该相邻已编码单元中第j个已编码单元的运动矢量,确定为该第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为该相邻已编码单元的个数,J为正整数;根据该M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;将该K个第一运动矢量组排列至该L个第二运动矢量组之后,生成该Q个运动矢量组。
可选的,确定模块501,还用于确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;根据该进行排序;将该排序后的该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成该候选运动矢量队列。
可选的,确定模块501,还用于确定该第q个运动矢量组中该M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;比较该差值的绝对值与预设分量阈值的大小;该预设分量阈值为该待编码单元在该同一预测方向上的范围;若该差值的绝对值小于或等于该预设分量阈值,则确定该第q个运动矢量组对应的特征值。
可选的,确定模块501,还用于从该相邻已编码单元中确定另一控制点对应的已编码单元;该另一控制点对应的已编码单元与该另一控制点间的距离小于或等于预设距离;该另一控制点为该待编码单元中该M个控制点外的任一控制点;将该另一控制点对应的已编码单元的运动矢量,确定为该另一控制点的运动矢量预测值;根据该另一控制点的运动矢量预测值和该第q个运动矢量组中的该M个控制点的运动矢量预测值,采用第三预设算法确定该第q个运动矢量组对应的特征值。
可选的,待编码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。
本发明实施例四提供的图像编码装置,可用于执行上述实施例一或中任一所述的图像编码方法,具体实现过程及有益效果与上述实施例类似,在此不再赘述。
本发明实施例五还提供一种图像解码装置。图6为本发明实施例五提供的一种图像解码装置的结构示意图。如图6所示,图像解码装置600可包括:确定模块601、计算模块602和解码模块603。
确定模块601,用于根据第一预设规则从待解码单元的相邻已解码单元中确定出N个已解码单元;其中,该N个已解码单元与该待解码单元的运动预测模式相同;N为正整数;
计算模块602,用于根据确定模块602确定的第n已解码单元的运动矢量采用第一预设算法确定生成第n运动矢量组;n取遍不大于N的所有正整数;
解码模块603,用于对该待解码单元对应的码流进行解码,获得该每个像素单元的预测残差值和最优运动矢量组的索引标识
确定模块601,还用于根据解码模块603确定的该最优运动矢量组的索引标识确定N个运动矢量组中的该最优运动矢量组;
计算模块602,还用于根据确定模块601确定的该最优运动矢量组采用第二预设算法确定该待解码单元中每个像素单元的预测像素值,根据该每个像素单元的预测像素值和该每个像素单元的预测残差值的和确定该每个像素单元的重建像素值。
可选的,计算模块602,具有用于根据确定模块601确定的该第n已解码单元的运动矢量、该第n已解码单元的像素坐标和该待解码单元的M个控制点的像素坐标,采用该第一预设算法确定出该M个控制点的运动矢量预测值;根据该M个控制点的运动矢量预测值,生成该第n运动矢量组;M为根据该待解码单元的运动预测模式确定的正整数。
可选的,该M个控制点包括:该待解码单元的左上顶点和右上顶点;
计算模块602,具体用于根据确定模块601确定的该第n已解码单元的左上顶点的运动矢量(vx2,vy2)、该第n已解码单元的右上顶点的运动矢量(vx3,vy3)、该第n已解码单元的左下顶点的运动矢量(vx4,vy4)、该第n已解码单元的左上顶点的像素坐标(x2,y2)、该第n已解码单元的右上顶点的像素坐标(x3,y3)、该第n已解码单元的左下顶点的像素坐标(x4,y4)和所述待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出该待解码单元的左上顶点的运动矢量预测值(vx0,vy0);
计算模块602,具体还用于根据确定模块601确定的该第n已解码单元的左上顶点的运动矢量(vx2,vy2)、该第n已解码单元的右上顶点的运动矢量(vx3,vy3)、该第n已解码单元的左上顶点的像素坐标(x2,y2)、该第n已解码单元的右上顶点的像素坐标(x3,y3)、该待解码单元的左上顶点的运动矢量预测值(vx0,vy0)、该待解码单元的左上顶点的像素坐标(x0,y0)及该待解码单元的右上顶点的像素坐标(x1,y1),采用如下公式(2)确定出该待解码单元的右上顶点的运动矢量预测值(vx1,vy1);
可选的,确定模块601,还用于按照预设排序规则对N个运动矢量组进行排序,生成候选运动矢量队列;若N大于或等于预设值,确定该候选运动矢量队列中前预设个数的运动矢量组;根据该最优运动矢量组的索引标识确定该前预设个数的运动矢量组中的该最优运动矢量组。
可选的,该预设排序规则包括:该N个已解码单元的从大到小的顺序。
可选的,确定模块601,还用于按照预设排序规则对该N个运动矢量组进行排序;若N小于预设值,生成Q个运动矢量组,使得N与Q之和大于或等于该预设值,Q为正整数;将该Q个运动矢量组排列至该N个运动矢量组之后,生成候选运动矢量队列;确定该候选运动矢量队列中前预设个数的运动矢量组;根据该最优运动矢量组的索引标识确定该前预设个数的运动矢量组中的该最优运动矢量组。
可选的,确定模块601,还用于从该相邻已解码单元中确定该待解码单元中第m控制点对应的已解码单元;该第m控制点对应的已解码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将该第m控制点对应的已解码单元的运动矢量,确定为该第m控制点的运动矢量预测值;根据该M个控制点的运动矢量预测值,生成该Q个运动矢量组。
可选的,该确定模块601,还用于从所述相该邻已解码单元中确定该待解码单元中第m控制点对应的已解码单元;该第m控制点对应的已解码单元与该第m控制点间的距离小于或等于预设距离;m取遍不大于M的所有正整数;将该第m控制点对应的已解码单元的运动矢量,确定为该第m控制点的第一运动矢量预测值;根据该M个控制点的第一运动矢量预测值,生成K个第一运动矢量组;将该相邻已解码单元中第j个已解码单元的运动矢量,确定为该第m个控制点的第二运动矢量预测值;j为1,…,J中任一,J为该相邻已解码单元的个数;J为正整数;根据该M个控制点的第二运动矢量预测值,生成L个第二运动矢量组;将该K个第一运动矢量组排列至该L个第二运动矢量组之后,生成该Q个运动矢量组。
可选的,确定模块601,还用于确定第q个运动矢量组对应的特征值;q取遍不大于Q的所有正整数;根据该Q个运动矢量组对应的特征值,按照从小到大的顺序,对该Q个运动矢量组进行排序;将该排序后的该Q个运动矢量组添加至该排序后的该N个运动矢量组之后,生成该候选运动矢量队列。
可选的,确定模块601,还用于确定该第q个运动矢量组中该M个控制点中相邻控制点的运动矢量预测值,在同一预测方向上的分量的差值;比较该差值的绝对值与预设分量阈值的大小;该预设分量阈值为该待解码单元在该同一预测方向上的范围;若该差值的绝对值小于或等于该预设分量阈值,则确定该第q个运动矢量组对应的特征值。
可选的,确定模块601,还用于从该相邻已解码单元中确定另一控制点对应的已解码单元;该另一控制点对应的已解码单元与该另一控制点间的距离小于或等于预设距离;该另一控制点为该待解码单元中该M个控制点外的任一控制点;将该另一控制点对应的已解码单元的运动矢量,确定为该另一控制点的运动矢量预测值;根据该另一控制点的运动矢量预测值和该第q个运动矢量组中的该M个控制点的运动矢量预测值,采用第三预设算法确定该第q个运动矢量组对应的特征值。
可选的,该待解码单元的运动预测模式包括平移运动预测模式或仿射运动预测模式。
本发明实施例五提供的图像解码装置,可执行上述实施例三提供的图像解码方法,具体实现过程及有益效果与上述实施例类似,在此不再赘述。
本发明实施例六提供图像编码装置。图7为本发明实施例六提供的图像编码装置的结构示意图。如图7所示,图像编码装置700包括:处理器701、存储器702、通信接口703和总线704;其中,处理器701与存储器702、通信接口703通过总线704连接
存储器702用于存储指令。
处理器701用于执行指令,当处理器701执行存储器702存储的指令时,使得处理器701执行上述实施例一或二中任一所述的图像编码方法。
本发明实施例六提供的图像编码装置,可执行上述实施例一或二提供的图像编码方法,具体实现过程及有益效果与上述实施例类似,在此不再赘述。
本发明实施例七提供图像解码装置。图8为本发明实施例七提供的图像解码装置的结构示意图。如图8所示,图像解码装置800可包括:处理器801、存储器802、通信接口803和总线804;其中,处理器801与存储器802、通信接口803通过总线804连接。
存储器802用于存储指令;
处理器801用于执行指令,当处理器801执行存储器802存储的指令时,使得处理器801执行上述实施例三所述的图像解码方法。
本发明实施例七提供的图像解码装置,可执行上述实施例三提供的图像解码方法,具体实现过程及有益效果与上述实施例类似,在此不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (38)
1.一种图像解码方法,其特征在于,所述方法包括:
从待解码单元的左方相邻的已解码单元中确定出第一已解码单元;
从所述待解码单元的上方相邻的已解码单元中确定出第二已解码单元;其中,所述第一已解码单元、所述第二已解码单元与所述待解码单元的运动预测模式相同;
根据所述第一已解码单元的多个顶点的运动矢量、所述第一已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值;根据所述M个控制点的第一运动矢量预测值,生成第一运动矢量组;
根据所述第二已解码单元的多个顶点的运动矢量、所述第二已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第二运动矢量预测值;根据所述M个控制点的第二运动矢量预测值,生成第二运动矢量组;
从多个运动矢量组中,确定目标运动矢量组;其中,所述多个运动矢量组包括所述第一运动矢量组和所述第二运动矢量组;
根据所述目标运动矢量组对所述待解码单元进行预测。
2.如权利要求1所述方法,其特征在于,所述运动预测模式包括:仿射运动预测模式。
3.如权利要求1或2所述方法,其特征在于,所述从待解码单元的左方相邻的已解码单元中确定出第一已解码单元包括:
在所述待解码单元的左方相邻的两个已解码单元中,将按照第一顺序找到的第一个运动预测模式与所述待解码单元的运动预测模式相同的已解码单元确定为所述第一已解码单元;
所述从所述待解码单元的上方相邻的已解码单元中确定出第二已解码单元包括:在所述待解码单元的上方相邻的三个已解码单元中,将按照第二顺序找到的第一个运动预测模式与所述待解码单元的运动预测模式相同的已解码单元确定为所述第二已解码单元。
4.如权利要求1-3任一项所述方法,其特征在于,所述从多个运动矢量组中,确定目标运动矢量组包括:
生成Q个运动矢量组,Q为第一值;
从所述Q个运动矢量组、所述第一运动矢量组和所述第二运动矢量组中确定出所述目标运动矢量组。
5.如权利要求4所述方法,其特征在于,Q+2大于等于预设值。
6.如权利要求4或5所述方法,其特征在于,所述生成Q个运动矢量组包括:
根据所述待解码单元的M个控制点分别对应的已解码单元的运动矢量;
生成Q个运动矢量组。
7.如权利要求1-6任一项所述方法,其特征在于,所述从多个运动矢量组中,确定目标运动矢量组包括:
获取最优运动矢量组的索引标识;
根据所述最优运动矢量组的索引标识从多个运动矢量组中,确定目标运动矢量组。
8.根据权利要求1-7任一项所述方法,其特征在于,所述M为根据所述待解码单元的运动预测模式确定的正整数。
9.根据权利要求1-8任一项所述方法,其特征在于,所述根据所述第一已解码单元的多个顶点的运动矢量、所述第一已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值包括:
根据所述第一已解码单元的左上顶点的运动矢量(vx2,vy2)、所述第一已解码单元的右上顶点的运动矢量(vx3,vy3)、所述第一已解码单元的左下顶点的运动矢量(vx4,vy4)、所述第一已解码单元的左上顶点的像素坐标(x2,y2)、所述第一已解码单元的右上顶点的像素坐标(x3,y3)、所述第一已解码单元的左下顶点的像素坐标(x4,y4)和所述待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待解码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待解码单元的左上顶点属于所述M个控制点;
10.根据权利要求1-8任一项所述方法,其特征在于,所述根据所述第二已解码单元的多个顶点的运动矢量、所述第二已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值包括:
根据所述第二已解码单元的左上顶点的运动矢量(vx2,vy2)、所述第二已解码单元的右上顶点的运动矢量(vx3,vy3)、所述第二已解码单元的左下顶点的运动矢量(vx4,vy4)、所述第二已解码单元的左上顶点的像素坐标(x2,y2)、所述第二已解码单元的右上顶点的像素坐标(x3,y3)、所述第二已解码单元的左下顶点的像素坐标(x4,y4)和所述待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待解码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待解码单元的左上顶点属于所述M个控制点;
11.一种图像编码方法,其特征在于,包括:
从待编码单元的左方相邻的已编码单元中确定出第一已编码单元;
从所述待编码单元的上方相邻的已编码单元中确定出第二已编码单元;其中,所述第一已编码单元、所述第二已编码单元与所述待编码单元的运动预测模式相同;
根据所述第一已编码单元的多个顶点的运动矢量、所述第一已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值;根据所述M个控制点的第一运动矢量预测值,生成第一运动矢量组;
根据所述第二已编码单元的多个顶点的运动矢量、所述第二已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第二运动矢量预测值;根据所述M个控制点的第二运动矢量预测值,生成第二运动矢量组;
从多个运动矢量组中,确定目标运动矢量组;其中,所述多个运动矢量组包括所述第一运动矢量组和所述第二运动矢量组;
根据所述目标运动矢量组对所述待编码单元进行预测。
12.如权利要求11所述方法,其特征在于,所述运动预测模式包括:仿射运动预测模式。
13.如权利要求11或12所述方法,其特征在于,所述从待编码单元的左方相邻的已编码单元中确定出第一已编码单元包括:
在所述待编码单元的左方相邻的两个已编码单元中,将按照第一顺序找到的第一个运动预测模式与所述待编码单元的运动预测模式相同的已编码单元确定为所述第一已编码单元;
所述从所述待编码单元的上方相邻的已编码单元中确定出第二已编码单元包括:在所述待编码单元的上方相邻的三个已编码单元中,将按照第二顺序找到的第一个运动预测模式与所述待编码单元的运动预测模式相同的已编码单元确定为所述第二已编码单元。
14.如权利要求11-13任一项所述方法,其特征在于,所述从多个运动矢量组中,确定目标运动矢量组包括:
生成Q个运动矢量组,Q为第一值;
从所述Q个运动矢量组、所述第一运动矢量组和所述第二运动矢量组中确定出所述目标运动矢量组。
15.如权利要求11-14任一项所述方法,其特征在于,Q+2大于等于预设值。
16.如权利要求11-15任一项所述方法,其特征在于,所述生成Q个运动矢量组包括:根据所述待编码单元的M个控制点分别对应的已编码单元的运动矢量;
生成Q个运动矢量组。
17.根据权利要求11-16任一项所述方法,其特征在于,所述方法还包括:
根据所述多个运动矢量组和所述目标运动矢量组确定所述目标运动矢量组的索引标识;
将所述索引标识编入码流。
18.根据权利要求11-17任一项所述方法,其特征在于,所述M为根据所述待编码单元的运动预测模式确定的正整数。
19.根据权利要求11-18任一项所述方法,其特征在于,所述根据所述第一已编码单元的多个顶点的运动矢量、所述第一已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值包括:
根据所述第一已编码单元的左上顶点的运动矢量(vx2,vy2)、所述第一已编码单元的右上顶点的运动矢量(vx3,vy3)、所述第一已编码单元的左下顶点的运动矢量(vx4,vy4)、所述第一已编码单元的左上顶点的像素坐标(x2,y2)、所述第一已编码单元的右上顶点的像素坐标(x3,y3)、所述第一已编码单元的左下顶点的像素坐标(x4,y4)和所述待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待编码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待编码单元的左上顶点属于所述M个控制点;
20.根据权利要求11-18任一项所述方法,其特征在于,所述根据所述第二已编码单元的多个顶点的运动矢量、所述第二已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第二运动矢量预测值包括:
根据所述第二已编码单元的左上顶点的运动矢量(vx2,vy2)、所述第二已编码单元的右上顶点的运动矢量(vx3,vy3)、所述第二已编码单元的左下顶点的运动矢量(vx4,vy4)、所述第二已编码单元的左上顶点的像素坐标(x2,y2)、所述第二已编码单元的右上顶点的像素坐标(x3,y3)、所述第二已编码单元的左下顶点的像素坐标(x4,y4)和所述待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待编码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待编码单元的左上顶点属于所述M个控制点;
21.一种图像解码装置,其特征在于,包括:
确定模块,用于从待解码单元的左方相邻的已解码单元中确定出第一已解码单元;还用于从所述待解码单元的上方相邻的已解码单元中确定出第二已解码单元;其中,所述第一已解码单元、所述第二已解码单元与所述待解码单元的运动预测模式相同;
计算模块,用于根据所述第一已解码单元的多个顶点的运动矢量、所述第一已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值;根据所述M个控制点的第一运动矢量预测值,生成第一运动矢量组;还用于根据所述第二已解码单元的多个顶点的运动矢量、所述第二已解码单元的多个顶点的像素坐标和所述待解码单元的M个控制点的像素坐标,确定出所述M个控制点的第二运动矢量预测值;根据所述M个控制点的第二运动矢量预测值,生成第二运动矢量组;
所述确定模块还用于从多个运动矢量组中,确定目标运动矢量组;其中,所述多个运动矢量组包括所述第一运动矢量组和所述第二运动矢量组;
所述计算模块还用于根据所述目标运动矢量组对所述待解码单元进行预测。
22.如权利要求21所述装置,其特征在于,所述运动预测模式包括:仿射运动预测模式。
23.如权利要求21或22所述装置,其特征在于,所述确定模块具体用于:
在所述待解码单元的左方相邻的两个已解码单元中,将按照第一顺序找到的第一个运动预测模式与所述待解码单元的运动预测模式相同的已解码单元确定为所述第一已解码单元;
在所述待解码单元的上方相邻的三个已解码单元中,将按照第二顺序找到的第一个运动预测模式与所述待解码单元的运动预测模式相同的已解码单元确定为所述第二已解码单元。
24.如权利要求21-23任一项所述装置,其特征在于,所述确定模块具体用于:
生成Q个运动矢量组,Q为第一值;其中,Q+2大于等于预设值;
从所述Q个运动矢量组、所述第一运动矢量组和所述第二运动矢量组中确定出所述目标运动矢量组。
25.如权利要求21-24任一项所述装置,其特征在于,所述确定模块还具体用于:
根据所述待解码单元的M个控制点分别对应的已解码单元的运动矢量;
生成Q个运动矢量组。
26.如权利要求21-25任一项所述装置,其特征在于,所述确定模块具体用于:
获取最优运动矢量组的索引标识;
根据所述最优运动矢量组的索引标识从多个运动矢量组中,确定目标运动矢量组。
27.如权利要求21-26任一项所述装置,其特征在于,所述M为根据所述待解码单元的运动预测模式确定的正整数。
28.如权利要求21-27任一项所述装置,其特征在于,所述计算模块具体用于:
根据所述第一已解码单元的左上顶点的运动矢量(vx2,vy2)、所述第一已解码单元的右上顶点的运动矢量(vx3,vy3)、所述第一已解码单元的左下顶点的运动矢量(vx4,vy4)、所述第一已解码单元的左上顶点的像素坐标(x2,y2)、所述第一已解码单元的右上顶点的像素坐标(x3,y3)、所述第一已解码单元的左下顶点的像素坐标(x4,y4)和所述待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待解码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待解码单元的左上顶点属于所述M个控制点;或者,
根据所述第二已解码单元的左上顶点的运动矢量(vx2,vy2)、所述第二已解码单元的右上顶点的运动矢量(vx3,vy3)、所述第二已解码单元的左下顶点的运动矢量(vx4,vy4)、所述第二已解码单元的左上顶点的像素坐标(x2,y2)、所述第二已解码单元的右上顶点的像素坐标(x3,y3)、所述第二已解码单元的左下顶点的像素坐标(x4,y4)和所述待解码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待解码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待解码单元的左上顶点属于所述M个控制占;
29.一种图像编码装置,其特征在于,包括:
确定模块,用于从待编码单元的左方相邻的已编码单元中确定出第一已编码单元;还用于从所述待编码单元的上方相邻的已编码单元中确定出第二已编码单元;其中,所述第一已编码单元、所述第二已编码单元与所述待编码单元的运动预测模式相同;
计算模块,用于根据所述第一已编码单元的多个顶点的运动矢量、所述第一已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第一运动矢量预测值;根据所述M个控制点的第一运动矢量预测值,生成第一运动矢量组;还用于根据所述第二已编码单元的多个顶点的运动矢量、所述第二已编码单元的多个顶点的像素坐标和所述待编码单元的M个控制点的像素坐标,确定出所述M个控制点的第二运动矢量预测值;根据所述M个控制点的第二运动矢量预测值,生成第二运动矢量组;
所述确定模块还用于从多个运动矢量组中,确定目标运动矢量组;其中,所述多个运动矢量组包括所述第一运动矢量组和所述第二运动矢量组;
所述计算模块还用于根据所述目标运动矢量组对所述待编码单元进行预测。
30.如权利要求29所述装置,其特征在于,所述运动预测模式包括:仿射运动预测模式。
31.如权利要求29或30所述装置,其特征在于,所述确定模块具体用于:
在所述待编码单元的左方相邻的两个已编码单元中,将按照第一顺序找到的第一个运动预测模式与所述待编码单元的运动预测模式相同的已编码单元确定为所述第一已编码单元;
在所述待编码单元的上方相邻的三个已编码单元中,将按照第二顺序找到的第一个运动预测模式与所述待编码单元的运动预测模式相同的已编码单元确定为所述第二已编码单元。
32.如权利要求29-31任一项所述装置,其特征在于,所述确定模块具体用于:
生成Q个运动矢量组,Q为第一值;Q+2大于等于预设值;
从所述Q个运动矢量组、所述第一运动矢量组和所述第二运动矢量组中确定出所述目标运动矢量组。
33.如权利要求29-32任一项所述装置,其特征在于,所述确定模块具体用于:
根据所述待编码单元的M个控制点分别对应的已编码单元的运动矢量;
生成Q个运动矢量组。
34.如权利要求29-33任一项所述装置,其特征在于,所述装置还包括编码模块,用于根据所述多个运动矢量组和所述目标运动矢量组确定所述目标运动矢量组的索引标识;并将所述索引标识编入码流。
35.如权利要求29-34任一项所述装置,其特征在于,所述M为根据所述待编码单元的运动预测模式确定的正整数。
36.如权利要求29-35任一项所述装置,其特征在于,所述计算模块具体用于:根据所述第一已编码单元的左上顶点的运动矢量(vx2,vy2)、所述第一已编码单元的右上顶点的运动矢量(vx3,vy3)、所述第一已编码单元的左下顶点的运动矢量(vx4,vy4)、所述第一已编码单元的左上顶点的像素坐标(x2,y2)、所述第一已编码单元的右上顶点的像素坐标(x3,y3)、所述第一已编码单元的左下顶点的像素坐标(x4,y4)和所述待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待编码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待编码单元的左上顶点属于所述M个控制点;或者,
根据所述第二已编码单元的左上顶点的运动矢量(vx2,vy2)、所述第二已编码单元的右上顶点的运动矢量(vx3,vy3)、所述第二已编码单元的左下顶点的运动矢量(vx4,vy4)、所述第二已编码单元的左上顶点的像素坐标(x2,y2)、所述第二已编码单元的右上顶点的像素坐标(x3,y3)、所述第二已编码单元的左下顶点的像素坐标(x4,y4)和所述待编码单元的左上顶点的像素坐标(x0,y0),采用如下公式(1)确定出所述待编码单元的左上顶点的运动矢量预测值(vx0,vy0);其中所述待编码单元的左上顶点属于所述M个控制占.
37.一种存储介质,其特征在于,所述存储介质中包括如权利要求11-20任一项所述方法生成的码流或者如权利要求1-10任一项所述方法解码得到的码流。
38.一种图像处理装置,其特征在于,包括:处理器、存储器、通信接口和总线;其中,所述处理器与所述存储器、所述通信接口通过所述总线连接;
所述存储器用于存储指令;
所述处理器用于执行指令,当所述处理器执行所述存储器存储的指令时,使得所述处理器执行上述权利要求11-20中任一项所述的编码方法或1-10中任一项所述的解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010262939.0A CN111556323B (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610081070.3A CN107046645B9 (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
CN202010262939.0A CN111556323B (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610081070.3A Division CN107046645B9 (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111556323A true CN111556323A (zh) | 2020-08-18 |
CN111556323B CN111556323B (zh) | 2022-05-13 |
Family
ID=59499362
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010262560.XA Active CN111526361B (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
CN202010262939.0A Active CN111556323B (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
CN201610081070.3A Active CN107046645B9 (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
CN202010262559.7A Pending CN111526360A (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010262560.XA Active CN111526361B (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610081070.3A Active CN107046645B9 (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
CN202010262559.7A Pending CN111526360A (zh) | 2016-02-06 | 2016-02-06 | 图像编解码方法及装置 |
Country Status (10)
Country | Link |
---|---|
US (5) | US10798405B2 (zh) |
EP (2) | EP4099699A1 (zh) |
JP (3) | JP7069022B2 (zh) |
KR (4) | KR102447241B1 (zh) |
CN (4) | CN111526361B (zh) |
AU (3) | AU2016390979B2 (zh) |
CA (1) | CA3013655C (zh) |
HK (1) | HK1256107A1 (zh) |
RU (4) | RU2708347C1 (zh) |
WO (1) | WO2017133243A1 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111526361B (zh) | 2016-02-06 | 2022-05-13 | 华为技术有限公司 | 图像编解码方法及装置 |
CN118233624A (zh) | 2017-06-26 | 2024-06-21 | 交互数字Vc控股公司 | 用于视频编码和解码的方法及设备 |
US10856003B2 (en) | 2017-10-03 | 2020-12-01 | Qualcomm Incorporated | Coding affine prediction motion information for video coding |
US10582212B2 (en) * | 2017-10-07 | 2020-03-03 | Google Llc | Warped reference motion vectors for video compression |
CN116915986A (zh) * | 2017-12-12 | 2023-10-20 | 华为技术有限公司 | 视频数据的帧间预测方法和装置 |
CN110035287B (zh) * | 2018-01-12 | 2023-05-09 | 富士通株式会社 | 对统一转换单元模式进行分组标识的方法、装置和电子设备 |
CN108449599B (zh) * | 2018-03-23 | 2021-05-18 | 安徽大学 | 一种基于面透射变换的视频编码与解码方法 |
WO2019194507A1 (ko) * | 2018-04-01 | 2019-10-10 | 엘지전자 주식회사 | 어파인 움직임 예측에 기반한 영상 코딩 방법 및 그 장치 |
WO2019191890A1 (zh) | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 用于图像处理的方法和图像处理装置 |
CN110971899B (zh) * | 2018-10-01 | 2021-06-01 | 华为技术有限公司 | 一种确定运动信息的方法、帧间预测方法及装置 |
WO2020117013A1 (ko) * | 2018-12-06 | 2020-06-11 | 엘지전자 주식회사 | 인터 예측을 기반으로 비디오 신호를 처리하기 위한 방법 및 장치 |
CN116614633A (zh) * | 2019-01-02 | 2023-08-18 | Oppo广东移动通信有限公司 | 解码预测方法、装置及计算机存储介质 |
EP3930327A4 (en) * | 2019-03-08 | 2022-06-01 | Guangdong Oppo Mobile Telecommunications Corp., Ltd. | PREDICTION PROCESS, ENCODER, DECODER, AND COMPUTER STORAGE MEDIA |
CN113824960B (zh) * | 2019-11-13 | 2024-02-23 | 腾讯科技(深圳)有限公司 | 视频编码方法、装置、计算机可读介质及电子设备 |
CN111698502A (zh) * | 2020-06-19 | 2020-09-22 | 中南大学 | 基于vvc编码的仿射运动估计加速方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254238A (zh) * | 1996-05-29 | 2000-05-24 | 三星电子株式会社 | 用于活动图像解码的运动补偿方法及其装置 |
US20100194932A1 (en) * | 2009-02-03 | 2010-08-05 | Sony Corporation | Image processing device, image processing method, and capturing device |
CN102783151A (zh) * | 2010-01-08 | 2012-11-14 | 诺基亚公司 | 用于视频编码的装置、方法和计算机程序 |
CN105163116A (zh) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | 图像预测的方法及设备 |
CN111526361A (zh) * | 2016-02-06 | 2020-08-11 | 华为技术有限公司 | 图像编解码方法及装置 |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU1941797A (en) * | 1997-03-17 | 1998-10-12 | Mitsubishi Denki Kabushiki Kaisha | Image encoder, image decoder, image encoding method, image decoding method and image encoding/decoding system |
KR100772873B1 (ko) * | 2006-01-12 | 2007-11-02 | 삼성전자주식회사 | 스무딩 예측을 이용한 다계층 기반의 비디오 인코딩 방법,디코딩 방법, 비디오 인코더 및 비디오 디코더 |
US8488668B2 (en) * | 2007-06-15 | 2013-07-16 | Qualcomm Incorporated | Adaptive coefficient scanning for video coding |
CN101990761B (zh) * | 2008-04-01 | 2013-01-09 | 佳能株式会社 | 运动图像编码设备和运动图像编码方法 |
JP5401071B2 (ja) * | 2008-10-09 | 2014-01-29 | 株式会社Nttドコモ | 動画像符号化装置、動画像復号装置、動画像符号化方法、動画像復号方法、動画像符号化プログラム、動画像復号プログラム、動画像処理システムおよび動画像処理方法 |
KR101590511B1 (ko) * | 2009-01-23 | 2016-02-02 | 에스케이텔레콤 주식회사 | 움직임 벡터 부호화/복호화 장치 및 방법과 그를 이용한 영상 부호화/복호화 장치 및 방법 |
KR101452859B1 (ko) * | 2009-08-13 | 2014-10-23 | 삼성전자주식회사 | 움직임 벡터를 부호화 및 복호화하는 방법 및 장치 |
WO2011048903A1 (ja) * | 2009-10-20 | 2011-04-28 | シャープ株式会社 | 動画像符号化装置、動画像復号装置、および、データ構造 |
KR101459714B1 (ko) * | 2009-10-28 | 2014-11-13 | 에스케이텔레콤 주식회사 | 공간 분할을 이용한 움직임 벡터 부호화/복호화 방법 및 장치와 그를 이용한 영상 부호화/복호화 방법 및 장치 |
CN101771878B (zh) * | 2010-01-14 | 2011-05-25 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
WO2011099428A1 (ja) * | 2010-02-09 | 2011-08-18 | 日本電信電話株式会社 | 動きベクトル予測符号化方法、動きベクトル予測復号方法、動画像符号化装置、動画像復号装置およびそれらのプログラム |
CN103039075B (zh) * | 2010-05-21 | 2015-11-25 | Jvc建伍株式会社 | 图像编码装置、图像编码方法、以及图像解码装置、图像解码方法 |
GB2487200A (en) * | 2011-01-12 | 2012-07-18 | Canon Kk | Video encoding and decoding with improved error resilience |
JP5716438B2 (ja) * | 2011-02-08 | 2015-05-13 | 株式会社Jvcケンウッド | 画像復号装置、画像復号方法および画像復号プログラム |
KR101968726B1 (ko) * | 2011-06-28 | 2019-04-12 | 엘지전자 주식회사 | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 |
KR101943049B1 (ko) * | 2011-06-30 | 2019-01-29 | 에스케이텔레콤 주식회사 | 영상 부호화/복호화 방법 및 장치 |
JP5950541B2 (ja) * | 2011-11-07 | 2016-07-13 | キヤノン株式会社 | 動きベクトル符号化装置、動きベクトル符号化方法及びプログラム、動きベクトル復号装置、動きベクトル復号方法及びプログラム |
EP2683165B1 (en) * | 2012-07-04 | 2015-10-14 | Thomson Licensing | Method for coding and decoding a block of pixels from a motion model |
WO2014190468A1 (en) * | 2013-05-27 | 2014-12-04 | Microsoft Corporation | Video encoder for images |
US9774879B2 (en) * | 2013-08-16 | 2017-09-26 | Sony Corporation | Intra-block copying enhancements for HEVC in-range-extension (RExt) |
CN104717555B (zh) | 2013-12-11 | 2018-01-02 | 华为技术有限公司 | 视频码流的获取方法及装置 |
JP6373980B2 (ja) | 2014-05-14 | 2018-08-15 | 国立研究開発法人産業技術総合研究所 | 売買情報交換装置及び方法 |
WO2016008157A1 (en) * | 2014-07-18 | 2016-01-21 | Mediatek Singapore Pte. Ltd. | Methods for motion compensation using high order motion model |
CN112087630B (zh) * | 2014-09-30 | 2022-04-08 | 华为技术有限公司 | 图像预测方法、装置、解码器及存储介质 |
EP3023904B1 (en) | 2014-11-24 | 2021-01-27 | IDEMIA France | Implicit File creation in APDU scripts |
CN107809642B (zh) * | 2015-02-16 | 2020-06-16 | 华为技术有限公司 | 用于视频图像编码和解码的方法、编码设备和解码设备 |
GB2561507B (en) * | 2016-01-07 | 2021-12-22 | Mediatek Inc | Method and apparatus for affine merge mode prediction for video coding system |
WO2017130696A1 (ja) * | 2016-01-29 | 2017-08-03 | シャープ株式会社 | 予測画像生成装置、動画像復号装置、および動画像符号化装置 |
CN109729352B (zh) * | 2017-10-27 | 2020-07-21 | 华为技术有限公司 | 确定仿射编码块的运动矢量的方法和装置 |
CN116915986A (zh) * | 2017-12-12 | 2023-10-20 | 华为技术有限公司 | 视频数据的帧间预测方法和装置 |
-
2016
- 2016-02-06 CN CN202010262560.XA patent/CN111526361B/zh active Active
- 2016-02-06 CN CN202010262939.0A patent/CN111556323B/zh active Active
- 2016-02-06 CN CN201610081070.3A patent/CN107046645B9/zh active Active
- 2016-02-06 CN CN202010262559.7A patent/CN111526360A/zh active Pending
- 2016-09-08 CA CA3013655A patent/CA3013655C/en active Active
- 2016-09-08 KR KR1020217023755A patent/KR102447241B1/ko active IP Right Grant
- 2016-09-08 JP JP2018541193A patent/JP7069022B2/ja active Active
- 2016-09-08 RU RU2018131317A patent/RU2708347C1/ru active
- 2016-09-08 KR KR1020207029948A patent/KR102283725B1/ko active IP Right Grant
- 2016-09-08 KR KR1020207029947A patent/KR102284099B1/ko active IP Right Grant
- 2016-09-08 AU AU2016390979A patent/AU2016390979B2/en active Active
- 2016-09-08 EP EP22169632.1A patent/EP4099699A1/en active Pending
- 2016-09-08 KR KR1020187025260A patent/KR102247383B1/ko active IP Right Grant
- 2016-09-08 WO PCT/CN2016/098403 patent/WO2017133243A1/zh active Application Filing
- 2016-09-08 RU RU2019137993A patent/RU2722389C2/ru active
- 2016-09-08 EP EP16889054.9A patent/EP3402205B1/en active Active
-
2018
- 2018-08-03 US US16/054,306 patent/US10798405B2/en active Active
- 2018-11-27 HK HK18115183.5A patent/HK1256107A1/zh unknown
-
2020
- 2020-05-25 RU RU2020117128A patent/RU2737315C1/ru active
- 2020-07-23 AU AU2020207857A patent/AU2020207857B2/en active Active
- 2020-07-23 AU AU2020207860A patent/AU2020207860B2/en active Active
- 2020-08-28 JP JP2020144911A patent/JP7351485B2/ja active Active
- 2020-08-28 JP JP2020144912A patent/JP7351463B2/ja active Active
- 2020-09-10 US US17/017,490 patent/US11394994B2/en active Active
- 2020-09-10 US US17/017,485 patent/US11412248B2/en active Active
- 2020-11-20 RU RU2020138084A patent/RU2748360C1/ru active
-
2022
- 2022-06-17 US US17/843,030 patent/US20220329845A1/en active Pending
- 2022-07-06 US US17/858,447 patent/US20220353525A1/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1254238A (zh) * | 1996-05-29 | 2000-05-24 | 三星电子株式会社 | 用于活动图像解码的运动补偿方法及其装置 |
US20100194932A1 (en) * | 2009-02-03 | 2010-08-05 | Sony Corporation | Image processing device, image processing method, and capturing device |
CN102783151A (zh) * | 2010-01-08 | 2012-11-14 | 诺基亚公司 | 用于视频编码的装置、方法和计算机程序 |
CN105163116A (zh) * | 2015-08-29 | 2015-12-16 | 华为技术有限公司 | 图像预测的方法及设备 |
CN111526361A (zh) * | 2016-02-06 | 2020-08-11 | 华为技术有限公司 | 图像编解码方法及装置 |
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111556323B (zh) | 图像编解码方法及装置 | |
US20200288133A1 (en) | Video coding method and apparatus | |
US10602155B2 (en) | Intra prediction method and apparatus | |
CN108401185B (zh) | 参考帧选择方法、视频转码方法、电子设备和存储介质 | |
KR20230109772A (ko) | 비디오 코딩 시스템에서 인터 예측 방법 및 장치 | |
US20150023417A1 (en) | Method for simultaneously encoding macroblock groups of frame |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |