本申请实施例涉及视频编解码,尤其涉及一种图像预测方法、编码器、解码器以及存储介质。
背景技术:
1、随着多媒体技术的广泛应用,现代编码技术采用混合编码框架,包括预测、变换、量化和熵编码等过程。其中,预测编码包括帧内预测和帧间预测,前者是利用同一帧图像中已经编码并重建的图像块对当前要编码的图像块进行预测,后者是利用已经编码并重建的其它帧的图像对当前要编码的图像进行预测。这里,帧间预测编码利用了视频序列的时间相关性,去除了空间冗余,是目前视频编码框架中非常重要的环节。
2、新一代的数字音视频编解码技术标准(3rd audio and video coding standard,avs3)的参考软件模型hpm6.0中引入了双向预测技术。在对当前块进行预测时,可以根据两组参考帧和运动矢量(motion vector,mv)分别求得两个单向预测值,然后将所得到的两个单向预测值进行平均,以得到双向预测值。这种求平均方式可能会使得该双向预测值存在偏差,从而导致预测结果可能不准确。
技术实现思路
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、第六方面,本申请实施例提供了一种解码器,该解码器包括第二存储器和第二处理器,其中,
28、第二存储器,用于存储能够在第二处理器上运行的计算机程序;
29、第二处理器,用于在运行计算机程序时,执行如第二方面所述的方法。
30、第七方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,计算机程序被第一处理器执行时实现如第一方面所述的方法、或者被第二处理器执行时实现如第二方面所述的方法。
31、本申请实施例提供了一种图像预测方法、编码器、解码器以及存储介质,该方法可以应用于编码器,通过对待编码的图像块进行运动估计,确定所述图像块在两个预测方向分别对应的单向预测值;确定所述图像块对应的梯度参数,所述梯度参数至少包括梯度标志值和梯度方向索引值;利用所确定的梯度参数以及所述在两个预测方向分别对应的单向预测值,计算所述图像块的梯度值;根据所述图像块的梯度值以及预设的修正强度值对初始双向预测值进行修正,得到所述图像块的双向预测值,其中,所述初始双向预测值是所述在两个预测方向分别对应的单向预测值的加权和。该方法可以应用于解码器,通过解析码流,获得待解码的图像块的预测模式参数;当所述预测模式参数指示所述图像块使用双向预测模式时,解析所述图像块的运动参数,其中,所述运动参数包括运动矢量和参考图像索引;根据所述运动参数,确定所述图像块在两个预测方向分别对应的单向预测值;确定所述图像块的梯度参数,利用所述梯度参数和所述图像块在两个预测方向分别对应的单向预测值,计算所述图像块的梯度值;根据所述图像块的梯度值以及预设的修正强度值对初始双向预测值进行修正,得到所述图像块的双向预测值。这样,可以利用图像块对应的梯度参数用以得到两个单向预测值之间的梯度值,然后根据该梯度值以及预设的修正强度值对初始双向预测值进行修正,从而使得双向预测值更准确,不仅能够提高预测结果的准确性,同时还能够提高编解码效率,进而提升了视频图像质量。
1.一种图像预测方法,应用于编码器,所述方法包括:
2.根据权利要求1所述的方法,其中,在所述确定所述图像块对应的梯度参数之前,所述方法还包括:
3.根据权利要求2所述的方法,其中,所述从所述多个预编码结果中,按照预设策略选取优选预编码结果,包括:
4.根据权利要求2所述的方法,其中,所述多种预测模式包括第一预测模式、第二预测模式和第三预测模式,所述将所述优选预编码结果对应的预测模式确定为目标预测模式,包括:
5.根据权利要求4所述的方法,其中,所述方法还包括:
6.根据权利要求4所述的方法,其中,当所设置的梯度标志值等于1时,所述利用所确定的梯度参数以及所述在两个预测方向分别对应的单向预测值,计算所述图像块的梯度值,包括:
7.根据权利要求1所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值对初始双向预测值进行修正,得到所述图像块的双向预测值,包括:
8.根据权利要求7所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值,确定所述图像块的修正梯度值,包括:
9.根据权利要求7所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值,确定所述图像块的修正梯度值,包括:
10.根据权利要求1所述的方法,其中,所述预设的修正强度值为预设常数值。
11.根据权利要求10所述的方法,其中,所述预设常数值为3。
12.根据权利要求1所述的方法,其中,所述方法还包括:
13.根据权利要求4所述的方法,其中,所述方法还包括:
14.根据权利要求1至13任一项所述的方法,其中,所述对待编码的图像块进行运动估计,确定所述图像块在两个预测方向分别对应的单向预测值,包括:
15.一种图像预测方法,应用于解码器,所述方法包括:
16.根据权利要求15所述的方法,其中,所述确定所述图像块的梯度参数,包括:
17.根据权利要求16所述的方法,其中,所述确定所述图像块的梯度参数,包括:
18.根据权利要求17所述的方法,其中,在所述判断所获取的梯度标志值是否等于1之后,所述方法还包括:
19.根据权利要求17所述的方法,其中,当所述梯度标志值等于1时,所述利用所述梯度参数和所述图像块在两个预测方向分别对应的单向预测值,计算所述图像块的梯度值,包括:
20.根据权利要求15所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值对初始双向预测值进行修正,得到所述图像块的双向预测值,包括:
21.根据权利要求20所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值,确定所述图像块的修正梯度值,包括:
22.根据权利要求20所述的方法,其中,所述根据所述图像块的梯度值以及预设的修正强度值,确定所述图像块的修正梯度值,包括:
23.根据权利要求15所述的方法,其中,所述预设的修正强度值为预设常数值。
24.根据权利要求23所述的方法,其中,所述预设常数值为3。
25.根据权利要求15所述的方法,其中,所述方法还包括:
26.根据权利要求15至25任一项所述的方法,其中,所述根据所述运动参数,确定所述图像块在两个预测方向分别对应的单向预测值,包括:
27.一种编码器,所述编码器包括第一确定单元、第一计算单元和第一修正单元,其中,
28.一种编码器,所述编码器包括第一存储器和第一处理器,其中,
29.一种解码器,所述解码器包括解析单元、第二确定单元、第二计算单元和第二修正单元,其中,
30.一种解码器,所述解码器包括第二存储器和第二处理器,其中,
31.一种计算机存储介质,其中,所述计算机存储介质存储有计算机程序,所述计算机程序被第一处理器执行时实现如权利要求1至14任一项所述的方法、或者被第二处理器执行时实现如权利要求15至26任一项所述的方法。