📊 基础知识可视化

通过流程图、树图、表格等可视化方式理解视频处理核心概念

1. 视频基本概念

视频参数关系图
graph TD
    A[视频 Video] --> B[帧率 FPS]
    A --> C[分辨率 Resolution]
    A --> D[码率 Bitrate]
    A --> E[长宽比 Aspect Ratio]
    A --> F[像素深度 Bit Depth]
    
    B --> B1[24fps - 电影]
    B --> B2[30fps - 电视]
    B --> B3[60fps - 游戏]
    
    C --> C1[720p 1280×720]
    C --> C2[1080p 1920×1080]
    C --> C3[4K 3840×2160]
    
    D --> D1[影响质量与文件大小]
    D --> D2[单位: bps/kbps/Mbps]
    
    E --> E1[16:9 宽屏]
    E --> E2[4:3 传统]
    E --> E3[21:9 超宽]
    
    F --> F1[8-bit 标准]
    F --> F2[10-bit HDR]
    F --> F3[12-bit 专业]
                            
参数 定义 常见值 影响
帧率 (FPS) 每秒显示帧数 24/30/60/120 流畅度、文件大小
分辨率 视频空间尺寸 720p/1080p/4K/8K 清晰度、文件大小
码率 每秒数据量 1-50+ Mbps 画质、文件大小
像素深度 每像素位数 8/10/12 bit 色彩精度

2. 色彩空间与转换

RGB 色彩空间

  • 加色模型
  • R(红) + G(绿) + B(蓝)
  • 适合显示设备
  • 真彩色: 24-bit (8×3)

YUV/YCbCr 色彩空间

  • 亮色分离模型
  • Y: 亮度 (Luma)
  • U/V: 色度 (Chroma)
  • 适合视频压缩
RGB ↔ YUV 转换流程
flowchart LR
    subgraph RGB["RGB色彩空间"]
        R[Red 红]
        G[Green 绿]
        B[Blue 蓝]
    end
    
    subgraph Convert["色彩空间转换"]
        F1[BT.601 标清]
        F2[BT.709 高清]
        F3[BT.2020 超高清]
    end
    
    subgraph YUV["YUV色彩空间"]
        Y[Luma 亮度]
        U[Chroma-U 蓝色色度]
        V[Chroma-V 红色色度]
    end
    
    RGB --> Convert
    Convert --> YUV
    
    style RGB fill:#e3f2fd
    style YUV fill:#f3e5f5
    style Convert fill:#fff9c4
                            

📝 RGB → YUV 转换公式 (BT.601)

Y  = 0.299R + 0.587G + 0.114B
U  = -0.169R - 0.331G + 0.500B + 128
V  = 0.500R - 0.419G - 0.081B + 128
色度采样格式对比
graph TB
    A[色度采样 Chroma Subsampling] --> B[4:4:4]
    A --> C[4:2:2]
    A --> D[4:2:0]
    A --> E[4:1:1]
    
    B --> B1[无色度采样]
    B --> B2[最高质量]
    B --> B3[专业后期]
    
    C --> C1[水平采样减半]
    C --> C2[高质量]
    C --> C3[专业视频]
    
    D --> D1[水平垂直各减半]
    D --> D2[最常用]
    D --> D3[消费级视频]
    
    E --> E1[水平采样1/4]
    E --> E2[最低质量]
    E --> E3[视频会议]
                            

3. 容器格式与编码格式

容器 vs 编码 区别
graph LR
    A[视频文件] --> B[容器 Container]
    B --> C[视频流 Video Stream]
    B --> D[音频流 Audio Stream]
    B --> E[字幕 Subtitles]
    B --> F[元数据 Metadata]
    
    C --> G[编码格式 Codec]
    G --> G1[H.264/AVC]
    G --> G2[H.265/HEVC]
    G --> G3[VP9]
    G --> G4[AV1]
    
    style B fill:#e3f2fd
    style G fill:#f3e5f5
                            
