[发明专利]HEVC/H.265的亚像素插值的SIMD快速实现方法有效
申请号: | 201410647903.9 | 申请日: | 2014-11-14 |
公开(公告)号: | CN104378641B | 公开(公告)日: | 2018-05-01 |
发明(设计)人: | 张小云;黎凌宇;高志勇;陈立 | 申请(专利权)人: | 上海交通大学 |
主分类号: | H04N19/51 | 分类号: | H04N19/51;H04N19/56 |
代理公司: | 上海汉声知识产权代理有限公司31236 | 代理人: | 徐红银,郭国中 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | hevc 265 像素 simd 快速 实现 方法 | ||
技术领域
本发明涉及视频编码技术领域,具体地,涉及一种HEVC/H.265的亚像素插值的SIMD(single instruction multiple data,单指令多数据技术)快速实现方法。
背景技术
随着视频内容的增长和视频产品的迅速发展,视频内容产业链面临更大的压力,目前AVC(Advanced Video Coding)视频压缩技术已经不能满足视频传输的要求,更高效的视频压缩技术应运而生。不仅如此,未来视频市场趋于更高水平的要求已经超出了目前AVC编码能力的范围,比如3D TV和4K TV。对于4K TV,即使使用目前H.264方式编码,也需要24-32M码率,AVC已经成为4K TV业务发展的瓶颈。在此背景下,高效视频编码(High Efficiency Video Coding,HEVC)这种新的视频编码标准应运而生。HEVC的发展最早追溯到2004年,经过近十年的发展,HEVC于2012年2月形成完整的委员会标准草案,并于2013年1月正式成为国际标准。HEVC的目标是编码效率比AVC提高50%,复杂度比AVC复杂2到10倍。HEVC未来的业务主要面向高清、超高清、3D TV,数据量比以往视频大得多,另外HEVC要求大大提高视频压缩比,而高压缩算法是以增加算法复杂度为代价的,考虑到这两个方面的因素,HEVC编码器对系统的计算性能提出了更高的要求。
为降低HEVC编码复杂度,通常有算法优化、指令集优化、并行优化等方法,其中指令集优化是利用计算平台的指令集实现计算模块,SIMD(single instruction multiple data)单指令多数据技术能在一个指令周期内并行处理多个数据的计算,相比于常规的实现方案能大大减少指令周期,提高运行速度,同时能保证计算结果准确无误。在视频编码中,SIMD技术广泛应用于密集数据计算,如亚像素插值、SAD、DCT/IDCT、计算残差等模块。
在Tilera平台上实现HEVC编码器,移植了HEVC参考代码HM的亚像素插值模块。亚像素插值模块在运动搜索中被多次调用,为了得到得到更精准的运动矢量,像素残差更小,从而压缩性能越高。HEVC的亮度亚像素插值采用8阶插值,计算复杂度很高,在开发的基于Tilera平台的HEVC编码器中,亚像素插值模块占了30%-50%的编码时间,亟需一种亚像素插值模块的加速实现方法。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种HEVC/H.265的亚像素插值的SIMD快速实现方法,所述方法针对Tilera平台上常规的C语言实现的HEVC的亚像素插值模块计算复杂度高、编码速度慢的问题,利用Tilera的SIMD指令集实现HEVC的亚像素插值模块,在同样的计算结果下,减少程序运行的指令周期数,提高运行速度。提高运行速度。
为实现以上目的,本发明提供一种HEVC/H.265的亚像素插值的SIMD快速实现方法,包括如下步骤:
步骤1:将亚像素插值所需要的整像素数据从内存装载进寄存器,视为矢量数据;
步骤2:如果是水平方向亚像素插值直接跳到步骤3;
步骤3:如果是竖直方向亚像素插值,将一组矢量数据两两逐级交织,实现数据转置;
步骤4:根据当前亚像素插值点所需要的整像素,对矢量数据重新排列组合;
步骤5:将矢量数据和对应的系数执行点乘计算,完成相邻整像素和对应系数乘积求和,其中亚像素插值阶数为四阶或八阶;
步骤6:将点乘结果重新排列组合,并行执行右移舍入运算,转载进输出内存,跳至步骤2,直至完成当前像素块中所有的亚像素插值;
步骤7:对于非水平竖直方向的亚像素插值,先执行水平方向的亚像素插值,对插值中间结果执行竖直方向的亚像素插值;以上步骤1-7得到四阶亚像素插值函数或八阶亚像素插值函数;
步骤8:在运动搜索中调用四阶亚像素插值函数,在运动补偿过程中调用八阶亚像素插值函数。
优选地,所述步骤5中,点乘计算公式如下所示:
式中:dotp是点乘计算结果;n是亚像素插值阶数:4或8;A是相应的整像素值;C是相应的亚像素插值系数。
优选地,所述步骤5中,采用一条点乘指令代替多次的乘法和加法运算,有效加速整像素和对应系数相乘求和的计算。
优选地,所述步骤5中,采用一条点乘计算指令代替多次的乘法和加法运算,有效加速中间变量和相应系数的乘积求和过程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410647903.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种开槽机
- 下一篇:用于拆分多段式钻杆的固定装置