编码器、解码器及对应方法与流程

文档序号:36810407发布日期:2024-01-26 16:11阅读:20来源:国知局
编码器、解码器及对应方法与流程

本技术(发明)实施例大体上涉及图像处理领域,更具体地涉及光流修正。


背景技术:

1、视频译码(视频编码和解码)广泛用于数字视频应用,例如,广播数字电视、基于互联网和移动网络的视频传输、实时会话应用(例如,视频聊天、视频会议)、dvd和蓝光光盘、视频内容采集和编辑系统以及安全应用的可携式摄像机。

2、即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量有限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在信源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,由解码视频数据的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。

3、具体地,(解码器侧)运动矢量修正((decoder side)motion vector refinement,(d)mvr)和双向光流(bi-directional optical flow,bdof)代表提高帧间预测图像质量的重要技术。但是,这两种过程都需要相对高的计算负载。因此,考虑到最终的译码效率,需要确定是否应用(d)mvr和bdof。


技术实现思路

1、本技术实施例提供了根据独立权利要求所述的用于编码和解码的方法和装置。

2、上述和其它目的通过独立权利要求请求保护的主题来实现。其它实现方式在从属权利要求、说明书和附图中是显而易见的。

3、本技术提供了一种在编码设备中实现的对视频码流进行编码的方法。所述视频码流包括多个图像的经译码数据,所述方法包括:

4、确定针对所述多个图像中的当前图像的至少一个区域,是否启用基于解码器侧运动矢量修正(decoder motion vector refinement,dmvr)的双向帧间预测;根据是否启用基于dmvr的双向帧间预测的确定结果,在低于序列参数集(sequence parameter set,sps)级别的分层语法结构级别上设置dmvr禁用标志(例如1位标志)的值,其中,所述禁用标志的值表示针对所述当前图像的至少一个区域,是否启用基于dmvr的双向帧间预测。

5、与现有技术相反,是否启用基于dmvr的双向帧间预测是在低于所述sps级别的分层结构语法结构级别上标记的。因此,启用或禁用dmvr可以在比现有技术粒度小的粒度上进行指示,从而显著提高译码效率。例如,只针对一个序列的一些图像或某一图像的一些条带启用dmvr,而针对其它图像或其它条带不启用。

6、所述编码方法还可以包括:将低分层语法结构级别上的dmvr禁用标志的值编码到所述视频码流中。可选地,编码所述dmvr禁用标志的值可以直接执行,无需设置dmvr禁用标志(例如1位标志)的值。

7、例如,所述当前图像的至少一个区域为所述当前图像,所述禁用标志被设置在图像参数集(picture parameter set,pps)级别上。再如,所述当前图像的至少一个区域为所述当前图像的一个条带,所述禁用标志被设置在条带头级别上。

8、具体地,当满足至少一个预定义条件时,可以确定禁用基于dmvr的双向帧间预测。基于选择的预定义条件,可以很容易实现对有关启用或禁用dmvr的决策过程的微调。

9、根据一方面,所述方法还包括:确定所述当前图像的至少一个区域与位于所述当前图像的至少一个区域一侧的一个参考图像的至少一个区域和位于所述当前图像的至少一个区域另一侧的另一个参考图像的至少一个区域之间的运动矢量差值;所述至少一个预定义条件包括所述确定的运动矢量差值不同时具有相同绝对值和相反符号。应用这一条件可以产生有关译码效率的可靠决策过程。

10、根据另一方面,所述确定针对所述至少一个区域,是否启用基于dmvr的双向帧间预测包括:确定所述当前图像的至少一个区域内是否存在屏幕内容;所述至少一个预定义条件包括确定所述当前图像的至少一个区域内存在屏幕内容。应用这一条件也可以产生有关译码效率的可靠决策过程。

