当前位置:文档之家› AAC解码算法原理详解

AAC解码算法原理详解

AAC解码算法原理详解
AAC解码算法原理详解

AAC解码算法原理详解

原作者:龙帅 (loppp138@https://www.doczj.com/doc/054809050.html,)

此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。

本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。

1、程序系统结构

下面是AAC解码流程图:

AAC解码流程图

在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。

2. 主控模块

主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive 耳机放大器)输出模拟声音。

3. 同步及元素解码

同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。

AAC的音频文件格式有以下两种:

ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。

ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。

AAC的ADIF格式见下图:

3.1 ADIF的组织结构

AAC的ADTS的一般格式见下图:

3.2 ADTS的组织结构

图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。ADIF和ADTS的header是不同的。它们分别如下所示:

3.3 ADIF的头信息

3.4 ADTS的固定头信息

ADTS的可变头信息

3.5 帧同步

帧同步目的在于找出帧头在比特流中的位置,13818-7规定,aac ADTS格式的帧头为12比特的“1111 1111 1111”.

3.6 头信息解码

ADTS的头信息为两部分组成,其一为固定头信息,紧接着是可变头信息。固定头信息中的数据每一帧都相同,而可变头信息则在帧与帧之间可变。

3.7 元素信息解码

在AAC中,原始数据块的组成可能有六种不同的元素。它们分别是

SCE: Single Channel Element单通道元素。单通道元素基本上只由一个ICS组成。一个原始数据块最可能由16个SCE组成。

CPE: Channel Pair Element 双通道元素,由两个可能共享边信息的ICS和一些联合立体声编码信息组成。一个原始数据块最多可能由16个SCE组成。

CCE: Coupling Channel Element 藕合通道元素。代表一个块的多通道联合立体声信息或者多语种程序的对话信息。

LFE: Low Frequency Element 低频元素。包含了一个加强低采样频率的通道。

DSE: Data Stream Element 数据流元素,包含了一些并不属于音频的附加信息。

PCE: Program Config Element 程序配置元素。包含了声道的配置信息。它可能出现在ADIF 头部信息中。

FIL: Fill Element 填充元素。包含了一些扩展信息。如SBR,动态范围控制信息等。

3.8 处理流程

(1). 判断文件格式,确定为ADIF或ADTS

(2). 若为ADIF,解ADIF头信息,跳至第6步。

(3). 若为ADTS,寻找同步头。

(4). 解ADTS帧头信息。

(5). 若有错误检测,进行错误检测。

(6). 解块信息。

(7). 解元素信息。

4.无噪声解码

无噪编码就是哈夫曼编码,它的作用在于进一步减少尺度因子和量化后频谱的冗余,即将尺度因子和量化后的频谱信息进行哈夫曼编码。

全局增益编码成一个8位的无符号整数,第一个尺度因子与全局增益值进行差分编码后再使用尺度因子编码表进行哈夫曼编码。后续的各尺度因子都与前一个尺度因子进行差分编码。

量化频谱的无噪编码有两个频谱系数的划分。其一为4元组和2元组的划分,另一个为节划分。对前一个划分来说,确定了一次哈夫曼表查找出的数值是4个还是2个。对后一个划分来说,确定了应该用哪一个哈夫曼表,一节中含有若干的尺度因子带并且每节只用一个哈夫曼表。

4.1 分段

无噪声编码将输入的1024个量化频谱系数分为几个段(section),段内的各点均使用同一个哈夫曼表,考虑到编码效率,每一段的边界最好同尺度因子带的边界重合。所以每一段必段传送信息应该有:段长度,所在的尺度因子带,使用的哈夫曼表。

4.2 分组和交替

分组是指忽略频谱系数所在窗,将连续的,具有相同尺度因子带的频谱系数分为一组放在一起,共享一个尺度因子从而得到更好的编码效率。这样做必然会引起交替,即本来是以

c[组][窗][尺度因子带][ 系数索引]

为顺序的系数排列,变为将尺度因子带同的系数放在一起:

c[组][尺度因子带][窗][ 系数索引]

这样就引起了相同窗的系数的交替。

4.3大量化值的处理

大量化值在AAC中有两种处理方法:在哈夫曼编码表中使用escape标志或使用脉冲escape方法。前者跟mp3编码方法相似,在许多大量化值出现时采用专门的哈夫曼表,这个表暗示了它的使用将会在哈夫曼编码后面跟跟一对escape值及对值的符号。在用脉冲escape方法时,大数值被减去一个差值变为小数值,然后使用哈夫曼表编码,后面会跟一个脉冲结构来帮助差值的还原。

无噪解码的流程图如下:

无噪声解码流程图

5.尺度因子解码及逆量化

在aac编码中,逆量化频谱系数是由一个非均匀量化器来实现的,在解码中需进行其逆运算。即保持符号并进行4/3次幂运算。

在频域调整量化噪声的基本方法就是用尺度因子来进行噪声整形。尺度因子就是

一个用来改变在一个尺度因子带的所有的频谱系数的振幅增益值。使用尺度因子这种机制是为了使用非均匀量化器在频域中改变量化噪声的比特分配。

5.1 尺度因子带(scalefactor-band)

频率线根据人耳的听觉特性被分成多个组,每个组对应若干个尺度因子,这些组就叫做尺度因子带。为了减少信息含有短窗的边信息,连续的短窗可能会被分为一组,即将若干个短窗当成一个窗口一起传送,然后尺度因子将会作用到所有分组后的窗口去。

5.2 反量化公式:

x_invquant = sign(x_quant) * | x_quant| ^(4/3)

其中

x_invquant 表示反量化的结果

sign (x)表示取x的符号

^ 表示幂运算

5.3 应用尺度因子公式:

x_rescal = x_invquant * gain

gain = 2 ^ (0.25 * (sf – SF_OFFSET))

其中

x_rescal 为应用了尺度因子公式之后的值

gain 为一个增益

sf 为尺度因子值

SF_OFFSET为一个常数,设为100

6、联合立体声解码

联合立体声有两种,M/S stereo(中间旁道立体声)和intensity stereo(强度立体声)

6.1 M/S stereo

在M_S立体声模式中,传送的是规格化的中间/旁边声道的信息,计算公式如下:

其中,

l, r表示转换后的左右声道值

m表示中间声道值

s表示旁边声道值

6.2 Intensity stereo

在强度立体声模式中,左声道传的是幅值,右声道的scalefactor传的是立体声的位置is_pos。如果仅在一个指定了common_window为1的CPE中的右通道中指定哈夫曼表为INTENSITY_HCB或INTENSITY_HCB2,则解码时使用强度立体声模式。其计算公式如下:

