用于色度子块的仿射帧间预测的方法及装置与流程

文档序号:36477080发布日期:2023-12-25 00:58阅读:37来源:国知局
用于色度子块的仿射帧间预测的方法及装置与流程

本发明实施例大体上涉及图像处理领域,更具体地涉及仿射帧间预测(仿射运动补偿),尤其涉及一种根据色度格式进行的用于色度子块仿射帧间预测的运动矢量推导方法及装置以及用于色度子块的仿射帧间预测的方法及装置。


背景技术:

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

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

3、具体地,目前的通用视频编码及测试模型(versatile video coding and testmodel,vtm)译码器主要支持色度格式4:2:0作为输入图像格式。vtm译码器在输入色度格式为4:4:4时可能会产生故障。为了避免这种情况,非常需要支持其它色度格式(例如4:4:4或4:2:2)的译码器,而且很多应用甚至还必须使用这样的译码器。


技术实现思路

1、鉴于上述问题,本发明提出修改视频译码过程以支持多种色度格式。具体地,本技术实施例旨在提供一种根据色度格式进行的用于色度子块仿射帧间预测的运动矢量推导装置、编码器、解码器及多种对应方法。所述色度格式可以是多种支持色度格式之一。本技术旨在提高译码性能。

2、本发明实施例由独立权利要求的特征定义,而这些实施例的其它有利实现方式由从属权利要求的特征定义。

3、特定实施例在所附独立权利要求中概述,其它实施例在从属权利要求中概述。

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

5、根据本发明的第一方面,提供了一种色度运动矢量推导方法,用于当前图像块的仿射帧间预测中,所述当前图像块包括亮度块和并置色度块。所述方法包括:

6、根据色度格式信息,确定水平方向和垂直方向上的色度缩放因子(即所述色度缩放因子的值),其中,所述色度格式信息表示所述当前图像块所属的当前图像的色度格式;

7、根据所述色度缩放因子的值,确定所述亮度块的亮度子块集合(s);根据所述亮度子块集合(s)中的一个或多个亮度子块(例如一个或两个亮度子块)的运动矢量,确定所述色度块的色度子块的运动矢量。

8、在本发明中,由于(亮度或色度)块或子块可以由其位置(location/position)或索引表示,所以选择/确定块或子块就是指选择或确定所述块或子块的位置或索引。

9、需要说明的是,本发明中使用的术语“块”、“编码块”或“图像块”可以表示变换单元(transform unit,tu)、预测单元(prediction unit,pu)、编码单元(coding unit,cu)等。在通用视频编码(versatile video coding,vvc)中,除使用tu分块(tiling)或子块变换(sub block transform,sbt)的情况之外,变换单元和编码单元通常是相互对齐的。因此,术语“块”、“编码块”、“图像块”和“变换块”在本发明中可以互换,术语“块大小”和“变换块大小”在本发明中可以互换。术语“样本”和“像素”在本发明中也可以互换。

10、本发明涉及一种在根据亮度运动矢量获取色度运动矢量时考虑图像色度格式的方法。通过取亮度运动矢量的平均值,对亮度运动场执行线性子采样。当色度颜色平面的高度与亮度平面的高度相同时,发现选择水平相邻的亮度块的运动矢量更合适,如此这些亮度块具有相同的垂直位置。根据图像色度格式选择亮度运动矢量,由于亮度运动矢量场子采样更精确,所以色度运动场更精确。这种对色度格式的依赖性能够在对亮度运动矢量求平均以生成色度运动矢量时选择最合适的亮度块。由于运动场插值更精确,所以预测误差减小,带来的技术效果是压缩性能提升,因此译码性能得到提升。

11、根据所述第一方面,在所述方法的一种可能实现方式中,所述亮度子块集合(s)根据所述水平方向和垂直方向上的色度缩放因子的值确定。也就是说,所述一个或多个亮度子块(例如一个或两个亮度子块)根据所述水平方向和垂直方向上的色度缩放因子的值确定。

12、根据所述第一方面,在所述方法的一种可能实现方式中,所述水平方向和垂直方向上的色度缩放因子由变量subwidthc和subheightc表示。

