几种网络视频编码技术的分析

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

几种网络视频编码技术的分析

几种网络视频编码技术的分析、比较与发展

摘要:本文主要介绍了MPEG,H.264,AVS等3种主流网络视频编码标准。并从编码的关键技术,创新改进等方面对这三种标准进行了分析比较。以期在未来的实际应用中,能够更好的做出选择。

1 引言

网络技术的快速发展,高速数据传输以及大数据容量的传输,而短时间内无法突破硬件存储容量的限制,推动了网络视频编码技术的革新、发展。通过各种网络视频编码标准的算法优化,给人们提供了一个良好的视听娱乐体验,本文将从目前主流的几种标准,即MPEG-4,H.264以及AVS对比分析各自的关键技术特点以及创新优势。

2 几种主流标准介绍

2.1 MPEG-4标准

MPEG(Moving Pictures Experts Group)即动态图像专家组是目前影响最大、应用最广的多媒体技术标准。他包括MPEG-1、MPEG-2、MPEG-4、MPEG-21等众多分支[1]。每一个分支都侧重于不同的应用,本文主要针对MPEG-4标准进行阐述。

2.2 H.264标准

H.264是ITU-T和ISO/IEC联合制定的一种视频编码标准,他具有高效的编码标准和易于网络传输的特点,H.264标准同时定义了四个档次,即基本档次,主档次、扩展档次和高级档次,以满足视频电话、视频会议、视频存储、视频广播等众多领域的应用。

2.3 AVS标准

AVS(Audio Video coding Standard,音视频编码标准)是《信息技术先进音视频编码》系列标准的简称,是我国具备自主知识产权的第二代信源编码标准,也是数字音视频产业的共性基础标准。

3 一般性视频编码结构介绍

3.1 视频编码结构介绍

视频编码理论和其他科学研究一样,离不开数学模型的支撑。视频编码器采用模型来描述一个视频流。这种模型使得压缩数据尽可能占用最少的bit数,同时又保证重建后的视频流能较好地近似原视频流,做到压缩效率和图像质量的平衡。

图3-1 视频编码模型

视频编码器如图3-1所示,分为三个主要功能单元:时域模型、空域模型和嫡编码器。时域模型的输入是未压缩的原始视频流,通常原始视频流相邻帧之间具有很大的相似性,根据这个特点,时域模型建立预测帧来降低时域冗余;频域模型的输入是残差图像,它利用相邻像素点的相似性,消除残差图像的频域冗余;熵编码器对时域参数如运动矢量和变换系数进行压缩,消除存在的统计冗余,并输出压缩后的比特流和数据用于视频的存储和传输。压缩后的视频码流包括编码的运动矢量参数、变换系数和头信息。

目前国际上的视频编解码标准多种多样,但这些标准大多遵循这一设计模型,细化后包括前端的运动估计和补偿(又称为DPCM)、变换预编码和熵编码等。这个模型又常常被称为DPCM/DCT视频编解码器混合模型。任何兼容H.26x系列和MPEG系列的视频编码器都必须实现一套类似的基本编码和解码功能。

图3-2是一套典型的混合DPCM/DCT编码框图,目的是将当前帧压缩成比特流。

图 3-2 DPCM/DCT视频编码框图[4]

3.2 时域模型

时域模型的作用就是消除连续帧之间的时域冗余。在时域模型中,当前帧减去预测帧得到残差图像。预测帧越准确,所得的残差图像的能量越小。残差图像经过编码后被传输到解码器。解码器通过与残差图像相加来恢复当前图像以重建相应的预测帧。预测帧的重建可以参考一帧或多帧之前或之后的图像(称为参考帧),其精度可以通过参考帧和当前帧之间的运动补偿来提高。

对于运动图像为了使预测误差尽可能小,从而达到减少码率的目的,就一定要采用适当的预测方法,这个方法就是运动补偿预测。运动补偿预测有两个过程。第一个过程是对运动物体的位移做出估计,即运动物体从上一帧到当前帧位移的方向和像素数要做出估计,也就是要求出运动矢量,这个过程叫做运动估计。第二个过程是按照运动矢量,将上一帧做位移,求出对当前帧的估计,这个过程称为运动补偿。

图像分割是运动补偿预测的基础。理想上是将图像分割成不同运动的物体,但实现比较困难,所以通常采用两种较简单的方法。一种方法是对每个像素的位移进行递归估计;另一种是把图像分为矩形子块,适当选择块的大小,估计出运动子块的位移,进行预测传输。得到运动物体的位移估值后,即可将其送入预测器。