容器格式 特点 支持编码 应用场景
MP4 兼容性最好,广泛支持 H.264, H.265, AAC 网络视频、移动设备
MKV 开源,支持多轨道 几乎所有编码 高清电影、多语言
WebM Web优化,免费开源 VP9, AV1, Opus HTML5视频
MOV Apple格式,质量高 H.264, ProRes Apple设备、专业制作
编码格式发展历程
timeline
    title 视频编码发展历程
    1998 : MPEG-2 : DVD, 数字电视
    2003 : H.264/AVC : 主流编码, 广泛应用
    2008 : VP8 : Google开源
    2013 : H.265/HEVC : 50%压缩提升
    2013 : VP9 : YouTube采用
    2018 : AV1 : 免费开源, 新一代编码
                            

4. 图像处理基础

图像处理方法分类
graph TB
    A[图像处理] --> B[空域处理]
    A --> C[频域处理]
    
    B --> B1[线性滤波]
    B --> B2[非线性滤波]
    B --> B3[形态学操作]
    
    B1 --> B1a[均值滤波]
    B1 --> B1b[高斯滤波]
    B1 --> B1c[卷积运算]
    
    B2 --> B2a[中值滤波]
    B2 --> B2b[双边滤波]
    
    C --> C1[傅里叶变换 DFT/FFT]
    C --> C2[频域滤波]
    
    C2 --> C2a[低通滤波 - 去噪]
    C2 --> C2b[高通滤波 - 边缘增强]
    
    style A fill:#667eea,color:#fff
    style B fill:#764ba2,color:#fff
    style C fill:#764ba2,color:#fff
                            

线性滤波

  • 均值滤波 - 简单平滑
  • 高斯滤波 - 平滑去噪
  • 特点: 可分离、快速

非线性滤波

  • 中值滤波 - 去椒盐噪声
  • 双边滤波 - 保边去噪
  • 特点: 保边缘效果好

5. 图像变换技术

DCT变换编码流程
flowchart LR
    A[原始图像块
8×8像素] --> B[DCT变换] B --> C[频域系数] C --> D[量化] D --> E[量化后系数] E --> F[熵编码] F --> G[压缩数据] style A fill:#e3f2fd style C fill:#f3e5f5 style G fill:#c8e6c9

🔑 DCT (离散余弦变换) 核心特点

  • 能量集中:大部分能量集中在低频系数
  • 去相关:消除像素间的相关性
  • 可分离:2D DCT可分解为两次1D DCT
  • 快速算法:有高效的快速算法实现
变换类型 应用 优点 缺点
DCT JPEG, H.264, H.265 能量集中、快速算法 块效应
DWT JPEG 2000 多分辨率、无块效应 计算复杂
DFT 频谱分析 物理意义明确 复数计算

6. 边缘检测与特征提取

边缘检测方法分类
graph TB
    A[边缘检测] --> B[一阶导数算子]
    A --> C[二阶导数算子]
    A --> D[最优边缘检测]
    
    B --> B1[Sobel算子]
    B --> B2[Prewitt算子]
    B --> B3[Roberts算子]
    
    C --> C1[Laplacian算子]
    C --> C2[LoG算子]
    
    D --> D1[Canny边缘检测]
    D1 --> D1a[高斯滤波]
    D1a --> D1b[计算梯度]
    D1b --> D1c[非极大值抑制]
    D1c --> D1d[双阈值检测]
    
    style A fill:#667eea,color:#fff
    style D fill:#764ba2,color:#fff
                            
1. 高斯滤波
2. 计算梯度
3. 非极大值抑制
4. 双阈值检测

Canny边缘检测算法流程

7. 运动估计与运动补偿

运动估计原理
flowchart TB
    A[当前帧] --> B[划分为宏块]
    B --> C[块匹配算法]
    C --> D[在参考帧搜索]
    D --> E[找到最佳匹配]
    E --> F[计算运动矢量MV]
    F --> G[运动补偿预测]
    
    H[参考帧] --> D
    
    style A fill:#e3f2fd
    style H fill:#f3e5f5
    style G fill:#c8e6c9
                            
搜索算法 搜索点数 精度 速度
全搜索 最多 最高 最慢
三步搜索 25点 中等
钻石搜索 较少 较高 很快
六边形搜索 最快

8. 帧类型与GOP结构

