视频转码方法和装置系统制造方法及图纸

技术编号:13601062 阅读:167 留言:0更新日期:2016-08-27 15:23
本发明专利技术公开了一种视频转码方法和装置、系统,其中,利用图形处理器GPU对输入码流进行解码,得到解码后的输入码流;利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息;根据所述编码所需的宏块信息,利用中央处理器CPU对所述解码后的输入码流按照目标码率进行编码。利用GPU解码来节省CPU资源,同时对解码流进行码流分析,在不影响转码质量的同时提高整体转码速度,节省转码CPU资源。

【技术实现步骤摘要】

本专利技术属于互联网视频处理
,具体地说,涉及一种视频转码方法和装置、系统。
技术介绍
目前随着互联网视频和硬件设备的发展,人们制作视频的成本越来越低,对视频的质量要求也日益提高。视频的分辨率越来越大,高清(1080P,1920x1080)甚至超清(4K,3840x2160)日益普遍。对于视频转码行业而言,视频转码的压力也越来越大。在进行大分辨率视频直播,离线转码时,转码服务器往往处于很高的负荷之下。如何在已有的转码服务器上更有效的利用硬件资源来提高转码速度是业内共同的话题。
技术实现思路
有鉴于此,本申请提供了一种视频转码方法和装置、系统,可以利用GPU解码来节省CPU资源,同时对解码流进行码流分析,在不影响转码质量的同时提高整体转码速度,节省转码CPU资源。本专利技术实施例提供一种视频转码方法,包括:利用图形处理器GPU对输入码流进行解码,得到解码后的输入码流;利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息;根据所述编码所需的宏块信息,利用中央处理器CPU对所述解码后的输入码流按照目标码率进行编码。其中,利用图形处理器GPU对输入码流进行解码,包括:确定所述GPU是否支持所述输入码流的解码,若支持,则获取所述
GPU的解码能力信息;通过与所述解码能力信息对应的解码接口将所述输入码流发送给所述GPU进行解码。其中,利用图形处理器GPU对输入码流进行解码之前,包括:根据与所述解码能力信息对应的解码接口,初始化所述GPU的解码参数,并为所述待解码的输入码流分配内存空间,所述内存空间用于保存解码后的所述输入码流。其中,利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息,包括:利用所述CPU分析所述解码后的输入码流的头信息,得到熵编码类型;对所述解码后的输入码流进行熵解码,在熵解码的过程中,丢弃所有解码残差信息,记录下编码所需的信息,其中,所述编码所需的宏块信息包括块类型信息、分块模式信息、运动矢量信息、块编码类型信息、量化参数和宏块残差等编码所需的信息。本申请还提供一种视频转码装置,包括:解码模块,位于图形处理器GPU侧,用于对输入码流进行解码,得到解码后的输入码流;分析模块,位于中央处理器CPU侧,用于对解码后的输入码流进行分析,得到编码所需的宏块信息;编码模块,位于中央处理器CPU侧,用于根据所述编码所需的宏块信息,对所述解码后的输入码流按照目标码率进行编码。其中,所述的装置还包括:判断模块,用于确定所述GPU是否支持所述输入码流的解码;获取模块,用于在判断模块确定所述GPU支持所述输入码流的解码,则获取所述GPU的解码能力信息;发送模块,用于通过与所述解码能力信息对应的解码接口将所述输入码流发送给所述GPU进行解码。其中,所述的装置还包括:初始化模块,用于根据与所述解码能力信息对应的解码接口,初始化所述GPU的解码参数,并为所述待解码的输入码流分配内存空间,所述内存空间用于保存解码后的所述输入码流。其中,所述分析模块具体用于:利用所述CPU分析所述解码后的输入码流的头信息,得到熵编码类型;对所述解码后的输入码流进行熵解码,在熵解码的过程中,丢弃所有解码残差信息,记录下编码所需的宏块信息,其中,所述编码所需的宏块信息包括块类型信息、分块模式信息、运动矢量信息、块编码类型信息、量化参数和宏块残差等编码所需的信息。本申请还提供一种视频转码系统,包括:解码器和编码器;所述解码器,用于利用图形处理器GPU对输入码流进行解码,得到解码后的输入码流;所述编码器,用于利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息;根据所述编码所需的宏块信息,利用中央处理器CPU对所述解码后的输入码流按照目标码率进行编码。其中,所述解码器,还用于确定所述GPU是否支持所述输入码流的解码,若支持,则获取所述GPU的解码能力信息;根据与所述解码能力信息对应的解码接口,初始化所述GPU的解码参数,并为所述待解码的输入码流分配内存空间,所述内存空间用于保存解码后的所述输入码流;通过与所述解码能力信息对应的解码接口将所述输入码流发送给所述GPU进行解码;所述编码器,还用于利用所述CPU分析所述解码后的输入码流的头信息,得到熵编码类型;对所述解码后的输入码流进行熵解码,在熵解码的过程中,丢弃所有解码残差信息,记录下编码所需的宏块信息,其中,所述编码所需的宏块信息包括块类型信息、分块模式信息、运动矢量信息、块编码类型信息、量化参数和宏块残差等编码所需的信息。本提案提出了一种基于GPU和CPU混合的转码架构,主要应用于H.264,HEVC等转码方案。利用GPU解码来节省CPU资源,同时对解码流进行码流分析,在不影响转码质量的同时提高整体转码速度,节省转码CPU资源。该
转码架构相比现有转码架构可以节省10%的CPU资源,从而在确保恢复的视频质量的前提下,提高了转码速度,更好地满足了实时视频转码要求。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1是本申请实施例提供的一种视频转码方法的流程示意图;图2为本专利技术实施例提出的一种CPU+GPU混合转码架构流程图;图3为本专利技术实施例提出的一种GPU上完成视频解码的流程图;图4本专利技术实施例提出的一种CPU上完成码流分析流程图;图5是本申请实施例提供的一种视频转码装置的结构示意图。具体实施方式以下将配合附图及实施例来详细说明本专利技术的实施方式,藉此对本专利技术如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存
储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。如在说明书及权利要求当中调用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在本文档来自技高网
...