13、根据所述第一方面,在所述方法的一种可能实现方式中,所述亮度子块的位置都由水平方向上的子块索引和垂直方向上的子块索引表示,色度子块的位置都由水平方向上的子块索引和垂直方向上的子块索引表示。

14、根据所述第一方面,在所述方法的一种可能实现方式中,所述集合(s)中的一个或多个亮度子块(例如一个或两个亮度子块)的位置都由水平方向上的子块索引和垂直方向上的子块索引表示。

15、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果所述变量subwidthc和subheightc都等于1,则所述亮度子块集合(s)包括:

16、索引为s0=(xsbidx,ysbidx)的亮度子块;

17、如果subwidthc和subheightc中的至少一个不等于1,则所述亮度子块集合(s)包括:

18、索引为s0=((xsbidx>>(subwidthc–1)<<(subwidthc–1)),(ysbidx>>(subheightc–1)<<(subheightc–1)))的第一亮度子块,以及

19、索引为s1=((xsbidx>>(subwidthc–1)<<(subwidthc–1))+(subwidthc–1),(ysbidx>>(subheightc–1)<<(subheightc–1))+(subheightc–1))的第二亮度子块,

20、其中,subwidthc和subheightc分别表示所述水平方向和垂直方向上的色度缩放因子,

21、xsbidx和ysbidx分别表示所述集合(s)中的一个亮度子块在水平方向上的子块索引和在垂直方向上的子块索引,“<<”表示算术左移,“>>”表示算术右移,xsbidx=0..numsbx–1且ysbidx=0..numsby–1,numsbx表示所述亮度块中沿水平方向的亮度子块的数量,numsby表示所述亮度块中沿垂直方向的亮度子块的数量。

22、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,水平方向上的色度子块的数量和垂直方向上的色度子块的数量分别与水平方向上的亮度子块的数量和垂直方向上的亮度子块的数量相同。

23、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果subwidthc和subheightc都等于1,则所述亮度子块集合(s)包括:

24、索引为s0=(xcsbidx,ycsbidx)的亮度子块;

25、如果subwidthc和subheightc中的至少一个不等于1,则所述亮度子块集合(s)包括:

26、索引为s0=((xcsbidx>>(subwidthc–1)<<(subwidthc–1)),(ycsbidx>>(subheightc–1)<<(subheightc–1)))的第一亮度子块,以及

27、索引为s1=(xcsbidx>>(subwidthc–1)<<(subwidthc–1))+(subwidthc–1),(ycsbidx>>(subheightc–1)<<(subheightc–1))+(subheightc–1))的第二亮度子块,

28、其中,所述变量subwidthc和subheightc分别表示所述水平方向和垂直方向上的色度缩放因子;xcsbidx和ycsbidx分别表示所述集合(s)中的一个亮度子块在水平方向上的子块索引和在垂直方向上的子块索引,xcsbidx=0..numcsbx–1且ycsbidx=0..numcsby–1,numcsbx表示所述色度块中沿水平方向的色度子块的数量,numcsby表示所述色度块中沿垂直方向的色度子块的数量。

29、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,每个所述色度子块的大小与每个所述亮度子块的大小相同。本发明可以实现,当限定色度子块的数量等于亮度子块的数量时,并且当色度颜色平面大小等于亮度平面大小(例如输入图像的色度格式为4:4:4)时,相邻色度子块的运动矢量可以取相同的值。当执行这一处理步骤时,跳过重复值计算步骤可以实现优化。

30、本发明公开了一种限定色度子块大小等于亮度子块大小的方法。在这种情况下,统一进行亮度和色度处理可以简化实现方式,自然就避免了冗余的运动矢量计算。

31、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,在每个所述色度子块的大小与每个所述亮度子块的大小相同的情况下,所述水平方向上的色度子块的数量根据所述水平方向上的亮度子块的数量和所述水平方向上的色度缩放因子的值确定;

32、所述垂直方向上的色度子块的数量根据所述垂直方向上的亮度子块的数量和所述垂直方向上的色度缩放因子的值确定。

33、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,xcsbidx根据subwidth的步长值和xsbidx获取,ycsbidx根据subheightc的步长值和ysbidx获取。

