一种基于芯片间并行的高性能转码方法技术

技术编号:24591774 阅读:24 留言:0更新日期:2020-06-21 02:47
本发明专利技术公开了一种基于芯片间并行的高性能转码方法,将不同型号的GPU和ASIC芯片集成到同一台服务器上,在进行转码任务分配时,同时使用GPU和ASIC进行任务的独立异步并行,具体步骤为:检测输入视频及输出视频要求的编码格式;判断输入视频及输出视频的格式是否为GPU/ASIC所支持;根据不同的输入视频及输出视频的格式要求,选用GPU/ASIC或CPU进行编解码,实现芯片间的独立并行转码。

A high performance transcoding method based on inter chip parallelism

【技术实现步骤摘要】
一种基于芯片间并行的高性能转码方法
本专利技术涉及流媒体视频转码
,具体涉及一种基于芯片间并行的高性能转码方法。
技术介绍
计算机软硬件、网路传输、云存储等技术地不断成熟发展,加速了媒体支持设备的更新迭代,且不同型号的设备兼容不同的操作系统及视频采集、播放软件,使得用户采集的某种格式的视频流不一定能在特定设备上播放,因此,视频转码技术变得日益重要。目前已有的视频转码技术通常借助CPU、GPU和ASIC进行视频转码。CPU作为通用处理器,可以处理复杂的条件和分支,以及任务之间的同步协调。GPU拥有强大的浮点运算能力,擅长处理多重任务,具有多内核、并行处理的优势。ASIC芯片的计算能力和效率可根据特定的算法需要进行定制,体积小、功耗低、强保密、高效可靠。但是,市面上不同型号的GPU/ASIC层出不穷,从家用到高端品类繁多,同一台服务器上单纯部署同种同型号的芯片,大大降低了硬件资源的利用率和转码的效率。
技术实现思路
本专利技术的目的在于针对现有技术的缺陷和不足,提供一种基于芯片间并行的高性能转码方法,将不同型号的GPU和ASIC芯片集成到同一台服务器上,同时使用GPU和ASIC进行任务分配,实现芯片间的独立并行转码。为实现上述目的,本专利技术采用的技术方案是:它包含如下步骤:一、检测输入视频及输出视频要求的编码格式;二、判断输入视频及输出视频的格式是否为GPU/ASIC所支持:如果输入视频及输出视频的格式均为GPU/ASIC所支持,则进行步骤三;如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则进行步骤四;如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则进行步骤五;如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则进行步骤六;三、如果输入视频及输出视频的格式均为GPU/ASIC所支持,则使用GPU/ASIC进行解码及编码;四、如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则使用GPU/ASIC进行解码,使用CPU进行编码;五、如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用GPU/ASIC进行编码,生成输出视频;六、如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用CPU进行编码,生成输出视频。进一步地,步骤三中使用GPU/ASIC进行解码及编码的具体方法如下:a、检查GPU/ASIC的空闲个数,设为N;b、检查输入视频的长度,以秒为单位,设为M秒;c、取M除以N-1的商为k,M除以N-1的余数为r;d、将视频的前M-r秒均分在前N-1个GPU/ASIC中,最后一段r秒分配到第N块GPU/ASIC中,各GPU/ASIC独立进行解码;e、GPU/ASIC在buffer处理中间过程,遇到不支持的中间过程时,将其丢给CPU处理后再返回buffer;f、GPU/ASIC重新编码后,按拆分顺序组合视频片段,生成输出视频。进一步地,步骤四中使用GPU/ASIC进行解码,使用CPU进行编码的具体方法如下:a、检查GPU/ASIC的空闲个数,设为N;b、检查输入视频的长度,以秒为单位,设为M秒;c、取M除以N-1的商为k,M除以N-1的余数为r;d、将视频的前M-r秒均分在前N-1个GPU/ASIC中,最后一段r秒分配到第N块GPU/ASIC中,各GPU/ASIC独立进行解码;e、GPU/ASIC在buffer处理中间过程,遇到不支持的中间过程时,将其丢给CPU处理后再返回buffer;f、CPU重新编码后,按拆分顺序组合视频片段,生成输出视频。采用上述方案后,本专利技术有益效果为:本专利技术所述的一种基于芯片间并行的高性能转码方法,将不同型号的GPU和ASIC芯片集成到同一台服务器上,同时使用GPU和ASIC进行任务分配,实现芯片间的独立并行转码。具体实施方式下面对本专利技术作进一步的说明。本具体实施方式采用的技术方案是:它包含如下步骤:一、检测输入视频及输出视频要求的编码格式;二、判断输入视频及输出视频的格式是否为GPU/ASIC所支持:如果输入视频及输出视频的格式均为GPU/ASIC所支持,则进行步骤三;如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则进行步骤四;如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则进行步骤五;如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则进行步骤六;三、如果输入视频及输出视频的格式均为GPU/ASIC所支持,则使用GPU/ASIC进行解码及编码,具体方法如下:a、检查GPU/ASIC的空闲个数,设为N;b、检查输入视频的长度,以秒为单位,设为M秒;c、取M除以N-1的商为k,M除以N-1的余数为r;d、将视频的前M-r秒均分在前N-1个GPU/ASIC中,最后一段r秒分配到第N块GPU/ASIC中,各GPU/ASIC独立进行解码;e、GPU/ASIC在buffer处理中间过程,遇到不支持的中间过程时,将其丢给CPU处理后再返回buffer;f、GPU/ASIC重新编码后,按拆分顺序组合视频片段,生成输出视频;四、如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则使用GPU/ASIC进行解码,使用CPU进行编码,具体方法如下:a、检查GPU/ASIC的空闲个数,设为N;b、检查输入视频的长度,以秒为单位,设为M秒;c、取M除以N-1的商为k,M除以N-1的余数为r;d、将视频的前M-r秒均分在前N-1个GPU/ASIC中,最后一段r秒分配到第N块GPU/ASIC中,各GPU/ASIC独立进行解码;e、GPU/ASIC在buffer处理中间过程,遇到不支持的中间过程时,将其丢给CPU处理后再返回buffer;f、CPU重新编码后,按拆分顺序组合视频片段,生成输出视频;五、如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用GPU/ASIC进行编码,生成输出视频;六、如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用CPU进行编码,生成输出视频。以上所述,仅用以说明本专利技术的技术方案而非限制,本领域普通技术人员对本专利技术的技术方案所做的其它本文档来自技高网...

