一种适合硬件实现的H.264/AVC宏块级码率控制算法
2012-06-06殷海兵周冰倩
电视技术 2012年1期
关键词:流水
王 佳,殷海兵,周冰倩
(中国计量学院信息工程学院,浙江 杭州 310018)
码率控制算法是在码率受限的条件下,通过动态调整编码参数来优化视频质量。假如没有进行码率控制,当通过有限的信道带宽传送压缩的比特流时,缓冲区就会上溢或者下溢。在视频编码标准中,有几种码率控制算法已经被推荐作为参考算法,比如MPEG-2的TM5、H.263的TMN8、MPGE-4的VM8、H.264AVC 的G012 以及一些改进算法[1-2]。
目前,大多数码率控制算法是基于软件实现的,且太过复杂而不能很好地适合硬件实现。对于一些MPEG-2或H.263的码率控制算法已经有人提出了硬件实现方案[3]。针对H.264/AVC提出的码率控制算法参考提案G012更为复杂,其直接硬件实现需要大量的门电路。而对于那些已经提出的,并且需要388.53—1 140 k门电路的H.264/AVC视频编码器来说,G012的硬件消耗非常大。Wu等人[4]提出了一种适合硬件实现的码率控制算法。本文在H.264/AVC编码器Zigzag宏块编码顺序和宏块级流水结构的基础上,利用时域和频域的相关性,提出了新的低复杂度MAD预测算法,解决了硬件实现时的数据依赖问题。
1 码率控制硬件实现特点
通常硬件编码器的实现面临两个问题,数据吞吐和存储带宽。为了提高数据处理效率,硬件编码器通常采用Zigzag宏块顺序和宏块级流水结构,二者结合导致码率控制算法实现时产生复杂的数据依赖关系。并且G012算法MAD预测模块的高复杂度会消耗大量的硬件资源。
1.1 Zigzag宏块编码顺序和宏块级流水
硬件编码器为了实现数据的水平和垂直复用,通常采用Zigzag[5]宏块编码顺序代替软件实现时的光栅扫描顺序。……
登录APP查看全文
