PCMU/PCMAは言わずと知れた一般的なIP電話のコーデックです。G.711 u-lawとも呼ばれます。RFC4856のSection 2.1.18にSDPでの指定方法が登録されています。一方PCMAはPCMUよりダイナミックレンジが若干狭いようです。Wikipediaによれば規定により、1カ国でもA-lawを使う国があれば、国際接続ではA-lawが使われる
そうです。PCMAはRFC4856のSection 2.1.17にSDPについて記述があります。
概要
G.711の仕様書は以下にあります。
G.711のサンプリングは8000Hzで1サンプル1バイトですので、64kbpsになることが一般的です。
PCMUもPCMAもG.711の1つですが、PCMUはmu-lawアルゴリズムを、PCMAはA-lawアルゴリズムを使用する、という違いがあります。
(RFC3551) 4.5.14 PCMA and PCMU (拙訳)
PCMAとPCMUはITU-Tの勧告でG.711と規定されている。オーディオデータは対数スケーリング(logarithmic scaling)後にサンプル毎に8bitでエンコードされる。PCMUはmu-lawスケーリングを、PCMAはA-lawスケーリングを意味している。詳細な記述はJayantとNollによって提供されている。[15] 各G.711オクテットはRTPパケット内に整列(octet-aligned)されるべきである(SHALL)。各G.711オクテットの符号ビットはRTPパケット内のオクテットの最上位ビットに一致するべきである(SHALL)(つまり、G.711のサンプル数の推測はホストマシン上でオクテットとして扱われ、符号ビットはホストマシンのフォーマットによって定義される、オクテットの最上位ビットとすべきである)。G.711の56kb/sと48kb/sモードはRTPへは適用されない。PCMAとPCMUは常に8ビットでサンプリングされ、転送されなければならないからである(MUST)。
使い方
パラメータ名 | 説明 |
---|---|
メディアタイプ | audio |
メディアサブタイプ | PCMU PCMA |
必須パラメータ | |
rate | RTPタイムスタンプのクロックレートで、これはサンプリングレートに一致します。一般的には8000ですが他のレートが指定されることもあります。仕様上も「名目上1秒間に8000サンプル。誤差は±50ppmまで」と言っているだけで、制限については書かれていません。チャンネル数を2ch(=ステレオ)にする場合は、サンプリングレートを2倍(16000)にします。こうすることで、左右交互にデータがインタリーブされ、8000Hzの音が左右から出るのと同じ効果が得られます。 |
オプションパラメータ | |
channels | 何本のオーディオストリームが使用されるかを示します。デフォルトは1、ステレオは2です。それ以外も指定可能です。インタリーブは1バイトサンプルされる毎に実施されます。チャンネル順序はRFC3551で規定されています。「チャンネル数毎のチャンネル順序」にRFC3551からの抜粋を示します。 |
ptime | RFC4566参照 |
maxptime | RFC4566参照 |
チャンネル数 | 記述 | チャンネル | |||||
---|---|---|---|---|---|---|---|
2 | stereo | l | r | ||||
3 | l | r | c | ||||
4 | l | c | r | S | |||
5 | Fl | Fr | Fc | Sl | Sr | ||
6 | l | lc | c | r | rc | S | |
|
使用例
- サンプリング周波数8000のPCMUとPCMAでコーデックネゴシエーションするオファーをする場合。
v=0 o=john 51050101 51050101 IN IP4 offhost.example.com s=- c=IN IP4 offhost.example.com t=0 0 m=audio 5004 RTP/AVP 0 8 a=rtpmap:0 PCMU/8000 a=rtpmap:8 PCMA/8000
- サンプリング周波数16000でPCMUのステレオ(2チャンネル)をオファーをする場合。アンサーでこのオファーに同意した場合、左右から8000Hzでサンプリングされた音声が流れます。
v=0 o=john 51050101 51050101 IN IP4 offhost.example.com s=- c=IN IP4 offhost.example.com t=0 0 m=audio 5004 RTP/AVP 0 a=rtpmap:0 PCMU/16000/2
0 件のコメント:
コメントを投稿