本技术涉及云计算,尤其涉及一种视频处理方法及相关装置。
背景技术:
1、随着视频行业飞速发展,视频的应用正朝着高清晰度、高帧率方向快速升级,对视频处理的需求也越来越多,而视频编码作为视频处理的基础,优异的编码能力能够为产品提供高清、流畅的播放体验。
2、目前,视频编码内核在应用时设置固定的编码参数,对输入的视频源采用相同的编码参数进行视频编码。视频编码参数影响视频编码内核的出帧稳定性,视频编码参数越多且越复杂,视频出帧稳定性越高,相应的需要的视频编码内核算力也越多。直播、实时视频通信、云渲染、云桌面等场景对视频编码内核的出帧稳定性具有较高要求。静态、运动纹理变化小的画面消耗的编码算力相对较少,而运动纹理比较复杂、场景切换比较频繁的画面消耗的编码算力相对比较多。若同一视频中同时包含静态、运动纹理变化小的画面和运动纹理比较复杂、场景切换比较频繁的画面,对该视频均采用相同的编码参数,若编码参数设置较多较复杂,则对于静态、运动纹理变化小的画面会导致较高的服务器部署成本,若编码参数设置较少较简单,对于运动纹理比较复杂、场景切换比较频繁的画面,会导致视频编码压缩的算力不足,使得视频编码内核的出帧稳定性较差。
技术实现思路
1、本技术实施例提供了一种视频处理方法以及相关装置,将对目标视频的编码任务分解为对构成目标视频的n个视频帧序列分别进行编码,且对每个视频帧序列进行编码时适应性调整视频编码参数,使得调整后的编码参数可以满足对视频帧序列的编码需求,提高出帧稳定性,且降低服务器部署成本。
2、本技术的一方面提供一种视频处理方法,包括:
3、获取目标视频,对目标视频进行分割,得到n个视频帧序列,其中,每个视频帧序列包括至少一个视频帧图像,n为大于1的整数;
4、从n个视频帧序列中,获取第i个视频帧序列及第i-1个视频帧序列,其中,第i个视频帧序列与第i-1个视频帧序列为相邻且连续的序列,i为大于1的整数;
5、从第i个视频帧序列中获取第一视频帧图像,从第i-1个视频帧序列中获取第二视频帧图像,其中,第一视频帧图像携带第一图像属性,第二视频帧图像携带第二图像属性,图像属性用于表征视频帧图像的纹理复杂度信息及场景复杂度信息;
6、获取第i-1个视频帧序列的视频编码的第一算力,其中,第一算力用于表征对第i-1个视频帧序列进行视频编码的服务器算力;
7、根据第i-1个视频帧序列的视频编码的第一算力、第一图像属性及第二图像属性,确定第i个视频帧序列的视频编码参数;
8、根据第i个视频帧序列的视频编码参数对第i个视频帧序列进行编码,得到第i个编码视频段。
9、本技术的另一方面提供了一种视频处理装置,包括:
10、视频帧序列生成模块,用于获取目标视频,对目标视频进行分割,得到n个视频帧序列,其中,每个视频帧序列包括至少一个视频帧图像,n为大于1的整数;
11、视频帧序列提取模块,用于从n个视频帧序列中,获取第i个视频帧序列及第i-1个视频帧序列,其中,第i个视频帧序列与第i-1个视频帧序列为相邻且连续的序列,i为大于1的整数;
12、视频帧图像获取模块,用于从第i个视频帧序列中获取第一视频帧图像,从第i-1个视频帧序列中获取第二视频帧图像,其中,第一视频帧图像携带第一图像属性,第二视频帧图像携带第二图像属性,图像属性用于表征视频帧图像的纹理复杂度信息及场景复杂度信息;
13、算力获取模块,用于获取第i-1个视频帧序列的视频编码的第一算力,其中,第一算力用于表征对第i-1个视频帧序列进行视频编码的服务器算力;
14、视频编码参数确定模块,用于根据第i-1个视频帧序列的视频编码的第一算力、第一图像属性及第二图像属性,确定第i个视频帧序列的视频编码参数;
15、视频帧序列编码模块,用于根据第i个视频帧序列的视频编码参数对第i个视频帧序列进行编码,得到第i个编码视频段。
16、在本技术实施例的另一种实现方式中,视频编码参数包括编码单元划分深度;视频编码参数确定模块包括编码单元划分深度调整子模块,编码单元划分深度调整子模块用于:
17、获取第i-1个视频帧序列的第二编码单元划分深度;
18、若第一算力大于第一算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级大于第二图像属性的属性等级,则根据第二编码单元划分深度,调整第i个视频帧序列的第一编码单元划分深度。其中,第一算力阈值大于第二算力阈值,第一编码单元划分深度低于第二编码单元划分深度。
19、若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级等于第二图像属性的属性等级,则保持第i个视频帧序列的第一编码单元划分深度与第i-1个视频帧序列的第二编码单元划分深度相等。
20、若第一算力小于第二算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级小于第二图像属性的属性等级,则根据第二编码单元划分深度,调整第i个视频帧序列的第一编码单元划分深度。其中,第一算力阈值大于第二算力阈值,第一编码单元划分深度高于第二编码单元划分深度。
21、在本技术实施例的另一种实现方式中,视频编码参数包括预测单元划分深度;视频编码参数确定模块包括预测单元划分深度调整子模块,预测单元划分深度调整子模块用于:
22、获取第i-1个视频帧序列的第二预测单元划分深度。
23、若第一算力大于第一算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级大于第二图像属性的属性等级,则根据第二预测单元划分深度,调整第i个视频帧序列的第一预测单元划分深度,其中,第一预测单元划分深度低于第二预测单元划分深度。
24、若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级等于第二图像属性的属性等级,则保持第i个视频帧序列的第一预测单元划分深度与第i-1个视频帧序列的第二预测单元划分深度相等。
25、若第一算力小于第二算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级小于第二图像属性的属性等级,则根据第二预测单元划分深度,调整第i个视频帧序列的第一预测单元划分深度,其中,第一预测单元划分深度高于第二预测单元划分深度。
26、在本技术实施例的另一种实现方式中,视频编码参数包括运动估计方式及运动补偿方式;视频编码参数确定模块包括运动估计参数及运动补偿参数调整子模块,运动估计参数及运动补偿参数调整子模块用于:
27、获取第i-1个视频帧序列的第二运动估计参数及第二运动补偿参数。
28、若第一算力大于第一算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级大于第二图像属性的属性等级,则根据第二运动估计参数调整第i个视频帧序列的第一运动估计参数,根据第二运动补偿参数调整第i个视频帧序列的第一运动补偿参数。
29、其中,第一运动估计参数通过控制运动搜索的第一最大像素范围及第一亚像素估计复杂度确定,第二运动估计参数通过控制运动搜索的第二最大像素范围及第二亚像素估计复杂度确定;第一最大像素范围小于第二最大像素范围,第一亚像素估计复杂度小于第二亚像素估计复杂度。第一运动补偿参数通过第一搜索范围确定,第二运动补偿参数通过第二搜索范围确定;第一搜索范围小于第二搜索范围。
30、若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级等于第二图像属性的属性等级,则保持第i个视频帧序列的第一运动估计参数与第i-1个视频帧序列的第二运动估计参数相等,以及保持第i个视频帧序列的第一运动补偿参数与第i-1个视频帧序列的第二运动补偿参数相等。
31、其中,第一运动估计参数通过控制运动搜索的第一最大像素范围及第一亚像素估计复杂度确定,第二运动估计参数通过控制运动搜索的第二最大像素范围及第二亚像素估计复杂度确定;第一最大像素范围等于第二最大像素范围,第一亚像素估计复杂度等于第二亚像素估计复杂度。第一运动补偿参数通过第一搜索范围确定,第二运动补偿参数通过第二搜索范围确定;第一搜索范围等于第二搜索范围。
32、若第一算力小于第二算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级小于第二图像属性的属性等级,则根据第二运动估计参数调整第i个视频帧序列的第一运动估计参数,以及根据第二运动补偿参数调整第i个视频帧序列的第一运动补偿参数。
33、其中,第一运动估计参数通过控制运动搜索的第一最大像素范围及第一亚像素估计复杂度确定,第二运动估计参数通过控制运动搜索的第二最大像素范围及第二亚像素估计复杂度确定;第一最大像素范围大于第二最大像素范围,第一亚像素估计复杂度大于第二亚像素估计复杂度。第一运动补偿参数通过第一搜索范围确定,第二运动补偿参数通过第二搜索范围确定;第一搜索范围大于第二搜索范围。
34、在本技术实施例的另一种实现方式中,视频编码参数包括变换单元划分深度;视频编码参数确定模块包括变换单元划分深度调整子模块,变换单元划分深度调整子模块用于:
35、获取第i-1个视频帧序列的第二变换单元划分深度。
36、若第一算力大于第一算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级大于第二图像属性的属性等级,则根据第二变换单元划分深度,调整第i个视频帧序列的第一变换单元划分深度,其中,第一变换单元划分深度低于第二变换单元划分深度。
37、若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级等于第二图像属性的属性等级,则保持第i个视频帧序列的第一变换单元划分深度与第i-1个视频帧序列的第二变换单元划分深度相等。
38、若第一算力小于第二算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级小于第二图像属性的属性等级,则根据第二变换单元划分深度,调整第i个视频帧序列的第一变换单元划分深度,其中,第一变换单元划分深度高于第二变换单元划分深度。
39、在本技术实施例的另一种实现方式中,第i个视频帧序列的视频编码参数包括第一编码单元划分深度、第一预测单元划分深度、第一变换单元划分深度、第一最大像素范围、第一亚像素估计复杂度及第一搜索范围;视频帧序列编码模块还用于:
40、从第i个视频帧序列获取目标视频帧图像及目标视频帧图像的目标参考图像,其中,目标参考图像为目标视频帧图像的前一视频帧图像经过编码后得到的;
41、根据第一编码单元划分深度对目标视频帧图像进行编码单元深度划分,得到k个第一编码单元,其中,k为大于等于1的整数;
42、根据第一预测单元划分深度对k个第一编码单元进行预测单元深度划分,得到k×l个第一预测单元,其中,l为大于等于1的整数;
43、根据第一编码单元划分深度对目标参考图像进行编码单元深度划分,得到k个参考编码单元,其中,k个第一编码单元与k个参考编码单元具有对应关系;
44、根据第一预测单元划分深度对k个参考编码单元进行预测单元深度划分,得到k×l个参考预测单元,其中,k×l个第一预测单元与k×l个参考预测单元具有对应关系;
45、根据第一最大像素范围及第一亚像素估计复杂度,对k×l个第一预测单元及k×l个参考预测单元进行运动估计处理,生成k×l个第一运动估计单元;
46、根据第一搜索范围对k×l个第一运动估计单元及k×l个参考预测单元进行运动补偿处理,生成目标帧间预测图像;
47、根据目标视频帧图像及目标帧间预测图像,生成残差图像;
48、根据第一变换单元划分深度对残差图像进行变换单元划分,生成变换图像;
49、对变换图像进行量化,生成残差系数;
50、将残差系数进行熵编码,生成目标视频帧图像的编码值。
51、在本技术实施例的另一种实现方式中,视频帧序列编码模块还用于:
52、对残差系数进行反量化及反变换,生成重构图像残差系数;
53、通过重构图像残差系数及目标帧间预测图像,生成重构图像;
54、通过去块滤波器对重构图像进行处理,生成第一滤波图像,其中,去块滤波器用于对重构图像中的垂直边缘进行水平滤波及对重构图像中的水平边缘进行垂直滤波;
55、通过采样自适应偏移滤波器对第一滤波图像进行处理,生成目标视频帧图像对应的参考图像,其中,参考图像用于对目标视频帧图像的下一帧图像进行编码,采样自适应偏移滤波器用于对第一滤波图像进行带偏移和边缘偏移。
56、在本技术实施例的另一种实现方式中,视频编码参数确定模块包括处理取消消息子模块,处理取消消息子模块用于:
57、若第一算力大于第一算力阈值,或者若第一算力大于第二算力阈值且小于第一算力阈值,且第一图像属性的属性等级大于第二图像属性的属性等级,则根据处理取消消息,取消对第i个视频帧序列的去噪处理、锐化处理及时域滤波处理中的一种或多种。
58、在本技术实施例的另一种实现方式中,视频帧图像获取模块还用于:
59、分别将第一视频帧图像及第二视频帧图像作为画面场景分类模型的输入,通过画面场景分类模型输出第一视频帧图像的第一场景复杂度信息及第二视频帧图像的第二场景复杂度信息;
60、分别将第一视频帧图像及第二视频帧图像作为画面纹理分类模型的输入,通过画面纹理分类模型输出第一视频帧图像的第一纹理复杂度信息及第二视频帧图像的第二纹理复杂度信息;
61、根据第一场景复杂度信息及第一纹理复杂度信息生成第一图像属性,根据第二场景复杂度信息及第二纹理复杂度信息生成第二图像属性。
62、在本技术实施例的另一种实现方式中,视频帧序列编码模块,还用于:
63、计算对第i个视频帧序列进行编码时消耗的服务器算力,得到第二算力;
64、从n个视频帧序列中,获取第i+1个视频帧序列,其中,第i个视频帧序列与第i+1个视频帧序列为相邻且连续的序列;
65、从第i+1个视频帧序列中获取第三视频帧图像,其中,第三视频帧图像携带第三图像属性;
66、根据第二算力、第一图像属性及第三图像属性,确定第i+1个视频帧序列的视频编码参数;
67、根据第i+1个视频帧序列的视频编码参数对第i+1个视频帧序列进行编码,得到第i+1个编码视频段。
68、在本技术实施例的另一种实现方式中,视频帧序列生成模块还用于:
69、获取目标视频;
70、根据场景识别模型,对目标视频进行场景识别,得到n个场景,其中,场景识别模型用于对目标视频中出现的场景进行识别;
71、根据n个画面场景对目标视频进行分割,得到n个视频片段。
72、本技术的另一方面提供了一种计算机设备,包括:
73、存储器、收发器、处理器以及总线系统;
74、其中,存储器用于存储程序;
75、处理器用于执行存储器中的程序,包括执行上述各方面的方法;
76、总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
77、本技术的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
78、本技术的另一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
79、从以上技术方案可以看出,本技术实施例具有以下优点:
80、本技术提供了一种视频处理方法以及相关装置,其方法包括:首先,获取目标视频,对目标视频进行分割,得到n个视频帧序列,其中,每个视频帧序列包括至少一个视频帧图像;其次,从n个视频帧序列中,获取第i个视频帧序列及第i-1个视频帧序列,其中,第i个视频帧序列与第i-1个视频帧序列为相邻且连续的序列;再次,从第i个视频帧序列中获取第一视频帧图像,从第i-1个视频帧序列中获取第二视频帧图像,其中,第一视频帧图像携带第一图像属性,第二视频帧图像携带第二图像属性,图像属性用于表征视频帧图像的纹理复杂度信息及场景复杂度信息;接着,获取第i-1个视频帧序列的视频编码的第一算力,其中,第一算力用于表征对第i-1个视频帧序列进行视频编码的服务器算力;然后,根据第i-1个视频帧序列的视频编码的第一算力、第一图像属性及第二图像属性,确定第i个视频帧序列的视频编码参数;最后,根据第i个视频帧序列的视频编码参数对第i个视频帧序列进行编码,得到第i个编码视频段。本技术实施例提供的视频处理方法,将对目标视频的编码任务分解为对构成目标视频的n个视频帧序列分别进行编码,对当前的视频帧序列进行编码时,根据前一个的视频帧序列消耗的服务器算力、当前的视频帧序列的第一视频帧图像的第一图像属性及前一个的视频帧序列的第二视频帧图像的第二图像属性,适应性调整当前的视频帧序列的视频编码参数,使得调整后的编码参数可以满足对当前的视频帧序列的编码需求,提高出帧稳定性,且降低服务器部署成本。