硬件编码器检测方法、装置和终端与流程

文档序号:21407531发布日期:2020-07-07 14:41阅读:405来源:国知局
硬件编码器检测方法、装置和终端与流程

本发明涉及视频编处理技术领域,具体而言,本发明涉及一种硬件编码器检测方法、硬件编码器检测装置、终端、计算机设备和存储介质。



背景技术:

随着视频会议、社交即时通信软件、视频直播的广泛应用,便捷了大众的交流,同时对视频清晰度的需求也越来越高。

视频传输后保持一定的清晰度需要依靠视频编解码来实现。目前移动终端上一般使用硬件编码器对视频进行编码,由于移动终端的生产商众多,存在各种各样的硬件编码器版本,因此硬件编码器的质量出现参差不齐的现象。

当编解码后视频的质量下降,往往由于硬件编码器的质量不佳所导致,即由于硬件编码器的可靠性低,无法确定可用性。



技术实现要素:

本发明的目的旨在至少能解决上述的技术缺陷之一,特别是硬件编码器的可靠性低的技术缺陷。

本发明提供一种硬件编码器检测方法,包括如下步骤:

将测试序列输入硬件编码器进行测试,其中,所述硬件编码器是按照预设的编码参数创建的编码器;

获取所述硬件编码器的输出数据,根据所述输出数据计算所述硬件编码器的测试性能参数;

将所述性能参数与设定的参数参考值进行比较,确定所述硬件编码器的可用状态,其中,所述参数参考值依据所述预设的编码参数进行设定。

在一个实施例中,所述预设的编码参数包括:测试码率、测试分辨率、测试帧率和测试码流;

在所述将测试序列输入硬件编码器进行测试的步骤之前,还包括:

根据所述测试码率、测试分辨率、测试帧率和测试码流创建所述硬件编码器。

在一个实施例中,所述输出数据包括输出编码数据,所述测试性能参数包括码率偏差值,所述参数参考值包括码率偏差容忍值;

所述根据所述输出数据计算所述硬件编码器的测试性能参数的步骤,包括:

获取所述硬件编码器的输出编码数据,根据所述输出编码数据计算硬件编码器输出码率与期望输出码率之间的码率偏差值;

所述将所述性能参数与设定的参数参考值进行比较,确定所述硬件编码器的可用状态的步骤,包括:

将所述码率偏差值与所述码率偏差容忍值进行比较,当所述码率偏差值大于所述码率偏差容忍值时,判定所述硬件编码器的状态为可用状态。

在一个实施例中,所述输出编码数据包括编码帧,所述根据所述输出编码数据计算硬件编码器输出码率与期望输出码率之间的码率偏差值的步骤,包括:

在所述硬件编码器输出任一个编码帧时,对编码器输出值进行计数,根据该编码帧的数据量对所述硬件编码器输出的总输出数据量进行累计;

根据计数后的编码器输出值和累计后的总输出数据量计算所述码率偏差值。

在一个实施例中,所述根据计数后的编码器输出值和累计后的总输出数据量计算所述码率偏差值的步骤,包括:

获取所述硬件编码器的输出码率和所述测试帧率;

根据所述计数后的编码器输出值、所述输出码率和所述测试帧率计算期望输出数据量;

根据所述累计后的总输出数据量和所述期望输出数据量计算所述码率偏差值。

在一个实施例中,所述根据所述计数后的编码器输出值、所述输出码率和所述测试帧率计算期望输出数据量的步骤,包括如下公式:

ep=encout×encbitrate/test_fps

其中,ep为所述期望输出数据量,encout为所述计数后的编码器输出值,encbitrate为所述输出码率,test_fps为所述测试帧率;

所述根据所述累计后的总输出数据量和所述期望输出数据量计算所述码率偏差值的步骤,包括如下公式:

bitrateoffset=abs(bitall-ep)×100%/ep

其中,bitrateoffset为所述码率偏差值,bitall为所述累计后的总输出数据量,ep为所述期望输出数据量,abs(·)为取绝对值函数。