视频帧类型对比
graph TB
    A[视频帧类型] --> B[I帧
Intra Frame] A --> C[P帧
Predicted Frame] A --> D[B帧
Bi-directional Frame] B --> B1[帧内编码] B --> B2[独立解码] B --> B3[数据量最大] B --> B4[随机访问点] C --> C1[前向预测] C --> C2[参考前帧] C --> C3[数据量中等] C --> C4[运动补偿] D --> D1[双向预测] D --> D2[参考前后帧] D --> D3[数据量最小] D --> D4[压缩率最高] style B fill:#ffcdd2 style C fill:#c8e6c9 style D fill:#bbdefb
GOP结构示例
sequenceDiagram
    participant I as I帧
    participant P1 as P帧
    participant B1 as B帧
    participant B2 as B帧
    participant P2 as P帧
    participant B3 as B帧
    participant B4 as B帧
    
    Note over I: GOP开始
    I->>P1: 预测参考
    P1->>B1: 前向参考
    P1->>B2: 前向参考
    I->>B1: 后向参考
    I->>B2: 后向参考
    P1->>P2: 预测参考
    P2->>B3: 前向参考
    P2->>B4: 前向参考
    P1->>B3: 后向参考
    P1->>B4: 后向参考
    Note over B4: GOP结束
                            

📐 GOP (Group of Pictures) 参数

  • GOP长度:两个I帧之间的帧数,影响压缩率和随机访问
  • 闭合GOP:GOP独立,不依赖其他GOP
  • 开放GOP:可参考其他GOP的帧,压缩率更高
  • 典型结构:IBBPBBPBBP (长度为12)

9. 视频质量评估指标

质量评估方法分类
graph TB
    A[视频质量评估] --> B[主观评估]
    A --> C[客观评估]
    
    B --> B1[MOS]
    B --> B2[DMOS]
    B --> B3[ITU-R BT.500]
    
    C --> C1[全参考 FR]
    C --> C2[部分参考 RR]
    C --> C3[无参考 NR]
    
    C1 --> C1a[PSNR]
    C1 --> C1b[SSIM]
    C1 --> C1c[VMAF]
    
    C3 --> C3a[深度学习方法]
    C3 --> C3b[自然场景统计]
    
    style A fill:#667eea,color:#fff
    style B fill:#764ba2,color:#fff
    style C fill:#764ba2,color:#fff
                            
指标 公式/说明 范围 应用
PSNR 10·log₁₀(MAX²/MSE) >30dB 可接受 编码质量评估
SSIM 结构相似性指数 [0, 1] 感知质量评估
VMAF Netflix多方法融合 [0, 100] 流媒体质量
MOS 平均意见分 [1, 5] 主观测试

10. 视频压缩原理

视频压缩去除冗余
graph TB
    A[视频数据冗余] --> B[空间冗余]
    A --> C[时间冗余]
    A --> D[编码冗余]
    A --> E[视觉冗余]
    
    B --> B1[帧内预测]
    B --> B2[变换编码 DCT]
    
    C --> C1[帧间预测]
    C --> C2[运动估计补偿]
    
    D --> D1[熵编码]
    D --> D2[Huffman/算术编码]
    
    E --> E1[量化]
    E --> E2[色度采样]
    
    style A fill:#667eea,color:#fff
    style B fill:#e3f2fd
    style C fill:#c8e6c9
    style D fill:#fff9c4
    style E fill:#f3e5f5
                            
混合编码框架
flowchart LR
    A[输入帧] --> B[帧内/帧间预测选择]
    B --> C[预测编码]
    C --> D[残差]
    D --> E[变换 DCT]
    E --> F[量化]
    F --> G[熵编码]
    G --> H[输出码流]
    
    F --> I[反量化]
    I --> J[反变换]
    J --> K[重建帧]
    K --> L[帧存储]
    L --> C
    
    style A fill:#e3f2fd
    style H fill:#c8e6c9
                            

⚡ 率失真优化 (RDO)

代价函数: J = D + λ·R

D = Distortion (失真)
R = Rate (码率)
λ = Lagrange multiplier (拉格朗日乘子)

目标: 在给定码率下最小化失真,或在给定失真下最小化码率