CN110546956B - 一种帧间预测的方法及装置 - Google Patents

一种帧间预测的方法及装置 Download PDF

Info

Publication number
CN110546956B
CN110546956B CN201780089962.0A CN201780089962A CN110546956B CN 110546956 B CN110546956 B CN 110546956B CN 201780089962 A CN201780089962 A CN 201780089962A CN 110546956 B CN110546956 B CN 110546956B
Authority
CN
China
Prior art keywords
motion vector
image block
motion information
processed
information
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.)
Active
Application number
CN201780089962.0A
Other languages
English (en)
Other versions
CN110546956A (zh
Inventor
安基程
韩钰
郑建铧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN110546956A publication Critical patent/CN110546956A/zh
Application granted granted Critical
Publication of CN110546956B publication Critical patent/CN110546956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/58Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one

Abstract

一种图像块的运动信息的预测方法,所述运动信息用于帧间预测,包括:获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;根据所述目标运动信息,预测所述待处理图像块的运动信息。

Description

一种帧间预测的方法及装置
技术领域
本申请涉及视频图像技术领域,尤其涉及一种帧间预测的方法及装置。
背景技术
数字视频能力可并入到大范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(personal digital assistant,PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频会议装置、视频流装置等等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分高级视频编解码(advanced video coding,AVC)、ITU-TH.265高效率视频编解码(high efficiencyvideo coding,HEVC)标准定义的标准和所述标准的扩展部分中所描述的那些视频压缩技术,从而更高效地发射及接收数字视频信息。视频装置可通过实施这些视频编解码技术来更高效地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图像内)预测和/或时间(图像间)预测,以减少或移除视频序列中固有的冗余。对于基于块的视频解码,可将视频块分割成视频块,视频块还可被称作树块、编码单元(coding unit,CU)和/或解码节点。使用关于同一图像中的相邻块中的参考样本的空间预测来编码图像的帧内解码(I)条带中的视频块。图像的帧间解码(P或B)条带中的视频块可使用关于同一图像中的相邻块中的参考样本的空间预测或关于其它参考图像中的参考样本的时间预测。图像可被称作帧,且参考图像可被称作参考帧。
发明内容
本申请实施例提供一种帧间预测的方法及装置,选择合适的候选运动矢量作为待处理图像块的运动矢量预测值,提高了运动矢量预测的有效性,提高了编解码效率。
本申请的第一方面提供了一种图像块的运动信息的预测方法,所述运动信息用于帧间预测,包括:获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;根据所述目标运动信息,预测所述待处理图像块的运动信息。
该实施方式的有益效果在于采用空域非邻接图像块的运动矢量作为待处理块的候选预测模式,利用了更多的空域先验编码信息,提高了编码性能。
在第一方面的一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
在第一方面的一种可行的实施方式中,N为2。
该实施方式的有益效果在于:对基本像素单元的位置进行一定范围内的限定,可以避免运动矢量的过度存储或者存取操作,在保持一定的编码性能的同时,提高了数据的处理效率。
在第一方面的一种可行的实施方式中,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述获取所述待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向。
在第一方面的一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述依次获取所述待获取的已确定运动矢量图像块的运动信息,包括:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
在第一方面的一种可行的实施方式中,所述获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
该实施方式的有益效果在于各候选预测运动矢量的表示方式采用变长编码方式时,顺序靠前的候选预测运动矢量会使用较短的码字编码,顺序靠后的候选预测运动矢量会使用较长的码字编码。按照已确定运动矢量图像块的运动信息与待处理图像块的运动信息的相关性,恰当地决定候选预测运动矢量的获取顺序有利于选择更好的码字编码策略,提高编码性能。
在第一方面的一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,还包括:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
在第一方面的一种可行的实施方式中,所述获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:获取预设个数的所述已确定运动矢量图像块的运动信息。
在第一方面的一种可行的实施方式中,所述根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:将所述目标运动信息作为所述待处理图像块的运动信息。
在第一方面的一种可行的实施方式中,所述运动信息包括运动矢量,所述根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
在第一方面的一种可行的实施方式中,所述方法用于解码所述待处理图像块,所述获取第一标识信息,包括:从码流中解析所述第一标识信息。
在第一方面的一种可行的实施方式中,在所述从码流中解析所述第一标识信息之后,还包括:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
在第一方面的一种可行的实施方式中,所述方法用于编码所述待处理图像块,所述获取第一标识信息,包括:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
在第一方面的一种可行的实施方式中,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,还包括:将所述第一标识信息编入码流。
上述多种可行的实施方式将本申请中运动矢量预测方法,分别应用到待处理图像块运动矢量获取的解码方法和编码方法,合并预测模式(Merge)和高级运动矢量预测模式(advanced motion vector prediction,AMVP),提高了原有方法的编码性能和效率。
在第一方面的一种可行的实施方式中,所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,包括:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
该实施方式的有益效果在于通过组合原有的运动信息,生成新的候选预测运动信息,丰富了候选预测运动信息,提高了预测的效率。
本申请的第二方面提供了一种图像块的运动信息的预测装置,所述运动信息用于帧间预测,包括:运动信息获取单元,用于获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;标识信息获取单元,用于获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;预测单元,用于根据所述目标运动信息,预测所述待处理图像块的运动信息。
在第二方面的一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
在第二方面的一种可行的实施方式中,N为2。
在第二方面的一种可行的实施方式中,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述运动信息获取单元具体用于:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向。
在第二方面的一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述运动信息获取单元具体用于:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
在第二方面的一种可行的实施方式中,所述运动信息获取单元具体用于:依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
在第二方面的一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述运动信息获取单元还用于:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
在第二方面的一种可行的实施方式中,所述运动信息获取单元具体用于:获取预设个数的所述已确定运动矢量图像块的运动信息。
在第二方面的一种可行的实施方式中,所述预测单元具体用于:将所述目标运动信息作为所述待处理图像块的运动信息。
在第二方面的一种可行的实施方式中,所述标识信息获取单元还用于获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;所述预测单元具体用于将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
在第二方面的一种可行的实施方式中,所述装置用于解码所述待处理图像块,所述标识信息获取单元具体用于:从码流中解析所述第一标识信息。
在第二方面的一种可行的实施方式中,在所述从码流中解析所述第一标识信息之后,所述标识信息获取单元还用于:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
在第二方面的一种可行的实施方式中,所述装置用于编码所述待处理图像块,所述标识信息获取单元具体用于:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
在第二方面的一种可行的实施方式中,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述标识信息获取单元还用于:将所述第一标识信息编入码流。
在第二方面的一种可行的实施方式中,所述标识信息获取单元具体用于:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
本申请的第三方面提供了一种图像块的运动信息的预测装置,所述运动信息用于帧间预测,包括:处理器和耦合于所述处理器的存储器;所述处理器用于:获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;根据所述目标运动信息,预测所述待处理图像块的运动信息。
在第三方面的一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
在第三方面的一种可行的实施方式中,N为2。
在第三方面的一种可行的实施方式中,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述处理器具体用于:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向。
在第三方面的一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述处理器具体用于:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
在第三方面的一种可行的实施方式中,所述处理器具体用于:依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
在第三方面的一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述处理器还用于:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
在第三方面的一种可行的实施方式中,所述处理器具体用于:获取预设个数的所述已确定运动矢量图像块的运动信息。
在第三方面的一种可行的实施方式中,所述处理器具体用于:将所述目标运动信息作为所述待处理图像块的运动信息。
在第三方面的一种可行的实施方式中,包括:所述处理器还用于:获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
在第三方面的一种可行的实施方式中,所述装置用于解码所述待处理图像块,所述处理器具体用于:从码流中解析所述第一标识信息。
在第三方面的一种可行的实施方式中,在所述从码流中解析所述第一标识信息之后,所述处理器还用于:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
在第三方面的一种可行的实施方式中,所述装置用于编码所述待处理图像块,所述处理器具体用于:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
在第三方面的一种可行的实施方式中,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述处理器还用于:将所述第一标识信息编入码流。
在第三方面的一种可行的实施方式中,所述处理器具体用于:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
本申请的第五方面提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的方法。
应理解,本申请的第二至五方面与本申请的第一方面的技术方案一致,各方面及对应的可实施的设计方式所取得的有益效果相似,不再赘述。
附图说明
图1为本申请实施例中视频编码及解码系统的一种示意性框图;
图2为本申请实施例中视频编码器的一种示意性框图;
图3为本申请实施例中视频解码器的一种示意性框图;
图4为本申请实施例中帧间预测模块的一种示意性框图;
图5为本申请实施例中合并预测模式的一种示例性流程图;
图6为本申请实施例中高级运动矢量预测模式的一种示例性流程图;
图7为本申请实施例中由视频解码器执行的运动补偿的一种示例性流程图;
图8为本申请实施例中编码单元及与其关联的相邻位置图像块的一种示例性示意图;
图9为本申请实施例中构建候选预测运动矢量列表的一种示例性流程图;
图10为本申请实施例中将经过组合的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图;
图11为本申请实施例中将经过缩放的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图;
图12为本申请实施例中将零运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图;
图13为本申请实施例中编码单元及与其关联的相邻位置图像块的另一种示例性示意图;
图14为本申请实施例中运动矢量预测方法的一种示例性流程图;
图15为本申请实施例中编码单元及与其关联的相邻位置图像块的又一种示例性示意图;
图16为本申请实施例中的运动矢量预测装置的一种示意性框图;
图17为本申请实施例中的运动矢量预测装置的另一种示意性框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
图1为本申请实施例中视频编码及解码系统10的一种示意性框图。如图1中所展示,系统10包含源装置12,源装置12产生将在稍后时间由目的地装置14解码的经编码视频数据。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记型计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”触控板、电视、摄影机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似者。在一些应用中,源装置12及目的地装置14可经装备以用于无线通信。
目的地装置14可经由链路16接收待解码的经编码视频数据。链路16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个可行的实施方式中,链路16可包括使源装置12能够实时将经编码视频数据直接传输到目的地装置14的通信媒体。可根据通信标准(例如,无线通信协议)调制经编码视频数据且将其传输到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频频谱或一个或多个物理传输线。通信媒体可形成基于包的网络(例如,局域网、广域网或因特网的全球网络)的部分。通信媒体可包含路由器、交换器、基站或可有用于促进从源装置12到目的地装置14的通信的任何其它装备。
替代地,可将经编码数据从输出接口22输出到存储装置24。类似地,可由输入接口从存储装置24存取经编码数据。存储装置24可包含多种分散式或本地存取的数据存储媒体中的任一者,例如,硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或用于存储经编码视频数据的任何其它合适的数字存储媒体。在另一可行的实施方式中,存储装置24可对应于文件服务器或可保持由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置24存取所存储视频数据。文件服务器可为能够存储经编码视频数据且将此经编码视频数据传输到目的地装置14的任何类型的服务器。可行的实施方式文件服务器包含网站服务器、文件传送协议服务器、网络附接存储装置或本地磁盘机。目的地装置14可经由包含因特网连接的任何标准数据连接存取经编码视频数据。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,缆线调制解调器等)或两者的组合。经编码视频数据从存储装置24的传输可为流式传输、下载传输或两者的组合。
本申请的技术不必限于无线应用或设定。技术可应用于视频解码以支持多种多媒体应用中的任一者,例如,空中电视广播、有线电视传输、卫星电视传输、流式传输视频传输(例如,经由因特网)、编码数字视频以用于存储于数据存储媒体上、解码存储于数据存储媒体上的数字视频或其它应用。在一些可行的实施方式中,系统10可经配置以支持单向或双向视频传输以支持例如视频流式传输、视频播放、视频广播和/或视频电话的应用。
在图1的可行的实施方式中,源装置12包含视频源18、视频编码器20及输出接口22。在一些应用中,输出接口22可包含调制器/解调制器(调制解调器)和/或传输器。在源装置12中,视频源18可包含例如以下各者的源:视频捕获装置(例如,摄像机)、含有先前捕获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,和/或用于产生计算机图形数据作为源视频的计算机图形系统,或这些源的组合。作为一种可行的实施方式,如果视频源18为摄像机,那么源装置12及目的装置14可形成所谓的摄影机电话或视频电话。本申请中所描述的技术可示例性地适用于视频解码,且可适用于无线和/或有线应用。
可由视频编码器20来编码所捕获、预捕获或计算机产生的视频。经编码视频数据可经由源装置12的输出接口22直接传输到目的地装置14。经编码视频数据也可(或替代地)存储到存储装置24上以供稍后由目的地装置14或其它装置存取以用于解码和/或播放。
目的地装置14包含输入接口28、视频解码器30及显示装置32。在一些应用中,输入接口28可包含接收器和/或调制解调器。目的地装置14的输入接口28经由链路16接收经编码视频数据。经由链路16传达或提供于存储装置24上的经编码视频数据可包含由视频编码器20产生以供视频解码器30的视频解码器使用以解码视频数据的多种语法元素。这些语法元素可与在通信媒体上传输、存储于存储媒体上或存储于文件服务器上的经编码视频数据包含在一起。
显示装置32可与目的地装置14集成或在目的地装置14外部。在一些可行的实施方式中,目的地装置14可包含集成显示装置且也经配置以与外部显示装置接口连接。在其它可行的实施方式中,目的地装置14可为显示装置。一般来说,显示装置32向用户显示经解码视频数据,且可包括多种显示装置中的任一者,例如液晶显示器、等离子显示器、有机发光二极管显示器或另一类型的显示装置。
视频编码器20及视频解码器30可根据例如目前在开发中的下一代视频编解码压缩标准(H.266)操作且可遵照H.266测试模型(JEM)。替代地,视频编码器20及视频解码器30可根据例如ITU-TH.265标准,也称为高效率视频解码标准,或者,ITU-TH.264标准的其它专属或工业标准或这些标准的扩展而操作,ITU-TH.264标准替代地被称为MPEG-4第10部分,也称高级视频编码(advanced video coding,AVC)。然而,本申请的技术不限于任何特定解码标准。视频压缩标准的其它可行的实施方式包含MPEG-2和ITU-TH.263。
尽管未在图1中展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。如果适用,那么在一些可行的实施方式中,MUX-DEMUX单元可遵照ITUH.223多路复用器协议或例如用户数据报协议(UDP)的其它协议。
视频编码器20及视频解码器30各自可实施为多种合适编码器电路中的任一者,例如,一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。在技术部分地以软件实施时,装置可将软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或多个处理器以硬件执行指令,以执行本申请的技术。视频编码器20及视频解码器30中的每一者可包含于一个或多个编码器或解码器中,其中的任一者可在相应装置中集成为组合式编码器/解码器(CODEC)的部分。
本申请示例性地可涉及视频编码器20将特定信息“用信号发送”到例如视频解码器30的另一装置。然而,应理解,视频编码器20可通过将特定语法元素与视频数据的各种经编码部分相关联来用信号发送信息。即,视频编码器20可通过将特定语法元素存储到视频数据的各种经编码部分的头信息来“用信号发送”数据。在一些应用中,这些语法元素可在通过视频解码器30接收及解码之前经编码及存储(例如,存储到存储系统34或文件服务器36)。因此,术语“用信号发送”示例性地可指语法或用于解码经压缩视频数据的其它数据的传达,而不管此传达是实时或近实时地发生或在时间跨度内发生,例如可在编码时将语法元素存储到媒体时发生,语法元素接着可在存储到此媒体之后的任何时间通过解码装置检索。
JCT-VC开发了H.265(HEVC)标准。HEVC标准化基于称作HEVC测试模型(HM)的视频解码装置的演进模型。H.265的最新标准文档可从http://www.itu.int/rec/T-REC-H.265获得,最新版本的标准文档为H.265(12/16),该标准文档以全文引用的方式并入本文中。HM假设视频解码装置相对于ITU-TH.264/AVC的现有算法具有若干额外能力。例如,H.264提供9种帧内预测编码模式,而HM可提供多达35种帧内预测编码模式。
JVET致力于开发H.266标准。H.266标准化的过程基于称作H.266测试模型的视频解码装置的演进模型。H.266的算法描述可从http://phenix.int-evry.fr/jvet获得,其中最新的算法描述包含于JVET-F1001-v2中,该算法描述文档以全文引用的方式并入本文中。同时,可从https://jvet.hhi.fraunhofer.de/svn/svn_HMJEMSoftware/获得JEM测试模型的参考软件,同样以全文引用的方式并入本文中。
一般来说,HM的工作模型描述可将视频帧或图像划分成包含亮度及色度样本两者的树块或最大编码单元(Iargest coding unit,LCU)的序列,LCU也被称为CTU。树块具有与H.264标准的宏块类似的目的。条带包含按解码次序的数个连续树块。可将视频帧或图像分割成一个或多个条带。可根据四叉树将每一树块分裂成编码单元。例如,可将作为四叉树的根节点的树块分裂成四个子节点,且每一子节点可又为母节点且被分裂成另外四个子节点。作为四叉树的叶节点的最终不可分裂的子节点包括解码节点,例如,经解码视频块。与经解码码流相关联的语法数据可定义树块可分裂的最大次数,且也可定义解码节点的最小大小。
编码单元包含解码节点及预测单元(prediction unit,PU)以及与解码节点相关联的变换单元(transform unit,TU)。CU的大小对应于解码节点的大小且形状必须为正方形。CU的大小的范围可为8×8像素直到最大64×64像素或更大的树块的大小。每一CU可含有一个或多个PU及一个或多个TU。例如,与CU相关联的语法数据可描述将CU分割成一个或多个PU的情形。分割模式在CU是被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码的情形之间可为不同的。PU可经分割成形状为非正方形。例如,与CU相关联的语法数据也可描述根据四叉树将CU分割成一个或多个TU的情形。TU的形状可为正方形或非正方形。
HEVC标准允许根据TU进行变换,TU对于不同CU来说可为不同的。TU通常基于针对经分割LCU定义的给定CU内的PU的大小而设定大小,但情况可能并非总是如此。TU的大小通常与PU相同或小于PU。在一些可行的实施方式中,可使用称作“残余四叉树”(residualqualtree,RQT)的四叉树结构将对应于CU的残余样本再分成较小单元。RQT的叶节点可被称作TU。可变换与TU相关联的像素差值以产生变换系数,变换系数可被量化。
一般来说,PU包含与预测过程有关的数据。例如,在PU经帧内模式编码时,PU可包含描述PU的帧内预测模式的数据。作为另一可行的实施方式,在PU经帧间模式编码时,PU可包含界定PU的运动矢量的数据。例如,界定PU的运动矢量的数据可描述运动矢量的水平分量、运动矢量的垂直分量、运动矢量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动矢量所指向的参考图像,和/或运动矢量的参考图像列表(例如,列表0、列表1或列表C)。
一般来说,TU使用变换及量化过程。具有一个或多个PU的给定CU也可包含一个或多个TU。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,像素差值可变换成变换系数、经量化且使用TU扫描以产生串行化变换系数以用于熵解码。本申请通常使用术语“视频块”来指CU的解码节点。在一些特定应用中,本申请也可使用术语“视频块”来指包含解码节点以及PU及TU的树块,例如,LCU或CU。
视频序列通常包含一系列视频帧或图像。图像群组(group of picture,GOP)示例性地包括一系列、一个或多个视频图像。GOP可在GOP的头信息中、图像中的一者或多者的头信息中或在别处包含语法数据,语法数据描述包含于GOP中的图像的数目。图像的每一条带可包含描述相应图像的编码模式的条带语法数据。视频编码器20通常对个别视频条带内的视频块进行操作以便编码视频数据。视频块可对应于CU内的解码节点。视频块可具有固定或变化的大小,且可根据指定解码标准而在大小上不同。
作为一种可行的实施方式,HM支持各种PU大小的预测。假定特定CU的大小为2N×2N,HM支持2N×2N或N×N的PU大小的帧内预测,及2N×2N、2N×N、N×2N或N×N的对称PU大小的帧间预测。HM也支持2N×nU、2N×nD、nL×2N及nR×2N的PU大小的帧间预测的不对称分割。在不对称分割中,CU的一方向未分割,而另一方向分割成25%及75%。对应于25%区段的CU的部分由“n”后跟着“上(Up)”、“下(Down)”、“左(Left)”或“右(Right)”的指示来指示。因此,例如,“2N×nU”指水平分割的2N×2NCU,其中2N×0.5NPU在上部且2N×1.5NPU在底部。
在本申请中,“N×N”与“N乘N”可互换使用以指依照垂直维度及水平维度的视频块的像素尺寸,例如,16×16像素或16乘16像素。一般来说,16×16块将在垂直方向上具有16个像素(y=16),且在水平方向上具有16个像素(x=16)。同样地,N×N块一股在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。可将块中的像素排列成行及列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。例如,块可包括N×M个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性解码之后,视频编码器20可计算CU的TU的残余数据。PU可包括空间域(也称作像素域)中的像素数据,且TU可包括在将变换(例如,离散余弦变换(discrete cosine transform,DCT)、整数变换、小波变换或概念上类似的变换)应用于残余视频数据之后变换域中的系数。残余数据可对应于未经编码图像的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含CU的残余数据的TU,且接着变换TU以产生CU的变换系数。
在任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化示例性地指对系数进行量化以可能减少用以表示系数的数据的量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。例如,可在量化期间将n位值降值含位到m位值,其中n大于m。
JEM模型对视频图像的编码结构进行了进一步的改进,具体的,被称为“四叉树结合二叉树”(QTBT)的块编码结构被引入进来。QTBT结构摒弃了HEVC中的CU,PU,TU等概念,支持更灵活的CU划分形状,一个CU可以正方形,也可以是长方形。一个CTU首先进行四叉树划分,该四叉树的叶节点进一步进行二叉树划分。同时,在二叉树划分中存在两种划分模式,对称水平分割和对称竖直分割。二叉树的叶节点被称为CU,JEM的CU在预测和变换的过程中都不可以被进一步划分,也就是说JEM的CU,PU,TU具有相同的块大小。在现阶段的JEM中,CTU的最大尺寸为256×256亮度像素。
在一些可行的实施方式中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数以产生可经熵编码的串行化向量。在其它可行的实施方式中,视频编码器20可执行自适应性扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可根据上下文自适应性可变长度解码(CAVLC)、上下文自适应性二进制算术解码(CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或其他熵解码方法来熵解码一维向量。视频编码器20也可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。
为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待传输的符号。上下文可与符号的相邻值是否为非零有关。为了执行CAVLC,视频编码器20可选择待传输的符号的可变长度码。可变长度解码(VLC)中的码字可经构建以使得相对较短码对应于可能性较大的符号,而较长码对应于可能性较小的符号。以这个方式,VLC的使用可相对于针对待传输的每一符号使用相等长度码字达成节省码率的目的。基于指派给符号的上下文可以确定CABAC中的概率。
在本申请实施例中,视频编码器可执行帧间预测以减少图像之间的时间冗余。如前文所描述,根据不同视频压缩编解码标准的规定,CU可具有一个或多个预测单元PU。换句话说,多个PU可属于CU,或者PU和CU的尺寸相同。在本文中当CU和PU尺寸相同时,CU的分割模式为不分割,或者即为分割为一个PU,且统一使用PU进行表述。当视频编码器执行帧间预测时,视频编码器可用信号通知视频解码器用于PU的运动信息。示例性的,PU的运动信息可以包括:参考图像索引、运动矢量和预测方向标识。运动矢量可指示PU的图像块(也称视频块、像素块、像素集合等)与PU的参考块之间的位移。PU的参考块可为类似于PU的图像块的参考图像的一部分。参考块可定位于由参考图像索引和预测方向标识指示的参考图像中。
为了减少表示PU的运动信息所需要的编码比特的数目,视频编码器可根据合并预测模式或高级运动矢量预测模式过程产生用于PU中的每一者的候选预测运动矢量(MotionVector,MV)列表。用于PU的候选预测运动矢量列表中的每一候选预测运动矢量可指示运动信息。由候选预测运动矢量列表中的一些候选预测运动矢量指示的运动信息可基于其它PU的运动信息。如果候选预测运动矢量指示指定空间候选预测运动矢量位置或时间候选预测运动矢量位置中的一者的运动信息,则本申请可将所述候选预测运动矢量称作“原始”候选预测运动矢量。举例来说,对于合并模式,在本文中也称为合并预测模式,可存在五个原始空间候选预测运动矢量位置和一个原始时间候选预测运动矢量位置。在一些实例中,视频编码器可通过组合来自不同原始候选预测运动矢量的部分运动矢量、修改原始候选预测运动矢量或仅插入零运动矢量作为候选预测运动矢量来产生额外候选预测运动矢量。这些额外候选预测运动矢量不被视为原始候选预测运动矢量且在本申请中可称作人工产生的候选预测运动矢量。
本申请的技术一般涉及用于在视频编码器处产生候选预测运动矢量列表的技术和用于在视频解码器处产生相同候选预测运动矢量列表的技术。视频编码器和视频解码器可通过实施用于构建候选预测运动矢量列表的相同技术来产生相同候选预测运动矢量列表。举例来说,视频编码器和视频解码器两者可构建具有相同数目的候选预测运动矢量(例如,五个候选预测运动矢量)的列表。视频编码器和解码器可首先考虑空间候选预测运动矢量(例如,同一图像中的相邻块),接着考虑时间候选预测运动矢量(例如,不同图像中的候选预测运动矢量),且最后可考虑人工产生的候选预测运动矢量直到将所要数目的候选预测运动矢量添加到列表为止。根据本申请的技术,可在候选预测运动矢量列表构建期间针对某些类型的候选预测运动矢量利用修剪操作以便从候选预测运动矢量列表移除重复,而对于其它类型的候选预测运动矢量,可能不使用修剪以便减小解码器复杂性。举例来说,对于空间候选预测运动矢量集合和对于时间候选预测运动矢量,可执行修剪操作以从候选预测运动矢量的列表排除具有重复运动信息的候选预测运动矢量。然而,当将人工产生的候选预测运动矢量添加到候选预测运动矢量的列表时,可在不对人工产生的候选预测运动矢量执行修剪操作的情况下添加人工产生的候选预测运动矢量。
在产生用于CU的PU的候选预测运动矢量列表之后,视频编码器可从候选预测运动矢量列表选择候选预测运动矢量且在码流中输出候选预测运动矢量索引。选定候选预测运动矢量可为具有产生最紧密地匹配正被解码的目标PU的预测子的运动矢量的候选预测运动矢量。候选预测运动矢量索引可指示在候选预测运动矢量列表中选定候选预测运动矢量的位置。视频编码器还可基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。可基于由选定候选预测运动矢量指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。在AMVP模式中,PU的运动信息可基于PU的运动矢量差和由选定候选预测运动矢量指示的运动信息确定。视频编码器可基于CU的PU的预测性图像块和用于CU的原始图像块产生用于CU的一或多个残余图像块。视频编码器可接着编码一或多个残余图像块且在码流中输出一或多个残余图像块。
码流可包括识别PU的候选预测运动矢量列表中的选定候选预测运动矢量的数据。视频解码器可基于由PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频解码器可基于PU的运动信息识别用于PU的一或多个参考块。在识别PU的一或多个参考块之后,视频解码器可基于PU的一或多个参考块产生用于PU的预测性图像块。视频解码器可基于用于CU的PU的预测性图像块和用于CU的一或多个残余图像块来重构用于CU的图像块。
为了易于解释,本申请可将位置或图像块描述为与CU或PU具有各种空间关系。此描述可解释为是指位置或图像块和与CU或PU相关联的图像块具有各种空间关系。此外,本申请可将视频解码器当前在解码的PU称作当前PU,也称为当前待处理图像块。本申请可将视频解码器当前在解码的CU称作当前CU。本申请可将视频解码器当前在解码的图像称作当前图像。应理解,本申请同时适用于PU和CU具有相同尺寸,或者PU即为CU的情况,统一使用PU来表示。
如前文简短地描述,视频编码器20可使用帧间预测以产生用于CU的PU的预测性图像块和运动信息。在许多例于中,给定PU的运动信息可能与一或多个附近PU(即,其图像块在空间上或时间上在给定PU的图像块附近的PU)的运动信息相同或类似。因为附近PU经常具有类似运动信息,所以视频编码器20可参考附近PU的运动信息来编码给定PU的运动信息。参考附近PU的运动信息来编码给定PU的运动信息可减少码流中指示给定PU的运动信息所需要的编码比特的数目。
视频编码器20可以各种方式参考附近PU的运动信息来编码给定PU的运动信息。举例来说,视频编码器20可指示给定PU的运动信息与附近PU的运动信息相同。本申请可使用合并模式来指代指示给定PU的运动信息与附近PU的运动信息相同或可从附近PU的运动信息导出。在另一可行的实施方式中,视频编码器20可计算用于给定PU的运动矢量差(MotionVector Difference,MVD)。MVD指示给定PU的运动矢量与附近PU的运动矢量之间的差。视频编码器20可将MVD而非给定PU的运动矢量包括于给定PU的运动信息中。在码流中表示MVD比表示给定PU的运动矢量所需要的编码比特少。本申请可使用高级运动矢量预测模式指代通过使用MVD和识别候选者运动矢量的索引值来用信号通知解码端给定PU的运动信息。
为了使用合并模式或AMVP模式来用信号通知解码端给定PU的运动信息,视频编码器20可产生用于给定PU的候选预测运动矢量列表。候选预测运动矢量列表可包括一或多个候选预测运动矢量。用于给定PU的候选预测运动矢量列表中的候选预测运动矢量中的每一者可指定运动信息。由每一候选预测运动矢量指示的运动信息可包括运动矢量、参考图像索引和预测方向标识。候选预测运动矢量列表中的候选预测运动矢量可包括“原始”候选预测运动矢量,其中每一者指示不同于给定PU的PU内的指定候选预测运动矢量位置中的一者的运动信息。
在产生用于PU的候选预测运动矢量列表之后,视频编码器20可从用于PU的候选预测运动矢量列表选择候选预测运动矢量中的一者。举例来说,视频编码器可比较每一候选预测运动矢量与正被解码的PU且可选择具有所要码率-失真代价的候选预测运动矢量。视频编码器20可输出用于PU的候选预测运动矢量索引。候选预测运动矢量索引可识别选定候选预测运动矢量在候选预测运动矢量列表中的位置。
此外,视频编码器20可基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。可基于由用于PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。举例来说,在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。在AMVP模式中,可基于用于PU的运动矢量差和由选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频编码器20可如前文所描述处理用于PU的预测性图像块。
当视频解码器30接收到码流时,视频解码器30可产生用于CU的PU中的每一者的候选预测运动矢量列表。由视频解码器30针对PU产生的候选预测运动矢量列表可与由视频编码器20针对PU产生的候选预测运动矢量列表相同。从码流中解析得到的语法元素可指示在PU的候选预测运动矢量列表中选定候选预测运动矢量的位置。在产生用于PU的候选预测运动矢量列表之后,视频解码器30可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。视频解码器30可基于由用于PU的候选预测运动矢量列表中的选定候选预测运动矢量指示的运动信息确定PU的运动信息。视频解码器30可基于用于PU的预测性图像块和用于CU的残余图像块重构用于CU的图像块。
应理解,在一种可行的实施方式中,在解码端,候选预测运动矢量列表的构建与从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置是相互独立,可以任意先后或者并行进行的。
在另一种可行的实施方式中,在解码端,首先从码流中解析选定候选预测运动矢量在候选预测运动矢量列表中的位置,根据解析出来的位置构建候选预测运动矢量列表,在该实施方式中,不需要构建全部的候选预测运动矢量列表,只需要构建到该解析出来的位置处的候选预测运动矢量列表,即能够确定该位置出的候选预测运动矢量即可。举例来说,当解析码流得出选定的候选预测运动矢量为候选预测运动矢量列表中索引为3的候选预测运动矢量时,仅需要构建从索引为0到索引为3的候选预测运动矢量列表,即可确定索引为3的候选预测运动矢量,可以达到减小复杂度,提高解码效率的技术效果。
图2为本申请实施例中视频编码器20的一种示意性框图。视频编码器20可执行视频条带内的视频块的帧内解码和帧间解码。帧内解码依赖于空间预测来减少或去除给定视频帧或图像内的视频的空间冗余。帧间解码依赖于时间预测来减少或去除视频序列的邻近帧或图像内的视频的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧间模式可指若干基于时间的压缩模式中的任一者。
在图2的可行的实施方式中,视频编码器20包含分割单元35、预测单元41、参考图像存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。预测单元41包含运动估计单元42、运动补偿单元44和帧内预测模块46。对于视频块重构建,视频编码器20也包含反量化单元58、反变换单元60和求和器62。也可包含解块滤波器(图2中未展示)以对块边界进行滤波从而从经重构建视频中去除块效应伪影。在需要时,解块滤波器将通常对求和器62的输出进行滤波。除了解块滤波器之外,也可使用额外环路滤波器(环路内或环路后)。
如图2中所展示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割也可包含分割成条带、图像块或其它较大单元,以及(例如)根据LCU及CU的四叉树结构进行视频块分割。视频编码器20示例性地说明编码在待编码的视频条带内的视频块的组件。一般来说,条带可划分成多个视频块(且可能划分成称作图像块的视频块的集合)。
预测单元41可基于编码质量与代价计算结果(例如,码率-失真代价,RDcost)选择当前视频块的多个可能解码模式中的一者,例如多个帧内解码模式中的一者或多个帧间解码模式中的一者。预测单元41可将所得经帧内解码或经帧间解码块提供到求和器50以产生残余块数据且将所得经帧内解码或经帧间解码块提供到求和器62以重构建经编码块从而用作参考图像。
预测单元41内的运动估计单元42及运动补偿单元44执行相对于一个或多个参考图像中的一个或多个预测性块的当前视频块的帧间预测性解码以提供时间压缩。运动估计单元42可经配置以根据视频序列的预定模式确定视频条带的帧间预测模式。预定模式可将序列中的视频条带指定为P条带、B条带或GPB条带。运动估计单元42及运动补偿单元44可高度集成,但为概念目的而分别说明。通过运动估计单元42所执行的运动估计为产生估计视频块的运动矢量的过程。例如,运动矢量可指示当前视频帧或图像内的视频块的PU相对于参考图像内的预测性块的位移。
预测性块为依据像素差而被发现为紧密匹配待解码的视频块的PU的块,像素差可通过绝对差和(SAD)、平方差和(SSD)或其它差度量确定。在一些可行的实施方式中,视频编码器20可计算存储于参考图像存储器64中的参考图像的子整数(sub-integer)像素位置的值。例如,视频编码器20可内插参考图像的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动矢量。
运动估计单元42通过比较PU的位置与参考图像的预测性块的位置而计算经帧间解码条带中的视频块的PU的运动矢量。可从第一参考图像列表(列表0)或第二参考图像列表(列表1)选择参考图像,列表中的每一者识别存储于参考图像存储器64中的一个或多个参考图像。运动估计单元42将经计算运动矢量发送到熵编码单元56及运动补偿单元44。
由运动补偿单元44执行的运动补偿可涉及基于由运动估计所确定的运动矢量提取或产生预测性块,可能执行到子像素精确度的内插。在接收当前视频块的PU的运动矢量后,运动补偿单元44即可在参考图像列表中的一者中定位运动矢量所指向的预测性块。视频编码器20通过从正经解码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值。像素差值形成块的残余数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一个或多个组件。运动补偿单元44也可产生与视频块及视频条带相关联的语法元素以供视频解码器30用于解码视频条带的视频块。
如果PU位于B条带中,则含有PU的图像可与称作“列表0”和“列表1”的两个参考图像列表相关联。在一些可行的实施方式中,含有B条带的图像可与为列表0和列表1的组合的列表组合相关联。
此外,如果PU位于B条带中,则运动估计单元42可针对PU执行单向预测或双向预测,其中,在一些可行的实施方式中,双向预测为分别基于列表0和列表1的参考图像列表的图像进行的预测,在另一些可行的实施方式中,双向预测为分别基于当前帧在显示顺序上的已重建的未来帧和已重建的过去帧进行的预测。当运动估计单元42针对PU执行单向预测时,运动估计单元42可在列表0或列表1的参考图像中搜索用于PU的参考块。运动估计单元42可接着产生指示列表0或列表1中的含有参考块的参考图像的参考索引和指示PU与参考块之间的空间位移的运动矢量。运动估计单元42可输出参考索引、预测方向标识和运动矢量作为PU的运动信息。预测方向标识可指示参考索引指示列表0或列表1中的参考图像。运动补偿单元44可基于由PU的运动信息指示的参考块产生PU的预测性图像块。
当运动估计单元42针对PU执行双向预测时,运动估计单元42可在列表0中的参考图像中搜索用于PU的参考块且还可在列表1中的参考图像中搜索用于PU的另一参考块。运动估计单元42可接着产生指示列表0和列表1中的含有参考块的参考图像的参考索引和指示参考块与PU之间的空间位移的运动矢量。运动估计单元42可输出PU的参考索引和运动矢量作为PU的运动信息。运动补偿单元44可基于由PU的运动信息指示的参考块产生PU的预测性图像块。
在一些可行的实施方式中,运动估计单元42不向熵编码模块56输出用于PU的运动信息的完整集合。而是,运动估计单元42可参考另一PU的运动信息来用信号通知PU的运动信息。举例来说,运动估计单元42可确定PU的运动信息充分类似于相邻PU的运动信息。在此实施方式中,运动估计单元42可在与PU相关联的语法结构中指示一个指示值,所述指示值向视频解码器30指示PU具有与相邻PU相同的运动信息或具有可从相邻PU导出的运动信息。在另一实施方式中,运动估计单元42可在与PU相关联的语法结构中识别与相邻PU相关联的候选预测运动矢量和运动矢量差(MVD)。MVD指示PU的运动矢量和与相邻PU相关联的所指示候选预测运动矢量之间的差。视频解码器30可使用所指示候选预测运动矢量和MVD来确定PU的运动矢量。
如前文所描述,预测模块41可产生用于CU的每一PU的候选预测运动矢量列表。候选预测运动矢量列表中的一或多者可包括一或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一或多个额外候选预测运动矢量。
预测单元41内的帧内预测单元46可执行相对于在与待解码的当前块相同的图像或条带中的一个或多个相邻块的当前视频块的帧内预测性解码以提供空间压缩。因此,作为通过运动估计单元42及运动补偿单元44执行的帧间预测(如前文所描述)的替代,帧内预测单元46可帧内预测当前块。明确地说,帧内预测单元46可确定用以编码当前块的帧内预测模式。在一些可行的实施方式中,帧内预测单元46可(例如)在单独编码遍历期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些可行的实施方式中,模式选择单元40)可从经测试模式选择使用的适当帧内预测模式。
在预测单元41经由帧间预测或帧内预测产生当前视频块的预测性块之后,视频编码器20通过从当前视频块减去预测性块而形成残余视频块。残余块中的残余视频数据可包含于一个或多个TU中且应用于变换处理单元52。变换处理单元52使用例如离散余弦变换(DCT)或概念上类似的变换的变换(例如,离散正弦变换DST)将残余视频数据变换成残余变换系数。变换处理单元52可将残余视频数据从像素域转换到变换域(例如,频域)。
变换处理单元52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小码率。量化过程可减少与系数中的一些或全部相关联的比特深度。可通过调整量化参数来修改量化的程度。在一些可行的实施方式中,量化单元54可接着执行包含经量化变换系数的矩阵的扫描。替代地,熵编码单元56可执行扫描。
在量化之后,熵编码单元56可熵编码经量化变换系数。例如,熵编码单元56可执行上下文自适应性可变长度解码(CAVLC)、上下文自适应性二进制算术解码(CABAC)、基于语法的上下文自适应性二进制算术解码(SBAC)、概率区间分割熵(PIPE)解码或另一熵编码方法或技术。熵编码单元56也可熵编码正经解码的当前视频条带的运动矢量及其它语法元素。在通过熵编码单元56进行熵编码之后,可将经编码码流传输到视频解码器30或存档以供稍后传输或由视频解码器30检索。
熵编码单元56可编码根据本申请的技术指示选定帧内预测模式的信息。视频编码器20可在可包含多个帧内预测模式索引表和多个经修改帧内预测模式索引表(也称作码字映射表)的所传输码流配置数据中包含各种块的编码上下文的定义及用于上下文中的每一者的MPM、帧内预测模式索引表和经修改帧内预测模式索引表的指示。
反量化单元58及反变换单元60分别应用反量化及反变换,以在像素域中重构建残余块以供稍后用作参考图像的参考块。运动补偿单元44可通过将残余块与参考图像列表中的一者内的参考图像中的一者的预测性块相加来计算参考块。运动补偿单元44也可将一个或多个内插滤波器应用于经重构建残余块以计算子整数像素值以用于运动估计。求和器62将经重构建残余块与通过运动补偿单元44所产生的经运动补偿的预测块相加以产生参考块以供存储于参考图像存储器64中。参考块可由运动估计单元42及运动补偿单元44用作参考块以帧间预测后续视频帧或图像中的块。
图3为本申请实施例中视频解码器30的一种示意性框图。在图3的可行的实施方式中,视频解码器30包含熵编码单元80、预测单元81、反量化单元86、反变换单元88、求和器90和参考图像存储器92。预测单元81包含运动补偿单元82和帧内预测单元84。在一些可行的实施方式中,视频解码器30可执行与关于来自图4的视频编码器20描述的编码流程的示例性地互逆的解码流程。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频条带的视频块及相关联的语法元素的经编码视频码流。视频解码器30的熵编码单元80熵解码码流以产生经量化系数、运动矢量及其它语法元素。熵编码单元80将运动矢量及其它语法元素转递到预测单元81。视频解码器30可在视频条带层级和/或视频块层级处接收语法元素。
在视频条带经解码为经帧内解码(I)条带时,预测单元81的帧内预测单元84可基于用信号发送的帧内预测模式及来自当前帧或图像的先前经解码块的数据而产生当前视频条带的视频块的预测数据。
在视频图像经解码为经帧间解码(例如,B、P或GPB)条带时,预测单元81的运动补偿单元82基于从熵编码单元80所接收的运动矢量及其它语法元素而产生当前视频图像的视频块的预测性块。预测性块可从参考图像列表中的一者内的参考图像中的一者产生。视频解码器30可基于存储于参考图像存储器92中的参考图像使用默认构建技术来构建参考图像列表(列表0及列表1)。
运动补偿单元82通过解析运动矢量及其它语法元素来确定当前视频条带的视频块的预测信息,且使用预测信息来产生正经解码的当前视频块的预测性块。例如,运动补偿单元82使用所接收的语法元素中的一些来确定用以解码视频条带的视频块的预测模式(例如,帧内预测或帧间预测)、帧间预测条带类型(例如,B条带、P条带或GPB条带)、条带的参考图像列表中的一者或多者的构建信息、条带的每一经帧间编码视频块的运动矢量、条带的每一经帧间解码视频块的帧间预测状态及用以解码当前视频条带中的视频块的其它信息。
运动补偿单元82也可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此应用中,运动补偿单元82可从所接收的语法元素确定由视频编码器20使用的内插滤波器且使用内插滤波器来产生预测性块。
如果PU是使用帧间预测而编码,则运动补偿单元82可产生用于PU的候选预测运动矢量列表。码流中可包括识别选定候选预测运动矢量在PU的候选预测运动矢量列表中的位置的数据。在产生用于PU的候选预测运动矢量列表之后,运动补偿单元82可基于由PU的运动信息指示的一或多个参考块产生用于PU的预测性图像块。PU的参考块可在与所述PU不同的时间图像中。运动补偿单元82可基于由PU的候选预测运动矢量列表中的选定的运动信息确定PU的运动信息。
反量化单元86对码流中所提供且通过熵编码单元80所解码的经量化变换系数进行反量化(例如,解量化)。反量化过程可包含使用通过视频编码器20针对视频条带中的每一视频块所计算的量化参数确定量化的程度,且同样地确定应应用的反量化的程度。反变换单元88将反变换(例如,反DCT、反整数变换或概念上类似的反变换过程)应用于变换系数以便在像素域中产生残余块。
在运动补偿单元82基于运动矢量及其它语法元素产生当前视频块的预测性块之后,视频解码器30通过将来自反变换单元88的残余块与通过运动补偿单元82产生的对应预测性块求和来形成经解码视频块。求和器90表示执行此求和运算的一个或多个组件。在需要时,也可应用解块滤波器来对经解码块进行滤波以便去除块效应伪影。其它环路滤波器(在解码环路中或在解码环路之后)也可用以使像素转变平滑,或以其它方式改进视频质量。给定帧或图像中的经解码视频块接着存储于参考图像存储器92中,参考图像存储器92存储供后续运动补偿所使用的参考图像。参考图像存储器92也存储供稍后呈现于例如图1的显示装置32的显示装置上的经解码视频。
如前文所注明,本申请的技术示例性地涉及帧间解码。应理解,本申请的技术可通过本申请中所描述的视频解码器中的任一者进行,视频解码器包含(例如)如关于图1到3所展示及描述的视频编码器20及视频解码器30。即,在一种可行的实施方式中,关于图2所描述的预测单元41可在视频数据的块的编码期间在执行帧间预测时执行下文中所描述的特定技术。在另一可行的实施方式中,关于图3所描述的预测单元81可在视频数据的块的解码期间在执行帧间预测时执行下文中所描述的特定技术。因此,对一般性“视频编码器”或“视频解码器”的引用可包含视频编码器20、视频解码器30或另一视频编码或编码单元。
图4为本申请实施例中帧间预测模块的一种示意性框图。帧间预测模块121,示例性的,可以包括运动估计单元42和运动补偿单元44。在不同的视频压缩编解码标准中,PU和CU的关系各有不同。帧间预测模块121可根据多个分割模式将当前CU分割为PU。举例来说,帧间预测模块121可根据2N×2N、2N×N、N×2N和N×N分割模式将当前CU分割为PU。在其他实施例中,当前CU即为当前PU,不作限定。
帧间预测模块121可对PU中的每一者执行整数运动估计(Integer MotionEstimation,IME)且接着执行分数运动估计(Fraction Motion Estimation,FME)。当帧间预测模块121对PU执行IME时,帧间预测模块121可在一个或多个参考图像中搜索用于PU的参考块。在找到用于PU的参考块之后,帧间预测模块121可产生以整数精度指示PU与用于PU的参考块之间的空间位移的运动矢量。当帧间预测模块121对PU执行FME时,帧间预测模块121可改进通过对PU执行IME而产生的运动矢量。通过对PU执行FME而产生的运动矢量可具有子整数精度(例如,1/2像素精度、1/4像素精度等)。在产生用于PU的运动矢量之后,帧间预测模块121可使用用于PU的运动矢量以产生用于PU的预测性图像块。
在帧间预测模块121使用AMVP模式用信号通知解码端PU的运动信息的一些可行的实施方式中,帧间预测模块121可产生用于PU的候选预测运动矢量列表。候选预测运动矢量列表可包括一个或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一个或多个额外候选预测运动矢量。在产生用于PU的候选预测运动矢量列表之后,帧间预测模块121可从候选预测运动矢量列表选择候选预测运动矢量且产生用于PU的运动矢量差(MVD)。用于PU的MVD可指示由选定候选预测运动矢量指示的运动矢量与使用IME和FME针对PU产生的运动矢量之间的差。在这些可行的实施方式中,帧间预测模块121可输出识别选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引。帧间预测模块121还可输出PU的MVD。下文详细描述图6中,本申请实施例中高级运动矢量预测(AMVP)模式的一种可行的实施方式。
除了通过对PU执行IME和FME来产生用于PU的运动信息外,帧间预测模块121还可对PU中的每一者执行合并(Merge)操作。当帧间预测模块121对PU执行合并操作时,帧间预测模块121可产生用于PU的候选预测运动矢量列表。用于PU的候选预测运动矢量列表可包括一个或多个原始候选预测运动矢量和从原始候选预测运动矢量导出的一个或多个额外候选预测运动矢量。候选预测运动矢量列表中的原始候选预测运动矢量可包括一个或多个空间候选预测运动矢量和时间候选预测运动矢量。空间候选预测运动矢量可指示当前图像中的其它PU的运动信息。时间候选预测运动矢量可基于不同于当前图像的对应的PU的运动信息。时间候选预测运动矢量还可称作时间运动矢量预测(TMVP)。
在产生候选预测运动矢量列表之后,帧间预测模块121可从候选预测运动矢量列表选择候选预测运动矢量中的一个。帧间预测模块121可接着基于由PU的运动信息指示的参考块产生用于PU的预测性图像块。在合并模式中,PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。下文描述的图5说明Merge示例性的流程图。
在基于IME和FME产生用于PU的预测性图像块和基于合并操作产生用于PU的预测性图像块之后,帧间预测模块121可选择通过FME操作产生的预测性图像块或者通过合并操作产生的预测性图像块。在一些可行的实施方式中,帧间预测模块121可基于通过FME操作产生的预测性图像块和通过合并操作产生的预测性图像块的码率-失真代价分析来选择用于PU的预测性图像块。
在帧间预测模块121已选择通过根据分割模式中的每一者分割当前CU而产生的PU的预测性图像块之后(在一些实施方式中,编码树单元CTU划分为CU后,不会再进一步划分为更小的PU,此时PU等同于CU),帧间预测模块121可选择用于当前CU的分割模式。在一些实施方式中,帧间预测模块121可基于通过根据分割模式中的每一者分割当前CU而产生的PU的选定预测性图像块的码率-失真代价分析来选择用于当前CU的分割模式。帧间预测模块121可将与属于选定分割模式的PU相关联的预测性图像块输出到残差产生模块102。帧间预测模块121可将指示属于选定分割模式的PU的运动信息的语法元素输出到熵编码模块116。
在图4的示意图中,帧间预测模块121包括IME模块180A到180N(统称为“IME模块180”)、FME模块182A到182N(统称为“FME模块182”)、合并模块184A到184N(统称为“合并模块184”)、PU模式决策模块186A到186N(统称为“PU模式决策模块186”)和CU模式决策模块188(也可以包括执行从CTU到CU的模式决策过程)。
IME模块180、FME模块182和合并模块184可对当前CU的PU执行IME操作、FME操作和合并操作。图4的示意图中将帧间预测模块121说明为包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。在其它可行的实施方式中,帧间预测模块121不包括用于CU的每一分割模式的每一PU的单独IME模块180、FME模块182和合并模块184。
如图4的示意图中所说明,IME模块180A、FME模块182A和合并模块184A可对通过根据2N×2N分割模式分割CU而产生的PU执行IME操作、FME操作和合并操作。PU模式决策模块186A可选择由IME模块180A、FME模块182A和合并模块184A产生的预测性图像块中的一者。
IME模块180B、FME模块182B和合并模块184B可对通过根据N×2N分割模式分割CU而产生的左PU执行IME操作、FME操作和合并操作。PU模式决策模块186B可选择由IME模块180B、FME模块182B和合并模块184B产生的预测性图像块中的一者。
IME模块180C、FME模块182C和合并模块184C可对通过根据N×2N分割模式分割CU而产生的右PU执行IME操作、FME操作和合并操作。PU模式决策模块186C可选择由IME模块180C、FME模块182C和合并模块184C产生的预测性图像块中的一者。
IME模块180N、FME模块182N和合并模块184可对通过根据N×N分割模式分割CU而产生的右下PU执行IME操作、FME操作和合并操作。PU模式决策模块186N可选择由IME模块180N、FME模块182N和合并模块184N产生的预测性图像块中的一者。
PU模式决策模块186可基于多个可能预测性图像块的码率-失真代价分析选择预测性图像块,且选择针对给定解码情形提供最佳码率-失真代价的预测性图像块。示例性的,对于带宽受限的应用,PU模式决策模块186可偏向选择增加压缩比的预测性图像块,而对于其它应用,PU模式决策模块186可偏向选择增加经重建视频质量的预测性图像块。在PU模式决策模块186选择用于当前CU的PU的预测性图像块之后,CU模式决策模块188选择用于当前CU的分割模式且输出属于选定分割模式的PU的预测性图像块和运动信息。
图5为本申请实施例中合并模式的一种示例性流程图。视频编码器(例如视频编码器20)可执行合并操作200。在其它可行的实施方式中,视频编码器可执行不同于合并操作200的合并操作。举例来说,在其它可行的实施方式中,视频编码器可执行合并操作,其中视频编码器执行比合并操作200多、少的步骤或与合并操作200不同的步骤。在其它可行的实施方式中,视频编码器可以不同次序或并行地执行合并操作200的步骤。编码器还可对以跳跃(skip)模式编码的PU执行合并操作200。
在视频编码器开始合并操作200之后,视频编码器可产生用于当前PU的候选预测运动矢量列表(202)。视频编码器可以各种方式产生用于当前PU的候选预测运动矢量列表。举例来说,视频编码器可根据下文关于图8到图12描述的实例技术中的一者产生用于当前PU的候选预测运动矢量列表。
如前文所述,用于当前PU的候选预测运动矢量列表可包括时间候选预测运动矢量。时间候选预测运动矢量可指示时域对应(co-located)的PU的运动信息。co-located的PU可在空间上与当前PU处于图像帧中的同一个位置,但在参考图像而非当前图像中。本申请可将包括时域对应的PU的参考图像称作相关参考图像。本申请可将相关参考图像的参考图像索引称作相关参考图像索引。如前文所描述,当前图像可与一个或多个参考图像列表(例如,列表0、列表1等)相关联。参考图像索引可通过指示在参考图像某一个参考图像列表中的位置来指示参考图像。在一些可行的实施方式中,当前图像可与组合参考图像列表相关联。
在一些视频编码器中,相关参考图像索引为涵盖与当前PU相关联的参考索引源位置的PU的参考图像索引。在这些视频编码器中,与当前PU相关联的参考索引源位置邻接于当前PU左方或邻接于当前PU上方。在本申请中,如果与PU相关联的图像块包括特定位置,则PU可“涵盖”所述特定位置。在这些视频编码器中,如果参考索引源位置不可用,则视频编码器可使用零的参考图像索引。
然而,可存在以下例子:与当前PU相关联的参考索引源位置在当前CU内。在这些例子中,如果PU在当前CU上方或左方,则涵盖与当前PU相关联的参考索引源位置的PU可被视为可用。然而,视频编码器可需要存取当前CU的另一PU的运动信息以便确定含有co-located PU的参考图像。因此,这些视频编码器可使用属于当前CU的PU的运动信息(即,参考图像索引)以产生用于当前PU的时间候选预测运动矢量。换句话说,这些视频编码器可使用属于当前CU的PU的运动信息产生时间候选预测运动矢量。因此,视频编码器可能不能并行地产生用于当前PU和涵盖与当前PU相关联的参考索引源位置的PU的候选预测运动矢量列表。
根据本申请的技术,视频编码器可在不参考任何其它PU的参考图像索引的情况下显式地设定相关参考图像索引。此可使得视频编码器能够并行地产生用于当前PU和当前CU的其它PU的候选预测运动矢量列表。因为视频编码器显式地设定相关参考图像索引,所以相关参考图像索引不基于当前CU的任何其它PU的运动信息。在视频编码器显式地设定相关参考图像索引的一些可行的实施方式中,视频编码器可始终将相关参考图像索引设定为固定的预定义预设参考图像索引(例如0)。以此方式,视频编码器可基于由预设参考图像索引指示的参考帧中的co-located PU的运动信息产生时间候选预测运动矢量,且可将时间候选预测运动矢量包括于当前CU的候选预测运动矢量列表中。
在视频编码器显式地设定相关参考图像索引的可行的实施方式中,视频编码器可显式地在语法结构(例如图像标头、条带标头、APS或另一语法结构)中用信号通知相关参考图像索引。在此可行的实施方式中,视频编码器可用信号通知解码端用于每一LCU(即CTU)、CU、PU、TU或其它类型的子块的相关参考图像索引。举例来说,视频编码器可用信号通知:用于CU的每一PU的相关参考图像索引等于“1”。
在一些可行的实施方式中,相关参考图像索引可经隐式地而非显式地设定。在这些可行的实施方式中,视频编码器可使用由涵盖当前CU外部的位置的PU的参考图像索引指示的参考图像中的PU的运动信息产生用于当前CU的PU的候选预测运动矢量列表中的每一时间候选预测运动矢量,即使这些位置并不严格地邻近当前PU。
在产生用于当前PU的候选预测运动矢量列表之后,视频编码器可产生与候选预测运动矢量列表中的候选预测运动矢量相关联的预测性图像块(204)。视频编码器可通过基于所指示候选预测运动矢量的运动信息确定当前PU的运动信息和接着基于由当前PU的运动信息指示的一个或多个参考块产生预测性图像块来产生与候选预测运动矢量相关联的预测性图像块。视频编码器可接着从候选预测运动矢量列表选择候选预测运动矢量中的一者(206)。视频编码器可以各种方式选择候选预测运动矢量。举例来说,视频编码器可基于对与候选预测运动矢量相关联的预测性图像块的每一者的码率-失真代价分析来选择候选预测运动矢量中的一者。
在选择候选预测运动矢量之后,视频编码器可输出候选预测运动矢量索引(208)。候选预测运动矢量索引可指示在候选预测运动矢量列表中选定候选预测运动矢量的位置。在一些可行的实施方式中,候选预测运动矢量索引可表示为“merge_idx”。
图6为本申请实施例中高级运动矢量预测(AMVP)模式的一种示例性流程图。视频编码器(例如视频编码器20)可执行AMVP操作210。
在视频编码器开始AMVP操作210之后,视频编码器可产生用于当前PU的一个或多个运动矢量(211)。视频编码器可执行整数运动估计和分数运动估计以产生用于当前PU的运动矢量。如前文所描述,当前图像可与两个参考图像列表(列表0和列表1)相关联。如果当前PU经单向预测,则视频编码器可产生用于当前PU的列表0运动矢量或列表1运动矢量。列表0运动矢量可指示当前PU的图像块与列表0中的参考图像中的参考块之间的空间位移。列表1运动矢量可指示当前PU的图像块与列表1中的参考图像中的参考块之间的空间位移。如果当前PU经双向预测,则视频编码器可产生用于当前PU的列表0运动矢量和列表1运动矢量。
在产生用于当前PU的一个或多个运动矢量之后,视频编码器可产生用于当前PU的预测性图像块(212)。视频编码器可基于由用于当前PU的一个或多个运动矢量指示的一个或多个参考块产生用于当前PU的预测性图像块。
另外,视频编码器可产生用于当前PU的候选预测运动矢量列表(213)。视频解码器可以各种方式产生用于当前PU的候选预测运动矢量列表。举例来说,视频编码器可根据下文关于图8到图12描述的可行的实施方式中的一个或多个产生用于当前PU的候选预测运动矢量列表。在一些可行的实施方式中,当视频编码器在AMVP操作210中产生候选预测运动矢量列表时,候选预测运动矢量列表可限于两个候选预测运动矢量。相比而言,当视频编码器在合并操作中产生候选预测运动矢量列表时,候选预测运动矢量列表可包括更多候选预测运动矢量(例如,五个候选预测运动矢量)。
在产生用于当前PU的候选预测运动矢量列表之后,视频编码器可产生用于候选预测运动矢量列表中的每一候选预测运动矢量的一个或多个运动矢量差(MVD)(214)。视频编码器可通过确定由候选预测运动矢量指示的运动矢量与当前PU的对应运动矢量之间的差来产生用于候选预测运动矢量的运动矢量差。
如果当前PU经单向预测,则视频编码器可产生用于每一候选预测运动矢量的单一MVD。如果当前PU经双向预测,则视频编码器可产生用于每一候选预测运动矢量的两个MVD。第一MVD可指示候选预测运动矢量的运动矢量与当前PU的列表0运动矢量之间的差。第二MVD可指示候选预测运动矢量的运动矢量与当前PU的列表1运动矢量之间的差。
视频编码器可从候选预测运动矢量列表选择候选预测运动矢量中的一个或多个(215)。视频编码器可以各种方式选择一个或多个候选预测运动矢量。举例来说,视频编码器可选择具有最小误差地匹配待编码的运动矢量的相关联运动矢量的候选预测运动矢量,此可减少表示用于候选预测运动矢量的运动矢量差所需的位数目。
在选择一个或多个候选预测运动矢量之后,视频编码器可输出用于当前PU的一个或多个参考图像索引、一个或多个候选预测运动矢量索引,和用于一个或多个选定候选预测运动矢量的一个或多个运动矢量差(216)。
在当前图像与两个参考图像列表(列表0和列表1)相关联且当前PU经单向预测的例子中,视频编码器可输出用于列表0的参考图像索引(“ref_idx_10”)或用于列表1的参考图像索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_10_flag”)。或者,视频编码器可输出指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动矢量或列表1运动矢量的MVD。
在当前图像与两个参考图像列表(列表0和列表1)相关联且当前PU经双向预测的例子中,视频编码器可输出用于列表0的参考图像索引(“ref_idx_10”)和用于列表1的参考图像索引(“ref_idx_11”)。视频编码器还可输出指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_10_flag”)。另外,视频编码器可输出指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置的候选预测运动矢量索引(“mvp_11_flag”)。视频编码器还可输出用于当前PU的列表0运动矢量的MVD和用于当前PU的列表1运动矢量的MVD。
图7为本申请实施例中由视频解码器(例如视频解码器30)执行的运动补偿的一种示例性流程图。
当视频解码器执行运动补偿操作220时,视频解码器可接收用于当前PU的选定候选预测运动矢量的指示(222)。举例来说,视频解码器可接收指示选定候选预测运动矢量在当前PU的候选预测运动矢量列表内的位置的候选预测运动矢量索引。
如果当前PU的运动信息是使用AMVP模式进行编码且当前PU经双向预测,则视频解码器可接收第一候选预测运动矢量索引和第二候选预测运动矢量索引。第一候选预测运动矢量索引指示用于当前PU的列表0运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置。第二候选预测运动矢量索引指示用于当前PU的列表1运动矢量的选定候选预测运动矢量在候选预测运动矢量列表中的位置。在一些可行的实施方式中,单一语法元素可用以识别两个候选预测运动矢量索引。
另外,视频解码器可产生用于当前PU的候选预测运动矢量列表(224)。视频解码器可以各种方式产生用于当前PU的此候选预测运动矢量列表。举例来说,视频解码器可使用下文参看图8到图12描述的技术来产生用于当前PU的候选预测运动矢量列表。当视频解码器产生用于候选预测运动矢量列表的时间候选预测运动矢量时,视频解码器可显式地或隐式地设定识别包括co-located PU的参考图像的参考图像索引,如前文关于图5所描述。
在产生用于当前PU的候选预测运动矢量列表之后,视频解码器可基于由用于当前PU的候选预测运动矢量列表中的一个或多个选定候选预测运动矢量指示的运动信息确定当前PU的运动信息(225)。举例来说,如果当前PU的运动信息是使用合并模式而编码,则当前PU的运动信息可与由选定候选预测运动矢量指示的运动信息相同。如果当前PU的运动信息是使用AMVP模式而编码,则视频解码器可使用由所述或所述选定候选预测运动矢量指示的一个或多个运动矢量和码流中指示的一个或多个MVD来重建当前PU的一个或多个运动矢量。当前PU的参考图像索引和预测方向标识可与所述一个或多个选定候选预测运动矢量的参考图像索引和预测方向标识相同。在确定当前PU的运动信息之后,视频解码器可基于由当前PU的运动信息指示的一个或多个参考块产生用于当前PU的预测性图像块(226)。
图8为本申请实施例中编码单元(CU)及与其关联的相邻位置图像块的一种示例性示意图,说明CU250和与CU250相关联的示意性的候选预测运动矢量位置252A到252E的示意图。本申请可将候选预测运动矢量位置252A到252E统称为候选预测运动矢量位置252。候选预测运动矢量位置252表示与CU250在同一图像中的空间候选预测运动矢量。候选预测运动矢量位置252A定位于CU250左方。候选预测运动矢量位置252B定位于CU250上方。候选预测运动矢量位置252C定位于CU250右上方。候选预测运动矢量位置252D定位于CU250左下方。候选预测运动矢量位置252E定位于CU250左上方。图8为用以提供帧间预测模块121和运动补偿模块162可产生候选预测运动矢量列表的方式的示意性实施方式。下文将参考帧间预测模块121解释实施方式,但应理解运动补偿模块162可实施相同技术,且因此产生相同候选预测运动矢量列表。
图9为本申请实施例中构建候选预测运动矢量列表的一种示例性流程图。将参考包括五个候选预测运动矢量的列表描述图9的技术,但本文中所描述的技术还可与具有其它大小的列表一起使用。五个候选预测运动矢量可各自具有索引(例如,0到4)。将参考一般视频解码器描述图9的技术。一般视频解码器示例性的可以为视频编码器(例如视频编码器20)或视频解码器(例如视频解码器30)。
为了根据图9的实施方式重建候选预测运动矢量列表,视频解码器首先考虑四个空间候选预测运动矢量(902)。四个空间候选预测运动矢量可以包括候选预测运动矢量位置252A、252B、252C和252D。四个空间候选预测运动矢量对应于与当前CU(例如,CU250)在同一图像中的四个PU的运动信息。视频解码器可以特定次序考虑列表中的四个空间候选预测运动矢量。举例来说,候选预测运动矢量位置252A可被第一个考虑。如果候选预测运动矢量位置252A可用,则候选预测运动矢量位置252A可指派到索引0。如果候选预测运动矢量位置252A不可用,则视频解码器可不将候选预测运动矢量位置252A包括于候选预测运动矢量列表中。候选预测运动矢量位置可出于各种理由而不可用。举例来说,如果候选预测运动矢量位置不在当前图像内,则候选预测运动矢量位置可能不可用。在另一可行的实施方式中,如果候选预测运动矢量位置经帧内预测,则候选预测运动矢量位置可能不可用。在另一可行的实施方式中,如果候选预测运动矢量位置在与当前CU不同的条带中,则候选预测运动矢量位置可能不可用。
在考虑候选预测运动矢量位置252A之后,视频解码器可接下来考虑候选预测运动矢量位置252B。如果候选预测运动矢量位置252B可用且不同于候选预测运动矢量位置252A,则视频解码器可将候选预测运动矢量位置252B添加到候选预测运动矢量列表。在此特定上下文中,术语“相同”和“不同”指代与候选预测运动矢量位置相关联的运动信息。因此,如果两个候选预测运动矢量位置具有相同运动信息则被视为相同,且如果其具有不同运动信息则被视为不同。如果候选预测运动矢量位置252A不可用,则视频解码器可将候选预测运动矢量位置252B指派到索引0。如果候选预测运动矢量位置252A可用,则视频解码器可将候选预测运动矢量位置252指派到索引1。如果候选预测运动矢量位置252B不可用或与候选预测运动矢量位置252A相同,则视频解码器跳过候选预测运动矢量位置252B且不将其包括于候选预测运动矢量列表中。
候选预测运动矢量位置252C由视频解码器类似地考虑以供包括于列表中。如果候选预测运动矢量位置252C可用且不与候选预测运动矢量位置252B和252A相同,则视频解码器将候选预测运动矢量位置252C指派到下一可用索引。如果候选预测运动矢量位置252C不可用或并非不同于候选预测运动矢量位置252A和252B中的至少一者,则视频解码器不将候选预测运动矢量位置252C包括于候选预测运动矢量列表中。接下来,视频解码器考虑候选预测运动矢量位置252D。如果候选预测运动矢量位置252D可用且不与候选预测运动矢量位置252A、252B和252C相同,则视频解码器将候选预测运动矢量位置252D指派到下一可用索引。如果候选预测运动矢量位置252D不可用或并非不同于候选预测运动矢量位置252A、252B和252C中的至少一者,则视频解码器不将候选预测运动矢量位置252D包括于候选预测运动矢量列表中。以上实施方式大体上描述示例性地考虑候选预测运动矢量252A到252D以供包括于候选预测运动矢量列表中,但在一些实施方施中,可首先将所有候选预测运动矢量252A到252D添加到候选预测运动矢量列表,稍后从候选预测运动矢量列表移除重复。
在视频解码器考虑前四个空间候选预测运动矢量之后,候选预测运动矢量列表可能包括四个空间候选预测运动矢量或者该列表可能包括少于四个空间候选预测运动矢量。如果列表包括四个空间候选预测运动矢量(904,是),则视频解码器考虑时间候选预测运动矢量(906)。时间候选预测运动矢量可对应于不同于当前图像的图像的co-located PU的运动信息。如果时间候选预测运动矢量可用且不同于前四个空间候选预测运动矢量,则视频解码器将时间候选预测运动矢量指派到索引4。如果时间候选预测运动矢量不可用或与前四个空间候选预测运动矢量中的一者相同,则视频解码器不将所述时间候选预测运动矢量包括于候选预测运动矢量列表中。因此,在视频解码器考虑时间候选预测运动矢量(906)之后,候选预测运动矢量列表可能包括五个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量和框904处考虑的时间候选预测运动矢量)或可能包括四个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量)。如果候选预测运动矢量列表包括五个候选预测运动矢量(908,是),则视频解码器完成构建列表。
如果候选预测运动矢量列表包括四个候选预测运动矢量(908,否),则视频解码器可考虑第五空间候选预测运动矢量(910)。第五空间候选预测运动矢量可(例如)对应于候选预测运动矢量位置252E。如果位置252E处的候选预测运动矢量可用且不同于位置252A、252B、252C和252D处的候选预测运动矢量,则视频解码器可将第五空间候选预测运动矢量添加到候选预测运动矢量列表,第五空间候选预测运动矢量经指派到索引4。如果位置252E处的候选预测运动矢量不可用或并非不同于候选预测运动矢量位置252A、252B、252C和252D处的候选预测运动矢量,则视频解码器可不将位置252处的候选预测运动矢量包括于候选预测运动矢量列表中。因此在考虑第五空间候选预测运动矢量(910)之后,列表可能包括五个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量和框910处考虑的第五空间候选预测运动矢量)或可能包括四个候选预测运动矢量(框902处考虑的前四个空间候选预测运动矢量)。
如果候选预测运动矢量列表包括五个候选预测运动矢量(912,是),则视频解码器完成产生候选预测运动矢量列表。如果候选预测运动矢量列表包括四个候选预测运动矢量(912,否),则视频解码器添加人工产生的候选预测运动矢量(914)直到列表包括五个候选预测运动矢量(916,是)为止。
如果在视频解码器考虑前四个空间候选预测运动矢量之后,列表包括少于四个空间候选预测运动矢量(904,否),则视频解码器可考虑第五空间候选预测运动矢量(918)。第五空间候选预测运动矢量可(例如)对应于候选预测运动矢量位置252E。如果位置252E处的候选预测运动矢量可用且不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则视频解码器可将第五空间候选预测运动矢量添加到候选预测运动矢量列表,第五空间候选预测运动矢量经指派到下一可用索引。如果位置252E处的候选预测运动矢量不可用或并非不同于已包括于候选预测运动矢量列表中的候选预测运动矢量中的一者,则视频解码器可不将位置252E处的候选预测运动矢量包括于候选预测运动矢量列表中。视频解码器可接着考虑时间候选预测运动矢量(920)。如果时间候选预测运动矢量可用且不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则视频解码器可将所述时间候选预测运动矢量添加到候选预测运动矢量列表,所述时间候选预测运动矢量经指派到下一可用索引。如果时间候选预测运动矢量不可用或并非不同于已包括于候选预测运动矢量列表中的候选预测运动矢量中的一者,则视频解码器可不将所述时间候选预测运动矢量包括于候选预测运动矢量列表中。
如果在考虑第五空间候选预测运动矢量(框918)和时间候选预测运动矢量(框920)之后,候选预测运动矢量列表包括五个候选预测运动矢量(922,是),则视频解码器完成产生候选预测运动矢量列表。如果候选预测运动矢量列表包括少于五个候选预测运动矢量(922,否),则视频解码器添加人工产生的候选预测运动矢量(914)直到列表包括五个候选预测运动矢量(916,是)为止。
根据本申请的技术,可在空间候选预测运动矢量和时间候选预测运动矢量之后人工产生额外合并候选预测运动矢量以使合并候选预测运动矢量列表的大小固定为合并候选预测运动矢量的指定数目(例如前文图9的可行的实施方式中的五个)。额外合并候选预测运动矢量可包括示例性的经组合双向预测性合并候选预测运动矢量(候选预测运动矢量1)、经缩放双向预测性合并候选预测运动矢量(候选预测运动矢量2),和零向量Merge/AMVP候选预测运动矢量(候选预测运动矢量3)。
图10为本申请实施例中将经过组合的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。经组合双向预测性合并候选预测运动矢量可通过组合原始合并候选预测运动矢量而产生。具体来说,原始候选预测运动矢量中的两个候选预测运动矢量(其具有mvL0和refldxL0或mvL1和refldxL1)可用以产生双向预测性合并候选预测运动矢量。在图10中,两个候选预测运动矢量包括于原始合并候选预测运动矢量列表中。一候选预测运动矢量的预测类型为列表0单向预测,且另一候选预测运动矢量的预测类型为列表1单向预测。在此可行的实施方式中,mvL0_A和ref0是从列表0拾取,且mvL1_B和ref0是从列表1拾取,且接着可产生双向预测性合并候选预测运动矢量(其具有列表0中的mvL0_A和ref0以及列表1中的mvL1_B和ref0)并检查其是否不同于已包括于候选预测运动矢量列表中的候选预测运动矢量。如果其不同,则视频解码器可将双向预测性合并候选预测运动矢量包括于候选预测运动矢量列表中。
图11为本申请实施例中将经过缩放的候选运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。经缩放双向预测性合并候选预测运动矢量可通过缩放原始合并候选预测运动矢量而产生。具体来说,来自原始候选预测运动矢量的一候选预测运动矢量(其可具有mvLX和refldxLX)可用以产生双向预测性合并候选预测运动矢量。在图11的可行的实施方式中,两个候选预测运动矢量包括于原始合并候选预测运动矢量列表中。一候选预测运动矢量的预测类型为列表0单向预测,且另一候选预测运动矢量的预测类型为列表1单向预测。在此可行的实施方式中,mvL0_A和ref0可从列表0拾取,且ref0可复制到列表1中的参考索引ref0′。接着,可通过缩放具有ref0和ref0′的mvL0_A而计算mvL0′_A。缩放可取决于POC距离。接着,可产生双向预测性合并候选预测运动矢量(其具有列表0中的mvL0_A和ref0以及列表1中的mvL0′_A和ref0′)并检查其是否为重复的。如果其并非重复的,则可将其添加到合并候选预测运动矢量列表。
图12为本申请实施例中将零运动矢量添加到合并模式候选预测运动矢量列表的一种示例性示意图。零向量合并候选预测运动矢量可通过组合零向量与可经参考的参考索引而产生。如果零向量候选预测运动矢量并非重复的,则可将其添加到合并候选预测运动矢量列表。对于每一产生的合并候选预测运动矢量,运动信息可与列表中的前一候选预测运动矢量的运动信息比较。
在一种可行的实施方式中,如果新产生的候选预测运动矢量不同于已包括于候选预测运动矢量列表中的候选预测运动矢量,则将所产生的候选预测运动矢量添加到合并候选预测运动矢量列表。确定候选预测运动矢量是否不同于已包括于候选预测运动矢量列表中的候选预测运动矢量的过程有时称作修剪(pruning)。通过修剪,每一新产生的候选预测运动矢量可与列表中的现有候选预测运动矢量比较。在一些可行的实施方式中,修剪操作可包括比较一个或多个新候选预测运动矢量与已在候选预测运动矢量列表中的候选预测运动矢量和不添加为已在候选预测运动矢量列表中的候选预测运动矢量的重复的新候选预测运动矢量。在另一些可行的实施方式中,修剪操作可包括将一个或多个新候选预测运动矢量添加到候选预测运动矢量列表且稍后从所述列表移除重复候选预测运动矢量。
在本申请的一种可行的实施方式中,在帧间预测中,对待处理图像块的运动信息的预测方法,包括:获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;根据所述目标运动信息,预测所述待处理图像块的运动信息。
在上述图5-7、图9-12等各种可行的实施方式中,空间候选预测模式示例性的来自图8所示的252A至252E的五个位置,即与待处理图像块邻接的位置。在上述图5-7、图9-12等各种可行的实施方式的基础上,在一些可行的实施方式中,空间候选预测模式示例性的还可以包括与待处理图像块相距预设距离以内,但不与待处理图像块邻接的位置。示例性的,该类位置可以如图13中的252F至252J所示。应理解,图13为本申请实施例中编码单元及与其关联的相邻位置图像块的一种示例性示意图。与所待处理图像块处于同一图像帧且处理所述待处理图像块时已完成重建的不与所述待处理图像块相邻的图像块所述的位置均在此类位置的范围内。
不妨将该类位置称为空域非邻接图像块,不妨设其中第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块可用,其中“可用”的物理意义可以参考前文所述,不再赘述。同时,不妨设,所述空间候选预测模式取自图8所示的位置的预测模式时,按照如下顺序检查并构建候选预测运动模式列表,应理解,其中,检查包括前文提到的“可用”的检查以及修剪的过程,不再赘述。所述候选预测模式列表,包括:252A位置图像块的运动矢量、252B位置图像块的运动矢量、252C位置图像块的运动矢量、252D位置图像块的运动矢量、由选择性时域运动矢量预测(ATMVP)技术获得的运动矢量、252E位置图像块的运动矢量、由时空运动矢量预测(STMVP)技术获得的运动矢量。其中,ATMVP技术和STMVP技术在JVET-F1001-v2的第2.3.1.1节和第2.3.1.2节中有详细记录,本文将JVET-F1001-v2全文引入于此,不再赘述。应理解,示例性的,所述候选预测模式列表包括以上7个预测运动矢量,根据不同的具体实施方式,所述候选预测模式列表所包含的预测运动矢量的个数可能少于7个,比如取前5个构成所述候选预测模式列表,还可以将前文所述的图10-12中各可行的实施方式所构建的运动矢量加入到所述候选预测模式列表中,使其包含更多的预测运动矢量。在一种可行的实施方式中,可以将上述第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块加入到所述候选预测模式列表中,作为待处理图像块的预测运动矢量。进一步的,不妨设252A位置图像块的运动矢量、252B位置图像块的运动矢量、252C位置图像块的运动矢量、252D位置图像块的运动矢量、由ATMVP技术获得的运动矢量、252E位置图像块的运动矢量、由STMVP技术获得的运动矢量分别为MVL、MVU、MVUR、MVDL、MVA、MVUL、MVS,设第一空域非邻接图像块、第二空域非邻接图像块和第三空域非邻接图像块的运动矢量分别为MV0、MV1、MV2,则可以按照如下顺序检查并构建候选预测运动矢量列表:
示例1:MVL、MVU、MVUR、MVDL、MV0、MV1、MV2、MVA、MVUL、MVS;
示例2:MVL、MVU、MVUR、MVDL、MVA、MV0、MV1、MV2、MVUL、MVS;
示例3:MVL、MVU、MVUR、MVDL、MVA、MVUL、MV0、MV1、MV2、MVS;
示例4:MVL、MVU、MVUR、MVDL、MVA、MVUL、MVS、MV0、MV1、MV2;
示例5:MVL、MVU、MVUR、MVDL、MVA、MV0、MVUL、MV1、MVS、MV2;
示例6:MVL、MVU、MVUR、MVDL、MVA、MV0、MVUL、MV1、MV2、MVS;
示例7:MVL、MVU、MVUR、MVDL、MVA、MVUL、MV0、MV1、MV2、MVS;
应理解,上述候选预测运动矢量列表可以用于上文所述的Merge模式或者AMVP模式,或者其它获取待处理图像块的预测运动矢量的预测模式中,可以用于编码端,也可以和对应的编码端保持一致地用于解码端,不作限定,同时,候选预测运动矢量列表中候选预测运动矢量的数量也是预设的,并且在编解码端保持一致,具体的数量不做限定。
应理解,示例1至示例7示例性地给出了几种可行的候选预测运动矢量列表的组成方式,基于空域非邻接图像块的运动矢量,还可以有其他的候选预测运动矢量列表的组成方式以及列表中候选预测运动矢量的排列方式,不作限定。
应理解,不同的空域非邻接图像块的运动矢量(比如,MV0、MV1、MV2)间同样可以具有不同的排列方式,将在后面的实施方式中进行详细描述。
相对于仅采用图8所述的空间候选预测模式的可行的实施方式,同时采用空域非邻接图像块的运动矢量作为待处理块的候选预测模式,利用了更多的空域先验编码信息,提高了编码性能。
图14为本申请实施例中运动矢量预测方法的一种示例性流程图。一种图像块的运动信息的预测方法,用于帧间预测,包括以下步骤:
S1401、获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块。
具体的,如图15所示,图15为本申请实施例中编码单元及与其关联的相邻位置图像块的又一种示例性示意图,在编码或解码待处理图像块之前,该多个空域邻近的图像块已完成重建,即该多个空域邻近的图像块的运动矢量已经确定。当任一该多个空域邻近的图像块不可用时,即为帧内编码块或者超出图像、条带、片边界等情况时,可以在后续操作中排除该图像块,或者,按照预设的规则为该图像块赋予运动矢量,在后续操作中依然使用该图像块。显然,该多个空域邻近的图像块中包括不与该待处理图像块邻接的已确定运动矢量图像块,比如,图15中标记为6-27的像素集合所在的图像块。
在一种可行的实施方式中,图15中标记为1-27的像素集合所在的图像块并不代表前文所述的PU或者CU。下面对图15示例性的进行详细说明。其中,标记为C的大矩形块为待处理图像块。不妨将标记为1-27的小矩形设为基本像素单元,大矩形的长为w个基本像素单元,高为h个基本像素单元,w和h均为正整数,每个小矩形所在的图像块的尺寸和待处理图像块的尺寸相同,基本像素单元可以为一个像素点,也可以为一个4x4的像素集合,也可以为一个4x2的像素集合,也可以为其他大小的像素集合,不作限定。
以待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向,在待处理图像块所在的图像平面上建立虚拟坐标系,则从标记1到标记27,各个小矩形的坐标位置分别为(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
应理解,图15展示了本申请实施例中编码单元及与其关联的相邻位置图像块的一种示例性的可行的实施方式,空域邻近的图像块的数量可以多于27个,也可以少于27个,不作限定。
获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息在图15所对应的实施方式中,即为获取标记为1-27的基本像素单元中的至少一个位置的基本像素单元的运动信息。
相对于仅采用图8所述的空间候选预测模式的可行的实施方式,同时采用空域非邻接图像块的运动矢量作为待处理块的候选预测模式,利用了更多的空域先验编码信息,提高了编码性能。
具体的,获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息的方式,包括:
在一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。在一些视频压缩标准中,图像是以CTU作为划分单元进行编码的,CTU也称为最大编码单元(LCU),CTU会被进一步划分为CU而进行编码。
具体的,不妨设CTU的长为2倍w,高为2倍h,待处理图像块C位于一个CTU的左上角,则在图15中标记为27、23、19、16、17、21、25的基本像素单元所在的已确定运动矢量图像块所在的CTU的行数和待处理图像块所在CTU的行数为2。当N位2时,标记为27、23、19、16、17、21、25的基本像素单元的运动矢量不能作为待处理图像块的预测运动矢量。
在一些可行的实施方式中,同理,标记为24、20、25、15的基本像素单元的运动矢量也不能作为待处理图像块的预测运动矢量。
在一些可行的实施方式中,同理,标记为18、22、26的基本像素单元的运动矢量也不能作为待处理图像块的预测运动矢量。
对基本像素单元的位置进行一定范围内的限定,可以避免运动矢量的过度存储或者存取操作,在保持一定的编码性能的同时,提高了数据的处理效率。
在一种可行的实施方式中,获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息的顺序,包括:
不妨设,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i为正整数,i不大于M。
具体的,参考图15,以待处理图像块C为中心,标记为3、2、5、1、4的基本像素单元所在的已确定运动矢量图像块为第一组,具有组号1;标记为13、8、7、10、14、11、6、9、12的基本像素单元所在的已确定运动矢量图像块为第二组,具有组号2;标记为25、21、17、16、19、23、27、24、20、15、18、22、26的基本像素单元所在的已确定运动矢量图像块为第三组,具有组号3。
所述获取所述待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息。即,按照第一组,第二组,第三组的顺序依次获取各基本像素单元所在的已确定运动矢量图像块的运动信息。
在一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述依次获取所述待获取的已确定运动矢量图像块的运动信息,包括:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
具体的,在同一组内,比较各基本像素单元到待处理图像块中预设基本像素单元的距离,距离越近的基本像素单元所在的已确定运动矢量图像块的运动信息越先获取。不妨设,待处理图像块中的预设基本像素单元位于该图像块的右下角,即虚拟坐标系的原点位置,对于第二组中的运动信息的获取,包括:
1)计算各基本像素单元到原点位置的距离,距离的计算方式为各基本像素单元到原点位置的水平坐标绝对值和竖直坐标绝对值之和。应理解,当预设基本像素单元不为原点时,距离的计算方式为各基本像素单元和预设基本像素单元的水平坐标差值的绝对值和竖直坐标差值的绝对值之和。
其中,标记为13的基本像素单元的距离D13为w+1+2xh,同理,D8为1+2xh,D7为2xh,D10为w+2xh,D14为2xw+2xh,D11为2xw+h,D9为2xw,D6为2xw+1,D12为2xw+h+1。不妨设,w和h相等,则D13为3xh+1,D8为2xh+1,D7为2xh,D10为3xh,D14为4xh,D11为3xh,D9为2xh,D6为2xh+1,D12为3xh+1。
2)按照距离的从近及远依次获取所述待获取的已确定运动矢量图像块的运动信息。其中,当距离相同时按照预测的规则(比如按照从左到右,从上到下的顺序,只需要编解码端一致即可,不作限定),依次获取所述待获取的已确定运动矢量图像块的运动信息。
示例性的,第二组中组内运动信息的获取顺序可以为标记为6、7、9、8、10、11、12、13、14的基本像素单元所在的已确定运动矢量图像块的运动信息。
应理解,根据预设的规则,可以交换距离相同的基本像素单元所在的已确定运动矢量图像块的运动信息的获取顺序,即也可以为标记为7、6、9、8、11、10、12、13、14的基本像素单元所在的已确定运动矢量图像块的运动信息。还可以存在其他的预设规则和对应的获取顺序,不作限定。
按照已确定运动矢量图像块的运动信息与待处理图像块的运动信息的相关性,获取已确定运动矢量图像块的运动信息对待处理图像块的运动信息进行预测,提高了编码的效率。
结合上述两种可行的实施方式,参考图15,示例性的,一种空间候选预测运动矢量的获取顺序为按照标记为1、2、3、4、5、6、7、8、9、10、11、12、13、14、15、16、17、18、19、20、21、22、23、24、25、26、27的基本像素单元的获取顺序依次获取该基本像素单元所在的已确定运动矢量图像块的运动信息。
应理解,示例性的,各候选预测运动矢量的表示方式采用变长编码方式时,顺序靠前的候选预测运动矢量会使用较短的码字编码,顺序靠后的候选预测运动矢量会使用较长的码字编码。因此,恰当地决定候选预测运动矢量的获取顺序有利于选择更好的码字编码策略,提高编码性能。
在一种可行的实施方式中,获取的空间候选预测运动矢量的数量是预设的且编解码端保持一致的,或者是通过码流传输的,即取上述各种可行的实施方式中规定的获取顺序中的前N个运动矢量作为获取的空间候选预测运动矢量,其中N为预设值或者对于解码端来说从码流中解码得到。
在一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,还包括:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。在另一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,还包括:确定所述待获取的已确定运动矢量图像块的运动信息可用。这两种可行的实施方式对应前文所述的pruning的过程,以及判断已确定运动矢量图像块是否可用的过程,不再赘述。
S1402、获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
当步骤S1401中获取的至少一个已确定运动矢量图像块的运动信息单独作为待处理图像块的候选预测运动信息时,第一标识信息表示从获取的所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;当步骤S1401中获取的至少一个已确定运动矢量图像块的运动信息和其他运动信息(比如前文所述的时域运动信息、人工合成的运动信息,零运动信息等)一起作为待处理图像块的候选预测运动信息时,第一标识信息表示从包括获取的所述至少一个已确定运动矢量图像块的运动信息在内的全部候选预测运动信息中确定目标运动信息。其中,目标运动信息即为最终用于处理所述待处理图像块的预测运动信息。
在一种可行的实施方式中,从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,包括:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。比如,按照前文中人工合成运动矢量的方法,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息合成为所述目标运动信息。
在一种可行的实施方式中,该步骤用于编码端,用于编码所述待处理图像块,所述获取第一标识信息,包括:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小,具体的依据码率-失真代价准则,获取最优的候选预测运动矢量的各种可行的实施方式可以参见前文所述,不再赘述。同时,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,还包括:将所述第一标识信息编入码流。
在一种可行的实施方式中,该步骤用于解码端,用于解码所述待处理图像块,所述获取第一标识信息,包括:从码流中解析所述第一标识信息。同时,在所述从码流中解析所述第一标识信息之后,还包括:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。解码端的步骤是编码端的逆步骤,和编码端保持一致即可,不再赘述。
S1403、根据所述目标运动信息,预测所述待处理图像块的运动信息。
在一种可行的实施方式中,根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:将所述目标运动信息作为所述待处理图像块的运动信息。该实施方式对应于前文所述的Merge预测模式,将目标运动信息直接作为待处理图像块的运动信息,不需要编码或解码(对应于编码端或解码端)运动矢量预测残差值,即MVD,不再赘述。
在一种可行的实施方式中,所述运动信息包括运动矢量,所述根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。该实施方式对应于前文所述的AMVP预测模式,在将目标运动信息作为待处理图像块的预测运动信息的同时,需要编码或解码(对应于编码端或解码端)MVD,将预测运动信息中的预测运动矢量和MVD相加,作为待处理图像块的运动矢量,不再赘述。
应理解,如前文所述,运动信息中还可以包括参考帧的指示信息,其处理方式也按照前文所述,不再赘述。
应理解,在编码端,当使用码率-失真代价准则确定待处理图像块的运动信息时,步骤S1401需要在步骤S1402之前完成,即将获取的待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息作为候选预测运动信息的一个集合(或者一个子集合),从中选择一个候选者作为目标运动信息。
在解码端,步骤S1401和步骤S1402没有时序上的固定先后顺序。在一种可行的实施方式中,可以在S1401获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,即将候选预测运动信息集合构建完成之后,按照S1402从码流中解析的索引值,从构建的候选预测运动信息集合中获取目标运动信息。在一种可行的实施方式中,可以先按照S1402从码流中解析出索引值,再根据索引值获取所要构建的候选预测运动信息集合中候选预测运动信息的个数,当获取的候选预测运动信息的个数足以通过索引值确定目标运动信息时,即在候选预测运动信息集合中目标运动信息以及在集合中排在目标运动信息之前的候选预测运动信息均已构建完成后,停止构建集合中其他的候选预测运动信息。在一种可行的实施方式中,S1401和S1402还可以并行进行。
图16为本申请实施例中的运动矢量预测装置1600的一种示意性框图。一种图像块的运动信息的预测装置,用于帧间预测,包括:
运动信息获取单元1601,用于获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;
标识信息获取单元1602,用于获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;
预测单元1603,用于根据所述目标运动信息,预测所述待处理图像块的运动信息。
在一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
在一种可行的实施方式中,N为2。
在一种可行的实施方式中,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述运动信息获取单元1601具体用于:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向。
在一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述运动信息获取单元1601具体用于:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
在一种可行的实施方式中,所述运动信息获取单元1601具体用于:依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
在一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述运动信息获取单元1601还用于:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
在一种可行的实施方式中,所述运动信息获取单元1601具体用于:获取预设个数的所述已确定运动矢量图像块的运动信息。
在一种可行的实施方式中,所述预测单元1603具体用于:将所述目标运动信息作为所述待处理图像块的运动信息。
在一种可行的实施方式中,所述标识信息获取单元1602还用于获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;所述预测单元1603具体用于将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
在一种可行的实施方式中,所述装置1600用于解码所述待处理图像块,所述标识信息获取单元1602具体用于:从码流中解析所述第一标识信息。
在一种可行的实施方式中,在所述从码流中解析所述第一标识信息之后,所述标识信息获取单元1602还用于:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
在一种可行的实施方式中,所述装置1600用于编码所述待处理图像块,所述标识信息获取单元1602具体用于:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
在一种可行的实施方式中,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述标识信息获取单元1602还用于:将所述第一标识信息编入码流。
在一种可行的实施方式中,所述标识信息获取单元1602具体用于:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
相对于仅采用图8所述的空间候选预测模式的可行的实施方式,同时采用空域非邻接图像块的运动矢量作为待处理块的候选预测模式,利用了更多的空域先验编码信息,提高了编码性能。
应理解,在本发明实施例中,已确定运动矢量图像块为在预测待处理图像块时,运动矢量已经确定的图像块,可以是已经完成了重建的图像块或者还未完成重建的图像块,不作限定。
图17为本申请实施例中的运动矢量预测装置1700的另一种示意性框图。一种图像块的运动信息的预测装置,用于帧间预测,包括:处理器1701和耦合于所述处理器的存储器1702;
所述处理器1701用于:获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;根据所述目标运动信息,预测所述待处理图像块的运动信息。
在一种可行的实施方式中,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
在一种可行的实施方式中,N为2。
在一种可行的实施方式中,所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述处理器1701具体用于:按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向。
在一种可行的实施方式中,当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述处理器1701具体用于:按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
在一种可行的实施方式中,所述处理器1701具体用于:依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
在一种可行的实施方式中,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述处理器1701还用于:确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
在一种可行的实施方式中,所述处理器1701具体用于:获取预设个数的所述已确定运动矢量图像块的运动信息。
在一种可行的实施方式中,所述处理器1701具体用于:将所述目标运动信息作为所述待处理图像块的运动信息。
在一种可行的实施方式中,所述处理器1701还用于:获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
在一种可行的实施方式中,所述装置1700用于解码所述待处理图像块,所述处理器1701具体用于:从码流中解析所述第一标识信息。
在一种可行的实施方式中,在所述从码流中解析所述第一标识信息之后,所述处理器1701还用于:根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
在一种可行的实施方式中,所述装置1700用于编码所述待处理图像块,所述处理器1701具体用于:从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
在一种可行的实施方式中,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述处理器1701还用于:将所述第一标识信息编入码流。
在一种可行的实施方式中,所述处理器1701具体用于:将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
相对于仅采用图8所述的空间候选预测模式的可行的实施方式,同时采用空域非邻接图像块的运动矢量作为待处理块的候选预测模式,利用了更多的空域先验编码信息,提高了编码性能。
虽然已关于视频编码器20及视频解码器30描述本申请的特定方面,但应理解,本申请的技术可通过许多其它视频编码和/或编码单元、处理器、处理单元、例如编码器/解码器(CODEC)的基于硬件的编码单元及类似者来应用。此外,应理解,仅作为可行的实施方式而提供关于图5所展示及描述的步骤。即,图5的可行的实施方式中所展示的步骤无需必定按图5中所展示的次序执行,且可执行更少、额外或替代步骤。
此外,应理解,取决于可行的实施方式,本文中所描述的方法中的任一者的特定动作或事件可按不同序列执行,可经添加、合并或一起省去(例如,并非所有所描述的动作或事件为实践方法所必要的)。此外,在特定可行的实施方式中,动作或事件可(例如)经由多线程处理、中断处理或多个处理器来同时而非顺序地执行。另外,虽然出于清楚的目的将本申请的特定方面描述为通过单一模块或单元执行,但应理解,本申请的技术可通过与视频解码器相关联的单元或模块的组合执行。
在一个或多个可行的实施方式中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么功能可作为一个或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体来传输,且通过基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体或通信媒体,计算机可读存储媒体对应于例如数据存储媒体的有形媒体,通信媒体包含促进计算机程序(例如)根据通信协议从一处传送到另一处的任何媒体。
以这个方式,计算机可读媒体示例性地可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或多个计算机或一个或多个处理器存取以检索用于实施本申请中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为可行的实施方式而非限制,此计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于存储呈指令或数据结构的形式的所要代码且可由计算机存取的任何其它媒体。同样,任何连接可适当地称作计算机可读媒体。例如,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL),或例如红外线、无线电及微波的无线技术而从网站、服务器或其它远端源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL,或例如红外线、无线电及微波的无线技术包含于媒体的定义中。
然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而替代地针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(CD)、雷射光盘、光盘、数字多功能光盘(DVD)、软性磁盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过雷射以光学方式再现数据。以上各物的组合也应包含于计算机可读媒体的范围内。
可通过例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它等效集成或离散逻辑电路的一个或多个处理器来执行指令。因此,如本文中所使用,术语“处理器”可指前述结构或适于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,可将本文所描述的功能性提供于经配置以用于编码及解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。同样,技术可完全实施于一个或多个电路或逻辑元件中。
本申请的技术可实施于广泛多种装置或设备中,包含无线手机、集成电路(IC)或IC的集合(例如,芯片组)。本申请中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。更确切来说,如前文所描述,各种单元可组合于编码解码器硬件单元中或由互操作的硬件单元(包含如前文所描述的一个或多个处理器)结合合适软件和/或固件的集合来提供。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。

