抖动 (数码信号处理)
此条目可参照英语维基百科相应条目来扩充。 |
抖动(英语:dither),是在数码信号处理领域的中一项用于降低量化误差的技术。透过在较低比特中加入噪声,借此破坏谐波的排序,使谐波的影响受到压制,并减少量化误差在低频的影响。[1]抖动常用于音视频处理,且是CD压制过程的最后一步。经过抖动处理过的音乐,将听起来更柔顺、背景更黑;而经过抖动处理过的影像,也会更加地柔顺耐看。
![](http://upload.wikimedia.org/wikipedia/commons/c/c1/Michelangelo%27s_David_-_Floyd-Steinberg.png)
抖动在音频信号处理中也称作颤动[2],在数码图像处理中也称作抖色[3]。 抖动最重要的用途之一是将灰阶图像转为黑白。透过使用抖动算法,可以令黑白图案的黑点密度接近原图案的大致灰度。
背景描述
编辑自然界的信号在时域与幅度上大多为连续的,而根据采样定理,采样时域会使用两倍的信号最大频率,它确定了信号带宽的上限,或能捕获连续信号的所有资讯的离散采样信号所允许采样频率的下限;然而,较少人注意到的是,幅度的量化亦是信号还原过程的重要因子。
由于硬件支持的限制,不可能使用无穷多的比特去表示一个幅度,只能使用近似的方式去表达,举例来说,如果数字系统只能显示自然数,那么数字1.8将会被归类为2来存储;数字2.4亦会被归类为2来存储。而借由将连续的幅度、时域转为离散的资料形式,更易于资讯的存储、传输、还原。在这世界流行的CD光碟,存储的音乐大多为16比特,44100赫兹;后者因人耳接收最大频率的关系,因此只选择22050的两倍采样率,这就是有名的奈奎斯特频率。
然而,如上一段所述,使用有限比特作信号幅度量化时,无法避免的误差产生了,就像1.8被归类为2,误差就是负0.2,而2.4被归类为2,误差就是正0.4;采样比特越高,量化误差就越少,我们甚至可以算出量化误差之最大值为该采样比特之最小单位。例如CD的每两个连续采样点之间的最大误差为2的16次方分之一。
人耳对于频率的敏感度是不同的,人耳对于低频较敏感,对于超过五千赫兹的高频较不敏感,因此对于人耳来说,量化误差在低频的影响同样比在高频来的多。为了解决这样的问题,抖动就是在信号幅度加入微量噪声,使锯齿状的信号还原时更加平滑,详细实现方式于下一段讲解。
数字音频
编辑在数字音频中,许多播放软件具有抖动功能,例如著名的AMARRA播放器,可见得抖动的功用以及备受肯定。
以调整音量来说,有分为数字式与模拟式的调整,模拟式通常使用可变电阻去对输出信号做衰减。然而,方便快速的数字式亦会造成量化误差的影响,
举例来说,如果一串信号是1 2 3 4 5 6 7 8
如果将这样的信号始衰减五分之一,
那么这串信号将变成0.8 1.6 2.4 3.2 4 4.8 5.6 6.4
若将这样的衰减信号无条件舍去,则变成0 1 2 3 4 4 5 6
若将这样衰减的信号无条件进位,则变成1 2 3 4 4 5 6 6
而将这样的信号去做四舍五入量化时,将变成1 2 2 3 4 5 6 6
我们可以发现调整音量对于量化误差有增大的影响。
或许人们会有疑问,如此幅度的误差很重要吗?有需要去解决吗?差一点点差很多吗?
事实上,根据傅里叶变换,幅度与幅度之间的关系是会间接影响频率的表现,而人耳对具有周期性的声音、频谱上特别突出的频率、随时间而变化的突出频率、低频率的变动、泛音的增减又是如此的敏感,因此当声音从高清晰度降低为低分辨率时,万万不可小看这样的误差。对于上述问题,较可行的解法是先将比特数拉长,例如CD的16比特先拉到24位,接着将多出来的8比特加入噪声。例如白噪声,也就是能量在各频率都一样的噪声,这种噪声是随机的、乱序的、不规则的,我们大脑对于这样的信号,会认为/界定为不重要、没有意义、没有办法追踪的信号,所以会自动降低它的敏感度,将它忽视掉。
所以我们就先利用这样的特性,在24比特转回16比特时,在最后的八比特加入这样的噪声,这样的噪声虽然会增加总体的噪声量,但是会打乱原本的量化误差,消除量化误差与原本信号的关连。
也就是用我们比较可以接受/忍受的“沙沙沙”噪声,来换取、取代原本突出的泛音失真。
音频示例:
图像处理
编辑算法
编辑参考资料
编辑- ^ Ken C. Pohlmann. Principles of Digital Audio. McGraw-Hill Professional. 2005. ISBN 0-07-144156-5.
- ^ 用顫動訊號改善系統判別中之訊號取樣誤差. 台湾博硕士论文知识加值系统. [2022-04-30]. (原始内容存档于2022-04-30).
- ^ 於影像半色調化程序中隱藏資料之研究. 台湾博硕士论文知识加值系统. [2022-04-30].