周末把HVXC的代码从MPEG4 Audio中抽取出来,花了好多功夫啊,2天几乎没怎么睡啊。MPEG4 Audio的代码写的真是好啊,各种算法实现功能啊,各种代码风格啊,全局变量满天飞啊,extern和static满天飞啊。代码真心难搞啊。终于提取出来了。去掉了mp4和flex的头。直接生成自己定义的HXVC格式。
HVXC的原理实际上和北京工业大学的鲍长春教授的HELP算法以及美国加州大学圣巴拉分校的Vladimir Cuperman的Abs-MHC编码器有着相似的结构,都是在频域上用Harmonic激励来处理。
今天先列出部分的MOS分评估结果。
HVXC和AMBE的比对结果
ORIG_DAM |
HVXC |
3.375 |
2000 |
AMBE2 |
3.292 |
2000 |
|
AMBE |
3.348 |
2400 |
ITU 中文测试序列 |
G723.1 5300 |
HVXC 4000 |
Ch_f1.pcm |
3.195 |
3.239 |
Ch_f2.pcm |
3.166 |
3.073 |
Ch_f3.pcm |
3.094 |
3.154 |
Ch_f4.pcm |
3.209 |
2.994 |
Ch_m5.pcm |
3.374 |
3.449 |
Ch_m6.pcm |
3.363 |
3.296 |
Ch_m7.pcm |
3.445 |
3.459 |
Ch_m8.pcm |
3.481 |
3.32 |
平均值 |
3.290 |
3.248 |
ITU 英文测试序列 |
HVXC 4000 |
HVXC 2000 |
A_eng_f1_8khz.wav |
3.123 |
3.082 |
A_eng_f2_8khz.wav |
3.309 |
3.217 |
A_eng_f3_8khz.wav |
3.149 |
3.035 |
A_eng_f4_8khz.wav |
3.145 |
2.911 |
A_eng_f5_8khz.wav |
3.278 |
3.19 |
A_eng_f6_8khz.wav |
3.313 |
3.184 |
A_eng_f7_8khz.wav |
3.267 |
3.061 |
A_eng_f8_8khz.wav |
3.058 |
2.902 |
A_eng_m1_8khz.wav |
3.581 |
3.371 |
A_eng_m2_8khz.wav |
3.284 |
3.083 |
A_eng_m3_8khz.wav |
3.236 |
3.022 |
A_eng_m4_8khz.wav |
3.478 |
3.226 |
A_eng_m5_8khz.wav |
3.449 |
3.222 |
A_eng_m6_8khz.wav |
3.48 |
3.248 |
A_eng_m7_8khz.wav |
3.507 |
3.258 |
A_eng_m8_8khz.wav |
3.568 |
3.284 |
平均值 |
3.3265625 |
3.1435 |
ITU 中文测试序列 |
HVXC 4000 |
HVXC 2000 |
Ch_f1.pcm |
3.239 |
3.153 |
Ch_f2.pcm |
3.073 |
2.918 |
Ch_f3.pcm |
3.154 |
2.899 |
Ch_f4.pcm |
2.994 |
2.654 |
Ch_f5.pcm |
3.052 |
2.944 |
Ch_f6.pcm |
3.052 |
2.928 |
Ch_f7.pcm |
3.073 |
2.892 |
Ch_f8.pcm |
3.004 |
2.725 |
Ch_m1.pcm |
3.532 |
3.279 |
Ch_m2.pcm |
3.386 |
3.203 |
Ch_m3.pcm |
3.181 |
3.037 |
Ch_m4.pcm |
3.181 |
3.003 |
Ch_m5.pcm |
3.449 |
3.246 |
Ch_m6.pcm |
3.296 |
3.2 |
Ch_m7.pcm |
3.459 |
3.154 |
Ch_m8.pcm |
3.32 |
3.06 |
平均值 |
3.2153125 |
3.0184375 |