在一个实施例中,所述输出数据包括输出编码数据,所述测试性能参数包括平均峰值信噪比,所述参数参考值包括信噪比阈值;

所述根据所述输出数据计算所述硬件编码器的测试性能参数的步骤,包括:

获取所述硬件编码器的输出编码数据,所述获取所述输出编码数据解码后的平均峰值信噪比;

所述将所述性能参数与设定的参数参考值进行比较,确定所述硬件编码器的可用状态的步骤,包括:

将所述平均峰值信噪比与所述信噪比阈值进行比较,当所述峰值信噪比小于所述信噪比阈值时,判定所述硬件编码器的状态为可用状态。

在一个实施例中,所述输出编码数据包括编码帧,所述获取所述输出编码数据解码后的平均峰值信噪比的步骤,包括:

获取所述硬件编码器输出的编码帧;

将所述编码帧输入解码器进行解码,获得所述编码帧的解码帧;

计算所述解码帧的峰值信噪比;

根据所述解码帧的峰值信噪比对峰值信噪比总值进行累计,根据累计后的峰值信噪比总值计算所述硬件编码器的平均峰值信噪比。

在一个实施例中,所述解码器为与所述硬件编码器对应的软件解码器,在所述将所述编码帧输入解码器进行解码的步骤之前,还包括:

根据所述硬件编码器的测试码率、测试分辨率、测试帧率和测试码流创建所述软件解码器。

在一个实施例中,所述输出数据包括编码帧,所述测试性能参数包括延时时间,所述参数参考值包括延时容忍值;

所述根据所述输出数据计算所述硬件编码器的测试性能参数的步骤,包括:

统计所述硬件编码器的延迟输出帧数;

根据所述延迟输出帧数和所述测试帧率计算所述延时时间;

所述根据设定的参数参考值与所述性能参数之间的比较结果,确定所述硬件编码器的可用状态的步骤,包括:

将所述延时时间与所述延时容忍值进行比较,当所述延时时间大于延时容忍值时,判定所述硬件编码器的状态为可用状态。

在一个实施例中,所述统计所述硬件编码器的延迟输出帧数的步骤,包括:

在任一个测试序列输入所述硬件编码器时,对编码器输入值进行计数;

在所述硬件编码器输出任一个编码帧时,对编码器输出值进行计数;

将计数后的编码器输入值和计数后的编码器输出值的差值,作为所述延迟输出帧数。

在一个实施例中,在所述确定所述硬件编码器的可用状态的步骤之后,还包括:

获取所述硬件编码器下一次输出的输出数据;

执行所述根据所述输出数据计算所述硬件编码器的测试性能参数的步骤。

本发明还提供一种硬件编码器检测装置,包括:

测试序列输入模块,用于将测试序列输入硬件编码器进行测试,其中,所述硬件编码器是按照预设的编码参数创建的编码器;

性能计算模块,用于获取所述硬件编码器的输出数据,根据所述输出数据计算所述硬件编码器的测试性能参数;

状态判定模块,用于将所述性能参数与设定的参数参考值进行比较,确定所述硬件编码器的可用状态,其中,所述参数参考值依据所述预设的编码参数进行设定。

本发明还提供一种终端,其包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于执行任一实施例所述的硬件编码器检测方法。

本发明还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如任一实施例所述硬件编码器检测的步骤。

本发明还提供一种存储有计算机可读指令的存储介质,所述计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行任一实施例所述硬件编码器检测方法的步骤。

上述的硬件编码器检测方法、装置、终端、计算机设备和存储介质,通过检测出可用状态的硬件编码器可以提高硬件编码器的可靠性,以便于后续提高视频传输和播放的质量和效率,降低人力物力成本。

本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。

附图说明

本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:

图1为一个实施例中提供的硬件编码器检测方法的实施环境图;

图2为一个实施例的硬件编码器检测方法流程图;

图3为另一个实施例中硬件编码器检测方法的流程图;

