1. Intro

媒体(Media)是发布信息和表现信息的手段、方法、工具、设备或装置。

媒体的两种形式:

  • 感觉媒体:人——人或者人——机交换信息的形式。由于人们通过视觉、听觉器官等感知信息, 因此称为可感知形式;
  • 表示媒体:计算机内部或者机——机交换信息的形式。由于计算机以二进制编码的形式表示文字、图像、声音等,所以称为数字媒体形式。

2. Image

颜色模型

三要素:

  • 色调:颜色的外观,决定与光的波长
  • 饱和度:纯度/彩度,指彩色的深浅或鲜艳程度,通常指彩色中白光含量的多少
  • 亮度:表示某种颜色在人眼视觉上引起的明暗程度, 与光的强度有关

常见颜色模型:

  • RGB:000000为黑,ffffff为白
  • CMY:基于减色混合原理(Subtractive Color Model)建立的,主要用于描述反射光的颜色混合,即光被材料吸收后的剩余颜色。CMYCyan(青)、Magenta(品红)、Yellow(黄) 三种基本色的颜色模型。
    • 每种颜色吸收一部分光谱成分,剩下的成分被反射到我们的眼睛里。

抖动

“抖动”(Dithering)在图像处理、颜色量化和数字音频中是一个非常常见的概念。它的核心目的是在降低颜色(或位深)精度时,尽量减少视觉(或听觉)上的质量损失。用于解决在颜色个数有限的情况下的颜色输出问题的一种策略。

由于图像被压缩后某些地方分隔较为明显,为减少视觉误差,将压缩后图像与原图像误差分摊至各个周边格。

γ 纠正

γ 纠正是一种非线性亮度变换,它将图像的像素值(亮度)根据伽马曲线进行调整,使图像的明暗关系符合人眼视觉感知或显示器特性。纠正通常先将R变为$R^{1/γ}$

原因:

  • 人眼对亮度的感知是非线性的:对暗部较敏感,对亮部不敏感。
  • 显示器的响应也非线性:输入信号和实际亮度输出不是线性关系。

颜色删减

流行色算法:对彩色图像中所有色彩出现的次数进行统计分析,从而选取频率最高的N(256)种颜色,为这N(256)种颜色建立调色板。算法特点:算法简单容易实现,变换效果好,但一些出现频率较低,但对人眼视觉效果明显的信息将丢失。

八叉树颜色量化算法:见作业咯。

自然图像的表示

图像基本属性

  • 屏幕分辨率:屏幕显示的像素数目(px x px)。
  • 图像分辨率:图像的像素的密度,一般用单位长度上包含像素的个数来衡量(dpi, Dots Per Inch)。
  • 像素深度:存储每个像素所用的位数。
  • 调色板:颜色查找表,表中的每一行记录一组RGB值,实际像素的值用来指定该点颜色在查找表中的索引值。

合成图像的表示

使用算法或几何要素在计算机中对景物和形体进行描述。(造型modeling)
需要显示时,计算机根据观察者的位置及光线的设定,生成该景物的图象。(绘制rendering)

建模方法

  • 几何造型技术
    • 线框模型:用顶点和棱边来表示物体,由于没有面的信息,它不能表示表面含有曲面的物体。
    • 表面模型:用面的集合来表示物体,用环来定义面的边界。但无法计算和分析物体的整体性质,如物体的表面积、体积、重心等。
    • 实体模型:完整表示物体的所有形状信息,解决了表面模型无法确定是模型内还是模型外的问题。

样条曲线

样条曲线(Spline Curve)是一种在计算机图形学中常用的平滑曲线表示方法,它通过一组“控制点”来构造连续、光滑的曲线段。

基本思想:

  • 整条曲线由多个 低阶多项式曲线段拼接而成(通常为三次多项式)
  • 这些多项式在“接点”处满足光滑性条件,如:
    • 位置连续($C^0$)
    • 一阶导数连续($C^1$,切线方向一致)
    • 二阶导数连续($C^2$,曲率一致)

