目录
第一章 谈谈视频编码
1.1 变换编码
1.2 基于分块的编码
1.3 关于率失真优化
1.3.1 关于RD模型
1.3.2 各种RD模型
1.3.3 基于JND的RD模型的改进
1.4 量化
1.4.4 一些改进
1.4.5 网格编码量化
1.6 帧内预测
1.6.1 空间域像素预测
1.6.2 帧内块拷贝
1.6.3 帧内串拷贝
1.7 帧间预测
1.7.1 参考帧的选择
1.7.2 最佳匹配块的搜索
1.7.3 预测块的计算
1.7.4 运动矢量的编码
1.8 后处理模块
1.8.1 去除块效应
1.8.2 样点自适应补偿后处理
1.8.3 自适应滤波器
1.8.4 基于深度网络的后处理
第2章 AV1简介
2.1 搭建AV1编解码器
2.1.1 下载代码
2.1.2 创建工程
2.2 了解AV1的性能
2.2.1 压缩率衡量方法
2.2.2 AV1的压缩率
2.3 AOM编码流程,数据结构与参数
2.3.1 编码流程
2.3.2 AOM中的数据结构
2.3.3 AV1中用到的基本术语
2.3.4 AOM编码参数设定
2.3.5 一些常用的功能函数
第3章 AV1编码流程:实时编码
3.1 帧类型的确定
3.2 编码一帧
3.2.1 编码一帧
3.2.2 编码一个tile
3.2.3 编码一行Super Block
3.2.4 编码一个Super Block
3.3 I帧编码
3.3.1 DC模式
3.3.2 递归intra预测模式
3.3.3 色度预测模式
3.3.4 变换模式的选择
3.4 P帧编码
3.4.1 准备候选运动矢量队列
3.4.2 每种inter模式的具体处理
3.4.3 新运动矢量的搜索
3.4.4 仿射变换模式
3.4.5 重叠块运动补偿模式
3.4.6 计算率失真代价
3.4.7 P帧中的intra预测编码
3.5 后处理
3.5.1 去除块效应
3.5.2 方向增强滤波
3.6 生成码流
3.6.1 码流结构
3.6.2 写帧序列头
3.6.3 写帧头
3.6.4 写tile信息
3.7 码率控制
3.7.1 固定码率
3.7.2 可变码率
3.8 再谈码率控制
3.8.1 目标比特分配
3.8.2 量化系数计算
3.8.3 关于缓冲池
第4章 AV1编码中的其他编码工具
4.1 更加多样的块划分模式
4.1.1 加速块划分的CNN网络
4.1.2 其他加速块划分的方法
4.2 golden frame group
4.2.1 时域去噪滤波
4.3 超分辨率模式
4.4 预分析
4.4.1 预处理函数
4.4.2 时域依赖模型
4.5 SB量化系数调整
4.6 帧内预测
4.7 二次编码模式
4.8 全局运动矢量
4.9 从亮度预测色度
4.10 帧内块拷贝
4.11 调色板模式
4.11.1 编码调色板
4.11.2 对块中像素的索引进行编码
4.11.3 H265中的调色板
4.12 后处理模块
4.12.1 修复滤波
4.12.2 胶片颗粒合成
4.13 量化中的dropout
第5章 编码速度优化
5.1 程序结构和数据结构的优化
5.1.1 减少没有必要的计算或操作
5.1.2 减少分支,不要打断指令流水
5.1.3 使用更多的空间,换取更少的时间
5.1.4 减少缓存脱靶率,增加缓存命中率
5.2 使用汇编代码优化
5.2.1 C语言中插入intrinsic指令
5.2.2 进一步优化
5.2.3 SIMD指令浅析
5.3 多线程优化
5.3.1 AOM的线程机制
5.3.2 基于SB行的多线程编码
5.3.3 基于SB的后处理多线程
5.4 视频内容无关的工具集简化
5.5 视频内容相关的工具集简化
5.5.1 单MV和双MV的提前判断
5.5.2 变换模式快速判断
参考文献