音视频多路并发解码方法、装置和计算机设备制造方法及图纸

技术编号:27661803 阅读:41 留言:0更新日期:2021-03-12 14:32
本发明专利技术公开了一种音视频多路并发解码方法、装置和计算机设备。其中,音视频多路并发解码方法包括:获取用于解码音视频的解码参数和系统资源的使用数据,其中,解码参数包括:解码并发数和软解码会话数,系统资源包括如下至少之一:CPU占用率、内存占用率、系统解码负荷度和会话占用率;通过监控系统资源的使用数据,调整解码参数;基于调整后的解码参数对音视频进行解码。本发明专利技术实施例的音视频多路并发解码方法,通过获取用于解码音视频的解码参数和系统资源的使用数据,并通过监控系统资源的使用数据,调整解码参数,以及基于调整后的解码参数对音视频进行解码,在充分利用系统硬件资源,提高解码效率的同时,又保证了系统的运行稳定。

【技术实现步骤摘要】
音视频多路并发解码方法、装置和计算机设备
本专利技术涉及音视频解码
,尤其涉及一种音视频多路并发解码方法、装置和计算机设备。
技术介绍
音视频解码技术中可以分为硬解和软解两种。硬解是指不依赖于CPU,通过专用的硬件设备单独完成音视频的解码,而软解是通过解码软件利用CPU对音视频进行解码处理。在实际应用中,硬解码资源往往是有限的,并且只支持特定格式的音视频解码。因此,可利用解码软件对音视频进行软解码,以提高解码能力,并且能够支持多种音视频格式。但是,软解码会占用大量的CPU资源,尤其是针对高压缩率编码算法的高清视频,会消耗更多的CPU资源。在一些要求多路内容实时分析或者同步播放的场景下,对解码软件的解码能力要求较高,需要尽可能多的开辟解码进程或者线程。而且多路音视频解码需要为每一路会话分配解码前和解码后的数据缓冲区,还会分配额外的空间用于保存支持中断解码或者分段解码的场景下的中间解码数据。如果会话数量过多,可能会占用很多的系统资源如CPU和内存,从而对系统运行产生影响。目前,解码软件只支持固定数量的解码并发数和会话数,或者只能通过命令行或配置文件来调整解码并发数和会话数。当解码软件运行在一个新的硬件配置平台上,需要重新评估调整参数(解码并发数和会话数)。并且在确定参数之后,一旦开始解码过程,解码软件便无法对这些参数进行修改。然而在大多数业务场景下,原始待解码数据流都是不停变化的,这就会发生系统资源利用不充分或超负荷的问题。如果没有充分利用系统硬件资源,即CPU或者内存空闲,会导致大量数据排队等候处理,效率低;如果系统硬件资源使用超限,会导致系统运行卡顿或者其它异常。因此,亟需一种针对多路并发音视频的解码方法,在充分利用系统硬件资源,提高解码效率的同时,又能够保证系统运行稳定。
技术实现思路
本专利技术的目的旨在至少在一定程度上解决上述的技术问题之一。为此,本专利技术的第一个目的在于提出一种音视频多路并发解码方法,能够充分利用系统硬件资源,提高解码效率,同时保证系统的运行稳定。本专利技术的第二个目的在于提出一种音视频多路并发解码装置。本专利技术的第三个目的在于提出一种计算机设备。本专利技术的第四个目的在于提出一种非临时性计算机可读存储介质。为了实现上述目的,本专利技术第一方面实施例提出一种音视频多路并发解码方法,该方法包括:获取用于解码音视频的解码参数和系统资源的使用数据,其中,所述解码参数包括:解码并发数和软解码会话数,所述系统资源包括如下至少之一:CPU占用率、内存占用率、系统解码负荷度和会话占用率;通过监控所述系统资源的使用数据,调整所述解码参数;基于调整后的解码参数对所述音视频进行解码。可选的,基于每一路会话的解码负荷度计算得到所述系统解码负荷度。可选的,基于当前已缓存数据会话数和所述软解码会话数计算得到所述会话占用率。可选的,基于每一路会话的解码负荷度计算得到所述系统解码负荷度,包括:计算所述每一路会话的解码负荷度;基于所述每一路会话的解码负荷度计算出所有会话的解码负荷度的平均值,并将所述平均值作为所述系统解码负荷度。可选的,当前会话为视频解码时,计算所述每一路会话的解码负荷度,包括:获取当前会话的视频刷新率FPS、解码时长、解码输出帧数量和视频解码加权值,其中,所述视频解码加权值与视频分辨率和视频编码复杂度成正比;根据所述视频刷新率FPS、所述解码时长、所述解码输出帧数量和所述视频解码加权值计算出所述当前会话的解码负荷度。可选的,当前会话为音频解码时,计算所述每一路会话的解码负荷度,包括:获取当前会话的音频码率、解码时长、音频解码字节数和音频解码加权值;根据所述音频码率、所述解码时长、所述音频解码字节数和所述音频解码加权值计算出所述当前会话的解码负荷度,其中,所述音频解码加权值与音频编码复杂度成正比。可选的,通过监控所述系统资源的使用数据,调整所述解码参数,包括:判断所述系统解码负荷度是否大于最大解码负荷度,所述CPU占用率是否小于CPU可分配阈值;如果所述系统解码负荷度大于所述最大解码负荷度,且所述CPU占用率小于所述CPU可分配阈值,则增加所述解码并发数。可选的,通过监控所述系统资源的使用数据,调整所述解码参数,包括:判断所述系统解码负荷度是否大于最大解码负荷度,所述软解码会话数是否大于最小支持会话数;如果所述系统解码负荷度大于所述最大解码负荷度,且所述软解码会话数大于最小支持会话数,则减少所述软解会话数。可选的,通过监控所述系统资源的使用数据,调整所述解码参数,包括:判断所述系统解码负荷度是否小于最小解码负荷度,所述会话占用率是否大于最大会话占用阈值,所述内存占用率是否小于内存可分配阈值;如果所述系统解码负荷度小于最小解码负荷度,所述会话占用率大于最大会话占用阈值,且所述内存占用率小于所述内存可分配阈值,则增加所述软解会话数。可选的,通过监控所述系统资源的使用数据,调整所述解码参数,包括:判断所述内存占用率是否大于内存上限阈值,所述软解码会话数是否大于最小支持会话数;如果所述内存占用率大于内存上限阈值,且所述软解码会话数大于最小支持会话数,则减少所述软解会话数。可选的,通过监控所述系统资源的使用数据,调整所述解码参数,包括:判断所述CPU占用率是否大于CPU上限阈值,所述解码并发数是否大于最小支持解码并发数;如果所述CPU占用率大于CPU上限阈值,且所述解码并发数大于最小支持解码并发数,则减少所述解码并发数。本专利技术实施例的音视频多路并发解码方法,通过获取用于解码音视频的解码参数和系统资源的使用数据,并通过监控所述系统资源的使用数据,调整所述解码参数,以及基于调整后的解码参数对所述音视频进行解码,在充分利用系统硬件资源,提高解码效率的同时,又保证了系统的运行稳定。为了实现上述目的,本专利技术第二方面实施例提出了一种音视频多路并发解码装置,包括:获取模块,用于获取用于解码音视频的解码参数和系统资源的使用数据,其中,所述解码参数包括:解码并发数和软解码会话数,所述系统资源包括如下至少之一:CPU占用率、内存占用率、系统解码负荷度和会话占用率;调整模块,用于通过监控所述系统资源的使用数据,调整所述解码参数;解码模块,用于基于调整后的解码参数对所述音视频进行解码。可选的,所述获取模块,用于:基于每一路会话的解码负荷度计算得到所述系统解码负荷度。可选的,所述获取模块,用于:基于当前已缓存数据会话数和所述软解码会话数计算得到所述会话占用率。可选的,所述获取模块,用于:计算所述每一路会话的解码负荷度;基于所述每一路会话的解码负荷度计算出所有会话的解码负荷度的平均值,并将所述平均值作为所述系统解码负荷度。可选的,所述获取模块,具体用于:当前会话为视频解码时,获取当前会话的视频刷新率本文档来自技高网
...