is_pos += dpcm_is_pos

scale = invert_intensity * 0.5 ^(0.25 * ispos)

r_spec = scale * l_spec

从完全备份中还原

从完全备份中还原数据库非常简单,在9.3.2节中会详细地

is_pos是右声道传送的scalefactor

dpcm_is_pos是上一个is_pos,初值为0

scale 为强度因子

invert_intensity为是否反转哈夫曼表(表14和表15)这个变量由ms_used

指定,关系为:invert_intensity = 1 –2 * ms_used,另外,当ms_mask_present 为0时,invert_intensity恒为1。

6.3 处理流程

联合立体声解码流程图

7、PNS

PNS(Perceptual Noise Substitution) 知觉噪声替换模块是一种以参数编码的方式模拟噪声的模块。在判别出音频值中的噪声后,将些噪声不进行量化编码,而是采用一些参数告诉解码器端这是某种噪声,然后解码器端将会对这些噪声用一些随机的编码来制造出这一类型的噪声。

在具体操作上,PNS模块对每个尺度因子带侦测频率4kHz以下的信号成分。如果这个信号既不是音调,在时间上也无强烈的能量变动,就被认为是噪声信号。其信号的音调及能量变化都在心理声学模型中算出。

在解码中,如果发现使用了哈夫曼表13(NOISE_HCB),则表明使用了PNS。

由于M/S立体声解码与PNS解码互斥,故可以用参数ms_used来表明是否两个声道都用同样的PNS。如果ms_used参数为1,则两个声道会用同样的随机向量来生成噪声信号。

PNS的能量信号用noise_nrg来表示,如果使用了PNS,则能量信号将会代替各

自的尺度因子来传送。

噪声能量编码同尺度因子一样,采用差分编码的方式。第一个值同样为全局增益值。它同强度立体声位置值及尺度因子交替地放在一起,但对差分解码来说又彼此忽略。即下一个噪声能量值以上一个噪声能量值而不是强度立体声位置或尺度因子为标准差分解码。

随机能量将会在一个尺度因子带内产生noise_nrg所计算出的平均能量分布。

7.1 处理流程

PNS解码流程图

8、TNS

TNS瞬态噪声整形用于控制一个转换窗口内的瞬时噪声形态。它是用一个对单个通道的滤波过程来实现的。

传统的变换编码方案常常遇到信号在时域变化非常剧烈的问题,特别是语音信号,这个问题是因为量化后的噪声分布虽然在频率域上得到控制,但在时域上却以一个常数分布在一个转换块内。如果这种块中信号变化得很剧烈却又不转向一个短块去,那这个常数分布的噪声将会被听到。

TNS的原理利用了时域和频域的二元性和LPC(线性预测编码)的时频对称性,即在其中的任意一个域上做编码与在另一域上做预测编码等效,也就是说,在一个域内做预测编码可以在另一域内增加其解析度。量化噪声产生是在频域产生的,降低了时域的解析度,故在这里是在频域上做预测编码。

在AACplus中,由于基于AAC profile LC,故TNS的滤波器阶数被限制在12阶以内。

8.1 处理流程

TNS解码流程图

9. IMDCT

将音频数据从频域转换到时域的过程主要是由将频域数据填入一组IMDCT滤波器来实现的。在进行IMDCT变换后,输出数值经过加窗,叠加,最后得到时域数值。

9.1 IMDCT公式

for 0<= n

其中

n为采样点索引值

i为窗索引值

k为频谱系数索引值

N为窗函数的长度,全为短窗N = 256,其余情况为2048

n0=(N/2 +1)/2

9.2 块型

由于长块的频域分辨率较高而短块的时域分辨率较高,故长块较适合相对平稳的时域信号,而短块较适合变化相对较快的时域信号。

长块长度为2048个点,短块长度为256个点。

9.3 加窗

AAC用到两种窗函数,分别为Kaiser-Bessel 类(KBD)窗和正弦窗。

KBD窗如下所示:

其定义为:

for 0 <= n <= N/2

其中

使用KBD窗时,window_shape 为1 正弦窗如下所示:

其定义为

使用正弦窗时,window_shape 为0

另定义:

对应于四种不同的窗序列分别进行不同的加窗变换:1.) 仅有长块:

window_shape 为 1:

window_shape 为0:

加窗后,时域信号可用w(n)表示为:

2.) 长开始块:

window_shape 为 1:

window_shape 为0:

加窗后,时域信号可用w(n)表示为:

3.) 只有短块:

window_shape 为 1:

window_shape 为0:

加窗后,时域信号可用w(n)表示为:

2.) 长结束块:

window_shape 为 1:

window_shape 为0:

加窗后,时域信号可用w(n)表示为:

9.4 覆盖叠加

在加窗完成后得到的时域信号值z经过前后窗相互叠加计算,得出最后的PCM 值:

术语说明

AAC: Advanced Audio Coding 高级音频编码

AAC LC: AAC with Low Complexity AAC的低复杂度配置

AAC plus: 也叫HE-AAC, AAC+,MPEG4 AAC LC加入SBR模块后形成的一个aac 版本

MPEG:Motion Picture Expert Group

IMDCT:反离散余弦变换

ADIF:Audio Data Interchange Format 音频数据交换格式

ADTS:Audio Data Transport Stream 音频数据传输流

SCE: Single Channel Element单通道元素

CPE: Channel Pair Element 双通道元素

CCE: Coupling Channel Element 藕合通道元素DSE: Data Stream Element 数据流元素

PCE: Program Config Element 程序配置元素

FIL: Fill Element 填充元素

ICS: Individual Channel Stream 独立通道流PNS: Perceptual Noise Substitution 知觉噪声替换SBR: Spectral Band Replication 频段复制

TNS: Temporal Noise Shaping 瞬时噪声整形

ch:channel 通道

音频的编解码

