视频为什么可以压缩

2023.01.11 14:18:28

一、视频为什么可以压缩

首先,让我们弄明白视频是由什么组成的。

答案很简单,你看到的动态视频,其实是以设定速度向你展示的一组图像,这些图像利用人眼视觉暂留

的原理,使人眼产生运动的感觉。

视频中的每一张图像对应一帧,帧率表示每秒的帧数,比如帧率24就表示每秒有24张图片——这被认为是最低限度的帧率,不然就没法“骗过“你的大脑和眼睛,让视频连贯流畅地动起来,而非停留于断断续续的图像。

视频为什么可以压缩(图1)

再深入分析的话,帧由像素构成,分辨率表示每帧的像素数,常见的分辨率1080p就代表这个视频每一帧有1920 x 1080个像素。

由此可见,分辨率越高,帧率越大,视频越清晰,8k超高清视频的分辨率是1080P的16倍,达到了每帧7680 × 4320 个像素。

那么视频为什么可以被压缩?——因为存在数据冗余。

一方面,在视频数字化的过程中,人们对每一帧图像进行采样,每个采样点

上得到的数据就是像素。

因为像素的采样按照固定密度,可能在单帧中对一些相同或相似部分过度采样,从而产生了“空间过采样”的数据空间冗余。

比如下图作为背景的湖面,包含了大量无需高频率采点的像素,产生了许多重复数据。

视频为什么可以压缩(图2)

另一方面,许多时候每一帧图像的整体背景不太变化,改变的只是运动的物体,对于这些重复出现的画面和物体来说,等间隔的重复产生了“时间过采样”的数据时间冗余。

比如下图湖面背景,在两帧中变化不大,同时运动的物体天鹅也重复出现,产生了冗余。

视频为什么可以压缩(图3)
A帧
视频为什么可以压缩(图4)
B帧

除此之外,视频数据化过程中还产生了信息熵、视觉、知识、结构等等数据冗余,这些冗余就是视频为啥可以压缩的根本原因

二.为什么需要视频压缩

让我们先来看看,如果不进行视频压缩,储存一部100分钟、1080p的电影需要消耗多少空间?

存储视频的一个像素(为了便于理解,我们假设视频以RGB格式存储——其实是YUV格式)需要24位,每帧1920x1080像素,需要

1920 × 1080× 24 = 49766400 位

但这只是图像,假设我们制作电影时,采用了最低帧率24,那么每秒的视频需要

49766400 x 24 = 1194393600 位

这只是电影中的一秒,一部100分钟的电影需要

1194393600 x 60x 100

=7166361600000位

=895795200000 B

=874800000 KB

≈854297MB

≈ 834 GB

综上所述,如果没有视频压缩技术

,要用834GB才能存储一部电影!

这远远超出普通智能手机存储能力,更别说视频制作、传输等过程中的困难了……

这下不难理解视频压缩有多重要了吧~

三.视频压缩有哪几种方法

1. 帧内预测

又是这幅图,湖面背景区域所有点的光强、色彩和饱和度都是非常相近的,可以用帧内预测的方法,由已编码块的重建像素得到当前编码块的预测块,并与当前编码块相减得到差异,有效去除空间冗余。

视频为什么可以压缩(图5)

2. 帧间预测

同理,用帧间预测的方法减少时间冗余,先进行运动搜索,在已编码帧中,依次找到每个编码块的最佳匹配块,估算出物体的速度、方向,然后再通过运动补偿

编码相邻帧之间的差异。

如下图找到A帧和B帧中运动物体的差异,那么只需要编码两帧的差值,大大减少时间冗余。

视频为什么可以压缩(图6)
A帧
视频为什么可以压缩(图7)
B帧

3. 变换

变换可以将空间域

描述的图像信号,变换到频率域,从而实现去相关和能量集中,使得信息更加简洁和高效,常用的有傅立叶变换,离散余弦变换

等等。

变换之后,再通过量化、熵编码

等技术将数据编码成0和1组合二进制文件

经过这几个步骤之后,即可获得压缩后的视频码流,相比原视频大小可压缩几十到几百倍,并且最大程度地保留原有的画面质量

此外,近年来不断发展的深度学习可以通过大量样本的训练让人工智能寻找视频压缩的最优解模型。



下次自动登录
忘记密码
注册
+86
下次自动登录
忘记密码
注册
微信二维码登录
请使用微信扫描二维码登录
密码登录
注册新账号
找回密码
返回登录返回主页
找回密码
+86
返回登录返回主页
设置新密码
两次密码不一致
-->
邮箱注册
我已阅读并接受隐私条款
已有账号,马上登录返回主页