通过上一篇文章我们就应该知道了为什么要进行视频压缩,因为未经过压缩的视频数据量大的惊人,大大超出了我们的消费能力,而经过压缩后的视频不仅仅数据量有了巨大的降低,最主要的一方面是在经过高压缩比压缩过后,视频本身的质量,对于人的观影体验来说,并没有太大的降低。
因此我们就想到了要把视频压缩,降低视频的数据大小。
![af417994f4a95da4aee646f6f681b496.png](https://i-blog.csdnimg.cn/blog_migrate/7df86593efdd30035037d91d42d70e25.jpeg)
这个时候可能会有小伙伴有这样一个疑问,上一篇文章中通过计算之后得出的结论是我们可以将一个七千多G的未压缩的原始视频压缩成只有几个G的大小,视频缩小了几百倍。
但为什么我平时也用一些压缩软件,比如说WinRAR、快压、好压、6789压缩等等一些压缩软件去压缩文件的时候,压缩过后的文件相比原始文件,大小只减小了很少的一部分,大部分情况是大小减小了一半左右。这是为什么?
![4834d83e69fe9296ed890334f25efe76.png](https://i-blog.csdnimg.cn/blog_migrate/a990b0cf6ce1ca4814f083612c4cd993.jpeg)
针对这个问题,这里我们要提到两个专业名词:无损压缩和有损压缩。
什么是无损压缩?
无损压缩顾名思义就是在压缩的过程中不损坏文件的任何信息,这是一种利用文件中数据的统计冗余进行的压缩,这种压缩的特点就是可以进行解压缩,也就是我们可以将压缩后的文件再解压缩,从而恢复到原始文件。
因为信息不会丢失,所以本身压缩比也不会很大,刚才提到的几种压缩软件都是无损压缩。
![ab3029e6efc1b443de68858a9c553bf7.png](https://i-blog.csdnimg.cn/blog_migrate/238b97643eabb708ca3ac48d519cf4ec.jpeg)
那什么是有损压缩?
理解了无损压缩之后,有损压缩自然也就可以理解了,有损压缩在压缩的过程中会选择性的丢失一定的信息;当然信息并不是随意丢弃的,而是根据人类对图像或声波中某些频率成分不敏感的特性来选择。
有损压缩虽然最后丢失了部分信息,但是获得了较大的压缩比。和无损压缩的一个不同就是有损压缩并不能完全恢复成原始图像,虽然有所不同,但是不影响人对原始资料表达的信息造成误解。正是这种特性,有损压缩广泛应用于语音、图像和视频数据的压缩中。
![8c9ae274311c7e961c02500a2e1cc8ea.png](https://i-blog.csdnimg.cn/blog_migrate/cbe7b0d232e2bc242b783b674c2a3c47.jpeg)
压缩比上的区别
无损压缩的压缩比是受文件数据本身特性来决定的,压缩比一般在2:1到5:1之间。
而有损压缩允许压缩过程中损失部分信息,因此其可以换来大得多的压缩比,有损压缩的压缩比最高可达200:1甚至更多。
![d5add76692feb76bc00409852ae45c14.png](https://i-blog.csdnimg.cn/blog_migrate/aafb6fa2c516bd9b3734f29b1fb1b79e.jpeg)
为什么能进行有损压缩?
视频及图像有损压缩的理论基础
对于无损压缩,我会再后续发表的文章中逐一讲解,这里先讲一讲为什么图像和视频可以进行有损压缩。
大部分的图像和视频的观看者都是人,其他例外的我们暂不讨论。人眼观察事物具有一定的特点,比如人对于自己感兴趣的区域会过分集中,而对于不感兴趣的部分关注度会降低,比如观看足球比赛的时候,我们大部分的注意力在足球和自己喜欢的球员身上,对于其他球员以及场边的画面,我们很多时候不会在意。小伙伴可以看看我们在看足球比赛的时候是不是这样呢?
![f004eeb20b8cabf84dacf24b6b5f0357.png](https://i-blog.csdnimg.cn/blog_migrate/fba6c83a1457fa4e607a16fb835a7b34.jpeg)
其次人眼有个刷新率的概念,即当图像的刷新频率超过24帧每秒时,我们人眼就会觉得图像的变化是连续的,图像也就组成了视频。这也是为什么所有视频的刷新频率要超过30帧每秒的原因。人眼还有很多其他的特性。
![2f692222b32caf9841d0f9b147d8220c.png](https://i-blog.csdnimg.cn/blog_migrate/d966268117566709db4502c9ae9ea425.jpeg)
一般来讲,被有损压缩丢弃的信息都被我们认为是冗余,视频数据包括信息和冗余数据,其中信息是在有损压缩中需要保留的有用数据;而冗余数据是在有损压缩中需要被压缩掉的无用内容。冗余在图像和视频中表现是相同或相似的重复信息。
冗余主要有:
1)空间冗余
图像中同一物体表面颜色分布具有规律性,像素的颜色变化往往存在着空间相关性。比如下面这张图,有一大片连续的区域颜色都相同,这样就产生了空间冗余。
![a8956fc06f636607c55a6c4f6aae09a0.png](https://i-blog.csdnimg.cn/blog_migrate/d7fc9bba469ca47bd6fcb34893449d69.jpeg)
大面积蓝色天空构成了空间冗余
2)时间冗余
时间冗余常出现在视频中,视频刷新很快,前一幅图像和后一幅图像差别不会很大,通过具有空间与时间的连贯性。例如人在会议室开会,随着会议的进行,背景一直是相同的,改变的只是人的位置和动作。
![6b2d172776679c4052a8047c6eeca0ca.png](https://i-blog.csdnimg.cn/blog_migrate/e85621b4c43f4638fc758f40d0c796e7.jpeg)
3)结构冗余
图像中很多物体的纹理结构是相同或相近的,这些纹理结构不需要用数据保存,我们知道图案的分布规则之后就可以直接通过某一过程生成出来。例如:方格状的地板、砖墙等。
![d567e2deb3e46ef48e4322f257919731.png](https://i-blog.csdnimg.cn/blog_migrate/8b395fb929b31e0ac4a708bb16d81f80.jpeg)
4)知识冗余
图像中的物体的分布规律和某些知识有很大的相关性。例如:人脸的结构是固定的,脸颊的中间是鼻子,眼睛的上方是眉毛。等等这些规律性的结构可以由背景知识和先验知识获得。压缩这类图像时,我们只需要构造出物体的基本模型,只存储少量的特征参数,其余数据就是知识冗余。
![57adfb2989a4f64040ad2b40d69eba0b.png](https://i-blog.csdnimg.cn/blog_migrate/53a8f8373015a150e8e3a57a6dd0f319.jpeg)
5)视觉冗余
人眼的视觉系统对图像场敏感性是非均匀和非线性的,换句话说并不能对图像的任何变化都感觉到。具体体现为:对亮度变化敏感,对色度变化相对不敏感;对静止图像敏感,对运动图像相对不敏感;对图像的水平线条和竖直线敏感,对斜线相对不敏感;对物体边缘敏感,内部区域相对不敏感。小伙伴可以结合自己的实际情况,看看我们眼睛在看视频的时候是不是这样的。根据这些视觉特性对图像进行判断,就可以选出视觉冗余的数据。
![0eaf2cd6e39546906ae25b482cefbbaf.png](https://i-blog.csdnimg.cn/blog_migrate/e3ec758620f9b571b3f35cb8f7dd16c6.jpeg)
由于有了上述五种冗余的存在,视频图像在进行有损压缩时可以以此为依据选出有用的信息,丢地冗余的数据,进而将视频压缩。