论文部分内容阅读
随着视频技术的发展,监控视频在公共安全中发挥着越来越大的作用。H.264/AVC标准由于其优秀的编码效率,在监控视频应用中广泛使用。在监控视频的应用中,低延迟性能越来越受到重视,因而监控视频低延迟H.264/AVC编码成为一个重要的研究课题。编码延迟的主要来源包括捕获延迟、编码处理延迟、帧重排序延迟和编码缓冲区延迟。在这四种延迟中,捕获延迟由视频采集系统决定,帧重排序延迟在H.264/AVC编码不采用双向参考帧时即可消除,因而降低编码处理延迟和编码缓冲区延迟是H.264/AVC低延迟编码技术中的主要难点。H.264/AVC编码处理延迟是指视频素材从进入编码器到熵编码结束的延迟。为了降低编码处理延迟,slice级并行编码是一个重要的技术,而工作量平衡是slice级并行编码降低编码处理延迟效果的关键点。本文提出了两个用于slice级并行编码工作量平衡的算法,第一个算法是动态可变slice的slice级并行编码算法。这一算法采用了适合低延迟编码的slice级并行编码结构,采用了动态可变slice大小的算法来平衡并行编码的工作量从而提高编码速度。第二个算法是带有量化参数补偿的动态可变slice工作量平衡算法。在第一个算法的基础上加入量化参数补偿模块来使得slice的工作量预测和工作量平衡在可变量化参数时更加有效。在嵌入式平台上对该算法的实现体现了该算法对于不同平台的有效性。H.264/AVC编码缓冲区延迟是指H.264/AVC可变长编码后比特流传送到固定速率信道时,为了解决比特流突发性和波动性而在编码缓冲区中进行的延迟。在较低带宽的固定码率信道中,为了降低编码缓冲区延迟,需要尽可能平稳比特流,但这与H.264/AVC中I帧与P帧之间巨大的比特率差距相矛盾。因此,将帧内预测分散到每帧的帧内刷新技术是解决这一矛盾的关键。本文提出了一个用于低延迟H.264/AVC视频编码的帧内刷新算法。这一算法采用强制帧内刷新数列的技术来解决H.264/AVC编码各帧之间比特率相差过大所造成的编码缓冲区延迟同时提供解码端中途开始解码的能力,为了使得在一个刷新周期内所有宏块被全部刷新和正常解码,采用了限制宏块预测方向的方法使得只能将已刷新区域作为参考,在此基础上,采用了基于运动方向的slice级帧内刷新方向选择算法来减少预测方向限制带来的编码效率下降。通过本文中的三个算法,动态可变slice的slice级并行编码算法使得slice间工作量更平衡,降低了编码处理延迟;带有量化参数的动态可变slice工作量平衡算法在可变量化参数时进一步平衡了工作量,降低了编码处理延迟,嵌入式平台上的实现体现了该算法对于不同平台的适应性;用于低延迟视频编码的基于运动方向的slice级帧内刷新方向选择算法提供了低延迟编码时中途开始解码的能力以及更平稳的比特率来降低编码缓冲区延迟。