H.265优化问题

本文针对H.265编码的计算量需求增加问题,提出了基于TMS320c66多核处理器的优化策略。通过片级编码实现并行处理,避免CU级和帧级编码带来的通讯压力和硬件资源限制。重点优化了运动估计(IME和FME)及模式决策(MD)模块,利用DSP的SIMD指令加速SAD和SSD运算,采用数据重组和流水线技术提高计算效率。文章还指出,仍有进一步优化空间,如矩阵数据对齐和更多编码算法的指令级优化。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 为啥优化?

对计算量的需求增加了4倍以上,过高的计算和存储对H.265

TMS320c66是一款多核高性能的处理器8个内核和一个网络协处理.

优化处理:

对每一帧采取片级编码且用7个核实现并行处理,不采用CU或者帧级编码。其原因是:

(1)片是介于CU与帧之间的。因为CU(编码单元)会参考同一片中的其他CU。因此采用CU级编码会极大地增加核间通讯压力。

(2)各片之间没数据关联性,各片完全独立,待编码单元无需参考其他片即可完成编码。

(3)帧级编码对DDR和Cache有极高的要求,但DSP平台硬件资源有限,帧级编码无法实现。

进行结构化处理。

方法:

通过Intel VtuneAmplifer  工具统计热点函数及其所占用时间,可以得出编码过程耗时最多的是运动估计(Motion Estimation ME)

和模块决策(Mode decision MD).

帧内帧间预测都是运动估计,运动估计分整像素运动和分像素运动。

整像素运动估计(IME):将图像的的每一帧分成许多不重叠的宏块,先假设宏块内所有像素的位移量都相同,

然后对每个宏块到参考帧中某一给定的搜索范围内,根据一定的匹配准则,找出与当前最相似的块,即匹配块;匹配块与当前块的相对位移即运动矢量。

分像素运动估计(FME):由于自然物体运动的连续性,相邻两帧之间的块的运动矢量不一定是以整像素为基本单位的。IME完成粗精度的帧间匹配搜索,FME完成二分之一或四分之一像素精度的匹配。

模块决策就是寻找最佳匹配的过程。

IME与MD算法中,大部分操作都是SAD(运算都是矩阵运算)和SSD运算,考虑到SAD运算的特性,使用DSP平台的SIMD加速指令来实现优化。

SAD操作需要进行大量重复性的数学运算,指令级流水线可充分利用DSP提供的并行处理能力,实现处理速度的成倍提高。具体将块大小分类,根据矩阵行数据数量来进行分类组织。4xN,8xN,12xN,16xN,32

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值