目录PCM、G726、ADPCM、LPCM、G711、AAC介绍形式与音频帧长的音频播放过程PCMPCM的全名Pulse-Code Modulation相比,翻译为脉冲调制编码。 在音视频中,PCM是用数字表示采样的模拟信号的方法。 将音频模拟信号转换为数字表示包括三个步骤: 1、采样、量化和编码
G726 G.726是ITU-T定义的音频编码算法。 1990年CCITT(ITU的前身)是根据G.721和G.723标准提出的。 G.726可将64kbps的PCM信号转换成40kbps、32kbps、24kbps、16kbps的ADPCM信号。 最普遍的方式是32 kbit/s,但由于是G.711速率的一半,所以网络的可用空间是两倍。 G.726具体规定了64 kbpsA-law或-law PCM信号如何被转换为40、32、24或16 kbps的ADPCM信道。 这些信道中,24kbps和16 kbps的信道用于数字电路倍增器( DCME )中的语音传输,40 kbps的信道用于DCME中的数据解调信号,特别是用于4800 kbps或更高的调制解调器。 实际上,g.726编码器输入一般是g.711编码器的输出。 64kbit/s的A-law或-law; G.726算法的本质是ADPCM,其中自适应量化算法将64kbit/s压缩到32kbit/s。
ADPCM ADPCM:adaptivedifferentialpulsecodemodulation说到自适应差分脉冲编码调制ADPCM,必须首先说DPCM。 Differential (差分)或delta PCM ( DPCM )记录当前值与上一个值之间的差值。 DCM可量化信号的差分,进一步减少量化位数。 与同等的PCM相比,该编码只需要25%的位数。 与视频的一些压缩理念一样,它利用与前一帧的不同来记录帧以进行压缩。 ADPCM ( adpcmadaptivedifferentialpulsecodemodulation )是对16位以上的声音波形数据的有损压缩算法,以4位为单位在声音流中每次进行取样4 .该算法利用语音信号样本之间的相关性,对语音信号的瞬态特性,使用自适应预测和自适应量化。 即,量化器和预测器参数可以根据输入信号的统计特性适应或接近最佳参数状态,能够以32kbps8khz速率提供网络水平的语音质量。 特性: ADPCM综合了APCM的自适应特性和DPCM系统的差分特性,是一种性能较好的波形码。 其核心思想是:利用适应性思想改变量化步长的大小,即,用小的量化步长编码小的差值,用大的量化步长编码大的差值。 利用过去样本值估算下一输入样本的预测值,使实际样本值与预测值之差始终最小。 优点:算法复杂度低、压缩率小、编解码延迟最短(相对于其他技术)的缺点)音质一般容易理解,ADPCM是对LPCM数据的有损压缩。 在压缩过程中,量化参数小时变小,大时变大,根据差分值自己调整尺寸; 此外,可以先统计前一个数据,再预测后一个数据的差值,使差值尽可能小。
lpcm lpcm:linearpulsecodemodulationlpcm,即线性脉冲编码调制,为未压缩音频数字化技术,为原始音频回放,并在常规CD、DVD和其他要求最高音频质量的各种场合各种应用场合下lpcm(PCM )的原理相同,不同之处在于采样频率和量化精度不同。 声音之所以能够数字化,是因为人耳听到的声音频率并不是无限宽的,主要是20kHz以下。 根据采样定理,如果采样频率不小于40kHz,则无法无失真地重建原始声音。 CD采用44.1kHz的采样频率,其他主要采用48kHz或96kHz。 PCM (脉冲编码调制)是将模拟语音信号转换为数字信号的编码方式。 主要经过采样、量化、编码三个过程。 采样过程将连续时间的模拟信号转换为离散时间、连续幅度的采样信号,并且量化过程将采样信号转换为离散时间、离散幅度的数字信号,该编码过程将量化后的信号编码为一个二进制码组并输出。 量化分为线性量化和非线性量化。 线性量化是整个量化范围,量化间隔都相等。 非线性量化采用不均匀的量化间隔。 量化间隔的数量取决于编码的二进制位数。 例如,如果CD采用16比特的线性量化,则量化间隔数为L=65536。 位数( n )越多精度越高,SNR=6.02n1.76 ) db )也越高。 但是,编码的位数应该基于所需的数据速率,而不是无限制的。 例如,通过CD可达到的数据速率是244.116=1411.2Kbit/s。 简单来说,LPCM是对原始模拟声音波形进行采样和线性量化的数字信号,并且尚未压缩这些数据信号。
G711 G711是国际电信联盟ITU-T定制的一组语音压缩标准,代表对数PCM (逻辑脉冲编码)采样标准,主要用于电话。 主要采用脉冲编码调制对音频进行采样,采样率为8k每秒。 使用64Kbps的未压缩信道传输语音信号。 压缩率是1:2,也就是将16位数据压缩成8位。 G.711是主流的波形语音编解码器。 G.711标准主要有两种压缩算法。 一种是u-law algorithm (又称oftenu-law、ulaw、mu-law ),主要用于北美和日本; 另一种是A-law algorithm,主要用于欧洲和世界其他地区。 其中,后者是为了便于计算机处理而特别设计的G711的内容是将14bit(uLaw或13bit(aLaw )采样的PCM数据编码为8bit的数据流,在再生时将该8bit的数据编码为14bit 与MPEG用于考虑整体数据或一段数据的编解码方式不同,G711是波形编解码算法,因为一个sample对应一个代码,压缩比为8/14=57%(ulaw )8/111 G.711是语音模拟信号的非线性量化,bitrate为64kbps。
AAC AAC,全名Advanced Audio Coding,中文名: Advanced Audio Coding,专门为语音数据设计的文件压缩格式。 与MP3不同,它采用全新算法编码,效率更高,具有更高的“性价比”。 通过利用AAC格式,可以使其更紧凑,而不会感觉到音质的明显下降。 苹果ipod、诺基亚手机支持AAC格式的音频文件。 优点:相对于mp3,AAC格式音质好,文件小。 不足: AAC是有损压缩格式,与现在流行的APE、FLAC等有损格式在音质上“本质上”存在差异。 另外,由于传输速度更快的USB3.0和16G以上的大容量MP3加速普及,AAC的头部不再存在“小型”环。 AAC是新一代的音频有损压缩技术,通过PS、SBR等附加编码技术,派生出了LC-AAC、HE-AAC、HE-AACv2三种主要编码。 与LC-AAC是相对传统的AAC相比,LC-AAC主要用于中高编码率(=80Kbps )。 HE-AACv2 (相当于aacsbr )主要用于中低码(=80Kbps ),最近上市的HE-AACv2 )主要用于低码(=48Kbps )。 事实上,大多数编码器会)自动启用PS技术至48Kbps,而不添加48Kbps
格式比较c音视频开发学习资料:点击音视频开发(资料文档视频教程问题( FFmpeg WebRTC RTMP RTSP HLS RTP ) ) ) ) ) ) ) )
虽然语音帧很长,但是语音帧的概念不像视频帧那样清晰,在大多数视频编码格式中,可以简单地认为一帧是编码后的图像。 然而,音频帧与编码格式相关,它是每个编码标准唯一实现的。 因为用PCM (未编码的音频数据)来说,帧的概念本来就不需要,可以根据采样率和采样精度进行再现。 例如,在采样率为44.1kHZ、采样精度为16位的音频的情况下,计算出比特率( bitrate )为44100 x 16kbps、每秒的音频数据固定为44100 x 16/8字节对采样率为44.1kHz的高级音频编码( AAC )音频进行解码时,一帧的解码时间必须控制在23.22毫秒以内。 通常在1024个采样点一帧。 在上表G.711的帧长为480的情况下,1帧的时间长度为480/8khz=0.06s=60ms。
在音频播放过程中播放音乐时,APP应用程序会从存储介质读取音频数据( MP3、WMA、AAC ),解码后最终发送到音频驱动程序的是PCM数据。 相反,在录音时,音频驱动程序会继续将采样得到的PCM数据发送到APP应用程序,由APP应用程序完成压缩、存储等任务。 因此,音频驱动的两大核心任务是: playback :如何将从用户空间APP应用程序中发货的PCM数据转换为人耳能识别的模拟音频capture :对在mic上收到的模拟信号进行采样