计算机多媒体技术(四):视频压缩技术入门
发布网友
发布时间:2024-09-27 04:22
我来回答
共1个回答
热心网友
时间:2024-10-06 03:35
现代数字视频存储与传输面临巨大挑战,大量视频数据占用大量空间与带宽。为解决此问题,视频压缩技术应运而生。视频数据由时间维度上的“帧”构成,每个帧是一幅图像。传统方法通过帧间差值来存储视频,即仅保存第一帧的原始图像数据,其余帧仅保存与前一帧的差值,有效降低数据熵,压缩视频。
然而,更高效的压缩方式是寻找每帧中可以用前一帧数据预测的“块”。例如在拍摄静止背景与活动主体的视频时,背景部分可采用前一帧预测,而主体部分存储原始数据或采用其他有效方法预测。现代视频压缩标准采用混合编码策略,先进行帧间预测与补偿消除时间冗余,再对帧间差值矩阵采用变换编码。运动补偿作为关键步骤,通过检测固定像素或区域的位移进行图像“补偿”,显著降低数据熵。
在处理视频压缩时,通常将图像分成宏块进行处理。运动补偿并非在像素级别进行,而是在宏块级别。当前帧称为目标帧,通过在目标帧前后搜索与目标帧非常相似的帧作为参考帧,利用参考帧的宏块预测目标宏块,计算位移得到运动向量。前向预测与后向预测分别利用时间上前后帧的宏块预测当前帧宏块。宏块与参考宏块的图像数据差值即为预测差值。
运动向量的搜索是一个匹配问题,通常在宏块的固定大小邻域内进行。搜索算法包括顺序搜索、二维对数搜索与层次化搜索。顺序搜索尝试所有可能的运动向量,计算MAD(平均绝对差值);二维对数搜索在搜索窗口内缩小搜索范围,计算MAD;层次化搜索先对低分辨率图像进行搜索,逐步提高分辨率,得到最终运动向量。
以H.261为例,该标准支持多种帧格式,包括I帧与P帧。I帧利用空间冗余性进行编码,P帧利用时间冗余性,通过运动补偿预测宏块差值进行编码。P帧编码时,利用运动向量搜索算法在参考帧中找到匹配宏块,计算差值宏块进行编码。H.261在量化步骤中使用不同的量化步长,以控制压缩后的比特率。为避免误差累积,H.261编解码器中设有帧记忆模块存储已编码或已解码的帧。
H.263标准与H.261类似,但支持更多文件格式。在运动向量编码上,H.263尝试使用当前宏块及其相邻宏块的运动向量均值预测当前宏块的运动向量,并编码其与预测向量的差值。H.263的运动向量精度提升,搜索范围扩展。此外,H.263提供额外编码选项与扩展功能。
总结而言,视频压缩技术通过帧间预测与补偿、运动补偿、变换编码等手段,有效降低视频数据熵,实现高效压缩。H.261与H.263是早期视频编码标准,后续发展出H.261+与H.263++,具备更多先进功能。未来文章将深入探讨更多现代压缩技术与视频编码标准。