11、确定是否存在屏幕内容的具体方式如下。所述确定所述当前图像的至少一个区域内是否存在屏幕内容包括:从所述当前图像的至少一个区域内的m个样本中的每个样本开始,分别计算所述当前图像的至少一个区域内的多个块的n位哈希值,其中,n、m和k为整数值;构建包括k个条目的哈希表,其中,所述k个条目中的每个条目包括计算出n位哈希值等于预定义值的多个块的计数值;确定包括计数值大于1的条目的总和;当所述确定的条目的总和大于预定义阈值时,确定所述当前图像的至少一个区域内存在屏幕内容。上述多个块可以由4×4个样本组成。合适的预定义阈值由表示所述当前图像的至少一个区域内的样本总数的预定义百分比的阈值给出。这一过程可以可靠地确定是否存在重要的屏幕内容。

12、根据一方面,所述确定针对所述至少一个区域,是否启用基于dmvr的双向帧间预测包括:在不执行基于解码器侧运动矢量修正的双向帧间预测的情况下,计算所述至少一个区域内的多个编码单元的预测残差的成本的第一总和;在执行运动矢量修正的情况下,计算所述至少一个区域内的多个编码单元的预测残差的成本的第二总和;当所述计算出的第二总和大于所述计算出的第一总和时,确定禁用基于dmvr的双向帧间预测。所述成本可以是基于绝对变换差(absolute transform differences,satd)的成本。这一标准也可以产生高效译码。具体地,当所述当前图像的至少一个区域为所述当前图像时,可以确定,当所述计算出的第二总和大于所述计算出的第一总和时,针对所述当前图像的后续图像,不启用dmvr双向帧间预测。应用这一条件也可以产生有关译码效率的可靠决策过程。

13、上述实施例还可以包括:在所述sps级别上设置dmvr启用标志的值,其中,所述启用标志的值表示针对所述多个图像,是否启用基于dmvr的双向帧间预测。当所述启用标志表示禁用dmvr时,不需要在低分层级别上确定是否启用dmvr,因此可以节省在低分层级别上确定是否启用dmvr的处理负载。

14、上述实施例还可以包括:将所述启用标志的值编码到所述视频码流中。

15、关于确定是否启用双向光流(bi-directional optical flow,bdof)处理,可以执行与上述过程类似的过程,并提供相同或类似的优点。相应地,本技术提供了一种在编码设备中实现的对视频码流进行编码的方法。所述视频码流包括多个图像的经译码数据,所述方法包括:

16、确定针对所述多个图像中的当前图像的至少一个区域,是否启用双向光流(bi-directional optical flow,bdof)帧间预测;

17、根据是否启用bdof帧间预测的确定结果,在低于序列参数集(sequenceparameter set,sps)级别的分层语法结构级别上设置bdof禁用标志(例如1位标志)的值,其中,所述禁用标志的值表示针对所述当前图像的至少一个区域,是否启用bdof帧间预测。

18、所述编码方法还可以包括:将低分层语法结构级别上的bdof禁用标志的值编码到所述视频码流中。

19、同样,所述当前图像的至少一个区域可以为所述当前图像,所述禁用标志可以被设置在图像参数集(picture parameter set,pps)级别上,或者所述当前图像的至少一个区域可以为所述当前图像的一个条带,所述禁用标志可以被设置在条带头级别上。

20、当满足至少一个预定义条件时,可以确定禁用bdof帧间预测。合适的条件包括以下内容。所述方法可以包括:确定所述当前图像的至少一个区域与位于所述当前图像的至少一个区域一侧的一个参考图像的至少一个区域和位于所述当前图像的至少一个区域另一侧的另一个参考图像的至少一个区域之间的运动矢量差值;所述至少一个预定义条件包括所述确定的运动矢量差值不同时具有相同绝对值和相反符号。

21、同样,所述方法还可以包括:在所述sps级别上设置bdof启用标志的值,其中,所述启用标志的值表示针对所述多个图像,是否启用bdof帧间预测。

22、当所述启用标志表示禁用bdof时,不需要确定在低分层级别上是否启用bdof,因此可以节省确定在低分层级别上是否启用bdof的处理负载。

