视频压缩技术全面解析
1. 视频压缩基础
视频压缩基于两个原则:空间冗余和时间冗余。空间冗余指的是每一帧内存在的冗余信息,而时间冗余则是因为大部分情况下,视频的相邻帧非常相似。
常见的视频压缩技术,首先会使用静态图像压缩方法对第一帧进行编码,接着通过识别后续帧与其前一帧的差异,并对这些差异进行编码。如果某一帧与其前一帧差异很大(如一个镜头的第一帧),则会独立编码。在视频压缩领域,利用前一帧进行编码的帧被称为帧间帧(inter frame,简称 inter),而独立编码的帧则被称为帧内帧(intra frame,简称 intra)。
视频压缩通常是有损的。以帧 (F_i) 基于其前一帧 (F_{i - 1}) 进行编码时会引入一些失真,而 (F_{i + 1}) 基于 (F_i) 编码会进一步增加失真。即使是无损视频压缩,帧也可能在传输过程中或长时间存储后丢失一些比特。若帧 (F_i) 丢失了一些比特,那么在到下一个帧内帧之前的所有后续帧都可能解码错误,甚至导致累积误差。因此,帧内帧不仅应在序列开始时使用,还应在序列中适时插入。帧内帧标记为 I,帧间帧标记为 P(表示预测)。
当理解了上述概念后,还可以进一步推广帧间帧的概念。这样的帧可以基于其前一帧和后一帧进行编码。虽然编码器不应使用解码器无法获取的信息,但由于视频涉及大量数据,所以视频压缩有其特殊性。通常我们不太在意编码器速度慢,但解码器必须快速。例如,硬盘或 DVD 上录制的视频在播放时,编码器编码数据可能需要数分钟甚至数小时,而解码器必须以正确的帧率(每秒若干帧)播放,所以必须快速。这就是为什么典型的视频解码器会并行工作,它有多个解码电路同时处理多个帧。
假设编码器基于帧 1 和帧 3
超级会员免费看
订阅专栏 解锁全文
1048

被折叠的 条评论
为什么被折叠?