音频编码解码基本概念介绍 对数字音频信息的压缩主要是依据音频信息自身的相关性以及人耳对音频信息的听觉冗余度。音频信息在编码技术中通常分成两类来处理,分别是语音和音乐,各自采用的技术有差异。 语音编码技术又分为三类:波形编码、参数编码以及混合编码。 波形编码:波形编码是在时域上进行处理,力图使重建的语音波形保持原始语音信号的形状,它将语音信号作为一般的波形信号来处理,具有适应能力强、话音质量好等优点,缺点是压缩比偏低。该类编码的技术主要有非线性量化技术、时域自适应差分编码和量化技术。非线性量化技术利用语音信号小幅度出现的概率大而大幅度出现的概率小的特点,通过为小信号分配小的量化阶,为大信号分配大的量阶来减少总量化误差。我们最常用的G.711标准用的就是这个技术。自适应差分编码是利用过去的语音来预测当前的语音,只对它们的差进行编码,从而大大减少了编码数据的动态范围,节省了码率。自适应量化技术是根据量化数据的动态范围来动态调整量阶,使得量阶与量化数据相匹配。G.726标准中应用了这两项技术,G.722标准把语音分成高低两个子带,然后在每个子带中分别应用这两项技术。 参数编码:广泛应用于军事领域。利用语音信息产生的数学模型,提取语音信号的特征参量,并按照模型参数重构音频信号。它只能收敛到模型约束的最好质量上,力图使重建语音信号具有尽可能高的可懂性,而重建信号的波形与原始语音信号的波形相比可能会有相当大的差别。这种编码技术的优点是压缩比高,但重建音频信号的质量较差,自然度低,适用于窄带信道的语音通讯,如军事通讯、航空通讯等。美国的军方标准LPC-10,就是从语音信号中提取出来反射系数、增益、基音周期、清/浊音标志等参数进行编码的。MPEG-4标准中的HVXC声码器用的也是参数编码技术,当它在无声信号片段时,激励信号与在CELP时相似,都是通过一个码本索引和通过幅度信息描述;在发声信号片段时则应用了谐波综合,它是将基音和谐音的正弦振荡按照传输的基频进行综合。 混合编码:将上述两种编码方法结合起来,采用混合编码的方法,可以在较低的数码率上得到较高的音质。它的特点是它工作在非常低的比特率(4~16 kbps)。混合编码器采用合成分析技术。

AAC解码算法原理详解

AAC解码算法原理详解 原作者:龙帅 (loppp138@https://www.doczj.com/doc/054809050.html,) 此文章为便携式多媒体技术中心提供,未经站长授权,严禁转载,但欢迎链接到此地址。 本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。

2. 主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive 耳机放大器)输出模拟声音。 3. 同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。 AAC的音频文件格式有以下两种: ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。 ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。 AAC的ADIF格式见下图: 3.1 ADIF的组织结构 AAC的ADTS的一般格式见下图: 3.2 ADTS的组织结构 图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。ADIF和ADTS的header是不同的。它们分别如下所示:

mp3解码算法原理详解

MPEG1 Layer3 (MP3)解码算法原理详解 本文介绍了符合ISO/IEC 11172-3(MPEG 1 Audio codec Layer I, Layer II and Layer III audio specifications) 或 ISO/IEC 13818-3(BC Audio Codec)的音频编码原理。通过madlib解码库进行实现。 1、程序系统结构 mp3解码流程图 其中同步及差错检查包括了头解码模块 在主控模块开始运行后,主控模块将比特流的数据缓冲区交给同步及差错检查模块,此模块包含两个功能,即头信息解码及帧边信息解码,根据它们的信息进行尺度因子解码及哈夫曼解码,得出的结果经过逆量化,立体声解码,混淆缩减,IMDCT,频率反转,合成多相滤波这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。 2、主控模块

主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。 其中,输入输出缓冲区均由DSP控制模块提供接口。 输入缓冲区中放的数据为原始mp3压缩数据流,DSP控制模块每次给出大于最大可能帧长度的一块缓冲区,这块缓冲区与上次解帧完后的数据(必然小于一帧)连接在一起,构成新的缓冲区。 输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。 3、同步及差错检测 同步及差错检测模块主要用于找出数据帧在比特流中的位置,并对以此位置开始的帧头、CRC校验码及帧边信息进行解码,这些解码的结果用于后继的尺度因子解码模块和哈夫曼解码模块。Mpeg1 layer 3的流的主数据格式见下图: 主数据的组织结构图 其中granule0和granule1表示在一帧里面的粒度组1和粒度组2,channel0 和channel1表示在一个粒度组里面的两个通道,scalefactor为尺度因子quantized value为量化后的哈夫曼编码值,它分为big values大值区和count1 1值区 CRC校验:表达式为X16+X15+X2+1 3.1 帧同步 帧同步目的在于找出帧头在比特流中的位置,ISO 1172-3规定,MPEG1 的帧头为12比特的“1111 1111 1111”,且相邻的两个帧头隔有等间距的字节数,这个字节数可由下式算出: N= 144 * 比特率 / 采样率 如果这个式子的结果不是整数,那么就需要用到一个叫填充位的参数,表示间距为N +1。

AAC解码算法原理详解