B样条:
基于基函数构造,可调性高,不一定经过所有点。系数B按照组合数二项式展开。

分形几何

分形几何(Fractal Geometry)是一种研究不规则形状和复杂结构的数学理论,它不同于传统欧几里得几何(直线、圆、立方体等规则形状),主要用于描述自然界中那些粗糙、零散、无限复杂的结构,比如云彩、树木、雪花、海岸线等。

分形物体特征

  • 每点处有无限细节 放大时逐步可见
  • 整体与局部特征之间的自相似性
  • 整体与局部都不能用传统的几何语言来描述

参数:

  • 缩放因子:$s \in (0,1)$ 是指每个子部分相对于整体在尺寸上的缩小倍数。
  • 子部分数目:这是指在缩放的情况下,需要多少个子部分可以拼出整个图形。例:科赫曲线每次迭代将一条线替换成 4 段小线段(都是原长度的 1/3),所以n=4。
  • 分形维数:这是衡量图形复杂度的维度,可以是非整数。

3. Video

模拟视频

随时间变化其内容的一组图象(24,25,30帧/秒)。

  • 逐行扫描(Progressive Scan),每一帧图像都从上到下,逐行依次扫描并显示。
  • 隔行扫描(Interlaced Scan),将一帧图像分成两场(field)显示,每次先显示一场,下一次再显示另一场,交错组成完整图像。
    PAL NTSC

在一个视频帧中,并不是所有的扫描线都被用来显示图像。模拟信号中需要添加一些同步和控制信息。
在老式电视系统中,图像是通过电子束在屏幕上从左到右、从上到下“扫描”出来的。为了让电子束每次回到正确的起点位置,就必须:

  • 知道什么时候该从左边重新开始 → 水平同步(行)
  • 知道什么时候该从顶部重新开始 → 垂直同步(帧)
  • 有足够时间“回扫” → 加入消隐(Blanking)时间
  • 避免图像跳动或撕裂 → 加入控制信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|<--- 一帧 --->|
-----------------------------------------------------
| 垂直同步区(Vertical Blanking Interval) |
| — 行 1-49:只含同步和控制信息(不可见) |
-----------------------------------------------------
| 有效图像区(Visible Lines) |
| — 行 50-625:包含图像数据,按行逐个扫描 |
-----------------------------------------------------

|<----一行---->|
--------------------------------------------------------
| 前沿消隐 | 同步脉冲 | 后沿消隐 | 有效图像数据 |
| 1 μs | 4.7 μs | 5.8 μs | ~52 μs |
--------------------------------------------------------

时间特性

  • 动作连贯性感觉的要求:帧频>=15f/s;
  • 无闪烁感觉的要求:画面刷新速率必须>=每秒50次。
    • PAL制式:帧频为25 帧/s, 场频50场/s;
    • NTSC制式:帧频是30(29.97) 帧/s, 场频是60(59.94)场/s。
  • 电视扫描信号的行频:
    • PAL:625 x 25 = 15.625 kHz ,周期为64μs;
    • NTSC:525 x 30 = 15.75 kHz,周期为63.5μs。
  • 光点数:
    • 575*(4/3)*575=440 kb (P)
    • 485*(4/3)*485=310 kb (N)
  • 最高频率:
    • 440 k * 25/2 = 5.5MHz(P)
    • 310 k * 30/2 = 4.65MHz(N)
  • 传输电视节目时的带宽:
    • PAL制式是8.0MHz(亮度信号为5.5 MHz,2个色度信号均为1.8 MHz)
    • NTSC制式是6.0MHz(亮度信号为4.2 MHz,2个色度信号均为1.0 MHz)

彩色空间

