视频编码入坑指南

博主本人为计算机专业大四学生,硕士研究方向为视频编解码相关。由于之前没有接触过该领域,因此需要从零开始学习,并希望以博客的方式记录下这些过程。

前辈的经验

知乎链接1: https://www.zhihu.com/question/27005982/answer/34945817
知乎链接2: https://www.zhihu.com/question/27005982/answer/51158064
知乎链接3: https://www.zhihu.com/question/27005982/answer/590029948


自己的学习历程

信号与系统

2022.09更新:如果用不到变换部分的知识,这一部分可以先不看。

网易云课堂:《信号与系统》: https://study.163.com/course/introduction/818002.htm

视频编解码实际上是流媒体传输通信中的一个环节,本科为通信/电子信息等方向的同学实际上能够更好的入门。在看过知乎大佬的经验之后,博主打算去学习一下信号与系统这门EE专业的基础课。

信号与系统的先导课程有高等数学电路分析,没有电路分析基础的我也是硬着头皮看完了,感觉问题不大。通过这门课,博主初步对模拟、离散信号和通信过程有了一些基本了解,主要内容如下(粗体字标出博主认为重要的部分):

模拟信号部分:常见的模拟信号、系统框图、卷积的引入、傅里叶级数、傅里叶变换、信号的能量、拉普拉斯变换

离散信号部分:离散时间傅里叶变换DTFT、Z变换


数字图像处理

信号与系统的学习,更像是对信号领域有一个全局的观念。而视频编解码是需要计算机来完成的,因此更侧重离散(数字)信号处理。这方面的课程有:数字信号处理,图形图像处理。有了信号与系统的基础,学习这些课程会更加得心应手。

博主认为通过这系列课程,需要掌握的知识有以下:

  • 一维、二维的离散傅里叶变换DFT(包括FFT算法)
  • 离散余弦变换DCT(图像编码中经常用到)
  • 图像的基础知识

OpenCV-Python教程(学习基本的图像知识和操作): http://codec.wang/#/opencv/

MOOC:数字信号处理(仅供参考): https://www.icourse163.org/course/NJTU-1001950001


视频编解码入门

目前在网上关于视频编解码网课几乎没有,博主只在MOOC上找到西安邮电大学的《视频压缩通信》作为入门课程。

MOOC:视频压缩通信 https://www.icourse163.org/course/XIYOU-1205808809

作为视频编码的入门教程,个人觉得该慕课还是不错的,介绍了视频图像的基础知识、视频编码的流程、视频图像编码的具体方法。学习之后,可以对视频编码具有全局的认识。

2022.09更新:看到一个英文网站,包含了一些更专业的编码基础知识。
https://ottverse.com/category/video-compression/


相关书籍和代码

在对视频编码有了初步的认识之后,博主打算通过相关的书籍进行学习(也找不到其它学习渠道了QAQ)。这里推荐两本书籍:

《VIDEO CODEC DESIGN》(这本英文书比较经典,但是比较老了)

《数字视频编码技术原理》(高文)

《H.265/HEVC视频编码新标准及其拓展》

2022.09更新:VVC/266的书籍也出啦,大家可以自己找一下。

书籍的知识总是枯燥的,结合具体的工程代码应该大有裨益。(跃跃欲试233)

Github:轻量级JPEG解码器: https://github.com/leelitian/TinyJPEGDecoder
Github:AVS3开源编码器: https://github.com/uavs3/uavs3e
Gitlab:HEVC参考软件: https://vcgit.hhi.fraunhofer.de/jct-vc/HM/-/tags


其它参考内容

包括通信原理、信息论与编码、电视原理等课程,对视频编码的理论基础学习具有帮助,但是博主时间有限,暂时没有系统的学习。

包括音视频大佬的CSDN博客,在此致敬雷神!

雷霄骅的博客: https://blog.csdn.net/leixiaohua1020


博主经历有限,暂时就写到这里,如果对您有帮助的话,记得点个赞哦o( ̄▽ ̄)ブ。

你可能感兴趣的:(视频编码,视频编码,AVS,入门,HEVC)