G.711

G.711
音声周波数のパルス符号変調(PCM)
状態有効
年が始まった1972
最新バージョン(02/00) 2000年2月
組織ITU-T
関連規格G.191G.711.0G.711.1G.729
ドメインオーディオ圧縮
Webサイトhttps://www.itu.int/rec/T-REC-G.711

G.711は、元々電話用に設計された狭帯域オーディオコーデックで、64 kbit/sで市外局番レベルの音質を提供します。これは、音声周波数のパルス符号変調(PCM)という名称で1972年に公開された 、音声符号化に関するITU-T標準(勧告)です。

G.711 は、300~3400 Hz の周波数帯域でオーディオ信号を渡し、8000 Hzのレートでサンプリングします。そのレートの許容範囲は 50 ppm ( parts per million ) です。

2つの異なる対数圧縮アルゴリズムのいずれかを使用します。1つは主に北米と日本で使用されているμ-law 、もう1つは北米以外のほとんどの国で使用されているA-lawです。圧縮された各サンプルは8ビットとして量子化され、ビットレートは64 kbit/sになります。

G.711は、 H.320H.323規格など、多くの技術で必須の規格です。[ 1 ]また、IPネットワーク経由のFAX通信にも使用できます( T.38仕様で定義)。

G.711 の 2 つの機能強化が公開されました。G.711.0ロスレス データ圧縮を利用して帯域幅の使用量を削減し、G.711.1 は帯域幅を増やすことでオーディオ品質を向上させます。

特徴

種類

G.711は、 μ-lawアルゴリズムA-lawアルゴリズムという2つの主要な圧縮伸長アルゴリズムを定義しています。どちらも対数圧縮ですが、A-lawはコンピュータ処理を簡素化するために特別に設計されています。この規格では、0 dBの電力レベルを定義する繰り返しコード値のシーケンスも定義されています。

μ-lawアルゴリズムとA-lawアルゴリズムは、それぞれ14ビットと13ビットの符号付き線形PCMサンプルを対数8ビットサンプルにエンコードします。したがって、G.711エンコーダは8kHzでサンプリングされた信号に対して64kbit/sのビットストリームを生成します。[ 1 ]

G.711 μ-law は高範囲の信号に高い解像度を与える傾向があり、G.711 A-law は低信号レベルでより高い量子化レベルを提供します。

PCMUG711uG711MUという用語はG.711 μ-lawにも使用され、PCMAG711AはG.711 A-lawにも使用されます。[ 2 ]

A-law

したがって、A-law エンコーディングは 13 ビットの符号付き線形オーディオ サンプルを入力として受け取り、次のようにそれを 8 ビット値に変換します。

線形入力コード[注 1 ]圧縮コードXOR 01010101 線形出力コード[注 2 ]
s0000000abcdxs000abcds0000000abcd1
s0000001abcdxs001abcds0000001abcd1
s000001abcdxxs010abcds000001abcd10
s00001abcdxxxs011abcds00001abcd100
s0001abcdxxxxs100abcds0001abcd1000
s001abcdxxxxxs101abcds001abcd10000
s01abcdxxxxxxs110abcds01abcd100000
s1abcdxxxxxxxs111abcds1abcd1000000
  1. ^この値は、入力値の2 の補数表現を取得し、値が負の場合に符号ビットの後のすべてのビットを反転することによって生成されます。
  2. ^符号付き絶対値表現

ここで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

y1s16{e1}+メートル+0.52最大{e1}{\displaystyle y=(-1)^{s}\cdot (16\cdot \min\{e,1\}+m+0.5)\cdot 2^{\max\{e,1\}},}

これは±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 ビット値に変換します。

線形入力値[注 1 ]圧縮コードXOR 11111111 線形出力値[注2 ]
s00000001abcdxs000abcds00000001abcd1
s0000001abcdxxs001abcds0000001abcd10
s000001abcdxxxs010abcds000001abcd100
s00001abcdxxxxs011abcds00001abcd1000
s0001abcdxxxxxs100abcds0001abcd10000
s001abcdxxxxxxs101abcds001abcd100000
s01abcdxxxxxxxs110abcds01abcd1000000
s1abcdxxxxxxxxs111abcds1abcd10000000
  1. ^この値は、入力値の2 の補数表現を取得し、値が負の場合に符号ビットの後のすべてのビットを反転し、33 を加算することによって生成されます。
  2. ^符号付き絶対値表現。最終結果は、この値から絶対値を33減らすことで生成されます。

sは符号ビットで、マークされたビットはx破棄されます。

さらに、この規格では、オクテットが送信される前にエンコードされたビットが反転されることが規定されています。したがって、サイレントμ-lawエンコードされたPCMチャネルでは、8ビットのサンプルはオクテットの0x00ではなく0xFFとして送信されます。

すべての値が圧縮グループに収まるように 33 を追加し、デコード時にそれが差し引かれるようにする必要があります。

エンコードされた値をseeemmmm4ビットの仮数部m、3ビットの指数部e、1ビットの符号ビットsに分解すると、デコードされた線形値yは式

y1s[33+2メートル2e33]{\displaystyle y=(-1)^{s}\cdot [(33+2m)\cdot 2^{e}-33],}

これは、±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は、同じ4kHzの狭帯域で16ビットオーディオを符号化し、レイヤー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.0の完全な下位互換性は犠牲になっていますが、G.711.0対応ノードは、理解できないレイヤーパケットを無視またはドロップする可能性があります。

ライセンス

1972年に公開されたG.711の特許は期限切れとなっているため、ライセンスなしで使用できる可能性があります。[ 1 ]

参照

参考文献

  1. ^ a b c「G.711:音声周波数のパルス符号変調(PCM)」www.itu.int。2019年6月17日時点のオリジナルよりアーカイブ2019年11月11日閲覧
  2. ^ 「ビデオ/音声/スピーチコーデック」 Grandstream = . 2020年7月19日閲覧
  3. ^ G.191:音声およびオーディオ符号化標準化のためのソフトウェアツールalaw_expandファイル内のSoftware/stl2009/g711/g711.c。Itu.int。2013年9月18日閲覧。
  4. ^ G.191 : ITU-Tソフトウェアツールライブラリ2009 ユーザーズマニュアル. Itu.int (2010-07-23). 2013年9月18日閲覧。
  5. ^ ITU-T (2009-07-17). 「ITU-T Newslog - 音声コーデックに新たなロスレス圧縮技術が採用」 2016年3月3日時点のオリジナルよりアーカイブ2010年2月28日閲覧。
  6. ^ ITU-T. 「G.711.0:G.711パルス符号変調のロスレス圧縮」 . 2010年2月28日閲覧
  7. ^ ITU-Tにおける最近のオーディオ/音声符号化の開発と将来の動向(PDF)、2008年8月、 2010年2月28日閲覧
  8. ^ G.711.1 : G.711パルス符号変調のための広帯域埋め込み拡張、ITU-T、2012年、2022年12月24日取得
  9. ^ Lapierre; et al. (2008-08-25), ITU-T G.711-Interoperable embedded codec におけるノイズシェーピング(PDF) 、 2024年6月11日取得
  10. ^日和崎;他。 (2008-08-25)、G. 711.1: ITU-T G. 711 の広帯域拡張(PDF) 、 2024 年 6 月 11 日取得