23、同样,所述方法还可以包括:将所述启用标志的值编码到所述视频码流中。

24、上述目的还通过提供一种由解码设备实现的对视频码流进行解码的方法来解决。所述视频码流包括多个图像的经译码数据,所述解码方法包括:从所述视频码流的序列参数集(sequence parameter set,sps)中解析解码器侧运动矢量修正(decoder motionvector refinement,dmvr)启用标志,其中,所述dmvr启用标志表示针对与所述sps关联的所述多个图像,是否启用基于dmvr的双向帧间预测;从低于所述视频码流的sps级别的分层语法结构级别的语法结构中解析dmvr禁用标志(例如1位标志),其中,所述dmvr禁用标志表示针对与所述语法结构关联的当前图像的至少一个区域,是否禁用基于dmvr的双向帧间预测,所述当前图像属于所述多个图像;当满足至少一个预定义条件时,对所述当前图像的至少一个区域内的当前块执行基于dmvr的双向帧间预测,以得到所述当前块的预测样本值,其中,所述至少一个预定义条件包括所述禁用标志的解析值表示启用基于dmvr的双向帧间预测。

25、本技术提供了一种有关启用或禁用双向光流处理的类似过程,即,一种由解码设备实现的对视频码流进行解码的方法。所述视频码流包括多个图像的经译码数据,所述解码方法包括:从所述视频码流的序列参数集(sequence parameter set,sps)中解析双向光流(bi-directional optical flow,bdof)启用标志,其中,所述bdof启用标志表示针对与所述sps关联的所述多个图像,是否启用bdof帧间预测;从低于所述视频码流的sps级别的分层语法结构级别的语法结构中解析bdof禁用标志(例如1位标志),其中,所述bdof禁用标志表示针对与所述语法结构关联的当前图像的至少一个区域,是否禁用bdof帧间预测,所述当前图像属于所述多个图像;当满足至少一个预定义条件时,对所述当前图像的至少一个区域内的当前块执行bdof帧间预测,以得到所述当前块的预测样本值,其中,所述至少一个预定义条件包括所述禁用标志的解析值表示启用bdof帧间预测。

26、所述当前图像的至少一个区域可以为所述当前图像,所述语法结构可以为图像参数集(picture parameter set,pps)。所述当前图像的至少一个区域可以为所述当前图像的一个条带,所述语法结构可以为条带头。

27、根据一方面,当所述dmvr启用标志的解析值表示启用dmvr时,对所述当前块执行的是基于dmvr的双向帧间预测。

28、根据另一方面,所述至少一个预定义条件(还)包括所述dmvr启用标志的解析值表示启用dmvr。

29、根据另一方面,当所述bdof启用标志的解析值表示启用bdof时,对所述当前块执行的是bdof帧间预测。

30、根据另一方面,所述至少一个预定义条件(还)包括所述bdof启用标志的解析值表示启用bdof。

31、当所述dmvr启用标志的解析值表示启用dmvr时,解析的可以是所述dmvr禁用标志。是否解析所述dmvr禁用标志可以是根据所述dmvr启用标志的解析值确定的。

32、类似地,当所述bdof启用标志的解析值表示启用bdof时,解析的可以是所述bdof禁用标志。是否解析所述bdof禁用标志可以是根据所述bdof启用标志的解析值确定的。

33、所有上述实施例都可以在编码器或解码器或计算机程序产品中实现。所述解码器和/或所述编码可以包括:一个或多个处理器;非瞬时性计算机可读存储介质,与所述一个或多个处理器耦合并存储由所述一个或多个处理器执行的程序。当所述一个或多个处理器执行所述程序时,所述解码器用于执行根据任一上述实施例所述的方法。所述解码器和/或所述编码器还可以包括处理电路,所述处理电路用于执行根据任一上述实施例所述的方法。

34、此外,下面提供了用于执行上述方法步骤的设备。单独列出的设备单元可以合并在相同的单元中,或在适当情况下由相同的单元表示。

