视频压缩编码综述
文章转自:http://www.cnblogs.com/CoderTian/p/8088153.html
1.预测编码
一幅图像由许多个像素点组成,大量的统计表明,同一副图像中像素之间具有较强的相关性。两个像素之间的距离越短,则其相关性越强。即两个像素的值越接近。于是,人们可以利用这种像素间的相关性进行压缩编码
例如,当前像素为X,可用a、b或c,或者三者的线性加权来预测。这些a、b、c被称为参考像素。在实际传送时,把实际像素X(当前值)和参考像素(预测值)相减。简单起见传送X-a,到了接收端再把(X - a) +a = X,由于a是已经传送的(在接收端被存储),于是得到当前值。由于X与a相似,X-a值很小,视频信号被压缩,这种压缩方式称为帧内预测编码。不仅如此,还可以用图1.3所示的帧间相关性进行压缩编码。由于临近帧之间的相关性一般比帧内像素间的相关性更强,压缩比也更大。由此可见,利用像素之间(帧内)的相关性和帧间的相关性,即找到相应的参考像素或参考帧作为预测值,可以实现视频压缩编码。
2.变换编码
大量统计表明,视频信号中包含着能量上占大部分的直流和低频成分,即图像的平坦部分,也有少量的高频成分,即图像的细节。因此,可以用另一种方法进行视频编码,将图像经过某种数学变换后,得到变换域中的图像
其中u、v分别是空间频率坐标,用'o'表示的低频和直流占图像能量中的大部分,而高频成分(用'X'表示)则是少量的,于是可用较少的码表示直流低频和高频而'O'则不必用码,结果完成了压缩编码。
3.视频编码系统结构
视频编码方法与可采用的信源模型有关。如果采用“一幅图像由许多像素构成”的信源模型,这种信源模型的参数就是每个像素的亮度和色度的幅度值。对这些参数进行压缩编码技术称为基于波形的编码。如果采用一个分量有几个物体构成的信源模型,这种信源模型的参数就是各个物体的形状、纹理和运动。对这些参数进行压缩编码的技术被称为基于内容的编码。由此可见,根据采用信源模型,视频编码可以分为两大类,基于波形的编码和基于内容的编码。它们利用不同的压缩编码方法,得到相应的量化前的参数;再对这些参数进行量化,用二进制码表示其量化值;最后,进行无损熵编码进一步提高码率。解码则为编码的逆过程。
4.基于波形的编码
利用像素间的空间相关性和帧间的时间相关性,采用预测编码和变换编码技术可大大减少视频信号的相关性,从而显著降低视频序列的码率,实现压缩编码的目标。基于波形的编码采用了把预测编码和变换编码组合起来的基于块的混合编码方法。为了减少编码的复杂性,使视频编码操作易于执行,采用混合编码方法时,首先把一幅图像分成固定大小的块,例如块 8×8(即每块 8 行,每行 8 个像素)、块 16×16(每块 16 行,每行 16 个像素)等等,然后对块进行压缩编码处理。H.264编码采用了基于块的混合编码法,属于基于波形的编码。
5.基于内容的编码
基于块的编码易于操作,但由于人为地把一幅图像划分成许多固定大小的块,当包含边界的块属于不同物体时,它们分别具有不同的运动,便不能用同一个运动矢量表示该边界块的运动状态。如果强制划分成固定大小的块,这种边界块必然会产生高的预测误差和失真,严重影响了压缩编码信号的质量。于是产生了基于内容的编码技术。这时先把视频帧分成对应于不同物体的区域,然后对其编码。具体说来,即对不同物体的形状、运动和纹理进行编码。在最简单情况下,利用二维轮廓描述物体的形状;利用运动矢量描述其运动状态;而纹理则用颜色的波形进行描述。当视频序列中的物体种类已知时,可采用基于知识或基于模型的编码。例如,对人的脸部,已开发了一些预定义的线框对脸的特征进行编码,这时编码效率很高,只需少数比特就能描述其特征。对于人脸的表情(如生气、高兴等),可能的行为可用语义编码,由于物体可能的行为数目非常小,可获得非常高的编码效率。MPEG-4 采用的编码方法就既基于块的混合编码,又有基于内容的编码方法。
6.三维(立体)视频编码
立体视频编码是视频编码的发展方向之一,其平面信息外增加了深度信息,数据量非常庞大。
立体视频编码也有两种类型的方法:第一种是基于波形的,它组合运动补偿预测和位差补偿预测。所谓位差估计即在两幅不同图像中寻找对应的点。它对预测残差图像、位差和运动矢量进行编码;第二种是基于物体的,它直接对成像物体的三维结构和运动进行编码。当物体结构简单时,可获得非常高的压缩比。
纸上得来终觉浅,绝知此事要躬行。
posted on 2018-05-14 10:27 legendsun 阅读(1257) 评论(0) 编辑 收藏 举报