无损音频编码与心理声学滤波技术解析
1. 无损音频编码与解码
1.1 无损音频编码
在无损音频编码过程中,首先计算 Rice 系数,代码如下:
ricecoeffc=np.clip(np.ceil(np.log2((meanabs+1)*2/3)),0,None)
ricecoeff=np.round((ricecoeffc+ricecoefff)/2.0).astype(np.int8) #integer, 8bit
print("ricecoeff=", ricecoeff)
s=struct.pack('b'*int(len(ricecoeff)),*ricecoeff)
pickle.dump(s, codedfile, protocol=-1)
接着,使用这些 Rice 系数对各子带值进行 Golomb - Rice 编码并写入文件:
for k in range(N): #loop across subbands:
if (k%100==0): print("Subband:",k)
#m=2**b
signedrice=rice(b=ricecoeff[k],signed=True)
yrice= BitStream(ychan[chan,k,:].astype(np.int32), signedrice)
#see: http://boisgera.github.io/bitstream/
#Turn bitstream format into sequ
超级会员免费看
订阅专栏 解锁全文
42

被折叠的 条评论
为什么被折叠?



