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

合集下载

AAC解码算法原理详解

AAC解码算法原理详解

AAC解码算法原理详解AAC(Advanced Audio Coding)是一种高级音频编码格式,它是MPEG-2和MPEG-4标准中定义的一种音频压缩算法。

AAC算法通过使用一系列的信号处理技术,能够在保持高音质的同时实现较高的压缩率。

本文将详细解释AAC解码算法的原理,包括主要的信号处理步骤和算法流程。

一、AAC解码算法的主要信号处理步骤1. 帧解析(Frame Parsing):AAC音频数据以一帧一帧的形式进行传输和存储。

解码器首先需要对输入的AAC数据进行帧解析,将音频数据按照帧的格式进行划分和组织。

2. 音频元数据提取(Audio Metadata Extraction):在AAC数据中,包含了一些音频元数据,如采样率、声道数、比特率等信息。

解码器需要从AAC数据中提取这些元数据,以便后续的解码处理。

3. 预处理(Preprocessing):预处理是为了减少音频数据中的冗余信息和噪声,提高解码的准确性和音质。

预处理步骤包括滤波、降噪、均衡化等。

4. 频谱分析(Spectrum Analysis):频谱分析是将音频数据从时域转换到频域的过程。

在AAC解码中,常用的频谱分析算法有快速傅里叶变换(FFT)和短时傅里叶变换(STFT)。

频谱分析可以提取音频数据的频谱特征,用于后续的声音重建。

5. 音频解码(Audio Decoding):音频解码是将压缩的AAC数据解码为原始的音频信号的过程。

在AAC解码中,主要使用了两种解码算法:MDCT(Modified Discrete Cosine Transform)和TNS(Temporal Noise Shaping)。

MDCT算法将频域的音频数据转换为时域的音频数据,而TNS算法则用于降低音频数据中的噪声。

6. 声音重建(Audio Reconstruction):声音重建是将解码后的音频信号进行还原和重建的过程。

在AAC解码中,声音重建主要采用了滤波、插值和重采样等技术,以提高音质和还原度。

aac编码介绍

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:带内]。

AAC音频格式分析与解码

AAC音频格式分析与解码

AAC音频格式分析与解码AAC(Advanced Audio Coding)是一种高级音频编码格式,它是MPEG-2音频的继承者,广泛应用于数字音频传输和存储中。

在本文中,我们将对AAC音频格式进行分析和解码。

AAC音频格式是一种有损压缩格式,它能够提供与其他音频格式相同的音频质量,但文件大小更小。

AAC通过采用一些先进的编码技术,如感知音频编码(Perceptual Audio Coding)、熵编码等,对音频信号进行压缩。

这样一来,就能够在相同的比特率下提供更高的音频质量。

AAC格式的音频文件通常以文件扩展名".aac"或".m4a"存储。

这些文件可以在许多不同的设备和平台上播放,如音频播放器、个人电脑、智能手机和流媒体服务等。

下面我们来分析AAC的编码和解码过程。

编码过程:1.音频采样:首先,原始音频信号通过麦克风或其他音频设备进行采样。

采样率通常为44.1kHz,与标准的CD音质相同。

2.信号预处理:采样的音频信号经过预处理步骤,如重采样、滤波等,以准备好用于编码的信号。

3.频域分析:音频信号通过傅立叶变换等方法转换为频域信号。

4.感知音频编码:这是AAC编码的核心步骤。

通过对频域信号进行感知编码,过滤掉人耳听觉不敏感的频率成分,从而减少编码数据量。

5. 熵编码:对感知编码后的信号进行熵编码,使用Adaptive Huffman Coding等算法进行数据压缩。

6.输出压缩数据:将编码后的数据写入AAC文件。

解码过程:1.读取AAC文件:首先,解码器读取存储在AAC文件中的压缩数据。

2.数据解压:对读取的压缩数据进行解压缩,恢复为编码前的数据。

3.熵解码:对解压后的数据进行熵解码,还原为感知编码后的频域信号。

4.逆变换:通过逆傅立叶变换等方法将频域信号转换回时域信号。

5.音频重构:将逆变换得到的时域信号进行音频重构处理,还原为原始的音频信号。

6.输出音频:将重构的音频信号输出到音频设备进行播放。

mp4、AAC数据格式、解析文件的创建修改时间

mp4、AAC数据格式、解析文件的创建修改时间

mp4、AAC数据格式、解析⽂件的创建修改时间AAC⽂件资料:AAC的⾳频⽂件格式有ADIF & ADTS:ADIF:Audio Data Interchange Format ⾳频数据交换格式。

这种格式的特征是可以确定的找到这个⾳频数据的开始,不需进⾏在⾳频数据流中间开始的解码,即它的解码必须在明确定义的开始处进⾏。

故这种格式常⽤在磁盘⽂件中。

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

这种格式的特征是它是⼀个有同步字的⽐特流,解码可以在这个流中任何位置开始。

它的特征类似于mp3数据流格式。