图4为一个实施例中硬件编码器检测装置的结构示意图;

图5是一个实施例中终端的结构示意图;

图6为一个实施例中计算机设备的内部结构示意图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。

本技术领域技术人员可以理解,这里所使用的“终端”、“终端设备”还可以是通讯终端、上网终端、音乐/视频播放终端,例如可以是pda、mid(mobileinternetdevice,移动互联网设备)和/或具有音乐/视频播放功能的移动电话,也可以是智能电视、机顶盒等设备。

如图1所示,图1为一个实施例中提供的硬件编码器检测方法的实施环境图,在该实施环境中,包括硬件编码器110以及解码器120。

硬件编码器110可以根据测试码率、测试分辨率、测试帧率和测试码流等编码参数进行创建。解码器120是与该硬件编码器110对应匹配的解码器,可以对具备硬件编码器110编码参数的编码数据进行解码。硬件编码器110可以是搭载在终端的硬件的编码器,例如终端的ip核,硬件编码器110也可以是搭载在图形处理器上。解码器120可以是搭载在中央处理器的软件解码器。

向硬件编码器110输入测试序列,测试序列为未编码的视频流数据,测试序列可以是游戏场景的视频流数据或直播场景的视频流数据。硬件编码器110对未编码的视频流数据进行编码后,输出编码帧。软件解码器120可以获取该硬件编码器110输出的编码帧,对编码帧进行解码,解码后得到解码帧。

在一个实施例中,如图2所示,图2为一个实施例的硬件编码器检测方法流程图,本实施例中提出了一种硬件编码器检测方法,该硬件编码器检测方法可以应用在上述的硬件编码器110上,具体可以包括以下步骤:

步骤s210:将测试序列输入硬件编码器进行测试,其中,硬件编码器是按照预设的编码参数创建的编码器。

测试序列是未编码的视频流数据,即裸流。硬件编码器是按照预设功能下对应的编码参数进行创建的,以便于设置硬件编码器具备预设功能。

步骤s220:获取硬件编码器的输出数据,根据输出数据计算硬件编码器的测试性能参数。

虽然根据编码参数创建硬件编码器,但是还未能确定硬件编码器的实际编码性能能否达到编码参数对应的预设功能,因此本步骤中需要根据硬件编码器的输出数据来估计硬件编码器当前实际的性能,并通过测试性能参数表示硬件编码器的性能。

能反映硬件编码器性能的参数,包括体现编码质量的峰值信噪比、体现编码可靠性的输出码率、体现编码速度的延时时间等。

步骤s230:将性能参数与设定的参数参考值进行比较,确定硬件编码器的可用状态,其中,参数参考值依据预设的编码参数进行设定。

当硬件编码器的实际性能无法达到预设功能的要求时,此时硬件编码器表现出的性能参数往往远远偏离预期的编码参数,当偏离的程度超过容忍值时,就认为该硬件编码器处于不可用状态。

处于不可用状态的硬件编码器会影响视频传输和播放的质量和效率,例如,硬件编码器的编码质量达不到预期性能,峰值信噪比过高,使得编解码的视频失真严重,甚至导致花屏现象,导致视频也不可用,硬件编码器的可靠性低;而且对于中间所使用的资源和生成数据都会造成浪费,因此,不可用状态的硬件编码器会浪费人力物力,效率低。

上述硬件编码器检测方法,通过检测出可用状态的硬件编码器可以提高硬件编码器的可靠性,以便于后续提高视频传输和播放的质量和效率,降低人力物力成本。

在一个实施例中,预设的编码参数包括:测试码率、测试分辨率、测试帧率和测试码流;在步骤s210将测试序列输入硬件编码器进行测试的步骤之前,还包括:

240:根据测试码率、测试分辨率、测试帧率和测试码流创建硬件编码器。

上述硬件编码器检测方法,根据多个预设的编码参数对硬件编码器进行创建,可以调整硬件编码器的预设性能,可以增加可创建硬件编码器的类型,增大可测试硬件编码器的范围。

