美文网首页
视频 --- 压缩基础

视频 --- 压缩基础

作者: vedon_fu | 来源:发表于2017-07-25 09:32 被阅读142次

    压缩方式

    • 有失真的压缩
      资料无法100% 还原,例如: mp3,jpg

    • 无失真压缩
      资料压缩后可以100%的还原出来,例如:zip

    ** 为什么会存在有失真的压缩?**
    主要是因为人的眼睛和耳朵灵敏度不高,一张图片少掉一些高频的内容,人眼无法感知,因此并不影响图片的展示。又例如音乐,音乐高频部分超过人耳可以识别的范围,这部分数据可以去掉。因此有了mp3 等音频压缩算法。

    色域

    视频压缩的时候,用的色域是YCbCr 。 YCbCr其中Y是指亮度分量,Cb指蓝色色度分量,而Cr指红色色度分量。查看更多

    它们之间的关系是:

    Y = 0.257*R+0.564*G+0.098*B+16
    Cb = -0.148*R-0.291*G+0.439*B+128
    Cr = 0.439*R-0.368*G-0.071*B+128
    

    ** 不是有RGB了吗?什么还用YCbCr ?**
    人眼对亮度是比较敏感的,对彩度的敏感度不高。因此,亮度的压缩率可以降低,彩度的压缩率可以提高。人眼对压缩后的图片与原图,在感官上差异就会大大减少。

    另外它将亮度信息(Y)与色彩信息(UV)分离,没有UV信息一样可以显示完整的图像,只不过是黑白的,这样的设计很好地解决了彩色电视机与黑白电视的兼容问题。并且,YUV不像RGB那样要求三个独立的视频信号同时传输,所以用YUV方式传送占用极少的频宽。


    图片压缩

    • 首先图片会被切分为一些8 * 8的格子,每个格子都会走一次上图的流程。
    • DCT 转换,主要是把图像从空间域转为频域,这样子可以有效的分离出高频的数据,用于过滤。什么是高频的数据:以声音为例就是那些很尖锐的声音。图像的话就是指那些变动很大的数据,例如熊猫的黑白分割部分,由于变化很大,所以这就是高频部分。如果两个像素之间的差别很小,就属于低频部分。
      ![Uploading Screen Shot 2017-07-25 at 8.52.35 AM_976479.png . . .]
    • Quantization 是一种失真压缩,简单来说就是把每个值都除以一个固定的数,然后在de code 端相对应的乘以这个固定的数,恢复数据,但是此时数据只是一个近似的数值。例如数字100 ,除以10 ,会得到10 。但是102 的话,结果也是10 。所以在decode 的时候,无法知道真正的数据是什么,只能拿到近似值。
    • Entropy encoder 把失真压缩后的数据做无失真压缩

    要恢复图片只需要执行的反操作,得到的图片与原图是有区别的,只要人眼无感知就好。

    下面看一下每一步的是怎样的一个过程:

    DCT

    DCT 可以理解为一个坐标轴转换,是一种Transform Coding。

    • Transform Coding的目标

      • 减少相邻信号的相关性
      • 使能量集中,高频信号与低频信号都会相对集中
    • Transfrom 本身没有任何压缩效果

    • Transform 的目的是为了做Quantization

    • 常见的Transfrom 方式:liner transforms,fourier transform,....

    上图是一个8 * 8的block,每一个格子相当于一个pixel。经过DCT后,仍然是一个8 * 8 的block ,但是不同的是,原本表示的是空间维度的值,转换后表示的是频率维度的值。

    高频部分集中在右下角,低频部分集中在左上角。高频部分表示不是很重要的数据,接着把高频部分的数据变成0,就会有一个不错的压缩效果。这就是Quantization要做的事情。

    Quantization Matrix 表示每一个DCT的数据要除以一个怎样的数。可以看到Matrix 左上角是比较小的,右下角是比较大的数。

    因为在DCT左上角是比较重要的数据,所以除以比较小的数,让失真没那么严重。右下角的数相对来说没那么重要,所以可以除以一个比较大的数。

    下图中的左图就是经过Quantization 后的DCT数据,可以看到右下角的数基本上都变为0。数据为0 的部分的压缩率将为变得非常高!

    接着把数据从二维变为一维。

    最后就是做Entropy encode ,得到的最终图片的数据。

    相关文章

      网友评论

          本文标题:视频 --- 压缩基础

          本文链接:https://www.haomeiwen.com/subject/rprikxtx.html