视频编码方法、装置、设备、存储介质和计算机程序产品与流程

文档序号:37308270发布日期:2024-03-13 20:55阅读:20来源:国知局
视频编码方法、装置、设备、存储介质和计算机程序产品与流程

本技术涉及计算,特别是涉及一种视频编码方法、装置、设备、存储介质和计算机程序产品。


背景技术:

1、随着计算机技术和多媒体技术的迅速发展,视频的分辨率和质量也越来越高,由此,产生了更多的视频数据。为确保视频传输效率,通常需要对视频进行编码。

2、在相关技术中,对于一张视频图像,将视频图像划分为多个帧内编码单元后,对于帧内编码单元,编码器将从多个预设拆分模式中,选取一个模式对帧内编码单元进行划分,具体需要遍历所有拆分模式,计算相应的代价,选择出代价最小的模式为最终的拆分模式,显然,这种方式存在过多低效计算,导致编码效率降低。


技术实现思路

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页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1