在一个实施例中,输出数据包括输出编码数据,测试性能参数包括码率偏差值,参数参考值包括码率偏差容忍值。硬件编码器重要的性能是编码,因此主要观察硬件编码器与编码相关的输出编码数据。码率偏差值主要是用于表示硬件编码器在编码功能上,实际输出的码率与期望输出的码率之间存在的偏差值,而码率偏差容忍值则是在输出码率上考虑硬件编码器是否可用的参数参考值。

步骤s220中根据输出数据计算硬件编码器的测试性能参数的步骤,可以包括:221-a获取硬件编码器的输出编码数据,根据输出编码数据计算硬件编码器输出码率与期望输出码率之间的码率偏差值。

硬件编码器输出码率与硬件编码器编码后输出的输出编码数据的数据量有关,期望输出码率则是与预设的编码参数相关。在其中一个事实方式中,码率偏差值的计算可以这么理解,在一定时间内,硬件编码器输出编码数据的数据量与期望输出的数据量接近,则表明硬件编码器输出码率与期望输出码率也是接近的,此时码率偏差值较小。

步骤s230中将性能参数与设定的参数参考值进行比较,确定硬件编码器的可用状态的步骤,可以包括:231-a将码率偏差值与码率偏差容忍值进行比较,当码率偏差值大于码率偏差容忍值时,判定硬件编码器的状态为可用状态。

在码率偏差值大于码率偏差容忍值时,此时输出的输出编码数据量的波动性太大,会影响所在系统的效率。当输出的数据量过高,编码帧过多,上传速率跟不上硬件编码器输出码率,造成大量编码帧在缓冲队列等待上传,随着积压编码帧增加,耗费较高内存资源,会造成设备运行缓慢,甚至卡机,大大降低所在系统的稳定性和效率。当输出的数据量过低,编码速度低,等待编码完成的时间过长,特别是无法满足视频流的编码需求,视频直播效果差。由此可见,码率偏差值低,硬件编码器输出码率与期望输出码率之间接近,有利于保持系统稳定和提高系统性能,硬件编码器的可用性高。

在一个实施例中,输出编码数据包括编码帧,221-a中根据输出编码数据计算硬件编码器输出码率与期望输出码率之间的码率偏差值的步骤,可以包括:

221-a(1):在硬件编码器输出任一个编码帧时,对编码器输出值进行计数,根据该编码帧的数据量对硬件编码器输出的总输出数据量进行累计。

本步骤中,编码器输出值指的是硬件编码器已输出编码帧的帧数,每当硬件编码器输出一个编码帧,编码器输出值累加1。每次都对输出编码数据进行累计,计算总输出数据量。

221-a(2):根据计数后的编码器输出值和累计后的总输出数据量计算码率偏差值。

预计每个编码帧的数据量,再结合已输出编码帧的帧数,可以计算期望输出的数据量。码率偏差值是一个相对于期望得到偏差的比例,可以由以下公式计算:

上述硬件编码器检测方法,可以通过输出数据量计算码率偏差值,简便了计算,提高了效率。

在一个实施例中,221-a(2)中根据计数后的编码器输出值和累计后的总输出数据量计算码率偏差值的步骤,包括:

a①:获取硬件编码器的输出码率和测试帧率。

输出码率和测试帧率可以是从创建硬件编码器时的预设的编码参数中获取。

a②:根据计数后的编码器输出值、输出码率和测试帧率计算期望输出数据量。

本步骤中,根据输出码率和测试帧率之间的比值可以获得预期输出的每个编码帧的数据量,再根据实际已输出帧数,即编码器输出值,即可计算期望输出的数据量,具体可以包括如下公式:

ep=encout×encbitrate/test_fps

其中,ep为期望输出数据量,encout为计数后的编码器输出值,encbitrate为输出码率,test_fps为测试帧率。

a③:根据累计后的总输出数据量和期望输出数据量计算码率偏差值。

本步骤中,如同上一实施例所述,码率偏差值可以通过输出数据量进行计算,具体可以包括如下公式:

bitrateoffset=abs(bitall-ep)×100%/ep

其中,bitrateoffset为码率偏差值,bitall为累计后的总输出数据量,ep为期望输出数据量,abs(·)为取绝对值函数。

上述硬件编码器检测方法,可以准确地通过预设的编码参数和实际输出的编码帧数量计算编码偏差值,结合硬件编码器的预设编码参数,同时精确和简便了编码偏差值的计算。

在一个实施例中,输出数据包括输出编码数据,测试性能参数包括平均峰值信噪比,参数参考值包括信噪比阈值。硬件编码器编码后的编码数据还需要通过解码才可以显示相应的图像,因此也需要考虑硬件编码器输出的编码数据能否被正确解码为符合需求的图像,在此通过检测编解码后图像的峰值信噪比来判断硬件编码器的性能。

步骤s220中根据输出数据计算硬件编码器的测试性能参数的步骤,可以包括:221-b:获取硬件编码器的输出编码数据,获取输出编码数据解码后的平均峰值信噪比。

本步骤中,对编码后的输出编码数据进行解码,再进行解码后数据的平均峰值信噪比的计算。为了避免检测是因随机带来的波动性,可以通过统计的方式获取平均峰值信噪比。

步骤s230中将性能参数与设定的参数参考值进行比较,确定硬件编码器的可用状态的步骤,可以包括:

231-b:将平均峰值信噪比与信噪比阈值进行比较,当峰值信噪比小于信噪比阈值时,判定硬件编码器的状态为可用状态。

当平均峰值信噪比过高,会造成解码后的画面普遍出现花屏的现象,严重影响视频的质量,此时的硬件编码器的可用性低。当平均峰值信噪比较低,视频质量较好,此时硬件编码器的可用性高,可以判定其状态为可用状态。

在一个实施例中,输出编码数据包括编码帧,221-b中获取输出编码数据解码后的平均峰值信噪比的平均峰值信噪比的步骤,可以包括:

b①:获取硬件编码器输出的编码帧;

b②:将编码帧输入解码器进行解码,获得编码帧的解码帧;

b③:计算解码帧的峰值信噪比;

b④:根据解码帧的峰值信噪比对峰值信噪比总值进行累计,根据累计后的峰值信噪比总值计算硬件编码器的平均峰值信噪比。

根据累计后的峰值信噪比总值计算硬件编码器的平均峰值信噪比,具体可以是将峰值信噪比总值根据已输出的编码帧数求平均值,得到平均峰值信噪比。

上述硬件编码器检测方法,具体统计了平均峰值信噪比,体现了硬件编码器的平均的性能。

在一个实施例中,解码器为与硬件编码器对应的软件解码器,在b②将编码帧输入解码器进行解码的步骤之前,还可以包括:

b⑤:根据硬件编码器的测试码率、测试分辨率、测试帧率和测试码流创建软件解码器。

上述硬件编码器检测方法,软件解码器与硬件编码器的编解码的参数匹配,以便于软件解码器可以对硬件编码器的输出编码数据进行解码。

在一个实施例中,输出数据包括编码帧,测试性能参数包括延时时间,参数参考值包括延时容忍值;

步骤s220中根据输出数据计算硬件编码器的测试性能参数的步骤,可以包括:

221-c:统计硬件编码器的延迟输出帧数;

222-c:根据延迟输出帧数和测试帧率计算延时时间。

延迟输出帧数可以较为直观地统计,以便于再利用预设的测试帧率计算延时时间,简化延时时间的测量。

步骤s230中根据设定的参数参考值与性能参数之间的比较结果,确定硬件编码器的可用状态的步骤,可以包括:

231-c:将延时时间与延时容忍值进行比较,当延时时间大于延时容忍值时,判定硬件编码器的状态为可用状态。