34、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,

35、numcsbx=numsbx>>(subwidthc–1),

36、numcsby=numsby>>(subheightc–1),

37、numcsbx和numcsby分别表示水平方向上的色度子块的数量和垂直方向上的色度子块的数量,

38、numsbx和numsby分别表示所述亮度块分别在水平方向上的亮度子块的数量和垂直方向上的亮度子块的数量。

39、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,对于所述色度块,所述亮度子块集合(s)包括具有以下索引的一个或多个子块:

40、s0=(xsbidxl,ysbidxl),

41、s1=(xsbidxl,ysbidxl+(subheightc–1)),

42、s2=(xsbidxl+(subwidthc–1),ysbidxl),

43、s3=(xsbidxl+(subwidthc–1),ysbidxl+(subheightc–1)),

44、其中,所述亮度块位置或索引s0由水平方向上的子块索引xsbidxl和垂直方向上的子块索引ysbidxl表示,

45、对于色度块位置(例如mvclx[xsbidxl][ysbidxl]中的[xsbidxl][ysbidxl]),

46、所述亮度块位置或索引s1由水平方向上的子块索引xsbidxl和垂直方向上的子块索引ysbidxl+(subheightc–1)表示,

47、所述亮度块位置或索引s2由水平方向上的子块索引xsbidxl+(subwidthc–1)和垂直方向上的子块索引ysbidxl表示,

48、所述亮度块位置或索引s3由水平方向上的子块索引xsbidxl+(subwidthc–1)和垂直方向上的子块索引ysbidxl+(subheightc–1)表示。

49、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述亮度子块集合(s)包括具有以下索引的两个亮度子块:

50、s0=(xsbidxl,ysbidxl),

51、s1=(xsbidxl+(subwidthc–1),ysbidxl+(subheightc–1)),

52、其中,所述亮度块位置或索引s0由水平方向上的子块索引xsbidxl和垂直方向上的子块索引ysbidxl表示,

53、所述亮度块位置或索引s1由水平方向上的子块索引xsbidxl+(subwidthc–1)和垂直方向上的子块索引ysbidxl+(subheightc–1)表示。

54、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,

55、在色度格式为4:4:4的情况下,所述集合(s)包括与所述色度子块并置的一个亮度子块;

56、当所述色度格式为4:2:2时,所述集合(s)包括两个水平相邻的亮度子块,

57、当所述色度格式为4:2:0时,所述集合(s)包括两个对角线的亮度子块。

58、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果所述集合(s)中包括多个亮度子块,则所述根据亮度子块集合(s)中的至少一个亮度子块的运动矢量,确定色度子块的运动矢量包括:

59、对所述集合s中的一个或多个亮度子块的运动矢量求平均;

60、根据所述平均亮度运动矢量,推导所述色度子块的运动矢量。

61、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述对所述集合s中的亮度子块的运动矢量求平均包括:

62、对所述集合s中的亮度子块的运动矢量的水平分量求平均;和/或

63、对所述集合s中的亮度子块的运动矢量的垂直分量求平均。

64、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述对所述集合s中的亮度子块的运动矢量求平均包括:检查所述集合s中的亮度子块的运动矢量之和是否大于或等于0。

65、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述对所述集合s中的亮度子块的运动矢量求平均包括:

66、

67、如果mvavglx[0]大于或等于0,则

68、mvavglx[0]=(mvavglx[0]+(n>>1)–1)>>log2(n);否则,

69、mvavglx[0]=–((–mvavglx[0]+(n>>1)–1)>>log2(n));

70、如果mvavglx[1]大于或等于0,则

71、mvavglx[1]=(mvavglx[1]+(n>>1)–1)>>log2(n);否则,

72、mvavglx[1]=–((–mvavglx[1]+(n>>1)–1)>>log2(n)),

73、其中,mvavglx表示求平均得到的结果,mvavglx[0]表示运动矢量mvavglx的水平分量,mvavglx[1]表示mvavglx的垂直分量,和表示亮度子块集合(s)中的子块si在运动矢量阵列中的水平和垂直索引,表示索引为和的一个亮度子块的运动矢量,n为所述亮度子块集合(s)中的元素(例如亮度子块)的数量,log2(n)表示n的以2为底的对数且是将数字2求幂才能获得值n的幂,“>>”表示算术右移。

