
μ -law アルゴリズム( mu -lawと書かれることもある、しばしばu-lawと略される) は、主に北米と日本の8 ビットPCMデジタル通信システムで使用される圧縮伸長アルゴリズムです。これは、ITU-TのG.711標準の 2 つの圧縮伸長アルゴリズムのうちの 1 つで、もう 1 つは類似のA-lawです。A-law は、デジタル通信信号が E-1 回線で伝送される地域 (たとえばヨーロッパ) で使用されます。
G711 μ-lawにはPCMU 、G711u、G711MUという用語が使用される。 [1]
圧縮アルゴリズムは、オーディオ信号のダイナミック レンジを縮小します。アナログ システムでは、これにより送信中に達成される信号対雑音比(SNR) が向上し、デジタル領域では量子化誤差が低減します (したがって、信号対量子化雑音比が向上します)。これらの SNR の増加は、同等の SNR を得るための帯域幅の削減と引き換えに行うことができます。
ピークSNRが低下するという代償を払って、μ-lawの非線形量子化によってダイナミックレンジが33dBまたは5倍に増加することが数学的に証明されている。+線形量子化信号に対して1 ⁄ 2ビットなので、入力デジタル信号を8ビットμ-lawに圧縮するために必要な最大の解像度は13.5ビット(切り上げて14ビット)となる。 [2]
アルゴリズムの種類
μ 法則アルゴリズムは、アナログ形式と量子化されたデジタル形式で記述できます。
連続


与えられた入力xに対して、μ-law符号化の式は[3]である。
ここで、北米規格と日本規格ではμ = 255であり、 sgn( x )は符号関数です。この関数の範囲は-1から1です。
μ法則展開は逆方程式で与えられる: [3]
離散
離散形式はITU-T勧告G.711で定義されている。[4]
G.711 では、範囲の限界値をどのようにコード化するかについては明確ではありません (例: +31 が 0xEF にコード化されるか、0xF0 にコード化されるか)。[要出典] ただし、G.191 では、C 言語でμ-law エンコーダのサンプル コードが提供されています。[5]正の範囲と負の範囲の違い (例: +30 から +1 に対応する負の範囲は -31 から -2 です)。これは、エンコード中に負の値を正の値に変換するために、 2 の補数ではなく1 の補数(単純なビット反転)を使用することで説明されます。
実装
μ-law アルゴリズムはいくつかの方法で実装できます。
- アナログ
- 非線形ゲインを持つアンプを使用して、完全にアナログ領域でコンパンディングを実現します。
- 非線形ADC
- μ-law アルゴリズムに一致するように不等間隔の量子化レベルを持つアナログ - デジタル コンバーターを使用します。
- デジタル
- デジタル領域に入ったデータを変換するには、μ-law アルゴリズムの量子化されたデジタル バージョンを使用します。
- ソフトウェア/DSP
- μ-law アルゴリズムの連続バージョンを使用して、圧縮された値を計算します。
使用の正当性
μ-law エンコーディングが使用されるのは、音声のダイナミック レンジが広いためです。アナログ信号伝送では、比較的一定の背景ノイズがあると、細かいディテールが失われます。ディテールの精度はいずれにせよ低下すること、また信号が人間によってオーディオとして知覚されることを前提とすると、対数応答オペアンプを使用して信号を圧縮することにより、知覚される音響強度レベルまたは音量が対数であるという事実を利用できます (ウェーバー・フェヒナーの法則)。通信回路では、ノイズのほとんどがライン上で注入されるため、圧縮器の後では、意図した信号は、圧縮されていないソースと比較して、静的な音よりも大幅に大きく知覚されます。これは一般的な解決策となり、デジタルが一般的に使用される前に、相互運用可能な標準を定義するために μ-law 仕様が開発されました。
この既存のアルゴリズムは、デジタル システムで認識可能な人間の声をエンコードするために必要なビット数を大幅に削減する効果がありました。μ-law を使用すると、サンプルを 8 ビット程度で効果的にエンコードすることができ、これは一般的なコンピューターの大半のシンボル サイズと都合よく一致しました。
μ-law エンコーディングは、信号のダイナミック レンジを効果的に削減し、それによってコーディング効率を高めながら、信号をバイアスして、特定のビット数に対して線形エンコーディングで得られる信号対歪み比よりも大きな信号対歪み比を実現します。
μ-law アルゴリズムは.au 形式にも使用されています。この形式は、少なくともSun Microsystems のSPARCstation 1にまで遡り、/dev/audio インターフェイスで使用されるネイティブ メソッドとして使用され、Unix システムのサウンドのデファクト スタンダードとして広く使用されています。au 形式は、Java 1.1のsun.audio Java パッケージのクラスや一部のC#メソッド など、さまざまな一般的なオーディオAPIでも使用されています。
このグラフは、μ-law がサンプリングをより小さい (よりソフトな) 値に集中させる様子を示しています。水平軸は 0 ~ 255 のバイト値を表し、垂直軸は μ-law エンコーディングの 16 ビット線形デコード値です。
A-lawとの比較
μ-law アルゴリズムは、小さな信号に対する比例歪みが悪化する代わりに、A-law よりもわずかに広いダイナミック レンジを提供します。慣例により、少なくとも 1 つの国が A-law を使用している場合、国際接続には A-law が使用されます。
参照
- ダイナミックレンジ圧縮
- 信号圧縮(曖昧さ回避)
- G.711、A-law または μ-law エンコードを使用する波形音声コーダ
- テーパード浮動小数点
参考文献
- ^ 「ビデオ/音声/スピーチコーデック」Grandstream 。 2020年7月19日閲覧。
- ^ Ess, David Van (2014年12月29日) [2007-10-09]. 「Cypress Semiconductor AN2095: アルゴリズム - 対数信号圧縮 - 単なる良いアイデアではなく、μ-Law です」(PDF) . Infineon Technologies . 2022年10月6日時点のオリジナルよりアーカイブ(PDF) . 2023年6月28日閲覧。
- ^ ab 「Waveform Coding Techniques - Cisco」。2006年2月2日。 2020年12月7日閲覧。
- ^ 「ITU-T勧告G.711」。
- ^ 「G.191:音声およびオーディオ符号化標準化のためのソフトウェアツール」www.itu.int。
この記事には、連邦規格 1037Cのパブリック ドメイン マテリアルが組み込まれています。一般調達局。2022 年 1 月 22 日時点のオリジナルよりアーカイブ。
外部リンク
- 波形コーディング技術 – 実装の詳細
- TMS320C54x を使用した A-Law および mu-Law 圧縮伸長の実装 ( PDF )
- TMS320C6000 μ-Law および A-Law のソフトウェアまたは McBSP による圧縮 ( PDF )
- A-law と μ-law の実現 (C 言語)
- サンプルコードによる C 言語での u-law 実装