Claims (39)

1.一种图像块的运动信息的预测方法,其特征在于,所述运动信息用于帧间预测,包括:
获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;
获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;
根据所述目标运动信息,预测所述待处理图像块的运动信息;
所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述获取所述待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:
按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向;
当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述依次获取所述待获取的已确定运动矢量图像块的运动信息,包括:
按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
2.根据权利要求1所述的方法,其特征在于,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:
所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
3.根据权利要求2所述的方法,其特征在于,N为2。
4.根据权利要求1所述的方法,其特征在于,所述获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:
依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
5.根据权利要求1至4任一项所述的方法,其特征在于,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,还包括:
确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,包括:
获取预设个数的所述已确定运动矢量图像块的运动信息。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:
将所述目标运动信息作为所述待处理图像块的运动信息。
8.根据权利要求1至4任一项所述的方法,其特征在于,所述运动信息包括运动矢量,所述根据所述目标运动信息,预测所述待处理图像块的运动信息,包括:
获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;
将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
9.根据权利要求1至4任一项所述的方法,其特征在于,所述方法用于解码所述待处理图像块,所述获取第一标识信息,包括:
从码流中解析所述第一标识信息。
10.根据权利要求9所述的方法,其特征在于,在所述从码流中解析所述第一标识信息之后,还包括:
根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
11.根据权利要求1至4任一项所述的方法,其特征在于,所述方法用于编码所述待处理图像块,所述获取第一标识信息,包括:
从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
12.根据权利要求11所述的方法,其特征在于,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,还包括:
将所述第一标识信息编入码流。
13.根据权利要求11所述的方法,其特征在于,所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,包括:
将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
14.一种图像块的运动信息的预测装置,其特征在于,所述运动信息用于帧间预测,包括:
运动信息获取单元,用于获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;
标识信息获取单元,用于获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;
预测单元,用于根据所述目标运动信息,预测所述待处理图像块的运动信息;
所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述运动信息获取单元具体用于:
按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向;
当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述运动信息获取单元具体用于:
按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
15.根据权利要求14所述的装置,其特征在于,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:
所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
16.根据权利要求15所述的装置,其特征在于,包括:N为2。
17.根据权利要求14所述的装置,其特征在于,所述运动信息获取单元具体用于:
依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
18.根据权利要求14至17任一项所述的装置,其特征在于,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述运动信息获取单元还用于:
确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
19.根据权利要求14至17任一项所述的装置,其特征在于,所述运动信息获取单元具体用于:
获取预设个数的所述已确定运动矢量图像块的运动信息。
20.根据权利要求14至17任一项所述的装置,其特征在于,所述预测单元具体用于:
将所述目标运动信息作为所述待处理图像块的运动信息。
21.根据权利要求14至17任一项所述的装置,其特征在于,包括:
所述标识信息获取单元还用于获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;
所述预测单元具体用于将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
22.根据权利要求14至17任一项所述的装置,其特征在于,所述装置用于解码所述待处理图像块,所述标识信息获取单元具体用于:
从码流中解析所述第一标识信息。
23.根据权利要求22所述的装置,其特征在于,在所述从码流中解析所述第一标识信息之后,所述标识信息获取单元还用于:
根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
24.根据权利要求14至17任一项所述的装置,其特征在于,所述装置用于编码所述待处理图像块,所述标识信息获取单元具体用于:
从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
25.根据权利要求24所述的装置,其特征在于,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述标识信息获取单元还用于:
将所述第一标识信息编入码流。
26.根据权利要求24所述的装置,其特征在于,所述标识信息获取单元具体用于:
将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
27.一种图像块的运动信息的预测装置,其特征在于,所述运动信息用于帧间预测,包括:
处理器和耦合于所述处理器的存储器;
所述处理器用于:
获取待处理图像块所在图像中的至少一个已确定运动矢量图像块的运动信息,所述至少一个已确定运动矢量图像块包括与所述待处理图像块不邻接的已确定运动矢量图像块;
获取第一标识信息,所述第一标识信息用于从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息;
根据所述目标运动信息,预测所述待处理图像块的运动信息;
所述待处理图像块所在的图像包含M组所述已确定运动矢量图像块,每组所述已确定运动矢量图像块具有一个组号,所述待处理图像块的宽为w,高为h,所述处理器具体用于:
按照待获取的所述已确定运动矢量图像块具有的所述组号的从小到大的顺序,依次获取所述待获取的已确定运动矢量图像块的运动信息;其中,具有所述组号为i的已确定运动矢量图像块,包括虚拟坐标系中以下坐标位置的像素集合基本单元所在的已确定运动矢量图像块:(-i×w,-i×h),(1+m×w,-i×h),(-m×w,-i×h),(-i×w,-m×h),(-i×w,m×h+1),其中,m取从0到i-1范围内的所有整数,M、i、w、h为正整数,i不大于M,所述虚拟坐标系以所述待处理图像块的右下角像素集合基本单元在所述图像中的位置为原点,以所述待处理图像块的底边界所在的直线为水平坐标轴,向右为水平正方向,以所述待处理图像块的右边界所在的直线为竖直坐标轴,向下为竖直正方向;
当至少两个所述待获取的已确定运动矢量图像块具有的所述组号相同时,所述处理器具体用于:
按照所述至少两个待获取的已确定运动矢量图像块到所述原点的从短到长的距离,依次获取所述至少两个待获取的已确定运动矢量图像块的运动信息,其中,所述距离为所述待获取的已确定运动矢量图像块中一个预设位置像素集合基本单元在所述虚拟坐标系中的水平坐标绝对值和竖直坐标绝对值之和。
28.根据权利要求27所述的装置,其特征在于,所述待处理图像块所在的图像由至少两行编码树单元(CTU)构成,所述待处理图像块的尺寸不大于所述编码树单元的尺寸,包括:
所述待处理图像块所在的编码树单元在所述图像中所在的行数与所述已确定运动矢量图像块所在的编码树单元在所述图像中所在的行数相差小于N行,其中,N为大于1的整数。
29.根据权利要求28所述的装置,其特征在于,包括:N为2。
30.根据权利要求27所述的装置,其特征在于,所述处理器具体用于:
依次获取在所述虚拟坐标系中位于如下坐标位置的像素集合基本单元所在的已确定运动矢量图像块的运动信息:(-w,0),(0,-h),(1,-h),(-w,1),(-w,-h),(-2×w,0),(0,-2×h),(1,-2×h),(-2×w,1),(-w,-2×h),(-2×w,-h),(-2×w,h+1),(w+1,-2×h),(-2×w,-2×h),(-3×w,0),(0,-3×h),(1,-3×h),(-3×w,1),(-w,-3×h),(-3×w,-h),(w+1,-3×h),(-3×w,h+1),(-2×w,-3×h),(-3×w,-2×h),(2×w+1,-3×h),(-3×w,2×h+1),(-3×w,-3×h)。
31.根据权利要求27至30任一项所述的装置,其特征在于,在每次所述获取所述待获取的已确定运动矢量图像块的运动信息之前,所述处理器还用于:
确定所述待获取的已确定运动矢量图像块的运动信息与所有已获取的已确定运动矢量图像块的运动信息不相同。
32.根据权利要求27至30任一项所述的装置,其特征在于,所述处理器具体用于:
获取预设个数的所述已确定运动矢量图像块的运动信息。
33.根据权利要求27至30任一项所述的装置,其特征在于,所述处理器具体用于:
将所述目标运动信息作为所述待处理图像块的运动信息。
34.根据权利要求27至30任一项所述的装置,其特征在于,包括:
所述处理器还用于:
获取第二标识信息,所述第二标识信息用于指示所述待处理图像块的运动矢量预测残差值;
将所述目标运动信息中的运动矢量和所述运动矢量预测残差值之和,作为所述待处理图像块的运动矢量。
35.根据权利要求27至30任一项所述的装置,其特征在于,所述装置用于解码所述待处理图像块,所述处理器具体用于:
从码流中解析所述第一标识信息。
36.根据权利要求35所述的装置,其特征在于,在所述从码流中解析所述第一标识信息之后,所述处理器还用于:
根据所述第一标识信息,从所述至少一个已确定运动矢量图像块的运动信息中确定目标运动信息。
37.根据权利要求27至30任一项所述的装置,其特征在于,所述装置用于编码所述待处理图像块,所述处理器具体用于:
从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息,其中,所述目标运动信息编码所述待处理图像块的码率失真代价最小。
38.根据权利要求37所述的装置,其特征在于,在所述从所述至少一个已确定运动矢量图像块的运动信息中确定所述目标运动信息之后,所述处理器还用于:
将所述第一标识信息编入码流。
39.根据权利要求36所述的装置,其特征在于,所述处理器具体用于:
将所述至少一个已确定运动矢量图像块的运动信息中的一个作为所述目标运动信息;或者,将所述至少一个已确定运动矢量图像块的运动信息中的至少两个运动信息的组合作为所述目标运动信息。
CN201780089962.0A 2017-06-30 2017-06-30 一种帧间预测的方法及装置 Active CN110546956B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/091298 WO2019000443A1 (zh) 2017-06-30 2017-06-30 一种帧间预测的方法及装置

