[发明专利]一种基于多核处理器实现的H.264解码方法有效
申请号: | 201210089250.8 | 申请日: | 2012-03-30 |
公开(公告)号: | CN102625108A | 公开(公告)日: | 2012-08-01 |
发明(设计)人: | 周凡;周承涛;陈耀武 | 申请(专利权)人: | 浙江大学 |
主分类号: | H04N7/26 | 分类号: | H04N7/26;H04N7/50 |
代理公司: | 杭州天勤知识产权代理有限公司 33224 | 代理人: | 胡红娟 |
地址: | 310027 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 多核 处理器 实现 264 解码 方法 | ||
技术领域
本发明属于视频解码技术领域,具体涉及一种基于多核处理器实现的H.264解码方法。
背景技术
随着高清视频应用的发展,具有低码率和高图像质量的H.264标准取得了广泛的应用。但是这种低码率、高质量的算法,极大地增加了代码复杂度,H.264解码的复杂度约为MPEG-4的3倍。尤其是在高清视频应用中,计算复杂度更高,故对处理器提出了更高的要求。以往的视频处理器大多采用提高主频的方式来提高处理器性能,但是受到摩尔定律的限制,处理器的性能提升很难跟上应用的更高需求。为了满足这种高复杂的计算性能需求,多核处理器技术得到了飞速的发展,为H.264并行编解码提供了性能强大的物理平台。
实现高效的H.264多核并行解码算法,关键在于:(1)提高核间的并行效率;(2)减少模块间数据访问冲突;(3)多核的可扩展性。故高效的H.264并行解码算法,会对解码过程按数据和功能进行划分。
数据划分并行,是根据图像数据之间的相互关系进行划分并行。通常在H.264解码的数据划分中,图像按宏块级划分并行。H.264解码中帧内预测、去块滤波等操作都需要对上方和左侧相邻宏块数据进行参考和操作;另外,熵解码需要对数据进行连续操作,不能并行实现,所以至少需要完成当前行的熵解码,才能实现数据划分的宏块并行解码。
功能划分并行,是根据对解码流程的相关模块进行划分并行。通常将H.264解码过程模块化,封装成多个功能模块并行执行;并行过程中,通常采用流水线操作,提高模块间的并行程度。
Arnaldo Azevedo在标题为Parallel H.264Decoding on an Embedded Multicore Processor(HiPEAC2009,LNCS 5409,2009)的文章中提出了一种并行解码器,其根据图像宏块间的相互关系,采用数据划分使解码器能够并行解码。该数据划分并行方法根据宏块划分,即每个解码模块根据其解码依赖关系,独立完整解码一个宏块。这种基于宏块的并行解码算法,最大的优势在于扩展性强。采用这种宏块划分并行策略解qcif(Quarter common intermediate format,标准化图像格式)码流时,最多同时解码6个独立宏块,持续4个周期;解1080p码流时,最多同时解码60个独立宏块,持续9个周期。
所有常见的分辨率(qcif及以上)都能以六核并行的方式完成解码,但是该算法同时也存在很多不足。首先,熵解码不能按照数据划分并行,必须完成整帧的熵解码之后才能进行随后宏块级数据划分的并行解码;其次,该种并行方式,在启动和结束时,并行程度较低,解码一帧可能会影响整体的解码效率。
从以上研究分析中可以看到,对于H.264解码算法而言,单纯的数据划分或者模块划分都有各自明显的缺点,始终无法达到令人满意的效果。
发明内容
针对现有技术所存在的上述技术缺陷,本发明提供了一种基于多核处理器实现的H.264解码方法,能够有效提高解码过程的并行加速比。
一种基于多核处理器实现的H.264解码方法,所述的多核处理器至少具有6个Core(内核),各Core并行处理各自的运算任务;该方法包括如下步骤:
(1)接收H.264视频格式的码流,由Core1负责对所述的码流进行解析并截取一段帧码流,由Core1负责对所述的帧码流进行熵解码并陆续生成若干宏块组;
所述的帧码流对应为一帧视频图像的码流,所述的宏块组由n个连续的宏块组成,n为大于0的自然数;
(2)由Core2~4负责对所述的宏块组进行重建得到宏块组的重建数据;由Core5负责对所述的重建数据进行滤波强度(BS)计算得到滤波强度值;由Core5~6负责根据所述的滤波强度值对重建数据进行环内去块滤波(LPF),得到宏块组对应的解码图像;
(3)根据步骤(2),并行遍历所有宏块组,得到帧码流所对应的一帧解码图像;
(4)重复步骤(1)至(3),对所述的码流进行解析并截取下一段帧码流,并解码得到下一段帧码流所对应的一帧解码图像;依此反复,直至将码流解码完成,得到码流的解码视频。
优选地,所述的n个连续的宏块对应为视频图像的一行宏块。以一行宏块为单位进行解码,能够消除因宏块数据差异而引起的模块计算负载的变化,提高整体并行解码效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大学,未经浙江大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210089250.8/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种分离环磷腺苷的方法
- 下一篇:隐藏式字幕的显示方法及电视机