用于子图像运动矢量的插值滤波器限幅的制作方法
- 国知局
- 2024-09-14 14:34:41
本发明大体上涉及视频译码,具体涉及在视频译码中对图像中的子图像进行译码。
背景技术:
1、即使视频相对较短,也需要大量的视频数据来描述,当数据要在带宽容量受限的通信网络中进行流式传输或以其它方式传输时,这样可能会造成困难。因此,视频数据通常要先压缩,然后通过现代电信网络进行传输。由于内存资源可能有限,当在存储设备上存储视频时,该视频的大小也可能是一个问题。视频压缩设备通常在源侧使用软件和/或硬件对视频数据进行编码,然后进行传输或存储,从而减少表示数字视频图像所需的数据量。然后,对视频数据进行解码的视频解压缩设备在目的地侧接收压缩数据。在网络资源有限以及对更高视频质量的需求不断增长的情况下,需要改进压缩和解压缩技术,这些改进的技术在几乎不影响图像质量的情况下能够提高压缩比。
技术实现思路
1、在一个实施例中,本发明包括一种在解码器中实现的方法。所述方法包括:所述解码器的接收器接收包括当前图像的码流,其中,所述当前图像包括被根据帧间预测进行译码的子图像;所述解码器的处理器确定所述子图像中的块的运动矢量;当所述运动矢量指向所述子图像外部时以及当一个标志被设置为表示所述子图像当作图像处理时,所述处理器将限幅函数应用于参考块中的样本位置,以支持应用插值滤波器;所述处理器将所述插值滤波器应用于所述限幅函数的结果,以获得预测样本值;所述处理器根据所述预测样本值对所述块进行解码。帧间预测可以根据几种帧间预测模式中的一种来执行。某些帧间预测模式在编码器和解码器侧都生成运动矢量预测值的候选列表。这样,编码器可以通过指示候选列表中的索引来指示运动矢量,而不是指示运动矢量本身。此外,一些系统对子图像进行解码以进行独立提取。独立提取使得当前子图像可以在其它子图像中的信息没有进行解码的情况下进行解码并显示。这种情况可能会在使用指向子图像外部的运动矢量时产生错误,因为运动矢量指向的数据可能没有解码,因此不能使用。本发明包括一种表示子图像可以当作图像处理的标志。在当前子图像当作图像处理时,当前子图像可以在不参考其它子图像的情况下提取。具体地,本示例使用在应用插值滤波器时应用的限幅函数。这种限幅函数确保插值滤波器不依赖于相邻子图像中的数据,以保持子图像分开,从而支持单独提取。因此,当设置有该标志且运动矢量指向当前子图像外部时,应用限幅函数。然后,将插值滤波器应用于限幅函数的结果。因此,本示例为视频编解码器提供了额外功能,即防止在执行子图像提取时出现错误。
2、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括亮度样本双线性插值过程,所述块包括亮度样本块,所述预测样本值包括预测亮度样本值。
3、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述亮度样本双线性插值过程接收包括具有整数个样本单位的亮度位置(xintl,yintl)的输入,所述亮度样本双线性插值过程输出预测亮度样本值(predsamplelxl),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
4、xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xintl+i),
5、yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yintl+i),
6、其中,subpic_treated_as_pic_flag表示所述被设置为表示子图像当作子图像处理的标志,subpicidx表示子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示子图像的右边界的位置,subpicleftboundarypos表示子图像的左边界的位置,subpictopboundarypos表示子图像的上边界的位置,subpicbotboundarypos表示子图像的下边界的位置,clip3表示根据下式的限幅函数:
7、
8、其中,x、y和z是数字输入值。
9、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括亮度样本8抽头插值滤波过程,所述块包括亮度样本块,所述预测样本值包括预测亮度样本值。
10、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述亮度样本8抽头插值滤波过程接收包括具有整数个样本单位的亮度位置(xintl,yintl)的输入,所述亮度样本8抽头插值滤波过程输出预测亮度样本值(predsamplelxl),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
11、xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xintl+i–3),
12、yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yintl+i–3),
13、其中,subpic_treated_as_pic_flag表示所述被设置为表示子图像当作子图像处理的标志,subpicidx表示子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示子图像的右边界的位置,subpicleftboundarypos表示子图像的左边界的位置,subpictopboundarypos表示子图像的上边界的位置,subpicbotboundarypos表示子图像的下边界的位置,clip3为根据下式的所述限幅函数:
14、
15、其中,x、y和z是数字输入值。
16、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括色度样本插值过程,所述块包括色度样本块,所述预测样本值包括预测色度样本值。
17、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述色度样本插值过程接收包括具有整数个样本单位的色度位置(xintc,yintc)的输入,所述色度样本插值过程输出预测色度样本值(predsamplelxc),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
18、xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundarypos/subwidthc,xintc+i),
19、yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypos/subheightc,yintc+i),
20、其中,subpic_treated_as_pic_flag表示所述被设置为表示所述子图像当作图像处理的标志,subpicidx表示所述子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示所述子图像的右边界的位置,subpicleftboundarypos表示所述子图像的左边界的位置,subpictopboundarypos表示所述子图像的上边界的位置,subpicbotboundarypos表示所述子图像的下边界的位置,subwidthc和subheightc表示亮度样本与色度样本之间的水平采样率比值和垂直采样率比值,clip3表示根据下式的所述限幅函数:
21、
22、其中,x、y和z是数字输入值。
23、在一个实施例中,本发明包括一种在编码器中实现的方法。所述方法包括:所述编码器的处理器将当前图像分割成子图像并将所述子图像分割成块;所述处理器确定根据帧间预测对所述块进行编码;所述处理器选择运动矢量对所述块进行编码;当所述运动矢量指向所述子图像外部时以及当一个标志被设置为表示所述子图像当作图像处理时,所述处理器将限幅函数应用于参考块中的样本位置,以支持应用插值滤波器;所述处理器将所述插值滤波器应用于所述限幅函数的结果,以获得预测样本值;所述处理器根据所述预测样本值和所述运动矢量将所述块编码到码流中;与所述处理器耦合的存储器存储所述码流,用于发送给解码器。帧间预测可以根据几种帧间预测模式中的一种来执行。某些帧间预测模式在编码器和解码器侧都生成运动矢量预测值的候选列表。这样,编码器可以通过指示候选列表中的索引来指示运动矢量,而不是指示运动矢量本身。此外,一些系统对子图像进行编码以进行独立提取。独立提取使得当前子图像可以在其它子图像中的信息没有进行编码的情况下进行解码并显示。这种情况可能会在使用指向子图像外部的运动矢量时产生错误,因为运动矢量指向的数据可能没有编码,因此不能使用。本发明包括一种表示子图像可以当作图像处理的标志。在当前子图像当作图像处理时,当前子图像可以在不参考其它子图像的情况下提取。具体地,本示例使用在应用插值滤波器时应用的限幅函数。这种限幅函数确保插值滤波器不依赖于相邻子图像中的数据,以保持子图像分开,从而支持单独提取。因此,当设置有该标志且运动矢量指向当前子图像外部时,应用限幅函数。然后,将插值滤波器应用于限幅函数的结果。因此,本示例为视频编解码器提供了额外功能,即防止在执行子图像提取时出现错误。
24、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括亮度样本双线性插值过程,所述块包括亮度样本块,所述预测样本值包括预测亮度样本值。
25、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述亮度样本双线性插值过程接收包括具有整数个样本单位的亮度位置(xintl,yintl)的输入,所述亮度样本双线性插值过程输出预测亮度样本值(predsamplelxl),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
26、xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xintl+i),
27、yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yintl+i),
28、其中,subpic_treated_as_pic_flag表示所述被设置为表示子图像当作子图像处理的标志,subpicidx表示子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示子图像的右边界的位置,subpicleftboundarypos表示子图像的左边界的位置,subpictopboundarypos表示子图像的上边界的位置,subpicbotboundarypos表示子图像的下边界的位置,clip3表示根据下式的所述限幅函数:
29、
30、其中,x、y和z是数字输入值。
31、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括亮度样本8抽头插值滤波过程,所述块包括亮度样本块,所述预测样本值包括预测亮度样本值。
32、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述亮度样本8抽头插值滤波过程接收包括具有整数个样本单位的亮度位置(xintl,yintl)的输入,所述亮度样本8抽头插值滤波过程输出预测亮度样本值(predsamplelxl),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
33、xinti=clip3(subpicleftboundarypos,subpicrightboundarypos,xintl+i–3),
34、yinti=clip3(subpictopboundarypos,subpicbotboundarypos,yintl+i–3),
35、其中,subpic_treated_as_pic_flag表示所述被设置为表示子图像当作子图像处理的标志,subpicidx表示子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示子图像的右边界的位置,subpicleftboundarypos表示子图像的左边界的位置,subpictopboundarypos表示子图像的上边界的位置,subpicbotboundarypos表示子图像的下边界的位置,clip3表示根据下式的所述限幅函数:
36、
37、其中,x、y和z是数字输入值。
38、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述插值滤波器包括色度样本插值过程,所述块包括色度样本块,所述预测样本值包括预测色度样本值。
39、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述色度样本插值过程接收包括具有整数个样本单位的色度位置(xintc,yintc)的输入,所述色度样本插值过程输出预测色度样本值(predsamplelxc),所述限幅函数根据以下内容应用于所述样本位置:当subpic_treated_as_pic_flag[subpicidx]等于1时,以下内容适用:
40、xinti=clip3(subpicleftboundarypos/subwidthc,subpicrightboundarypos/subwidthc,xintc+i),
41、yinti=clip3(subpictopboundarypos/subheightc,subpicbotboundarypos/subheightc,yintc+i),
42、其中,subpic_treated_as_pic_flag表示所述被设置为表示所述子图像当作图像处理的标志,subpicidx表示所述子图像的索引,xinti和yinti表示索引i处的限幅后样本位置,subpicrightboundarypos表示所述子图像的右边界的位置,subpicleftboundarypos表示所述子图像的左边界的位置,subpictopboundarypos表示所述子图像的上边界的位置,subpicbotboundarypos表示所述子图像的下边界的位置,subwidthc和subheightc表示亮度样本与色度样本之间的水平采样率比值和垂直采样率比值,clip3表示根据下式的所述限幅函数:
43、
44、其中,x、y和z是数字输入值。
45、在一个实施例中,本发明包括一种视频译码设备。所述视频译码设备包括处理器、与所述处理器耦合的接收器、与所述处理器耦合的存储器和与所述处理器耦合的发送器,其中,所述处理器、接收器、存储器和发送器用于执行根据任一上述方面所述的方法。
46、在一个实施例中,本发明包括一种非瞬时性计算机可读介质。所述非瞬时性计算机可读介质包括供视频译码设备使用的计算机程序产品,所述计算机程序产品包括存储在所述非瞬时性计算机可读介质中的计算机可执行指令,当处理器执行所述计算机可执行指令时,使得所述视频译码设备执行根据任一上述方面所述的方法。
47、在一个实施例中,本发明包括一种解码器。所述解码器包括:接收模块,用于接收包括当前图像的码流,其中,所述当前图像包括被根据帧间预测进行译码的子图像;确定模块,用于确定所述子图像中的块的运动矢量;应用模块,用于:当所述运动矢量指向所述子图像外部时以及当一个标志被设置为表示所述子图像当作图像处理时,将限幅函数应用于参考块中的样本位置,以支持应用插值滤波器;将所述插值滤波器应用于所述限幅函数的结果,以获得预测样本值;解码模块,用于根据所述预测样本值对所述块进行解码;转发模块,用于转发所述块,用于显示为经解码视频序列的一部分。
48、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述解码器还用于执行根据任一上述方面所述的方法。
49、在一个实施例中,本发明包括一种编码器。所述编码器包括:分割模块,用于将当前图像分割成子图像并将所述子图像分割成块;确定模块,用于确定根据帧间预测对所述块进行编码;选择模块,用于选择运动矢量对所述块进行编码;应用模块,用于:当所述运动矢量指向所述子图像外部时以及当一个标志被设置为表示所述子图像当作图像处理时,将限幅函数应用于参考块中的样本位置,以支持应用插值滤波器;将所述插值滤波器应用于所述限幅函数的结果,以获得预测样本值;编码模块,用于根据所述预测样本值和所述运动矢量将所述块编码到码流中;存储模块,用于存储所述码流,用于发送给解码器。
50、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述编码器还用于执行根据任一上述方面所述的方法。
51、可选地,根据任一上述方面,在所述方面的另一种实现方式中,所述编码器还用于执行根据任一上述方面所述的方法。
52、为了清楚起见,任一上述实施例可以与上述其它任一或多个实施例组合以创建在本发明范围内的新实施例。
53、根据以下结合附图和权利要求书进行的具体实施方式,将更清楚地理解这些和其它特征。
本文地址:https://www.jishuxx.com/zhuanli/20240914/294841.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。