AI视觉领域流媒体知识入门介绍(二):深入理解GOP

GOP(group of pictures)

在流行的视频编码算法中,都包含GOP这个概念,例如MPEG-2, H.264, and H.265。

背景

关于视频存储和传输的"size":

|---------------------------|---------------------------------------|
| Resolution 分辨率 | Uncompressed Bitrate 未压缩时的比特率 |
| 1280×720 (720p) | ~ 1.5 Gbps |
| 1920×1080 (1080p) | ~ 3 Gbps |
| 3180 x 2160 (2160p or 4K) | ~ 12 Gbps |

试想,要传输一个4k的视频,比特率高达12Gbps,而我们普通家用的带宽也就几百Mbps,根本无法传输,即使传过来了,播放效果基本就是PPT。。。

视频压缩

既然原始视频码率太高无法传输,那自然想到可以先进行数据压缩,减小体积后再传输。

通常是压缩到1-20 Mbps这个范围。

视频压缩的基本原理

在一系列图像中找到并消除冗余。

例如新闻广播,每一帧视频通常与之前和之后的视频非常相似。新闻广播员说话时嘴唇可能会移动,信息可能会沿着屏幕底部滚动,但图像的很大一部分在每一帧之间要么相同,要么非常相似。

那这些重复的/非常相似的像素,完全没必要传输,这样就能起到压缩视频的效果了。

时间压缩

根据上述规律,可以先发送一个包含全部信息的关键帧,后续的帧就只发送与之前的关键帧不一样的地方。接收方收到数据后,通过已经接收到的关键帧+差别数据,就可以"恢复"出原帧。(当然这里的恢复不是100%还原,而是有损的)

这种利用帧的时间先后顺序的方法,属于时间压缩类算法。

空间压缩

思路一脉相承,只不过这次是在同一张图片内部找到并消除重复数据。

例如大部分国家的国旗图片,上面都是大面积的相同颜色,完全可以消除重复。

JPEG格式的图片也是用的类似的方法。

再谈GOP

GOP就是两个关键帧之间的距离。

为什么需要多个关键帧,而不是只发送视频的第一个关键帧即可?

  1. 用户是随机开始播放的,并一定是从头开始

  2. 若场景变化很大,和最开始的关键帧相比,几乎没什么冗余的部分,此时压缩已经没有意义了

  3. 中间再次发送新的关键帧,也能纠正传输错误、误差等,增强了可控制性

关键帧的另一个名字: Intra-coded frame(帧内编码帧,简称I帧)

这种帧在解码时,不依赖其他帧,因此称为"帧内"。

预测帧:Predicted frame,简称P帧

P帧携带的是与前一帧相比,差异的地方。

它既利用了时间压缩,也使用了图片内部的空间压缩。

为什么叫预测帧?预测了与前一帧的变化(具体要深入实际的编码算法)

双向预测帧:Bi-directional Predicted frame,简称B帧

B帧的压缩效果更好,因为它仅携带和前+后两帧之间的差异部分。

如何找到与未来帧之间的差异呢?

很简单,编码器先缓存一部分帧,这样就知道未来帧是啥了

最后总结一下

GOP表示每多少帧发送一个I帧

I帧可以直接被解码,不依赖外部

P帧解码需要依赖前一个P帧or I帧

B帧解码通常依赖前和后一个I帧 or P帧

下图中的两个B帧,按FIFO解码

注意:帧的显示顺序,和帧实际被解码的顺序是不一样的。

相关阅读:

AI视觉领域流媒体知识入门介绍(一)-CSDN博客

相关推荐
ar01236 小时前
AR远程协助作用
人工智能·ar
北京青翼科技7 小时前
PCIe接口-高速模拟采集—高性能计算卡-青翼科技高品质军工级数据采集板-打造专业工业核心板
图像处理·人工智能·fpga开发·信号处理·智能硬件
软件聚导航7 小时前
马年、我用AI写了个“打工了马” 小程序
人工智能·ui·微信小程序
陈天伟教授8 小时前
人工智能应用-机器听觉:7. 统计合成法
人工智能·语音识别
笨蛋不要掉眼泪8 小时前
Spring Boot集成LangChain4j:与大模型对话的极速入门
java·人工智能·后端·spring·langchain
昨夜见军贴06168 小时前
IACheck AI审核技术赋能消费认证:为智能宠物喂食器TELEC报告构筑智能合规防线
人工智能·宠物
DisonTangor8 小时前
阿里开源语音识别模型——Qwen3-ASR
人工智能·开源·语音识别
万事ONES9 小时前
ONES 签约北京高级别自动驾驶示范区专设国有运营平台——北京车网
人工智能·机器学习·自动驾驶
qyr67899 小时前
深度解析:3D细胞培养透明化试剂供应链与主要制造商分布
大数据·人工智能·3d·市场分析·市场报告·3d细胞培养·细胞培养
软件开发技术深度爱好者9 小时前
浅谈人工智能(AI)对个人发展的影响
人工智能