本发明涉及视频编码,尤其涉及一种在边缘ai设备对监控内容自适应实时编码的方式。
背景技术:
1、目前监控视频对清晰度要求越来越高,导致使用分辨率和码率也越来越高,导致使用用户播放和存储监控内容时,带宽和存储压力变大。内容自适应编码方法能够在相同码率下观看更高分辨率的视频内容,能够降低带宽和存储大小。但在边缘ai设备上使用内容自适应编码时,存在以下的问题。
2、边缘ai设备的配置较差,使用的是armv7,共4个处理器,而内容自适应编码性能消耗较大,不能完全使用软件进行内容编码,或者完全使用软件编码,不能实现监控流的实时播放。
3、边缘ai设备实现内容自适应编码,可以采用硬件编解码,但常规的视频帧评价方案,例如vmaf、psnr,使用gpu成本较高,或者一般的硬件编解码卡不支持。
4、针对监控视频,只能粗略地针对这类视频不同场景调整编码配置,例如对简单内容场景的视频可以降低码率。然而,这种分类可能过于粗糙,因为在不同的场景,不同监控之间仍有较大的区别,因此使用同一编码配置很不精确。
5、通过调整量化参数的范围,达到保证不同的画面都能达到较好质量的目的。但这种方法会导致复杂场景码率增加很多,仍会造成监控带宽和存储压力较大。
技术实现思路
1、本发明的目的是为了解决上述现有技术中存在的缺点,而提供了一种在边缘ai设备对监控内容自适应实时编码方式,包括以下步骤:
2、s1:根据输出要求的分辨率和视频质量,初始化质量控制参数值及其范围;
3、s2:对文件的一帧数据进行硬件解码,视频内容保存在第一硬件缓冲区中;
4、s3:根据初始化的所述质量控制参数值对所述第一硬件缓冲区的所述视频内容进行编码,然后对编码视频内容进行硬件解码,获取颜色编码yuv数据,通过ai模型获取到质量控制参数分值;
5、s4:当步骤s3中获得的所述质量控制参数分值在所述初始化质量控制参数值范围内,保存所述质量控制参数分值;
6、s5:直至获取30帧的所述质量控制参数分值,取所述30帧质量控制参数分值的平均值作为后续900帧编码的参数值。
7、进一步地,在步骤s4中,当步骤s3中获得的所述质量控制参数分值不在所述初始化质量控制参数值范围内时,调整所述初始化质量控制参数值,重复步骤s3、s4,直至达到所述初始化质量控制参数值范围内。
8、进一步地,重复执行步骤s1至步骤s5,为监控过程中不同场景提供不同的编码策略,并进行编码。
9、进一步地,在步骤s2和步骤s3中,所述解码和编码处理在rv1126芯片上进行,并使用所述ai模型获取质量控制参数分值。
10、进一步地,在步骤s1中,按照监控流的分辨率,使用默认编码方式进行转码。
11、进一步地,在步骤s5中,计算确定前30帧的编码策略,作为一段时间监控的编码策略,再通过设定900帧视频帧采用相同的一组编码策略。
12、进一步地,在步骤s1中,采用先根据编码要求进行编码参数初始化处理,包括:
13、根据编码方式确定质量控制方式,用于控制视频质量;
14、在视频质量确定过程中,启动一个线程进行视频质量确定,使用硬件进行解码和编码;
15、根据输出的分辨率和输出视频质量要求,通过所述ai模型推理确定质量控制参数值范围。
16、优选的,在步骤s3中,所述ai模型通过使用机器学习算法svm将基本指标融合为一个最终指标,为每个基本指标分配一定的权重,使用训练数据集来训练模型,得出最终分数。
17、更优的,所述训练数据集包括若干条三帧序列用于训练,若干条序列用于验证、若干条序列用于测试;所述训练数据集的特征包括基本指标vmaf得分、原内容特征、失真类型特征、扭曲程度特征。
18、进一步地,所述训练数据集的预处理包括如下步骤:
19、ss1:利用youtube ugc 720p数据集生成所需的数据集;
20、ss2:使用h.265编解码器压缩剪辑,恒定速率因子crf设置在28至51之间,生成不同质量级别的视频;
21、ss3:从不同vmaf得分范围中抽取视频帧;
22、ss4:根据需要对视频帧进行降采样、尺寸标准化。
23、优选的,为每个所述视频帧提取相关特征,所述相关特征包括亮度、对比度、色彩分布、运动矢量,根据视频失真类型和扭曲程度,通过分析原始内容和失真版本之间的差异来计算所述相关特征。
24、与现有技术相比,本发明的有益效果是:
25、(1)通过在rv1126芯片上进行解码和编码处理,并使用ai模型获取视频帧的质量,保证监控视频流的质量;
26、(2)按照监控流的分辨率,使用默认编码方式进行转码,以及使用前30个视频帧质量参数的平均值,作为后续900张视频帧的编码参数,保证监控视频的实时性和低延时;
27、(3)根据输出要求的编码格式确定需要的码率控制模式,同时在解码过程中检测是否出现场景变换的情况,实现内容自适应编码。
1.一种在边缘ai设备对监控内容自适应实时编码方式,其特征在于,包括以下步骤:
2.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s4中,当步骤s3中获得的所述质量控制参数分值不在所述初始化质量控制参数值范围内时,调整所述初始化质量控制参数值,重复步骤s3、s4,直至达到所述初始化质量控制参数值范围内。
3.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,重复执行步骤s1至步骤s5,为监控过程中不同场景提供不同的编码策略,并进行编码。
4.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s1开始前,根据输出要求的编码格式确定需要的质量控制模式,同时在解码过程中检测是否出现场景变换的情况。
5.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s2和步骤s3中,所述解码和编码处理在rv1126芯片上进行,并使用所述ai模型获取质量控制参数分值。
6.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s1中,按照监控流的分辨率,使用默认编码方式进行转码。
7.根据权利要求4所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s5中,计算确定前30帧的编码策略,作为一段时间监控的编码策略,再通过设定900帧视频帧采用相同的一组编码策略。
8.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s1中,采用先根据编码要求进行编码参数初始化处理,包括:
9.根据权利要求1所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,在步骤s3中,所述ai模型通过使用机器学习算法svm将基本指标融合为一个最终指标,为每个基本指标分配一定的权重,使用训练数据集来训练模型,得出最终分数。
10.根据权利要求9所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,所述训练数据集包括若干条三帧序列用于训练,若干条序列用于验证、若干条序列用于测试;所述训练数据集的特征包括基本指标vmaf得分、原内容特征、失真类型特征、扭曲程度特征。
11.根据权利要求10所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,所述训练数据集的预处理包括如下步骤:
12.根据权利要求11所述的在边缘ai设备对监控内容自适应实时编码方式,其特征在于,为每个所述视频帧提取相关特征,所述相关特征包括亮度、对比度、色彩分布、运动矢量,根据视频失真类型和扭曲程度,通过分析原始内容和失真版本之间的差异来计算所述相关特征。