[发明专利]一种基于CUDA的H.264并行编码器的实现方法有效
申请号: | 201710368717.5 | 申请日: | 2017-05-23 |
公开(公告)号: | CN107231558B | 公开(公告)日: | 2019-10-22 |
发明(设计)人: | 杨振 | 申请(专利权)人: | 江苏火米互动科技有限公司 |
主分类号: | H04N19/159 | 分类号: | H04N19/159;H04N19/176;H04N19/436;H04N19/80;H04N19/91 |
代理公司: | 北京天盾知识产权代理有限公司 11421 | 代理人: | 曹静;葛宏 |
地址: | 215131 江苏省苏州市相城区元和*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 编码器 并行编码器 结构优化 编码器功能模块 帧内预测编码 并行化处理 并行模型 存储模型 帧间预测 并行化 熵编码 滤波 帧级 分隔 | ||
本发明涉及一种基于CUDA的H.264并行编码器的实现方法,该方法包括编码器总体结构优化和各个功能模块在CUDA上的并行化处理。所述总体结构优化包括对编码器功能模块进行帧级分隔,并对CPU和GPU进行任务划分。GPU在模块级对编码器的功能模块分别进行帧间预测、帧内预测编码、熵编码、去块滤波4个过程,从并行模型设计和存储模型等方面实现编码器在CUDA上的并行化。
【技术领域】
本发明属于视频编码领域,尤其涉及一种基于CUDA的H.264并行编码器的实现方法。
【背景技术】
现在,H.264/AVC作为当今最流行的视频编码标准,以其高图像质量和高压缩比的性能而受到广泛欢迎,但是提高了图像质量和编码效率,同时也大大增加了H.264的计算复杂度,而现有的基于通用处理器的串行结构编码器无法达到高清实时编码的性能,而专用硬件的开发成本高,周期长,通用性差,不适合大规模使用,所以亟需为H.264编码器寻找一种高效的实现方法。
【发明内容】
为了解决现有技术中的上述问题,本发明提出了一种基于CUDA的H.264并行编码器的实现方法。
本发明采用的技术方案具体如下:
一种基于CUDA的H.264并行编码器的实现方法,该方法包括以下步骤:
(1)对H.264编码器结构进行调整,包括对编码器功能模块进行帧级分隔,以及对该编码器在CPU和GPU上的任务进行划分;
(2)所述编码器的各个功能模块在CUDA上并行化运行,即在模块级对H.264编码器的功能模块分别进行帧间预测、帧内预测编码、熵编码、去块滤波4个过程。
进一步地,功能模块的帧级分隔包括如下步骤:
(1.1)按照编码器核心函数的功能,将核心函数中的各个功能函数分隔成独立的循环体,使每个功能函数在帧一级进行独立循环;
(1.2)将编码器中的大型数据结构按照其生命周期划分成多个简单数据结构,并且根据其实际的生命周期进行本地化。
进一步地,所述步骤1.2具体包括:
将所述大型数据结构分成局部变量、伪全局变量和真全局变量三种类型;
(a)如果所述大型数据结构是局部变量,则其不作变化;
(b)如果所述大型数据结构是伪全局变量,则通过重命名的方法,将该伪全局变量按照其实际生命周期划分成不同的变量;
(c)如果所述大型数据结构是真全局变量,则考察该真全局变量的数据结构中,是否有部分变量是伪全局变量或局部变量,如果有,则将这些变量从该真全局变量中分离出去,对分离出去的伪全局变量再进行如上述步骤b的处理。
进一步地,CPU和GPU的任务划分包括:
(2.1)由CPU完成视频文件的输入并对视频文件进行预处理;
(2.2)CPU将视频文件中的原始帧和参考帧传送给GPU,由GPU进行后续的编码操作;
(2.3)GPU进行帧间预测;
(2.4)GPU执行帧内预测编码;
(2.5)GPU进行并行化熵编码;
(2.6)GPU进行去块滤波。
进一步地,所述帧间预测采用多分辨率多窗口(MRMW)算法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于江苏火米互动科技有限公司,未经江苏火米互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710368717.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:载荷检测装置
- 下一篇:一种山苍子精油在控制辣椒疫病上的应用