掌桥专利:专业的专利平台
掌桥专利
首页

视频编码性能的对比方法、装置、设备和可读存储介质

文献发布时间:2024-04-18 19:58:26


视频编码性能的对比方法、装置、设备和可读存储介质

技术领域

本公开涉及技术领域,尤其涉及视频编码性能的对比方法、装置、设备和可读存储介质。

背景技术

对于不同的视频编解码器,通常可以通过衡量视频编解码器性能,了解不同的视频编解码器的编码效果。

对于视频编解码器的性能通常可以通过性能指标进行表征,性能指标可以通过视频编解码器对应的峰值信噪比(PSNR)和比特率(Bitrate)得出。不同的视频编解码器在每次编码结束后,自身可以输出峰值信噪比和比特率。

然而,对不同的视频编解码器之间的编码效果进行比较时,结果不够准确。

发明内容

本公开实施例提供一种视频编码性能的对比方法、装置、设备和可读存储介质,能够解决当前视频编解码器比较编码效果时,结果不够准确的问题。所述技术方案如下:

根据本公开实施例的第一方面,提供一种视频编码性能的对比方法,该方法包括:

使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频;

分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率;

通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频;

通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频;

根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比;

根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比;

根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果。

在一个实施例中,所述目标视频质量参数包括:帧率、I帧的信息、B帧的信息、码率、量化参数和帧数中的至少一种。

在一个实施例中,所述分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率,包括:

根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率;

根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率。

在一个实施例中,所述根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率,包括:

根据如下公式得到所述基准编码算法的第一比特率:

Bitrate1=filezise1*fps1/frn1

其中,Bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长;

所述根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率,包括:

根据如下公式得到所述测试编码算法的第二比特率:

Bitrate2=filezise2*fps2/frn2

其中,Bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。

在一个实施例中,所述根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果,包括:

根据所述第一比特率和所述第一峰值信噪比,得到所述基准编码算法的性能指标;

根据所述第二比特率和所述第二峰值信噪比,得到所述测试编码算法的性能指标;

通过比较所述基准编码算法的性能指标和所述测试编码算法的性能指标,得到所述基准编码算法和所述测试编码算法的性能对比结果。

在一个实施例中,所述基准编码算法的性能指标包括基准编码算法的BD-Rate值,所述测试编码算法的性能指标包括测试编码算法的BD-Rate值。

在一个实施例中,所述根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比,包括:

通过ffmpeg,对所述测试视频和所述第三视频进行处理,得到所述基准编码算法的第一峰值信噪比;

所述根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比,包括:

通过ffmpeg,对所述测试视频和所述第四视频进行处理,得到所述测试编码算法的第二峰值信噪比。

根据本公开实施例的第二方面,提供一种视频编码性能的对比装置,包括:

编码模块,用于使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频;

比特率模块,用于分别根据所述第一视频和第二视频,得到所述基准编码算法的第一比特率和所述测试编码算法的第二比特率;

解码模块,用于通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频;通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频;

峰值信噪比模块,用于根据所述测试视频和所述第三视频,得到所述基准编码算法的第一峰值信噪比;根据所述测试视频和所述第四视频,得到所述测试编码算法的第二峰值信噪比;

性能对比模块,用于根据所述第一比特率、所述第一峰值信噪比、所述第二比特率和所述第二峰值信噪比,得到所述基准编码算法和所述测试编码算法的性能对比结果。

在一个实施例中,所述目标视频质量参数包括:帧率、I帧的信息、B帧的信息、码率、量化参数和帧数中的至少一种。

在一个实施例中,所述比特率模块具体用于:

根据所述第一视频的文件大小和所述第一视频的时长,得到所述基准编码算法的第一比特率;

根据所述第二视频的文件大小和所述第二视频的时长,得到所述测试编码算法的第二比特率。

在一个实施例中,所述比特率模块具体用于:

根据如下公式得到所述基准编码算法的第一比特率:

Bitrate1=filezise1*fps1/frn1

其中,Bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长;

根据如下公式得到所述测试编码算法的第二比特率:

Bitrate2=filezise2*fps2/frn2

其中,Bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。

在一个实施例中,所述性能对比模块具体用于:

根据所述第一比特率和所述第一峰值信噪比,得到所述基准编码算法的性能指标;

根据所述第二比特率和所述第二峰值信噪比,得到所述测试编码算法的性能指标;

通过比较所述基准编码算法的性能指标和所述测试编码算法的性能指标,得到所述基准编码算法和所述测试编码算法的性能对比结果。

在一个实施例中,所述基准编码算法的性能指标包括基准编码算法的BD-Rate值,所述测试编码算法的性能指标包括测试编码算法的BD-Rate值。

在一个实施例中,所述峰值信噪比具体用于:

