| 音声周波数のパルス符号変調(PCM) | |
| 状態 | 有効 |
|---|---|
| 開始年 | 1972 |
| 最新バージョン | (02/00) 2000年2月 |
| 組織 | 国際電気通信連合 |
| 関連規格 | G.191、G.711.0、G.711.1、G.729 |
| ドメイン | オーディオ圧縮 |
| Webサイト | https://www.itu.int/rec/T-REC-G.711 |
G.711 は、もともと電話用に設計された狭帯域 オーディオ コーデックで、64 kbit/s で市外局番レベルのオーディオを提供します。これは、1972 年にリリースされた 音声周波数のパルス符号変調 (PCM)というタイトルのオーディオエンコーディングに関するITU-T標準 (勧告) です。
G.711 は、 300~3400 Hz の周波数帯域でオーディオ信号を渡し、8000 Hzのレートでサンプリングします。そのレートの許容範囲は 50 ppm ( parts per million ) です。
2 つの異なる対数圧縮アルゴリズムのいずれかを使用します。主に北米と日本で使用されているμ-lawと、北米以外のほとんどの国で使用されているA-law です。圧縮された各サンプルは 8 ビットとして量子化され、ビット レートは 64 kbit/s になります。
G.711は、 H.320やH.323規格など、多くの技術で必須の規格です。 [1]また、IPネットワーク経由のFAX通信にも使用できます( T.38仕様で定義)。
G.711 の 2 つの機能強化が公開されました。G.711.0はロスレス データ圧縮を利用して帯域幅の使用量を削減し、G.711.1 は帯域幅を増やすことでオーディオ品質を向上させます。
特徴
- 8kHzのサンプリング周波数
- 64 kbit/s ビットレート (8 kHz サンプリング周波数 × 8 ビット/サンプル)
- 典型的なアルゴリズム遅延は0.125ミリ秒で、先読み遅延はありません。
- G.711は波形音声符号化器である
- G.711付録Iは、パケット化されたネットワークにおける伝送損失を隠すためのパケット損失隠蔽(PLC)アルゴリズムを定義している。
- G.711付録IIは、音声アクティビティ検出(VAD)と快適ノイズ生成(CNG)を使用して無音期間中の帯域幅使用量を削減する不連続送信(DTX)アルゴリズムを定義します。
- 理想的な条件下でのPSQMテストでは、G.711 μ-law で平均オピニオン スコアが 4.45、G.711 A-law で 4.45 になりました[引用が必要]
- ネットワークストレス下でのPSQMテストでは、 G.711 μ-lawで平均オピニオンスコア4.13、G.711 A-lawで平均オピニオンスコア4.11が得られる[要出典]
種類
G.711 は、 μ-law アルゴリズムとA-law アルゴリズムという2 つの主要な圧縮アルゴリズムを定義しています。どちらも対数ですが、A-law は特にコンピューターが処理しやすいように設計されています[引用が必要] 。この標準では、0 dBの電力レベルを定義する繰り返しコード値のシーケンスも定義しています。
μ-law および A-law アルゴリズムは、それぞれ 14 ビットおよび 13 ビットの符号付き線形 PCM サンプルを対数 8 ビット サンプルにエンコードします。したがって、G.711エンコーダは8 kHz でサンプリングされた信号に対して 64 kbit/s のビットストリームを作成します。[1]
G.711 μ-law は、高範囲の信号に高い解像度を与える傾向があり、一方 G.711 A-law は、低信号レベルでより高い量子化レベルを提供します。
PCMU、G711u、G711MUという用語はG.711 μ-lawにも使用され、PCMA、G711Aという用語はG.711 A-lawにも使用されます。[2]
A-法律
A-law エンコーディングは、13 ビットの符号付き線形オーディオ サンプルを入力として受け取り、次のように 8 ビット値に変換します。
ここで、sは符号ビット、はその逆数 (つまり、正の値はMSB = ss = 1でエンコードされます )、マークされたビットは破棄されます。表の最初の列では、3 番目の列とは異なる負の値の表現が使用されることに注意してください。たとえば、入力 10 進数値 -21 は、ビット反転後に 2 進数で 1000000010100 と表され、これは 00001010 にマップされます (表の最初の行によると)。デコードすると、これは 1000000010101 にマップされ、これは 10 進数の出力値 -21 として解釈されます。入力値 +52 (2 進数では 0000000110100) は 10011010 にマップされ (2 行目によると)、これは 0000000110101 (10 進数では +53) にマップされます。
x
これは、4ビットの仮数部m(5ビット精度に相当)、3ビットの指数部e、1ビットの符号ビットsを持つ浮動小数点数として表され、式で与えられる
デコードされた線形値yでフォーマットされます。 seeemmmm
これは、±1 から ±(2 12 − 2 6 )までの範囲の 13 ビットの符号付き整数です。0.5 (量子化ステップの半分) が追加されているため、圧縮コードはゼロにデコードされないことに注意してください。
さらに、この規格では、オクテットが送信される前に、結果の偶数ビット ( LSBが偶数) がすべて反転されることが規定されています。これは、PCM 受信機でのクロック回復プロセスを容易にするために、十分な 0/1 遷移を提供するためです。したがって、サイレント A-law エンコード PCM チャネルでは、オクテット内の 8 ビット サンプルは 0x80 ではなく 0xD5 でコード化されます。
E0 ( G.703 ) 経由でデータが送信される場合、最初に MSB (符号) が送信され、最後に LSB が送信されます。
ITU-T STL [3]は、デコードアルゴリズムを次のように定義しています(デコードされた値は16ビット出力データ型の最上位13ビットに配置されます)。
void alaw_expand ( lseg 、logbuf 、linbuf ) long lseg ; short * linbuf ; short * logbuf ; { short ix 、mant 、iexp ; long n ;
for ( n = 0 ; n < lseg ; n ++ ) { ix = logbuf [ n ] ^ ( 0x0055 ); /* トグルされたビットを再度トグルする */
ix &= ( 0x007F ); /* 符号ビットを削除 */ iexp = ix >> 4 ; /* 指数を抽出 */ mant = ix & ( 0x000F ); /* 仮数を取得 */ if ( iexp > 0 ) mant = mant + 16 ; /* 指数 > 0 の場合は先頭に '1' を追加 */
mant = ( mant << 4 ) + ( 0x0008 ); /* 仮数が左揃えになり、 */ /* 1/2 量子化ステップが追加されました */ if ( iexp > 1 ) /* 指数に応じて左シフトされます */ mant = mant << ( iexp - 1 );
linbuf [ n ] = logbuf [ n ] > 127 /* 負のサンプルの場合は反転 */ ? mant : - mant ; } }
また、「ITU-Tソフトウェアツールライブラリ2009ユーザーズマニュアル」も参照してください。[4]
μ法則
μ-law (ulaw、G.711Mu、または G.711μ と呼ばれることもあります) エンコーディングは、2 の補数表現の 14 ビット符号付き線形オーディオ サンプルを入力として受け取り、値が負の場合は符号ビットの後のすべてのビットを反転し、33 (2 進数 100001) を追加して、次のように 8 ビット値に変換します。
はs符号ビットであり、マークされたビットはx破棄されます。
さらに、この規格では、オクテットが送信される前にエンコードされたビットが反転されることが規定されています。したがって、サイレント μ-law エンコードされた PCM チャネルでは、8 ビット サンプルがオクテットで 0x00 ではなく 0xFF として送信されます。
すべての値が圧縮グループに分類され、デコード時に減算されるように、33 を追加する必要があります。
seeemmmmエンコードされた値を4ビットの仮数部m、3ビットの指数部e、1ビットの符号ビットsに分解すると、デコードされた線形値yは式で与えられます。
±0 から ±8031 の範囲の 14 ビットの符号付き整数です。
0 は 0xFF として送信され、-1 は 0x7F として送信されますが、受信すると結果はどちらの場合も 0 になることに注意してください。
G.711.0
G.711.0(G.711 LLCとも呼ばれる)は、ロスレスデータ圧縮を利用して帯域幅の使用量を最大50%削減します。[5] G.711パルスコード変調規格のロスレス圧縮は、 2009年9月にITU-Tによって承認されました。[6] [7]
G.711.1
G.711.1 「G.711パルス符号変調のための広帯域埋め込み拡張」は、 G.711のより忠実度の高い拡張であり、2008年に批准され、2012年にさらに拡張されました。[8]
G.711.1 では、生の G.711 コア ストリーム (レイヤー 0) の上に一連の拡張レイヤーが存在します。レイヤー 1 では 16 ビット オーディオを同じ 4kHz 狭帯域で符号化し、レイヤー 2 ではMDCT を使用して8kHz広帯域を符号化します。各レイヤーは 64kbps コアに加えて固定の 16kbps を使用します。これらは一緒に使用することも単独で使用することもできます。各レイヤーは前のレイヤーとの差分を符号化します。2012 年に承認されたレイヤー 3 では、レイヤー 2 が 16kHz の「スーパーワイドバンド」に拡張され、レイヤーの独立性を維持しながら最高周波数でさらに 16kbps が許可されます。ピーク ビットレートは、元の G.711.1 では 96kbps、スーパーワイドバンドでは 112kbps になります。レイヤーを識別または分離する内部方法は定義されておらず、レイヤーをパケット化またはシグナリングするのは実装に任されています。[9] [10]
忠実度レイヤーのセットを理解しないデコーダーは、非コア パケットを影響なしに無視またはドロップできるため、変更なしで任意の G.711 (または元の G.711.1) テレフォニー システム全体でグレースフル デグラデーションが可能になります。
また、2012 年に承認されたのは、新しい忠実度レイヤーに拡張された G.711.0 ロスレスです。G.711.0 と同様に、効率性のために完全な G.711 下位互換性は犠牲になっていますが、G.711.0 対応ノードは、理解できないレイヤー パケットを無視またはドロップする場合があります。
ライセンス
1972年に公開されたG.711の特許は期限切れとなっているため、ライセンスなしで使用できます。[1]
参照
参考文献
- ^ abc 「G.711:音声周波数のパルス符号変調(PCM)」www.itu.int。2019年6月17日時点のオリジナルよりアーカイブ。 2019年11月11日閲覧。
- ^ 「ビデオ/音声/スピーチコーデック」Grandstream= . 2020年7月19日閲覧。
- ^ G.191: 音声およびオーディオ符号化標準化のためのソフトウェアツール。
alaw_expandファイル内の関数Software/stl2009/g711/g711.c。Itu.int。2013年9月18日に取得。 - ^ G.191 : ITU-T ソフトウェアツールライブラリ 2009 ユーザーズマニュアル。Itu.int (2010-07-23)。2013-09-18 に取得。
- ^ ITU-T (2009-07-17). 「ITU-T Newslog - 音声コーデックに新しいロスレス圧縮が採用」。2016年3月3日時点のオリジナルよりアーカイブ。2010年2月28日閲覧。
- ^ ITU-T. 「G.711.0: G.711パルスコード変調のロスレス圧縮」 。 2010年2月28日閲覧。
- ^ ITU-T における最近のオーディオ/音声コーディングの開発と将来の動向(PDF)、2008 年 8 月、 2010 年 2 月 28 日取得
- ^ G.711.1 : G.711 パルス符号変調のための広帯域埋め込み拡張、ITU-T、2012 、 2022-12-24取得
- ^ Lapierre; et al. (2008-08-25)、ITU-T G.711 相互運用可能な組み込みコーデックにおけるノイズシェーピング(PDF) 、2024-06-11取得
- ^ 日和崎;他。 (2008-08-25)、G. 711.1: ITU-T G. 711 の広帯域拡張(PDF) 、 2024 年 6 月 11 日取得
外部リンク
- ITU-T勧告G.711
- G.711 C コードを含む音声およびオーディオ コーディング用の ITU-T G.191 ソフトウェア ツール
- コード プロジェクト C# による G.711 の実装 (ソース コード付き)
- RFC 3551 - 最小限の制御による音声およびビデオ会議の RTP プロファイル - G.711 - PCMA および PCMU の定義。
- RFC 4856 - メディア タイプ audio/PCMA および audio/PCMU の登録
- RFC 5391 - ITU-T 勧告 G.711.1 (PCMA-WB および PCMU-WB) の RTP ペイロード形式