【技术保护点】
1.一种音视频多路并发解码方法,其特征在于,包括:/n获取用于解码音视频的解码参数和系统资源的使用数据,其中,所述解码参数包括:解码并发数和软解码会话数,所述系统资源包括如下至少之一:CPU占用率、内存占用率、系统解码负荷度和会话占用率;/n通过监控所述系统资源的使用数据,调整所述解码参数;/n基于调整后的解码参数对所述音视频进行解码。/n

【技术特征摘要】
1.一种音视频多路并发解码方法,其特征在于,包括:
获取用于解码音视频的解码参数和系统资源的使用数据,其中,所述解码参数包括:解码并发数和软解码会话数,所述系统资源包括如下至少之一:CPU占用率、内存占用率、系统解码负荷度和会话占用率;
通过监控所述系统资源的使用数据,调整所述解码参数;
基于调整后的解码参数对所述音视频进行解码。


2.如权利要求1所述的方法,其特征在于,基于每一路会话的解码负荷度计算得到所述系统解码负荷度。


3.如权利要求1所述的方法,其特征在于,基于当前已缓存数据会话数和所述软解码会话数计算得到所述会话占用率。


4.如权利要求2所述的方法,其特征在于,基于每一路会话的解码负荷度计算得到所述系统解码负荷度,包括:
计算所述每一路会话的解码负荷度;
基于所述每一路会话的解码负荷度计算出所有会话的解码负荷度的平均值,并将所述平均值作为所述系统解码负荷度。