Y:亮度分量,C1,C2:色度分量,分别代表U,V(PAL)或者I,Q(NTSC)。
C1,C2描述了颜色相对于亮度 Y 的“偏移”。人眼对亮度敏感,对色差不敏感,所以视频压缩时可以只保留精细的 Y(明亮)数据;
YUV:表示蓝色成分/红色成分的偏离度(PAL)
YIQ:表示色彩亮度信息、细节色彩信息(NTSC)

另外,YCbCr是国际通用的CCIR601数字电视信号中使用的彩色空间,它由YUV彩色空间经过缩放和平移得到。

数字视频

易于编辑、修改等操作处理
用户接收的图像质量更好(可达演播室水平)
有利于存储,信息复制不会失真等。

亮度 & 色度信号的取样

人眼对亮度(明暗)特别敏感,而对色度(色彩细节)敏感度较低。
所以我们通常对亮度信号取更高的精度,对色度信号进行降采样,从而节省数据量,但感官质量影响不大。
每个Y、U、V约对应一个字节。

格式 含义(每 4 个 Y 点配多少 Cb/Cr) 特性说明
4:4:4 每 1 个 Y 对应 1 个 Cb + 1 个 Cr 完全无损色彩,文件大
4:2:2 每 2 个 Y 对应 1 个 Cb + 1 个 Cr 水平方向压缩一半,常用于广播
4:2:0 每 4 个 Y 对应 1 个 Cb + 1 个 Cr 水平+垂直都降采样,最常见
4:1:1 每 4 个 Y 对应 1 个 Cb + 1 个 Cr 仅水平降采样,画质更低

数字视频的记时

当使用失落帧时间码时,系统对除了每十分钟以外的每分钟的头两帧重新赋给序号。

  • 每分钟跳过(drop)两帧编号;
  • 每 10 分钟不跳帧;
    • 跳的是编号,比如:
    • 00:01:00:00 → 跳过了 00:01:00:00 和 00:01:00:01
    • 从 00:01:00:02 开始计数
      这样,虽然视频仍然播放全部帧,但时间码编号人为“失落”编号以保持与真实钟表时间一致。

合成视频(计算机动画)

计算机动画是在计算机中建立景物的模型、设置它们的运动、生成逼真图像并转换成视频信号的过程。

4. Audio

声音的数字化

模拟声音信号 -> 取样 -> 量化 -> 编码 -> 数字声音

Nyquist取样频率:采样一个模拟信号时,所需的最低采样频率为2倍最高频率。
假设一个音频信号中最高频率为 20kHz:
根据 Nyquist 定理,采样频率至少要:2×20kHz=40kHz
所以 CD 音频选择了 44.1 kHz 的采样率(语音 8 kHz ),就是为满足 Nyquist 要求并留一定余量。

信噪比和信号量化噪声比

量化是将连续值(模拟量)映射为有限个离散值(数字量)的过程。
假设模拟电压范围是 [0,1],用 2 位(二进制)表示,那只能表示 4 个等级:

电压范围 量化值
[0.00, 0.25) 00
[0.25, 0.50) 01
[0.50, 0.75) 10
[0.75, 1.00] 11

任何落入某段的值都会被映射为同一个量化值,比如 0.32→01,这就带来了 量化误差(或量化噪声)。

信噪比:SNR 信号的功率与噪声功率的比值,用来衡量有用信号在噪声中的“清晰程度”。

例如SNR = 10 dB:信号比噪声强 10 倍;SNR = 30 dB:信号比噪声强 1000 倍 → 更清晰;

信号量化噪声比:SQNR 专门衡量数字信号中,由于量化过程(A/D 转换)引入的噪声,相对于原始模拟信号的强度比。仅限量化误差。
理论值:

位深度(n) 理论 SQNR(dB)
8 位 ≈ 49.9 dB
16 位 ≈ 98.1 dB
24 位 ≈ 146.2 dB

非线性量化:将输入区间划分成不等宽的量化区间,让某些值的分辨率更高。
在数字化过程中,普通线性量化把输入范围平均分成等宽区间,但人类感知系统(尤其是听觉与视觉)对弱信号更敏感,对强信号不那么敏感。压缩函数对小值拉长、大值压缩,非线性弯曲。