:.⼀加⼿机的录⾳⽂件是AAC格式的。

经过观察,这个⾳频⽂件格式为ADTS。

对这种类型⽂件分析,可以参考下mp3⽂件的⾳频数据帧---------------------------------------------------------------------------------------------------------------------------------------------MP4⽂件格式M4A⽂件头:MP4⽂件中的所有数据都装在box(QuickTime中为atom)中,也就是说MP4⽂件由若⼲个box组成,每个box有类型和长度,可以将box理解为⼀个数据对象块。

box中可以包含另⼀个box,这种box称为container box。

⼀个MP4⽂件⾸先会有且只有⼀个“ftyp”类型的box,作为MP4格式的标志并包含关于⽂件的⼀些信息。

Box说明:⾸先需要说明的是,box中的字节序为⽹络字节序,也就是⼤端字节序(Big-Endian),简单的说,就是⼀个32位的4字节整数存储⽅式为⾼位字节在内存的低端。

Box由header和body组成,其中header统⼀指明box的⼤⼩和类型,body根据类型有不同的意义和格式。

标准的box开头的4个字节(32位)为box size,该⼤⼩包括box header和box body整个box的⼤⼩,这样我们就可以在⽂件中定位各个box。

AAC音频压缩编码标准的ADTS与LATM格式分析

AAC音频压缩编码标准的ADTS与LATM格式分析

