音视频研究方向

做者:武晓阳
连接:https://www.zhihu.com/question/27005982/answer/51158064
来源:知乎
著做权归做者全部。商业转载请联系做者得到受权,非商业转载请注明出处。

在视频编解码领域从事工做几年,尚未仔细总结一路怎么走来。趁知友提的问题,再回头看看,稍有心得体会,但愿对你有帮助。
视频编解码所从事的工做大体分红3类:编解码算法研究、编解码标准实现、编解码应用开发。
  1. 编解码算法研究主要指制定标准相关工做,参与标准组织,制定新一代标准,好比HEVC、AVS等。该方向研究性较强,须要扎实的基础学科功底,若是在学校期间可以很好掌握线性代数、矩阵论、信息论、通讯原理、数字信号处理、统计信号处理等课程,对该方面的发展帮助较大。目前国内参与标准制定的单位主要是高等院校、研究机构、以及一些大企业(海思、三星、联发科等)。
  2. 编解码标准实现主要在不一样的平台实现符合标准的编码组件和解码组件。该方向要求熟悉标准文档、熟练掌握C语言编程、熟悉平台指令集优化、熟悉嵌入式开发、可以设计编码3大算法(模式选择、码率控制、运动搜索)等。国内设立这种岗位的公司不少,视频监控行业、视频会议行业、互联网行业、机器视觉行业等与多媒体相关的企业都会有。固然,大的公司分工细,会设定专门作编解码组件的岗位,专业化程度;小公司则要求全面,作事杂些。
  3. 编解码应用开发主要是在编解码组件的基础上,进行系统级开发包括系统封装层、多媒体软件、传输协议、QoS等。该方向所从事的工做更编解码标准中的技术没有关系,主要要求软件集成能力、应用开发能力等。
从后往前看,回到“如何打好基础”的问题上来,有几个建议步骤:
  1. 学好线性代数、矩阵论、信息论、通讯原理、数字信号处理、统计信号处理等课程;
  2. 专业方面熟悉一门标准,建议学H.264。相比H.265来讲,H.264更加成熟,材料多。推荐看Iain E G Richardon 写的入门教程“H.264 and MPEG-4 Video Compression”,该书浅显易懂,思路清晰。随后,须要看H.264标准文档以了解更多细节,结合参考软件JM的解码部分一块儿看;
  3. 围绕预测编码、变换编码、熵编码,看一些学术文章,弄清楚标准中各技术背后的原理;
  4. 调试开源代码,该步骤能够与前面并行。多去玩玩ffmpeg等、x264等,提升编程能力,主要是C语言开发能力。试着去优化1、两个独立的模块,优化的平台选X8六、ARM均可以。
  5. 试着用开源代码实现一些应用demo,这方面能够参看 的回答。