5.如权利要求4所述的方法,其特征在于,当前会话为视频解码时,计算所述每一路会话的解码负荷度,包括:
获取当前会话的视频刷新率FPS、解码时长、解码输出帧数量和视频解码加权值,其中,所述视频解码加权值与视频分辨率和视频编码复杂度成正比;
根据所述视频刷新率FPS、所述解码时长、所述解码输出帧数量和所述视频解码加权值计算出所述当前会话的解码负荷度。


6.如权利要求4所述的方法,其特征在于,当前会话为音频解码时,计算所述每一路会话的解码负荷度,包括:
获取当前会话的音频码率、解码时长、音频解码字节数和音频解码加权值;
根据所述音频码率、所述解码时长、所述音频解码字节数和所述音频解码加权值计算出所述当前会话的解码负荷度,其中,所述音频解码加权值与音频编码复杂度成正比。


7.如权利要求1所述的方法,其特征在于,通过监控所述系统资源的使用数据,调整所述解码参数,包括:
判断所述系统解码负荷度是否大于最大解码负荷度,所述CPU占用率是否小于CPU可分配阈值;
如果所述系统解码负荷度大于所述最大解码负荷度,且所述CPU占用率小于所述CPU可分配阈值,则增加所述解码并发数。


8.如权利要求1所述的方法,其特征在于,通过监控所述系统资源的使用数据,调整所述解码参数,包括:
判断所述系统解码负荷度是否大于最大解码负荷度,所述软解码会话数是否大于最小支持会话数;
如果所述系统解码负荷度大于所述最大解码负荷度,且所述软解码会话数大于最小支持会话数,则减少所述软解会话数。


9.如权利要求1所述的方法,其特征在于,通过监控所述系统资源的使用数据,调整所述解码参数,包括:
判断所述系统解码负荷度是否小于最小解码负荷度,所述会话占用率是否大于最大会话占用阈值,所述内存占用率是否小于内存可分配阈值;
如果所述系统解码负荷度小于最小解码负荷度,所述会话占用率大于最大会话占用阈值,且所述内存占用率小于所述内存可分配阈值,则增加所述软解会话数。


10.如权利要求1所述的方法,其特征在于,通过监控所述系统资源的使用数据,调整所述解码参数,包括:
判断所述内存占用率是否大于内存上限阈值,所述软解码会话数是否大于最小支持会话数;
如果所述内存占用率大于内存上限阈值,且所述软解码会话数大于最小支持会话数,则减少所述软解会话数。


11.如权利要求1所述的方法,其特征在于,通过监控所述系统资源的使用数据,调整所述解码参数,包括:
判断所述CPU占用率是否大于CPU上限阈值,所述解码并发数是否大于最小支持解码并发数;
如果所述CPU占用率大于CPU上限阈值,且所述解码并发数大于最小支持解码并发数,则减少所述解码并发数。


12.一种音视频多路并发解码装置,其特征在于,包括:
获取模块,用于获取用于解码音视频的解码参数和系统资源的使用数据,其中,所...

【专利技术属性】
技术研发人员:徐珠宝张玉晓
申请(专利权)人:曙光信息产业北京有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1