基于MIPS平台的H.264编码器设计及优化【文献综述】.doc
文本预览下载声明
毕业设计文献综述
计算机科学与技术
基于MIPS平台的H.264编码器设计及优化
在当前广播数字化、网络宽带化、通讯无线化、存储高密化的趋势下,多媒体技术应用需求的关键在于传输的带宽和媒体的处理问题上。为此ITU—T的视频编码专家组(VCEG)和ISO/IEC的活动图像专家组(MPEG-1联合制定了新的视频压缩标准H.264[1][2]。
一、H.264编码标准的起源、现状及发展趋势
MPEG4(Visual)和H.263的标准,是基于对视频压缩(“视频编码“)由circa制定于1995年。该组织负责制定的这些标准中运动图像专家组和视频编码专家组(MPEG和的VCEG)在最后阶段同时推出一种有望由于优于MPEG4和H.263,提供更好的视频图像压缩编码,具有高品质,低比特率视频流的功能特点。[3]
在1995年完成原来为可视电话制定的H.263标准后,ITU-T视频编码专家组(VCEG)进一步的开展两方面的开发:一项为h.263增加额外的功能(h.263的第二个版本)和一项开发一个具有低比特率视频通讯的标准。前者促成了“H.26L”标准,提供比ITU-T之前的标准明显更好的视频压缩率。2001年,国际标准化组织运动图像专家组(MPEG)承认了H.26L中的和潜在的优点,由原MPEG和VCEG专家成立了联合视频组(JVT)。JVT的主要任务是发展草案H.26L成为一个完整的国际标准。事实上有两个效果完全相同的标准:MPEG4的第10部分和 ITU-T的H.264。“官方”的标题是. 新一代视频编码标准Advanced Video Coding (AVC),然而它广为人知的是它旧的暂定名H.26L和它的ITU文档号H.264。
同以往标准相比,H.264编码标准采用了许多新技术,例如1/4,1/8精度的子像素运动估计,多参考帧技术,去块滤波,加强的熵编码,小块的整数变换等来提高编码效果[4],但这些技术同时也增加了H.264编码器的复杂度,限制了H.264在很多领域尤其是实时领域的应用。
H.264编码标准技术概述
H.264/AVC包含了一系列新的特征[5],这些新特性包括:
帧间编码运动补偿。与之前的视频编码标准相比,H.264/AVC使用已编码的多个帧来作为参考帧。在大多数场景切换时可以带来一定的码率降低或者质量提高,对某些类型的场景串行,例如快速重复的闪光,反复的剪切或者背景遮挡的情况,它能很显著的降低编码的码率。
帧内预测。H.264帧内预测的方法,即利用已解码重构的邻近块来对实现当前块预测,对预测块与实际块间的残差做相应的变换和量化。帧内预测技术使得帧内编码技术的码率大大减小了,编码效率也有很大提高,对于图像序列变化平缓的视频效果非常明显。
DCT整数4x4变换和量化 。H264变换采用基于4x4块的整数操作而不是浮点运算,使得变换操作仅使用整数加减和移位操作,降低了设计复杂度,避免了编解码误匹配,能够得到与4x4 DCT变换近似的结果,而由此带来的编码性能的减少微乎其微。在量化过程中还可有机结合变换中的系数矩阵,使得变换过程中不再出现浮点乘法问题,并且在量化过程中巧妙地回避了除法运算。
熵编码。H.264中熵编码分为:CALVC和CABAC。CAVLC 利用相邻已编码符号所提供的相关性,动态调整编码中的码表,为编码符号选择合适的上下文模型,降低了符号间的冗余度,取得较高的压缩比。但CAVLC 采用固定码表,不能随视频源的统计特性自适应性变化,编码效率降低,因此H.264 又提出了一种新的熵编码算法即CABAC 编码算法。CABAC 在编码数据元素的自适应范围上比CAVLC 更加广泛,大大提高了编码的压缩率,但这是以增加编码复杂度为代价的。
网络抽像层 (NAL)。H.264采用一个网络抽象层使得相同的视频语法可以适用于多种网络环境中;并且使用了串行参数集(SPSs)和图像参数集(PPSs)来提供更高的强健性和灵活性。
以上技术使得H.264能高效的对视频进行压缩,并在各种环境下达成更广泛的应用,H.264在压缩性能上比起MPEG-2有很大的提高,在相同的图像质量下可以,码率可以减少到一半或者更少。[6]
编码器优化
为了使H.264能在比较容易的在低码率高实时性的应用系统中实现,必须对其编码进行优化。对其编码器各个算法模块分析可以得出运动估计模块的耗时量占到的全部的70%左右[7][8],其次耗时较多的模块为DCT变换[9]和熵编码模块[10]。在这些模块中采用快速算法对编码器优化。
参考文献
[1]ISO/IEC IS 14496-10:Information technology-coding of audio-visual objects-Part 10:Advanced video coding (AV
显示全部