音视频技术学习
直播中

徐一腾

7年用户 165经验值
私信 关注
[经验]

DSD解码与编码

目前不少音乐软件都支持DSD的解码了,但是编码这块,普通免费转码器还是相对比较少。目前了解最常见的支持解码DSD的就是酷狗播放器,QQ音乐好像还不支持。。。
DSD是数字比特流,1bit量化,高采样率,至于能这么做的原因在之前的帖子已经提过了。前面分析中,这个转换后的比特流仍然拥有很强的量化噪声功率,只不过它和信号功率的分布分开了。这里存在一个边界,我们可以通过一个低通滤波器滤除高频部分的噪声,输出后的序列是浮点(当然也可以乘以一定的倍数转换成定点),采样率仍然是高采样率,根据过采样率的倍数,我们将其转换到需要的采样率。方法就是抽取了,这部分工作完全可以由经典的数字信号处理方法完成。曾经思考过一个问题:
是不是降的采样率越低,信噪比越好?
答案应该是相对的,这与前面的抽取滤波器、信号的基带宽度都有关系,信号基带宽度越窄,自然如此,但是当信号基带宽度较宽时,反而可能产生混叠。前面抽取滤波器设置的采样率越高,越容易把噪声混叠到基带来,所以抽取只是一种去除冗余信息的手段。
一般抽取和滤波,都会按帧进行。这点可以参考索尼的文件编码信息。
DSD编码:
DSD编码的格式有两种,一种是DSF,另一种是DFF,区别是两者文件头中包含的信息不同。但是数据区都是一样的。编码比解码多了一个调制的过程,一般多出现在基于delta-sigma的DAC和功放中。由于delta-sigma工作的基础是高采样率,因此首先要把输入的低采样率信号升采样到一个高采样率信号。方法有很多,例如0插值、线性插值、sinc插值、sinc插值+采样保持等。比较简单的方法是0插值+低通滤波(参考《多速率信号处理》)。因为是0查,算法复杂度只跟滤波器的阶数有关而跟过采样率无关,当然了,这只是指一个点的算法复杂度,如果算上信号采样率的话,复杂度还是要乘上采样率。即o(OSR*N*FS)。
信号升采样以后进行调制。调制就是经典的delta-sigma调制器了。调制以后保存即可。
不过这个性能消耗还是比较强的,个人写的单精度浮点调制算法,Release模式下,调制一个5分钟的立体声wav文件需要90多秒,距离软件实时调制还是有差距的。。。。

回帖(4)

黄彩萍

2019-2-22 10:09:27
我觉得如果不是专业搞录音棚设备的,DSD编码就没必要研究了。拿本来就是较差音质的音频文件,转换成DSD,肯定不会比原有音质更好。比如拿MP3转成DSD,那是自欺欺人而已。
举报

吴立节

2019-2-22 10:20:10
倒是DSD解码,可以好好研究一下。
举报

李慧芳

2019-2-22 10:29:58
DSD解码工作量不是很大,可以做成实时的,原子哥分分钟可以解决掉啊。
举报

欧竞仲

2019-2-22 10:44:40
只是公司有这块需求而已。
DSD编码有的时候需要场合不光是录音棚啦,比如唱片公司推出音乐修剪,现在PCM上做修剪,最后合成DSD。另外从实时角度上讲,就是概念了,直接做DSD层的解码,不经过PCM了。DSD时钟比较好的话,效果可以做到优于PCM的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分