Publications (2)

Publication Number Publication Date
CN110546956A CN110546956A (zh) 2019-12-06
CN110546956B true CN110546956B (zh) 2021-12-28

Family

ID=64741956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780089962.0A Active CN110546956B (zh) 2017-06-30 2017-06-30 一种帧间预测的方法及装置

Country Status (4)

Country Link
US (1) US11197018B2 (zh)
KR (1) KR20200012957A (zh)
CN (1) CN110546956B (zh)
WO (1) WO2019000443A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111163322B (zh) * 2020-01-08 2022-08-30 绍兴文理学院 对基于历史运动矢量的索引进行映射的编码及解码方法
CN113141507B (zh) * 2020-01-17 2022-07-15 腾讯科技(深圳)有限公司 视频编解码中的运动信息列表构建方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333184A (ja) * 1999-03-17 2000-11-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法,動きベクトル検出装置,及びデータ記録媒体
CN101911707A (zh) * 2008-01-23 2010-12-08 索尼公司 编码设备、编码方法、解码设备和解码方法
CN103370940A (zh) * 2010-12-14 2013-10-23 吴秀美 帧间预测编码的运动画面的解码方法
CN103404149A (zh) * 2011-03-11 2013-11-20 索尼公司 图像处理装置以及方法
WO2014058796A1 (en) * 2012-10-08 2014-04-17 Google Inc Method and apparatus for video coding using reference motion vectors
CN103841426A (zh) * 2012-10-08 2014-06-04 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8909498D0 (en) * 1989-04-26 1989-06-14 British Telecomm Motion estimator
KR100324608B1 (ko) * 1996-05-28 2002-04-17 모리시타 요이찌 화상예측부호화장치와방법,화상예측복호화장치와방법,및기록매체
US6519287B1 (en) * 1998-07-13 2003-02-11 Motorola, Inc. Method and apparatus for encoding and decoding video signals by using storage and retrieval of motion vectors
KR100680452B1 (ko) * 2000-02-22 2007-02-08 주식회사 팬택앤큐리텔 움직임 벡터 메모리의 갱신방법 및 장치
US7003035B2 (en) * 2002-01-25 2006-02-21 Microsoft Corporation Video coding methods and apparatuses
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US8503530B2 (en) * 2004-05-27 2013-08-06 Zhourong Miao Temporal classified filtering for video compression
CN101090491B (zh) * 2006-06-16 2016-05-18 香港科技大学 用于视频压缩的增强的基于块的运动估计算法
KR101356734B1 (ko) * 2007-01-03 2014-02-05 삼성전자주식회사 움직임 벡터 트랙킹을 이용한 영상의 부호화, 복호화 방법및 장치
US8160149B2 (en) * 2007-04-03 2012-04-17 Gary Demos Flowfield motion compensation for video compression
US8693541B2 (en) * 2007-05-24 2014-04-08 Samsung Electronics Co., Ltd System and method of providing motion estimation
JP4886850B2 (ja) * 2007-06-28 2012-02-29 パナソニック株式会社 画像処理装置、画像処理方法、プログラム
US8265144B2 (en) * 2007-06-30 2012-09-11 Microsoft Corporation Innovations in video decoder implementations
JP5286805B2 (ja) * 2008-01-31 2013-09-11 沖電気工業株式会社 動きベクトル検出装置及び方法、動画像符号化装置及び方法、並びに、動画像復号化装置及び方法
US8098733B2 (en) * 2008-03-10 2012-01-17 Neomagic Corp. Multi-directional motion estimation using parallel processors and pre-computed search-strategy offset tables
JP5012647B2 (ja) * 2008-04-30 2012-08-29 ソニー株式会社 画像処理装置およびその方法、並びにプログラム
US20100103323A1 (en) * 2008-10-24 2010-04-29 Ati Technologies Ulc Method, apparatus and software for determining motion vectors
KR20120016991A (ko) 2010-08-17 2012-02-27 오수미 인터 프리딕션 방법
CA2806511C (en) * 2010-09-30 2018-09-04 Panasonic Corporation Decoding and encoding according to a prediction mode determined from multiple estimated prediction modes
US9380314B2 (en) * 2010-12-20 2016-06-28 Texas Instruments Incorporated Pixel retrieval for frame reconstruction
US8902359B1 (en) * 2011-03-08 2014-12-02 Marvell International Ltd. Processor implemented systems and methods for handling of occlusion for frame rate upconversion
CA2841921C (en) 2011-06-14 2021-01-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding motion information and method and apparatus for decoding same
EP3425805B1 (en) * 2011-07-15 2022-12-07 GE Video Compression, LLC Sample array coding for low-delay
KR102498289B1 (ko) 2011-09-09 2023-02-09 엘지전자 주식회사 인터 예측 방법 및 그 장치
JP5849681B2 (ja) * 2011-12-16 2016-02-03 富士通株式会社 符号化装置、復号装置、符号化方法、復号方法、符号化プログラム、及び復号プログラム
CN108322744B (zh) * 2012-01-31 2022-08-30 Vid拓展公司 用于可缩放的高效视频译码(hevc)的参考图片集(rps)信令
JP5514338B2 (ja) * 2012-04-11 2014-06-04 シャープ株式会社 映像処理装置、映像処理方法、テレビジョン受像機、プログラム、及び記録媒体
KR20140124920A (ko) 2013-04-15 2014-10-28 인텔렉추얼디스커버리 주식회사 움직임 벡터 예측을 이용한 비디오 부호화/복호화 방법 및 장치
CN103338372A (zh) * 2013-06-15 2013-10-02 浙江大学 一种视频处理方法及装置
WO2015010317A1 (zh) * 2013-07-26 2015-01-29 北京大学深圳研究生院 一种基于p帧的多假设运动补偿方法
CN104427345B (zh) * 2013-09-11 2019-01-08 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
JP6397421B2 (ja) * 2013-10-08 2018-09-26 シャープ株式会社 画像復号装置及び画像符号化装置
JP6149707B2 (ja) * 2013-11-25 2017-06-21 富士通株式会社 動画像符号化装置、動画像符号化方法、動画像符号化プログラム、及び動画像撮影装置
US10142647B2 (en) * 2014-11-13 2018-11-27 Google Llc Alternating block constrained decision mode coding
US11477477B2 (en) * 2015-01-26 2022-10-18 Qualcomm Incorporated Sub-prediction unit based advanced temporal motion vector prediction
WO2016175549A1 (ko) * 2015-04-27 2016-11-03 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
WO2016195460A1 (ko) * 2015-06-05 2016-12-08 한양대학교 산학협력단 화면 내 예측에 대한 부호화/복호화 방법 및 장치
JPWO2017068856A1 (ja) * 2015-10-21 2018-08-09 シャープ株式会社 予測画像生成装置、画像復号装置および画像符号化装置
US10491906B2 (en) * 2015-11-05 2019-11-26 Mediatek Inc. Method and apparatus for block prediction using variable block-size in image compression
US10368073B2 (en) * 2015-12-07 2019-07-30 Qualcomm Incorporated Multi-region search range for block prediction mode for display stream compression (DSC)
US10306258B2 (en) * 2016-01-29 2019-05-28 Google Llc Last frame motion vector partitioning
US10462457B2 (en) * 2016-01-29 2019-10-29 Google Llc Dynamic reference motion vector coding mode
US10506196B2 (en) * 2017-04-01 2019-12-10 Intel Corporation 360 neighbor-based quality selector, range adjuster, viewport manager, and motion estimator for graphics

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000333184A (ja) * 1999-03-17 2000-11-30 Matsushita Electric Ind Co Ltd 動きベクトル検出方法,動きベクトル検出装置,及びデータ記録媒体
CN101911707A (zh) * 2008-01-23 2010-12-08 索尼公司 编码设备、编码方法、解码设备和解码方法
CN103370940A (zh) * 2010-12-14 2013-10-23 吴秀美 帧间预测编码的运动画面的解码方法
CN103404149A (zh) * 2011-03-11 2013-11-20 索尼公司 图像处理装置以及方法
WO2014058796A1 (en) * 2012-10-08 2014-04-17 Google Inc Method and apparatus for video coding using reference motion vectors
CN103841426A (zh) * 2012-10-08 2014-06-04 华为技术有限公司 用于运动矢量预测的运动矢量列表建立的方法、装置

Also Published As

Publication number Publication date
KR20200012957A (ko) 2020-02-05
CN110546956A (zh) 2019-12-06
US20200137412A1 (en) 2020-04-30
US11197018B2 (en) 2021-12-07
WO2019000443A1 (zh) 2019-01-03

Similar Documents

Publication Publication Date Title
CN109792531B (zh) 一种编解码视频数据的方法、设备及存储介质
CN109792532B (zh) 用于视频译码的适应性运动向量精准度
CN111164973B (zh) 译码用于视频译码的仿射预测运动信息
CA2932811C (en) Adaptive motion vector resolution signaling for video coding
CN111213376A (zh) 使用基于编码结构的候选列表构建对视频数据的运动信息进行编码
CN110876059B (zh) 运动矢量的获取方法、装置、计算机设备及存储介质
CN112653895B (zh) 一种运动矢量获取方法,装置,设备及计算机可读存储介质
CN109495738B (zh) 一种运动信息的编解码方法和装置
US11197018B2 (en) Inter-frame prediction method and apparatus
CN111919439B (zh) 一种运动矢量的获取方法和装置、一种运动矢量集合的构建方法和装置及计算机可读存储介质
CN114125467A (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