A A C解码算法原理详解原作者:龙帅 此文章为提供,未经站长授权,严禁转载,但欢迎链接到此地址。 本文详细介绍了符合 ISO/IEC13818-7(MPEG2AACaudiocodec),ISO/IEC144 96-3(MPEG4AudioCodecAACLowComplexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 ?在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC13818-7所述的语法开始进行NoislessDecoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(JointStereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。 2.主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC芯片(立体声音频DAC和DirectDrive 耳机放大器)输出模拟声音。 3.同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信

什么是AAC格式

AAC(Advanced Audio Coding),中文称为高级音频编码,出现于1997年,基于 MPEG-2的音频编码技术。由Fraunhofer IIS、杜比实验室、AT&T、Sony(索尼)等公司共同开发,目的是取代MP3格式。2000年,MPEG-4标准出现后,AAC 重新集成了其特性,加入了SBR 技术和PS技术,为了区别于传统的 MPEG-2 AAC 又称为 MPEG-4 AAC。 Advanced Audio Coding。一种专为声音数据设计的文件压缩格式,与Mp3不同,它采用了全新的算法进行编码,更加高效,具有更高的性价比。利用AAC格式,可使人感觉声音质量没有明显降低 的前提下,更加小巧。AAC格式可以用苹果iTunes转换或千千静听(六组件) 苹果ipod、诺基亚手机和Sony随身听也支持AAC格式的音频文件。 优点:相对于mp3等有损格式,AAC格式的音质更佳,文件更小。 不足:AAC属于有损压缩的格式,与时下流行的APE、FLAC等无损格式相比音质存在本质上的差距。加之,目前传输速度更快的USB3.0和16G以上大容量MP3正在加速普及,也使得AAC头上小巧的光环不复存在了。 前景:以发展的眼光来看,正如高清正在被越来越多的人所接受一样,无损必定是未来音乐格式的绝对主流。AAC这种有损格式的前景不容乐观。 从MP3到AAC 早在1987年,Fraunhofer IIS就开始了EUREKA project EU147,Digital Audio Broadcasting (DAB)的研发,而这就是MP3的前身。通过和Dieter Seitzer教授的合作,他们开发出了著名的ISO-MPEG Audio Layer-3压缩算法。1993年这个算法被整合到MPEG-1标准中,从此MP3被投入使用。1996年底Fraunhofer IIS在美国获得MP3的专利,并在1998年对外声明将收取MP 3的专利使用费。而从1999年初开始,MP3格式广泛流行起来。特别是出现了很多免费提供MP3的音乐网站,MP3随身听也像洪水般涌进市场,种种因素促使MP3成为了极其主流的音频格式。尽管之后有VQF、WMA等挑战者,但MP3牢固的根基使它至今仍稳稳地坐在老大的位置上。 但是音频格式就像电脑软硬件一样,终归要更新换代的,像磁带不是被CD淘汰了吗?而CD也将要被DVD-Audio所代替。随着时间的推移,MP3越来越不能满足我们的需要了,比如压缩率落后于Ogg、WMA、VQF等格式,音质也不够理想(尤其是低码率下),仅有两个声道于是Fraunhofer IIS与AT&T、索尼、杜比、诺基亚等公司展开合作,共同开发出了被誉为21世纪的数据压缩方式的Advanced Audio Coding(简称AAC)音频格式,以取代MP3的位置。其实AAC的算法在1997年就完成了,当时被称为MPEG-2 AAC,因为还是把它作为MPEG-2(MP2)标准的延伸。但是随着MPEG-4(MP4)音频标准在2000年成型,MPEG-2 AAC也被作为它的编码技术核心,同时追加了一些新的编码特性,所以我们又叫MPEG-4 AAC(M4A)。

AAC的ADTS格式及解码算法详解

AAC的ADTS格式及解码算法详解 本文详细介绍了符合ISO/IEC 13818-7(MPEG2 AAC audio codec) , ISO/IEC 14496-3(MPEG4 Audio Codec AAC Low Complexity)进行压缩的的AAC音频的解码算法。 1、程序系统结构 下面是AAC解码流程图: AAC解码流程图 在主控模块开始运行后,主控模块将AAC比特流的一部分放入输入缓冲区,通过查找同步字得到一帧的起始,找到后,根据ISO/IEC 13818-7所述的语法开始进行Noisless Decoding(无噪解码),无噪解码实际上就是哈夫曼解码,通过反量化(Dequantize)、联合立体声(Joint Stereo),知觉噪声替换(PNS),瞬时噪声整形(TNS),反离散余弦变换(IMDCT),频段复制(SBR)这几个模块之后,得出左右声道的PCM码流,再由主控模块将其放入输出缓冲区输出到声音播放设备。 2. 主控模块 主控模块的主要任务是操作输入输出缓冲区,调用其它各模块协同工作。其中,输入输出缓冲区均由DSP控制模块提供接口。输出缓冲区中将存放的数据为解码出来的PCM数据,代表了声音的振幅。它由一块固定长度的缓冲区构成,通过调用DSP控制模块的接口函数,得到头指针,在完成输出缓冲区的填充后,调用中断处理输出至I2S接口所连接的音频ADC 芯片(立体声音频DAC和DirectDrive耳机放大器)输出模拟声音。 3. 同步及元素解码 同步及元素解码模块主要用于找出格式信息,并进行头信息解码,以及对元素信息进行解码。这些解码的结果用于后续的无噪解码和尺度因子解码模块。 AAC的音频文件格式有以下两种: ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。 ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。 AAC的ADIF格式见下图: 3.1 ADIF的组织结构 AAC的ADTS的一般格式见下图:

aac编码介绍

音频编码流程: 硬件采集→PCM编码[原始量化点|样值] →分帧[960|1024][生成原始帧raw frame|原始数据块] →封装[ADTS|LATM(较主流)] 待续 Ps:原始数据块以帧的形式存在,故又称为原始帧。 AAC:最初为MPEG-2音频编码标准,后来经过优化又被加入到MPEG-4音频标准之中;相对于mp3,wmv,mp2,ac3,等在相同播放质量码率更低,有效地节约了传输带宽,在移动广播领域,互联网流媒体,IPTV中有着很广泛的应用。 其最常见的封装格式为:ADTS AND LATM这是广播电视、通信领域常用的封装格式。RTP 协议采用的AAC封装格式是LATM格式,这里ADTS LATM间的转换尤为重要, AAC格式压缩编码标准: AAC编码规格: LC-AAC:地复杂度编码 HE-ACC:高效率编码,这里引入了SBR[频段复制技术]技术,又称为AAC+技术HE-AAC-V2:在AAC+的基础之上又引入了PS[参数化立体声]技术 封装格式: ADTS格式:short for :audio data transform stream 对前述原始帧进行ADTS封装就形成ADTS帧, ADTS帧:帧头+帧净荷组成,帧头存储了音频的相关参数信息:采样率,声道数,帧长度等关键信息[用帧净荷数据的解析解码]。帧净荷主要有原始帧组成[960|1024个样值]。可包含1~4个原始帧。 LATM格式:Low overhead MPEG-4 audio transport Multiplex.[低开销因音频传输复用] LATM也以帧为单位,组成为:AudioSpecificConfig+音频负载组成。AudioSpecificConfig描述了一个LATM帧的信息,音频负载主要由PayloadLengthInfo及音频负载组成[多组]。AudioSpecificConfig可以是带内传输也可以带外传输,AudioSpecificConfig一般不变,所以只需发送一次,由此可见AudioSpecificConfig采用带内传输可以适应编码信息不断变化的情况,而采用带外传输,可以节省音频传输码率,带内和带外由muxConfigPresent标志决定[0:带外|1:带内]。例如流媒体中可设置muxConfigPresent 为0,这样LATM帧将不含哟AudioSpecificConfig部分,LATM通过RTP包发送,而

(完整)流媒体传输协议及音视频编解码技术

1.1音视频编解码技术 1.1.1 MPEG4 MPEG全称是Moving Pictures Experts Group,它是“动态图象专家组”的英文缩写,该专家组成立于1988年,致力于运动图像及其伴音的压缩编码标准化工作,原先他们打算开发MPEG1、MPEG2、MPEG3和MPEG4四个版本,以适用于不同带宽和数字影像质量的要求。 目前,MPEG1技术被广泛的应用于VCD,而MPEG2标准则用于广播电视和DVD等。MPEG3最初是为HDTV开发的编码和压缩标准,但由于MPEG2的出色性能表现,MPEG3只能是死于襁褓了。MPEG4于1999年初正式成为国际标准。它是一个适用于低传输速率应用的方案。与MPEG1和MPEG2相比,MPEG4更加注重多媒体系统的交互性和灵活性MPEG1、MPEG2技术当初制定时,它们定位的标准均为高层媒体表示与结构,但随着计算机软件及网络技术的快速发展,MPEG1、MPEG2技术的弊端就显示出来了:交互性及灵活性较低,压缩的多媒体文件体积过于庞大,难以实现网络的实时传播。而MPEG4技术的标准是对运动图像中的内容进行编码,其具体的编码对象就是图像中的音频和视频,术语称为“AV对象”,而连续的AV对象组合在一起又可以形成AV场景。因此,MPEG4标准就是围绕着AV对象的编码、存储、传输和组合而制定的,高效率地编码、组织、存储、传输AV 对象是MPEG4标准的基本内容。 在视频编码方面,MPEG4支持对自然和合成的视觉对象的编码。(合成的视觉对象包括2D、3D动画和人面部表情动画等)。在音频编码上,MPEG4可以在一组编码工具支持下,对语音、音乐等自然声音对象和具有回响、空间方位感的合成声音对象进行音频编码。 由于MPEG4只处理图像帧与帧之间有差异的元素,而舍弃相同的元素,因此大大减少了合成多媒体文件的体积。应用MPEG4技术的影音文件最显著特点就是压缩率高且成像清晰,一般来说,一小时的影像可以被压缩为350M左右的数据,而一部高清晰度的DVD电影, 可以压缩成两张甚至一张650M CD光碟来存储。对广大的“平民”计算机用户来说,这就意味着, 您不需要购置DVD-ROM就可以欣赏近似DVD质量的高品质影像。而且采用MPEG4编码技术的影片,对机器硬件配置的要求非常之低,300MHZ 以上CPU,64M的内存和一个8M显存的显卡就可以流畅的播放。在播放软件方面,它要求也非常宽松,你只需要安装一个500K左右的MPEG4 编码驱动后,用WINDOWS 自带的媒体播放器就可以流畅的播放了 AV对象(AVO,Audio Visual Object)是MPEG-4为支持基于内容编码而提出的重要概念。对象是指在一个场景中能够访问和操纵的实体,对象的划分可根据其独特的纹理、运动、形状、模型和高层语义为依据。在MPEG-4中所见的音视频已不再是过去MPEG-1、MPEG-2中图像帧的概念,而是一个个视听场景(AV场景),这些不同的AV场景由不同的AV对象组成。AV对象是听觉、视觉、或者视听内容的表示单元,其基本单位是原始AV对象,它可以是自然的或合成的声音、图像。原始AV对象具有高效编码、高效存储与传输以及可交互性的特性,它又可进一步组成复合AV对象。因此MPEG-4标准的基本内容就是对AV对象进行高效编码、组织、存储与传输。AV对象的提出,使多媒体通信具有高度交互及高效编码的能力,AV对象编码就是MPEG-4的核心编码技术。 MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用 1.1.2 H264 H.264是由ITU-T的VCEG(视频编码专家组)和ISO/IEC的MPEG(活动图像编码专家组)联合组建的联合视频组(JVT:joint video team)提出的一个新的数字视频编码标准,

各种音视频编解码学习详解 h264

各种音视频编解码学习详解h264 ,mpeg4 ,aac 等所有音视频格式 编解码学习笔记(一):基本概念 媒体业务是网络的主要业务之间。尤其移动互联网业务的兴起,在运营商和应用开发商中,媒体业务份量极重,其中媒体的编解码服务涉及需求分析、应用开发、释放license收费等等。最近因为项目的关系,需要理清媒体的codec,比较搞的是,在豆丁网上看运营商的规范标准,同一运营商同样的业务在不同文档中不同的要求,而且有些要求就我看来应当是历史的延续,也就是现在已经很少采用了。所以豆丁上看不出所以然,从wiki上查。中文的wiki信息量有限,很短,而wiki的英文内容内多,删减版也减肥得太过。我在网上还看到一个山寨的中文wiki,长得很像,红色的,叫―天下维客‖。wiki的中文还是很不错的,但是阅读后建议再阅读英文。 我对媒体codec做了一些整理和总结,资料来源于wiki,小部分来源于网络博客的收集。网友资料我们将给出来源。如果资料已经转手几趟就没办法,雁过留声,我们只能给出某个轨迹。 基本概念 编解码 编解码器(codec)指的是一个能够对一个信号或者一个数据流进行变换的设备或者程序。这里指的变换既包括将信号或者数据流进行编码(通常是为了传输、存储或者加密)或者提取得到一个编码流的操作,也包括为了观察或者处理从这个编码流中恢复适合观察或操作的形式的操作。编解码器经常用在视频会议和流媒体等应用中。 容器 很多多媒体数据流需要同时包含音频数据和视频数据,这时通常会加入一些用于音频和视频数据同步的元数据,例如字幕。这三种数据流可能会被不同的程序,进程或者硬件处理,但是当它们传输或者存储的时候,这三种数据通常是被封装在一起的。通常这种封装是通过视频文件格式来实现的,例如常见的*.mpg, *.avi, *.mov, *.mp4, *.rm, *.ogg or *.tta. 这些格式中有些只能使用某些编解码器,而更多可以以容器的方式使用各种编解码器。 FourCC全称Four-Character Codes,是由4个字符(4 bytes)组成,是一种独立标示视频数据流格式的四字节,在wav、a vi档案之中会有一段FourCC来描述这个AVI档案,是利用何种codec来编码的。因此wav、avi大量存在等于―IDP3‖的FourCC。 视频是现在电脑中多媒体系统中的重要一环。为了适应储存视频的需要,人们设定了不同的视频文件格式来把视频和音频放在一个文件中,以方便同时回放。视频档实际上都是一个容器里面包裹着不同的轨道,使用的容器的格式关系到视频档的可扩展性。 参数介绍 采样率 采样率(也称为采样速度或者采样频率)定义了每秒从连续信号中提取并组成离散信号的采样个数,它用赫兹(Hz)来表示。采样频率的倒数叫作采样周期或采样时间,它是采样之间的时间间隔。注意不要将采样率与比特率(bit rate,亦称―位速率‖)相混淆。

(完整版)音频基础知识及编码原理

一、基本概念 1 比特率:表示经过编码(压缩)后的音频数据每秒钟需要用多少个比特来表示,单位常为kbps。 2 响度和强度:声音的主观属性响度表示的是一个声音听来有多响的程度。响度主要随声音的强度而变化,但也受频率的影响。总的说,中频纯音听来比低频和高频纯音响一些。 3 采样和采样率:采样是把连续的时间信号,变成离散的数字信号。采样率是指每秒钟采集多少个样本。 Nyquist采样定律:采样率大于或等于连续信号最高频率分量的2倍时,采样信号可以用来完美重构原始连续信号。 二、常见音频格式 1. WAV格式,是微软公司开发的一种声音文件格式,也叫波形声音文件,是最早的数字音频格式,被Windows平台及其应用程序广泛支持,压缩率低。 2. MIDI是Musical Instrument Digital Interface的缩写,又称作乐器数字接口,是数字音乐/电子合成乐器的统一国际标准。它定义了计算机音乐程序、数字合成器及其它电子设备交换音乐信号的方式,规定了不同厂家的电子乐器与计算机连接的电缆和硬件及设备间数据传

输的协议,可以模拟多种乐器的声音。MIDI文件就是MIDI格式的文件,在MIDI文件中存储的是一些指令。把这些指令发送给声卡,由声卡按照指令将声音合成出来。 3. MP3全称是MPEG-1 Audio Layer 3,它在1992年合并至MPEG规范中。MP3能够以高音质、低采样率对数字音频文件进行压缩。应用最普遍。 4. MP3Pro是由瑞典Coding科技公司开发的,其中包含了两大技术:一是来自于Coding 科技公司所特有的解码技术,二是由MP3的专利持有者法国汤姆森多媒体公司和德国Fraunhofer集成电路协会共同研究的一项译码技术。MP3Pro可以在基本不改变文件大小的情况下改善原先的MP3音乐音质。它能够在用较低的比特率压缩音频文件的情况下,最大程度地保持压缩前的音质。 5. MP3Pro是由瑞典Coding科技公司开发的,其中包含了两大技术:一是来自于Coding 科技公司所特有的解码技术,二是由MP3的专利持有者法国汤姆森多媒体公司和德国Fraunhofer集成电路协会共同研究的一项译码技术。MP3Pro可以在基本不改变文件大小的情况下改善原先的MP3音乐音质。它能够在用较低的比特率压缩音频文件的情况下,最大程度地保持压缩前的音质。 6. WMA (Windows Media Audio)是微软在互联网音频、视频领域的力作。WMA格式是以减少数据流量但保持音质的方法来达到更高的压缩率目的,其压缩率一般可以达到1:18。此外,WMA还可以通过DRM(Digital Rights Management)保护版权。 7. RealAudio是由Real Networks公司推出的一种文件格式,最大的特点就是可以实时传输音频信息,尤其是在网速较慢的情况下,仍然可以较为流畅地传送数据,因此RealAudio 主要适用于网络上的在线播放。现在的RealAudio文件格式主要有RA(RealAudio)、RM (RealMedia,RealAudio G2)、RMX(RealAudio Secured)等三种,这些文件的共同性在于随着网络带宽的不同而改变声音的质量,在保证大多数人听到流畅声音的前提下,令带宽较宽敞的听众获得较好的音质。 8. Audible拥有四种不同的格式:Audible1、2、3、4。https://www.doczj.com/doc/054809050.html,网站主要是在互联网上贩卖有声书籍,并对它们所销售商品、文件通过四种https://www.doczj.com/doc/054809050.html, 专用音频格式中的一种提供保护。每一种格式主要考虑音频源以及所使用的收听的设备。格式1、2和3采用不同级别的语音压缩,而格式4采用更低的采样率和MP3相同的解码方式,所得到语音吐辞更清楚,而且可以更有效地从网上进行下载。Audible 所采用的是他们自己的桌面播放工具,这就是Audible Manager,使用这种播放器就可以播放存放在PC或者是传输到便携式播放器上的Audible格式文件

音频编解码介绍

音频编解码原理介绍 一.为什么要进行音频编解码 二.音频编解码原理 三.几种基本音频编解码介绍 一、为什么要进行音频编解码 随着人们对多媒体图像和声音的要求越来越高,在高清晰数字电视(HDTV)和数字电影中不仅应有高质量的图像,也应当具有CD质量的立体声。因为用数字方法记录声音比用模拟方法记录声音具有更强的优势,例如传输时抗噪声能力强、增加音频动态范围、多次翻录没有信号衰减等。但是数字声音最大的缺陷是记录的数据量大,表现在两个方面:其一是在传输过程中,传输数字声音需要占用很宽的传输带宽;其二是在存储过程中,需要占用大量的存储空间。所以在数字音频中需要采用数字音频压缩技术,对音频数据进行压缩。 二、音频编解码原理 每张CD光盘重放双声道立体声信号可达74分钟。VCD视盘机要同时重放声音和图像,图像信号数据需要压缩,其伴音信号数据也要压缩,否则伴音信号难于存储到VCD光盘中。 一、伴音压缩编码原理 伴音信号的结构较图像信号简单一些。伴音信号的压缩方法与图像信号压缩技术有相似性,也要从伴音信号中剔除冗余信息。人耳朵对音频信号的听觉灵敏度有规律性,对于不同频段或不同声压级的伴音有其特殊的敏感特性。在伴音数据压缩过程中,主要应用了听觉阈值及掩蔽效应等听觉心理特性。 1、阈值和掩蔽效应 (1) 阈值特性 人耳朵对不同频率的声音具有不同的听觉灵敏度,对低频段(例如100Hz以下)和超高频段(例如16KHZ以上)的听觉灵敏度较低,而在1K-5KHZ的中音频段时,听觉灵敏度明显提高。通常,将这种现象称为人耳的阈值特性。若将这种听觉特性用曲线表示出来,就称为人耳的阈值特性曲线,阈值特性曲线反映该特性的数值界限。将曲线界限以下的声音舍弃掉,对人耳的实际听音效果没有影响,这些声音属于冗余信息。 在伴音压缩编码过程中,应当将阈值曲线以上的可听频段的声音信号保留住,它是可听频段的主要成分,而那些听觉不灵敏的频段信号不易被察觉。应当保留强大的信号,忽略舍弃弱小的信号。经过这样处理的声音,人耳在听觉上几乎察觉不到其失真。在实际伴音压缩编码过程中,也要对不同频段的声音数据进行量化处理。可对人耳不敏感频段采用较粗的量化步长进行量化,可舍弃一些次要信息;而对人耳敏感频段则采用较细小的量化步长,使用较多的码位来传送。 (2)掩蔽效应 掩蔽效应是人耳的另一个重要生理特征。如果在一段较窄的频段上存在两种声音信号,当一个强度大于另一个时,则人耳的听觉阈值将提高,人耳朵可以听到大音量的声音信号,而其附近频率小音量的声音信号却听不到,好像是小音量信号被大音量信号掩蔽掉了。由于其它声音信号存在而听不到本声音存在的现象,称为掩蔽效应。 根据人耳的掩蔽特性,可将大音量附近的小音量信号舍弃掉,对实际听音效果不会发生影响。既使保留这些小音量信号,人耳也听不到它们的存在,它属于伴音信号中的冗余信息。舍弃掉这些信号,可以进一步压缩伴音数据总量。

MP3编码原理概述

音频压缩由编码和解码两个部分组成。把波形文件里的数字音频数据转换为高度压缩的形式(称为比特流)即为编码;要解码则把比特流重建为波形文件。 音频压缩可以分为无损(lossless)压缩和有损压缩。无损压缩就是尽量降低音频数据的冗余度,以减小其体积。音频信号经过编码和解码之后,必须要和原来的信号一致。无损压缩的压缩率是比较有限的,不过现在比较出色的APE能做到50%的压缩率(本人用Monkey's Audio 3.97,Extra High压缩模式下压缩WAV,压缩率最低能达到52%);有损压缩就是用尽一切手段,包括无损压缩用到的方法,丢掉一切能丢掉的数据,以减小体积。而音频压缩后解码听起来起码是要跟原来差不多的,有损压缩的压缩比能大幅提高,MP3就是属于有损压缩,压缩比是12:1(128kbps)。 MP3文件是由帧(frame)构成的,帧是MP3文件最小的组成单位。什么是帧?还记得最初的动画是怎么做的吗?不同的连续画面切换以达到动态效果,每幅画面就是一个“帧”,不同的是MP3里面的帧记录的是音频数据而不是图形数据。MP3的帧速度大概是30帧/秒。 每个帧又由帧头和帧数据组成,帧头记录着该帧的基本信息,包括位率索引和采样率索引(这对理解ABR和VBR编码方式很重要)。帧数据,顾名思义就是记录着主体音频数据。 上面说的都是MP3编码的基础,但事实上,早期的编码器都非常不完善,压缩算法近于粗暴,音质很不理想。MP3的音质达到现在的水平有两次飞跃:人体听觉心理学模型(Perceptual Model)的导入和VBR技术的应用。 ◆人体听觉心理学模型 下面将简要介绍一下几个重要原理: 1) 最小听觉门槛判定(The minimal audition threshold) 人耳的听力范围是20Hz-20k Hz的频率范围,但是人耳对不同的频率声音的灵敏度是不同的,不同频率的声音要达到能被人耳听到的水平所需要的强度是不一样。那么通过计算,可以把音乐文件中存在但不能被人耳听到的声音去掉。通过这原理,我们还可以建立模型,把大部分数据空间分配到人耳最灵敏的2kHz 到5kHz范围,其余频率分配比较少的空间; 2) 人耳的遮蔽效应(The Masking effect) 蔽效应表现在强信号会遮蔽邻近频率的弱信号。用生活经验来说,在安静的房间中,一根针掉到地上都能听见,可到了大街上,就算手机音量调到最大,来电时也未必能听见,而手机的声音确确实实是存在的,原因就是被周围更大的声音遮蔽了。有了对遮蔽效应的研究成果,编码器就能根据已建立的数学模型,计算强信号对附近弱信号的遮蔽,把能引起人们注意的声音才保留。

aac

adts_sequnce() { while(nextbits==syncword) { adts_frame() } } //一般的syncword总是存在,则激活adts_frame() adts_frame() { adts_fixed_header(); adts_variable_header(); adts_error_check(); for(i=0;i

音频解码标准样本

音频编解码标准 PCMU(G.711U) 类型: Audio 制定者: ITU-T 所需频宽: 64Kbps(90.4) 特性: PCMU和PCMA都能提供较好的语音质量, 可是它们占用的带宽较高, 需要64kbps。 优点: 语音质量优 缺点: 占用的带宽较高 应用领域: voip 版税方式: Free 备注: PCMU and PCMA都能够达到CD音质, 可是它们消耗的带宽也最多(64kbps)。如果网络带宽比较低, 能够选用低比特速率的编码方法, 如G.723或G.729, 这两种编码的方法也能达到传统长途电话的音质, 可是需要很少的带宽( G723需要5.3/6.3kbps, G729需要8kbps) 。如果带宽足够而且需要更好的语音质量, 就使用PCMU 和 PCMA, 甚至能够使用宽带的编码方法G722(64kbps), 这能够提供有高保真度的音质。 PCMA(G.711A) 类型: Audio 制定者: ITU-T 所需频宽: 64Kbps(90.4) 特性: PCMU和PCMA都能提供较好的语音质量, 可是它们占用的带宽较高, 需要64kbps。 优点: 语音质量优 缺点: 占用的带宽较高

应用领域: voip 版税方式: Free 备注: PCMU and PCMA都能够达到CD音质, 可是它们消耗的带宽也最多(64kbps)。如果网络带宽比较低, 能够选用低比特速率的编码方法, 如G.723或G.729, 这两种编码的方法也能达到传统长途电话的音质, 可是需要很少的带宽( G723需要5.3/6.3kbps, G729需要8kbps) 。如果带宽足够而且需要更好的语音质量, 就使用PCMU 和 PCMA, 甚至能够使用宽带的编码方法G722(64kbps), 这能够提供有高保真度的音质。 ADPCM(自适应差分PCM) 类型: Audio 制定者: ITU-T 所需频宽: 32Kbps 特性: ADPCM(adaptive difference pulse code modulation)综合了APCM的自适应特性和DPCM系统的差分特性, 是一种性能比较好的波形编码。它的核心想法是: ①利用自适应的思想改变量化阶的大小, 即使用小的量化阶(step-size)去编码小的差值, 使用大的量化阶去编码大的差值; ②使用过去的样本值估算下一个输入样本的预测值, 使实际样本值和预测值之间的差值总是最小。 优点: 算法复杂度低, 压缩比小( CD音质>400kbps) , 编解码延时最短( 相对其它技术) 缺点: 声音质量一般 应用领域: voip 版税方式: Free 备注: ADPCM (ADPCM Adaptive Differential Pulse Code Modulation), 是一

MP3工作原理[图解]

MP3全称是MPEG Audio Layer 3,MPEG压缩格式是由运动图像专家组 (Motion Picture Experts Group)制定的关于影像和声音的一组标准,其中MP3就是为了压缩声音信号而设计的是一种新的音频信号压缩格式标准。CD唱片采样率频率为44.1MHz, 16Bits, 数据量为1.4Mbps,而相应的MP3数据量仅为112kbps或128kbps,是原始数据量的1/12。也就是说传统的一张CD现在可以存放10倍甚至更多容量的音乐,但是在人耳听起来, 感受到的音乐效果却没有什么不同。 MP3随身听的工作原理,其实很简单,反正就是有一块不知什么型号的控制芯片,控制解码芯片和LCD液晶屏,由解码芯片把内置闪存或是外插闪存卡之中的MP3文件解码,然后经数模转换,最后从耳机输送到我们的耳朵中。也就是说一共没几块芯片。你如果拆一个MP3随身听看看,你会发现里面比较大的半导体芯片只有4、5片。现在新一代的MP3随身听在技术上是非常先进的,最具代表性的是NOMAD II,基于美国CirrusLogic最新的EP7209 MCU(微程序控制器)芯片组,它的作用实际上就像电脑里的CPU,经过软件解码,可以支持多种网络音乐格式,包括MP3,以及日后的WMA格式。而国内使用这种芯片制造的MP3随身听也即将问世。 起初,MP3文件只能由电脑来播放,而随着互联网的发展,文件小、音质可与CD媲美的MP3音乐越来越适合人们在Internet上传递,而广为流行。再加上全世界范围内的MP3下载网站泛滥,使人们传统的听音乐习惯发生了改变。MP3的逐渐流行,随时随地欣赏MP3音乐的需求越来越高,这就创造了MP3播放器的市场。 越来越多的各种类型的MP3随身听不断问世,MP3随身听已经成为续MD 之后新兴的随身娱乐设备的亮点。目前,在全球市场上的MP3随身听有几十种之

音频编解码技术的延时问题

SBC编解码器在A2DP协议里是必不可少的。由于是将信号以帧的形式填充到蓝牙数据包中,其整体延迟时间比较高,主要归于以下几个因素: 1.编解码器延迟:每个音频编解码器在将数据进行编码、解码并发出去之前会造成一定的内部延迟。传统的编解码器已检测到高达50ms的编解码器延迟。 2.传输延迟:A2DP传输层采用数据包结构。工程师在使用基于SBC或感知的帧填充数据包时,有两个方案选择:其一是将一个帧放入大型蓝牙数据包中(图1);其二是将一个帧分解成两个蓝牙数据包(图2)。采用第一个方案会降低数据传输的稳健性,而在第二个方案中,解码器只有在接收到两个蓝牙数据包以后才能对分解帧进行解码,因此将大大增加传输延迟时间。 图1

图2 apt-X是CSR 公司专有的一种编码格式,压缩率4:1(约352 kbit/s),号称可以达到CD 音质。由于是专有格式,必须要求播放设备与接受设备均采用CSR的蓝牙模块才行。 特点:无缓冲,低延迟,如果出现数据包损失的话,几乎无需重传数据。apt-X不同于SBC,它采用无框架结构。解码过程中,aptX编解码器无需等待便可高效地对蓝牙数据包进行填充,也就是说,一旦它接收到数据包便即刻启动解码过程,无需等待(图3)。此外,aptX采用固定压缩率算法,可在传输过程中始终提供相同的比特率,从而保证每个配备aptX的产品输出相同的音质。 aptX具备的一系列独特特性在提供专业的音频性能及稳健性的同时,还可保证40ms的编解码延迟。 图3 关于解码方式的一个比喻: 我们可以想象一个四车道的高速公路经过一座只有单车道的桥。使用aptX技术相当于桥头上的收费站将四车道上的车流处理(或编码)成单车道队列,使其能够穿桥而过。然后,在桥尾有另一个收费站将单车道车流又处理(或解码)回四车道。 SBC、AAC 和MP3技术的这些收费站,会限制通过车辆所允许携带的汽油量,这样每辆车都必须将超出限量的汽油放掉。当他们通过桥另一端的收费站后,虽然汽油也许不会全部用完,但肯定比来时要少很多。此外,一旦您过了桥,之前放掉的汽油不会再还给您。换句话说,您永远失去了这些汽油。对重现音频这一事件来说,相当于上述几种解码方法使用更具破坏性的压缩技术来处理音频数据,使其能通过蓝牙传输,这意味着它们将扔掉自认为不重要的音频元素,仅重现有限的音频带宽。 SBC与aptX差别: 与SBC(Sub-Band Codec子带编解码)技术相比,aptX的优势比较明显: 在频率响应方面,aptX可以在整个频率范围内真实还原音频,SBC则会随着频率的增高,信号渐弱,从而导致失真显著。

MP3原理及电路分析资料

广西机电职业技术学院 数字音视频技术实训报告 课题类型:技术应用设计(论文)类 课题名称:MP3播放机原理及电路分析 系部:电气工程系 专业:电子信息工程专业 班级:电信060 学生姓名: 指导教师: 日期:2009.2-2009.5

MP3播放机原理及电路分析 关键词mp3;原理;电路 1 设计目的 1.进一步掌握数字数字电子技术课程所学的理论知识。 2.熟悉几种常用集成数字芯片,并掌握其工作原理,进一步学会使用其进行电路设计。 3.了解数字系统设计的基本思想和方法,学会科学分析和解决问题。 4.培养认真严谨的工作作风和实事求是的工作态度。 2 设计要求 1.MPEG Layer III的编解码原理:(1)MPEG标准简介;(2)MPEG Layer III 编码原理(思路);(3)MPEG Layer III解码原理(思路)。 2.MP3播放机:(1)研究MP3播放机的发展历史;(2)MP3播放机的功能;(3)MP3产品的常用解决方案。 3.一种典型MP3播放机的整机电路分析。 3 前言 随着数字音视频技术和微电子技术的发展,各种数字音视频产品在当今消费性电子市场中大量涌现,其中MP3播放机深受人们特别是年轻一代的欢迎。各地区特别是珠江三角洲地区出现了大量的MP3播放机生产厂家。根据国内知名的ICT市场研究与咨询机构赛迪顾问最新发布的《2006年第二季度中国MP3播放机市场分析报告》显示,2006年第二季度,中国MP3播放机销量为163.29万台,销售额为8.59亿元。赛迪顾问预测,2006年中国MP3播放机市场销量将突破730万台。 深入研究MP3播放机的原理和详细分析MP3播放机的整机电路对MP3播放机的制造和维修将起到重要的指导作用。 4 MP3播放机的概述 4.1 MPEG Layer III的编解码原理 4.1.1 MPEG标准简介 MPEG是活动图像专家组(Moving Picture Exports Group)英文的缩写,于1988年成立,是为数字视/音频制定压缩标准的专家组。MPEG组织最初得到的授权是制定用于“活动图像”编码的各种标准,随后扩充为“及其伴随的音频”及其组合编码。后来针对不同的应用需求,解除了“用于数字存

相关主题
文本预览
相关文档 最新文档