适应音 频编码信息不断变化 的情况 .而采用带外传输 ,可 以 节省 音频传输码率 。带 内或带 外传 ,由mu cn g rsn 标 x o f Peet i 志位决 定。 例如流媒体 应用 中, xo f Peet mu c n g rsn 可设置 为0, i 这 样 L M 帧 中将 不含 有 A do pcf c ni 信息 ,L T AT u is eic o f i g A M 帧通过 R P包发送 出去 , do p c ic ni T Au is eic o f f g可通过 S [】 DP4
AD S的全称 为 Au i D t rnpr Sra T do aa asot t m”( T e 音频数 据传输流 ) ,最早 在 MP G 2A E - AC中定义 ,MP G 4A E 一 AC继 续 把 AD S作为一种封装格式。A S格式 封装的音频压缩 T DT 码流适合网络传输 ,MP G一 S流采 用 AD S作 为 A E 2T T AC音 频码流的封 装格式之一。 AD S封装格式 的码流 以帧 为单位 ,一 个 AD S帧 由帧 T T 头、帧净荷组成 。帧头包含 固定帧头 、可变帧头 ,其 中定义
l ye a r


同步 字

l 数 警。 | 譬 “ l |j 一
子帧的数 目
MP G 标志符 . E 0表示 MP G 4 表 示 MP G 2 E .1 E -
n mS b r me u uFa s
文 件一次 性传送到解码端 。A do pc c ni u is e讯c o f g信息的主要
参 数如 表 4所 示 。
音 频 负 载 由 若 干 子 帧 组 成 , 每 个 子 帧 由 P yod eghno a laMu 组成 , DT 帧净荷一样 , ala L n tlf 和P yod x 与A S 音频 负载主要包含原始帧数据 。 a laMu 可 以复用多个节 P yo d x 目的音频流 ,每个节 目可 以有 多层音频流 ,由一个或多个原 始 帧 组 成 , 由 于 每 个 原 始 帧 没 有 起 始 信 息 , 需 要 P yod eg If信息来描述Pyo d x ̄ alaL n t no h alaMu  ̄各原始帧的长 度。

AAC音频编码技术

AAC音频编码技术

1.综述1.1背景早期的声音是用模拟信号的方式进行记录,并存储在磁盘和唱片上,这种方式能够准确地记录原声源的特性,并重放,但此方式不利于长期存储和复制。

随着数字化音频编码技术的产生,可以将原始模拟信号进行数字化离散处理,再保存,在保证声音的音质同时,减小存储空间。

发展过程中,越来越多的标准被制定出来。

如(MP3)、AAC、Dolby AC-3、WMA等,其中MPEG组织制定的一系列音频编码标准占据主要地位,成为商业领域最广泛的音频编码技术,AAC是具有代表性的编码技术。

MPEG 先进音频编码技术(Advanced Audio Coding,简称AAC)是在MP3(MPEG -1 Layer 3)基础上发展而来,出现于1997年,基于MPEG-2的音频编码技术。

由Fraunhofer IIS、杜比实验室、AT&T、Sony(新力)等公司共同开发。

具有压缩比高、重建音质好、编码和解码过程高度模块化、以及声道配置灵活等特点。

目前已被广泛应用于多媒体、信息通讯、网络广播电视等领域。

1.2数字音频编码概述音频编码压缩算法是为了保证在重构的音频信号不失真的前提下,以尽量少的位数来描述原始音频信号,以便于有限地存储或传输高音质的音频信号。

根据压缩编码原理的不同,可将音频编码方式分为四种,分别是波形编码、参数编码、混合编码和感知编码。

对于不同的音频编码方式,其运算复杂度、重构信号的质量、压缩率、编码和解码的延迟等都会有很大的不同,因此它们的应用场合也不会相同。

其中,感知编码主要是利用人耳听觉系统的心理声学特征,即人耳对音频信号的时间和频率的分辨能力是有限的,凡是人耳不能感知的成分不进行编码和传输,而人耳能够感知的部分运用心理声学原理进行压缩编码,并且在量化噪声低于掩蔽阈值的前提下允许有较大的量化失真。

感知编码一方面运用信号的统计特性移除了信号之间的冗余度,另一方面利用了心理声学中的掩蔽特性去掉了人耳系统无法感知的部分,从而使信号得到进一步的压缩。

AAC以adts格式封装的分析

AAC以adts格式封装的分析

AAC ADTS 格式分析一、ADTS格式:ADTS的全称是Audio Data Transport Stream。

是AAC音频的传输流格式。

AAC音频格式在MPEG-2(ISO-13318-7 2003)中有定义。

AAC后来又被采用到MPEG-4标准中。

1. adts_sequence(){while (nextbits() == syncword) {adts_frame();}}2. adts_frame(){adts_fixed_header();adts_variable_header();if (number_of_raw_data_blocks_in_frame == 0) {adts_error_check();raw_data_block();}else {adts_header_error_check();for (i = 0; i <= number_of_raw_data_blocks_in_frame; i++) {raw_data_block();adts_raw_data_block_error_check();}}}3.adts_fixed_header(){syncword; 12 bslbfID; 1 bslbflayer; 2 uimsbfprotection_absent; 1 bslbfprofile; 2 uimsbfsampling_frequency_index; 4 uimsbfprivate_bit; 1 bslbfchannel_configuration; 3 uimsbforiginal/copy; 1 bslbfhome; 1 bslbf}adts_variable_header(){copyright_identification_bit; 1 bslbfcopyright_identification_start; 1 bslbfframe_length; 13 bslbfadts_buffer_fullness; 11 bslbfnumber_of_raw_data_blocks_in_frame; 2 uimsfb}详细说明下ADTS头的重要数据部分:syncword 同步字The bit string ‘1111 1111 1111’,说明一个ADTS帧的开始。

AAC音频编码格式简介

AAC音频编码格式简介

AAC音频编码格式,完整名称叫做"高级音频编码(Advanced Audio Codec)”。

这种先进而高级的编码规范,是由Fraunhofer IIS公司(前MP3标准的制定者)、Dolby、AT&T、索尼、苹果等产业巨头共同开发的。

AAC音频编码技术早在1997年就制定成型,当时在MPEG-2中作为了MPEG2-AAC 音频编码规格之一,后来,在2000年被用在MPEG-4中(ISO 14496-3 Audio),所以现在变更为MPEG-4 AAC标准,也就是说,AAC已经成为MPEG4家族的主要成员之一,它是MPEG4第三部分中的音频编码系统。

AAC可提供最多48个全音域音频通道。

其中,AAC音频编码在不同的领域,分为九种规格:MPEG-2 AAC MainMPEG-2 AAC LC (Low Complexity)MPEG-2 AAC SSR (Scalable Sampling Rate)MPEG-4 AAC MainMPEG-4 AAC LC (Low Complexity)MPEG-4 AAC SSR (Scalable Sample Rate)MPEG-4 AAC LTP (Long Term Predicition)MPEG-4 AAC LD (Low Delay)MPEG-4 AAC HE (High Efficiency) AACPlusV1/V2(3GPP)其中,前三种估计很难用到,后六种中,LC和HE两种比较常用,因此就主要介绍这两种:MPEG-4 AAC LC (Low Complexity) 是最常用的规格,我们叫“低复杂度规格”,我们简称“LC-AAC”,这种规格在中等码率的编码效率以及音质方面,都能找到平衡点。

所谓中等码率,就是指:96kbps-192kbps之间的码率。

因此,如果要使用LC-AAC规格,请尽可能把码率控制在之前说的那个区间内。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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的一般格式见下图: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 * gaingain = 2 ^ (0.25 * (sf – SF_OFFSET))其中x_rescal 为应用了尺度因子公式之后的值gain为一个增益sf 为尺度因子值SF_OFFSET为一个常数,设为1006、联合立体声解码联合立体声有两种,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_posscale = invert_intensity * 0.5 ^(0.25 * ispos)r_spec = scale * l_spec从完全备份中还原从完全备份中还原数据库非常简单,在9.3.2节中会详细地is_pos是右声道传送的scalefactordpcm_is_pos是上一个is_pos,初值为0scale 为强度因子invert_intensity为是否反转哈夫曼表(表14和表15)这个变量由ms_used指定,关系为:invert_intensity = 1 – 2 * ms_used,另外,当ms_mask_present为0时,invert_intensity恒为1。

6.3 处理流程联合立体声解码流程图7、PNSPNS(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、TNSTNS瞬态噪声整形用于控制一个转换窗口内的瞬时噪声形态。

相关文档
最新文档