35、本技术提供了一种用于对视频码流进行编码的设备(可以在图像编码器中使用)。所述视频码流包括多个图像的经译码数据,所述设备包括:解码器侧运动矢量修正(decoder motion vector refinement,dmvr)确定单元,用于确定针对所述多个图像中的当前图像的至少一个区域,是否启用基于dmvr的双向帧间预测;第一dmvr标志设置单元,用于根据是否启用基于dmvr的双向帧间预测的确定结果,在低于序列参数集(sequenceparameter set,sps)级别的分层语法结构级别上设置dmvr禁用标志(例如1位标志)的值,其中,所述禁用标志的值表示针对所述当前图像的至少一个区域,是否启用基于dmvr的双向帧间预测。

36、根据一方面,所述设备包括:编码单元,用于将低分层语法结构级别上的dmvr禁用标志的值编码到所述视频码流中。

37、所述当前图像的至少一个区域可以为所述当前图像,所述禁用标志可以被设置在图像参数集(picture parameter set,pps)级别上。所述当前图像的至少一个区域可以为所述当前图像的一个条带,所述禁用标志可以被设置在条带头级别上。

38、根据一方面,所述dmvr确定单元用于:当满足至少一个预定义条件时,确定禁用基于dmvr的双向帧间预测。所述设备可以包括:运动矢量差值确定单元(可以是所述dmvr确定单元的一部分),用于确定所述当前图像的至少一个区域与位于所述当前图像的至少一个区域一侧的一个参考图像的至少一个区域和位于所述当前图像的至少一个区域另一侧的另一个参考图像的至少一个区域之间的运动矢量差值;所述至少一个预定义条件包括所述确定的运动矢量差值不同时具有相同绝对值和相反符号。

39、所述确定针对所述至少一个区域,是否启用基于dmvr的双向帧间预测可以包括:确定所述当前图像的至少一个区域内是否存在屏幕内容;所述至少一个预定义条件包括确定所述当前图像的至少一个区域内存在屏幕内容。

40、所述确定所述当前图像的至少一个区域内是否存在屏幕内容可以包括:从所述当前图像的至少一个区域内的m个样本中的每个样本开始,分别计算所述当前图像的至少一个区域内的多个块的n位哈希值,其中,n、m和k为整数值;构建包括k个条目的哈希表,其中,所述k个条目中的每个条目包括计算出n位哈希值等于预定义值的多个块的计数值;确定包括计数值大于1的条目的总和;当所述确定的条目的总和大于预定义阈值时,确定所述当前图像的至少一个区域内存在屏幕内容。这里,所述多个块由4×4个样本组成。此外,所述预定义阈值可以表示所述当前图像的至少一个区域内的样本总数的预定义百分比。

41、根据又一方面,所述确定针对所述至少一个区域,是否启用基于dmvr的双向帧间预测包括:在不执行基于解码器侧运动矢量修正的双向帧间预测的情况下,计算所述至少一个区域内的多个编码单元的预测残差的成本的第一总和;在执行运动矢量修正的情况下,计算所述至少一个区域内的多个编码单元的预测残差的成本的第二总和;当所述计算出的第二总和大于所述计算出的第一总和时,确定禁用基于dmvr的双向帧间预测。所述成本可以是基于绝对变换差(absolute transform differences,satd)的成本。

42、当所述当前图像的至少一个区域为所述当前图像时,所述dmvr确定单元可以用于:当所述计算出的第二总和大于所述计算出的第一总和时,确定针对所述当前图像的后续图像,不启用dmvr双向帧间预测。

43、根据一方面,所述设备包括:第二dmvr标志设置单元(可以是所述第一dmvr标志设置单元的一部分或与所述第一dmvr标志设置单元相同),用于在所述sps级别上设置dmvr启用标志的值,其中,所述启用标志的值表示针对所述多个图像,是否启用基于dmvr的双向帧间预测。

