CN115086678A - 视频编码方法和装置、视频解码方法和装置 - Google Patents
视频编码方法和装置、视频解码方法和装置 Download PDFInfo
- Publication number
- CN115086678A CN115086678A CN202211003526.6A CN202211003526A CN115086678A CN 115086678 A CN115086678 A CN 115086678A CN 202211003526 A CN202211003526 A CN 202211003526A CN 115086678 A CN115086678 A CN 115086678A
- Authority
- CN
- China
- Prior art keywords
- motion vector
- motion vectors
- preset number
- prediction
- block
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
- H04N19/517—Processing of motion vectors by encoding
- H04N19/52—Processing of motion vectors by encoding by predictive encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/134—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
- H04N19/146—Data rate or code amount at the encoder output
-
- 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/30—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本公开关于一种视频编码方法和装置、视频解码方法和装置,视频编码方法包括:获取第一图像帧中的第一块的合并候选列表,其中,合并候选列表包括多个合并候选运动矢量;计算每个合并候选运动矢量对应的第一预测代价,其中,第一预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第一预测代价对应的合并候选运动矢量预测得到的第一块的像素值;基于每个合并候选运动矢量对应的第一预测代价,从多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;从第一预设数量个合并候选运动矢量中,确定基础运动矢量;基于基础运动矢量,获得第一块的编码信息。通过根据合并候选运动矢量对应的第一预测代价做初筛,可提升编码性能。
Description
技术领域
本公开涉及视频编解码技术领域,尤其涉及一种视频编码方法和装置、视频解码方法和装置。
背景技术
在视频编码过程中,MMVD(Merge with Motion Vector Difference,带运动矢量差的合并技术)是一种时间预测技术。MMVD利用合并候选列表(merge list)中的前两个合并候选运动矢量来构造MMVD的基础运动矢量(base MV),只需要1个比特就可以用0或1来表示选择了其中的哪一个合并候选运动矢量作为基础运动矢量,再将基础运动矢量在水平和垂直两个方向进行偏移,并按照设定的多个缩放步长进行缩放,最终通过率失真优化选择最优的偏移方向和缩放步长,得到时间预测所使用的预测运动矢量,可以非常有效地提升包含较多局部运动的视频的编码效率。
然而,MMVD的设计主要考虑到了基础运动矢量的候选信息编码消耗,在这种情况下,虽然只需要1个比特就可以表示基础运动矢量,但是这样选择出来的基础运动矢量很大概率并非合适选择,导致后续调整时需要使用较大的缩放步长来弥补,从而造成较多的码率消耗,限制了MMVD的编码性能。
发明内容
本公开提供一种视频编码方法和装置、视频解码方法和装置,以至少解决相关技术中的如何提升视频编码性能的问题,也可不解决任何上述问题。
根据本公开的第一方面,提供了一种视频编码方法,所述视频编码方法包括:获取第一图像帧中的第一块的合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;基于所述基础运动矢量,获得所述第一块的编码信息。
可选地,所述计算每个所述合并候选运动矢量对应的第一预测代价,包括:计算每个合并候选运动矢量对应的预测代价,包括:获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
可选地,所述计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,包括:计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
可选地,所述基于所述基础运动矢量,获得所述第一块的编码信息,包括:在所述第一预设数量大于1的情况下,确定所述基础运动矢量在所述第一预设数量个合并候选运动矢量中的第一标识信息,获得包括所述第一标识信息的所述编码信息。
可选地,所述基于所述基础运动矢量,获得所述第一块的编码信息,包括:将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;从所述第四预设数量个扩展运动矢量中,确定预测运动矢量;确定所述预测运动矢量在所述第四预设数量个候选运动矢量中的第二标识信息,获得包括所述第二标识信息的所述编码信息。
可选地,所述基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个候选运动矢量,包括:针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
可选地,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述确定所述预测运动矢量在所述第四预设数量个候选运动矢量中的第二标识信息,获得包括所述第二标识信息的所述编码信息,包括:确定所述预测偏移方向在所述第二预设数量个预设偏移方向中的方向标识信息;在所述第五预设数量等于1的情况下,将所述方向标识信息作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息;在所述第五预设数量大于1的情况下,确定步长标识信息,将所述方向标识信息和所述步长标识信息共同作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
可选地,所述根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域,包括:根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
可选地,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
可选地,所述视频编码方法还包括:获得包括所述第一预设数量和所述第四预设数量的设定层级的头信息。
根据本公开的第二方面,提供了一种视频解码方法,所述视频解码方法包括:获取第一图像帧中的第一块的编码信息和合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值。
可选地,所述计算每个所述合并候选运动矢量对应的第一预测代价,包括:计算每个合并候选运动矢量对应的预测代价,包括:获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
可选地,所述计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,包括:计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
可选地,所述基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值,包括:从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;基于所述基础运动矢量和所述编码信息,获得所述第一块的重建像素值。
可选地,所述从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量,包括:在所述第一预设数量等于1的情况下,将所述第一预设数量个合并候选运动矢量作为所述基础运动矢量;在所述第一预设数量大于1的情况下,根据所述第一预设数量个合并候选运动矢量,解析所述编码信息中的第一标识信息,得到所述基础运动矢量,其中,所述第一标识信息用于在所述第一预设数量个合并候选运动矢量中标识所述基础运动矢量。
可选地,所述基于所述基础运动矢量和所述编码信息,获得所述第一块的重建像素值,包括:将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;根据所述第四预设数量个扩展运动矢量,解析所述编码信息中的第二标识信息,得到预测运动矢量,其中,所述第二标识信息用于在所述第四预设数量个扩展运动矢量中标识所述预测运动矢量;根据所述预测运动矢量,确定所述第一块的重建像素值。
可选地,所述基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量,包括:针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
可选地,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述根据所述第四预设数量个扩展运动矢量,解析所述第一块中的第二标识信息,得到预测运动矢量,包括:根据所述第二预设数量个预设偏移方向,解析所述第二标识信息中的方向标识信息,得到所述预测偏移方向,其中,所述方向标识信息用于在所述第二预设数量个预设偏移方向中标识所述预测偏移方向;在所述第五预设数量等于1的情况下,将所述预测偏移方向上的所述第五预设数量个扩展运动矢量作为所述预测运动矢量;在所述第五预设数量大于1的情况下,根据所述预测偏移方向上的所述第五预设数量个扩展运动矢量,解析所述第二标识信息中的步长标识信息,得到所述预测运动矢量,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
可选地,所述根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域,包括:根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
可选地,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
可选地,所述视频解码方法还包括:获得包括所述第一预设数量和所述第四预设数量的设定层级的头信息。
根据本公开的第三方面,提供了一种视频编码装置,所述视频编码装置包括:获取单元,被配置为执行获取第一图像帧中的第一块的合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;计算单元,被配置为执行计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;筛选单元,被配置为执行基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;确定单元,被配置为执行从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;执行单元,被配置为执行基于所述基础运动矢量,获得所述第一块的编码信息。
可选地,所述计算单元还被配置为执行:获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
可选地,所述计算单元还被配置为执行:计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
可选地,所述执行单元还被配置为执行:在所述第一预设数量大于1的情况下,确定所述基础运动矢量在所述第一预设数量个合并候选运动矢量中的第一标识信息,获得包括所述第一标识信息的所述编码信息。
可选地,所述执行单元还被配置为执行:将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;从所述第四预设数量个扩展运动矢量中,确定预测运动矢量;确定所述预测运动矢量在所述第四预设数量个候选运动矢量中的第二标识信息,获得包括所述第二标识信息的所述编码信息。
可选地,所述执行单元还被配置为执行:针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
可选地,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述执行单元还被配置为执行:确定所述预测偏移方向在所述第二预设数量个预设偏移方向中的方向标识信息;在所述第五预设数量等于1的情况下,将所述方向标识信息作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息;在所述第五预设数量大于1的情况下,确定步长标识信息,将所述方向标识信息和所述步长标识信息共同作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
可选地,所述计算单元还被配置为执行:根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
可选地,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
可选地,所述获取单元还被配置为执行:获得包括所述第一预设数量和所述第四预设数量的设定层级的头信息。
根据本公开的第四方面,提供了一种视频解码装置,所述视频编码装置包括:获取单元,被配置为执行获取第一图像帧中的第一块的编码信息和合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;计算单元,被配置为执行计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;筛选单元,被配置为执行基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;解码单元,被配置为执行基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值。
可选地,所述计算单元还被配置为执行:获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
可选地,所述计算单元还被配置为执行:计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
可选地,所述解码单元还被配置为执行:从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;基于所述基础运动矢量和所述编码信息,获得所述第一块的重建像素值。
可选地,所述解码单元还被配置为执行:在所述第一预设数量等于1的情况下,将所述第一预设数量个合并候选运动矢量作为所述基础运动矢量;在所述第一预设数量大于1的情况下,根据所述第一预设数量个合并候选运动矢量,解析所述编码信息中的第一标识信息,得到所述基础运动矢量,其中,所述第一标识信息用于在所述第一预设数量个合并候选运动矢量中标识所述基础运动矢量。
可选地,所述解码单元还被配置为执行:将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;根据所述第四预设数量个扩展运动矢量,解析所述编码信息中的第二标识信息,得到预测运动矢量,其中,所述第二标识信息用于在所述第四预设数量个扩展运动矢量中标识所述预测运动矢量;根据所述预测运动矢量,确定所述第一块的重建像素值。
可选地,所述解码单元还被配置为执行:针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
可选地,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述解码单元还被配置为执行:根据所述第二预设数量个预设偏移方向,解析所述第二标识信息中的方向标识信息,得到所述预测偏移方向,其中,所述方向标识信息用于在所述第二预设数量个预设偏移方向中标识所述预测偏移方向;在所述第五预设数量等于1的情况下,将所述预测偏移方向上的所述第五预设数量个扩展运动矢量作为所述预测运动矢量;在所述第五预设数量大于1的情况下,根据所述预测偏移方向上的所述第五预设数量个扩展运动矢量,解析所述第二标识信息中的步长标识信息,得到所述预测运动矢量,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
可选地,所述计算单元还被配置为执行:根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
可选地,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
可选地,所述获取单元还被配置为执行:获得包括所述第一预设数量和所述第四预设数量的设定层级的头信息。
根据本公开的第五方面,提供了一种电子设备,所述电子设备包括:至少一个处理器;至少一个存储计算机可执行指令的存储器,其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的视频编码方法或视频解码方法。
根据本公开的第六方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行根据本公开的视频编码方法或视频解码方法。
根据本公开的第七方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令被至少一个处理器执行时实现根据本公开的视频编码方法或视频解码方法。
本公开的实施例提供的技术方案至少带来以下有益效果:
根据本公开的实施例的视频编码方法、视频编码装置、视频解码方法和视频解码装置,在确定基础运动矢量的选择来源时,采用了先计算合并候选列表中的每个合并候选运动矢量对应的预测代价,再据此初筛合并候选运动矢量的方案,相较于初筛时直接选择合并候选列表中的前两个合并候选运动矢量的方案,能够提升确定出的基础运动矢量是最佳选择的可能性,从而能够在后续编码中使用较小的缩放步长和较小的预测残差,降低码率消耗,提升编码性能。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1示出基于块的视频编码系统的示例性框图。
图2示出基于块的视频解码系统的示例性框图。
图3示出根据本公开的示例性实施例的视频编码方法的流程图。
图4示出根据本公开的示例性实施例的模板匹配技术原理图。
图5示出根据本公开的示例性实施例的视频解码方法的流程图。
图6示出根据本公开的示例性实施例的视频编码装置的框图。
图7示出根据本公开的示例性实施例的视频解码装置的框图。
图8示出根据本公开的示例性实施例的电子设备的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
在此需要说明的是,在本公开中出现的“若干项之中的至少一项”均表示包含“该若干项中的任意一项”、“该若干项中的任意多项的组合”、“该若干项的全体”这三类并列的情况。例如“包括A和B之中的至少一个”即包括如下三种并列的情况:(1)包括A;(2)包括B;(3)包括A和B。又例如“执行步骤一和步骤二之中的至少一个”,即表示如下三种并列的情况:(1)执行步骤一;(2)执行步骤二;(3)执行步骤一和步骤二。
下面将首先结合图1和图2对基于块的视频编码系统和视频解码系统的示例进行描述。
图1示出了基于块的视频编码系统的框图。输入视频信号包括多个图像帧的信号,每个图像帧可以被逐块处理,这里,块可以例如是但不限于编码树单元(CTU,Coding TreeUnit)、最大编码单元(LCU,Largest Coding Unit)、编码单元(CU,Coding Unit)、预测单元(PU,Prediction Unit)和变换单元(TU,Transform Unit)等。
视频编码的原理在于,利用连续的图像帧之间的相似性,以及相同图像帧/条带内部相邻块之间的相似性,对其中部分具有代表性的图像帧或块,按照原始的像素值进行编码,对除具有代表性的图像帧或块之外的其他图像帧或块,则利用连续图像帧之间的相似性或相邻块之间的相似性来预测其像素值,从而实现对视频信号的压缩,以去除空间、时间维度的冗余。
在执行视频编码时,根据利用的是相邻块之间的相似性,还是连续图像帧之间的相似性,可以对当前图像帧的块执行空间预测和/或时间预测。
空间预测(或“帧内预测”)使用存储器中存储的、来自相同图像帧/条带中的重建的相邻块(相邻块指已经完成编码的相邻块)的像素(其被称为参考像素)的像素值来预测当前块,得到预测块。空间预测减少了视频信号中固有的空间冗余。
时间预测(也称为“帧间预测”或“运动补偿预测”,对应于图1中“运动估计”和“运动补偿”的部分)使用图像帧缓冲器中存储的、已经编码的图像帧(称为“参考图像帧”)中的重建像素(重建像素指已经完成编码的像素)来预测当前块,得到预测块。时间预测减少了视频信号中固有的时间冗余。当前块的时间预测信号通常基于一个或多个预测运动矢量确定,预测运动矢量指示当前块与其时间参考(称为“参考块”,是参考图像帧中的块)之间的运动偏移量和方向。确定预测运动矢量的过程就称为运动估计;基于预测运动矢量、当前块以及参考图像帧,确定参考块的过程,就称为运动补偿,确定出的参考块就作为预测块。此外,如果编码端和解码端支持使用多个参考图像帧,则编码端在向解码端发送编码信息时,还另外发送一个参考图像帧索引,其用于识别时间预测信号来自图像帧缓冲器中的哪个参考图像帧,也就是运动补偿时需要使用哪个参考图像帧。
预测当前块的运动信息的方法的一个示例可以是合并模式。合并模式可表示合并多个块的运动的方法。合并模式可表示利用重建块(重建块指已经完成编码的块)的运动信息预测当前块的运动信息的模式。当应用合并模式时,可使用重建的相邻块的运动信息和/或重建的同位块(同位块指当前图像帧的同位图像帧中与当前块位置相同的块,同位图像帧是与当前图像帧的时域相关性较强的重建的图像帧)的运动信息来生成合并候选列表。运动信息可包括运动矢量、参考图像帧索引和时间预测指示符中的至少一个。时间预测指示符可指示单向预测(L0预测或L1预测)或双向预测(L0预测和L1预测),其中,L0预测指前向预测,也就是将当前图像帧之前的图像帧作为参考图像帧,L1预测指后向预测,也就是将当前图像帧之后的图像帧作为参考图像帧。合并候选列表是存储运动信息的列表,包括在合并候选列表中的运动信息可以包括当前块的相邻块的运动信息(空间合并候选)、当前块的同位块的运动信息(时间合并候选)、基于历史参考确定的相邻块的运动信息(基于历史参考的空间合并候选)、当前块的多个相邻块的平均运动信息(空间平均候选)中的至少一个。
MMVD是一种时间预测技术,可利用合并候选列表中的前两个运动信息中的运动矢量(称为“合并候选运动矢量”)来构造MMVD的基础运动矢量,再将基础运动矢量按照设定的多个步长在水平(包括左、右两个方向)和垂直(包括上、下两个方向)四个方向进行偏移,从而扩展出多个运动矢量,最终从扩展出的多个运动矢量中选择率失真代价最小的一个,作为时间预测所使用的预测运动矢量,相当于对基础运动矢量进行调整,可以非常有效地提升包含较多局部运动的视频的编码效率。然而,MMVD的设计主要考虑到了基础运动矢量的候选信息编码消耗,在这种情况下,只需要1个比特就可以用0或1来表示从前两个合并候选运动矢量中选择了哪一个作为基础运动矢量,然而这样选择出来的基础运动矢量很大概率并非合适选择,导致后续调整时需要使用较大的缩放步长来弥补,才能得到合适的预测运动矢量以及相应的预测块,还可能导致下文介绍的预测残差较大,从而造成较多的码率消耗,限制了MMVD的编码性能。
继续参照图1,在空间和/或时间预测之后,编码器中的空间/时间模式判定,例如基于率失真优化方法来选择最佳预测模式。然后,确定当前块与预测块之间的差异,具体例如是从当前块的各个像素的像素值中减去预测块的相应像素的像素值,以获得预测残差,再对编码模式(时间或空间)、运动信息等预测相关信息和预测残差行编码处理,即可得到当前块的编码信息。编码信息可通过比特流被发送至解码端。此外,基于预测残差和预测块,可确定出当前块的重建信号,也就是当前块中各个像素经过编码压缩后的像素值,并存储在存储器中。在将当前块的重建信号(可称为“重建块”的信号)放入图像帧缓冲器中,以用作对未来块进行编码而使用的参考块之前,可以对重建块应用进一步的环路滤波,例如,但不限于,去块滤波器、像素自适应偏移和自适应环路滤波器等中的至少一项。
图2示出了基于块的视频解码系统的示例性框图。如图2所示,解码端接收到视频的比特流后,首先进行解码处理,得到预测相关信息和预测残差。预测相关信息被发送到空间预测单元(如果帧内编码)或时间预测单元(如果帧间编码)以形成预测块。结合预测残差和预测块,可确定出重建块,并存储在存储器中。重建块可以在其被存储在图像帧缓冲器中之前进一步经历环路滤波,例如,但不限于,去块滤波器、像素自适应偏移和自适应环路滤波器等中的至少一项。然后,将图像帧缓冲器中的重建视频输出以供显示器显示,以及用于预测未来的块。在时间预测模式下,可使用当前块的参考图像帧中的对应预测块对当前块执行运动补偿。
下面,将参照图3至图8具体描述根据本公开的示例性实施例的视频编码方法、视频编码装置、视频解码方法和视频解码装置,本公开主要针对的是视频编解码的时间预测部分。
图3示出根据本公开的示例性实施例的视频编码方法的流程图。应理解,根据本公开的示例性实施例的视频编码方法可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中实现,也可以在诸如服务器的设备中实现。
参照图3,在步骤301,获取第一图像帧中的第一块的合并候选列表,其中,合并候选列表包括多个合并候选运动矢量。对合并候选列表的介绍参见上文。
在步骤302,计算每个合并候选运动矢量对应的第一预测代价。其中,第一预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第一预测代价对应的合并候选运动矢量预测得到的第一块的像素值。
可选地,可采用模板匹配技术来计算第一预测代价。
图4示出根据本公开的示例性实施例的模板匹配技术原理图。
参照图4,具体来说,步骤302包括如下三个内容:
第一个内容,获取第一图像帧中的第一模板区域,其中,第一模板区域为第一块的相邻重建像素构成的区域(例如图4中第一图像帧内的两个灰色区域)。
作为示例,参照图4,相邻重建像素可同时包括上侧相邻重建像素(对应块上侧的一行像素)和左侧相邻重建像素(对应块左侧的一列像素),即图4中第一图像帧内的两个灰色区域。由于视频编码时通常是对每个视频帧按照从左到右、从上到下的顺序逐块处理,所以第一块上侧的像素和左侧的像素可作为相邻重建像素。在其他示例中,相邻重建像素也可仅包括二者中的一个,以便于灵活调整方案,控制计算负荷。
应理解,对于第一图像帧左上角的第一个块,由于不存在相邻重建像素,所以无法计算代价,也就无法应用根据本公开的示例性实施例的视频编解码方法,可对其应用相关技术中的视频编解码方法。换言之,待编码视频各个图像帧左上角的第一个块不作为根据本公开的示例性实施例的第一块。
第二个内容,针对每个合并候选运动矢量,根据合并候选运动矢量,确定第二图像帧中与第一模板区域相对应的第二模板区域(例如图4中第二图像帧内的两个灰色区域)。其中,第二图像帧为第一图像帧的参考图像帧。
第三个内容,计算第一模板区域和第二模板区域的差异,该差异为合并候选运动矢量对应的第一预测代价。
相邻重建像素与对应的块位置邻近,通过将其作为对应的块的模板区域,能够借助第一模板区域和第二模板区域的差异来反映第一块和第二块之间的差异,从而反映相应合并候选运动矢量对应的预测代价。此外,由于相邻重建像素已经完成编码,所以解码端在解码时能够获取到其编码信息,进而实现顺利解码,确保了由此得到的第一块的编码信息能够被顺利解码,保障了视频传输的稳定性。
可选地,其中,确定第二模板区域的步骤包括:根据合并候选运动矢量,确定第二图像帧中与第一块相对应的第二块;确定第二块的相邻重建像素构成的区域,作为第二模板区域。相邻重建像素的尺寸受到对应块的尺寸影响,具体地,上侧相邻重建像素的宽度与对应块的宽度相同,左侧相邻重建像素的高度与对应块的高度相同。通过先确定与第一块对应的第二块,再基于第二块将其相邻重建像素作为第二模板区域,可更加便捷地确定出第二模板区域,提升运算效率。
可选地,其中,计算第一模板区域和第二模板区域的差异,该差异为合并候选运动矢量对应的第一预测代价,包括:计算第一模板区域的重建像素值和第二模板区域的重建像素值的差异,该差异为合并候选运动矢量对应的第一预测代价。应理解,在采用一个合并候选运动矢量来对第一模板区域进行时间预测时,就是将相应的第二模板区域的像素值作为第一模板区域的预测像素值。通过对比第一模板区域的像素值和第二模板区域的像素值,就相当于在对比第一模板区域的像素值和预测像素值,从而能够了解预测是否准确,也就能够确定出该合并候选运动矢量对应的预测代价。此外,虽然应用待编码视频中原始的像素值来计算预测代价是最为准确的,但解码端无法获取原始的像素值。而重建像素值作为已经完成编码的像素的像素值,既能够被解码端获取,又与原始的像素值非常接近,通过用重建像素值来代替原始的像素值,既能够保障得到的代价具有较高的准确度,又能够令解码端顺利解码,保障了方案的可行性。
作为示例,可计算第一模板区域的所有像素的预测像素值和重建像素值的绝对误差和(SAD,Sum of Absolute Differences),作为代价。绝对误差和的计算公式如下:
其中,W和H分别为第一模板区域的宽和高,(i,j)为第一模板区域内像素的坐标,i和j均为大于或等于0的整数,Y和Y’分别为第一模板区域的预测像素值以及重建像素值。
当然,也可采用其他计算方式来计算代价,本公开对此不作限制。
在步骤303,基于每个合并候选运动矢量对应的第一预测代价,从多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量。作为示例,可按照对应的代价从小到大的顺序排序,选择代价最小的前第一预设数量个合并候选运动矢量。
在步骤304,从第一预设数量个合并候选运动矢量中,确定基础运动矢量。该步骤计算第一预设数量个合并候选运动矢量各自对应的率失真代价,将其中率失真代价最小的一个合并候选运动矢量作为基础运动矢量。率失真代价及其计算是本领域成熟技术,在此不再赘述。
在步骤305,基于基础运动矢量,获得第一块的编码信息。该步骤的执行可参考前文对基于块的视频编码系统和视频解码系统的介绍。
根据本公开的示例性实施例的视频编码方法,在确定基础运动矢量的选择来源时,采用了先计算合并候选列表中的每个合并候选运动矢量对应的预测代价,再据此初筛合并候选运动矢量的方案,相较于初筛时直接选择合并候选列表中的前两个合并候选运动矢量的方案,能够提升确定出的基础运动矢量是最佳选择的可能性,从而能够在后续编码中使用较小的缩放步长和较小的预测残差,降低码率消耗,提升编码性能。
应理解,对应于时间预测部分,编码信息主要包括两方面的信息,第一方面是表示基础运动矢量的信息,第二方面是表示预测运动矢量的信息。因此,与上述实施例相关的是第一方面的信息。还应理解,第一预设数量是大于或等于1的整数。当第一预设数量等于1时,就是在初筛时筛选出预测代价最小的一个合并候选运动矢量,此时可直接将之作为基础运动矢量,因而编码信息中无需包含第一方面的信息,即步骤305可不包括确定表示基础运动矢量的信息的操作,可进一步节约码率,提升编码性能。当第一预设数量大于1时,第一方面的信息就是基础运动矢量在第一预设数量个合并候选运动矢量中的第一标识信息,步骤305相应包括确定第一标识信息,并获得包括第一标识信息的编码信息的操作,可供解码时从第一预设数量个合并候选运动矢量中可靠确定出基础运动矢量,进而实现后续的解码。作为示例,可对第一预设数量个合并候选运动矢量按照在合并候选列表中的顺序从0开始编号,第一标识信息就是基础运动矢量的序号,此时第一标识信息需要使用log2(N)个比特,其中N为第一预设数量,计算结果为小数时需进一位。例如,若第一预设数量等于2,则第一标识信息需要使用1个比特,可用0或1来表示基础运动矢量;若第一预设数量等于3或4,则第一标识信息需要使用2个比特。
需说明的是,解码端可应用相同的方法来进行合并候选运动矢量的初筛,从而明确基础运动矢量的选择来源,实现编码端和解码端信息同步,保障解码时能够可靠解析出基础运动矢量。为此,需在编码端和解码端采用相同的第一预设数量,可提前在编码端和解码端进行第一预设数量的定义,也可以将第一预设数量写入设定层级的编码信息中,作为示例,可写入设定层级的头信息中,其中,设定层级例如,但不限于,序列层、图像层、条层。
进一步地,在一些实施例中,可沿用步骤302和步骤303中的第一预测代价的思路,来计算类似的第二预测代价,从而确定预测运动矢量的选择来源,从而减少编码信息中第二方面的信息的码率消耗。以下对此进行描述。
可选地,步骤305可包括:将基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个扩展运动矢量对应的第二预测代价,其中,第二预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第二预测代价对应的扩展运动矢量预测得到的第一块的像素值;基于多个扩展运动矢量对应的第二预测代价,从多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;从第四预设数量个扩展运动矢量中,确定预测运动矢量;确定预测运动矢量在第四预设数量个候选运动矢量中的第二标识信息,获得包括第二标识信息的编码信息。需说明的是,第二预设数量通常为4,对应于垂直和水平各两个方向,即上、下、左、右4个方向;第三预设数量通常为8,对应于1/4、1/2、1、2、4、8、16、32,共计8个步长。基于此,一个基础运动矢量可以对应得到32个扩展运动矢量。相关技术中直接计算每个扩展运动矢量的率失真代价,从而得到预测运动矢量,所以编码信息中第二方面的信息表示的是预测运动矢量在全部扩展运动矢量中的标识信息。具体来说,预测运动矢量是基础运动矢量沿预测偏移方向偏移预测步长后得到的运动矢量,相关技术中,第二方面的信息包括方向标识信息和步长标识信息。其中,方向标识信息是预测偏移方向在4个预设偏移方向中的标识信息,需要2个比特。步长标识信息是预测步长在8个预设步长中的标识信息,采用截断一元码的方式进行编码,例如,当预测步长分别等于1/4、1/2、2或32时,需要编码的值分别是:0、10、1110、11111110。因此表示步长1/4需要1个比特,表示步长1/2需要2个比特,表示步长2需要4个比特,表示步长32则需要8个比特。这种方式需要消耗的比特非常多。本公开通过借助第二预测代价来对扩展运动矢量进行初筛,可缩小预测运动矢量的选择来源,使得第二方面的信息只需为预测运动矢量在第四预设数量个候选运动矢量中的第二标识信息,有助于减小码率消耗,进一步提升编码性能。作为示例,在从第四预设数量个扩展运动矢量中确定预测运动矢量时,仍可计算第四预设数量个扩展运动矢量各自对应的率失真代价,将其中率失真代价最小的一个扩展运动矢量作为预测运动矢量。应理解,和第一预设数量同理,需在编码端和解码端采用相同的第四预设数量,可提前在编码端和解码端进行第四预设数量的定义,也可以将第四预设数量写入设定层级的编码信息中,作为示例,可写入设定层级的头信息中,其中,设定层级例如,但不限于,序列层、图像层、条层。
具体地,在一些实施例中,选择第四预设数量个候选运动矢量的步骤可包括:从多个扩展运动矢量中,选择预测代价最小的第四预设数量个候选运动矢量。此时可提高选择到最优预测运动矢量的可能性。作为示例,编码时,可为第四预设数量个候选运动矢量按特定顺序从0开始编号,例如按照特定的方向顺序,对四个预设偏移方向逐个编号,并且对每个预设偏移方向,按照步长由小到大的顺序编号,第二标识信息就是预测运动矢量的序号,此时第二标识信息需使用log2(M)个比特,其中M为第四预设数量,计算结果为小数时需进一位。即使是在第四预设数量为最大的32时,也只需5个比特,在第四预设数量缩小到16时,只需4个比特。
在另一些实施例中,选择第四预设数量个候选运动矢量的步骤可包括:针对每个预设偏移方向,基于预设偏移方向上的各个扩展运动矢量对应的第二预测代价,从预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个预设偏移方向选择的第五预设数量个扩展运动矢量,得到第四预设数量个扩展运动矢量。通过在每个预设偏移方向上筛选相同数量(即第五预设数量)扩展运动矢量,相当于从第三预设数量个预设步长中筛选出相同数量(即第五预设数量)的预设步长,能够将初筛的指标平均分配给四个预设偏移方向,可保障各个方向都能兼顾,从而降低因第二预测代价计算存在误差而遗漏某个预设偏移方向的可能性。仍以前述的第二预设数量为4、第三预设数量为8的情况为例,此时可在每个预设偏移方向上得到8个扩展运动矢量,共计32个,并计算出每个扩展运动矢量对应的第二预测代价,继而据此筛选扩展运动矢量。举例来说,第五预设数量为3,则可在上、下、左、右4个预设偏移方向上,分别选择第二预测代价最小的3个扩展运动矢量,从而筛选出12个扩展运动矢量,即第四预设数量为12。应理解,这12个扩展运动矢量是根据第二预测代价,在各个预设偏移方向上独立筛选的,因而各个预设偏移方向上筛选出的扩展运动矢量所对应的预设步长往往不同。还应理解,由于第二预设数量是固定值(通常为4),所以第五预设数量与第四预设数量直接相关,即第五预设数量与第二预设数量的乘积等于第四预设数量,和第一预设数量同理,需在编码端和解码端采用相同的第五预设数量,此时可仅配置第五预设数量,而不配置第四预设数量。
可选地,上述另一些实施例的编码步骤包括:确定预测偏移方向在第二预设数量个预设偏移方向中的方向标识信息;在第五预设数量等于1的情况下,获得包括第二标识信息的编码信息;在第五预设数量大于1的情况下,确定步长标识信息,将方向标识信息和步长标识信息共同作为第二标识信息,获得包括第二标识信息的编码信息,其中,步长标识信息用于在预测偏移方向上的第五预设数量个扩展运动矢量中标识预测运动矢量。此时,无论步长标识信息采用何种编码方式,其码率消耗都能得到减小。作为示例,在第五预设数量大于1的情况下,可沿用截断一元码的方式进行编码,此时步长标识信息最多只需使用第五预设数量个比特,从而既能减小码率消耗,又能保留现有编码方式。仍以前述的第二预设数量为4、第三预设数量为8、第五预设数量为3的情况为例,假设在上方筛选出的3个扩展运动矢量分别对应的3个预设步长为(1/4, 2, 32),则此时3个预设步长的截断一元码表示为(1/4:0, 2:10, 32:110),在预测运动矢量是基础运动矢量沿上方偏移步长32后得到的运动矢量的情况下,本公开的步长标识信息为110,相关技术中则为11111110,本公开可显著提升编码性能。
经测试,在不改变MMVD的整个编码过程,而只去除1个比特的基础运动矢量的候选信息的编码,编码收益可提升0.5%。当采用根据本公开的示例性实施例的视频编码方法,且第一预设数量和第五预设数量均等于1,步长标识信息沿用截断一元码时,编码收益可进一步提升约0.7%。
图5示出根据本公开是示例性实施例的视频解码方法的流程图。应理解,根据本公开的示例性实施例的视频解码方法可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中实现,也可以在诸如服务器的设备中实现。该视频解码方法与本公开上述的视频编码方法相对应,因而具备该视频编码方法的全部有益技术效果,在此不再赘述。
参照图5,在步骤501,获取第一图像帧中的第一块的编码信息和合并候选列表,其中,合并候选列表包括多个合并候选运动矢量。应理解,接收的是编码端发送的编码信息。
在步骤502,计算每个合并候选运动矢量对应的第一预测代价。其中,第一预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第一预测代价对应的合并候选运动矢量预测得到的第一块的像素值。
在步骤503,基于每个合并候选运动矢量对应的第一预测代价,从多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量。步骤502和步骤503的执行参照结合图3描述的视频编码方法,在此不再赘述。
在步骤504,基于第一预设数量个合并候选运动矢量和编码信息,获得第一块的重建像素值。通过参照第一预设数量个合并候选运动矢量,能够从编码信息中确定出基础运动矢量,进而继续解析编码信息中的其他信息,可获得第一块的重建像素值,实现视频解码。
可选地,步骤504中从第一预设数量个合并候选运动矢量中,确定基础运动矢量的步骤包括:在第一预设数量等于1的情况下,将第一预设数量个合并候选运动矢量作为基础运动矢量;在第一预设数量大于1的情况下,根据第一预设数量个合并候选运动矢量,解析编码信息中的第一标识信息,得到基础运动矢量,其中,第一标识信息用于在第一预设数量个合并候选运动矢量中标识基础运动矢量。
进一步地,对应于在编码时沿用预测代价的思路来确定预测运动矢量的选择来源的实施例,步骤504中基于基础运动矢量和编码信息,获得第一块的重建像素值的步骤包括:将基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个扩展运动矢量对应的第二预测代价,其中,第二预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第二预测代价对应的扩展运动矢量预测得到的第一块的像素值;基于多个扩展运动矢量对应的第二预测代价,从多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;根据第四预设数量个扩展运动矢量,解析编码信息中的第二标识信息,得到预测运动矢量,其中,第二标识信息用于在第四预设数量个扩展运动矢量中标识预测运动矢量;根据预测运动矢量,确定第一块的重建像素值。
可选地,基于多个扩展运动矢量对应的第二预测代价,从多个扩展运动矢量中,选择第四预设数量个扩展运动矢量,包括:针对每个预设偏移方向,基于预设偏移方向上的各个扩展运动矢量对应的第二预测代价,从预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个预设偏移方向选择的第五预设数量个扩展运动矢量,得到第四预设数量个扩展运动矢量。
可选地,预测运动矢量是基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,基于第四预设数量个扩展运动矢量,解析第一块中的第二标识信息,得到预测运动矢量,包括:根据第二预设数量个预设偏移方向,解析第二标识信息中的方向标识信息,得到预测偏移方向,其中,方向标识信息用于在第二预设数量个预设偏移方向中标识预测偏移方向;在第五预设数量等于1的情况下,将预测偏移方向上的第五预设数量个扩展运动矢量作为预测运动矢量;在第五预设数量大于1的情况下,根据预测偏移方向上的第五预设数量个扩展运动矢量,解析第二标识信息中的步长标识信息,得到预测运动矢量,其中,步长标识信息用于在预测偏移方向上的第五预设数量个扩展运动矢量中标识预测运动矢量。
通过采用编码端相同的方法来确定第四预设数量个扩展运动矢量或第五预设数量个预设步长,可据此解析出预测运动矢量,进而实现运动补偿,实现视频解码。
图6示出根据本公开的示例性实施例的视频编码装置的框图。应理解,根据本公开的示例性实施例的视频编码装置可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中以软件、硬件或软件硬件结合的方式实现,也可以在诸如服务器的设备中实现。
参照图6,视频编码装置600包括获取单元601、计算单元602、筛选单元603、确定单元604、执行单元605。
获取单元601可获取第一图像帧中的第一块的合并候选列表,其中,合并候选列表包括多个合并候选运动矢量。
可选地,获取单元601还可获得包括第一预设数量和第四预设数量的设定层级的头信息。
计算单元602可计算每个合并候选运动矢量对应的第一预测代价,其中,第一预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第一预测代价对应的合并候选运动矢量预测得到的第一块的像素值。
可选地,计算单元602还可获取第一图像帧中的第一模板区域,其中,第一模板区域为第一块的相邻重建像素构成的区域;针对每个合并候选运动矢量,根据合并候选运动矢量,确定第二图像帧中与第一模板区域相对应的第二模板区域,其中,第二图像帧为第一图像帧的参考图像帧;计算第一模板区域和第二模板区域的差异,该差异为合并候选运动矢量对应的第一预测代价。
可选地,计算单元602还可计算第一模板区域的重建像素值和第二模板区域的重建像素值的差异,该差异为合并候选运动矢量对应的第一预测代价。
可选地,计算单元602还可根据合并候选运动矢量,确定第二图像帧中与第一块相对应的第二块;确定第二块的相邻重建像素构成的区域,作为第二模板区域。
可选地,相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
筛选单元603可基于每个合并候选运动矢量对应的第一预测代价,从多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量。
确定单元604可从第一预设数量个合并候选运动矢量中,确定基础运动矢量。
执行单元605可基于基础运动矢量,获得第一块的编码信息。
可选地,执行单元605还可在第一预设数量大于1的情况下,确定基础运动矢量在第一预设数量个合并候选运动矢量中的第一标识信息,获得包括第一标识信息的编码信息。
可选地,执行单元605还可将基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个扩展运动矢量对应的第二预测代价,其中,第二预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第二预测代价对应的扩展运动矢量预测得到的第一块的像素值;基于多个扩展运动矢量对应的第二预测代价,从多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;从第四预设数量个扩展运动矢量中,确定预测运动矢量;确定预测运动矢量在第四预设数量个候选运动矢量中的第二标识信息,获得包括第二标识信息的编码信息。
可选地,执行单元605还可针对每个预设偏移方向,基于预设偏移方向上的各个扩展运动矢量对应的第二预测代价,从预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个预设偏移方向选择的第五预设数量个扩展运动矢量,得到第四预设数量个扩展运动矢量。
可选地,预测运动矢量是基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,执行单元605还可确定预测偏移方向在第二预设数量个预设偏移方向中的方向标识信息;在第五预设数量等于1的情况下,将方向标识信息作为第二标识信息,获得包括第二标识信息的编码信息;在第五预设数量大于1的情况下,确定步长标识信息,将方向标识信息和步长标识信息共同作为第二标识信息,获得包括第二标识信息的编码信息,其中,步长标识信息用于在预测偏移方向上的第五预设数量个扩展运动矢量中标识预测运动矢量。
图7示出根据本公开的示例性实施例的视频解码装置的框图。应理解,根据本公开的示例性实施例的视频解码装置可以在诸如智能手机、平板电脑、个人电脑(PC)的终端设备中以软件、硬件或软件硬件结合的方式实现,也可以在诸如服务器的设备中实现。
参照图7,视频解码装置700包括获取单元701、计算单元702、筛选单元703、解码单元704。
获取单元701可获取第一图像帧中的第一块的编码信息和合并候选列表,其中,合并候选列表包括多个合并候选运动矢量。
可选地,获取单元701还可获得包括第一预设数量和第四预设数量的设定层级的头信息。
计算单元702可计算每个合并候选运动矢量对应的第一预测代价,其中,第一预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第一预测代价对应的合并候选运动矢量预测得到的第一块的像素值。
可选地,计算单元702还可获取第一图像帧中的第一模板区域,其中,第一模板区域为第一块的相邻重建像素构成的区域;针对每个合并候选运动矢量,根据合并候选运动矢量,确定第二图像帧中与第一模板区域相对应的第二模板区域,其中,第二图像帧为第一图像帧的参考图像帧;计算第一模板区域和第二模板区域的差异,该差异为合并候选运动矢量对应的第一预测代价。
可选地,计算单元702还可计算第一模板区域的重建像素值和第二模板区域的重建像素值的差异,该差异为合并候选运动矢量对应的第一预测代价。
可选地,计算单元702还可根据合并候选运动矢量,确定第二图像帧中与第一块相对应的第二块;确定第二块的相邻重建像素构成的区域,作为第二模板区域。
可选地,相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
筛选单元703可基于每个合并候选运动矢量对应的第一预测代价,从多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量。
解码单元704可基于第一预设数量个合并候选运动矢量和编码信息,获得第一块的重建像素值。
可选地,解码单元704还可从第一预设数量个合并候选运动矢量中,确定基础运动矢量;基于基础运动矢量和编码信息,获得第一块的重建像素值。
可选地,解码单元704还可在第一预设数量等于1的情况下,将第一预设数量个合并候选运动矢量作为基础运动矢量;在第一预设数量大于1的情况下,根据第一预设数量个合并候选运动矢量,解析编码信息中的第一标识信息,得到基础运动矢量,其中,第一标识信息用于在第一预设数量个合并候选运动矢量中标识基础运动矢量。
可选地,解码单元704还可将基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;计算每个扩展运动矢量对应的第二预测代价,其中,第二预测代价为第一块的像素值与预测像素值的差异,预测像素值为利用与第二预测代价对应的扩展运动矢量预测得到的第一块的像素值;基于多个扩展运动矢量对应的第二预测代价,从多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;根据第四预设数量个扩展运动矢量,解析编码信息中的第二标识信息,得到预测运动矢量,其中,第二标识信息用于在第四预设数量个扩展运动矢量中标识预测运动矢量;根据预测运动矢量,确定第一块的重建像素值。
可选地,解码单元704还可针对每个预设偏移方向,基于预设偏移方向上的各个扩展运动矢量对应的第二预测代价,从预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;基于针对每个预设偏移方向选择的第五预设数量个扩展运动矢量,得到第四预设数量个扩展运动矢量。
可选地,预测运动矢量是基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,解码单元704还可根据第二预设数量个预设偏移方向,解析第二标识信息中的方向标识信息,得到预测偏移方向,其中,方向标识信息用于在第二预设数量个预设偏移方向中标识预测偏移方向;在第五预设数量等于1的情况下,将预测偏移方向上的第五预设数量个扩展运动矢量作为预测运动矢量;在第五预设数量大于1的情况下,根据预测偏移方向上的第五预设数量个扩展运动矢量,解析第二标识信息中的步长标识信息,得到预测运动矢量,其中,步长标识信息用于在预测偏移方向上的第五预设数量个扩展运动矢量中标识预测运动矢量。
关于上述实施例中的装置,其中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图8示出根据本公开的示例性实施例的电子设备的框图。
参照图8,电子设备800包括至少一个存储器801和至少一个处理器802,所述至少一个存储器801中存储有计算机可执行指令集合,当计算机可执行指令集合被至少一个处理器802执行时,执行根据本公开的示例性实施例的视频编码方法或视频解码方法。
作为示例,电子设备800可以是PC计算机、平板装置、个人数字助理、智能手机、或其他能够执行上述指令集合的装置。这里,电子设备800并非必须是单个的电子设备,还可以是任何能够单独或联合执行上述指令(或指令集)的装置或电路的集合体。电子设备800还可以是集成控制系统或系统管理器的一部分,或者可被配置为与本地或远程(例如,经由无线传输)以接口互联的便携式电子设备。
在电子设备800中,处理器802可包括中央处理器(CPU)、图形处理器(GPU)、可编程逻辑装置、专用处理器系统、微控制器或微处理器。作为示例而非限制,处理器还可包括模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。
处理器802可运行存储在存储器801中的指令或代码,其中,存储器801还可以存储数据。指令和数据还可经由网络接口装置而通过网络被发送和接收,其中,网络接口装置可采用任何已知的传输协议。
存储器801可与处理器802集成为一体,例如,将RAM或闪存布置在集成电路微处理器等之内。此外,存储器801可包括独立的装置,诸如,外部盘驱动、存储阵列或任何数据库系统可使用的其他存储装置。存储器801和处理器802可在操作上进行耦合,或者可例如通过I/O端口、网络连接等互相通信,使得处理器802能够读取存储在存储器中的文件。
此外,电子设备800还可包括视频显示器(诸如,液晶显示器)和用户交互接口(诸如,键盘、鼠标、触摸输入装置等)。电子设备800的所有组件可经由总线和/或网络而彼此连接。
根据本公开的示例性实施例,还可提供一种计算机可读存储介质,当计算机可读存储介质中的指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的视频编码方法或视频解码方法。这里的计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储器、硬盘驱动器(HDD)、固态硬盘(SSD)、卡式存储器(诸如,多媒体卡、安全数字(SD)卡或极速数字(XD)卡)、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及任何其他装置,所述任何其他装置被配置为以非暂时性方式存储计算机程序以及任何相关联的数据、数据文件和数据结构并将所述计算机程序以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机使得处理器或计算机能执行所述计算机程序。上述计算机可读存储介质中的计算机程序可在诸如客户端、主机、代理装置、服务器等计算机设备中部署的环境中运行,此外,在一个示例中,计算机程序以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上,使得计算机程序以及任何相关联的数据、数据文件和数据结构通过一个或多个处理器或计算机以分布式方式存储、访问和执行。
根据本公开的示例性实施例,还可提供一种计算机程序产品,该计算机程序产品包括计算机指令,计算机指令被至少一个处理器运行时,促使至少一个处理器执行根据本公开的示例性实施例的视频编码方法或视频解码方法。
根据本公开的示例性实施例的视频编码方法和装置、视频解码方法和装置,在确定基础运动矢量的选择来源时,采用了先计算合并候选列表中的每个合并候选运动矢量对应的预测代价,再据此初筛合并候选运动矢量的方案,相较于初筛时直接选择合并候选列表中的前两个合并候选运动矢量的方案,能够提升确定出的基础运动矢量是最佳选择的可能性,从而能够在后续编码中使用较小的缩放步长和较小的预测残差,降低码率消耗,提升编码性能。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (26)
1.一种视频编码方法,其特征在于,所述视频编码方法包括:
获取第一图像帧中第一块的合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;
计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;
基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;
从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;
基于所述基础运动矢量,获得所述第一块的编码信息。
2.如权利要求1所述的视频编码方法,其特征在于,所述计算每个所述合并候选运动矢量对应的第一预测代价,包括:
获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;
针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;
计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
3.如权利要求2所述的视频编码方法,其特征在于,所述计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,包括:
计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
4.如权利要求1所述的视频编码方法,其特征在于,所述基于所述基础运动矢量,获得所述第一块的编码信息,包括:
在所述第一预设数量大于1的情况下,确定所述基础运动矢量在所述第一预设数量个合并候选运动矢量中的第一标识信息,获得包括所述第一标识信息的所述编码信息。
5.如权利要求1到4中的任一权利要求所述的视频编码方法,其特征在于,所述基于所述基础运动矢量,获得所述第一块的编码信息,包括:
将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;
计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;
基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;
从所述第四预设数量个扩展运动矢量中,确定预测运动矢量;
确定所述预测运动矢量在所述第四预设数量个候选运动矢量中的第二标识信息,获得包括所述第二标识信息的所述编码信息。
6.如权利要求5所述的视频编码方法,其特征在于,所述基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个候选运动矢量,包括:
针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;
基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
7.如权利要求6所述的视频编码方法,其特征在于,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述确定所述预测运动矢量在所述第四预设数量个候选运动矢量中的第二标识信息,获得包括所述第二标识信息的所述编码信息,包括:
确定所述预测偏移方向在所述第二预设数量个预设偏移方向中的方向标识信息;
在所述第五预设数量等于1的情况下,将所述方向标识信息作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息;
在所述第五预设数量大于1的情况下,确定步长标识信息,将所述方向标识信息和所述步长标识信息共同作为所述第二标识信息,获得包括所述第二标识信息的所述编码信息,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
8.如权利要求2或3所述的视频编码方法,其特征在于,所述根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域,包括:
根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;
确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
9.如权利要求2或3所述的视频编码方法,其特征在于,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
10.如权利要求5所述的视频编码方法,其特征在于,所述视频编码方法还包括:
获得包括所述第一预设数量和所述第四预设数量的设定层级的头信息。
11.一种视频解码方法,其特征在于,所述视频解码方法包括:
获取第一图像帧中的第一块的编码信息和合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;
计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;
基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;
基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值。
12.如权利要求11所述的视频解码方法,其特征在于,所述计算每个所述合并候选运动矢量对应的第一预测代价,包括:
获取所述第一图像帧中的第一模板区域,其中,所述第一模板区域为所述第一块的相邻重建像素构成的区域;
针对每个所述合并候选运动矢量,根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域;
计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,其中,所述第二图像帧为所述第一图像帧的参考图像帧。
13.如权利要求12所述的视频解码方法,其特征在于,所述计算所述第一模板区域和所述第二模板区域的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价,包括:
计算所述第一模板区域的重建像素值和所述第二模板区域的重建像素值的差异,所述差异为所述合并候选运动矢量对应的所述第一预测代价。
14.如权利要求11到13中的任一权利要求所述的视频解码方法,其特征在于,所述基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值,包括:
从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;
基于所述基础运动矢量和所述编码信息,获得所述第一块的重建像素值。
15.如权利要求14所述的视频解码方法,其特征在于,所述从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量,包括:
在所述第一预设数量等于1的情况下,将所述第一预设数量个合并候选运动矢量作为所述基础运动矢量;
在所述第一预设数量大于1的情况下,根据所述第一预设数量个合并候选运动矢量,解析所述编码信息中的第一标识信息,得到所述基础运动矢量,其中,所述第一标识信息用于在所述第一预设数量个合并候选运动矢量中标识所述基础运动矢量。
16.如权利要求14所述的视频解码方法,其特征在于,所述基于所述基础运动矢量和所述编码信息,获得所述第一块的重建像素值,包括:
将所述基础运动矢量按照第二预设数量个预设偏移方向和第三预设数量个预设步长进行偏移处理,得到多个扩展运动矢量;
计算每个所述扩展运动矢量对应的第二预测代价,其中,所述第二预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第二预测代价对应的所述扩展运动矢量预测得到的所述第一块的像素值;
基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量;
根据所述第四预设数量个扩展运动矢量,解析所述编码信息中的第二标识信息,得到预测运动矢量,其中,所述第二标识信息用于在所述第四预设数量个扩展运动矢量中标识所述预测运动矢量;
根据所述预测运动矢量,确定所述第一块的重建像素值。
17.如权利要求16所述的视频解码方法,其特征在于,所述基于所述多个扩展运动矢量对应的所述第二预测代价,从所述多个扩展运动矢量中,选择第四预设数量个扩展运动矢量,包括:
针对每个所述预设偏移方向,基于所述预设偏移方向上的各个所述扩展运动矢量对应的所述第二预测代价,从所述预测偏移方向上的各个扩展运动矢量中,选择第五预设数量个扩展运动矢量;
基于针对每个所述预设偏移方向选择的第五预设数量个扩展运动矢量,得到所述第四预设数量个扩展运动矢量。
18.如权利要求17所述的视频解码方法,其特征在于,所述预测运动矢量是所述基础运动矢量沿预测偏移方向偏移后得到的运动矢量,其中,所述根据所述第四预设数量个扩展运动矢量,解析所述第一块中的第二标识信息,得到预测运动矢量,包括:
根据所述第二预设数量个预设偏移方向,解析所述第二标识信息中的方向标识信息,得到所述预测偏移方向,其中,所述方向标识信息用于在所述第二预设数量个预设偏移方向中标识所述预测偏移方向;
在所述第五预设数量等于1的情况下,将所述预测偏移方向上的所述第五预设数量个扩展运动矢量作为所述预测运动矢量;
在所述第五预设数量大于1的情况下,根据所述预测偏移方向上的所述第五预设数量个扩展运动矢量,解析所述第二标识信息中的步长标识信息,得到所述预测运动矢量,其中,所述步长标识信息用于在所述预测偏移方向上的所述第五预设数量个扩展运动矢量中标识所述预测运动矢量。
19.如权利要求12或13所述的视频解码方法,其特征在于,所述根据所述合并候选运动矢量,确定第二图像帧中与所述第一模板区域相对应的第二模板区域,包括:
根据所述合并候选运动矢量,确定所述第二图像帧中与所述第一块相对应的第二块;
确定所述第二块的相邻重建像素构成的区域,作为所述第二模板区域。
20.如权利要求12或13所述的视频解码方法,其特征在于,所述相邻重建像素包括上侧相邻重建像素和/或左侧相邻重建像素。
21.如权利要求16所述的视频解码方法,其特征在于,所述视频解码方法还包括:
基于设定层级的头信息,获得所述第一预设数量和所述第四预设数量。
22.一种视频编码装置,其特征在于,所述视频编码装置包括:
获取单元,被配置为执行获取第一图像帧中的第一块的合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;
计算单元,被配置为执行计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;
筛选单元,被配置为执行基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;
确定单元,被配置为执行从所述第一预设数量个合并候选运动矢量中,确定基础运动矢量;
执行单元,被配置为执行基于所述基础运动矢量,获得所述第一块的编码信息。
23.一种视频解码装置,其特征在于,所述视频解码装置包括:
获取单元,被配置为执行获取第一图像帧中的第一块的编码信息和合并候选列表,其中,所述合并候选列表包括多个合并候选运动矢量;
计算单元,被配置为执行计算每个所述合并候选运动矢量对应的第一预测代价,其中,所述第一预测代价为所述第一块的像素值与预测像素值的差异,所述预测像素值为利用与所述第一预测代价对应的所述合并候选运动矢量预测得到的所述第一块的像素值;
筛选单元,被配置为执行基于每个所述合并候选运动矢量对应的所述第一预测代价,从所述多个合并候选运动矢量中,选择第一预设数量个合并候选运动矢量;
解码单元,被配置为执行基于所述第一预设数量个合并候选运动矢量和所述编码信息,获得所述第一块的重建像素值。
24.一种电子设备,其特征在于,包括:
至少一个处理器;
至少一个存储计算机可执行指令的存储器,
其中,所述计算机可执行指令在被所述至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到10中的任一权利要求所述的视频编码方法或如权利要求11到21中的任一权利要求所述的视频解码方法。
25.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令被至少一个处理器运行时,促使所述至少一个处理器执行如权利要求1到10中的任一权利要求所述的视频编码方法或如权利要求11到21中的任一权利要求所述的视频解码方法。
26.一种计算机程序产品,包括计算机指令,其特征在于,所述计算机指令被至少一个处理器执行时实现如权利要求1到10中的任一权利要求所述的视频编码方法或如权利要求11到21中的任一权利要求所述的视频解码方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211003526.6A CN115086678B (zh) | 2022-08-22 | 2022-08-22 | 视频编码方法和装置、视频解码方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211003526.6A CN115086678B (zh) | 2022-08-22 | 2022-08-22 | 视频编码方法和装置、视频解码方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115086678A true CN115086678A (zh) | 2022-09-20 |
CN115086678B CN115086678B (zh) | 2022-12-27 |
Family
ID=83244829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211003526.6A Active CN115086678B (zh) | 2022-08-22 | 2022-08-22 | 视频编码方法和装置、视频解码方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115086678B (zh) |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158709A (zh) * | 2011-05-27 | 2011-08-17 | 山东大学 | 一种解码端可推导的运动补偿预测方法 |
US20150055706A1 (en) * | 2013-08-23 | 2015-02-26 | Google Inc. | Video coding using reference motion vectors |
CN107113440A (zh) * | 2014-10-31 | 2017-08-29 | 三星电子株式会社 | 使用高精度跳过编码的视频编码设备和视频解码设备及其方法 |
WO2019192301A1 (zh) * | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 视频图像处理方法与装置 |
CN110719482A (zh) * | 2018-07-13 | 2020-01-21 | 腾讯美国有限责任公司 | 视频编解码的方法、装置、设备以及存储介质 |
WO2020138997A1 (ko) * | 2018-12-28 | 2020-07-02 | 엘지전자 주식회사 | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
JP2020108012A (ja) * | 2018-12-27 | 2020-07-09 | シャープ株式会社 | 画像復号装置および画像符号化装置 |
CN111462170A (zh) * | 2020-03-30 | 2020-07-28 | Oppo广东移动通信有限公司 | 运动估计方法、运动估计装置、存储介质与电子设备 |
US20200275117A1 (en) * | 2017-09-19 | 2020-08-27 | Samsung Electonics Co., Ltd | Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information |
CN111684799A (zh) * | 2019-06-25 | 2020-09-18 | 北京大学 | 视频处理方法和装置 |
CN112055208A (zh) * | 2020-08-22 | 2020-12-08 | 浙江大华技术股份有限公司 | 视频编码方法、设备及存储装置 |
CN112135149A (zh) * | 2019-06-24 | 2020-12-25 | 华为技术有限公司 | 语法元素的熵编码/解码方法、装置以及编解码器 |
WO2021130357A1 (en) * | 2019-12-27 | 2021-07-01 | Koninklijke Kpn N.V. | Motion vector prediction for video coding |
US20210329292A1 (en) * | 2018-09-17 | 2021-10-21 | Samsung Electronics Co., Ltd. | Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information |
CN114009033A (zh) * | 2019-05-30 | 2022-02-01 | 北京达佳互联信息技术有限公司 | 用于用信号通知对称运动矢量差模式的方法和装置 |
US20220109828A1 (en) * | 2019-06-14 | 2022-04-07 | Lg Electronics Inc. | Inter prediction-based image coding method and device |
WO2022072242A1 (en) * | 2020-10-01 | 2022-04-07 | Qualcomm Incorporated | Coding video data using pose information of a user |
CN114339261A (zh) * | 2021-12-14 | 2022-04-12 | 浙江大华技术股份有限公司 | 帧间预测方法、视频编码方法、视频解码方法及装置 |
-
2022
- 2022-08-22 CN CN202211003526.6A patent/CN115086678B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158709A (zh) * | 2011-05-27 | 2011-08-17 | 山东大学 | 一种解码端可推导的运动补偿预测方法 |
US20150055706A1 (en) * | 2013-08-23 | 2015-02-26 | Google Inc. | Video coding using reference motion vectors |
CN107113440A (zh) * | 2014-10-31 | 2017-08-29 | 三星电子株式会社 | 使用高精度跳过编码的视频编码设备和视频解码设备及其方法 |
US20200275117A1 (en) * | 2017-09-19 | 2020-08-27 | Samsung Electonics Co., Ltd | Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information |
WO2019192301A1 (zh) * | 2018-04-02 | 2019-10-10 | 深圳市大疆创新科技有限公司 | 视频图像处理方法与装置 |
CN110719482A (zh) * | 2018-07-13 | 2020-01-21 | 腾讯美国有限责任公司 | 视频编解码的方法、装置、设备以及存储介质 |
US20210329292A1 (en) * | 2018-09-17 | 2021-10-21 | Samsung Electronics Co., Ltd. | Method for encoding and decoding motion information, and apparatus for encoding and decoding motion information |
JP2020108012A (ja) * | 2018-12-27 | 2020-07-09 | シャープ株式会社 | 画像復号装置および画像符号化装置 |
WO2020138997A1 (ko) * | 2018-12-28 | 2020-07-02 | 엘지전자 주식회사 | 화면간 예측을 사용하여 비디오 신호를 처리하기 위한 방법 및 장치 |
CN114009033A (zh) * | 2019-05-30 | 2022-02-01 | 北京达佳互联信息技术有限公司 | 用于用信号通知对称运动矢量差模式的方法和装置 |
US20220109828A1 (en) * | 2019-06-14 | 2022-04-07 | Lg Electronics Inc. | Inter prediction-based image coding method and device |
CN112135149A (zh) * | 2019-06-24 | 2020-12-25 | 华为技术有限公司 | 语法元素的熵编码/解码方法、装置以及编解码器 |
CN111684799A (zh) * | 2019-06-25 | 2020-09-18 | 北京大学 | 视频处理方法和装置 |
WO2021130357A1 (en) * | 2019-12-27 | 2021-07-01 | Koninklijke Kpn N.V. | Motion vector prediction for video coding |
CN111462170A (zh) * | 2020-03-30 | 2020-07-28 | Oppo广东移动通信有限公司 | 运动估计方法、运动估计装置、存储介质与电子设备 |
CN112055208A (zh) * | 2020-08-22 | 2020-12-08 | 浙江大华技术股份有限公司 | 视频编码方法、设备及存储装置 |
WO2022072242A1 (en) * | 2020-10-01 | 2022-04-07 | Qualcomm Incorporated | Coding video data using pose information of a user |
CN114339261A (zh) * | 2021-12-14 | 2022-04-12 | 浙江大华技术股份有限公司 | 帧间预测方法、视频编码方法、视频解码方法及装置 |
Non-Patent Citations (3)
Title |
---|
NAERI PARK: "CE4-related : Candidates optimization on MMVD", 《JOINT VIDEO EXPERTS TEAM (JVET)OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 13TH MEETING: MARRAKECH, MA, 9–18 JAN. 2019》 * |
SEUNGSOO JEONG: "Proposed WD for CE4 Ultimate motion vector expression (Test 4.5.4)", 《JOINT VIDEO EXPERTS TEAM (JVET) OF ITU-T SG 16 WP 3 AND ISO/IEC JTC 1/SC 29/WG 11 12TH MEETING: MACAO, CN, 3–12 OCT. 2018》 * |
朱秀昌等: "《H.265/HEVC视频编码新标准及其扩展》", 31 July 2016 * |
Also Published As
Publication number | Publication date |
---|---|
CN115086678B (zh) | 2022-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2708440C1 (ru) | Устройство и способ кодирования изображения, устройство и способ декодирования изображения и носители данных | |
KR102570488B1 (ko) | 다중 참조 예측을 위한 움직임 벡터 개선 | |
US10284846B2 (en) | Image predictive encoding and decoding device | |
JP7571105B2 (ja) | 動きベクトル精密化および動き補償のためのメモリアクセスウィンドウおよびパディング | |
CN115243051B (zh) | 用于运动向量修正的受限存储器访问窗口 | |
KR102434319B1 (ko) | 메모리 액세스가 감소된 fruc 모드에서 비디오 데이터를 인코딩 또는 디코딩하기 위한 방법 및 장치 | |
CN111567047B (zh) | 进行子预测块运动矢量推导的存储器访问窗口 | |
CN111201795B (zh) | 存储访问窗口和用于运动矢量修正的填充 | |
CN111201792B (zh) | 指向分数像素点位置的运动矢量的修正运动矢量 | |
CN110832862A (zh) | 解码端运动矢量导出的容错与并行处理 | |
CN110710212A (zh) | 通过子像素运动矢量细化对视频数据进行编码或解码的方法和装置 | |
KR20190013908A (ko) | 인터 프레임 예측 코딩 방법 및 장치 | |
US11539947B2 (en) | Refinement of internal sub-blocks of a coding unit | |
CN115086678B (zh) | 视频编码方法和装置、视频解码方法和装置 | |
CN116055749A (zh) | 视频处理方法及装置 | |
US11563970B2 (en) | Method and apparatus for generalized OBMC | |
CN116567259A (zh) | 视频编码方法和解码方法、装置、电子设备及存储介质 | |
CN116896632A (zh) | 视频编码方法及装置 | |
CN112565789B (zh) | 视频解码及编码方法、装置、计算机可读介质及电子设备 | |
JP2019530299A (ja) | 画像コーディング/デコーディング方法、装置及び画像処理機器 | |
CN116708826A (zh) | 视频编码方法及装置、视频解码方法及装置 | |
CN118317108A (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 |