MPEG音频编码实验

本文介绍了MPEG音频编码的基本原理,包括感知音频编码、心理声学模型和码率分配。通过心理声学模型分析人耳对声音的感知,并利用掩蔽效应优化编码。实验结果显示了不同音频文件(持续噪声、突发噪声、音乐和噪声+音乐混合)在44.1kHz采样率和192.000kbps目标码率下的编码效果。
摘要由CSDN通过智能技术生成

MPEG音频编码原理

感知音频编码

  1. 感知音频编码即基本思想:基于人对于声音在生理上以及心理上(通过心理声学模型分析出而得)不足,将声音不被人感知的部分看作冗余数据,不进行编码,以此来实现音频的压
  2. 感知音频编码的基本框架:

 心理声学模型

  • 心理声学模型分析基础简要说明:
  1. 人类的听域:20Hz~20000Hz
  2.  响度与频率:人耳听觉对不同频率有不同的敏感度,而且这种敏感度的不同随着响度的增加而变得不那么显著。
  3.  掩蔽效应:强音的出现会提高周围频率的听域,带来掩蔽效应。举个简单的例子:人会感觉到有些原来听得到的声音在强音出现后听不见了,这是因为听域提高了,原来的声音现在在听域之下
  4.  临界频带:若某个纯音被以它为中心频率,且具有一定带宽的连续噪声所掩蔽又刚好能被听到,此时该纯音的功率等于这一频带内噪声的功率,噪声的带宽成为临界频带宽度。总的来说,临界频带在低频的部分较窄,在高频的部分较宽
  • 心理声学模型中掩蔽值的计算

1. 对样本做FFT变换将其转换到频域

2. 确定声压级别

3. 引入绝对听域曲线

4. 将音频划分为乐音和噪声:将临界频带的峰值看作乐音,其余都一概视为噪声

5. 根据标准计算出掩蔽阈值:乐音与噪音之间的掩蔽值

6. 计算全局的掩蔽阈值:此时需要考虑不同临界频带的乐音之间的相互影响(掩蔽扩散)

7. 子带的掩蔽阈值:选择最小的阈值作为当前自带的掩蔽阈值

8. 每个子带的信掩比SMR(signal-to-mask ratio)

   SMR = 信号能量/掩蔽阈值

码率分配

  1. 确定可用于样值编码的有效比特数,有效比特数由比例因子、比例因子选择信息、比特分配信息以及辅助信息所需比特数共同决定。

  2. 分配算法:循环,退出条件为比特分配完毕

    计算噪掩比NMR:NMR = SMR - SNR(dB)

    将比特分配给NMR最高的子带

    重新计算分配了比特子带的NMR

实验结果

输出音频的采样率和目标码率

 

从上图中可以读出当前分析的音频文件采样率为44.1kHz,目标码率为192.000kbps

分析三个不同性质音频文件的数据

在主函数中添加以下代码:

  FILE* output;
  output = fopen("output.txt", "w");
  if (frameNum =&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值