44、根据另一方面,所述设备包括:编码单元,用于将所述dmvr启用标志的值编码到所述视频码流中。

45、本技术提供了一种类似的设备,允许对是否启用双向光流做出合适决策。这种设备可以很容易与上述设备组合起来。

46、具体地,本技术提供了一种对视频码流进行编码的设备(可以在图像编码器中使用)。所述视频码流包括多个图像的经译码数据,所述设备包括:双向光流(bi-directionaloptical flow,bdof)帧间预测确定单元,用于确定针对所述多个图像中的当前图像的至少一个区域,是否启用bdof帧间预测;

47、第一bdof标志设置单元,用于根据是否启用bdof帧间预测的确定结果,在低于序列参数集(sequence parameter set,sps)级别的分层语法结构级别上设置bdof禁用标志(例如1位标志)的值,其中,所述禁用标志的值表示针对所述当前图像的至少一个区域,是否启用bdof帧间预测。

48、根据一方面,所述设备包括:编码单元,用于将所述bdof禁用标志的值编码到所述视频码流中。

49、同样,所述当前图像的至少一个区域可以为所述当前图像,所述禁用标志可以被设置在图像参数集(picture parameter set,pps)级别上。可选地,所述当前图像的至少一个区域可以为所述当前图像的一个条带,所述禁用标志可以被设置在条带头级别上。

50、根据一方面,所述bdof帧间预测确定单元用于:当满足至少一个预定义条件时,确定禁用bdof帧间预测。

51、为此,所述设备还可以包括:运动矢量差值确定单元(可以是所述bdof确定单元的一部分),用于确定所述当前图像的至少一个区域与位于所述当前图像的至少一个区域一侧的一个参考图像的至少一个区域和位于所述当前图像的至少一个区域另一侧的另一个参考图像的至少一个区域之间的运动矢量差值;所述至少一个预定义条件包括所述确定的运动矢量差值不同时具有相同绝对值和相反符号。

52、所述设备还可以包括:第二bdof标志设置单元(可以是所述第一bdof标志设置单元的一部分或与所述第一bdof标志设置单元相同),用于在所述sps级别上设置bdof启用标志的值,其中,所述启用标志的值表示针对所述多个图像,是否启用bdof帧间预测。

53、根据另一方面,所述设备包括:编码单元,用于将所述bdof启用标志的值编码到所述视频码流中。

54、所述禁用标志通常可以为1位标志。

55、此外,本技术提供了一种对视频码流进行解码的设备(可以在图像解码器中使用)。所述视频码流包括多个图像的经译码数据,所述设备包括:第一解析单元,用于从所述视频码流的序列参数集(sequence parameter set,sps)中解析解码器侧运动矢量修正(decoder motion vector refinement,dmvr)启用标志,其中,所述dmvr启用标志表示针对与所述sps关联的所述多个图像,是否启用基于dmvr的双向帧间预测;第二解析单元,用于从低于所述视频码流的sps级别的分层语法结构级别的语法结构中解析dmvr禁用标志(例如1位标志),其中,所述dmvr禁用标志表示针对与所述语法结构关联的当前图像的至少一个区域,是否禁用基于dmvr的双向帧间预测,所述当前图像属于所述多个图像;dmvr执行单元,用于:当满足至少一个预定义条件时,对所述当前图像的至少一个区域内的当前块执行基于dmvr的双向帧间预测,以得到所述当前块的预测样本值,其中,所述至少一个预定义条件包括所述禁用标志的解析值表示启用基于dmvr的双向帧间预测。

