视频编解码器如何工作?
现在我们对视频编解码器的作用有了基本的了解,我们可以看看编解码器是如何工作的。
1、色度子采样
如前所述,视频由图像组成,色度子采样减少了每个图像中的信息。为此,它减少了每个图像中包含的颜色信息,但人眼如何检测到这种颜色信息的减少?
人眼很擅长检测亮度的变化,但对于颜色却不能这样说。这是因为与视锥细胞(负责区分颜色的感光细胞)相比,人眼具有更多的视杆细胞(负责检测亮度变化的感光细胞)。在比较压缩图像和未压缩图像时,视杆和视锥的差异会阻止眼睛检测颜色变化。
为了执行色度子采样,视频压缩算法将 RGB 中的像素信息转换为亮度和颜色数据。之后,该算法会根据压缩级别减少图像中的颜色量。
2、去除冗余帧信息
视频由几帧图像组成,在大多数情况下,所有这些帧都包含相同的信息。例如,想象一段视频,其中有一个人在固定背景下讲话。在这种情况下,视频中的所有帧都具有相似的构图。因此,不需要所有图像来渲染视频。我们所需要的只是一张基本图片,其中包含从一帧移动到另一帧时与变化相关的所有信息和数据。
因此,为了减小视频大小,压缩算法将视频帧分为 I ??帧和 P 帧(预测帧)。这里 I 帧是基本事实,用于创建 P 帧。然后使用 I 帧中的信息和该特定帧的更改信息来渲染 P 帧。使用这种方法,视频被分解成一组 I 帧,交织成 P 帧,进一步压缩视频。
3、运动压缩
现在我们已经将视频分成 I 帧和 P 帧,我们需要看看运动压缩。视频压缩算法的一部分,有助于使用 I 帧创建 P 帧。为此,压缩算法将 I 帧分成称为宏块的块。然后为这些块提供运动矢量,运动矢量定义这些块在从一帧过渡到另一帧时移动的方向。
每个块的运动信息有助于视频压缩算法预测每个块在即将到来的帧中的位置。
4、删除高频图像数据
就像颜色数据的变化一样,人眼无法察觉图像中高频元素的细微变化,但什么是高频元素呢?嗯,你看,屏幕上呈现的图像包含几个像素,这些像素的值根据显示的图像而变化。
在图片的某些区域,像素值逐渐变化,这些区域被称为频率较低。另一方面,如果像素数据发生快速变化,则该区域被归类为具有高频数据。视频压缩算法使用离散余弦变换来减少高频分量。
下面是它的工作原理。首先,DCT 算法在每个宏块上运行,然后检测像素强度变化非常快的区域。然后它从图像中删除这些数据点——减小视频的大小。
5、编码
现在视频中的所有冗余信息都已被删除,我们可以存储剩余的数据位。为此,视频压缩算法使用了一种编码方案,例如霍夫曼编码,它将帧中的所有数据位与它们在视频中出现的次数相关联,然后以树状方式将它们连接起来。此编码数据存储在系统中,使其能够轻松呈现视频。
注:不同的视频编解码器使用不同的技术来压缩视频,但在最基本的层面上,它们使用上面定义的五种基本方法来减小视频的大小。
- DLSS、FSR、XESS对比有什么区别?哪个更好?
- 虚拟磁盘格式有哪些?VDI、VHD、VMDK、VHDX的区别和优缺点
- SD卡购买指南大全:规格、速度、功能详细介绍
- 华硕ROG、TUF、ProArt、Prime有什么区别?
- 非二进制内存是什么意思?哪些主板、cpu支持非二进制内存?
- 网络带宽、速度和吞吐量之间有什么区别?
- NFT是什么?nft有什么用?
- 电脑的品牌一共有哪些?2022年一线、二线、三线品牌电脑详细介绍
- 显示器色域指的是什么?sRGB、NTSC、DCI-P3、Adobe RGB有什么区别?
- 主动式、半被动式、被动式电源散热有什么区别及优缺点
- 教你IP更新、释放、清除DNS的详细操作方法
- excel除法、乘法、加减法怎么用?