通过ffmpeg,对所述测试视频和所述第三视频进行处理,得到所述基准编码算法的第一峰值信噪比;

通过ffmpeg,对所述测试视频和所述第四视频进行处理,得到所述测试编码算法的第二峰值信噪比。

根据本公开实施例的第三方面,提供一种视频编码性能的对比设备,包括处理器和存储器,存储器中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的视频编码性能的对比方法中所执行的步骤。

根据本公开实施例的第四方面,提供一种计算机可读存储介质,存储介质中存储有至少一条计算机指令,指令由处理器加载并执行以实现第一方面以及第一方面的任一实施例所描述的视频编码性能的对比方法中所执行的步骤。

本公开实施例提供的视频编码性能的对比方法、装置、设备和可读存储介质,对于基准编码算法和测试编码算法分别进行处理,得到各自的比特率和峰值信噪比,进而得到基准编码算法和测试编码算法的性能对比结果。由于在分别进行处理时,设置了相同的目标视频质量参数,并对相同的测试视频进行编解码,从而减小了数据误差,使得得到的比特率和PSNR具有可比性,进而对基准编码算法和所述测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1为本公开实施例提供的一种视频编码性能的对比方法的流程示意图;

图2为本公开实施例提供的另一种视频编码性能的对比方法的流程示意图;

图3为本公开实施例提供的一种视频编码性能的对比装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

首先对本公开涉及的名词进行解释。

BD比特率(Bjontegaard Delta Rate,BD-Rate)是一种常见的视频编解码器性能评估的指标,用来比较不同视频编码算法或是不同参数下同一算法的编码效果。通常通过视频编解码器对应的PSNR和比特率可以得出BD比特率。例如,可以通过统计方法,将基础编码算法以及测试编码算法的bitrate以及PSNR数据记录下来(一般是4个),对测试的几个点进行曲线拟合,再做差值,最后取平均,得到BD比特率。不同的算法在编码结束输出的bitrate和psnr是算法内部处理的,存在差异性。

本公开实施例提供的视频编码性能的对比方法、装置、设备和可读存储介质,通过设置相同的目标视频质量参数,通过需要对比的基准编码算法和测试编码算法对相同的测试视频进行编码和解码,从而减小了数据误差,使得得到的比特率和PSNR具有可比性,进而对基准编码算法和测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

下面以具体的实施例进行详细说明本公开提供的技术方案。

请参见图1,图1为本公开实施例提供的一种视频编码性能的对比方法的流程示意图,本实施例提供的视频编码性能的对比方法由计算机或者服务器执行。本实施例提供的方法可以包括以下步骤。

步骤101、使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频。

其中,目标视频质量参数是指对编码后的视频的质量具有影响的参数。

示例性的,目标视频质量参数包括:帧率、I帧的信息、B帧的信息、码率、量化参数和帧数中的至少一种。其中,I帧的信息是指对I帧的要求的信息,B帧的信息是指对B帧的要求的信息。

步骤102、分别根据第一视频和第二视频,得到基准编码算法的第一比特率和测试编码算法的第二比特率。

步骤103、通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频。

步骤104、通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频。

步骤105、根据测试视频和第三视频,得到基准编码算法的第一峰值信噪比。

步骤106、根据测试视频和第四视频,得到测试编码算法的第二峰值信噪比。

可以理解,步骤102与步骤103-步骤106的执行没有先后顺序,可以先执行步骤102,在执行步骤103-步骤106;也可以先执行步骤103-步骤106再执行步骤102;也可以同时执行步骤102与步骤103-步骤106。

步骤107、根据第一比特率、第一峰值信噪比、第二比特率和第二峰值信噪比,得到基准编码算法和测试编码算法的性能对比结果。

其中,基准编码算法和测试编码算法的性能对比结果可以包括:基准编码算法和测试编码算法的编码效果相同;基准编码算法的编码效果好于测试编码算法;或者,测试编码算法的编码效果好于基准编码算法。

本实施例,设置相同的目标视频质量参数,通过基准编码算法和测试编码算法对相同的测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频。分别根据第一视频和第二视频,得到基准编码算法的第一比特率和测试编码算法的第二比特率。通过与基准编码算法对应的基准解码算法对第一视频进行解码,得到基准解码后的第三视频,通过与测试编码算法对应的测试解码算法对第二视频进行解码,得到测试解码后的第四视频。根据测试视频和第三视频,得到基准编码算法的第一峰值信噪比,根据测试视频和第四视频,得到测试编码算法的第二峰值信噪比。根据第一比特率、第一峰值信噪比、第二比特率和第二峰值信噪比,得到基准编码算法和测试编码算法的性能对比结果。

