[发明专利]一种基于GPU的HEVC并行解码方法在审
申请号: | 201410328646.2 | 申请日: | 2014-07-10 |
公开(公告)号: | CN104125466A | 公开(公告)日: | 2014-10-29 |
发明(设计)人: | 梁凡;罗林 | 申请(专利权)人: | 中山大学 |
主分类号: | H04N19/44 | 分类号: | H04N19/44;H04N19/436;H04N19/80 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 郑莹 |
地址: | 510006 广东省广州市广州大*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 gpu hevc 并行 解码 方法 | ||
技术领域
本发明涉及视频编解码领域,尤其是一种基于GPU的HEVC并行解码方法。
背景技术
随着互联网和移动通信技术的快速发展,数字视频正朝着高清晰度、高帧率、高压缩率的方向迈进,视频的格式从720P发展到1080P,在某些场合甚至出现了4Kx2K、8Kx4K的超高清晰数字视频。在视频应用中,传输带宽和存储空间无疑是最核心的资源,如何在有限的空间实现高清晰视频的存储,在带宽有瓶颈的网络环境中实现良好传输,是一个大的难题。高清晰度的视频可以给带来更高的生活质量,但这样一来必然会有庞大的数据量。举个例子,1080P高清晰视频,像素为1920X1080,4:2:0的格式,其一帧图像的数据量为24.88Mbit。这样高清晰度的视频产生了一个难题,那就是视频码率大幅度的升高。视频编码就是要用尽量少的比特数来表征视频信息,而当今广泛应用的H.264编码标准的压缩效率仍然无法充分满足超高清视频的应用需求。
HEVC(High Efficiency Video Coding)高效率视频编码是由ISO的MPEG和ITU-T的VCEG共同制定的下一代新的视频压缩编码方案。HEVC标准是继承了了现有的视频编码方案H.264的编码理念,沿用了其中的一些编码技术,并且改进了相关技术,编码单元尺寸更大、基于块的帧间/帧内预测选择方式更加多样化、更加复杂的内插滤波器等。HEVC对比之前的视频编码技术,有压缩效率更高、视频质量更好、健壮性更好、错误恢复能力更强、更适合在IP网络中传输等优点。HEVC对比H.264/AVC编码标准,在对高清晰度以及高保真的视频图像进行编码时,压缩效率提高了一倍,这样在解码后得到重建的图像质量相同的情况下,视频流的码率减少50%。
但是,码率的下降是以编解码软件的复杂度的增加作为前提的,在采用了更复杂、更灵活的编码技术后,HEVC编解码软件的复杂度也大大增加,使得对高清晰视频进行压缩和解压缩所花费的时间也随之增加,无法满足视频会议和可视电话等应用领域的高实时解码播放要求。
在高清晰视频成为主流的情况下,单纯地依靠CPU显然不能很好地实现高清晰视频的实时解码。GPU具有优异的浮点计算能力和强大的并行计算能力,如果将解码算法中运算量巨大,复杂度较高的模块转移到GPU上实现,则能够有效解决实时解码这个难题。然而,目前业内还未有基于GPU的HEVC视频编解码方案出现。
发明内容
为了解决上述技术问题,本发明的目的是:提供一种解码速度快和效率高的,基于GPU的HEVC并行解码方法。
本发明解决其技术问题所采用的技术方案是:一种基于GPU的HEVC并行解码方法,包括:
A、GPU对读取的码流文件进行熵解码、重排序和反量化,从而得到变换系数矩阵,同时GPU对获取的码流文件进行解析,从而得到运动矢量以及参考帧;
B、GPU采用HEVC反变换并行算法对变换系数矩阵进行处理,从而得到图像的残差数据,同时GPU采用HEVC运动补偿并行算法,根据运动矢量指向的参考帧位置求取图像的预测像素值;
C、GPU将图像的残差数据与图像的预测像素值依次进行求和、去方块滤波和样本自适应补偿处理,从而得到重建图像,并将重建图像的像素值拷贝到CPU的内存中。
进一步,所述步骤B中GPU采用HEVC反变换并行算法对变换系数矩阵进行处理这一步骤,其包括:
B11、初始化GPU,在GPU上申请用于存储变换系数矩阵和残差数据的设备端全局内存;
B12、对线程的网格大小和线程块的大小进行设定,并根据变换单元的大小为每个变换单元分配相应数量的线程及相应的线程ID号;
B13、读取设备端全局内存上各个变换单元所对应的变换系数矩阵,然后根据线程ID号对每个变换系数矩阵依次进行列并行一维IDCT反变换和行并行一维IDCT反变换,从而得到整个图像块的残差数据;
B14、将计算的各个图像块的残差数据拷贝回CPU内存,得到整个图像的残差数据,然后释放设备端全局内存空间。
进一步,所述步骤B13,其包括:
B131、读取设备端全局内存上各个变换单元所对应的变换系数矩阵;
B132、根据线程ID号对每个变换系数矩阵的各列同时进行一维IDCT反变换,得到变换后的系数矩阵并将变换的结果暂存在线程块的共享内存中;
B133、根据线程ID号对共享内存中变换后的系数矩阵的每一行同时进行一维IDCT反变换,得到残差数据矩阵,并根据残差数据矩阵计算整个图像块的残差数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410328646.2/2.html,转载请声明来源钻瓜专利网。