📄 一句话概括
音频与视频都靠压缩,但压缩比差一个数量级——根源是视频多了【时间冗余】这一类,相邻两帧差别不到 5%。
📝 本节和前面几节的关系
第四章讲了音频、第五章讲了视频,第六章把两者的压缩原理抽出来一起看。这一节先立总纲。
一、为什么要把两者放一起讲
前面两章分开讲音频与视频,但那只是表面的分法。 从压缩的角度看,它们用的是同一套工具箱:预测、变换、量化、熵编码。 差别只在于视频多了一类冗余可以用——所以放在一起讲,反而更容易看清结构。
二、两条压缩曲线
音频:CD 音质 1411 kbps → 128 kbps,约 11 倍。 视频:1080p30 未压缩 1493 Mbps → 8 Mbps,约 187 倍。 4K30 更夸张:5972 Mbps → 16 Mbps,约 373 倍。 同样叫【压缩】,量级差了十几倍——这个差距必须解释清楚,否则容易记错。
三、差距的来源
关键在于冗余的种类不同: 音频只有统计冗余(相邻采样相关)与感知冗余(听不见的部分)。 视频在两者之外,还多了【时间冗余】——相邻帧里同一位置的像素几乎一样。 时间冗余的量级最大:一秒 30 帧里,95% 的像素在上下一帧是同一个东西。
四、本章的路线
这一章按【由总到分】的顺序展开: 6.2 先分无损与有损两大类——这是所有压缩的第一刀。 6.3 讲四类关键技术:预测、变换、量化、熵编码。 6.4 专门讲视频特有的帧内与帧间编码。 6.5 收在三个具体结构上:帧类型、GOP、时间戳。
五、动手 Demo:两种媒体,压缩比差一个数量级
音频和视频都靠压缩,但能压到的程度差一个数量级。
rows = [("音频 CD", "1411 kbps", "128 kbps", "11 : 1"),
("视频 1080p30", "1493 Mbps", "8 Mbps", "187 : 1"),
("视频 4K30", "5972 Mbps", "16 Mbps", "373 : 1")]
for a, b, c, d in rows:
print("%-12s %-11s %-10s %s" % (a, b, c, d))
实跑输出:
--------------------------------------------------------------------
两种媒体,压缩比差一个数量级
--------------------------------------------------------------------
音频和视频都靠压缩,但能压到的程度差一个数量级。
媒体 原始 压缩后 压缩比
----------------------------------------------------
音频 CD 1411 kbps 128 kbps 11 : 1
视频 1080p30 1493 Mbps 8 Mbps 187 : 1
视频 4K30 5972 Mbps 16 Mbps 373 : 1
差距的根源:**视频多了【时间冗余】这一类**——
相邻两帧差别不到 5%,音频没有这么强的重复。
所以【压缩】这件事,**两种媒体要分开讲**。
差距的根源:视频多了【时间冗余】这一类—— 相邻两帧差别不到 5%,音频没有这么强的重复。 所以【压缩】这件事,两种媒体要分开讲。
30 秒实验
- 查一下你手上音频与视频的原始大小估算,以及压缩后的实际大小。
- 各算一个压缩比,对比这两个数字。
常见误区
- 以为音频压缩与视频压缩【方法一样】。工具箱一样,但可用的冗余不同。
- 用音频的压缩比去估计视频。会低估一个数量级。
自测三问(点开对答案)
1. 音频与视频的压缩比大概各是多少? —— 音频约 10~20 倍,视频约 200~400 倍。 2. 差距的根源是什么? —— 视频多了时间冗余这一类,相邻帧重复度极高。 3. 本章的四段路线是什么? —— 分类(6.2)、关键技术(6.3)、帧内帧间(6.4)、三个具体结构(6.5)。- ☐ 下一节(6.2.1 无损压缩)
相关笔记
- 无损压缩 — 第一刀怎么切
- 视频编码基础知识 — 视频的四类冗余
- 音频压缩 — 音频那边的两条天花板
- 🎬 FFmpeg入门详解 · 索引