(红线)和普通编码方式(绿线)下的信噪比,横轴为输入信号强度,图为对数坐标系。|350x350px]]
A律编码(),也称作A律压缩、A律压扩,是一种非均匀编码算法。该编码算法通过为小信号提供更高的量化精度,以优化语音等模拟信号量化为数字信号后的动态范围。
A律编码被广泛用于欧洲、中国大陆等地区的8位PCM数字通信系统,也是国际标准ITU-T G.711中规定的两种压缩扩展算法之一,另一种与之类似的算法是主要在北美和日本等地区使用的μ律编码。
原理
由于语音信号的幅度通常并非均匀分布,而小信号的占比通常较大,故通常的线性编码方式并不适合使用。针对语音信号的这一特点,通常会采用A律编码这类非均匀编码,以提高小信号时的量化精度,从而提高编码效率,使编码后信号的信噪比相较于同样编码位数下线性编码所能获得的信噪比更高。
具体原理是,利用对数函数在输入数值越小时,输出值的灵敏度也越高的特点,将给定的信号从线性值映射到对数值。即满足如下函数:
F(x) = \sgn(x) \begin{cases}
\dfrac{A |x|}{1 + \ln(A)}, & |x|
其中x,y分别表示输入和输出信号,A为压缩参数。在中国和欧洲的通信系统中,通常使用A=87.6。
上表中,线性输入和线性输出的编码方式与原码类似,但符号位相反,即负数时s=0,正数时s=1;编码后的首位为极性码,与输入输出类似,其在负数时取值为0,正数时取值为1;第2至4位为段落码,其含义为右图中从原点向两侧以0开始数起的段落编号;第5至8位为段内码,表示在相应段落内近似按照线性编码方式获得的编码值。
需要注意的是,经解码后的输出值与编码前的输入区间中值并非相同,而是相差所处段落的二分之一个区间长度。
此外,在G.711标准中还规定传输时应将编码值的偶数位取反,这一规定是为了使传输时的信号包含更多的0/1对,从而便于PCM接收器进行时钟同步。
参见
- 动态范围压缩
参考文献
外部链接
- [https://www.cisco.com/c/en/us/support/docs/voice/h323/8123-waveform-coding.html 波形编码技术] 包含实现该算法的详细信息
评论 (0)