56、类似地,本技术提供了一种对视频码流进行解码的设备(可以在图像解码器中使用)。所述视频码流包括多个图像的经译码数据,所述设备包括:第一解析单元,用于从所述视频码流的序列参数集(sequence parameter set,sps)中解析双向光流(bi-directionaloptical flow,bdof)启用标志,其中,所述bdof启用标志表示针对与所述sps关联的所述多个图像,是否启用bdof帧间预测;第二解析单元,用于从低于所述视频码流的sps级别的分层语法结构级别的语法结构中解析bdof禁用标志,其中,所述bdof禁用标志表示针对与所述语法结构关联的当前图像的至少一个区域,是否禁用bdof帧间预测,所述当前图像属于所述多个图像;bdof执行单元,用于:当满足至少一个预定义条件时,对所述当前图像的至少一个区域内的当前块执行bdof帧间预测,以得到所述当前块的预测样本值,其中,所述至少一个预定义条件包括所述禁用标志的解析值表示启用bdof帧间预测。

57、同样,所述当前图像的至少一个区域可以为所述当前图像,所述语法结构可以为图像参数集(picture parameter set,pps),或者所述当前图像的至少一个区域可以为所述当前图像的一个条带,所述语法结构可以为条带头。

58、根据另一方面,所述dmvr执行单元用于:当所述dmvr启用标志的解析值表示启用dmvr时,对所述当前块执行基于dmvr的双向帧间预测。

59、根据另一方面,所述至少一个预定义条件(还)包括所述dmvr启用标志的解析值表示启用dmvr。

60、根据另一方面,所述bdof执行单元用于:当所述bdof启用标志的解析值表示启用bdof时,对所述当前块执行bdof帧间预测。

61、根据另一方面,所述至少一个预定义条件(还)包括所述bdof启用标志的解析值表示启用bdof。

62、所述第二解析单元用于根据所述dmvr启用标志的解析值,解析或不解析所述dmvr禁用标志。所述第二解析单元用于根据所述bdof启用标志的解析值,解析或不解析所述bdof禁用标志。所述第二解析单元用于:当所述dmvr启用标志的解析值表示启用dmvr时,解析所述dmvr禁用标志。所述第二解析单元用于:当所述bdof启用标志的解析值表示启用bdof,解析所述bdof禁用标志。

63、同样,所述禁用标志通常可以为1位标志。

64、本技术提供了一种存储有指令的计算机可读存储介质。所述指令在执行时,使得一个或多个处理器用于对视频数据进行译码。所述指令使得所述一个或多个处理器执行根据任一上述实施例所述的方法。

65、本技术提供了一种包括程序代码的计算机程序。所述程序代码在计算机上执行时,用于执行根据任一上述实施例所述的方法。

66、本技术提供了一种通过包括多个语法元素用于视频信号的经编码码流。所述多个语法元素包括根据任一上述实施例所述的dmvr禁用标志。

67、所述dmvr禁用标志是在一定条件下至少基于根据任一上述实施例所述的dmvr启用标志的解析值指示的。

68、本技术提供了一种非瞬时性存储介质。所述非瞬时性存储介质包括由图像解码设备解码的经编码码流,所述经编码码流是通过将视频信号或图像信号的帧划分为多个块生成的,并且包括多个语法元素,所述多个语法元素包括根据任一上述实施例所述的dmvr禁用标志。

69、所述dmvr禁用标志是在一定条件下至少基于根据任一上述实施例所述的dmvr启用标志的解析值指示的。

70、本技术提供了一种通过包括多个语法元素用于视频信号的经编码码流。所述多个语法元素包括根据任一上述实施例所述的bdof禁用标志。

71、所述bdof禁用标志是至少基于任一上述实施例所述的bdof启用标志的解析值,根据条件指示的。

72、本技术提供了一种非瞬时性存储介质。所述非瞬时性存储介质包括由图像解码设备解码的经编码码流,所述经编码码流是通过将视频信号或图像信号的帧划分为多个块生成的,并且包括多个语法元素,所述多个语法元素包括根据任一上述实施例所述的bdof禁用标志。

73、所述dmvr禁用标志是在一定条件下至少基于根据任一上述实施例所述的bdof启用标志的解析值指示的。

74、以下附图和说明书详细阐述了一个或多个实施例。其它特征、目的和优点在说明书、附图以及权利要求书中是显而易见的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1