[发明专利]一种基于芯片间并行的高性能转码方法有效
申请号: | 202010194140.2 | 申请日: | 2020-03-19 |
公开(公告)号: | CN111314740B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 康洪文 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | H04N21/2343 | 分类号: | H04N21/2343;H04N19/436;H04N19/40 |
代理公司: | 北京派特恩知识产权代理有限公司 11270 | 代理人: | 王花丽;张颖玲 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 芯片 并行 性能 方法 | ||
本发明公开了一种基于芯片间并行的高性能转码方法,将不同型号的GPU和ASIC芯片集成到同一台服务器上,在进行转码任务分配时,同时使用GPU和ASIC进行任务的独立异步并行,具体步骤为:检测输入视频及输出视频要求的编码格式;判断输入视频及输出视频的格式是否为GPU/ASIC所支持;根据不同的输入视频及输出视频的格式要求,选用GPU/ASIC或CPU进行编解码,实现芯片间的独立并行转码。
技术领域
本发明涉及流媒体视频转码技术领域,具体涉及一种基于芯片间并行的高性能转码方法。
背景技术
计算机软硬件、网路传输、云存储等技术地不断成熟发展,加速了媒体支持设备的更新迭代,且不同型号的设备兼容不同的操作系统及视频采集、播放软件,使得用户采集的某种格式的视频流不一定能在特定设备上播放,因此,视频转码技术变得日益重要。目前已有的视频转码技术通常借助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独立进行解码;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010194140.2/2.html,转载请声明来源钻瓜专利网。