【数据压缩 (八)】MPEG原理分析及MPEG编码器的调试

一、实验要求

1、理解程序设计的整体框架

2、理解感知音频编码的设计思想

两条线和时-频分析的矛盾!

3、理解心理声学模型的实现过程

临界频带的概念

掩蔽值计算的思路

4、理解码率分配的实现思路

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

6、选择三个不同特性的音频文件

噪声(持续噪声、突发噪声)

音乐

混合

7、某个数据帧,输出

该帧所分配的比特数

该帧的比例因子

该帧的比特分配结果

二、实验原理

1、听觉阈值曲线

两个声音响度级相同,但强度不一定相同, 还与频率有关;声压级越高, 等响度曲线趋于平坦;人耳对3~4KHz 的声音感觉最灵敏

3、频域掩蔽域随声压级变化曲线

3、临界频带

临界频带是指当某个纯音被以它为中心频率、且具有一定带 宽的连续噪声所掩蔽时,如果该纯音刚好被听到时的功率等 于这一频带内的噪声功率,这个带宽为临界频带宽度

研究窄带噪声对纯音掩蔽量的规律时被发现的 ,使噪声的中心频率等于信号频率,只改变噪声的带宽同时保持噪声 的功率谱密度不变,测试纯音听阈随掩蔽噪声带宽变化的特性 。纯音的听阈随掩蔽噪声带宽的增大而增大,在带宽增大到某一特定 值之后听阈保持恒定不变。

通常认为从20Hz到16kHz有25个临界频带,单位为bark,1 Bark = 一个临界频带的宽度

 4、掩蔽值计算

音乐与语音信号大都由一系列复杂的频谱分量构成 ,相应 的这些多个掩蔽分量也会相互影响并最终获得一个整体的掩 蔽阈值。对于多个掩蔽分量的综合掩蔽效果,目前有多种模 型给出了描述方案 。Lutfi 对多个掩蔽音同时存在时的综合掩蔽效果进行了研究: 每个掩蔽音的掩蔽效果先独立变换然后再线性相加。

三、实验代码

1、整体框架

2、代码调试

1、添加宏定义

common.h中添加代码

#define FRAME_TRACE 1

2、print_config()函数

打印输入文件、输出文件、输出音频的采样率和目标码率。

#if FRAME_TRACE
  FILE* need;
  need = fopen("need.txt", "a");
  fprintf(need, "========== 基本信息 ==========\n");
  fprintf(need, "输入文件:%s\n", inPath);
  fprintf(need, "输
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值