一、常见音频编码格式以及帧长计算

一、音频帧的长度

音频帧的概念没有视频帧清晰,一般来说,一帧视频帧可以认作是经过某种视频编码格式编码后的一副图像,但音频帧跟具体编码格式有关,例如PCM裸数据,就不需要音频帧的概念,只需要根据采样率和采样精度就可以控制音频播放

1.1 音频播放过程

播放时,应用程序从存储介质中读取不同编码格式的音频数据,解码后的PCM数据送到音频驱动程序,转化为人耳可以辨别的模拟音频

录音时,音频驱动不停地把采样所得到的PCM数据送回给应用程序,应用程序按照某种编码格式完成采样、量化、压缩、存储等任务

二、PCM

假设采样率 48khz,位深16bit,双通道,所以长度计算公式:采样率 x 采样大小 x 声道数,单位是:kb/s,即一秒钟的音频数据需要占这么多的 bit 位存储,也成为码率
举例:帧长度 len = 48000 * 16 * 2 / 8 = 192k (Byte)

另外由于音频数据肯定是需要进行传输,一次传输多少字节的数据,一秒钟传输多少次音频数据包,这些都影响着最终音频呈现的效果:是否卡顿?是否音画同步?

举例:发送间隔选择 20ms,那么一秒钟需要发送 1000 / 20 = 50次,由于音频码率为 192k 字节,那么发送一次音频数据包的大小就是 192k / 50 = 3840 字节

三、ADPCM

ADPCM ,即自适应差分脉冲编码调制,是一种针对16bit声音波形数据的一种有损压缩算法,将声音流中每次采样的 16bit 数据以 4bit 存储,所以压缩比 1 : 4,优点是算法复杂度低,编解码延时最短,但是声音质量一般,是对PCM数据进行有损压缩

三、G711.A

G711是国际电信联盟ITU-T定制出来的一套语音压缩标准,主要用脉冲编码调制对音频采样,采样率为8khz,压缩率为1:2, 把16位数据压缩成8位

G.711是主流的波形声音编解码器,有两种压缩算法,一是u律,主要运用于北美和日本;二是A律,主要运用于欧洲和世界其他地区。

pcm裸数据经过G711.A编码后,进行网络传输,打包周期一般分为10ms,20ms,30ms,以20ms为例

如果采样率 48khz,位深16bit,双通道,那么码率为:48k * 16 * 2 = 192k (Byte),那么20ms的包 = 192k / 1000 * 20 = 3840 字节个pcm裸数据,由于G711.A编码方式压缩率为 2 :1,所以发送一次G711.A音频数据包的大小就是 3840 / 2 = 1920 字节

四、G726

G.726可将64kbps的PCM信号转换为40kbps、32kbps、24kbps、16kbps的ADPCM信号。 最为常用的方式是 32 kbit/s,由于其只是 G.711速率的一半,所以网络的可利用空间增加了一倍,G.726算法本质就是一个ADPCM, 自适应量化算法,把64kbit/s 压缩到32kbit/s

五、AAC

AAC,中文名是高级音频编码,是一种专为声音数据设计的文件压缩格式,与MP3不同,它采用了全新的算法进行编码,更加高效,音质更佳

备注:对采样率为44.1kHz的AAC音频进行解码时,一帧的解码时间须控制在23.22毫秒内,通常是按1024个采样点一帧

在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值