合成语音

文语转换:将输入的自然语言文本,通过一系列处理步骤,最终合成出“可以听”的人类语音的过程。

文本 -> 文本分析与理解 -> 文本到发音的转换 & 韵律分析 -> 语音

合成音乐(乐器数字接口)

MIDI:乐器数字化接口。通过它,各种MIDI设备都可以准确传送MIDI信息。

5. Lossless Compress

基本概念

设信号源 $S = \{ s_1, s_2, \dots , s_n \}$ ,第 i 个符号的出现概率为 $p_i$ ,每个符号用 d 比特表示,则信号源的熵由下式定义:

含义说明:
如果某个符号$s_i$出现的概率越低,$p_i$越小,则其对应的信息量 越大(越稀有的信息越“新”)。
熵 H(S) 就是所有可能输出的平均信息量,反映了这个信源不确定性(或信息丰富程度)。

对于一种编码方法,设第i个符号的码字长度为Li,则该信号源的平均码字长度L为:

数据压缩

客观评价:

均方误差(MSE) 定义: 平均每个像素(或采样点)的误差平方。

I(i,j):原始图像或信号的像素值;
K(i,j):压缩恢复后的像素值;

信噪比(SNR, Signal-to-Noise Ratio) 定义:

信噪比是原始图像的信号能量与误差信号能量的比值,单位是 dB;
越高表示压缩误差越小,图像质量越高;

峰值信噪比(PSNR, Peak Signal-to-Noise Ratio) 定义:

$MAX_I$:图像的最大像素值(例如 8 位图像中为 255);
PSNR 是使用峰值像素值对 MSE 的度量;
单位是 dB,常用来评价图像压缩质量;

  • PSNR > 30 dB:质量较好;
  • PSNR > 40 dB:几乎无可察觉失真;
  • PSNR < 20 dB:压缩痕迹明显。

行程长度编码

检测符号序列中连续重复出现的符号,并使用其长度进行表示。因此,仅仅在游程长度>3时才有效益。

变长度编码

Shannon-Fano算法Huffman算法恰好相反。

对比点 Shannon-Fano Huffman
核心思想 概率划分(按概率递减排列并二分) 概率合并(每次合并最小两个)
编码树构造方式 自顶向下分裂 自底向上合并
是否保证最优编码 ❌ 不一定最优 ✅ 总是最优的前缀编码
算法复杂度 $O(n \log n)$ $O(n \log n)$

自适应Huffman编码

自适应Huffman编码解决了标准 Huffman 编码的一个局限:标准 Huffman 编码需要在编码前预先统计所有符号的频率,这在流式数据或频率未知的情况下不适用。自适应 Huffman 编码是一种在编码过程中实时构建 Huffman 树并进行更新的无损压缩算法。

  • 初始化 Huffman 树:初始时为空树或只含特殊符号(如 NYT = Not Yet Transmitted);
  • 逐个读取符号:
    • 如果符号未出现过:
      • 发送 NYT 的编码 + 该符号的原始二进制;
      • 插入该符号到树中;
    • 如果符号已出现:
      • 发送其当前 Huffman 编码;
  • 更新树结构:根据出现频率更新节点权重,并维护“兄弟属性”(sibling property),保证树仍是合法 Huffman 树。

字典编码

LZW 通过构建字符串字典,把重复的子串替换为代码,从而实现压缩。

  • 从输入中读取字符串 w;
  • 循环处理:
    • 令 k 为下一个字符;
    • 如果 w + k 在字典中 ⇒ 继续扩展 w ← w + k;
    • 如果不在字典中:
      • 输出 w 的编码;
      • 把 w + k 加入字典;
      • 令 w ← k;

例如:

a b b a b a b a c

1 2 2 4 7 3

