视频压缩压缩的是什么信息--帧内压缩与帧间压缩原理

#####为了更好地理解这个概念,让我们把它想象一下。

当一起玩时,它们模拟运动。然而,在这30帧(称为GOP,图像组)内,帧与帧之间的元素几乎保持不变。意识到这一点,引入了帧间来删除冗余数据。基本上减少了用于传达元素在帧中没有变化的数据。

这是一个被抛出和尖刺的排球的静止图像。在这个例子中有相当多的运动,排球被抛出,球被尖刺,沙子飞扬,元素像树木和水一样从风中移动。无论如何,有些部分可以重复使用,特别是天空区域。这些在封闭区域中可见,因为这些元素不会改变。因此,不是花费宝贵的数据来传达天空的某些部分没有改变,而是简单地重复使用它们以节省空间。因此,只有视频的以下元素实际上在本系列的帧之间发生变化。

1. 分块(MacroBlocking) 将图片划分成多个宏块(macro blocks),典型的宏块由一个 16×16 的亮度像素(luma pixel)块和两个 8×8 的色度像素(chroma pixel)块组成。分块越小,预测越准,需要记录的信息也越多。一般来说,细节越丰富的地方,分块越细,即使用 4×4 分块预测。细节相对不丰富的地方使用 16×16 分块。(这一过程相当于 JPEG 编码中的色彩空间转换)

图3.1-分块

2. 帧内预测 WebP 有损压缩使用了帧内预测编码,这一技术也被用于 VP8 视频编码中的关键帧压缩。VP8 有四种常见的帧内预测模型。

  • H_PRED(horizontal prediction) 像素块中每一行使用其左边一列(col L)的数据填充(如图3.2 Horizontal)
  • V_PRED (vertical prediction) 像素块中每一列使用其上边一行(row A)的数据填充(如图3.2 Vertical)
  • DC_PRED (DC prediction) 像素块中每个单元使用 row A 和 col L 的所有像素的平均值填充(如图3.2 Average)
  • TM_PRED (TrueMotion prediction) 一种我还没搞清楚的预测模式,比较接近真实数据

下图展示了 4×4 分块的所有帧内预测模型

1.4 帧间压缩( I帧,P帧,B帧和GOP)

我们来看一下例子,下面是捕获的一组运动的台球的视频帧,台球从右上角滚到了左下角。

对于视频数据主要有两类数据冗余,一类是时间上的数据冗余,另一类是空间上的数据冗余。其中时间上的数据冗余是最大的。下面我们就先来说说视频数据时间上的冗余问题。

为什么说时间上的冗余是最大的呢?假设摄像头每秒抓取30帧,这30帧的数据大部分情况下都是相关联的。也有可能不止30帧的的数据,可能几十帧,上百帧的数据都是关联特别密切的。对于这些关联特别密切的帧,其实我们只需要保存一帧的数据,其它帧都可以通过这一帧再按某种规则预测出来,所以说视频数据在时间上的冗余是最多的。

H264编码器会按顺序,每次取出两幅相邻的帧进行宏块比较,计算两帧的相似度。如下图:

通过宏块扫描与宏块搜索可以发现这两个帧的关联度是非常高的。进而发现这一组帧的关联度都是非常高的。因此,上面这几帧就可以划分为一组。其算法是:在相邻几幅图像画面中,一般有差别的像素只有10%以内的点,亮度差值变化不超过2%,而色度差值的变化只有1%以内,我们认为这样的图可以分到一组。在这样一组帧中,经过编码后,我们只保留第一帖的完整数据,其它帧都通过参考上一帧计算出来。我们称第一帧为IDR/I帧,其它帧我们称为P/B帧,这样编码后的数据帧组我们称为GOP。

  • I帧:关键帧,采用帧内压缩技术。

  • P帧:向前参考帧,在压缩时,只参考前面已经处理的帧。采用帧音压缩技术。

  • B帧:双向参考帧,在压缩时,它即参考前而的帧,又参考它后面的帧。采用帧间压缩技术。

  • GOP:两个I帧之间是一个图像序列,在一个图像序列中只有一个I帧。如下图所示:

关于我

更多信息可以点击关于我 , 非常希望和大家一起交流 , 共同进步

最后

在这里小编整理了一份Android大厂常见面试题,和一些Android架构视频解析,都已整理成文档,全部都已打包好了,希望能够对大家有所帮助,在面试中能顺利通过。

image

image

喜欢本文的话,不妨顺手给我点个小赞、评论区留言或者转发支持一下呗

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》点击传送门,即可获取!
试真题+项目实战源码》点击传送门,即可获取!**

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值