一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多媒体文件的解码方法、装置、存储介质及电子装置与流程

2022-07-31 06:32:49 来源:中国专利 TAG:


1.本发明实施例涉及计算机领域,具体而言,涉及一种多媒体文件的解码方法、装置、存储介质及电子装置。


背景技术:

2.在相关技术中,视频监控系统要求可以同时监控十几路以上的视频,而且对视频的清晰度、流畅度要求越来越高,从而使用户对带宽、计算机性能要求越来越高。
3.相关技术中的解码方式一般采用全软解(cpu解码)或者全硬解(gpu解码)。全软解采用cpu内核解码,对cpu要求很高,然而cpu能力有限,计算机上的其他应用也同时在使用cpu,以至于cpu负荷太大,容易造成视频解码卡顿、延时,无法满足多路高清视频监控的需求。全硬解采用gpu内核解码,对显卡要求很高,成本很昂贵,而且计算机上的其他应用也同时在使用gpu,当gpu负荷太大时会造成图形显示卡顿、死机等现象,也无法满足多路高清视频监控的需求。
4.由此可知,相关技术中存在多媒体文件解码容易造成卡顿、解码效率低的问题。
5.针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。


技术实现要素:

6.本发明实施例提供了一种多媒体文件的解码方法、装置、存储介质及电子装置,以至少解决相关技术中存在的多媒体文件解码容易造成卡顿、解码效率低的问题。
7.根据本发明的一个实施例,提供了一种多媒体文件的解码方法,包括:确定目标设备采集到的目标多媒体文件的目标属性信息;基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量,以及gpu解码所述目标多媒体文件的第二消耗量;在所述第一消耗量小于或等于第一阈值的情况下,基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器,其中,所述目标处理器为所述cpu以及所述gpu中的一个;利用所述目标处理器解码所述目标多媒体文件。
8.根据本发明的另一个实施例,提供了一种多媒体文件的解码装置,包括:第一确定模块,用于确定目标设备采集到的目标多媒体文件的目标属性信息;第二确定模块,用于基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量,以及gpu解码所述目标多媒体文件的第二消耗量;第三确定模块,用于在所述第一消耗量小于或等于第一阈值的情况下,基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器,其中,所述目标处理器为所述cpu以及所述gpu中的一个;解码模块,用于利用所述目标处理器解码所述目标多媒体文件。
9.根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
10.根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述
存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
11.通过本发明,确定目标设备采集到的目标多媒体信的目标属性信息,基于目标属性信息确定cpu解码目标多媒体文件的第一消耗量,以及根据目标属性信息确定gpu解码目标多媒体文件的第二消耗量,在第一消耗量小于或等于第一阈值的情况下,根据第一消耗量以及第二消耗量确定用于解码目标多媒体文件的目标处理器,其中,目标处理器为cpu以及gpu中的一个,利用目标处理器解码目标多媒体文件。由于在对目标多媒体文件进行解码之前,先根据目标多媒体文件的目标属性信息判断了cpu以及gpu解码目标多媒体文件的消耗量,在cpu的第一消耗量小于或等于第一阈值时,再确定用于解码目标多媒体文件的目标处理器。保证了再利用目标处理器解码目标多媒体文件时不会造成卡顿。因此,可以解决相关技术中存在的多媒体文件解码容易造成卡顿、解码效率低的问题,达到提高解码多媒体信息效率的同时,保证了系统的正常运行的效果。
附图说明
12.图1是本发明实施例的一种多媒体文件的解码方法的移动终端的硬件结构框图;
13.图2是根据本发明实施例的多媒体文件的解码方法的流程图;
14.图3是根据本发明示例性实施例的grnn模型示意图;
15.图4是根据本发明示例性实施例的确定第一消耗量以及第二消耗量流程示意图;
16.图5是根据本发明具体实施例的多媒体文件的解码方法流程图;
17.图6是根据本发明实施例的多媒体文件的解码装置的结构框图。
具体实施方式
18.下文中将参考附图并结合实施例来详细说明本发明的实施例。
19.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
20.本技术实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种多媒体文件的解码方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
21.存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的多媒体文件的解码方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包
括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
22.传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(network interface controller,简称为nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(radio frequency,简称为rf)模块,其用于通过无线方式与互联网进行通讯。
23.在本实施例中提供了一种多媒体文件的解码方法,图2是根据本发明实施例的多媒体文件的解码方法的流程图,如图2所示,该流程包括如下步骤:
24.步骤s202,确定目标设备采集到的目标多媒体文件的目标属性信息;
25.步骤s204,基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量,以及gpu解码所述目标多媒体文件的第二消耗量;
26.步骤s206,在所述第一消耗量小于或等于第一阈值的情况下,基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器,其中,所述目标处理器为所述cpu以及所述gpu中的一个;
27.步骤s208,利用所述目标处理器解码所述目标多媒体文件。
28.在上述实施例中,目标设备可以是监控设备,目标设备可以包括多个采集通道,不同的采集通道可以采集不同角度的目标多媒体文件。其中,目标多媒体文件可以为视频、图像中。目标采集设备在采集到目标多媒体文件后,解码设备可以从目标采集设备中拉流目标多媒体文件,并对目标多媒体文件进行解码。由于存在多通道的多媒体信息,且解码每个通道的多媒体信息会占用解码设备的处理器,当多媒体信息比较大,或解码多媒体信息的处理器消耗量较大时,解码多媒体文件会导致卡顿、死机等现象。
29.在上述实施例中,在解码目标多媒体文件之间,可以首先根据目标多媒体文件的目标属性信息确定利用cpu解码目标多媒体文件,消耗cpu的第一消耗量,以及根据目标多媒体文件的目标属性信息确定利用gpu解码目标多媒体文件,消耗gpu的第二消耗量。判断第一消耗量与预先设定的第一阈值的大小关系。当第一消耗量大于第一阈值时,如果使用cpu解码目标多媒体文件,则会造成cpu卡顿等,因此,当第一消耗量大于第一阈值时,可以直接利用gpu解码目标多媒体文件。
30.在上述实施例中,当第一消耗量小于或等于第一阈值的情况下,可以根据第一消耗量以及第二消耗量确定用于解码目标多媒体文件的目标处理器。其中,目标处理器为cpu或gpu。
31.在上述实施例中,cpu和gpu可以集成在同一解码设备中。gpu可以是一个处理器,也可以是多个处理器。即在一个解码设备中,可以集成一个cpu和一个或多个gpu。
32.在上述实施例中,目标多媒体文件可以为视频、图像等,目标多媒体文件的目标属性信息可以包括多媒体信息的分辨率、编码格式、帧率、码流等。
33.可选地,上述步骤的执行主体可以是解码设备、后台处理器,或者其他的具备类似处理能力的设备,还可以是至少集成有图像获取设备以及数据处理设备的机器,其中,图像获取设备可以包括摄像头等图形采集模块,数据处理设备可以包括计算机、手机等终端,但不限于此。
34.通过本发明,确定目标设备采集到的目标多媒体信的目标属性信息,基于目标属
性信息确定cpu解码目标多媒体文件的第一消耗量,以及根据目标属性信息确定gpu解码目标多媒体文件的第二消耗量,在第一消耗量小于或等于第一阈值的情况下,根据第一消耗量以及第二消耗量确定用于解码目标多媒体文件的目标处理器,利用目标处理器解码目标多媒体文件。由于在对目标多媒体文件进行解码之前,先根据目标多媒体文件的目标属性信息判断了cpu以及gpu解码目标多媒体文件的消耗量,在cpu的第一消耗量小于或等于第一阈值时,再确定用于解码目标多媒体文件的目标处理器,其中,目标处理器为cpu以及gpu中的一个。保证了再利用目标处理器解码目标多媒体文件时不会造成卡顿。因此,可以解决相关技术中存在的多媒体文件解码容易造成卡顿、解码效率低的问题,达到提高解码多媒体信息效率的同时,保证了系统的正常运行的效果。
35.在一个示例性实施例中,基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器包括:确定所述cpu当前的第一使用率,以及所述gpu当前的第二使用率;确定所述第一使用率与所述第一消耗量的第一和值,以及所述第二使用率与所述第二消耗量的第二和值;基于所述第一和值以及所述第二和值确定所述目标处理器。在本实施例中,可以确定cpu当前的第一使用率,以及gpu当前的第二使用率,确定第一使用率和第一消耗量的第一和值,确定第二使用率与第二消耗量的第二和值,根据第一和值和第二和值确定目标处理器。
36.在上述实施例中,当gpu为多个时,可以分别确定每个gpu的当前第二使用率,确定每个第二使用率与第二消耗量的第二和值,得到多个第二和值,在确定目标处理器时,则可以根据第一和值以及多个第二和值确定。
37.在一个示例性实施例中,基于所述第一和值以及所述第二和值确定所述目标处理器包括:在所述第一和值小于第二阈值的情况下,将所述cpu确定为所述目标处理器;在所述第一和值大于或等于所述第二阈值的情况下,确定所述第二和值是否小于第三阈值;在所述gpu包括一个gpu,且所述第二和值小于所述第三阈值的情况下,将所述gpu确定为所述目标处理器;在所述gpu包括多个gpu,且所述第二和值中存在小于所述第三阈值的第三和值的情况下,将所述第三和值中包括的任意一个第三和值对应的目标gpu确定为所述目标处理器。在本实施例中,当第一和值小于第二阈值时,可以将cpu确定为目标处理器。当第一和值大于或等于第二阈值的情况下,则认为cpu不能作为用于解码目标多媒体文件的目标处理器。因此,可以确定第二和值与第三阈值的关系。当gpu为一个时,则确定第二和值是否小于第三阈值,在小于的情况下,将gpu确定为目标处理器。当gpu为多个时,可以将gpu中包括的第二和值小于第三阈值的处理器中包括的目标gpu确定为目标处理器。
38.在上述实施例中,当gpu为多个,且多个第二和值中存在小于第三阈值的第三和值的情况下,可以将第三和值中包括任意一个和值对应的目标gpu确定为目标处理器。也可以将第三和值小于第三阈值的处理器中最小第三和值对应的处理器确定为目标处理器。
39.在上述实施例中,第二阈值、第三阈值可以是预先设定的阈值,本发明对第二阈值以及第三阈值的取值不作限定。
40.在一个示例性实施例中,基于所述第一和值以及所述第二和值确定所述目标处理器包括:确定所述第一和值与所述cpu的算力的第一算力比值,在所述比值小于第四阈值的情况下,将所述cpu确定为所述目标处理器;在所述第一算力比值大于或等于所述第四阈值,且所述gpu为多个的情况下,确定每个所述第二和值与所述gpu的算力的第二算力比值,
确定所述第二算力比值中包括的小于第五阈值的第二子算力比值,将所述第二子算力比值对应的所述gpu中包括的第四处理器确定为所述目标处理器;在所述第一算力比值大于或等于所述第四阈值,且所述gpu为一个,且所述第二算力比值小于所述第五阈值的情况下,将所述gpu确定为所述目标处理器。在本实施例中,第四阈值、第五阈值为预先设定的阈值,本发明对此不作限定。第四处理器可以是多个第二子算力比值中包括的任意一个第二子算力比值对应的gpu,还可以是多个第二子算力比值中包括的最小第二子算力比值对应的gpu。
41.在一个示例性实施例中,在确定所述第二和值是否小于第三阈值之后,所述方法还包括:在所述第二和值大于或等于所述第三阈值的情况下,停止解码所述目标多媒体文件。在本实施例中,当第二和值大于或等于第三阈值时,说明cpu和gpu当前均不能执行解码任务,因此,可以停止解码目标多媒体文件。其中,停止解码目标多媒体文件包括:不拉流多媒体文件。当cpu和gpu均不能进行解码时,采用不拉流的方式停止解码,避免了无法解码仍将目标多媒体文件拉流至解码设备,导致解码设备内存被大量占用的现象出现。
42.在一个示例性实施例中,确定目标设备采集到的目标多媒体文件的目标属性信息包括:确定所述目标设备所采集的所述目标多媒体文件的分辨率、编码格式、帧率以及码流;对所述分辨率、编码格式、帧率以及码流进行归一化处理,得到目标分辨率值、目标编码格式值、目标帧率值以及目标码流值;将所述目标分辨率值、所述目标编码格式值、所述目标帧率值以及所述目标码流值确定为所述目标属性信息。在本实施例中,在视频监控中,视频流主要的属性包括分辨率、编码格式、帧率、码流,因此可以采用视频源的分辨率、编码格式、帧率、码流去预测该视频源的cpu消耗量,即第一消耗量,以及gpu的消耗量,即第二消耗量。在采集到数据之后,需要对数据进行归一化处理。即在确定目标属性信息时,可以确定目标设备所采集的目标多媒体文件的分辨率、编码格式、帧率以及码流,将分辨率、编码格式、帧率以及码流进行归一化处理,使分辨率、编码格式、帧率以及码流处于同一数量级。
43.在一个示例性实施例中,对所述分辨率、编码格式、帧率以及码流进行归一化处理,得到目标分辨率值、目标编码格式值、目标帧率值以及目标码流值包括:确定所述分辨率与预先确定的第一分辨率的第一差值,以及预先确定的第二分辨率与所述第一分辨率的第二差值,将所述第一差值与所述第二差值的第一比值确定所述目标分辨率值;确定预定编码格式与归一化值的对应关系,基于所述对应关系确定与所述编码格式对应的目标归一化值,将所述目标归一化值确定为所述目标编码格式值;确定所述帧率与预先确定的第一帧率的第三差值,以及预先确定的第二帧率与所述第一帧率的第四差值,将所述第三差值与所述第四差值的第二比值确定为所述目标帧率值;确定所述码流与预先确定第一码流的第五差值,以及预先确定的第二码流与所述第一码流的第六差值,将所述第五差值与所述第六差值的第二比值确定为所述目标码流值。在本实施例中,在对分辨率进行归一化时,分辨率格式一般为通常用“水平像素数x垂直像素数”的形式表示,如720p为1280*720,则采用ppi来量化分辨率,ppi=水平像素数
×
垂直像素数。第一分辨率可以是目标设备的分辨率的最小值,第二分辨率可以是目标设备的分辨率的最大值目标分辨率值可以表示为的最小值,第二分辨率可以是目标设备的分辨率的最大值目标分辨率值可以表示为其中,ppi
min
即为第一分辨率,ppi
max
即为第二分辨率。其中,第一分辨率以及第二分辨率为预先确定的值,例如,视频监控中常用解码能力最大为8k分辨率为7680*
4320,则ppi
max
=7680*4320。视频监控中现今设备常用解码能力最小为270p分辨率为7680*4320,则ppi
min
可以为=480*270。
44.在上述实施例中,在对编码格式进行归一化时,可以获取预先确定的预定编码格式与归一化值的对应关系,根据对应关系确定出与编码格式对应的目标编码格式值。例如,视频监控中常用的编码格式为h.264和h.265,相同条件下,h.265所需解码资源少于h.264。将编码格式为h.264的视频源,归一化为x2=0,即目标编码格式值为0。将编码格式为h.265的视频源,归一化为x2=1,即目标编码格式值为1。
45.在上述实施例中,帧率为每秒显示帧数,相同条件下,帧率越高,所需要的解码资源越多。在对帧率进行归一化时,目标帧率值可以用公式表示为其中,fr
min
即为第一帧率,fr
max
即为第二帧率。即第一帧率可以是目标设备的最小帧率,第二帧率可以是目标设备的最大帧率。例如,视频监控中常用的帧率最大为60fps,则fr
max
=60;最小的帧率为1,则fr
min
=1。
46.在上述实施例中,码流为视频文件每秒使用的数据流量;相同条件下,码流越高,所需要的解码资源越多。可以用公式表示目标码流值。其中,dr
min
即为第一码流,dr
max
即为第二码流。其中,第一码流和第二码流也是预先确定的。例如,视频监控中常用的码流最大为8mbps,则fr
max
=8*1024。最小的帧率为1kbps,则fr
min
=1。
47.在一个示例性实施例中,基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量包括:将所述目标属性信息输入至cpu消耗量预测模型中,以确定所述第一消耗量;基于所述目标属性信息确定gpu解码所述目标多媒体文件的第二消耗量包括:将所述目标属性信息输入至gpu消耗量预测模型中,以确定所述第二消耗量;其中,所述cpu消耗预测模型包括广义回归神经网络,所述gpu消耗预测模型包括广义回归神经网络,所述cpu消耗预测模型以及所述gpu消耗预测模型均是利用粒子群算法进行收敛训练得到的。在本实施例中,可以通过广义回归神经网络 粒子群算法,即grnn pso算法确定第一消耗量以及第二消耗量。广义回归神经网络grnn是一种基于径向基函数的回归型神经网络。在样本数量较少的短期预测方面grnn具有局部非线性逼近能力强、收敛速度快和自学能力强等特点。grnn模型示意图可参见附图3,如图3所示,grnn依靠径向基函数完成输入向量到线性输出层的变换,其中‖dist‖是用于控制映射输出的径向基距离。通常采用gauss函数作为径向基函数,设函数k为gauss函数,即:
[0048][0049]
其中,x为输入向量,x

为gauss函数中心,σ为gauss函数的平滑因子,调节函数径向作用范围(e=2.7183)。σ是grnn最重要的训练参数,σ取值过大,易造成grnn欠拟合,σ取值过小,易造成grnn过拟合,因此对σ进行优化选取。可以利用全局寻优能力强、收敛速度快的粒子群算法(pso)来动态搜索训练该参数σ的最优值,从而提高grnn的计算准确度。
[0050]
grnn的网络结构为输入层为4个变量,隐含层为4个变量,输出层设置为1个变量。径向基函数是gauss函数,平滑因子σ最优值由pso迭代搜索。pso通过自适应度函数f控制grnn计算误差。设视频源i的理论cpu消耗量为yi,是根据粒子j的训练参数所得视频源i
的理论cpu消耗量计算值,则该视频源i的误差为:
[0051][0052]
测试样本包含m条待测线路,则对应pso中j点坐标的测试样本平均计算误差θj可由下式得到:
[0053][0054]
pso的适应度函数f定义如下式所示:
[0055]
f(j)=θj[0056]
式中,f(j)的值越小,说明根据当前粒子j的训练参数所得模型计算误差越小。本地设定f的阈值ε=0.08,当f≤ε时迭代结束。f(j)=θj是pso迭代公式,用以更新粒子速度和位置。v为粒子速度,即:
[0057]vj,k 1
=ωv
j,k
c1r1(p
best,j-s
j,k
) c2r2(g
best,j-s
j,k
)
[0058]sj,k 1
=s
j,k
v
j,k 1
[0059][0060]
式中,s为粒子位置,p
best
为粒子的历史个体最优位置,g
best
为种群的历史最有位,k为迭代次数。其中,确定第一消耗量以及第二消耗量流程示意图可参见附图4。
[0061]
下面结合具体实施方式对多媒体文件的解码方法进行说明:
[0062]
图5是根据本发明具体实施例的多媒体文件的解码方法流程图,如图5所示:
[0063]
可以通过grnn(广义回归神经网络) pso算法(粒子群优化算法)对视频源的cpu消耗量进行预测后,通过对消耗量的衡量,决定视频的解码方式。本方法能够在解码前对视频源的解码消耗进行预测,避免系统崩溃,且最大程度发挥系统本身的解码能力。
[0064]
步骤一:设置cpu阈值(对应于第二阈值),gpu阈值(对应于第三阈值)和解码阈值(单一通道最大cpu消耗量,对应于第一阈值),对视频源进行数据采集,使用grnn pso构建cpu/gpu消耗量模型。利用分辨率、编码格式、帧数、码流等预测cpu消耗量,即第一消耗量,和第二消耗量。
[0065]
步骤二:逐一将待拉流视频源带入cpu/gpu消耗量模型,得出该视频通道的cpu/gpu消耗量,即第一消耗量,和第二消耗量。
[0066]
步骤三:判断该通道cpu消耗量是否大于解码阈值;若该通道cpu消耗量大于解码阈值,采用gpu硬解;否则进行下一步判断;
[0067]
步骤四:采集当前系统的cpu利用率和gpu利用率,判断cpu利用率与该通道预测的cpu消耗量之和是否小于cpu阈值;若cpu利用率与该通道cpu消耗量之和小于cpu阈值,采用cpu解码;否则进行下一步判断;
[0068]
步骤五:判断gpu利用率与该通道预测的gpu消耗量之和是否小于gpu阈值;若gpu利用率与该通道gpu消耗量之和小于gpu阈值,采用cpu解码;否则,停止拉流并提示;
[0069]
步骤六:为下一个视频源分配解码方式,重复步骤二至五,直至将所有视频源均分配完解码方式。
[0070]
在前述实施例中,可以为不同的视频源分配不同的解码方式,系统的cpu软解和
gpu硬解可以同时采用,最大化的发挥了系统的解码性能。在cpu或者gpu达到阈值后,还可以采用另外的解码方法继续进行解码,可以最大化系统的解码能力。可以对待拉流的视频源进行将有的解码资源消耗的预测,避免发生由于当前视频源需要的解码资源十分巨大时,解码当下的视频源使cpu可用资源耗尽,进而造成拉流卡顿甚至崩溃的情况。对单一视频源cpu消耗量较大的情况,直接采取gpu解码操作,充分利用gpu的众核特性,更好地对视频解码方式进行分配。使用cpu阈值 gpu阈值双重阈值约束条件下,更大程度地发挥系统解码性能。
[0071]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0072]
在本实施例中还提供了一种多媒体文件的解码装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
[0073]
图6是根据本发明实施例的多媒体文件的解码装置的结构框图,如图6所示,该装置包括:
[0074]
第一确定模块62,用于确定目标设备采集到的目标多媒体文件的目标属性信息;
[0075]
第二确定模块64,用于基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量,以及gpu解码所述目标多媒体文件的第二消耗量;
[0076]
第三确定模块66,用于在所述第一消耗量小于或等于第一阈值的情况下,基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器,其中,所述目标处理器为所述cpu以及所述gpu中的一个;
[0077]
解码模块68,用于利用所述目标处理器解码所述目标多媒体文件。
[0078]
在一个示例性实施例中,第三确定模块66可以通过如下方式实现基于所述第一消耗量以及所述第二消耗量确定用于解码所述目标多媒体文件的目标处理器:确定所述cpu当前的第一使用率,以及所述gpu当前的第二使用率;确定所述第一使用率与所述第一消耗量的第一和值,以及所述第二使用率与所述第二消耗量的第二和值;基于所述第一和值以及所述第二和值确定所述目标处理器。
[0079]
在一个示例性实施例中,第三确定模块66可以通过如下方式实现基于所述第一和值以及所述第二和值确定所述目标处理器:在所述第一和值小于第二阈值的情况下,将所述cpu确定为所述目标处理器;在所述第一和值大于或等于所述第二阈值的情况下,确定所述第二和值是否小于第三阈值;在所述gpu包括一个gpu,且所述第二和值小于所述第三阈值的情况下,将所述gpu确定为所述目标处理器;在所述gpu包括多个gpu,且所述第二和值中存在小于所述第三阈值的第三和值的情况下,将所述第三和值中包括的任意一个第三和值对应的目标gpu确定为所述目标处理器。
[0080]
在一个示例性实施例中,所述装置可以用于在确定所述第二和值是否小于第三阈
值之后,在所述第二和值大于或等于所述第三阈值的情况下,停止解码所述目标多媒体文件。
[0081]
在一个示例性实施例中,第一确定模块62可以通过如下方式实现确定目标设备采集到的目标多媒体文件的目标属性信息:确定所述目标设备所采集的所述目标多媒体文件的分辨率、编码格式、帧率以及码流;对所述分辨率、编码格式、帧率以及码流进行归一化处理,得到目标分辨率值、目标编码格式值、目标帧率值以及目标码流值;将所述目标分辨率值、所述目标编码格式值、所述目标帧率值以及所述目标码流值确定为所述目标属性信息。
[0082]
在一个示例性实施例中,第一确定模块62可以通过如下方式实现对所述分辨率、编码格式、帧率以及码流进行归一化处理,得到目标分辨率值、目标编码格式值、目标帧率值以及目标码流值:确定所述分辨率与预先确定的第一分辨率的第一差值,以及预先确定的第二分辨率与所述第一分辨率的第二差值,将所述第一差值与所述第二差值的第一比值确定所述目标分辨率值;确定预定编码格式与归一化值的对应关系,基于所述对应关系确定与所述编码格式对应的目标归一化值,将所述目标归一化值确定为所述目标编码格式值;确定所述帧率与预先确定的第一帧率的第三差值,以及预先确定的第二帧率与所述第一帧率的第四差值,将所述第三差值与所述第四差值的第二比值确定为所述目标帧率值;确定所述码流与预先确定第一码流的第五差值,以及预先确定的第二码流与所述第一码流的第六差值,将所述第五差值与所述第六差值的第二比值确定为所述目标码流值。
[0083]
在一个示例性实施例中,第二确定模块64可以通过如下方式实现基于所述目标属性信息确定cpu解码所述目标多媒体文件的第一消耗量:将所述目标属性信息输入至cpu消耗量预测模型中,以确定所述第一消耗量;第二确定模块64可以通过如下方式实现基于所述目标属性信息确定gpu解码所述目标多媒体文件的第二消耗量:将所述目标属性信息输入至gpu消耗量预测模型中,以确定所述第二消耗量;其中,所述cpu消耗预测模型包括广义回归神经网络,所述gpu消耗预测模型包括广义回归神经网络,所述cpu消耗预测模型以及所述gpu消耗预测模型均是利用粒子群算法进行收敛训练得到的。
[0084]
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
[0085]
本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被处理器执行时实现上述任一项中所述的方法的步骤。
[0086]
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:u盘、只读存储器(read-only memory,简称为rom)、随机存取存储器(random access memory,简称为ram)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
[0087]
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
[0088]
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
[0089]
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,
本实施例在此不再赘述。
[0090]
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
[0091]
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献