S c output code string
1 a
2 b
3 c
a b 1 4 ab
b b 2 5 bb
b a 2 6 ba
a b / / /
ab a 4 7 aba
a b / / /
ab a / / /
aba c 7 8 abac
c eof 3 / /

解压缩

  • 第一个编码直接输出对应字符;
  • 从第二个编码起:
    • 找到当前编码对应的字符串 entry;
    • 将 entry 输出;
    • 用「上一个字符串 + entry 的第一个字符」作为新词条加入字典;
    • 更新上一个字符串为 entry。

例如:1 2 2 4 7 3

pre entry output code string
/ / / 1 a
/ / / 2 b
/ / / 3 c
/ a a / /
a b ab 4 ab
b b abb 5 bb
b ab abbab 6 ab
ab 特殊, pre + pre[0] = aba abbababa 7 aba
aba c abbababac 8 abac

编码流中可能会出现某个编号X,而这个编号X正好就是刚刚加进字典的 w+k。
但是解码器在收到 X 时,还没来得及加入 w + k,就无法解出它。
用上一个解出的字符串 w 加上它的第一个字符 w[0] 作为该编号的字符串值。
这个正是 LZW 解码的「特殊情况处理机制」,也被称作 “LZW 简单法失效的处理方法”。

算术编码

算术编码不是为每个符号分配一个整数编码,而是将整个消息编码为一个 区间上的一个实数(通常是 [0, 1) 区间上的小数)。
每添加一个字符,就不断缩小当前的区间,直到所有字符处理完毕。最后,用该区间内的任意一个数来表示整个消息。

Arithmetic Coding

无损图像压缩

用像素周围的邻域像素对当前像素进行预测,然后仅编码“真实值 - 预测值”之间的差(残差),这些差值通常较小,便于压缩。

6. Lossy Compress

变换编码

把原始图像表示方式“转换”成另一种更容易压缩的形式,使其能量更加集中,然后再对变换后的数据进行压缩(如量化与熵编码)。

离散余弦变换 DCT

将图像划块 → 用 DCT 把每块变换成频率系数 → 再量化并编码这些系数。

考了立刻紫砂。

小波变换 DWT

什么是小波:一种函数:具有有限的持续时间、突变的频率和振幅波形。可以是不规则的,也可以是不对称的。在整个时间范围里的幅度平均值为零。

Haar 小波变换就是把一串数 两两分组,分别计算它们的 平均值(低频) 和 差值(高频),不断对平均值做同样的处理,直到达到预定层数。最终处于 LL 包含了大部分图像信息。

Multi-DWT

嵌入零树小波系数 EZW

EZW 利用了小波变换后图像系数的层级结构,在高频区域中,如果一个系数为零,那么它的“后代”往往也很小或为零。EZW 就将这些“全为零”的结构用一棵树统一标记,从而大幅压缩数据,是 JPEG2000 的前身技术之一。

  • 从最大绝对值 $T = 2^n$ 开始,每次减半;
  • 对每个系数进行分类:
    • POS(正):值 ≥ +T;
    • NEG(负):值 ≤ −T;
    • ZTR(零树根):自己和所有子孙都 < T;
    • IZ(孤立零):自己 < T,但有大于 T 的子孙;
34 -1 21 -18
4 2 10 8
15 4 14 11
3 -4 1 -16

第一轮:PTTT,阈值32
第二轮:zztz pntt tttn,阈值16

7. Jpeg

JPEG (ISO /IEC 10918)

基于DCT的顺序编码