对于基准编码算法和测试编码算法分别进行处理,得到各自的比特率和峰值信噪比,进而得到基准编码算法和测试编码算法的性能对比结果。由于在分别进行处理时,设置了相同的目标视频质量参数,并对相同的测试视频进行编解码,从而减小了数据误差,使得得到的比特率和PSNR具有可比性,进而对基准编码算法和测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

在上述实施例的基础上,进一步地,步骤102可以包括如下步骤1021和步骤1022。

步骤1021、根据第一视频的文件大小和第一视频的时长,得到基准编码算法的第一比特率。

可选的,可以根据如下公式(1)得到基准编码算法的第一比特率:

Bitrate1= filezise1*fps1/frn1 公式(1)

其中,Bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长

步骤1022、根据第二视频的文件大小和第二视频的时长,得到测试编码算法的第二比特率。

可选的,可以根据如下公式(2)得到测试编码算法的第二比特率:

Bitrate2= filezise2*fps2/frn2 公式(2)

其中,Bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。

本实施例,通过设置了相同的目标视频质量参数,并对相同的测试视频进行编码,得到第一视频和第二视频,根据第一视频和第二视频得到的比特率,减小了数据误差,使得得到的比特率具有可比性,进而对基准编码算法和测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

在上述任一实施例的基础上,进一步地,步骤107可以通过如下步骤1071-步骤1073实现。

步骤1071、根据第一比特率和第一峰值信噪比,得到基准编码算法的性能指标。

其中,基准编码算法的性能指标是指能够反映出基准编码算法的编码效果等性能的指标。

示例性的,基准编码算法的性能指标包括基准编码算法的BD-Rate值。

步骤1072、根据第二比特率和第二峰值信噪比,得到测试编码算法的性能指标。

其中,测试编码算法的性能指标是指能够反映出测试编码算法的编码效果等性能的指标。测试编码算法的性能指标与基准编码算法的性能指标的计算方式相同。

示例性的,测试编码算法的性能指标包括测试编码算法的BD-Rate值。

步骤1073、通过比较基准编码算法的性能指标和测试编码算法的性能指标,得到基准编码算法和测试编码算法的性能对比结果。

本实施例,通过相同的标准条件下得到的比特率和峰值信噪比,使得得到的性能指标的标准相同,进而对基准编码算法和测试编码算法进行性能对比得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

在上述任一实施例的基础上,进一步地,步骤105可以通过如下步骤1051实现。相应的,步骤106可以通过如下步骤1061实现。

步骤1051、通过ffmpeg,对测试视频和第三视频进行处理,得到基准编码算法的第一峰值信噪比。

步骤1061、根据测试视频和第四视频,得到测试编码算法的第二峰值信噪比。

本实施例,在计算峰值信噪比时,可以通过不同的工具实现,例如,可以是ffmpeg工具。从而通过相同的工具,也就是相同的标准下得到峰值信噪比。减小了数据误差,使得得到的比特率具有可比性,进而对基准编码算法和测试编码算法进行性能对比,得到性能对比结果更加准确,更加精确。并且适用于不同的编码算法之间的性能对比。

下面示例性的示出一个示例,以说明本公开的上述实施例。

请参见图2,图2为本公开实施例提供的另一种视频编码性能的对比方法的流程示意图,如图2所示,本示例提供的方法可以包括如下步骤。

步骤201:选择基准编码算法。

其中,可以选择H265或是AV1不同参数下的算法作为基准,AV1对标H265去的,选择其他算法作为基准可比性不强。

步骤202:选择测试编码算法。

其中,如AV1,被测的编码算法是其他的算法如264266等也都适用,基准算法可以是对应的先驱版本、也可以是被测算法不同编码参数。

步骤203:准备测试的测试序列。

这些序列通常包括标准的视频质量测试集合中的视频,并根据测试的需要设置相应的参数。

步骤204:使用相同属性参数进行编码。

使用基准编码和测试编码对测试视频文件(即上述测试序列)进行编码,确保视频质量参数相同,例如,视频质量参数帧率可以是fps、I帧、B帧的要求,码率、量化参数、帧数frn等。

步骤205:重新计算比特率。

基准编码和测试编码的比特率(可以选择不同qp量化参数下的4组数据)。

比特率计算公式如下:

bitrate=文件大小/视频时长=filezise(kb)*fps/frn

步骤206:解码编码文件。

对基准编码算法、测试编码算法的结果使用相应的基准解码算法、测试解码算法对文件进行解码。

步骤207:重新计算PSNR。

对原始的测试序列与解码后的测试序列进行PSNR计算,这里可以利用ffmpeg工具完成。输出的PSNR和比特率都记录在自动算Excel的文件中,该文件可以网上下载。此处可以获取PSNR。

步骤208:评估结果。

BD-Rate越小,表示测试编码算法在相同视频质量下比基准编码的效果更好,率失真更小。

