Μ-lawアルゴリズムとは - わかりやすく解説 Weblio辞書 (original) (raw)

μ-lawアルゴリズム対数を用いたコンパンディングアルゴリズムの一種である[1]。他のコンパンディングアルゴリズムと同様、信号ダイナミックレンジを低減させる。アナログでは、S/Nを向上させる効果があり、デジタルでは量子化誤差を低減させる(結果としてS/Nが向上する)。S/N向上と引き換えに帯域幅が狭くなる。

主に北アメリカ日本デジタル通信システムに使われている。ヨーロッパでは、類似するA-lawアルゴリズムを使っている。

アルゴリズム

アルゴリズムには、アナログ版と量子化されたデジタル版がある。

連続

入力 x に対する μ-law 符号化は、以下の式で表される[2]

F ( x ) = sgn ⁡ ( x ) ln ⁡ ( 1 + μ | x | ) ln ⁡ ( 1 + μ ) − 1 ≤ x ≤ 1 {\displaystyle F(x)=\operatorname {sgn}(x){\frac {\ln(1+\mu |x|)}{\ln(1+\mu )}}~~~~-1\leq x\leq 1}

図. μ-law(x軸: 線形信号, y軸: μ-law信号)

G.711 では、境界にある値の扱いが不明確である(例えば、+31 は 0xEF なのか 0xF0 なのか)。しかし、G.191 にあるC言語によるμ-lawエンコーダの例は、以下のようになっている。正の値と負の値の違いに注意が必要である。例えば、+30 から +1 の範囲に対応する負の範囲は -31 から -2 である。これは、2の補数ではなくむしろ1の補数(単純なビット反転)で説明できる。

この符号化を使うのは、音声のダイナミックレンジが広いためである。アナログでは、ある一定の背景雑音が混じることで、信号の詳細が失われる。元々音の信号であるため、人間の聴覚対数的に音の強さ(音の大きさ)を知覚するという事実を利用し、対数応答オペアンプを使って信号を対数的に圧縮する。電気信号にノイズが乗るのは主に信号線上であり、対数的に圧縮してからノイズが乗っても、信号を元に戻したときに音の大きい部分は確実に大きく知覚される。この手法は電気通信でデジタル化以前からよく使われ、μ-law 仕様が規格間の互換性のために定義された。

デジタルが使われるようになると、以前から使っていたアルゴリズムが音声を表す信号に必要なビット数の削減にも効果があることがわかった。μ-lawを使うと、標本を8ビットで表すことができ、コンピュータの処理単位とも一致した。

μ-law は A-law よりも若干ダイナミックレンジが広いが、微細な信号の歪みが大きくなる。規定により、1カ国でもA-lawを使う国があれば、国際接続ではA-lawが使われる。