例如在直播视频的场景中,当编码过程的延时时间过大,即使后续解码器的解码能力优秀,也会使得解码播放的视频出现明显的迟延现象,直播画面延迟播放了,导致直播实时性降低,大大影响视频的播放,此时的硬件编码器可用性低。当直播时所用的硬件编码器延时较低,则直播的实时性强,此时的硬件编码器的状态可以判定为可用状态。

在一个实施例中,221-c中统计硬件编码器的延迟输出帧数的步骤,包括:

c①:在任一个测试序列输入硬件编码器时,对编码器输入值进行计数;

c②:在硬件编码器输出任一个编码帧时,对编码器输出值进行计数;

c③:将计数后的编码器输入值和计数后的编码器输出值的差值,作为延迟输出帧数。

每当向硬件编码器输入代表一帧的测试序列时,编码器输入值累加1,编码器输入值的初始值为0。编码器输出值指的是硬件编码器已输出编码帧的帧数,每当硬件编码器输出一个编码帧,编码器输出值累加1。

上述硬件编码器检测方法,可以简易地检测输入测试序列和输出编码帧,快速获得延迟输出帧数。

在一个实施例中,在确定硬件编码器的可用状态的步骤之后,还包括:

获取硬件编码器下一次输出的输出数据;

执行根据输出数据计算硬件编码器的测试性能参数的步骤。

上述硬件编码器检测方法,可以在间隔预设时间定时检测硬件编码器的可用性,便于实时检测硬件编码器。

在另一个实施例中,如图3所示,图3为另一个实施例中硬件编码器检测方法的流程图。本实施例提供一种硬件编码器检测方法,应用于硬件编码检测,自动检测硬件编码器的各种数据,输出硬件编码的器可用性,包括以下步骤:

s310:设置硬件编码器的编码参数,包括测试码率、测试分辨率、测试帧率和测试码流,根据编码参数创建硬件编码器;同时创建一个对应于该硬件编码器的软件解码器。

s320:当向硬件编码器输入代表一帧的测试序列时,编码器输入值累加1。编码器输入值的初始值为0,具体包括公式:encinput=encinput+1,其中encinput为编码器输入值。

s330:当硬件编码器输出一个编码帧,编码器输出值累加1。编码器输出值的初始值为0,具体包括公式:encout=encout+1,其中encout为编码器输出值。

s340:当编码器第一次输出编码输出时,将编码器输入值与编码器输出值的差值作为延时时间。具体包括公式:encdelay=encinput–encout,encdelay为延时时间。

s350:获取硬件编码器输出的编码帧,将编码帧输入解码器进行解码,获得编码帧的解码帧,计算解码帧的峰值信噪比,根据解码帧的峰值信噪比对峰值信噪比总值进行累计,根据累计后的峰值信噪比总值计算硬件编码器的平均峰值信噪比。具体包括公式:psnrall=psnrall+psnr,其中psnrall为峰值信噪比总值,psnr为解码帧的峰值信噪比。

s360:在硬件编码器输出任一个编码帧时,根据该编码帧的数据量对硬件编码器输出的总输出数据量进行累计。具体包括公式:bitall=bitall+outsize,其中bitall为总输出数据量,outsize为编码帧的数据量。

s370:计算输出码率与期望的偏差,即码率偏差值,具体包括如下公式:

ep=encout×encbitrate/test_fps,

bitrateoffset=abs(bitall-ep)×100%/ep,

其中,ep为期望输出数据量,encout为计数后的编码器输出值,encbitrate为输出码率,test_fps为测试帧率,bitrateoffset为码率偏差值,bitall为累计后的总输出数据量,abs(·)为取绝对值函数。

s380:设使用该硬件编码器的应用能容忍的延时容忍值、最大能容忍的码率偏差容忍值和信噪比阈值;

s390:如果码率偏差值大于码率偏差容忍值,或者平均峰值信噪比小于信噪比阈值,或者延时时间大于延时容忍值,判定硬件编码器的状态为不可用状态,否则判定硬件编码器的状态为可用状态。