【技术保护点】
一种视频转码方法,其特征在于,包括:利用图形处理器GPU对输入码流进行解码,得到解码后的输入码流;利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息;根据所述编码所需的宏块信息,利用中央处理器CPU对所述解码后的输入码流按照目标码率进行编码。

【技术特征摘要】
1.一种视频转码方法,其特征在于,包括:利用图形处理器GPU对输入码流进行解码,得到解码后的输入码流;利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息;根据所述编码所需的宏块信息,利用中央处理器CPU对所述解码后的输入码流按照目标码率进行编码。2.如权利要求1所述的方法,其特征在于,利用图形处理器GPU对输入码流进行解码,包括:确定所述GPU是否支持所述输入码流的解码,若支持,则获取所述GPU的解码能力信息;通过与所述解码能力信息对应的解码接口将所述输入码流发送给所述GPU进行解码。3.如权利要求1或2所述的方法,其特征在于,利用图形处理器GPU对输入码流进行解码之前,包括:根据与所述解码能力信息对应的解码接口,初始化所述GPU的解码参数,并为所述待解码的输入码流分配内存空间,所述内存空间用于保存解码后的所述输入码流。4.如权利要求3所述的方法,其特征在于,利用中央处理器CPU对解码后的输入码流进行分析,得到编码所需的宏块信息,包括:利用所述CPU分析所述解码后的输入码流的头信息,得到熵编码类型;对所述解码后的输入码流进行熵解码,在熵解码的过程中,丢弃所有解码残差信息,记录下编码所需的信息,其中,所述编码所需的宏块信息包括块类型信息、分块模式信息、运动矢量信息、块编码类型信息、量化参数和宏块残差等编码所需的信息。5.一种视频转码装置,其特征在于,包括:解码模块,位于图形处理器GPU侧,用于对输入码流进行解码,得到解码后的输入码流;分析模块,位于中央处理器CPU侧,用于对解码后的输入码流进行分析,得到编码所需的宏块信息;编码模块,位于中央处理器CPU侧,用于根据所述编码所需的宏块信息,对所述解码后的输入码流按照目标码率进行编码。6.如权利要求5所述的装置,其特征在于,还包括:判断模块,用于确定所述GPU是否支持所述输入码流的解码;获取模块,用于在判断模块确定所述GPU支持所述输入码流的解码,则获取所述GPU...

【专利技术属性】
技术研发人员:吕超魏伟白茂生
申请(专利权)人:乐视云计算有限公司
类型:发明
国别省市:北京;11

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

1