可选的,BD-Rate的算法大致描述为,第一步:对基准编码和被测编码测试出来的4组数据各自分段三次插值进行拟合;第二步:对拟合之后的两个曲线横坐标相交的部分计算积分,求积分差值;第三步:将积分差值除以积分区间。

本公开实施例提供的视频编码性能的对比方法,统一了不同算法的比特率、PSNR的计算方式,使用统一的计算方式对视频文件编码后的比特率和PSNR重新进行计算,得到更加精确的数据。进而得到的对比结果更加精准、更加精确,在不同的编码方法之间都可适用,可比性强,减小数据误差。

基于上述图1和图3对应的实施例中所描述的视频编码性能的对比方法,下述为本公开装置实施例,可以用于执行本公开方法实施例。

请参见图3,图3为本公开实施例提供的一种视频编码性能的对比装置的结构示意图,该装置可以包括:

编码模块31,用于使用目标视频质量参数,分别通过基准编码算法和测试编码算法对测试视频进行编码,得到基准编码后的第一视频和测试编码后的第二视频;

比特率模块32,用于分别根据第一视频和第二视频,得到基准编码算法的第一比特率和测试编码算法的第二比特率;

解码模块33,用于通过基准解码算法对第一视频进行解码,得到基准解码后的第三视频;通过测试解码算法对第二视频进行解码,得到测试解码后的第四视频;

峰值信噪比模块34,用于根据测试视频和第三视频,得到基准编码算法的第一峰值信噪比;根据测试视频和第四视频,得到测试编码算法的第二峰值信噪比;

性能对比模块35,用于根据第一比特率、第一峰值信噪比、第二比特率和第二峰值信噪比,得到基准编码算法和测试编码算法的性能对比结果。

在一个实施例中,目标视频质量参数包括:帧率、I帧的信息、B帧的信息、码率、量化参数和帧数中的至少一种。

在一个实施例中,比特率模块32具体用于:

根据第一视频的文件大小和第一视频的时长,得到基准编码算法的第一比特率;

根据第二视频的文件大小和第二视频的时长,得到测试编码算法的第二比特率。

在一个实施例中,比特率模块32具体用于:

根据如下公式得到基准编码算法的第一比特率:

Bitrate1=filezise1*fps1/frn1

其中,Bitrate1是基准编码算法的第一比特率;filezise1第一视频的文件尺寸;fps1是第一视频的帧率;frn1是第一视频的时长;

根据如下公式得到测试编码算法的第二比特率:

Bitrate2=filezise2*fps2/frn2

其中,Bitrate2是测试编码算法的第二比特率;filezise2第二视频的文件尺寸;fps2是第二视频的帧率;frn2是第二视频的时长。

在一个实施例中,性能对比模块35具体用于:

根据第一比特率和第一峰值信噪比,得到基准编码算法的性能指标;

根据第二比特率和第二峰值信噪比,得到测试编码算法的性能指标;

通过比较基准编码算法的性能指标和测试编码算法的性能指标,得到基准编码算法和测试编码算法的性能对比结果。

在一个实施例中,基准编码算法的性能指标包括基准编码算法的BD-Rate值,测试编码算法的性能指标包括测试编码算法的BD-Rate值。

在一个实施例中,峰值信噪比具体用于:

通过ffmpeg,对测试视频和第三视频进行处理,得到基准编码算法的第一峰值信噪比;

通过ffmpeg,对测试视频和第四视频进行处理,得到测试编码算法的第二峰值信噪比。

本公开实施例提供的装置,其实现原理和有益效果与上述提供的方法实施例类似,此处不再赘述。

本公开实施例提供一种视频编码性能的对比设备,包括处理器和存储器,存储器中存储有至少一条计算机指令,指令由处理器加载并执行以实现上述任一实施例所描述的视频编码性能的对比方法中所执行的步骤。

本公开实施例还提供一种计算机可读存储介质,例如,非临时性计算机可读存储介质可以是只读存储器(英文:Read Only Memory,ROM)、随机存取存储器(英文:RandomAccess Memory,RAM)、CD-ROM、磁带、软盘和光数据存储装置等。该存储介质上存储有计算机指令,用于执行上述任一实施例中所描述的视频编码性能的对比方法,此处不再赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

本领域技术人员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

相关技术
  • 存储设备在线检测方法、装置、设备及可读存储介质
  • 射频性能测试方法、装置、计算机设备和可读存储介质
  • 一种浴室加热装置和用于控制浴室加热装置的方法、设备、电子设备及计算机可读存储介质
  • 一种存储池创建方法、装置、设备及可读存储介质
  • 存储设备的系统重置方法、装置、系统及可读存储介质
  • 发射机的功率和EVM的修正方法、性能对比方法、装置、设备及可读存储介质
  • 应用性能对比测试方法、系统、设备和计算机可读存储介质
技术分类

06120116487816