上述硬件编码器检测方法可以很好地检测硬件编码器的可用性,通过检测出可用状态的硬件编码器可以提高硬件编码器的可靠性,以便于后续提高视频传输和播放的质量和效率,降低人力物力成本。

在一个实施例中,如图4所示,图4为一个实施例中硬件编码器检测装置的结构示意图,本实施例中提供一种硬件编码器检测装置,包括测试序列输入模块410、性能计算模块420和状态判定模块430,其中:

测试序列输入模块410,用于将测试序列输入硬件编码器进行测试,其中,所述硬件编码器是按照预设的编码参数创建的编码器。

性能计算模块420,用于获取所述硬件编码器的输出数据,根据所述输出数据计算所述硬件编码器的测试性能参数。

状态判定模块430,用于将所述性能参数与设定的参数参考值进行比较,确定所述硬件编码器的可用状态,其中,所述参数参考值依据所述预设的编码参数进行设定。

当硬件编码器的实际性能无法达到预设功能的要求时,此时硬件编码器表现出的性能参数往往远远偏离预期的编码参数,当偏离的程度超过容忍值时,就认为该硬件编码器处于不可用状态。

处于不可用状态的硬件编码器会影响视频传输和播放的质量和效率,例如,硬件编码器的编码质量达不到预期性能,峰值信噪比过高,使得编解码的视频失真严重,甚至导致花屏现象,导致视频也不可用,硬件编码器的可靠性低;而且对于中间所使用的资源和生成数据都会造成浪费,因此,不可用状态的硬件编码器会浪费人力物力,效率低。

上述硬件编码器检测装置,通过检测出可用状态的硬件编码器可以提高硬件编码器的可靠性,以便于后续提高视频传输和播放的质量和效率,降低人力物力成本。

关于硬件编码器检测装置的具体限定可以参见上文中对于硬件编码器检测方法的限定,在此不再赘述。上述硬件编码器检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

本发明实施例还提供了移动终端,如图5所示,图5是一个实施例中终端的结构示意图,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例方法部分。该终端可以为包括手机、平板电脑、pda(personaldigitalassistant,个人数字助理)、pos(pointofsales,销售终端)、车载电脑等任意终端设备,以终端为手机为例:

图5示出的是与本发明实施例提供的终端相关的手机的部分结构的框图。参考图5,手机包括:射频(radiofrequency,rf)电路1510、存储器1520、输入单元1530、显示单元1540、传感器1550、音频电路1560、无线保真(wirelessfidelity,wi-fi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。尽管未示出,手机还可以包括摄像头、蓝牙模块等,在此不再赘述。

在本发明实施例中,该终端所包括的处理器1580还具有以下功能:将测试序列输入硬件编码器进行测试,其中,硬件编码器是按照预设的编码参数创建的编码器;获取硬件编码器的输出数据,根据输出数据计算硬件编码器的测试性能参数;将性能参数与设定的参数参考值进行比较,确定硬件编码器的可用状态,其中,参数参考值依据预设的编码参数进行设定。也即处理器1580具备执行上述的任一实施例硬件编码器检测方法的功能,在此不再赘述。

如图6所示,图6为一个实施例中计算机设备的内部结构示意图。该计算机设备包括通过系统总线连接的处理器、非易失性存储介质、存储器和网络接口。其中,该计算机设备的非易失性存储介质存储有操作系统、数据库和计算机可读指令,数据库中可存储有控件信息序列,该计算机可读指令被处理器执行时,可使得处理器实现一种硬件编码器检测方法。该计算机设备的处理器用于提供计算和控制能力,支撑整个计算机设备的运行。该计算机设备的存储器中可存储有计算机可读指令,该计算机可读指令被处理器执行时,可使得处理器执行一种硬件编码器检测方法。该计算机设备的网络接口用于与终端连接通信。本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施例的硬件编码器检测方法的步骤。

在一个实施例中,提出了一种存储有计算机可读指令的存储介质,该计算机可读指令被一个或多个处理器执行时,使得一个或多个处理器执行上述任一实施例的硬件编码器检测方法的步骤。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1