帧内压缩与帧间压缩的区别
在当今数字技术时代,连接到网络的人需要在最短时间内发送数据,并力求节省媒体文件的存储空间。当需要在较短时间内同时传输大型文件时,用户可以选择任何压缩方法来减小数据大小并上传。数据压缩是一项复杂的任务,因为图像或视频的每一帧都必须经过技术处理,并且在通过网络发送之前不应影响原始数据的质量。视频格式的两种压缩类型是帧间压缩和帧内压缩,本文将讨论它们的特性、工作原理以及它们之间的区别。
帧间压缩
这是一种跨视频帧进行压缩的技术,帧与帧之间只有细微变化。由于帧是使用参考帧进行检查的,并且只记录或存储差异,因此存储的数据较少。在编码过程中,分析一个输入帧并选择关键帧进行压缩,该关键帧用作其余帧的参考。在解压缩时,我们需要通过比较关键帧来添加帧中发生的变化。每当视频发生重大变化(与现有场景无关的新场景)时,都会更新这些关键帧。
考虑一个实时示例:新闻频道的主播正在直播新闻,这里只有主播的身体在移动,背景帧没有变化。因此,只需要存储人物的移动差异,而不需要存储每一帧的背景。从第一帧的差异作为关键帧,并用作其余帧的参考。
帧通常分为三种类型,视频压缩算法常用。
I帧:称为帧内编码帧,是解码过程中用作参考的关键帧。它包含解码所需的所有信息。它为每个场景提供了一个轮廓,从而减少了编码帧所需的比特数。
P帧:预测帧使用I帧作为参考帧来预测参考帧与其余帧内容之间的差异。
B帧:它使用I帧和P帧中的信息作为参考进行预测,称为双向帧。
S帧:此切换帧是一个预测帧,它使用I帧作为参考,其余信息从视频流中获取。它是作为AV1编码的一部分而发明的,它允许自适应比特率,可以在不降低视频质量的情况下传输较小的帧部分。
帧内压缩
压缩过程在帧内进行。将单个图像帧划分为块,并记录每个像素之间的差异,然后对这些差异进行编码。对相对于单个或当前帧的信息进行无损和有损压缩,并且得出的差异或预测与输入视频序列中的其他帧无关或不进行比较。
视频序列中的每个图像都作为单个帧单独编码。假设我们使用运动联合图像专家组 (JPEG) 压缩视频,该方法将帧压缩为单个图像。用户可以重新创建每一帧,而无需从先前和即将到来的帧中获取信息。这在编辑视频时非常有用,其中每一帧都在序列中进行编码以减小尺寸和降低比特率,同时不会影响原始视频的质量。
区别的基础 |
帧内压缩 |
帧间压缩 |
---|---|---|
定义 |
压缩过程是在可用帧之间进行的。 |
对视频序列的每一帧进行压缩。 |
功能 |
它在一个帧上识别关键帧,并将其用作其余帧的参考。 |
它不依赖于先前信息来处理当前帧。 |
冗余 |
在连续帧之间消除时间冗余。 |
帧内的空间冗余。 |
处理时间 |
它需要较高的处理时间,因为算法需要处理和压缩多个帧才能进行解码。 |
比帧内压缩所需时间少,因为编码发生在单个帧内。 |
依赖性 |
它依赖于I帧或P帧的关键帧来了解差异并进行计算。 |
它不依赖于关键帧来了解像素之间的差异。 |
类型 |
I帧、B帧、P帧和S帧 |
P帧和B帧。 |
一些流行的编解码器 |
MPEG-2、MPEG-4、H.265、H.264 AVC |
DVCProHD、Apple ProRes和Avid DNxHD。 |
结论
视频压缩方法旨在减小尺寸,同时保持与原始输入视频相同的质量,以便更快地传输和节省存储空间。各种编解码器方法都使用无损和有损、帧间和帧内压缩。视频编辑专业人员可以使用帧间或帧内压缩,这取决于他们使用的软件以及帧在相同或不同的背景环境中是如何按顺序捕获的。