CN112087629A - 图像预测方法及相关装置 - Google Patents
图像预测方法及相关装置 Download PDFInfo
- Publication number
- CN112087629A CN112087629A CN202010800184.5A CN202010800184A CN112087629A CN 112087629 A CN112087629 A CN 112087629A CN 202010800184 A CN202010800184 A CN 202010800184A CN 112087629 A CN112087629 A CN 112087629A
- Authority
- CN
- China
- Prior art keywords
- image block
- current image
- pixel
- motion vector
- pixel samples
- 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 102
- 230000033001 locomotion Effects 0.000 claims abstract description 928
- 239000013598 vector Substances 0.000 claims abstract description 665
- 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 55
- 230000009466 transformation Effects 0.000 claims description 46
- 230000008569 process Effects 0.000 claims description 13
- 238000010008 shearing Methods 0.000 claims description 10
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims 1
- 230000009286 beneficial effect Effects 0.000 abstract description 6
- 238000005516 engineering process Methods 0.000 description 23
- 230000002349 favourable effect Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000010845 search algorithm Methods 0.000 description 12
- 238000012545 processing Methods 0.000 description 11
- 238000010606 normalization Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000007547 defect Effects 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000013519 translation Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001788 irregular Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000007906 compression Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241000219357 Cactaceae Species 0.000 description 1
- 108091026890 Coding region Proteins 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 239000000203 mixture Substances 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
- 230000002285 radioactive effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 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
-
- 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/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/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
-
- 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/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/593—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
-
- 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/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明实施例公开了一种图像预测方法和相关装置。其中,一种图像预测方法包括:确定当前图像块中的K个像素样本的运动矢量预测值,其中,所述K为大于1的整数,其中,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。本发明实施例方案有利于降低基于非平动运动模型进行图像预测的计算复杂度。
Description
技术领域
本发明涉及图像处理技术领域,具体涉及图像预测方法和相关装置。
背景技术
随着光电采集技术的发展及不断增长的高清数字视频需求,视频数据量越来越大,有限异构的传输带宽、多样化的视频应用不断地对视频编码效率提出了更高的需求,高性能视频编码(英文:high efficient video coding,缩写:HEVC)标准的制定工作因需启动。
视频编码压缩的基本原理是利用空域、时域和码字之间的相关性,尽可能去除冗余。目前流行做法是采用基于块的混合视频编码框架,通过预测(包括帧内预测和帧间预测)、变换、量化、熵编码等步骤实现视频编码压缩。这种编码框架,显示了很强的生命力,HEVC也仍沿用这种基于块的混合视频编码框架。
在各种视频编/解码方案中,运动估计/运动补偿是一种影响编/解码性能的关键技术。其中,在现有的各种各种视频编/解码方案中,假设物体的运动总是满足平动运动,整个物体的各个部分有相同的运动。现有的运动估计/运动补偿算法基本都是建立在平动模型(英文:translational motion model)的基础上的块运动补偿算法。然而,现实世界中运动有多样性,缩放、旋转和抛物线运动等非规则运动普遍存在。上世纪90年代开始,视频编码专家就意识到了非规则运动的普遍性,希望通过引进非规则运动模型(即非平动运动模型)来提高视频编码效率,但是,现有的基于非平动运动模型进行图像预测的计算复杂度通常非常的高。
发明内容
本发明实施例提供一种图像预测方法和相关装置,以期降低基于非平动运动模型进行图像预测的计算复杂度。
本发明第一方面提供一种图像预测方法,包括:
确定当前图像块中的K个像素样本的运动矢量预测值,其中,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;
基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
结合第一方面,在第一方面的第一种可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本和左下像素样本中的至少2个像素样本;
其中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块;所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块;所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一空域相邻图像块为图像块X1、图像块X2或图像块X3;
其中,所述当前图像块的左上像素样本的运动矢量预测值基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻;
所述当前图像块的右上像素样本的运动矢量预测值基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻;
所述当前图像块的左下像素样本的运动矢量预测值基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,
所述第一顶角像素样本为所述当前图像块的左上像素样本,所述第一空域相邻图像块为所述图像块X1,其中,所述图像块X1为所述当前图像块的左上的空域相邻图像块。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,
所述图像块X2为所述当前图像块的上边的空域相邻图像块;
或者,
所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
结合第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,
所述图像块X3为所述当前图像块的左边的空域相邻图像块;
或者,
所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
结合第一方面或第一方面的第一至五种可能的实施方式中的任意一种可能的实施方式,在第一方面的第六种可能的实施方式中,所述基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测,包括:
当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的所述K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
结合第一方面的第七种可能的实施方式,在第一方面的第八种可能的实施方式中,所述参考帧Y1为所述第一顶角像素样本的运动矢量预测值对应的参考帧;其中,将像素样本i的运动矢量预测值缩放到参考帧Y1上,包括:若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
结合第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,所述利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量,包括:
利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
结合第一方面或第一方面的第一至九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十种可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。
结合第一方面或第一方面的第一至十种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十一种可能的实施方式中,
所述图像预测方法应用于视频编码过程中或所述图像预测方法应用于视频解码过程中。
本发明第一方面提供一种图像预测装置,包括:
确定单元,用于确定当前图像块中的K个像素样本的运动矢量预测值,其中,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;
预测单元,用于基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
结合第一方面,在第一方面的第一种可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本和左下像素样本中的至少2个像素样本;
其中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块;所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块;所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述第一空域相邻图像块为图像块X1、图像块X2或图像块X3;
其中,所述当前图像块的左上像素样本的运动矢量预测值基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻;
所述当前图像块的右上像素样本的运动矢量预测值基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻;
所述当前图像块的左下像素样本的运动矢量预测值基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻。
结合第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,
所述第一顶角像素样本为所述当前图像块的左上像素样本,所述第一空域相邻图像块为所述图像块X1,其中,所述图像块X1为所述当前图像块的左上的空域相邻图像块。
结合第一方面的第三种可能的实施方式,在第一方面的第四种可能的实施方式中,
所述图像块X2为所述当前图像块的上边的空域相邻图像块;
或者,
所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
结合第一方面的第三种可能的实施方式或第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,
所述图像块X3为所述当前图像块的左边的空域相邻图像块;
或者,
所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
结合第一方面或第一方面的第一至五种可能的实施方式中的任意一种可能的实施方式,在第一方面的第六种可能的实施方式中,所述预测单元具体用于,当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
结合第一方面的第六种可能的实施方式,在第一方面的第七种可能的实施方式中,所述参考帧Y1为所述第一顶角像素样本的运动矢量预测值对应的参考帧;其中,所述预测单元具体用于若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
结合第一方面的第六种可能的实施方式或第一方面的第七种可能的实施方式或第一方面的第八种可能的实施方式,在第一方面的第九种可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。
结合第一方面或第一方面的第一至九种可能的实施方式中的任意一种可能的实施方式,在第一方面的第十种可能的实施方式中,所述图像预测装置应用于视频编码装置中或所述图像预测装置应用于视频解码装置中。
可以看出,本发明实施例的方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1-a是本发明实施例提供的一种与帧内预测对应的预测单元划分方式的示意图;
图1-b是本发明实施例提供的几种与帧间预测对应的预测单元划分方式的示意图;
图1-c是本发明实施例提供的一种图像预测方法的流程示意图;
图2是本发明实施例提供的一种当前图像块的可能参考相邻块的示意图;
图3-a是本发明实施例提供的另一种图像预测方法的流程示意图;
图3-b是本发明实施例提供的另一种当前图像块的可能参考相邻块的示意图;
图3-c是本发明实施例提供的一种当前图像块的参考帧的示意图;
图3-d是本发明实施例提供的一种当前图像块的示意图;
图3-e是本发明实施例提供的一种图像块仿射变换的示意图;
图4-a是本发明实施例提供的另一种图像预测方法的流程示意图;
图4-b是本发明实施例提供的另一种当前图像块的参考相邻块的示意图;
图5是本发明实施例提供的另一种图像预测方法的流程示意图;
图6是本发明实施例提供的另一种图像预测方法的流程示意图;
图7是本发明实施例提供的一种视频解码方法的流程示意图;
图8是本发明实施例提供的另一种图像预测装置的示意图;
图9是本发明实施例提供的另一种图像预测装置的示意图;
图10是本发明实施例提供的另一种图像预测装置的示意图。
具体实施方式
本发明实施例提供一种图像预测方法和相关装置,以期降低基于非平动运动模型进行图像预测的计算复杂度。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
以下分别进行详细说明。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别不同的对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
下面先对本发明实施例可能涉及的一些概念进行介绍。
在多数的编码框架中,视频序列包括一系列图像(英文:picture),图像被进一步划分为切片(英文:slice),slice再被划分为块(英文:block)。视频编码以块为单位,可从picture的左上角位置开始从左到右从上到下一行一行进行编码处理。在一些新的视频编码标准中,block的概念被进一步扩展。在H.264标准中有宏块(英文:macro block,缩写:MB),MB可进一步划分成多个可用于预测编码的预测块(英文:partition)。其中,在HEVC标准中,采用编码单元(英文:coding unit,缩写:CU),预测单元(英文:prediction unit,缩写:PU)和变换单元(英文:transform unit,缩写:TU)等基本概念,从功能上划分了多种Unit,并采用全新的基于树结构进行描述。比如CU可以按照四叉树进行划分为更小的CU,而更小的CU还可以继续划分,从而形成一种四叉树结构。对于PU和TU也有类似的树结构。无论CU,PU还是TU,本质上都属于块block的概念,CU类似于宏块MB或编码块,是对编码图像进行划分和编码的基本单元。PU可对应预测块,是预测编码的基本单元。对CU按照划分模式进一步划分成多个PU。TU可以对应变换块,是对预测残差进行变换的基本单元。高性能视频编码(英文:high efficiency video coding,缩写:HEVC)标准中则可以把它们统称之为编码树块(英文:coding tree block,缩写:CTB)等等。
在HEVC标准中,编码单元的大小可包括64×64,32×32,16×16和8×8等四个级别,每个级别的编码单元按照帧内预测和帧间预测由可以划分为不同大小的预测单元。其中,例如图1-a和图1-b所示,图1-a举例示出了一种与帧内预测对应的预测单元划分方式,图1-b举例示出了几种与帧间预测对应的预测单元划分方式。
在视频编码技术发展演进过程中,视频编码专家们想了各种方法来利用相邻编解码块之间的时空相关性来努力提高编码效率。其中,在H264/高级视频编码(英文:advancedvideo coding,缩写:AVC)标准中,跳过模式(skip mode)和直接模式(directmode)成为提高编码效率的有效工具,在低码率时使用这两种编码模式的块能占到整个编码序列的一半以上。当使用跳过模式时,只需要在码流中传递一个跳过模式标记,就可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量来直接拷贝参考块的值作为当前图像块的重建值。此外,当使用直接模式时,编码器可以利用周边运动矢量推导得到当前图像块的运动矢量,根据该运动矢量直接拷贝参考块的值作为当前图像块的预测值,在编码端利用该预测值对当前图像块进行编码预测。正演进中的高性能视频编码(英文:highefficiency video coding,缩写:HEVC)标准中,通过引进一些新编码工具,进一步提高视频编码性能。融合编码(merge)模式和自适应运动矢量预测(英文:advanced motionvector prediction,缩写:AMVP)模式是两个重要的帧间预测工具。其中,融合编码(merge)利用当前编码块周边已编码块的运动信息(包括预测方向和运动矢量,参考帧索引)构造一个候选运动信息集合,通过比较,可选择出编码效率最高的候选运动信息作为当前编码块的运动信息,在参考帧中找到当前编码块的预测值,对当前编码块进行预测编码,同时,把表示选择来自哪个周边已编码块的运动信息的索引值写入码流。当使用自适应运动矢量预测模式时,利用周边已编码块的运动矢量作为当前编码块运动矢量的预测值,可以选定一个编码效率最高的运动矢量来预测当前编码块的运动矢量,并可把表示选定哪个周边运动矢量的索引值写入视频码流。
下面继续探讨本发明实施例的技术方案。
下面先介绍本发明实施例提供的图像预测方法,本发明实施例提供的图像预测方法的执行主体是视频编码装置或视频解码装置,其中,该视频编码装置或视频解码装置可以是任何需要输出或存储视频的装置,如笔记本电脑、平板电脑、个人电脑、手机或视频服务器等设备。
本发明图像预测方法的一个实施例,一种图像预测方法包括:确定当前图像块中的K个像素样本的运动矢量预测值(英文:motion vector predictor,缩写:MVP),其中,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
请参见图1-c,图1-c为本发明的一个实施例提供的一种图像预测方法的流程示意图。其中,图1-c举例所示,本发明的一个实施例提供的一种图像预测方法可包括:
101、确定当前图像块中的K个像素样本的运动矢量预测值。
其中,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到。所述第一空域相邻图像块与所述第一顶角像素样本空域相邻。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,具体可能是,所述第一顶角像素样本的运动矢量预测值等于所述当前图像块的预设的第一空域相邻图像块的运动矢量(即,将所述当前图像块的预设的第一空域相邻图像块的运动矢量,作为所述第一顶角像素样本的运动矢量预测值),或也可将所述当前图像块的预设的第一空域相邻图像块的运动矢量进行预设规则的变换而得到的运动矢量预测值,作为所述第一顶角像素样本的运动矢量预测值。
102、基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。可以理解,所述非平动运动模型也不限于上述具体举例。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,第一空域相邻图像块与所述第一顶角像素样本空域相邻,且所述当前图像块的第一空域相邻图像块是预设的(即可认为当前图像块的第一空域相邻图像块是事先约定或设定的),这样有利于快速确定出K个像素样本的运动矢量预测值。且由于较充分的利用图像块的空域相关性去除冗余,有利于进一步提高编码效率。
其中,所述K个像素样本的选定方式可以是多种多样的。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本、左下像素样本和右下像素样本中的至少2个像素样本。
若像素样本为像素块,则该像素块的大小例如为2*2,1*2、4*2、4*4或者其他大小。
可选的,在本发明的一些可能的实施方式中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块。所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块。所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。所述当前图像块的右下像素样本为所述当前图像块的右下顶点或所述当前图像块中的包含所述当前图像块的右下顶点的像素块。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本还可包括所述当前图像块的中心像素样本。其中,所述当前图像块的中心像素样本可为所述当前图像块的中心像素点或所述当前图像块中的包含所述当前图像块的中心像素点的像素块。
可选的,在本发明的一些可能的实施方式中,所述第一空域相邻图像块可为图像块X1、图像块X2、图像块X3或图像块X4。
其中,所述当前图像块的左上像素样本的运动矢量预测值可基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻。
其中,所述当前图像块的右上像素样本的运动矢量预测值可基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻。
其中,所述当前图像块的左下像素样本的运动矢量预测值可基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻;
其中,所述当前图像块的右下像素样本的运动矢量预测值可基于所述图像块X4的运动矢量得到,其中,所述图像块X4为所述当前图像块的空域相邻图像块且所述图像块X4与所述当前图像块的右下像素样本空域相邻。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本可为所述当前图像块的左上像素样本,其中,所述第一空域相邻图像块可为所述图像块X1。所述图像块X1为所述当前图像块的左上的空域相邻图像块,或者所述图像块X1为所述当前图像块的左边的空域相邻图像块,或者所述图像块X1为所述当前图像块的上边的空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,所述图像块X2为所述当前图像块的上边的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右上的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右边的空域相邻图像块。或者又可选的,所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X2的位置,或者,也可以直接约定图像块X2的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X3为所述当前图像块的左边的空域相邻图像块;或者,所述图像块X3为所述当前图像块的左下的空域相邻图像块;或者,所述图像块X3为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X3的位置,或者,也可以直接约定图像块X3的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X4为所述当前图像块的右边的空域相邻图像块;或者,所述图像块X4为所述当前图像块的右下的空域相邻图像块;或者,所述图像块X4为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X4的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X7运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X7为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X4之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
参见图2,图2示举例出图像块X1、图像块X2、图像块X3和图像块X4的一些可能位置。
可选的,在本发明的一些可能的实施方式中,所述基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测,可以具体包括:如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测,可以具体包括:如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测,具体可以包括:当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
可选的,在本发明一些可能的实施方式中,所述参考帧Y1可为所述第一顶角像素样本的运动矢量预测值对应的参考帧,或所述参考帧Y1也可为所述K个像素样本的其他像素像素样本的的运动矢量预测值对应的参考帧。
可选的,在本发明的一些可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明的一些可能的实施方式中,将像素样本i的运动矢量预测值缩放到参考帧Y1上,可包括:若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
可选的,在本发明的一些可能的实施方式中,所述利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可以包括:利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法(或者其他类型的运动估计算法)对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
当然,在另一些可能的应用场景中,也可能省略对所述K个像素样本进行运动估计的步骤。甚至可省略归一化的步骤,即,可省略如下步骤:当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上。
可以理解,本实施例提供的上述任意一种所述图像预测方法可以应用于视频编码过程中或应用于视频解码过程中。
为便于更好的理解和实施本发明实施例的上述方案,下面结合更具体的应用场景进行进一步说明。
请参见图3-a,图3-a为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图3-a举例所示,本发明的另一个实施例提供的另一种图像预测方法可包括:
301、确定当前图像块中的K个像素样本的运动矢量预测值。
其中,本实施例中以所述K=3为例.
其中,本实施例中以K个像素样本包括当前图像块的左上顶点、右上顶点和左下顶点。
其中,图3-b举例所示,当前图像块的左上顶点的的运动矢量预测值等于所述当前图像块的左上的相邻图像块A的运动矢量得到。其中,当前图像块的右上顶点的运动矢量预测值等于所述当前图像块的上边的相邻图像块B的运动矢量,或者当前图像块的右上顶点的的运动矢量预测值可等于所述当前图像块的右上的相邻图像块C的运动矢量。当前图像块的左下顶点的的运动矢量预测值可等于所述当前图像块的左下的相邻图像块E的运动矢量,或者当前图像块的左下顶点的的运动矢量预测值可等于所述当前图像块的左边的相邻图像块D的运动矢量。
例如,可基于如下公式来确定当前图像块的右上顶点和左下顶点的运动矢量预测值。
也就是说,右上顶点的MVP从空域相邻的图像块B和图像块C中选择运动矢量绝对值与A块的运动矢量绝对值差异较大的一个。左下顶点的MVP从空域相邻的图像块D和图像块E中选择运动矢量绝对值与A块的运动矢量绝对值差异较大的一个。
302、利用K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,上述利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量,包括:将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上(即K1个像素样本的运动矢量预测值的归一化处理);利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,在对即K1个像素样本的运动矢量预测值的归一化处理之前,可以先对像素样本的参考帧索引进行修订,其中,像素样本i为所述K个像素样本中除当前图像块的左上顶点之外的任意一个像素样本(例如,左下顶点和右上顶点);其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述左上顶点的运动矢量预测值对应的预测方向不同(例如所述像素样本i的运动矢量预测值所对应的预测方向为前向预测,所述左上顶点的运动矢量预测值对应的预测方向为后向预测,或者,例如所述像素样本i的运动矢量预测值所对应的预测方向为后向预测,所述左上顶点的运动矢量预测值对应的预测方向为前向预测),所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明一些可能的实施方式中,将运动矢量预测值的缩放到某参考帧的方去可如下:假设当前编码帧索引为CurPoc,图像块A的参考帧(即左上顶点的MVP对应的参考帧)为目标参考帧,其中,目标参考帧索引为DesPoc,右上顶点或左下顶点MVP对应的参考帧为原始参考帧,原始参考帧索引为SrcPoc,右上顶点或左下顶点对应的运动矢量预测值为MVP,右上顶点或左下顶点的缩放后的运动矢量预测值为MVS,如图3-c所示,则可以由如下的公式计算获得MVs:
MVs=sign(ScaleFactor×MVP)×abs(ScaleFactor×MVP)
特别的,如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,则不执行K1个像素样本的运动矢量预测值的归一化处理(因为K1个像素样本的运动矢量预测值已经处于归一化状态了),可直接利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可选的,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可包括:基于迭代搜索算法对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可选的,在本发明的一些可能的实施方式中,基于迭代搜索算法的每次迭代对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可包括如下步骤:
S1、按照公式(3)、(3)和(5)计算每个像素点的φk(p)。
其中,φk(p)中的k=1,2,3。
其中,如图3-d所示,假设当前图像块X的大小为S1×S2,当前图像块X中的每个像素点p的坐标为(x,y)。
S2、计算方式ψ′1,x(p)和ψ′1,y(p)。
其中,ψ′1,x(p)和ψ′1,y(p)分别表示当前图像块X中每个像素点p在x方向和y方向的导数,其中,本实施例中以使用Sobel算子计算导数为例,也可使用其他算子(例如Gaussian算子等),Sobel算子的模板如公式(6)和公式(7)举例所示。
设当前像素点p的坐标是(x,y),则ψ′1,x(p)和ψ′1,y(p)的计算公式公式(8)和公式(9)举例所示,其中,pred[x][y]代表当前图像块X中坐标为(x,y)的像素点的预测像素值。
其中,对于位于当前图像块X边缘的像素点,其周围邻近像素点有可能不存在,则ψ′1,x(p)和ψ′1,y(p)可使用其邻近像素点的相应值替代。
S3、计算预测误差e(p)。设当前像素点p的坐标是(x,y),则:
e(p)=org[x][y]-pred[x][y] 公式(10)
其中org[x][y]和pred[x][y]分别表示当前图像块X中坐标为(x,y)的像素点的原始像素值和预测像素值。
S4、设δx1,δx2,δx3和δy1,δy2,δy3分别为当前图像块X的三个顶点在x方向和y方向的运动矢量变化值,通过求解线性方程组(11)计算得到。
Hxklδxk=gxk,k=1,2,3
Hyklδyk=gyk,k=1,2,3 方程组(11)
其中,
其中,基于上述步骤S1~S4就可以运动估计出在本次迭代中,当前图像块的3个像素样本中的每个像素样本在x方向运动矢量变化值δx,每个像素样本在y方向运动矢量变化值δy。
其中,基于上述步骤S1~S4的迭代方式进行一次或多次迭代,就可以运动估计出当前图像块的K个像素样本的运动矢量。
可选的,在本发明的一些可能的实施方式中,可以进一步将运动估计得到的K个像素样本的运动矢量与对应MVP相减,以得到K个像素样本的运动矢量差值(英文:motionvector difference,缩写:MVD),可将K个像素样本的MVD写入视频码流。
进一步的,可使用语法元素affine_no_MVD_flag标识是否在视频码流中写入某像素样本对应的MVD。例如若上述K个像素样本对应的MVD均为0,可将affine_no_MVD_flag设为true且视频码流中不写入MVD;若上述K个像素样本对应的MVD不同时为0,则可将affine_no_MVD_flag设为false且视频码流中写入K个像素样本对应的MVD。
303、基于仿射变换模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量。
其中,设当前预测单元X的大小为S1×S2,通过步骤301到步骤302已求得坐标为(0,0),(S1,0),(0,S2)的三个顶点的运动矢量(vx0,vy0),(vx1,vy1)和(vx2,vy2)。
将三个顶点的坐标及运动矢量代入仿射变换公式(12),便可计算当前图像块内的每个像素点的运动矢量,仿射变换示意图可如图3-e所示。
其中,坐标为(x,y)的像素点的运动矢量计算如下:
进一步的,由于当前图像块中每个像素点的运动信息可能会被其他图像块用于运动矢量预测,因此可每个4x4块存储一个运动信息,各个4x4块的运动矢量存储为该4x4块左上角像素或其他任意一个像素的运动信息。
需要说明的是,本实施例中主要以仿射变换模型作为非平动运动模型的一种举例来进行描述的,而基于其他非平动运动模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量的机制,虽然所使用的公式可能不同,但原理是类似的,此处不再一一举例。
304、基于计算出的所述当前图像块的各像素点的运动矢量对所述当前图像块进行像素值预测。
进一步的,在视频编码中,可利用所述当前图像块的原始像素值和进行像素值预测而得到的所述当前图像块预测像素值得到当前图像块的残差,并可将当前图像块的残差写入视频码流。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,对当前图像块的K个像素样本的MVP的预测方向进行归一化并对参考帧索引进行处理,根据参考帧索引将K个像素样本的MVP的运动矢量进行缩放,映射到同一个参考帧上。进一步的,可根据K个像素样本的最优运动矢量利用仿射变换公式计算出当前图像块中每个像素点的运动矢量。上述方案有利于解决目前视频编码标准对于视频中包含非平动、例如镜头缩放、物体变形和运动物体旋转等特性的内容时,帧间预测准确度低的问题。同时克服了传统技术中提出的仿射变换技术难以应用在多向预测和多参考帧预测情况下的缺陷,进而有利于充分的利用视频序列的时域相关性去除时域冗余,提高编码效率。
请参见图4-a,图4-a为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图4-a举例所示,本发明的另一个实施例提供的另一种图像预测方法可包括:
401、确定当前图像块中的K个像素样本的运动矢量预测值。
其中,本实施例中以所述K=3为例。
其中,本实施例中以K个像素样本包括当前图像块的左上顶点、右上顶点和左下顶点。
其中,图4-b举例所示,当前图像块的左上顶点的的运动矢量预测值等于所述当前图像块的左上的相邻图像块A的运动矢量得到。其中,当前图像块的右上顶点的运动矢量预测值等于所述当前图像块的上边的相邻图像块B的运动矢量。当前图像块的左下顶点的的运动矢量预测值可等于所述当前图像块的左边的相邻图像块D的运动矢量。
402、利用K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,上述利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量,包括:将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上(即K1个像素样本的运动矢量预测值的归一化处理);利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,在对即K1个像素样本的运动矢量预测值的归一化处理之前,可以先对像素样本i的参考帧索引进行修订,其中,像素样本i为所述K个像素样本中除当前图像块的左上顶点之外的任意一个像素样本(例如,左下顶点和右上顶点);其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述左上顶点的运动矢量预测值对应的预测方向不同(例如所述像素样本i的运动矢量预测值所对应的预测方向为前向预测,所述左上顶点的运动矢量预测值对应的预测方向为后向预测,或者,例如所述像素样本i的运动矢量预测值所对应的预测方向为后向预测,所述左上顶点的运动矢量预测值对应的预测方向为前向预测),所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明一些可能的实施方式中,将运动矢量预测值的缩放到某参考帧的方法可如下:假设当前编码帧索引为CurPoc,图像块A的参考帧(即左上顶点的MVP对应的参考帧)为目标参考帧,其中,目标参考帧索引为DesPoc,右上顶点或左下顶点MVP对应的参考帧为原始参考帧,原始参考帧索引为SrcPoc,右上顶点或左下顶点对应的运动矢量预测值为MVP,右上顶点或左下顶点的缩放后的运动矢量预测值为MVS,则可以由如下的公式计算获得MVS:
MVS=sign(ScaleFactor×MVP)×abs(ScaleFactor×MVP)
特别的,如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,则不执行K1个像素样本的运动矢量预测值的归一化处理(因为K1个像素样本的运动矢量预测值已经处于归一化状态了),可直接利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可选的,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可包括:基于迭代搜索算法对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。其中,具体的迭代搜索算法可参考上述实施例的相关描述,此处不再赘述。
可选的,在本发明的一些可能的实施方式中,可以进一步将运动估计得到的K个像素样本的运动矢量与对应MVP相减以得到K个像素样本的MVD,可将K个像素样本的MVD写入视频码流。
进一步的,可使用语法元素affine_no_MVD_flag标识是否在视频码流中写入某像素样本对应的MVD。例如若上述K个像素样本对应的MVD均为0,可将affine_no_MVD_flag设为true且视频码流中不写入MVD;若上述K个像素样本对应的MVD不同时为0,则可将affine_no_MVD_flag设为false且视频码流中写入K个像素样本对应的MVD。
403、基于仿射变换模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量。
进一步的,由于当前图像块中每个像素点的运动信息可能会被其他图像块用于运动矢量预测,因此,每个4x4(或8*8)块(或8*8)可以存储一个运动信息,各个4x4(或8*8)块的运动矢量存储为该4x4块左上角像素或其他任意一个像素的运动信息。
其中,运动信息可包括运动矢量、运动矢量对应的预测方向、运动矢量对应的参考帧索引。
需要说明的是,本实施例中主要以仿射变换模型作为非平动运动模型的一种举例来进行描述的,而基于其他非平动运动模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量的机制,虽然所使用的公式可能不同,但原理是类似的,此处不再一一举例。
404、基于计算出的所述当前图像块的各像素点的运动矢量对所述当前图像块进行像素值预测。
进一步的,在视频编码中,可利用所述当前图像块的原始像素值和进行像素值预测而得到的所述当前图像块预测像素值得到当前图像块的残差,并可将当前图像块的残差写入视频码流。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,对当前图像块的K个像素样本的MVP的预测方向进行归一化并对参考帧索引进行处理,根据参考帧索引将K个像素样本的MVP的运动矢量进行缩放,映射到同一个参考帧上。进一步的,可根据K个像素样本的最优运动矢量利用仿射变换公式计算出当前图像块中每个像素点的运动矢量。上述方案有利于解决目前视频编码标准对于视频中包含非平动、例如镜头缩放、物体变形和运动物体旋转等特性的内容时,帧间预测准确度低的问题。同时克服了传统技术中提出的仿射变换技术难以应用在多向预测和多参考帧预测情况下的缺陷,进而有利于充分的利用视频序列的时域相关性去除时域冗余,提高编码效率。
请参见图5,图5为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图5举例所示,本发明的另一个实施例提供的另一种图像预测方法可包括:
501、确定当前图像块中的K个像素样本的运动矢量预测值。
其中,本实施例中以所述K=3为例。
其中,本实施例中以K个像素样本包括当前图像块的左上顶点、右上顶点和左下顶点。
其中,步骤501中确定当前图像块中的K个像素样本的运动矢量预测值的具体方式可参考上述实施例中的任意一种方式。
502、将上述K个像素样本的运动矢量预测值,作为上述K个像素样本的运动矢量,基于仿射变换模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量。
进一步的,由于当前图像块中每个像素点的运动信息可能会被其他图像块用于运动矢量预测,因此,每个4x4(或8*8)块(或8*8)可以存储一个运动信息,各个4x4(或8*8)块的运动矢量存储为该4x4块左上角像素或其他任意一个像素的运动信息。
其中,运动信息可包括运动矢量、运动矢量对应的预测方向、运动矢量对应的参考帧索引。
需要说明的是,本实施例中主要以仿射变换模型作为非平动运动模型的一种举例来进行描述的,而基于其他非平动运动模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量的机制,虽然所使用的公式可能不同,但原理是类似的,此处不再一一举例。
503、基于计算出的所述当前图像块的各像素点的运动矢量对所述当前图像块进行像素值预测。
进一步的,在视频编码中,可利用所述当前图像块的原始像素值和进行像素值预测而得到的所述当前图像块预测像素值得到当前图像块的残差,并可将当前图像块的残差写入视频码流。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,对当前图像块的K个像素样本的MVP的预测方向进行归一化并对参考帧索引进行处理,根据参考帧索引将K个像素样本的MVP的运动矢量进行缩放,映射到同一参考帧上。上述技术方案有利于解决目前视频编码标准对于视频中包含非平动(例如镜头缩放、物体变形和运动物体旋转等)特性的内容时,帧间预测准确度低的问题。同时克服了传统技术中提出的仿射变换技术难以应用在多向预测和多参考帧预测情况下的缺陷,进而有利于充分的利用视频序列的时域相关性去除时域冗余,提高编码效率。
请参见图6,图6为本发明的另一个实施例提供的另一种图像预测方法的流程示意图。其中,图6举例所示,本发明的另一个实施例提供的另一种图像预测方法可包括:
601、确定当前图像块中的K个像素样本的运动矢量预测值。
其中,本实施例中以所述K=3为例。
其中,本实施例中以K个像素样本包括当前图像块的左上顶点、右上顶点和左下顶点。
其中,步骤601中确定当前图像块中的K个像素样本的运动矢量预测值的具体方式可参考上述实施例中的任意一种方式。
602、利用K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,上述利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量,包括:将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上(即K1个像素样本的运动矢量预测值的归一化处理);利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,在对即K1个像素样本的运动矢量预测值的归一化处理之前,可以先对像素样本i的参考帧索引进行修订,其中,像素样本i为所述K个像素样本中除当前图像块的左上顶点之外的任意一个像素样本(例如,左下顶点和右上顶点);其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述左上顶点的运动矢量预测值对应的预测方向不同(例如所述像素样本i的运动矢量预测值所对应的预测方向为前向预测,所述左上顶点的运动矢量预测值对应的预测方向为后向预测,或者,例如所述像素样本i的运动矢量预测值所对应的预测方向为后向预测,所述左上顶点的运动矢量预测值对应的预测方向为前向预测),所述像素样本i的运动矢量预测值对应的参考帧索引为0。
特别的,如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,则不执行K1个像素样本的运动矢量预测值的归一化处理(因为K1个像素样本的运动矢量预测值已经处于归一化状态了),可直接利用K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可选的,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可包括:基于迭代搜索算法对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。其中,具体的迭代搜索算法可参考上述实施例的相关描述,此处不再赘述。
可选的,在本发明的一些可能的实施方式中,可以进一步将运动估计得到的K个像素样本的运动矢量与对应MVP相减以得到K个像素样本的MVD,可将K个像素样本的MVD写入视频码流。
进一步的,可使用语法元素affine_no_MVD_flag标识是否在视频码流中写入某像素样本对应的MVD。例如若上述K个像素样本对应的MVD均为0,可将affine_no_MVD_flag设为true且视频码流中不写入MVD;若上述K个像素样本对应的MVD不同时为0,则可将affine_no_MVD_flag设为false且视频码流中写入K个像素样本对应的MVD。
603、基于放射变换模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量。
进一步的,由于当前图像块中每个像素点的运动信息可能会被其他图像块用于运动矢量预测,因此,每个4x4(或8*8)块(或8*8)可以存储一个运动信息,各个4x4(或8*8)块的运动矢量存储为该4x4块左上角像素或其他任意一个像素的运动信息。
其中,运动信息可包括运动矢量、运动矢量对应的预测方向、运动矢量对应的参考帧索引。
需要说明的是,本实施例中主要以仿射变换模型作为非平动运动模型的一种举例来进行描述的,而基于其他非平动运动模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量的机制,虽然所使用的公式可能不同,但原理是类似的,此处不再一一举例。
604、计算当前预测单元使用基于仿射变换的帧间预测模式(步骤601~步骤603)的率失真代价,并与使用HEVC帧间预测模式计算的率失真代价进行比较。
其中,如果使用基于仿射变换的帧间预测模式的率失真代价小于使用HEVC帧间预测模式的率失真代价,则将当前图像块的最优帧间预测模式设为基于仿射变换的帧间预测模式,具体可以设置语法元素affine_MC_flag为true来标识当前图像块的最优帧间预测模式为基于仿射变换的帧间预测模式。否则设置语法元素affine_MC_flag为false,以标识当前图像块的最优帧间预测模式为HEVC帧间预测模式。
605、基于计算出的所述当前图像块的各像素点的运动矢量对所述当前图像块进行像素值预测。
例如,对于亮度分量,若该像素点的运动矢量为1/4像素精度,则可使用HEVC的内插滤波器得到每个像素点的预测像素值。若该像素点的运动矢量高于1/4像素精度,则首先利用HEVC的内插滤波器得到距离该像素点最近的4个1/4像素的预测像素值,然后双线性插值得到该像素点的预测像素值。对于色度分量,使用HEVC的内插滤波器得到预测像素值。
进一步的,在视频编码中,可利用所述当前图像块的原始像素值和进行像素值预测而得到的所述当前图像块预测像素值得到当前图像块的残差,并将当前图像块的残差写入视频码流,具体为对当前预测单元的残差进行变换、量化和并熵编码后写入视频码流。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,对当前图像块的K个像素样本的MVP的预测方向进行归一化并对参考帧索引进行处理,根据参考帧索引将K个像素样本的MVP的运动矢量进行缩放,映射到同一个参考帧上。进一步的,可根据K个像素样本的最优运动矢量利用仿射变换公式计算出当前图像块中每个像素点的运动矢量。上述方案有利于解决目前视频编码标准对于视频中包含非平动、例如镜头缩放、物体变形和运动物体旋转等特性的内容时,帧间预测准确度低的问题。同时克服了传统技术中提出的仿射变换技术难以应用在多向预测和多参考帧预测情况下的缺陷,进而有利于充分的利用视频序列的时域相关性去除时域冗余,提高编码效率。
请参见图7,图7为本发明的一个实施例提供的一种视频解码方法的流程示意图。其中,图7举例所示,本发明的一个实施例提供的一种视频解码方法可包括:
701、解码端解码视频码流中的语法元素affine_MC_flag,以判断当前图像块是否使用基于仿射变换帧间预测模式。
702、若当前图像块使用了基于仿射变换的帧间预测模式,则解码端解码视频码流中的语法元素affine_inter_dir_flag,以判断当前图像块使用的帧间预测方向。
703、解码端根据语法元素affine_inter_dir_flag确定当前图像块的K个像素样本的MVP。
其中,当前图像块的K个像素样本可为上述任意一个实施例中描述的当前图像块的K个像素样本。
704、解码端通过解码视频码流中的当前图像块对应的语法元素affine_no_MVD_flag判断当前图像块的K个像素样本对应的MVD是否为0。如果affine_no_MVD_flag为true,则表示当前图像块的K个像素样本对应的MVD均为0,可以将得到的K个像素样本的MVP的运动矢量作为K个像素样本的运动矢量。如果affine_no_MVD_flag为false,表示K个像素样本对应的MVD不同时为0,则分别解码得到K个像素样本对应的MVD。将每个像素样本对应的MVD与相应MVP相加得到该像素样本的运动矢量。
705、解码端解码当前图像块的残差系数,并进行反量化和反变换得到当前图像块的残差像素。
706、解码端基于仿射变换模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量,基于计算出的所述当前图像块的各像素点的运动矢量对所述当前图像块进行像素值预测,以得到所述当前图像块的预测像素值。
需要说明的是,本实施例中主要以仿射变换模型作为非平动运动模型的一种举例来进行描述的,而基于其他非平动运动模型和所述K个像素样本的运动矢量计算所述当前图像块的各像素点的运动矢量的机制,虽然所使用的公式可能不同,但原理是类似的,此处不再一一举例。
707、解码端根据当前图像块的残差像素和当前图像块的预测像素值对当前图像块进行重建。
进一步的,由于当前图像块中每个像素点的运动信息可能会被其他图像块用于运动矢量预测,因此,每个4x4(或8*8)块(或8*8)可以存储一个运动信息,各个4x4(或8*8)块的运动矢量存储为该4x4块左上角像素或其他任意一个像素的运动信息。
其中,运动信息可包括运动矢量、运动矢量对应的预测方向、运动矢量对应的参考帧索引。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,对当前图像块的K个像素样本的MVP的预测方向进行归一化并对参考帧索引进行处理,根据参考帧索引将K个像素样本的MVP的运动矢量进行缩放,映射到同一个参考帧上。进一步的,可根据K个像素样本的最优运动矢量利用仿射变换公式计算出当前图像块中每个像素点的运动矢量。上述方案有利于解决目前视频编码标准对于视频中包含非平动、例如镜头缩放、物体变形和运动物体旋转等特性的内容时,帧间预测准确度低的问题。同时克服了传统技术中提出的仿射变换技术难以应用在多向预测和多参考帧预测情况下的缺陷,进而有利于充分的利用视频序列的时域相关性去除时域冗余,提高编码效率。
将本发明实施例提供的一些方案在最新视频编码标准HEVC的编码器HM11.0上进行仿真测试,例如在低延迟(LDB)和随机接入(RA)两种配置下进行了测试,并与HM11.0方案的性能进行对比。测试选取6个仿射特性比较明显的测试序列,测试序列如表1所列,仿真结果如表2所示。
表1
序列名称 | 分辨率 | 帧率 | 序列长度 |
Intotree | 1920x1080 | 50 | 3秒 |
Cactus | 1920x1080 | 50 | 3秒 |
Tractor | 1920x1080 | 25 | 3秒 |
City | 1280x720 | 60 | 5秒 |
Crew | 1280x720 | 60 | 5秒 |
SlideShow | 1280x720 | 20 | 5秒 |
表2
其中,性能指标BD-rate可以利用QP为22,27,32和37四个点的结果计算得到,分别计算Y、U和V三个分量的峰值信噪比(PSNR)。
可以看出,本发明实施例的方案在LDB配置下,平均BD-ratefY)性能提升为4.5%,在RA配置下,平均BD-rate(Y)性能提升为5.0%,最大甚至可以达到17.8%,也就是说使用本实施例的方案与HM 11.0方法相比,在相同PSNR质量情况下,可以节省最大17.8%的码率。
下面对其他一些非运动模型进行介绍。
其中,一种仿射变换模型是满足如下模型的运动模型:
其中,a,b,c,d,e,f是常参数;(x,y)为像素点原始坐标,(x′,y′)为像素点经放射变换后的坐标,Vx为x轴方向上得运动矢量,Vy为y轴方向上得运动矢量
旋转运动模型可如下所示:
其中a为旋转角度,a,b是参数。
透视运动模型可如下所示:
剪切运动模型可如下所示:
缩放运动模型可如下所示:
其中ρx,ρy,θx和θy是常参数。
二次运动模型
u和v表示是原始坐标点,x和y表示变换后坐标,其他为常参数。
可以理解的是,上述举例只是举例给出了各种运动模型的一些可能的表现形式,当然它们可可能存在其他形式。
下面还提供用于实施上述方案的相关装置。
参见图8,本发明实施例还提供一种图像预测装置800,可包括:
确定单元810,用于确定当前图像块中的K个像素样本的运动矢量预测值,其中,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量预测值得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;
预测单元820,用于基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,具体可能是,所述第一顶角像素样本的运动矢量预测值等于所述当前图像块的预设的第一空域相邻图像块的运动矢量(即,将所述当前图像块的预设的第一空域相邻图像块的运动矢量,作为所述第一顶角像素样本的运动矢量预测值),或也可将所述当前图像块的预设的第一空域相邻图像块的运动矢量进行预设规则的变换而得到的运动矢量预测值,作为所述第一顶角像素样本的运动矢量预测值。
可选的,在本发明的一些可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。可以理解,所述非平动运动模型也不限于上述具体举例。
其中,所述K个像素样本的选定方式可以是多种多样的。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本、左下像素样本和右下像素样本中的至少2个像素样本。
若像素样本为像素块,则该像素块的大小例如为2*2,1*2、4*2、4*4或者其他大小。
可选的,在本发明的一些可能的实施方式中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块。所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块。所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。所述当前图像块的右下像素样本为所述当前图像块的右下顶点或所述当前图像块中的包含所述当前图像块的右下顶点的像素块。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本还可包括所述当前图像块的中心像素样本。其中,所述当前图像块的中心像素样本可为所述当前图像块的中心像素点或所述当前图像块中的包含所述当前图像块的中心像素点的像素块。
可选的,在本发明的一些可能的实施方式中,所述第一空域相邻图像块可为图像块X1、图像块X2、图像块X3或图像块X4。
其中,所述当前图像块的左上像素样本的运动矢量预测值可基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻。
其中,所述当前图像块的右上像素样本的运动矢量预测值可基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻。
其中,所述当前图像块的左下像素样本的运动矢量预测值可基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻;
其中,所述当前图像块的右下像素样本的运动矢量预测值可基于所述图像块X4的运动矢量得到,其中,所述图像块X4为所述当前图像块的空域相邻图像块且所述图像块X4与所述当前图像块的右下像素样本空域相邻。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本可为所述当前图像块的左上像素样本,其中,所述第一空域相邻图像块可为所述图像块X1。所述图像块X1为所述当前图像块的左上的空域相邻图像块,或者所述图像块X1为所述当前图像块的左边的空域相邻图像块,或者所述图像块X1为所述当前图像块的上边的空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,所述图像块X2为所述当前图像块的上边的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右上的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右边的空域相邻图像块。或者又可选的,所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X2的位置,或者,也可以直接约定图像块X2的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X3为所述当前图像块的左边的空域相邻图像块;或者,所述图像块X3为所述当前图像块的左下的空域相邻图像块;或者,所述图像块X3为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X3的位置,或者,也可以直接约定图像块X3的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X4为所述当前图像块的右边的空域相邻图像块;或者,所述图像块X4为所述当前图像块的右下的空域相邻图像块;或者,所述图像块X4为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X4的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X7运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X7为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X4之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
参见图2,图2示举例出图像块X1、图像块X2、图像块X3和图像块X4的一些可能位置。
可选的,在本发明的一些可能的实施方式中,预测单元820可用于,如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,预测单元820可用于如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,所述预测单元820可具体用于,当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
可选的,在本发明一些可能的实施方式中,所述参考帧Y1可为所述第一顶角像素样本的运动矢量预测值对应的参考帧,或所述参考帧Y1也可为所述K个像素样本的其他像素像素样本的的运动矢量预测值对应的参考帧。
可选的,在本发明的一些可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明的一些可能的实施方式中,若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,预测单元820可将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
可选的,在本发明的一些可能的实施方式中,所述利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量可以包括:利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法(或者其他类型的运动估计算法)对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可选的,在本发明的一些可能的实施方式中,所述利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量,包括:利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
其中,所述图像预测装置800应用于视频编码装置中或所述图像预测装置800应用于视频解码装置中。
可以理解的是,本实施例的图像预测装置800的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图像预测装置800可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机等设备。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,第一空域相邻图像块与所述第一顶角像素样本空域相邻,且所述当前图像块的第一空域相邻图像块是预设的(即可认为当前图像块的第一空域相邻图像块是事先约定或设定的),这样有利于快速确定出K个像素样本的运动矢量预测值。且由于较充分的利用图像块的空域相关性去除冗余,有利于进一步提高编码效率。
参见图9,图9为本发明实施例提供的图像预测装置900的示意图,图像预测装置900可包括至少一个总线901、与总线901相连的至少一个处理器902以及与总线901相连的至少一个存储器903。
其中,处理器902通过总线901,调用存储器903中存储的代码以用于确定当前图像块中的K个像素样本的运动矢量预测值,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,具体可能是,所述第一顶角像素样本的运动矢量预测值等于所述当前图像块的预设的第一空域相邻图像块的运动矢量(即,将所述当前图像块的预设的第一空域相邻图像块的运动矢量,作为所述第一顶角像素样本的运动矢量预测值),或也可将所述当前图像块的预设的第一空域相邻图像块的运动矢量进行预设规则的变换而得到的运动矢量预测值,作为所述第一顶角像素样本的运动矢量预测值。
可选的,在本发明的一些可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。可以理解,所述非平动运动模型也不限于上述具体举例。
其中,所述K个像素样本的选定方式可以是多种多样的。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本、左下像素样本和右下像素样本中的至少2个像素样本。
若像素样本为像素块,则该像素块的大小例如为2*2,1*2、4*2、4*4或者其他大小。
可选的,在本发明的一些可能的实施方式中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块。所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块。所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。所述当前图像块的右下像素样本为所述当前图像块的右下顶点或所述当前图像块中的包含所述当前图像块的右下顶点的像素块。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本还可包括所述当前图像块的中心像素样本。其中,所述当前图像块的中心像素样本可为所述当前图像块的中心像素点或所述当前图像块中的包含所述当前图像块的中心像素点的像素块。
可选的,在本发明的一些可能的实施方式中,所述第一空域相邻图像块可为图像块X1、图像块X2、图像块X3或图像块X4。
其中,所述当前图像块的左上像素样本的运动矢量预测值可基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻。
其中,所述当前图像块的右上像素样本的运动矢量预测值可基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻。
其中,所述当前图像块的左下像素样本的运动矢量预测值可基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻;
其中,所述当前图像块的右下像素样本的运动矢量预测值可基于所述图像块X4的运动矢量得到,其中,所述图像块X4为所述当前图像块的空域相邻图像块且所述图像块X4与所述当前图像块的右下像素样本空域相邻。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本可为所述当前图像块的左上像素样本,其中,所述第一空域相邻图像块可为所述图像块X1。所述图像块X1为所述当前图像块的左上的空域相邻图像块,或者所述图像块X1为所述当前图像块的左边的空域相邻图像块,或者所述图像块X1为所述当前图像块的上边的空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,所述图像块X2为所述当前图像块的上边的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右上的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右边的空域相邻图像块。或者又可选的,所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X2的位置,或者,也可以直接约定图像块X2的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X3为所述当前图像块的左边的空域相邻图像块;或者,所述图像块X3为所述当前图像块的左下的空域相邻图像块;或者,所述图像块X3为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X3的位置,或者,也可以直接约定图像块X3的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X4为所述当前图像块的右边的空域相邻图像块;或者,所述图像块X4为所述当前图像块的右下的空域相邻图像块;或者,所述图像块X4为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X4的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X7运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X7为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X4之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,处理器902可用于如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,处理器902可用于如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,处理器902可用于当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
可选的,在本发明一些可能的实施方式中,所述参考帧Y1可为所述第一顶角像素样本的运动矢量预测值对应的参考帧,或所述参考帧Y1也可为所述K个像素样本的其他像素像素样本的的运动矢量预测值对应的参考帧。
可选的,在本发明的一些可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明的一些可能的实施方式中,若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,处理器902可用于将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
可选的,在本发明的一些可能的实施方式中,处理器902可用于利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法(或者其他类型的运动估计算法)对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可以理解的是,本实施例的图像预测装置900的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图像预测装置900可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机等设备。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,第一空域相邻图像块与所述第一顶角像素样本空域相邻,且所述当前图像块的第一空域相邻图像块是预设的(即可认为当前图像块的第一空域相邻图像块是事先约定或设定的),这样有利于快速确定出K个像素样本的运动矢量预测值。且由于较充分的利用图像块的空域相关性去除冗余,有利于进一步提高编码效率。
参见图10,图10是本发明的另一实施例提供的图像预测装置1000的结构框图。其中,图像预测装置1000可包括:至少1个处理器1001,至少1个网络接口1004或其他用户接口1003,存储器1005,至少1个通信总线1002。通信总线1002用于实现这些组件之间的连接通信。其中,该图像预测装置1000可选的可以包含用户接口1003,包括显示器(例如触摸屏、LCD、全息成像(Holographic)、CRT或者投影(Proiector)等)、点击设备(例如鼠标或轨迹球(trackball)触感板或触摸屏等)、摄像头和/或拾音装置等。
其中,存储器1005可以包括只读存储器和随机存取存储器,并向处理器1001提供指令和数据。存储器1005中的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1005存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:
操作系统10051,包含各种系统程序,用于实现各种基础业务以及处理基于硬件的任务。
应用程序模块10052,包含各种应用程序,用于实现各种应用业务。
在本发明的实施例中,通过调用存储器1005存储的程序或指令,处理器1001用于确定当前图像块中的K个像素样本的运动矢量预测值,所述K为大于1的整数,所述K个像素样本包括所述当前图像块的第一顶角像素样本,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,所述第一空域相邻图像块与所述第一顶角像素样本空域相邻;基于非平动运动模型和所述K个像素样本的运动矢量预测值对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,具体可能是,所述第一顶角像素样本的运动矢量预测值等于所述当前图像块的预设的第一空域相邻图像块的运动矢量(即,将所述当前图像块的预设的第一空域相邻图像块的运动矢量,作为所述第一顶角像素样本的运动矢量预测值),或也可将所述当前图像块的预设的第一空域相邻图像块的运动矢量进行预设规则的变换而得到的运动矢量预测值,作为所述第一顶角像素样本的运动矢量预测值。
可选的,在本发明的一些可能的实施方式中,所述非平动运动模型为如下模型中的任意一个:仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型,剪切运动模型和缩放运动模型。可以理解,所述非平动运动模型也不限于上述具体举例。
其中,所述K个像素样本的选定方式可以是多种多样的。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本包括所述当前图像块的左上像素样本、右上像素样本、左下像素样本和右下像素样本中的至少2个像素样本。
若像素样本为像素块,则该像素块的大小例如为2*2,1*2、4*2、4*4或者其他大小。
可选的,在本发明的一些可能的实施方式中,所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块。所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块。所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含所述当前图像块的右上顶点的像素块。所述当前图像块的右下像素样本为所述当前图像块的右下顶点或所述当前图像块中的包含所述当前图像块的右下顶点的像素块。
可选的,在本发明的一些可能的实施方式中,所述K个像素样本还可包括所述当前图像块的中心像素样本。其中,所述当前图像块的中心像素样本可为所述当前图像块的中心像素点或所述当前图像块中的包含所述当前图像块的中心像素点的像素块。
可选的,在本发明的一些可能的实施方式中,所述第一空域相邻图像块可为图像块X1、图像块X2、图像块X3或图像块X4。
其中,所述当前图像块的左上像素样本的运动矢量预测值可基于所述图像块X1的运动矢量得到,所述图像块X1为所述当前图像块的空域相邻图像块且所述图像块X1与所述当前图像块的左上像素样本空域相邻。
其中,所述当前图像块的右上像素样本的运动矢量预测值可基于所述图像块X2的运动矢量得到,所述图像块X2为所述当前图像块的空域相邻图像块且所述图像块X2与所述当前图像块的右上像素样本空域相邻。
其中,所述当前图像块的左下像素样本的运动矢量预测值可基于所述图像块X3的运动矢量得到,其中,所述图像块X3为所述当前图像块的空域相邻图像块且所述图像块X3与所述当前图像块的左下像素样本空域相邻;
其中,所述当前图像块的右下像素样本的运动矢量预测值可基于所述图像块X4的运动矢量得到,其中,所述图像块X4为所述当前图像块的空域相邻图像块且所述图像块X4与所述当前图像块的右下像素样本空域相邻。
可选的,在本发明的一些可能的实施方式中,所述第一顶角像素样本可为所述当前图像块的左上像素样本,其中,所述第一空域相邻图像块可为所述图像块X1。所述图像块X1为所述当前图像块的左上的空域相邻图像块,或者所述图像块X1为所述当前图像块的左边的空域相邻图像块,或者所述图像块X1为所述当前图像块的上边的空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,所述图像块X2为所述当前图像块的上边的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右上的空域相邻图像块;或者,所述图像块X2为所述当前图像块的右边的空域相邻图像块。或者又可选的,所述图像块X2的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X5的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X5为所述当前图像块的与所述右上顶点空域相邻的除所述图像块X2之剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X2的位置,或者,也可以直接约定图像块X2的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X3为所述当前图像块的左边的空域相邻图像块;或者,所述图像块X3为所述当前图像块的左下的空域相邻图像块;或者,所述图像块X3为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X3的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X6运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X6为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X3之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。也就是说,可以基于一定的策略来确定图像块X3的位置,或者,也可以直接约定图像块X3的位置。
可选的,在本发明的一些可能的实施方式中,所述图像块X4为所述当前图像块的右边的空域相邻图像块;或者,所述图像块X4为所述当前图像块的右下的空域相邻图像块;或者,所述图像块X4为所述当前图像块的下边的空域相邻图像块。或者又可选的,所述图像块X4的运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,大于或等于所述图像块X7运动矢量绝对值与所述图像块X1的运动矢量绝对值之间的差值的绝对值,所述图像块X7为所述当前图像块的与所述左下顶点空域相邻的除所述图像块X4之外剩余的至少部分空域相邻图像块中的任意一个空域相邻图像块。
可选的,在本发明的一些可能的实施方式中,处理器1001可用于如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,处理器1001可用于如果所述K个像素样本的运动矢量预测值对应的参考帧均为参考帧Y1时,利用所述K个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测。
可选的,在本发明的一些可能的实施方式中,处理器1001可用于当所述K个像素样本之中的K1个像素样本的运动矢量预测值对应的参考帧不为参考帧Y1时,将所述K1个像素样本的运动矢量预测值缩放到所述参考帧Y1上;利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量;利用非平动运动模型和所述K个像素样本的运动矢量对所述当前图像块进行像素值预测,其中,所述K2个像素样本为所述K个像素样本中除所述K1个像素样本之外的剩余像素样本,所述K1和所述K2为正整数。
可选的,在本发明一些可能的实施方式中,所述参考帧Y1可为所述第一顶角像素样本的运动矢量预测值对应的参考帧,或所述参考帧Y1也可为所述K个像素样本的其他像素像素样本的的运动矢量预测值对应的参考帧。
可选的,在本发明的一些可能的实施方式中,像素样本i为所述K个像素样本中除所述第一顶角像素样本之外的任意一个像素样本;其中,若所述像素样本i的运动矢量预测值所对应的预测方向,与所述第一顶角像素样本的运动矢量预测值对应的预测方向不同,所述像素样本i的运动矢量预测值对应的参考帧索引为0。
可选的,在本发明的一些可能的实施方式中,若所述第一顶角像素样本与所述像素样本i的运动矢量预测值对应的参考帧索引不同,处理器1001可用于将所述像素样本i的运动矢量预测值缩放到参考帧Y1。
可选的,在本发明的一些可能的实施方式中,处理器1001可用于利用K2个像素样本的运动矢量预测值和缩放到所述参考帧Y1上的K1个像素样本的运动矢量预测值,基于迭代搜索算法(或者其他类型的运动估计算法)对所述K个像素样本进行运动估计以得到所述K个像素样本的运动矢量。
可以理解的是,本实施例的图像预测装置1000的各功能模块的功能可根据上述方法实施例中的方法具体实现,其具体实现过程可以参照上述方法实施例的相关描述,此处不再赘述。图像预测装置1000可为任何需要输出、播放视频的装置,如笔记本电脑,平板电脑、个人电脑、手机等设备。
可以看出,本实施例的技术方案中,在基于非平动运动模型对当前图像块进行像素值预测时参考的是确定出的K个像素样本的运动矢量预测值,所述K个像素样本包括所述当前图像块的第一顶角像素样本,由于是直接使用K个像素样本的运动矢量预测值来进行预测,且K个像素样本中的第一顶角像素样本的运动矢量预测值基于所述当前图像块的预设的第一空域相邻图像块的运动矢量得到,由于K个像素样本的运动矢量预测值可选情况单一,摒弃了传统技术中所采用的在K个像素样本的多种可选运动矢量预测值集合中通过大量计算才筛选出K个像素样本的一种运动矢量预测值的机制,进而有利于避免在码流中传递运动信息预测值的选择信息,有利于提高编码效率,且也有利于极大的降低基于非平动运动模型进行图像预测的计算复杂度。
进一步的,第一空域相邻图像块与所述第一顶角像素样本空域相邻,且所述当前图像块的第一空域相邻图像块是预设的(即可认为当前图像块的第一空域相邻图像块是事先约定或设定的),这样有利于快速确定出K个像素样本的运动矢量预测值。且由于较充分的利用图像块的空域相关性去除冗余,有利于进一步提高编码效率。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上上述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (43)
1.一种视频编码过程中的图像预测方法,其特征在于,所述方法包括:
确定当前图像块中K个像素样本的运动矢量预测值MVP,K为大于1的整数;
通过运动估计获得所述K个像素样本的运动矢量MV;
基于所述K个像素样本的运动矢量MV和所述K个像素样本的运动矢量预测值MVP,得到所述K个像素样本的运动矢量差值MVD;
当所述K个像素样本的MVD不全为零时,将标识flag和所述K个像素样本的运动矢量差值MVD写入码流,所述标识的值为第一值;或者,当所述K个像素样本的运动矢量差值MVD均为零时,在码流中写入标识,所述标识的值为第二值;
基于非平动运动模型,获取所述当前图像块的每个像素点的预测像素值,其中所述非平动运动模型的参数是基于所述K个像素样本的运动矢量MV而确定的。
2.根据权利要求1所述的方法,其特征在于,
所述K个像素样本包括所述当前图像块中的左上像素样本、右上像素样本或左下像素样本中的至少两个像素样本;
所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块中的包含所述当前图像块的左上顶点的像素块;
所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块中的包含所述当前图像块的左下顶点的像素块;
所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块中的包含包括所述当前图像块的右上顶点的像素块。
3.根据权利要求1所述的方法,其特征在于,所述基于非平动运动模型获取所述当前图像块的每个像素点的预测像素值,包括:
基于所述非平动运动模型计算所述当前图像块中每个像素点或每个子块的运动矢量;
基于所述计算得到的所述当前图像块中每个像素点或每个子块的运动矢量,对所述当前图像块进行像素值预测。
4.根据权利要求1所述的方法,其特征在于,所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量和所述当前图像块的大小而推导出的。
5.根据权利要求4所述的方法,其特征在于,所述当前图像块的宽度和高度表示所述当前图像块的大小,其中所述当前图像块的宽度和高度与所述K个像素样本的坐标相关联。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述非平动运动模型用vx=a×x+b×y+e和vy=c×x+d×y+f表示,其中,(x,y)对应当前图像块中各个像素点或子块的坐标,a、b、e、c、d和f是非平动运动模型的参数且是根据K个像素样本的运动矢量和所述当前图像块和所述当前图像块的宽和高推导得到的;所述K个像素样本的运动矢量包括坐标为(0,0),(S1,0),(0,S2)的三个顶点的运动矢量(vx0,vy0),(vx1,vy1)和(vx2,vy2),其中,S1为当前图像块的宽度,S2为当前图像块的高度,其中(vx,vy)表示基于非平动运动模型计算的相应像素或4x4块的相应运动矢量。
8.根据权利要求1-5任一项所述的方法,其特征在于,所述标识用于指示:
所述K个像素样本中的像素样本的MVD是否写入所述码流;或者,
当前图像块中K个像素样本的MVD是否全为0。
9.根据权利要求1-5任一项所述的方法,其特征在于,所述标识的第一值为假false,所述第二值为真true。
10.根据权利要求1-5任一项所述的方法,其特征在于,所述获取所述K个像素样本的MVD,包括:
将所述K个像素样本的运动矢量与对应的MVP相减,以得到所述K个像素样本的运动矢量差值MVD。
11.根据权利要求1-5任一项所述的方法,其特征在于,所述非平动运动模型为仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型、剪切运动模型,或者缩放运动模型。
12.一种编码装置,其特征在于,包括:
存储器,其上存储有处理器可执行指令;以及
处理器,耦合到所述存储器,用于执行所述处理器可执行指令,以便于:
确定当前图像块中K个像素样本的运动矢量预测值MVP,K为大于1的整数;
通过运动估计获得所述K个像素样本的运动矢量;
基于所述K个像素样本的运动矢量和所述K个像素样本的运动矢量预测值的MVP,得到所述K个像素样本的运动矢量差值MVD;
当所述K个像素样本的MVD不全为零时,将所述K个像素样本的MVD和标识flag写入码流,所述标识的值为第一值;或者,当所述K个像素样本的MVD均为零时,在码流中写入标识,所述标识的值为第二值;
基于非平动运动模型,获取所述当前图像块的每个像素点的预测像素值,其中所述非平动运动模型的参数是基于所述K个像素样本的运动矢量而确定的。
13.根据权利要求12所述的装置,其特征在于,
所述K个像素样本包括所述当前图像块中的左上像素样本、右上像素样本或左下像素样本中的至少两个像素样本;
所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块的包含所述当前图像块的左上顶点的像素块;
所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块的包含所述当前图像块的左下顶点的像素块;
所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块的包含所述当前图像块的右上顶点的像素块。
14.根据权利要求12所述的装置,其特征在于,所述基于非平动运动模型获取所述当前图像块的每个像素点的预测像素值,包括:
基于所述非平动运动模型计算所述当前图像块中每个像素点或每个子块的运动矢量;
基于所述计算得到的所述当前图像块中每个像素点或每个子块的运动矢量,对所述当前图像块进行像素值预测。
15.根据权利要求12所述的装置,其特征在于,所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量和所述当前图像块的大小而推导出的。
16.根据权利要求15所述的装置,其特征在于,所述当前图像块的宽和高表示所述当前图像块的大小,所述当前图像块的宽度和高度与所述K个像素样本的坐标相关联。
17.根据权利要求12-16任一项所述的装置,其特征在于,
所述非平动运动模型用vx=a×x+b×y+e和vy=c×x+d×y+f表示,其中,(x,y)对应当前图像块中各个像素点或子块的坐标,a、b、e、c、d和f是非平动运动模型的参数且是根据K个像素样本的运动矢量和所述当前图像块和所述当前图像块的宽和高推导得到的;所述K个像素样本的运动矢量包括坐标为(0,0),(S1,0),(0,S2)的三个顶点的运动矢量(vx0,vy0),(vx1,vy1)和(vx2,vy2),其中,S1为当前图像块的宽度,S2为当前图像块的高度,其中(vx,vy)表示基于非平动运动模型计算的相应像素或4x4块的相应运动矢量。
19.根据权利要求12-16任一项所述的装置,其特征在于,所述标识用于指示:
所述K个像素样本中的像素样本的MVD是否写入所述码流;或者,
当前图像块中K个像素样本的MVD是否全为0。
20.根据权利要求12-16任一项所述的装置,其特征在于,所述标识的第一值为假false,所述第二值为真true。
21.根据权利要求12至16中任一项所述的装置,其特征在于,所述获取所述K个像素样本的MVD,包括:
将所述K个像素样本的运动矢量与对应的MVP相减,以得到所述K个像素样本的MVD。
22.根据权利要求12至16中任一项所述的装置,其特征在于,所述非平动运动模型为仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型、剪切运动模型或缩放运动模型。
23.一种视频解码过程中的图像预测方法,其特征在于,包括:
确定当前图像块中K个像素样本的运动矢量预测值MVP,K为大于1的整数;
从码流中解码所述当前图像块对应的标识flag;
当所述标识的值为第一值时,解码所述码流中的所述K个像素样本的运动矢量差值MVD;或者,当所述标识的值为第二值时,确定所述K个像素样本的运动矢量差值MVD全为0;
基于所述K个像素样本的MVD和所述K个像素样本对应的MVP得到所述K个像素样本的运动矢量MV;
基于非平动运动模型,获取所述当前图像块的每个像素点的预测像素值,其中所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量MV而得到的。
24.根据权利要求23所述的方法,其特征在于,
所述K个像素样本包括所述当前图像块中的左上像素样本、右上像素样本或左下像素样本中的至少两个像素样本;
所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块的包含所述当前图像块的左上顶点的像素块;
所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块的包含所述当前图像块的左下顶点的像素块;
所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块的包含所述当前图像块的右上顶点的像素块。
25.根据权利要求23所述的方法,其特征在于,所述基于非平动运动模型,获取所述当前图像块的每个像素点的预测像素值,包括:
基于所述非平动运动模型计算所述当前图像块中每个像素点或每个子块的运动矢量;
基于所述计算得到的所述当前图像块中每个像素点或每个子块的运动矢量,对所述当前图像块进行像素值预测。
26.根据权利要求23所述的方法,其特征在于,所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量和所述当前图像块的大小而推导出的。
27.根据权利要求26所述的方法,其特征在于,所述当前图像块的宽度和高度表示所述当前图像块的大小,所述当前图像块的宽度和高度与所述K个像素样本的坐标相关联。
28.根据权利要求23-27任一项所述的方法,其特征在于,所述非平动运动模型用vx=a×x+b×y+e和vy=c×x+d×y+f表示,其中,(x,y)对应当前图像块中各个像素点或子块的坐标,a、b、e、c、d和f是非平动运动模型的参数且是根据K个像素样本的运动矢量和所述当前图像块和所述当前图像块的宽和高推导得到的;所述K个像素样本的运动矢量包括坐标为(0,0),(S1,0),(0,S2)的三个顶点的运动矢量(vx0,vy0),(vx1,vy1)和(vx2,vy2),其中,S1为当前图像块的宽度,S2为当前图像块的高度,其中(vx,vy)表示基于非平动运动模型计算的相应像素或4x4块的相应运动矢量。
30.根据权利要求23-27任一项所述的方法,其特征在于,所述标识用于指示:
所述K个像素样本中的像素样本的MVD是否写入所述码流;或者,
当前图像块中K个像素样本的MVD是否全为0。
31.根据权利要求23-27任一项所述的方法,其特征在于,所述标识标识的第二值为真true,所述标识的第二值指示所述当前图像块中的K个像素样本的MVD均为0;
其中,所述标识的第一值为假false,所述标识的第一值指示所述K个像素样本的MVD不全为0。
32.根据权利要求23-27任一项所述的方法,其特征在于,所述非平动运动模型为仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型、剪切运动模型,或者缩放运动模型。
33.一种译码装置,其特征在于,包括:
存储器,其上存储有处理器可执行指令;以及
处理器,耦合到所述存储器,用于执行所述处理器可执行指令,以便于:
确定当前图像块中K个像素样本的运动矢量预测值MVP,K为大于1的整数;
从码流中解码所述当前图像块对应的标识flag;
当所述标识的值为第一值时,解码所述码流中的所述K个像素样本的运动矢量差值MVD;或者,当所述标识的值为第二值时,确定所述K个像素样本的运动矢量差值MVD全为0;
基于所述K个像素样本的MVD和所述K个像素样本对应的MVP,获得所述K个像素样本的运动矢量MV;
基于非平动运动模型,获取所述当前图像块的每个像素点的预测像素值,其中所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量MV而得到的。
34.根据权利要求33所述的装置,其特征在于,
所述K个像素样本包括所述当前图像块中的左上像素样本、右上像素样本或左下像素样本中的至少两个像素样本;
所述当前图像块的左上像素样本为所述当前图像块的左上顶点或所述当前图像块的包含所述当前图像块的左上顶点的像素块;
所述当前图像块的左下像素样本为所述当前图像块的左下顶点或所述当前图像块的包含所述当前图像块的左下顶点的像素块;
所述当前图像块的右上像素样本为所述当前图像块的右上顶点或所述当前图像块的包含所述当前图像块的右上顶点的像素块。
35.根据权利要求33所述的装置,其特征在于,所述基于非平动运动模型获取所述当前图像块的每个像素点的预测像素值,包括:
基于所述非平动运动模型计算所述当前图像块中每个像素点或每个子块的运动矢量;
基于所述计算得到的所述当前图像块中每个像素点或每个子块的运动矢量,对所述当前图像块进行像素值预测。
36.根据权利要求33所述的装置,其特征在于,所述非平动运动模型的参数是基于所述当前图像块的K个像素样本的运动矢量和所述当前图像块的大小而推导出的。
37.根据权利要求36所述的装置,其特征在于,所述当前图像块的宽度和高度表示所述当前图像块的大小,所述当前图像块的宽度和高度与所述K个像素样本的坐标相关联。
38.根据权利要求33-37任一项所述的装置,其特征在于,所述非平动运动模型用vx=a×x+b×y+e和vy=c×x+d×y+f表示,其中,(x,y)对应当前图像块中各个像素点或子块的坐标,a、b、e、c、d和f是非平动运动模型的参数且是根据K个像素样本的运动矢量和所述当前图像块和所述当前图像块的宽和高推导得到的;所述K个像素样本的运动矢量包括坐标为(0,0),(S1,0),(0,S2)的三个顶点的运动矢量(vx0,vy0),(vx1,vy1)和(vx2,vy2),其中,S1为当前图像块的宽度,S2为当前图像块的高度,其中(vx,vy)表示基于非平动运动模型计算的相应像素或4x4块的相应运动矢量。
40.根据权利要求33-37任一项所述的装置,其特征在于,所述标识用于指示:
所述K个像素样本中的像素样本的MVD是否写入所述码流;或者,
当前图像块中K个像素样本的MVD是否全为0。
41.根据权利要求33-37任一项所述的装置,其特征在于,
所述标识的第二值为真true,所述标识的第二值指示所述当前图像块中的K个像素样本的MVD均为0;
所述标识的第一值为假false,所述标识的第一值指示所述K个像素样本的MVD不全为0。
42.根据权利要求33-37任一项所述的装置,其特征在于,所述非平动运动模型为仿射变换模型、抛物线运动模型、旋转运动模型、透视运动模型、剪切运动模型,或者缩放运动模型。
43.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,当所述计算机程序被运行时,实现如权利要求1至11以及23至32中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010800184.5A CN112087629B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法、装置及计算机可读存储介质 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410526608.8A CN104539966B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
CN202010800184.5A CN112087629B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法、装置及计算机可读存储介质 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410526608.8A Division CN104539966B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087629A true CN112087629A (zh) | 2020-12-15 |
CN112087629B CN112087629B (zh) | 2021-08-20 |
Family
ID=52855412
Family Applications (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410526608.8A Active CN104539966B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
CN201711022009.2A Active CN107734335B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
CN202010800184.5A Active CN112087629B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法、装置及计算机可读存储介质 |
CN202010800185.XA Active CN112087630B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法、装置、解码器及存储介质 |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410526608.8A Active CN104539966B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
CN201711022009.2A Active CN107734335B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法及相关装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010800185.XA Active CN112087630B (zh) | 2014-09-30 | 2014-09-30 | 图像预测方法、装置、解码器及存储介质 |
Country Status (7)
Country | Link |
---|---|
US (2) | US10827194B2 (zh) |
EP (3) | EP3836547A1 (zh) |
JP (3) | JP6546277B2 (zh) |
KR (3) | KR102160564B1 (zh) |
CN (4) | CN104539966B (zh) |
BR (2) | BR112017006018B1 (zh) |
WO (1) | WO2016050051A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016141609A1 (zh) | 2015-03-10 | 2016-09-15 | 华为技术有限公司 | 图像预测方法和相关设备 |
CN109005407B (zh) | 2015-05-15 | 2023-09-01 | 华为技术有限公司 | 视频图像编码和解码的方法、编码设备和解码设备 |
CN106331722B (zh) | 2015-07-03 | 2019-04-26 | 华为技术有限公司 | 图像预测方法和相关设备 |
CN107925758B (zh) * | 2015-08-04 | 2022-01-25 | Lg 电子株式会社 | 视频编译系统中的帧间预测方法和设备 |
CN108965869B (zh) | 2015-08-29 | 2023-09-12 | 华为技术有限公司 | 图像预测的方法及设备 |
CN106559669B (zh) * | 2015-09-29 | 2018-10-09 | 华为技术有限公司 | 预测图像编解码方法及装置 |
CN108432250A (zh) * | 2016-01-07 | 2018-08-21 | 联发科技股份有限公司 | 用于视频编解码的仿射帧间预测的方法及装置 |
CN107027040B9 (zh) | 2016-01-29 | 2020-08-28 | 华为技术有限公司 | 一种去除块效应的滤波方法及装置 |
CN111556323B (zh) | 2016-02-06 | 2022-05-13 | 华为技术有限公司 | 图像编解码方法及装置 |
CN117376554A (zh) * | 2016-02-25 | 2024-01-09 | 株式会社Kt | 用于处理视频信号的方法和设备 |
CN113612994B (zh) | 2016-03-15 | 2023-10-27 | 寰发股份有限公司 | 具有仿射运动补偿的视频编解码的方法 |
WO2017156705A1 (en) * | 2016-03-15 | 2017-09-21 | Mediatek Inc. | Affine prediction for video coding |
EP3432578A4 (en) * | 2016-03-24 | 2019-11-20 | LG Electronics Inc. | METHOD AND APPARATUS FOR INTER-PREDICTION IN A VIDEO CODING SYSTEM |
US10958931B2 (en) * | 2016-05-11 | 2021-03-23 | Lg Electronics Inc. | Inter prediction method and apparatus in video coding system |
US10560712B2 (en) | 2016-05-16 | 2020-02-11 | Qualcomm Incorporated | Affine motion prediction for video coding |
EP3457694A4 (en) * | 2016-05-24 | 2019-05-22 | Huawei Technologies Co., Ltd. | IMAGE FORECASTING METHOD AND ASSOCIATED DEVICE |
US10778999B2 (en) | 2016-09-30 | 2020-09-15 | Qualcomm Incorporated | Frame rate up-conversion coding mode with affine motion model |
CN108271023B (zh) | 2017-01-04 | 2021-11-19 | 华为技术有限公司 | 图像预测方法和相关设备 |
US10701390B2 (en) * | 2017-03-14 | 2020-06-30 | Qualcomm Incorporated | Affine motion information derivation |
CN107071496B (zh) * | 2017-05-14 | 2020-01-17 | 北京工业大学 | 一种h.265/hevc帧间编码单元深度快速选择方法 |
CN109391814B (zh) * | 2017-08-11 | 2023-06-06 | 华为技术有限公司 | 视频图像编码和解码的方法、装置及设备 |
CN107454429B (zh) * | 2017-08-21 | 2019-12-24 | 武汉兴图新科电子股份有限公司 | 基于运动向量外推和图像梯度加权的视频错误隐藏方法 |
CN109587479B (zh) | 2017-09-29 | 2023-11-10 | 华为技术有限公司 | 视频图像的帧间预测方法、装置及编解码器 |
US11877001B2 (en) * | 2017-10-10 | 2024-01-16 | Qualcomm Incorporated | Affine prediction in video coding |
CN112055205B (zh) * | 2017-12-12 | 2021-08-03 | 华为技术有限公司 | 视频数据的帧间预测方法和装置、视频编解码器、存储介质 |
US20190208211A1 (en) * | 2018-01-04 | 2019-07-04 | Qualcomm Incorporated | Generated affine motion vectors |
CN114513671B (zh) * | 2018-04-02 | 2024-04-09 | 华为技术有限公司 | 一种视频编解码方法和装置 |
CN115733974A (zh) | 2018-07-02 | 2023-03-03 | 华为技术有限公司 | 视频图像编码方法以及用于对视频数据进行编码的设备 |
WO2020007093A1 (zh) * | 2018-07-02 | 2020-01-09 | 华为技术有限公司 | 一种图像预测方法及装置 |
CN108960160B (zh) * | 2018-07-10 | 2021-03-09 | 深圳地平线机器人科技有限公司 | 基于非结构化预测模型来预测结构化状态量的方法和装置 |
KR102639425B1 (ko) | 2018-07-11 | 2024-02-21 | 후아웨이 테크놀러지 컴퍼니 리미티드 | 비디오 인코더, 비디오 디코더, 및 대응하는 방법 |
WO2020024275A1 (zh) * | 2018-08-03 | 2020-02-06 | 华为技术有限公司 | 一种帧间预测的方法及装置 |
CN110971899B (zh) * | 2018-10-01 | 2021-06-01 | 华为技术有限公司 | 一种确定运动信息的方法、帧间预测方法及装置 |
JP7189234B2 (ja) * | 2018-12-21 | 2022-12-13 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | 符号化装置及び復号装置 |
CN109672886B (zh) * | 2019-01-11 | 2023-07-04 | 京东方科技集团股份有限公司 | 一种图像帧预测方法、装置及头显设备 |
CA3132463A1 (en) * | 2019-03-18 | 2020-09-24 | Tencent America LLC | Method and apparatus for video coding based on prof for affine prediction |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103039075A (zh) * | 2010-05-21 | 2013-04-10 | Jvc建伍株式会社 | 图像编码装置、图像编码方法及图像编码程序、以及图像解码装置、图像解码方法及图像解码程序 |
US20130170553A1 (en) * | 2012-01-04 | 2013-07-04 | Qualcomm Incorporated | Coding motion vector difference |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5923786A (en) * | 1995-07-17 | 1999-07-13 | Sony Corporation | Method and device for encoding and decoding moving images |
US5652616A (en) * | 1996-08-06 | 1997-07-29 | General Instrument Corporation Of Delaware | Optimal disparity estimation for stereoscopic video coding |
US7206346B2 (en) * | 1997-06-25 | 2007-04-17 | Nippon Telegraph And Telephone Corporation | Motion vector predictive encoding method, motion vector decoding method, predictive encoding apparatus and decoding apparatus, and storage media storing motion vector predictive encoding and decoding programs |
US7016539B1 (en) * | 1998-07-13 | 2006-03-21 | Cognex Corporation | Method for fast, robust, multi-dimensional pattern recognition |
CN1194544C (zh) * | 2003-04-25 | 2005-03-23 | 北京工业大学 | 基于时空域相关性运动矢量预测的视频编码方法 |
WO2008123753A1 (en) * | 2007-04-09 | 2008-10-16 | Lg Electronics Inc. | A method and an apparatus for processing a video signal |
CN101350920A (zh) * | 2007-07-17 | 2009-01-21 | 北京华辰广正科技发展有限公司 | 一种面向全景视频的全局运动估计方法 |
CN101198064A (zh) * | 2007-12-10 | 2008-06-11 | 武汉大学 | 一种分辨率分层技术中的运动矢量预测方法 |
CN101340583B (zh) * | 2008-08-08 | 2010-07-28 | 浙江大学 | 基于h.264编码域的移动对象检测装置 |
WO2010093430A1 (en) * | 2009-02-11 | 2010-08-19 | Packetvideo Corp. | System and method for frame interpolation for a compressed video bitstream |
US8363721B2 (en) * | 2009-03-26 | 2013-01-29 | Cisco Technology, Inc. | Reference picture prediction for video coding |
CN101771878B (zh) * | 2010-01-14 | 2011-05-25 | 广西大学 | 面向全景视频编码的自适应选择全局运动估计方法 |
DK2559246T3 (en) * | 2010-04-13 | 2016-09-19 | Ge Video Compression Llc | Fusion of sample areas |
WO2011128259A1 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | A video decoder and a video encoder using motion-compensated prediction |
JP5686018B2 (ja) * | 2010-05-21 | 2015-03-18 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
JP5693716B2 (ja) * | 2010-07-08 | 2015-04-01 | ドルビー ラボラトリーズ ライセンシング コーポレイション | 参照処理信号を使った多層画像およびビデオ送達のためのシステムおよび方法 |
KR102647083B1 (ko) * | 2010-10-08 | 2024-03-14 | 지이 비디오 컴프레션, 엘엘씨 | 블록 분할 및 블록 병합을 지원하는 픽처 코딩 |
JP5716437B2 (ja) | 2011-02-08 | 2015-05-13 | 株式会社Jvcケンウッド | 画像符号化装置、画像符号化方法および画像符号化プログラム |
FI3937497T3 (fi) * | 2011-03-21 | 2023-05-15 | Lg Electronics Inc | Liikevektoriennustajavalinta |
CN103475883B (zh) * | 2013-09-26 | 2016-07-06 | 北京航空航天大学 | 一种基于运动区域划分的hevc运动估计提前终止方法 |
JP6614472B2 (ja) * | 2013-09-30 | 2019-12-04 | サン パテント トラスト | 画像符号化方法、画像復号方法、画像符号化装置及び画像復号装置 |
US10531116B2 (en) * | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
CN103905826A (zh) * | 2014-04-10 | 2014-07-02 | 北京工业大学 | 一种自适应全局运动估计方法 |
-
2014
- 2014-09-30 CN CN201410526608.8A patent/CN104539966B/zh active Active
- 2014-09-30 CN CN201711022009.2A patent/CN107734335B/zh active Active
- 2014-09-30 CN CN202010800184.5A patent/CN112087629B/zh active Active
- 2014-09-30 CN CN202010800185.XA patent/CN112087630B/zh active Active
-
2015
- 2015-04-15 BR BR112017006018-3A patent/BR112017006018B1/pt active IP Right Grant
- 2015-04-15 KR KR1020197037916A patent/KR102160564B1/ko active IP Right Grant
- 2015-04-15 JP JP2017518250A patent/JP6546277B2/ja active Active
- 2015-04-15 WO PCT/CN2015/076659 patent/WO2016050051A1/zh active Application Filing
- 2015-04-15 KR KR1020177007259A patent/KR101945894B1/ko active IP Right Grant
- 2015-04-15 EP EP20195877.4A patent/EP3836547A1/en active Pending
- 2015-04-15 EP EP15846328.1A patent/EP3197165B1/en active Active
- 2015-04-15 EP EP20195878.2A patent/EP3836546A1/en active Pending
- 2015-04-15 BR BR122020019754-4A patent/BR122020019754B1/pt active IP Right Grant
- 2015-04-15 KR KR1020197003118A patent/KR102060184B1/ko active IP Right Grant
-
2017
- 2017-03-16 US US15/461,274 patent/US10827194B2/en active Active
-
2019
- 2019-06-20 JP JP2019114759A patent/JP7123863B2/ja active Active
-
2020
- 2020-09-18 US US17/025,901 patent/US20210006818A1/en not_active Abandoned
-
2021
- 2021-07-26 JP JP2021121469A patent/JP7252282B2/ja active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103039075A (zh) * | 2010-05-21 | 2013-04-10 | Jvc建伍株式会社 | 图像编码装置、图像编码方法及图像编码程序、以及图像解码装置、图像解码方法及图像解码程序 |
US20130170553A1 (en) * | 2012-01-04 | 2013-07-04 | Qualcomm Incorporated | Coding motion vector difference |
Non-Patent Citations (1)
Title |
---|
HAN HUANG等: "Control-Point Representation and Differential Coding Affine-Motion Compensation", 《 IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY》 * |
Also Published As
Publication number | Publication date |
---|---|
US20170188041A1 (en) | 2017-06-29 |
US20210006818A1 (en) | 2021-01-07 |
CN107734335A (zh) | 2018-02-23 |
JP7123863B2 (ja) | 2022-08-23 |
CN112087629B (zh) | 2021-08-20 |
BR112017006018A2 (zh) | 2018-06-26 |
BR112017006018B1 (pt) | 2023-12-19 |
KR20190143496A (ko) | 2019-12-30 |
CN112087630B (zh) | 2022-04-08 |
BR122020019754B1 (pt) | 2023-12-12 |
JP2019198092A (ja) | 2019-11-14 |
KR101945894B1 (ko) | 2019-02-08 |
US10827194B2 (en) | 2020-11-03 |
WO2016050051A1 (zh) | 2016-04-07 |
CN104539966A (zh) | 2015-04-22 |
EP3836546A1 (en) | 2021-06-16 |
CN112087630A (zh) | 2020-12-15 |
JP2017535162A (ja) | 2017-11-24 |
KR102060184B1 (ko) | 2019-12-27 |
JP6546277B2 (ja) | 2019-07-17 |
CN107734335B (zh) | 2020-11-06 |
KR102160564B1 (ko) | 2020-09-28 |
EP3836547A1 (en) | 2021-06-16 |
KR20170044686A (ko) | 2017-04-25 |
KR20190014590A (ko) | 2019-02-12 |
EP3197165A1 (en) | 2017-07-26 |
CN104539966B (zh) | 2017-12-22 |
EP3197165A4 (en) | 2017-08-02 |
JP2021182752A (ja) | 2021-11-25 |
JP7252282B2 (ja) | 2023-04-04 |
EP3197165B1 (en) | 2020-09-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112087629B (zh) | 图像预测方法、装置及计算机可读存储介质 | |
JP7313816B2 (ja) | 画像予測方法および関連装置 | |
CN107534770B (zh) | 图像预测方法和相关设备 | |
CN107710761B (zh) | 图像预测方法和相关设备 | |
CN104363449B (zh) | 图像预测方法及相关装置 | |
CN109076234A (zh) | 图像预测方法和相关设备 |
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 |