jpeg coding

  • 将原始 RGB 图像转换为 YCbCr 空间(或YIQ, YUV)
  • 下采样,色度分量 Cb、Cr 会进行下采样(如 4:2:0),降低分辨率以减小数据量
  • 将每个分量分成 8×8 的图像块(MCU:最小编码单元),单独压缩。
  • 对每个 8×8 块做 二维 DCT(离散余弦变换)
    • 左上低频(主要),右下高频(细节噪声)
    • 变换前需要对像素值进行电平偏移,即$[0, 2^P-1] → [-2^P-1, 2^{P-1} -1]$
    • 变换后, 得到的F(u,v)其动态范围是:$[-2^{P+2} -1, 2^{P+2} -1]$
  • 使用量化表将 DCT 系数进行有损压缩
    • Q为预先设置好的量化矩阵值
    • 量化值$QF(u, v) = round\left[ \frac{F(u, v)}{Q(u, v)} \right]$
    • Q矩阵左上角(低频)数字小,能够保留更多信息,右下角(高频)相反
  • Zigzag 扫描
    • 直流系数:F(0, 0)的值
      • 一幅图象的所有直流系数使用DPCM编码
      • 如果直流系数是150, 155, 149, 152, 144,则差分后的结果为 :150,5,-6,3,-8
    • 交流系数:其余 63 个 DCT 系数(除 F(0,0) 外的全部)
      • 表示图像块中亮度或色彩的细节(中高频),多为小数甚至0,更容易压缩
      • 使用Zigzag 扫描 + 游程长度编码(RLE)
      • 在JPEG中,只记录非零值,例如:3, 0, 0, 2, 0, 0, 0, 0, 0, -1, 0, … (很多 0)
      • 最后记录为[(0, 3), (2, 2), (5, -1), (0, 0)]
RUNLENGTH SIZE 对应值 含义
0 2 3 直接是 3
2 2 2 跳过2个0,再是2
5 1 -1 跳过5个0,再是-1
0 0 End of Block
  • VLI编码
    • VLI 不压缩,但为后续的哈夫曼编码提供了“位数级别”信息
    • 直流:将差分值的二进制位数查表哈夫曼编码,将差分值VLI编码
      • 例如值122,先前DC值120,则差分为2,码长2位,查表011,二进制值10
      • [DC] Huffman(SIZE=2): 011, VLI: 10 ⇒ 总输出:011 10
    • 交流:
      • 将(行程,值)键值对增为((行程,值的码长),值),将(行程,值的码长)查表
      • 例如(0, 4),增为((0, 3), 4)
      • [AC] Huffman(0,3): 1001, VLI(4): 100 ⇒ 1001 100
      • 码表有长度上限,因此(0, 0)代表结束,而(F, 0)代表连续16个0
  • 熵编码无损压(如哈夫曼编码)

DCT_based 层次编码

目的:高分辨率图像在任意分辨率设备上输出(scalable).
算法:

  • 1.把原始图象分辨率逐级降低(subsampling),得到一组分辨率由低到高的图象;
  • 2.把分辨率最低的图象进行JPEG压缩编码;
  • 3.解码,重建该图象。然后用插值方法提高其分辨率,作为高一级分辨率原始图象的预测图象;
  • 4.求出预测图象与相应原始图象的差值图象,对差值图象进行JPEG压缩编码;
  • 5.重复3和4,直到达到原始图象最高分辨率为止.

压缩比和图像质量

压缩比(CR)
CR=原始图象的数据量/压缩后图象的数据量
压缩后图象象素的比特数=原始图象象素的比特数/CR

JPEG2000 (ISO15444)

DCT-based 层次编码、渐进式编码、游程编码、VLI 等,几乎全部属于 JPEG 标准(ISO/IEC 10918) 的范畴。而 JPEG2000(ISO/IEC 15444) 是它的“升级版”,采用完全不同的技术路线。
JPEG 2000 的编解码过程是建立在小波变换(DWT)+ 零树编码 + 算术编码基础之上的,与传统 JPEG(基于 DCT 的块状处理)完全不同。

复习不动了跳过这一部分吧又臭又长

8. Video Compress

