功能及约束说明
当前仅支持G.711a、G.711u、AAC(Advanced Audio Coding)协议、单声道数据进行编码、解码,且为软件编码、解码。本章中的接口均不支持多进程,且同一个设备ID不支持在多线程中使用。
音频编码时,G.711a、G.711u码流遵循以下表格中描述的帧结构,即在每帧码流数据的净荷数据之前填充有4个字节的帧头;音频解码时,需要读取相应的帧头信息。在G.711a、G.711u码流中,目前帧头中的数据净荷长度需为40,80,120,160,240(单位:hi_s16),所以对应的每帧采样点数即为80,160,240,320,480。但在VQE(Voice Quality Enhancement)框架中,编解码操作是与AI、AO绑定在一起,所以支持的每帧采样点数范围缩小。
参数位置(单位:hi_s16) |
参数比特位说明 |
参数含义 |
---|---|---|
0 |
[15:8] |
数据帧类型标志位。 01:语音帧; 其他:保留。 |
[7:0] |
保留。 |
|
1 |
[15:8] |
帧循环计数器:0~255。 |
[7:0] |
数据净荷长度(单位:hi_s16)。 |
|
2 |
[15:0] |
净荷数据。 |
3 |
[15:0] |
净荷数据。 |
...... |
[15:0] |
净荷数据。 |
n+1 |
[15:0] |
净荷数据。 |
n+2 |
[15:0] |
净荷数据。 |
G.711a、G.711u、AAC协议的相关规格及优缺点如下:
协议 |
采样率 |
每帧采样点数 |
码率(kbps) |
压缩率 |
CPU消耗 |
描述 |
---|---|---|---|---|---|---|
G.711a、G.711u |
8kHz |
80/160/240/320/480 |
64 |
2 |
1 MHz |
|
AAC 仅支持MPEG-4版本、无CRC(Cyclic Redundancy Check)校验的音频码流 |
48kHz |
1024 |
[48, 256] |
与码率相关,码率越小,压缩率越大 |
- |
|
父主题: AENC音频编码/ADEC音频解码