与图像分割的两种方法相对应,运动估计有两种方法:一个是以像素为基础的运动估计算法,也就是对每一个像素做估计,实现较为复杂;另一个是以像素矩阵块为基础的块匹配法 (BMA),是目前常用的运动估计算法。即先将一帧图像分成MxN小块,假定在同一块中的像素具有相同的位移,运动估计按每一块进行计算。

为了得到最佳匹配块,要进行运动估计中的搜索。搜索的方法很多,有全像素搜索法、快速搜索法和三步法等。

块匹配法中图像子块通常选为NxN的方块。由于只有在块较小时才可以近似认为块内各点作相等的平移,以满足BMA法的基本假设。但若块太小,则估值结果易受干扰噪声影响,不够可靠,而且传送运动矢量场所需的比特数过多:块太大可减轻其影响,但BMA法的基本假设难以满足。所以通常取护16(H.264和AvS)或8(MPEG-4),即16、16或8、8的块作为匹配单元是上述因素折衷的结果。

3.3频域模型

频域模型一般包括变换编码和量化两部分。变换用于消除数据相关性,而量化用于降低变换域数据精度。

变换的目的是减少变换系数的相关性,可以把这样的性质称之为相关减弱性质。适当选取基函数,可使系数的相关性减少。与相关减弱性质相联系的性质是能量集中。将大部分能量集中于一部分变换系数,可以去除大多数系数也不会严重影响图像。以熟知的傅立叶变换为例,变换后相当于图像信号由空间

域变换到了频域。由于一般图像的能量基本集中在低频部分,于是变换后像素方块的能量集中于左上角。这时只需对低频区域的变换系数进行编码,高频区域则既不编码,也不传输,即达到了压缩编码的目的。

理论分析表明,K-L正交变换(KLT)是能达到有效的能量集中的最佳变换,但它实现起来很难,所以在工程实践中很少使用;离散傅立叶变换曾被认为是一种适合的变换,原因是它有固定的基函数组,可以用FFT算法对它做快速运算,包括正向和反向运算。

尤其重要的是,普通图像经DFT变换能量的主要部分集中于低频区域;但是后来发现DCT(DisereteCosineTransform),离散余弦变换、的性能比DFT更好。DeT 具有能量更加集中的优点而且不会牺牲其他方面的质量,己有的高效算法仍然适用,而且DCT可以用DFT的快速算法。除了DFT和DCT,人们还提出了许多其他的变换,如哈特利变换和正弦变换,但从计算效率和能量集中这两方面来看,DCT仍占优势,所以目前诸多图像编码的国际标准均采用DCT作为编码的主要环节之一。

一个连续的标量,可以是一个像素的幅值,也可以是变换系数。要用有限的比特数来表示它,那就只能用有限的L个量化电平中的一个来代表它,这个过程叫做t化。

正交变换(如DCT)本身并没有抛弃变换后的高频系数分t。对于一个8:3的图像块来说,输入的是64个值,输出的仍然是64个值,只不过能量全部集中到了左上角的直流和低频分量中,而右下角的高频系数分量趋于O。在量化过程中通过设置合理的步长将趋于O的值都置成O,对于这些O值既不分配码字也不传输。于是8x8的图像块可以用少数的直流和低频系数表示。

这一部分我们在下一节中做详细介绍。

3.4熵编码器

熵编码将描述视频流的一串符号编码成适于传输或存储的压缩比特流。熵编码的输入有量化后的传输系数、运动矢量、标记点头信息和辅助信息。

熵编码中用得最多的三种编码方法是基于概率分布特性的Huffinan编码、算术编码和基于相关性的游程编码。其中最常用的是Huff比an编码和游程编码,本小节将重点介绍这两种编码。

(1)Huffman编码

Huffman于 1952年提出了Huffman编码,这是完全依据字符出现的概率来构造平均长度最短的异字头码字的一种编码方法。它的依据是:在变长编码中,若各码字长度严格按照所对应符号出现概率的大小逆序排列,则其平均长度为最小。Huffman编码的具体实现步骤如下:

①将信源符号出现概率按减小的顺序排列;

②将两个最小的概率进行组合相加,并继续这一步骤,始终将较高的概率分支放在上部,直到概率达到1.0为止;

③对每对组合中的上边一个编码为1,下边一个编码为0(或相反,即对上边一个编码为O,下边一个编码为1);

④画出每个信源符号概率到1.0处的路径,记下沿路径的1和O:

⑤对于每个信源符号都写出1、0序列,则从右到左就得到Huflhlan码。Huffillan编码的效率比较高,一般在95%以上,但应该指出的是,由于“0’’

相关文档
最新文档