74、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,n等于2。

75、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述对所述集合s中的亮度子块的运动矢量求平均包括:

76、mvavglx=mvlx[(xsbidx>>(subwidthc–1)<<(subwidthc–1))]

77、[(ysbidx>>(subheightc–1)<<(subheightc–1))]+

78、mvlx[(xsbidx>>(subwidthc–1)<<(subwidthc–1))+(subwidthc–1)]

79、[(ysbidx>>(subheightc–1)<<(subheightc–1))+(subheightc–1)];

80、如果mvavglx[0]>=0,则

81、mvavglx[0]=(mvavglx[0]+1–(mvavglx[0]>=0))>>1;

82、如果mvavglx[1]>=0,则

83、mvavglx[1]=(mvavglx[1]+1–(mvavglx[1]>=0))>>1,

84、其中,mvavglx[0]表示所述平均运动矢量mvavglx的水平分量,mvavglx[1]表示所述平均运动矢量mvavglx的垂直分量,subwidthc和subheightc分别表示所述水平方向和垂直方向上的色度缩放因子,xsbidx和ysbidx分别表示所述集合(s)中的一个亮度子块在水平方向和垂直方向上的子块索引,“<<”表示算术左移,“>>”表示算术右移。

85、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,如果为情况1:mvavglx[0]>=0,则“(mvavglx[0]>=0)”的值等于1;如果为情况2:mvavglx[0]<0,则“(mvavglx[0]>=0)”的值等于0。

86、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述对所述集合s中的亮度子块的运动矢量求平均包括:

87、当所述集合s中的亮度子块的运动矢量之和大于或等于0时,根据所述亮度子块集合(s)中的元素(例如亮度子块)的数量对所述集合s中的亮度子块的运动矢量之和执行右移运算。

88、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述根据色度格式信息,确定水平方向和垂直方向上的色度缩放因子包括:

89、根据所述色度格式信息与水平方向和垂直方向上的色度缩放因子之间的映射关系,确定所述水平方向和垂直方向上的色度缩放因子。

90、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述方法还包括:

91、根据所述确定的运动矢量,生成所述色度子块的预测样本。

92、根据所述第一方面或所述第一方面的任一上述实现方式,在所述方法的一种可能实现方式中,所述色度格式包括yuv 4:2:2格式、yuv 4:2:0格式或yuv 4:4:4格式中的一种。

93、所述第一方面或所述第一方面的任一上述实现方式提供的方法由一种编码设备实现。

94、所述第一方面或所述第一方面的任一上述实现方式提供的方法由一种解码设备实现。

95、根据本发明第二方面,提供了一种用于当前图像块的仿射帧间预测的装置,所述当前图像块包括并置的亮度块和色度块。所述装置包括:

96、确定模块,用于:根据色度格式信息,确定水平方向和垂直方向上的色度缩放因子,其中,所述色度格式信息表示所述当前图像块所属的当前图像的色度格式;根据所述色度缩放因子的值,确定所述亮度块的亮度子块集合(s);

97、运动矢量推导模块,用于根据所述亮度子块集合(s)中的一个或多个亮度子块的运动矢量,确定所述色度块的色度子块的运动矢量。

98、本发明所述第一方面提供的方法可以由本发明所述第二方面提供的装置执行。本发明第二方面提供的装置的其它特征和实现方式与本发明第一方面提供的方法的特征和实现方式对应。

99、根据第三方面,本发明涉及一种对视频流进行解码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行所述第一方面提供的方法。

100、根据第四方面,本发明涉及一种对视频流进行编码的装置。所述装置包括处理器和存储器。所述存储器存储指令,所述指令使得所述处理器执行所述第一方面提供的方法。

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

102、根据第六方面,本发明涉及一种包括程序代码的计算机程序。所述程序代码在计算机上执行时,用于执行所述第一方面或所述第一方面的任一可能实施例提供的方法。

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

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