• 视频编码原理补(H264)


    补充

    前面说了各种 为啥编码 编码步骤 尝试按照一个逻辑串一下

    首先 人眼对于亮度信息更加敏感,而对于色度信息稍弱,所以视频编码是将 Y 分量和 UV 分量分开来编码的。 这是用YUV 的原因 但是为啥不用RGB呢? 因为RGB的三个颜色之间具有相关性

    其次 在知道 4种冗余
    空间冗余: 相邻的比较相似
    时间冗余 :相邻帧之间比较相似
    视觉冗余: 人的眼睛对于图像中高频信息的敏感度是小于低频信息的。有的时候去除图像中的一些高频信息,人眼看起来跟不去除高频信息差别不大,这种叫做视觉冗余。
    信息熵冗余:如何编码 图片让他最小

    其次 前面的编码能不能采用一些操作 来为了信息熵冗余 提供一些遍历呢? 多0 就行 为啥?因为在很多编码算法中 0 有时候甚至可以用1 位来保存 。

    内容如下

    我们发现如果想要达到压缩的目的,我们必须要使得编码前的字符串中出现比较多连续相同的字符。这对于图像块也是一样的。我们需要使得扫描出来的“像素串”,也尽量出现连续相同的像素值,最好是一连串数字很小(比如 0)的“像素串”,因为 0 在二进制中只占 1 个位就可以了。这个地方你可能会有疑惑,0 也是至少要一个字节存储,需要 8 个位,怎么会是 1 个位呢?这个有的编码算法是可以做到的,比如指数哥伦布编码,它就可以做到 0 只占用一个位。事实上,算术编码可以做到一个符号只占用 0 点几个位,连一个位都不用,这里不详细展开了,感兴趣的话你可以去查阅下资料。

    那我们如何做到将这串像素值变成有很多 0 的“像素串”呢?
    首先第一步,我们通过减少图像块的空间冗余和时间冗余来接近这个目标

    就连贯起来了 如图所示

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 相关阅读:
    python常见面试题五
    理想之光不灭
    Linux进程间通信
    CPP语法(六)——函数模板
    算法工程题(二叉树递归)
    RowHammer 攻击:内存的隐形威胁
    linux杀毒软件clamav安装
    【小程序源码】多功能起名查重工具
    C语言实验六 一维数组程序设计
    LayerNorm的图是不是画错了
  • 原文地址:https://blog.csdn.net/qq_33329316/article/details/124969688