A-lawアルゴリズムは、規格化されたコンパンディングアルゴリズムの1つで、主にヨーロッパのデジタル通信システムで最適化に使っている[いつ?]。コンパンディングとは、アナログ信号をデジタイズに適した形にするためにダイナミックレンジを補正することである。
北アメリカや日本では、類似するμ-lawアルゴリズムを主に使っている。
入力を x とすると、それに A-law を適用した結果は以下の式で表される。
![{\displaystyle F(x)={\frac {\operatorname {sgn}(x)a}{1+\ln A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/6aa817c43a91afc4b27cd9ddb5d1e8b7bedaddbf)
![{\displaystyle a={\begin{cases}A|x|&{\mbox{if }}|x|<{1 \over A}\\1+\ln(A|x|)&{\mbox{if }}{1 \over A}\leq |x|\leq 1\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/142754f7109dfbfee602de4b731514bdb5b259f1)
ここで A は圧縮係数である。ヨーロッパでは
を使っている(87.6 も使っている)。
A-law の伸張結果は以下の逆関数で表される。
![{\displaystyle F^{-1}(y)={\frac {\operatorname {sgn}(y)a}{A}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/53e0f1523886b2fb607388eaabcee7702340fea9)
![{\displaystyle a={\begin{cases}|y|(1+\ln A)&{\mbox{if }}|y|<{1 \over 1+\ln A}\\\exp \left\{|y|(1+\ln A)-1\right\}&{\mbox{if }}{1 \over 1+\ln A}\leq |y|<1\end{cases}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d5517aecf0b0feef8f7aa5432fb47703cacb0dde)
このような符号化を施すのは、音声のダイナミックレンジが非常に広いため、効率的な線形デジタル符号化にあまり適していないからである。A-law アルゴリズムを使うと信号のダイナミックレンジを効率的に低減させ、符号化効率がよくなり、結果として所定のビット数で符号化したときのS/Nがよくなる。
μ-law との比較
μ-lawアルゴリズムは、A-lawよりも若干広いダイナミックレンジになるが、その代わりに微細な信号の歪みが大きくなる。規定により、1カ国でもA-lawを使う国があれば、国際接続ではA-lawが使われる。
関連項目
外部リンク
- Waveform Coding Techniques - 実装の詳細(ただし、A-lawの式は間違っている)
- A-Law and μ-law Companding Implementations Using the TMS320C54x (PDF)