Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1812701
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2011-06-04 01:40:51

CELT 编码器是一种用于音频的压缩算法。像 MP3 , Vorbis ,和 AAC 一样适合传输音乐,且获得高质量的音质。不像其他形式, CELT 占用很小的延时,甚至其延时比语音核心版式像 Speex , GSM 或 G.729 的都少。
 
在超低延时领域,没有确定的标准。
-G.722.1C ( ITU-T ): 40ms delay up to 32kHz
-AAC-LD(MOEG):20-50ms delay up to 48kHz
-ULD(Fraunhofer): <10ms delay, up to 48kHz
 
CELT 已经在这些竞争中领先。
其特性是:
- 可配置, 1.3ms 到 24ms , 典型的是 ~8ms
- 质量(在相同的比特率下):比 G.722.1C 好,与 AAC-LD 的相当,比 ULD 的好。
- 灵活性: 24kbps 到 160+kbps , 32kHz 到 96kHz ,可配置的延时,低复杂度模式。
- 自由性:开源( BSD ),没有专利
 
CELT —— Constrained Energy Lapped Transform
- 转换编码( MDCT ,像 MP3 , Vorbis 一样)
         短窗( ~8ms ) -> 低的频率分辨率
- 精确地对信号的各个带的能量进行编码
         这样不论什么信号,可以保持声音的粗糙形状
- 使用矢量量化对剩下的细节进行编码
- 结合时间偏移使用基音预测
         类似于语音编码中的线性预测
         同时帮助补偿频率分辨率差的问题
 
1 、 Lapped Transform
我们都知道,任何信号都可以使用不同频率余弦曲线的加权和表示。离散余弦转换( DCT )计算各个频率的权值。
 
DCT 中的“离散( Discrete )”意味着我们限制有限的频率数。
         - 随着转换块大小变小,能量“峰值”进入邻近的频率(更难去压缩)
同时普通的 DCT 在块之间产生编码失真(明显的不连续性),且很容易听出来。
“修正” DCT ( MDCT )使用衰落窗来对重叠的多块进行加窗。   
         - 与 MP3 , Vorbis , AAC 等一样,使用相同的转换。
         - 但是使用更小的块,更少的重叠。
 
2 、 Constrained Energy
因为人的耳朵在频域能听见大约 25 个截然不同的“临界频带”
         - 心理声学的掩蔽效应比频带之间的掩蔽效应强
 
根据临界频带( Bark scale )把 MDCT 系数进行分组
         - 限制每个频带至少包含 3 个系数来最小化每个频带的开销( overhead )。
         - 对所有频带具有不同的频率分辨率。
         - 但是把更多的比特数用在低频部分( LFs )。
 
大多数重要的心理声学课程从 Vorbis 学习得到:
Preserve the energy in each band
Vorbis 通过“ floor curve ”间接地操作
CELT 中对能量进行精确的编码
         - 粗糙的能量( 6dB 的分辨率),从前一帧和前一频带来预测
                   使用预测每帧可以节省 28bits , 5ms 的帧的比特率为 5.6kbps
         - 精细的能量,当有可用的比特率则不用通过预测来改善分辨率
 
3 、 Coding Band Shape
规范化后,各个频带由 N 维的单位矢量来表示
         - 点在 N 维的球体
         - 描述频带的能量的形状
使用以下两方面来编码形状
         - 使用前一个解码的信号内容的自适应码本来预测当前帧
         - 固定码本来处理那些不能预测的信号部分( the “ innovation ”)
然后使用矢量量化
 
Pitch Prediction
短块大小 -> 低的频率分辨率
         - 语音 / 音乐有周期的,平稳的内容
         - 经过短的 MDCT 后不能正确的表示周期
基音预测补偿了低的分辨率
         - 在时域搜索过去的 1024 的解码的样点,编码最好匹配的偏移
                   分辨率等于采样率
                   范围( 48kHz , FS=256 ): 48000/1024 到 48000/384=46.875 到 125Hz
         - 应用 MDCT 来转换到频域
         - 限制预测的频带低于 8kHz
 
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wuxiaoer717/archive/2011/01/11/6128645.aspx
阅读(894) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~