【技术保护点】
1.一种基于芯片间并行的高性能转码方法,其特征在于它包含如下步骤:/n一、检测输入视频及输出视频要求的编码格式;/n二、判断输入视频及输出视频的格式是否为GPU/ASIC所支持:/n如果输入视频及输出视频的格式均为GPU/ASIC所支持,则进行步骤三;/n如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则进行步骤四;/n如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则进行步骤五;/n如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则进行步骤六;/n三、如果输入视频及输出视频的格式均为GPU/ASIC所支持,则使用GPU/ASIC进行解码及编码;/n四、如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则使用GPU/ASIC进行解码,使用CPU进行编码;/n五、如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用GPU/ASIC进行编码,生成输出视频;/n六、如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用CPU进行编码,生成输出视频。/n...

【技术特征摘要】
1.一种基于芯片间并行的高性能转码方法,其特征在于它包含如下步骤:
一、检测输入视频及输出视频要求的编码格式;
二、判断输入视频及输出视频的格式是否为GPU/ASIC所支持:
如果输入视频及输出视频的格式均为GPU/ASIC所支持,则进行步骤三;
如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则进行步骤四;
如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则进行步骤五;
如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则进行步骤六;
三、如果输入视频及输出视频的格式均为GPU/ASIC所支持,则使用GPU/ASIC进行解码及编码;
四、如果输入视频的格式为GPU/ASIC所支持,输出视频的格式不为GPU/ASIC所支持,则使用GPU/ASIC进行解码,使用CPU进行编码;
五、如果输入视频的格式不为GPU/ASIC所支持,输出视频的格式为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用GPU/ASIC进行编码,生成输出视频;
六、如果输入视频及输出视频的格式均不为GPU/ASIC所支持,则将整段输入视频送入CPU进行解码,并执行中间过程处理,再使用CPU进行编码,生成输出视频。


2.根据权利要求1所述的一种基于芯片间并行的高...

【专利技术属性】
技术研发人员:康洪文
申请(专利权)人:杭州慧川智能科技有限公司
类型:发明
国别省市:浙江;33

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

1