视音频编解码软件技术属于在市场前景好、产业关联度大、关系国民经济发展和国家安全的战略性技术,是数字视音频产业的核心技术。视音频编解码软件的应用场合相当广泛,包括可视电话(固定或移动)、实时视频会议系统、视频监控系统、internet网视频传输以及多媒体信息存储等。由于安防行业中对监控的视音频信息长期大量存储的迫切需求,视音频编解码技术的最新发展在该行业中得到了快速产业转化,并形成了一定的规模。近年来,迅速发展的安防市场极大促进了视音频编码板卡和数字硬盘录像机(DVR)的技术更新速度。而视音频编码板卡和DVR的关键技术就是数字视音频编解码技术。
国际上视音频编解码标准主要有两大系列:ITU(最初是CCITT)针对多媒体通信制定的H.26x系列视频编码标准和G.7系列音频编码标准。
ISO/IEC制定的MPEG系列标准。中国也成立了自己的中国数字视音频编解码标准化技术工作组(AVS),正在制定自有知识产权的AVS标准。在视频监控领域由模拟向数字化的转化过程中,MPEG-1技术起到了无可替代的作用,但近年来,由于MPEG-4压缩技术在实时视频监控方面,无论是压缩率,传输的速率,清晰度都比MPEG-1具有更大的优势,现在MPEG-4在视频监控上占有统治地位。同时,H.264在低码率高画质方面有很大的优势,相信H.264也是未来的发展趋势。本文首先重点讲述MPEG-4,然后对H.264中引进的最新视频编码技术及我国"数字音视频编解码技术标准工作组"制定的AVS标准进行简单的对比介绍。希望通过本文能使大家对视频编码技术有进一步的理解。
MPEG-4视频编码技术
MPEG-4视频编码标准支持MPEG-1、MPEC-2中的大多数功能,它包含了H.263的核心设计,并增加了优先特性和各种各样创造性的新特性。它提供不同的视频标准源格式、码率、帧频下矩形图像的有效编码,同时也支持基于内容的图像编码。采纳了基于对象(Object-Based)的编码、基于模型(Model-based)的编码等第二代编码技术是MPEG-4标准的主要特征。
MPEG-4视频编码系统框图(如图)
MPEG-4视频编码中主要包含以下关键技术:
离散余弦编码(DCT)DCT主要完成图像数据由空域转向频域,各系数相互独立,这意味着各系数可分开处理,同时,图像的高频系数大部分接近于零。人的视觉系统对低频比对高频敏感的多,因此可以用更大的量化步长来量化高频系数,使大部分高频系数为零,从得到较高的压缩比,而人眼很难察觉。[nextpage]
量化
量化是针对DCT变换系数进行的,量化过程就是以某个量化步长去除DCT系数。量化步长的大小称为量化精度,量化步长越小,量化精度就越细,包含的信息越多,但所需的传输频带越高。不同的DCT变换系数对人类视觉感应的重要性是不同的,因此编码器根据视觉感应准则,对一个8×8的DCT变换块中的64个DCT变换系数采用不同的量化精度,以保证尽可能多地包含特定的DCT空间频率信息,又使量化精度不超过需要。
Intra块DC系数和AC系数的帧内预测
由于Intra编码方式的各块之间的DC和AC有较强的连续性,所以我们量化后可以进一步进行预测。DC和AC的预测方向有两个:水平方向和垂直方向。其预测方向主要取决于相邻块DC系数的相关性,AC的预测只对块的第一行或第一列进行预测。是对第一行进行预测还是对第一列进行预测主要取决于预测方向,其预测方向和DC预测方向一致。
之型扫描与游程编码
由于经量化后,大多数非零DCT系数集中于8′8二维矩阵的左上角,即低频分量区,之型扫描后,这些非零DCT系数就集中于一维排列数组的前部,后面跟着长串的量化为零的DCT系数,这些就为游程编码创造了条件。所谓游程编码就是对扫描后64个系数进行编码:用非0系数的大小(Level)、其前面连续0的个数(Run)及终止标志(Last:"0"便是其后还有不为0的系数;"1"表示该系数为最后不为0的数,余下的系数全为0)加起来构成一个三维矢量(Last,Run,Level)。然后就可以对这些矢量进行Huffman编码。
变字长编码(VLC)
游程编码形成的三维矢量是一种有效表示方式,实际传输前,还须对其进行比特流编码,产生用于传输的数字比特流。其中用得最多的就是Huffman编码,Huffman编码中,根据所有编码信号的概率生成一个码表,码表中对大概率信号分配较少的比特表示,对小概率信号分配较多的比特表示,使得整个码流的平均长度趋于最短。
运动估计
运动估计用于帧间编码,即P帧和B帧编码。通过在参考帧图像中搜索到与当前块最接近的块。从而使传输的误差块可以用更少的比特表示,从而达到压缩目的。运动估计的准确程度对帧间编码的压缩效果非常重要。运动估计以宏块或块为单位进行,计算被压缩图像与参考图像的对应位置上的宏块或块间的位置偏移。这种位置偏移是叫运动矢量(MV),一个运动矢量代表水平和垂直两个方向上的位移。现在MPEG-4所用的运动估计算法主要有:MVFAST(MotionVectorFieldAdaptiveSearchTechnique),改进的PMVFAST(PredictiveMVFAST)和EPZS(EnhancedPredictiveZonalSearch)算法。