适合硬件实现的码率控制算法研究
【摘要】:码率控制算法是视频编码的关键技术,本质上是码率约束的率失真优化问题。通过动态调整编码参数来优化视频质量,保证缓冲区既不上溢也不下溢。大多数码率控制算法没有考虑硬件编码器结构特点和算法计算复杂度对码率控制算法硬件实现的影响。基于硬件实现的码率控制算法面临着数据依赖关系复杂和算法复杂度高两大挑战。针对码率控制算法特点以及硬件处理约束,本文在码率控制算法性能提升和硬件平台实现复杂度降低这两个方面作出探索和尝试,分别提出了相应算法并进行了算法验证。
针对高性能需求的码率控制算法硬件平台实现,本文提出了一种帧级和宏块级协同优化的码率控制流水化算法解决方案,其中主要探索研究了下面四个问题:(1)高效精确的帧级MAD预测;(2)基于视频内容的宏块量化参数自适应调整;(3)低复杂度宏块级MAD预测;(4)适合软硬件划分的结构。解决方案具体过程如下:首先将码率控制算法结构进行优化并映射到硬件结构中。然后帧级MAD预测利用空时域相关性预测MAD,降低复杂度的同时保证了预测精度。宏块自适应模块根据帧内宏块复杂度的不同,自适应的调整量化参数进行编码。最终宏块级MAD预测模块主要是利用当前编码宏块的周围已编码宏块和前一帧相同位置的宏块来预测MAD值。试验结果表明该方案提高了编码器的率失真性能,相同码率下,PSNR提高了0.12dB,同时解决了数据依赖问题,提高了数据处理效率并降低了数据吞吐量。
针对低复杂度需求的码率控制算法硬件平台实现,本文提出了一种低复杂度宏块级码率控制流水化解决方案,其中主要对以下三个方面进行改进:(1)解决了码率控制算法硬件实现时的数据依赖问题;(2)降低了宏块级MAD预测模块的复杂度;(3)改善了编码器缓冲区状况,使得码率输出和缓冲区更加的平滑。具体改进过程如下:首先对Zigzag编码数据有效性进行判断。然后MAD预测模块根据有效宏块的MAD值,采用空时域预测相结合的方法预测宏块MAD值。实验结果表明该方案在没有较大率失真性能损失的前提下,降低了算法复杂度,使得缓冲区波动平滑。
针对硬件编码器结构特点和码率控制算法计算复杂度,本文对适合硬件实现的码率算法定制做了有益的探索。