H.264/AVC视频编解码技术详解—46880人已学习
课程介绍
H.264/AVC是目前业界应用为广泛的视频压缩编码标准,包含了先进而且较为成熟的视频编码技术。本课程将从原理、标准和实现等多个角度,详细讲述了H.264/AVC视频编码标准的整体架构与技术细节,不但讲解了H.264/AVC标准协议文档中的内容,还通过实际的H.264码流分析/解码程序的开发来帮助观众更深入地理解H.264编码标准的原理。
课程收益
通过本系列课程,观众有望理解视频压缩编码技术的整体发展,精通H.264视频编码技术的框架与细节,为进一步研究H.265/HEVC编码标准、音视频流媒体、视频直播点播等技术奠定坚实的基础。本系列课程适合多媒体方向的开发人员和以音视频编码为主要研究方向的高年级本科生、硕士研究生和低年级博士研究生,不但有助于工程技术开发,亦可以在科学研究方面为观众提供协助。
讲师介绍
殷汶杰更多讲师课程
毕业于上海大学通信与信息工程学院,研究生学历,硕士学位。研究方向为视频处理与传输,对H.264/AVC、H.265/HEVC、AVS、AVS+、AVS2等视频编解码技术具有较长时间的研究与应用经历和理解。熟悉FFMpeg等开源音视频处理工程,熟悉音视频编解码的优化与技术预研。具有多家互联网音视频企业与世界500强安防企业的工作经验。
课程大纲
第1章:视频信息与压缩编码
1.人与世界的交互、视频信息的意义 8:11
2.视频信号的表示方法 5:05
3.视频压缩编码 12:43
第2章:主流视频编码标准的技术发展
1.主流视频编码标准的发展 2:14
2.H.261编码标准 6:15
3.H.263、MPEG-1、MPEG-2、MPEG-4编码标准 10:38
第3章:H.264/AVC编码标准
1.H.264/AVC的背景与基本概念 5:10
2.H.264视频编码整体架构 4:46
3.H.264所采用的编码工具 13:26
第4章:常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码
1.H.264编码器JM与X264 11:38
2.使用JM编解码器进行H.264的编码和解码 10:21
第5章:H.264码流结构
1.H.264的码流封装格式:流格式与包格式 8:54
2.实践:从码流中读取NAL Unit的方法 15:05
3.实践:读取并保存码流中的NAL Unit数据 10:56
第6章:NAL Unit解析
1.NAL Unit 结构分析 12:20
2.H.264码流分析器SimpleH264Analyzer工程创建 13:37
3.SimpleH264Analyzer解析码流为NAL Unit 12:57
4.SimpleH264Analyzer中实现对NAL Unit分析 16:01
第7章:熵编码算法(1)——基础知识
1.熵编码的基本概念 6:21
2.哈夫曼编码的原理 6:04
3.实现哈夫曼编码 27:46
第8章:熵编码算法(2)——H.264标准中的熵编码、指数哥伦布编码
1.H.264中定义的符号解析方法与支持的熵编码算法 5:52
2.指数哥伦布编码的原理和分类 16:17
3.实现指数哥伦布编码 22:26
第9章:H.264的序列参数集Sequence Paramater Set(SPS)
1.H.264的序列参数集SPS结构 8:13
2.SimpleH264Analyzer优化、添加Log机制 13:19
3.设计SPS类的结构 23:39
4.在SimpleH264Analyzer整合定长编码、指数哥伦布编码解析算法 9:50
5.实现SPS语法元素的解析和保存 28:19
第10章:H.264的图像参数集Picture Paramater Set(PPS)
1.H.264的图像参数集PPS结构 14:43
2.设计PPS类的结构 8:51
3.实现PPS语法元素的解析和保存 24:59
第11章:H.264的Slice层解析
1.H.264中Slice的概念 5:49
2.H.264中Slice的结构 9:34
3.定义I_Slice和SliceHeader结构 18:16
4.解析IDR帧的SliceHeader结构 36:30
第12章:H.264的宏块Macroblock级解析
1.H.264视频中Slice Data结构 7:47
2.H.264视频帧的分割与宏块结构 13:54
3.H.264的帧内预测宏块的数据结构定义 16:12
4.解析H.264码流的帧内宏块语法元素 37:00
第13章:熵编码算法(3)——上下文自适应的变长编码CAVLC
1.CAVLC的基本概念与算法 11:53
2.CAVLC编码一个系数矩阵(1) 25:25
3.CAVLC编码一个系数矩阵(2) 26:37
4.CAVLC语法元素解析:数据结构定义 15:48
5.CAVLC宏块分割与H.264宏块的邻块可用性 11:57
6.实现开始CAVLC解码一个宏块的准备工作 25:20
7.计算获取CAVLC解码的上下文信息的方法 30:21
8.解析H.264宏块中的block残差的numCoeff和trailingOnes 30:31
9.读取拖尾系数的符号 8:16
10.读取非零系数Level值 28:24
11.读取解析零系数总个数totalZeros 17:29
12.读取零系数游程长度runBefore 17:34
13.解析H.264宏块中的宏块残差语法元素 28:03
第14章:变换和量化编码(1):矩阵的正交变换原理
1.矩阵的运算与变换 11:52
2.正交矩阵与矩阵的正交变换 7:01
3.离散余弦变换 9:02
第15章:变换和量化编码(2):H.264的整数变换方法
1.从Residual语法元素重建变换系数矩阵(1) 12:46
2.从Residual语法元素重建变换系数矩阵(2) 28:27
3.H.264的整数变换方法 6:37
4.H.264的量化与反量化 11:23
5.解码预测残差变换系数的反量化 8:44
6.残差系数矩阵的反变换 13:33
第16章:帧内预测编码(1):帧内预测编码的基本原理
1.帧内编码的意义与作用 7:00
2.早期视频编码标准的帧内编码 6:07
3.预测编码 8:12
4.H.264的帧内预测模式 15:23
第17章:帧内预测编码(2):H.264帧内编码的方法与实现
1.H.264的帧内预测语法元素的表示方法 5:35
2.帧内预测解码的主要流程 5:55
3.推导子像素块的帧内预测模式 23:31
4.解码宏块、获取子块的预测块 7:29
5.由子块索引推导子块相对宏块的位置 17:38
6.获取相邻块的位置和有效性 27:49
7.导出当前块的预测模式(上) 15:50
8.导出当前块的预测模式(下) 17:17
9.获取帧内预测参考像素(1):方法 20:03
10.获取帧内预测参考像素(2):实现 34:29
11.由参考数据生成预测像素块(上) 16:54
12.由参考数据生成预测像素块(下) 35:28
13.通过预测块与残差数据重建解码像素块 11:26
第18章:熵编码算法(4)——算术编码的原理与实现方法
1.算术编码的基本概念 6:22
2.算术编码的基本流程 8:15
3.算术编码器实例的声明 8:13
4.实现一个基本的算术编码器内核 16:51
5.单步调试研究算术编码器内部工作原理与细节(上) 17:23
6.单步调试研究算术编码器内部工作原理与细节(下) 17:41
7.揭秘区间运算与算术编码实现之间的联系 23:08
8.算术编码最广泛的应用场景之一——H.264 Main Profile 6:09
第19章:熵编码算法(5)——H.264的CABAC(上):语法元素的二值化方法
1.H.264的CABAC基本概念 10:55
2.CABAC编码器的初始化 11:52
3.常用语法元素二值化方法 7:33
4.特定语法元素的二值化 9:25
第20章:H.264的去块滤波器
1.视频编码块效应与去块滤波基本原理 6:51
2.去块滤波的执行过程 7:33
3.块/宏块边沿的滤波方法 11:00
4.去块滤波的实现案例(1):框架结构 14:05
5.去块滤波的实现案例(2):计算滤波强度 8:36
6.去块滤波的实现案例(3):获取参考像素信息 9:53
7.去块滤波的实现案例(4):获取参考像素信息(续) 16:14
8.去块滤波的实现案例(5):滤波边界像素1-数据准备 13:35
9.去块滤波的实现案例(6):滤波边界像素2-判断条件 9:46
10.去块滤波的实现案例(7):滤波边界像素 19:51
11.去块滤波的实现案例(8):水平边沿像素滤波 5:01
第21章:熵编码算法(6)——H.264的CABAC(中):CABAC的上下文环境
1.CABAC的编解码上下文 5:35
2.上下文模型索的初始化与更新 10:44
3.CABAC编解码上下文的导出 7:31
第22章:熵编码算法(7)——H.264的CABAC(下):语法元素的CABAC解析
1.CABAC解码总流程 4:46
2.CABAC算术编码的解码(解析)过程 9:21
3.CABAC解码归一化过程 3:47
4.CABAC的bypass和终止符解析方法 7:00
大家可以点击【查看详情】查看我的课程