本公开涉及,尤其涉及视频编码性能的对比方法、装置、设备和可读存储介质。
背景技术:
1、对于不同的视频编解码器,通常可以通过衡量视频编解码器性能,了解不同的视频编解码器的编码效果。
2、对于视频编解码器的性能通常可以通过性能指标进行表征,性能指标可以通过视频编解码器对应的峰值信噪比(psnr)和比特率(bitrate)得出。不同的视频编解码器在每次编码结束后,自身可以输出峰值信噪比和比特率。
3、然而,对不同的视频编解码器之间的编码效果进行比较时,结果不够准确。
技术实现思路
1、本公开实施例提供一种视频编码性能的对比方法、装置、设备和可读存储介质,能够解决当前视频编解码器比较编码效果时,结果不够准确的问题。所述技术方案如下:
2、根据本公开实施例的第一方面,提供一种视频编码性能的对比方法,该方法包括:
3、使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频;
4、分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率;
5、通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频;
6、通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频;
7、根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比;
8、根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比;
9、根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果。
10、在一个实施例中,所述目标视频质量参数包括:帧率、i帧的信息、b帧的信息、码率、量化参数和帧数中的至少一种。
11、在一个实施例中,所述分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率,包括:
12、根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率;
13、根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率。
14、在一个实施例中,所述根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率,包括:
15、根据如下公式得到所述基准编码算法的第一比特率:
16、bitrate1=filezise1*fps1/frn1
17、其中,bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长;
18、所述根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率,包括:
19、根据如下公式得到所述测试编码算法的第二比特率:
20、bitrate2=filezise2*fps2/frn2
21、其中,bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。
22、在一个实施例中,所述根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果,包括:
23、根据所述第一比特率和所述第一峰值信噪比,得到所述基准编码算法的性能指标;
24、根据所述第二比特率和所述第二峰值信噪比,得到所述测试编码算法的性能指标;
25、通过比较所述基准编码算法的性能指标和所述测试编码算法的性能指标,得到所述基准编码算法和所述测试编码算法的性能对比结果。
26、在一个实施例中,所述基准编码算法的性能指标包括基准编码算法的bd-rate值,所述测试编码算法的性能指标包括测试编码算法的bd-rate值。
27、在一个实施例中,所述根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比,包括:
28、通过ffmpeg,对所述测试视频和所述第三视频进行处理,得到所述基准编码算法的第一峰值信噪比;
29、所述根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比,包括:
30、通过ffmpeg,对所述测试视频和所述第四视频进行处理,得到所述测试编码算法的第二峰值信噪比。
31、根据本公开实施例的第二方面,提供一种视频编码性能的对比装置,包括:
32、编码模块,用于使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频;
33、比特率模块,用于分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率;
34、解码模块,用于通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频;通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频;
35、峰值信噪比模块,用于根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比;根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比;
36、性能对比模块,用于根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果。
37、在一个实施例中,所述目标视频质量参数包括:帧率、i帧的信息、b帧的信息、码率、量化参数和帧数中的至少一种。
38、在一个实施例中,所述比特率模块具体用于:
39、根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率;
40、根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率。
41、在一个实施例中,所述比特率模块具体用于:
42、根据如下公式得到所述基准编码算法的第一比特率:
43、bitrate1=filezise1*fps1/frn1
44、其中,bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长;
45、根据如下公式得到所述测试编码算法的第二比特率:
46、bitrate2=filezise2*fps2/frn2
47、其中,bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。
48、在一个实施例中,所述性能对比模块具体用于:
49、根据所述第一比特率和所述第一峰值信噪比,得到所述基准编码算法的性能指标;
50、根据所述第二比特率和所述第二峰值信噪比,得到所述测试编码算法的性能指标;
51、通过比较所述基准编码算法的性能指标和所述测试编码算法的性能指标,得到所述基准编码算法和所述测试编码算法的性能对比结果。
52、在一个实施例中,所述基准编码算法的性能指标包括基准编码算法的bd-rate值,所述测试编码算法的性能指标包括测试编码算法的bd-rate值。
53、在一个实施例中,所述峰值信噪比具体用于:
54、通过ffmpeg,对所述测试视频和所述第三视频进行处理,得到所述基准编码算法的第一峰值信噪比;
55、通过ffmpeg,对所述测试视频和所述第四视频进行处理,得到所述测试编码算法的第二峰值信噪比。
56、根据本公开实施例的第三方面,提供一种视频编码性能的对比设备,包括处理器和存储器,存储器中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的视频编码性能的对比方法中所执行的步骤。
57、根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储介质中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的视频编码性能的对比方法中所执行的步骤。
58、本公开实施例提供的视频编码性能的对比方法、装置、设备和可读存储介质,对于基准编码算法和测试编码算法分别进行处理,得到各自的比特率和峰值信噪比,进而得到基准编码算法和测试编码算法的性能对比结果。由于在分别进行处理时,设置了相同的目标视频质量参数,并对相同的测试视频进行编解码,从而减小了数据误差,使得得到的比特率和psnr具有可比性,进而对基准编码算法和所述测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。
59、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。