概述

  • ITU-T标准
    • 用于ISDN视频会议的 H.261(Px64)标准
    • 用于PSTN可视电话的 H.263标准
    • 用于ATM/B-ISDN视频会议的 H.262标准
  • ISO/IEC 国际标准
    • 用于VCD的ISO 11172(MPEG-1 video)标准
    • 用于数字电视和DVD的ISO/IEC 13818(MPEG-2 video) 标准
    • 用于交互式多媒体应用的视听编码标准 MPEG-4
  • 企业(公司)标准: AVI, QuickTime, RealVideo
名称 分辨率(横 × 纵) 像素总数
1K 720p 1280 × 720 ≈ 92 万像素
2K 1080p 1920 × 1080 ≈ 207 万像素
4K UHD 3840 × 2160(UHD) ≈ 830 万像素
8K UHD 7680 × 4320 ≈ 3310 万像素

视频流码率:

视频压缩的基本方法:

  • 在空间域:
    • 采用JPEG(Joint Photographic Experts Group)压缩算法来去掉画面内部的冗余信息。
  • 在时间域:
    • 采用运动补偿(motion compensation)算法来去掉画面之间的冗余信息。

运动补偿

很多相邻帧之间只有部分区域发生轻微移动(如人走动、镜头摇动),其余部分几乎没有变化。
所以没必要每帧都全部重新编码,可以只描述“变化”。用前一帧(参考帧)中的某一图像块,加上位移信息,来预测当前帧中的图像块。

  • 分块
    • 划分宏块
    • 对每个宏块:在前一帧中搜索最相似的块,找出一个最小差异的位置
  • 生成运动矢量
    • 假设当前块与前一帧中的某块差异最小
    • 用一个矢量 (dx, dy) 表示从参考帧块到当前块的移动
  • 记录差值
    • 用参考帧中位移后的块来预测当前块
    • 将预测与实际图像的差值(residual)记录下来(并压缩)

对于这个差值,便是运动矢量。其算法便是为了找到最合适的矢量(dx, dy)。最佳匹配准则(“方差和”最小或“绝对误差和”最小)

H.261

目标:为ISDN 网络上的视频电话/会议设计

H.263

目的:替代 H.261,改进低比特率下的视频质量

9. MPEG

MPEG概述

MPEG-1、MPEG-2、MPEG-4 是由国际标准组织 MPEG(Moving Picture Experts Group,动态图像专家组)制定的不同代的视频和音频压缩标准。

  • I帧(Intra):独立帧
  • P帧(Predictive):预测帧
  • B帧(Bidirectional):双向预测帧
  • DC(DC-only)帧:只包含 DCT 变换中 DC 系数的帧,丢弃 AC 分量

MPEG-1

为VCD(视频光盘)和CD-ROM视频播放设计的标准
代表应用:

  • Video CD(VCD)
  • MP3(MPEG-1 Audio Layer III)

MPEG-2

为电视广播、DVD、高清电视等更高质量需求而设计
代表应用:

  • 数字电视(DVB、ATSC、ISDB)
  • DVD 视频
  • 蓝光光盘(低码率版本)

MPEG-4

支持网络视频传输、低码率、高压缩率
代表应用:

  • H.264 是 MPEG-4 Part 10(使用最广泛的视频编码格式)
  • MP4 容器格式(.mp4)

10. Audio Compress

语音压缩编码

数字语音的波形编码

CCITT G.711(脉冲编码调制)
模拟语音信号 -> 取样(8kHz) -> 量化 -> 对数变换压缩

对数变换
目的 : 适应听觉的非线性特性;压缩数据。

ADPCM自适应差分脉冲编码调制
不直接编码原始信号,而是编码当前样本值与预测值之间的差值,并根据信号变化自适应地调整量化器的步长。
原理:

  • 声音信号具有很强的相关性,可从已知信号来预测未知信号, 即使用前面的样本预测当前的样本,实际样本值与预测值之间的误差往往很小。
  • 利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值,

数字语音的参数编码

数字语音的混合编码

全频带声音编码

听觉系统的感知特性

MPEG-1 Audio

其他全频带声音编码