默认
打赏 发表评论 10
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
即时通讯音视频开发(六):如何开始音频编解码技术的学习
阅读(153103) | 评论(10 收藏10 淘帖1 1
微信扫一扫关注!

前言


即时通讯应用中的实时音视频技术,几乎是IM开发中的最后一道高墙。原因在于:实时音视频技术 = 音视频处理技术 + 网络传输技术 的横向技术应用集合体,而公共互联网不是为了实时通信设计的。有关实时音视频开发时的技术难题请参见《音视频云声网Agora:从demo到实用,中间还差1万个WebRTC》:http://www.52im.net/article-119-1.html

本文是一篇讲述新手如何学习音频编解码知识的文章。

系列文章


本文是系列文章中的第6篇,本系列文章的大纲如下:


说说音频编解码技术学习方法


总是有人问我研究音频编解码要看什么书,其实这是一个很难回答的问题,原因有很多:

  • 做工程首先一个问题就是和课本学习不同,不是看书能解决的。
  • 音频编解码技术在国内研究的人很少,包括总体的音频技术国外也研究不多。(从中国的潜艇噪声技术一直解决不好就能看出一二)。
  • 音频编解码技术是一种应用,而一般的书籍都是讲理论基础。

只看理论书籍会和应用脱离太多,没有实践会忘记。我当初看书也是从工程入手,就是在实际工作中和个人兴趣中看了大量的标准,然后对不懂的地方找论文,再找书籍补知识,这是典型的逆向学习。通常研究生是“课本->看论文->做工程”这样一个学习方法和流程。

我们可以按照什么样的思路去找书籍或论文呢?


音频编解码技术是一种比较复杂的应用,而普通的书籍是一种理论书籍,尤其是在中国。音频编解码技术和一般的音频技术不同,比如AEC,HRTF,后者分别是语音和音频的应用技术,应该说是一种具体的应用技术,相对来说查资料还是容易有的放矢。

具体来说,其实音频编解码技术也是一种具体的应用技术,但是可能系统相对复杂,目的相对基础。它是信源编解码技术的一个分支,目的就是压缩数据。

那么音频编解码技术包括哪些方面呢?既然他是一种信源编解码器技术(Source Coding Technology)那么信源编解码技术的书籍都可以看,当做是理论基础学习。

另外其实我把音频编解码技术分为5大技术,简称为:EQTPM。E-熵编码、Q-量化编码、T-变换编码、P-预测编码、M-音频建模(感知建模,BCC建模,正弦建模等)。相对的,学习时我们可以按照这些技术进行相关书籍的查阅和学习。

具体的书籍可以分成以下4类


1语音编解码书籍


因为国内讲宽带音频编解码的书籍很少,所以可以看些语音编解码的书籍,里面也有讲EQTP技术。例如:《语音处理技术》,《语音编码》,《低码率音频编码》,《数字语音编码原理》,《变速率语音编码》《低速率语音编码》《数字语音编码》《数据压缩》。

即时通讯音视频开发(六):如何开始音频编解码技术的学习_1.jpg

《JPEG2000 图像压缩基础》:我认为这本书讲的还是不错的,翻译的也不错,很多基本原理讲的比较透彻。

2理论基础书籍


《信息论与编码》,《信号与系统》,高数这类我就不但列出来了,但是也要常番。

3国外的宽音频编码书籍


例如我认为很经典的ANDREAS SPANIAS的《Audio Signal Processing and Coding 》。以及他的63页的论文,《Perceptual Coding of Digital Audio》。

其他可看的书籍包括:
  • MP3之父——K. Brandenburg的:
    《Applications of Digital Signal Processing to Audio and Acoustics》
    《A Digital Signal Processing Primer, with Applications to Digital Audio and Computer Music》
    《Auditory Perception and the MPEG Audio Standard》
    《Foundation and Evolution of Standardized Coders (Wiley,2003)(ISBN 0471373125)(578s)》
  • 汉堡联邦国防军大学Udo Zolzer教授的:
    《Digital Audio Signal Processing》
    《High-Fidelity Multichannel Audio Coding》
    《Speech Coding Algorithms》


我强烈推荐把SPANIAS的书读一下。至少把SPANIAS的那个论文仔细看一下。这样会对你理解音频编码有很大的帮助。但是里面会将很多关于耳朵的生理词语,要拿着字典慢慢翻。这个论文我是烦烂了的,使我受益匪浅。

后面的书籍我还没有系统看过,但都有PDF版本,我也是偶尔翻一下。因为这些经典书籍你不花大时间理解,会造成假象是乍看起来都讲得类似,但实际理解起来发现是对不同细节的阐述。

4其他类书籍


专项技术书籍:
  • 如《自适应信号处理》,因为音频编码也好其他音频技术也好,自适应技术是经常使用的。
    例如:无损编码的Wavpack,MPEG4 ALS,都使用了自适应技术。
  • 滤波器设计的相关书籍。
  • 《多抽样率数字信号处理理论及其应用》:讲解Transform技术。
  • HE-AAC和ATRAC3,使用的QMF,
  • MP3 使用的PQF
  • AAC,MP3使用的MDCT
  • AC3使用的TDAC(MDCT)
  • WMA和G722.1的(MLT)

都是为什么,选择这些变换工具。有什么区别。如果你能看看Vaidyananthan PP的书,会更有帮助。

一些开创性的研究论文也可以读一读


除了这些书籍,建议大家多看看论文,很多国外的大学都有专门的论文和PPT教学。

1会议论文


有的讲的很有点概况,有的有些对原理公式还是讲的比较清楚,还有一些强调系统性和介绍的。例如:伦敦学院的《A Survey of Packet Loss Recovery Techniques for Streaming Audio》 对PLC技术做了系统归纳L Daudet的《A review on techniques for the extraction of transients in musical signals》对瞬态信号提取技术做了归纳。

2毕业论文


这里我举2个例子,文章太多我就截屏解释吧。

即时通讯音视频开发(六):如何开始音频编解码技术的学习_2.png
即时通讯音视频开发(六):如何开始音频编解码技术的学习_3.png

3经典PPT


很多大学和机构开放课程会有一些经典PPT。例如:德国Fraunhofer的主页就有很多奖MPEG系列音频编码技术的PPT。非常好,非常推荐。

结语


当然除了书籍、论文以外,我们还可以看一些常用的网址,我就给一个好了,超经典的斯坦福大学 Julius Orion Smith III 教授的主页:https://ccrma.stanford.edu/~jos/,见下图哦。

即时通讯音视频开发(六):如何开始音频编解码技术的学习_QQ20160421-0.png

不说了,自己看吧,引用里面的介绍–(1GB of on-line publications, sound examples, and software )。总之,馒头要一口一口吃,耐心些,开始吧!

附录:更多实时音视频技术文章


[1] 开源实时音视频技术WebRTC的文章:
开源实时音视频技术WebRTC的现状
简述开源实时音视频技术WebRTC的优缺点
访谈WebRTC标准之父:WebRTC的过去、现在和未来
良心分享:WebRTC 零基础开发者教程(中文)[附件下载]
WebRTC实时音视频技术的整体架构介绍
新手入门:到底什么是WebRTC服务器,以及它是如何联接通话的?
WebRTC实时音视频技术基础:基本架构和协议栈
浅谈开发实时视频直播平台的技术要点
[观点] WebRTC应该选择H.264视频编码的四大理由
基于开源WebRTC开发实时音视频靠谱吗?第3方SDK有哪些?
开源实时音视频技术WebRTC中RTP/RTCP数据传输协议的应用
简述实时音视频聊天中端到端加密(E2EE)的工作原理
实时通信RTC技术栈之:视频编解码
开源实时音视频技术WebRTC在Windows下的简明编译教程
网页端实时音视频技术WebRTC:看起来很美,但离生产应用还有多少坑要填?
了不起的WebRTC:生态日趋完善,或将实时音视频技术白菜化
腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
融云技术分享:基于WebRTC的实时音视频首帧显示时间优化实践
>> 更多同类文章 ……

[2] 实时音视频开发的其它精华资料:
实时语音聊天中的音频处理与编码压缩技术简述
网易视频云技术分享:音频处理与压缩技术快速入门
学习RFC3550:RTP/RTCP实时传输协议基础知识
基于RTMP数据传输协议的实时流媒体技术研究(论文全文)
声网架构师谈实时音视频云的实现难点(视频采访)
浅谈开发实时视频直播平台的技术要点
还在靠“喂喂喂”测试实时语音通话质量?本文教你科学的评测方法!
实现延迟低于500毫秒的1080P实时音视频直播的实践分享
移动端实时视频直播技术实践:如何做到实时秒开、流畅不卡
如何用最简单的方法测试你的实时音视频方案
技术揭秘:支持百万级粉丝互动的Facebook实时视频直播
简述实时音视频聊天中端到端加密(E2EE)的工作原理
移动端实时音视频直播技术详解(一):开篇
移动端实时音视频直播技术详解(二):采集
移动端实时音视频直播技术详解(三):处理
移动端实时音视频直播技术详解(四):编码和封装
移动端实时音视频直播技术详解(五):推流和传输
移动端实时音视频直播技术详解(六):延迟优化
理论联系实际:实现一个简单地基于HTML5的实时视频直播
IM实时音视频聊天时的回声消除技术详解
浅谈实时音视频直播中直接影响用户体验的几项关键技术指标
如何优化传输机制来实现实时音视频的超低延迟?
首次披露:快手是如何做到百万观众同场看直播仍能秒开且不卡顿的?
Android直播入门实践:动手搭建一套简单的直播系统
网易云信实时视频直播在TCP数据传输层的一些优化思路
实时音视频聊天技术分享:面向不可靠网络的抗丢包编解码器
P2P技术如何将实时视频直播带宽降低75%?
专访微信视频技术负责人:微信实时视频聊天技术的演进
腾讯音视频实验室:使用AI黑科技实现超低码率的高清实时视频聊天
微信团队分享:微信每日亿次实时音视频聊天背后的技术解密
近期大热的实时直播答题系统的实现思路与技术难点分享
福利贴:最全实时音视频开发要用到的开源工程汇总
七牛云技术分享:使用QUIC协议实现实时视频直播0卡顿!
实时音视频聊天中超低延迟架构的思考与技术实践
理解实时音视频聊天中的延时问题一篇就够
实时视频直播客户端技术盘点:Native、HTML5、WebRTC、微信小程序
写给小白的实时音视频技术入门提纲
微信多媒体团队访谈:音视频开发的学习、微信的音视频技术和挑战等
腾讯技术分享:微信小程序音视频技术背后的故事
微信多媒体团队梁俊斌访谈:聊一聊我所了解的音视频技术
新浪微博技术分享:微博短视频服务的优化实践之路
实时音频的混音在视频直播应用中的技术原理和实践总结
以网游服务端的网络接入层设计为例,理解实时通信的技术挑战
腾讯技术分享:微信小程序音视频与WebRTC互通的技术思路和实践
新浪微博技术分享:微博实时直播答题的百万高并发架构实践
技术干货:实时视频直播首屏耗时400ms内的优化实践
爱奇艺技术分享:轻松诙谐,讲解视频编解码技术的过去、现在和将来
零基础入门:实时音视频技术基础知识全面盘点
实时音视频面视必备:快速掌握11个视频技术相关的基础概念
淘宝直播技术干货:高清、低延时的实时视频直播技术解密
>> 更多同类文章 ……

(原文链接:http://webrtc.org.cn/how-to-learn-audio-codec/

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

本帖已收录至以下技术专辑

推荐方案
评论 10
不得不说,要想真正理解音视频技术,并没有那么容易,好在针对即时通讯里的实时音视频,多数时候开发者只需要具备相关理论知识和概念即可,因为已经存在众多的成熟技术,能熟练使用就已经解决大部分问题了。
好好研究下.
一堆废话,通篇各种讲音视频难,其实目的就是让人用你的框架。
但其实真正做应用,都是用前人已有的编解码技术来搞,有必要像你说的这么复杂?大多数人都是想要先做起来就行。又不是做算法研究。
你要推自己的框架没问题,发些什么乱七八糟的底层音视频解码,有人需要么?难道搞编解码技术的人,要来这里科普?人家来这里都是为了看下具体用了什么技术架构
引用:lovelylich 发表于 2017-08-22 14:01
一堆废话,通篇各种讲音视频难,其实目的就是让人用你的框架。
但其实真正做应用,都是用前人已有的编解码 ...

你说的很有道理,但整理这篇文章的目的也只是就事论事为不懂的普及一下知识而已。。。
引用:JackJiang 发表于 2017-08-22 14:55
你说的很有道理,但整理这篇文章的目的也只是就事论事为不懂的普及一下知识而已。。。

谢谢你的以德报怨!
这方面我要向你学习
引用:lovelylich 发表于 2017-08-22 20:10
谢谢你的以德报怨!
这方面我要向你学习

没事,君子和而不同嘛
谢谢分享
签名: 心情好
感谢分享
感谢分享
签名: 今天很666
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部