1. 视频信息为什么可以被压缩?
- 时间冗余:视频相邻的两帧之间内容相似,存在运动关系
- 空间冗余:视频的某一帧内部的相邻像素存在相似性
- 编码冗余:视频中不同数据出现的概率不同
- 视觉冗余:人的视觉系统对视频中不同的部分敏感度不同(如YUV420,我们对色度信息不是很敏感)
2. 视频压缩编码的基本技术
预测编码: 传输预测像素与实际像素之差,利用时间或空间相邻像素之间较强的相关性;处理视频中的时间和空间域的冗余
帧内预测: 预测值与实际值位于同一帧内,用于消除图像的空间冗余;帧内预测的特点是压缩率相对较低,然而可以独立解码,不依赖其他帧的数据;通常视频中的关键帧都采用帧内预测。
帧间预测: 帧间预测的实际值位于当前帧,预测值位于参考帧,用于消除图像的时间冗余;帧间预测的压缩率高于帧内预测,然而不能独立解码,必须在获取参考帧数据之后才能重建当前帧。
变换编码:将图像信息从空间域通过变换编码变换至频域,并计算其变换系数供后续的编码
目前主流的视频编码算法均属于有损编码,通过对视频造成有限而可以容忍的损失,获取相对更高的编码效率。而造成信息损失的部分即在于变换量化这一部分。
熵编码:利用信源的统计特性进行压缩编码。视频编码中的熵编码方法主要用于消除视频信息中的统计冗余。由于信源中每一个符号出现的概率并不一致,这就导致使用同样长度的码字表示所有的符号会造成浪费。通过熵编码,针对不同的语法元素分配不同长度的码元,可以有效消除视频信息中由于符号概率导致的冗余。
3. 编码流程图