前置知识: 计算机基础

多媒体技术

7 minIntermediate2026/6/14

多媒体技术:音频编码、图像压缩、视频编码、流媒体与多媒体网络

1. 音频编码

1.1 音频基础

  • 采样率:每秒采样次数(CD:44.1kHz)
  • 量化位数:每个采样的精度(CD:16位)
  • 声道数:单声道/立体声

Nyquist 定理:采样率必须大于信号最高频率的2倍:

fs2×fmaxf_s \geq 2 \times f_{max}

CD 音质数据率:

44100×16×2=1411.2 kbps44100 \times 16 \times 2 = 1411.2 \text{ kbps}

1.2 音频编码算法

编码器比特率质量
PCM无损1411 kbps原始
FLAC无损压缩~700 kbps原始
MP3有损128~320 kbps
AAC有损96~256 kbps优于MP3
Opus有损6~510 kbps最优

1.3 感知编码

利用人耳的掩蔽效应:

  • 频域掩蔽:强信号掩盖附近的弱信号
  • 时域掩蔽:强信号前后一定时间内的弱信号不可感知

压缩比=原始比特率编码比特率\text{压缩比} = \frac{\text{原始比特率}}{\text{编码比特率}}

2. 像压缩

2.1 色彩空间

RGB:红绿蓝三原色,用于显示。

YCbCr:亮度+色度,用于压缩:

Y=0.299R+0.587G+0.114BY = 0.299R + 0.587G + 0.114B

Cb=0.564(BY)Cb = 0.564(B - Y)

Cr=0.713(RY)Cr = 0.713(R - Y)

人眼对亮度更敏感,可对色度进行下采样(4:2:0)。

2.2 JPEG 编码

  1. 颜色转换:RGB → YCbCr
  2. 色度下采样:4:2:0
  3. 分块 DCT:8×8 块离散余弦变换
  4. 量化:除以量化表,取整(信息损失主要来源)
  5. 熵编码:Zigzag 扫描 + Huffman 编码

DCT 变换

F(u,v)=14C(u)C(v)x=07y=07f(x,y)cos(2x+1)uπ16cos(2y+1)vπ16F(u,v) = \frac{1}{4}C(u)C(v)\sum_{x=0}^{7}\sum_{y=0}^{7}f(x,y)\cos\frac{(2x+1)u\pi}{16}\cos\frac{(2y+1)v\pi}{16}

量化步长越大,压缩比越高,质量越低。

2.3 现代像格式

格式压缩方式特点
JPEGDCT + 量化有损,兼容性好
PNGDEFLATE无损,支持透明
WebPVP8/VP8L有损/无损,比JPEG小30%
AVIFAV1有损/无损,比JPEG小50%
JPEG XL多种有损/无损,向后兼容

3. 视频编码

3.1 视频编码原理

视频压缩利用三种冗余:

  • 空间冗余:帧内像素的相关性
  • 时间冗余:帧间像素的相关性
  • 统计冗余:符号出现的概率不均匀

3.2 帧

说明压缩率
I帧(关键帧)独立编码
P帧(预测帧)前向预测
B帧(双向帧)双向预测

GOP(Group of Pictures)

I B B P B B P B B P B B I
│         │             │
└─ GOP ───┘             └─ 新 GOP

3.3 运动估计

在参考帧中搜索最匹配的块:

SAD=i,jC(i,j)R(i+dx,j+dy)\text{SAD} = \sum_{i,j}|C(i,j) - R(i+dx, j+dy)|

运动矢量 (dx,dy)(dx, dy) 使 SAD 最小。

搜索算法:

算法搜索点数质量
全搜索(2p+1)2(2p+1)^2最优
三步搜索1+9+9+9=281+9+9+9=28良好
菱形搜索~20良好

3.4 编码标准演进

标准年份压缩效率特点
H.264/AVC2003基准广泛兼容
H.265/HEVC2013~50%提升4K/8K
AV12018~30%优于HEVC开源免费
H.266/VVC2020~50%优于HEVC最新标准

3.5 码率控制

CBR(恒定比特率):码率恒定,质量波动。

VBR(可变比特率):质量恒定,码率波动。

ABR(平均比特率):目标平均码率,允许波动。

CQ/VBR with cap:质量优先,设置码率上限。

4. 流媒体技术

4.1 流媒体协议

协议延迟适用场景
RTMP推流1~3s直播推流
HLS拉流10~30s点播/直播
DASH拉流10~30s点播/直播
WebRTCP2P<1s实时通信
SRT推拉流1~3s远程制作

4.2 HLS 工作流程

1. 编码器生成不同质量的分段(.ts)
2. 生成播放列表(.m3u8)
3. 客户端下载播放列表
4. 根据带宽选择质量级别
5. 下载并播放分段

自适应码率(ABR)

选择质量=f(当前带宽,缓冲区状态,历史吞吐量)\text{选择质量} = f(\text{当前带宽}, \text{缓冲区状态}, \text{历史吞吐量})

4.3 低延迟直播

LL-HLS:HLS 的低延迟扩展,支持部分分段传输。

WebRTC

  • ICE(交互式连接建立):NAT 穿越
  • DTLS:安全传输
  • SRTP:安全实时传输
  • SCTP:数据通道

5. 多媒体网络

5.1 QoS 需求

媒体带宽延迟抖动丢包
语音8~64 kbps<150ms<30ms<1%
视频1~20 Mbps<200ms<50ms<0.1%
流媒体2~25 Mbps<5s不敏感不敏感

5.2 RTP/RTCP

RTP(实时传输协议)

  • 承载媒体数据
  • 包含时间戳、序列号、载荷
  • 通常基于 UDP

RTCP(RTP 控制协议)

  • 传输统计信息
  • 发送者报告(SR)
  • 接收者报告(RR)
  • 用于自适应码率调整

5.3 FEC 与重传

前向纠错(FEC):添加冗余数据,无需反馈。

FEC 开销=冗余包数总包数\text{FEC 开销} = \frac{\text{冗余包数}}{\text{总包数}}

自动重传(ARQ):请求重传丢失的包,增加延迟。

混合方案:对延迟敏感的用 FEC,对延迟不敏感的用 ARQ。