跳到主要内容

4. !频

  1. !频

4.1 与.!无关!规则

由于抑制静!!能!是使用:来.输语!!主!动机之;, RTP 头部:时携带序列号 : timestamp, 使接收;能!:分丢失!:与未发;!数据!时间段:;?非连续.输 (静!抑制) MAY 与任何!频 payload format ;起使用:;?除非其他地方规!!信令 对此作出限制, 接收; MUST !!发;!;可能抑制静!:;?(即使发;!;不抑制静!, 接收;!应准备好处理没有数据存在!时间段, !为:可能.!丢失:;?)

!! payload format (!第 4.5.3 : 4.5.6 ?) !义了 "silence insertion descriptor" 或 "comfort noise" 帧, 用来规!可在静!!间!成!人工噪声?数, 以近..源端:景噪声:;?对于其他 payload format, RFC 3389 [9] 规!了;!用! Comfort Noise (CN) payload format:;?当 CN payload format 与另;个 payload format ;起使用时, RTP payload type 字段中!不:;.用于:分 comfort-noise :与;; payload format !::;?

对于在静!!间不发;!:或仅!尔发;! comfort-noise :!应用程序, talkspurt ! 第;个:, 即在未连续.输:!静!!之后!第;个:, SHOULD ;!过把 RTP 数据 头部中! marker bit 置为;来加以:分:;?;有其他:中! marker bit 为!:;? talkspurt !.;始 MAY 用于调整播放延!, 以反映变:!网络延!:;?没有静!抑制! 应用程序 MUST 将 marker bit 置为!:;?

用于!成 RTP timestamp ! RTP clock rate 独立于;!!数:.!; 它;!常等于 每秒采样周!数:;?对于 N-channel .!, 每个采样周! (例? 1/8,000 秒) !成 N 个样本:;?(该术语是标准!, 但有!容易混淆, !为每秒!成!样本;数于是等于 采样率乘以;!!数:;?)

?果使用!个!频;!!, ;!!从左到右.号, 从;.;始:;?在 RTP !频:中, 较低.号 ;!!!信!先于较高.号;!!!信!:;?

对于两个以上;!!, 除非为特!.!或 payload format :!了其他约!, SHOULD !循 AIFF-C audio interchange format [3] ;采用!约!, 使用以下记号:

  l  left
r right
c center
S surround
F front
R rear

channels description channel
1 2 3 4 5 6
_________________________________________________
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

注: RFC 1890 为!!个!频;!!!排序!义了两种约!:;?由于排序由;!!数!.
:示, 这;成了歧义:;?在本次修订中, 被描述为 "quadrophonic" !顺序已被
删除, 以消除歧义:;?作出此;择是!于以下?!: !!声!消费!频..并未!:,
;: surround-sound 后来变得!::;?

属于:;采样时刻!;有;!!!样本 MUST 位于:;个:内:;?来自不:;!!!样本 ?何交织取决于.!:;?第 4.3 : 4.4 ?给出;般:.!则:;?

采样频率 SHOULD 从以下!合中;取: 8,000, 11,025, 16,000, 22,050, 24,000, 32,000, 44,100 : 48,000 Hz:;?(较早! Apple Macintosh 计算机!!采样率为 22,254.54 Hz, 可以;!过在 20 ms 帧中丢. 4 个样本, 以可接受质量转换为 22,050:;?) 然;:, 大!数!频.!只为!受限!;组采样频率!义:;?接收; SHOULD 准备好接受!;!!!频, 但 MAY ;择只播放单个;!!:;?

4.2 运:建议

以下建议是默认运:?数:;?应用程序 SHOULD 准备好处理其他;.:;?给出!:!旨在为 应用程序作;提!:., 使;组符合这!:.!则!应用程序无;额外协商即可互操作:;? 这!:.!则并非为了限制能!协商;组可互操作?数!应用程序!运:?数, 例? ;!过.!议控制协议!:协商:;?

对于分:!频, 除非表 1 (列 "ms/packet") 中另有说明, 默认分:间! SHOULD 具有 20 ms 或;个帧!时长, 取两;中较长;:;?分:间!决!;小端到端延!; 较长!:.入较少!头部.;;, 但延!!高, 并使丢:!明显:;?对于讲座等非交互 应用程序, 或对于带宽严重受限!链路, MAY 使用!高!分:延!:;?接收; SHOULD 接受表示 0 到 200 ms !频数据!::;?(对于成帧!频.!, 接收; SHOULD 接受 帧数等于 200 ms 除以帧时长并向上取整!::;?) 此限制!许接收;使用合理!.冲: 大小:;?

4.3 !于样本!!频.!:.!则

在!于样本!.!中, 每个!频样本由!!数量! bit 表示:;?在压.!频数据内, 单个样本!代!可能跨越 octet 边::;?RTP !频:可:含任意数量!!频样本, 但 受以下约!: 每个样本! bit 数乘以每:样本数必须得到整数 octet 数:;?分数.! 每个样本产!少于;个 octet:;?

!频:!:!续时间由:中!样本数决!:;?

对于每个样本产!;个或!个 octet !!于样本!.!, 在:;采样时刻采样! 不:;!!!样本 SHOULD 打:在连续 octet 中:;?例?, 对于:;!!.!, octet 序列 为 (left channel, first sample), (right channel, first sample), (left channel, second sample), (right channel, second sample), ...:;? 对于! octet .!, octet SHOULD :网络字?序.输 (即;高有效 octet 在前):;?

每个样本产!少于;个 octet !!于样本!.!, 其打:方.取决于具体.!:;?

RTP timestamp 反映:中第;个样本被采样!时刻, 即:中;旧!信!:;?

4.4 !于帧!!频.!:.!则

!于帧!.!把!!长度!!频块.!为另;个压.数据块, 该压.块;!常!具有 !!长度:;?对于!于帧!.!, 发;!; MAY ;择将!个这样!帧组合到单个 RTP :中:;? ?果;有帧长度!:, 接收;可以;!过用 RTP payload 长度除以作为.!;部分!义 !!频帧大小, 判断 RTP :中:含!帧数:;?除非帧大小互质, 否则在承载不:大小! 帧时此方法不起作用:;?否则, 帧 MUST :示其大小:;?

对于!于帧! codec, ;!!顺序针对整个块!义:;?!就是说, 对于:;!!!频, 右;!! :左;!!样本 SHOULD 独立.!, 左;!!!.!帧先于右;!!!.!帧:;?

;有面向帧!!频 codec SHOULD 能!在单个:内.!:解!若干连续帧:;?由于给出了 面向帧 codec !帧大小, !此无;为:;.!但每:帧数不:!情况使用单独名称:;?

RTP : SHALL :含整数个帧, 帧在:内:时间先后插入, 使;旧!帧 (;先播放) 紧接 在 RTP :头之后:;?RTP timestamp 反映第;帧中第;个样本被采样!时刻, 即:中 ;旧!信!:;?

4.5 !频.!

name of sampling default encoding sample/frame bits/sample rate ms/frame ms/packet


DVI4 sample 4 var. 20 G722 sample 8 16,000 20 G723 frame N/A 8,000 30 30 G726-40 sample 5 8,000 20 G726-32 sample 4 8,000 20 G726-24 sample 3 8,000 20 G726-16 sample 2 8,000 20 G728 frame N/A 8,000 2.5 20 G729 frame N/A 8,000 10 20 G729D frame N/A 8,000 10 20 G729E frame N/A 8,000 10 20 GSM frame N/A 8,000 20 20 GSM-EFR frame N/A 8,000 20 20 L8 sample 8 var. 20 L16 sample 16 var. 20 LPC frame N/A 8,000 20 20 MPA frame N/A var. var. PCMA sample 8 var. 20 PCMU sample 8 var. 20 QCELP frame N/A 8,000 20 20 VDVI sample var. var. 20

表 1: !频.!属; (N/A: 不;?用; var.: 可变)

本文档描述!!频.!特;!表 1; 它们:表 4 中 payload type !顺序列出:;? 虽然大!数!频 codec 只为!!采样率规!, 但!!!于样本!算法 (在表 1 采样率列中以 "var." 条!表示) 可与不:采样率;起使用, 从;:产!不:!.! bit rate:;?当使用!采样率不是已!义静;! payload type !采样率时, MUST 使用 超出本文档:!!非 RTP 手段来!义动;! payload type, 并且 MUST :示;; RTP timestamp clock rate, 该;!率;!常与!频采样率!::;?

4.5.1 DVI4

DVI4 使用;种 adaptive delta pulse code modulation (ADPCM) .!方案, 该方案由 Interactive Multimedia Association (IMA) 作为 "IMA ADPCM wave type" 规!:;? 然;:, 这:!义为 DVI4 !.!在三个方面不:于 IMA 规::

o RTP DVI4 头部:含预测;., ;:不是 IMA ADPCM 块头部中:含!第;个样本;.:;?

o IMA ADPCM 块:含奇数个样本, !为块!第;个样本仅:含在头部中 (未压.), !后是!数个压.样本:;?DVI4 仅具有!数个压.样本, 使用头部中! `predict' 字来解!第;个样本:;?

o 对于 DVI4, 4-bit 样本:第;个样本位于!!个;高有效 bit, 第:个样本位于 !!个;低有效 bit !方.打::;?在 IMA ADPCM codec 中, 样本:!反顺序打::;?

每个::含;个 DVI 块:;?本配置文件只!义每样本 4 bit !版本, ;: IMA 还规!了 每样本 3 bit !.!:;?

每个;!!! "header" 字具有以下结构:

  int16  predict;  /* predicted value of first sample
from the previous block (L16 format) */
u_int8 index; /* current index into stepsize table */
u_int8 reserved; /* set to zero by sender, ignored by receiver */

头部之后!每个 octet :含两个 4-bit 样本, !此每:样本数 MUST 为!数, !为 没有办法:示部分填充!;后;个 octet:;?

!;!!样本!打:留待!;步研究:;?

IMA ADPCM 算法!在 IMA Recommended Practices for Enhancing Digital Audio Compatibility in Multimedia Systems (version 3.0) 文档中描述:;?然;:, Interactive Multimedia Association 已于 1997 年!止运作:;?该文档归档副本以及 RTP DVI4 .!软件实现!资源列于第 13 ?:;?

4.5.2 G722

G722 在 ITU-T Recommendation G.722, "7 kHz audio-coding within 64 kbit/s" 中规!:;?G.722 .!器产! octet !, 每个 octet SHALL 在 RTP :中: octet 对齐:;?G.722 octet 中.输!第;个 bit, 即较高子带样本!;高有效 bit, SHALL 对应 RTP :中该 octet !;高有效 bit:;?

尽管 G.722 !频!实际采样率为 16,000 Hz, G722 payload format ! RTP clock rate 是 8,000 Hz, !为该;.在 RFC 1890 中被错误分配, 并且为向后.容必须保:! 不变:;?octet rate 或 sample-pair rate 为 8,000 Hz:;?

4.5.3 G723

G723 在 ITU Recommendation G.723.1, "Dual-rate speech coder for multimedia communications transmitting at 5.3 and 6.3 kbit/s" 中规!:;?G.723.1 5.3/6.3 kbit/s codec 由 ITU-T !义为 ITU-T H.324 GSTN videophone terminal 应用! .制 codec:;?该算法在 G.723.1 Annex B 中有浮?规:, 在 G.723.1 Annex A 中有 静!压.算法, 在 G.723.1 Annex C 中有用于无线应用!可..信!.!方案:;?

该 Recommendation 规!了;种.!表示, 可用于以!低 bit rate 压.!媒体服务! 语!信号组件:;?!频.!为 30 ms 帧, 由于前视;:有额外 7.5 ms 延!:;?G.723.1 帧 可具有三种大小之;: 24 octets (6.3 kb/s frame), 20 octets (5.3 kb/s frame), 或 4 octets:;?这! 4-octet 帧称为 SID frames (Silence Insertion Descriptor), 用于规! comfort noise ?数:;?对于 4, 20 : 24 octet 帧?何混合没有限制:;? 帧中第;个 octet !;低有效两 bit 决!帧大小: codec 类型:

     bits  content                      octets/frame
00 high-rate speech (6.3 kb/s) 24
01 low-rate speech (5.3 kb/s) 20
10 SID frame 4
11 reserved

可在任意 30 ms 帧边:处在两种;!率之间切换:;?两种 (5.3 kb/s : 6.3 kb/s) ;!率 都是.!器:解!器!.制部分:;?除非已经;!过信令限制这!能!, 接收; MUST 接受 两种数据;!率, 并且 MUST 接受 SID 帧:;?RFC 3555 [7] 中 G723 ! MIME 注:规!了 MAY 与 MIME 或 SDP ;起使用!?数, 用于限制为单;数据;!率或限制 SID 帧!使用:;? 该 coder 经过.:, 可用有限复?度以上述;!率表示接近长;电话质量!语!:;?

.! bit stream 到 octet !打:以及 octet !.输顺序在 Rec. G.723.1 中规!, 并与 G.723 C 代!?;实现产!!结果!::;?对于 6.3 kb/s 数据;!率, 该打:?下 ;示, 其中 header (HDR) bits 始终为! 1 ;示! "0 0", 表示以 6.3 kb/s 运:, Z bit 始终置为!:;?!示显示 "network byte order" 中! bit 打:, !称为 big-endian order:;?每个 32-bit 字! bit .号为 0 到 31, ;高有效 bit 在左侧并 .号为 0:;?每个字! octet (byte) :;高有效 octet 在前.输:;?每个数据字段! bit :.!! bit stream 表示顺序.号 (;低有效 bit 在前):;?竖线表示字段片段之间! 边::;?

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LPC |HDR| LPC | LPC | ACL0 |LPC| | | | | | | | |0 0 0 0 0 0|0 0|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2| |5 4 3 2 1 0| |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACL2 |ACL|A| GAIN0 |ACL|ACL| GAIN0 | GAIN1 | | | 1 |C| | 3 | 2 | | | |0 0 0 0 0|0 0|0|0 0 0 0|0 0|0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0| |4 3 2 1 0|1 0|6|3 2 1 0|1 0|6 5|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GAIN2 | GAIN1 | GAIN2 | GAIN3 | GRID | GAIN3 | | | | | | | | |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0| |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|3 2 1 0|1 0 9 8| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | MSBPOS |Z|POS| MSBPOS | POS0 |POS| POS0 | | | | 0 | | | 1 | | |0 0 0 0 0 0 0|0|0 0|1 1 1 0 0 0|0 0 0 0 0 0 0 0|0 0|1 1 1 1 1 1| |6 5 4 3 2 1 0| |1 0|2 1 0 9 8 7|9 8 7 6 5 4 3 2|1 0|5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | POS1 | POS2 | POS1 | POS2 | POS3 | POS2 | | | | | | | | |0 0 0 0 0 0 0 0|0 0 0 0|1 1 1 1|1 1 0 0 0 0 0 0|0 0 0 0|1 1 1 1| |9 8 7 6 5 4 3 2|3 2 1 0|3 2 1 0|1 0 9 8 7 6 5 4|3 2 1 0|5 4 3 2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | POS3 | PSIG0 |POS|PSIG2| PSIG1 | PSIG3 |PSIG2| | | | 3 | | | | | |1 1 0 0 0 0 0 0|0 0 0 0 0 0|1 1|0 0 0|0 0 0 0 0|0 0 0 0 0|0 0 0| |1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2|2 1 0|4 3 2 1 0|4 3 2 1 0|5 4 3| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              ! 1: G.723 (6.3 kb/s) bit 打:

对于 5.3 kb/s 数据;!率, header (HDR) bits 始终为! 2 ;示! "0 1", 表示以 5.3 kb/s 运::;?

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LPC |HDR| LPC | LPC | ACL0 |LPC| | | | | | | | |0 0 0 0 0 0|0 1|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2| |5 4 3 2 1 0| |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ACL2 |ACL|A| GAIN0 |ACL|ACL| GAIN0 | GAIN1 | | | 1 |C| | 3 | 2 | | | |0 0 0 0 0|0 0|0|0 0 0 0|0 0|0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0| |4 3 2 1 0|1 0|6|3 2 1 0|1 0|6 5|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | GAIN2 | GAIN1 | GAIN2 | GAIN3 | GRID | GAIN3 | | | | | | | | |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0| |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0|4 3 2 1|1 0 9 8| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | POS0 | POS1 | POS0 | POS1 | POS2 | | | | | | | |0 0 0 0 0 0 0 0|0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0 0 0 0 0| |7 6 5 4 3 2 1 0|3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|7 6 5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | POS3 | POS2 | POS3 | PSIG1 | PSIG0 | PSIG3 | PSIG2 | | | | | | | | | |0 0 0 0|1 1 0 0|1 1 0 0 0 0 0 0|0 0 0 0|0 0 0 0|0 0 0 0|0 0 0 0| |3 2 1 0|1 0 9 8|1 0 9 8 7 6 5 4|3 2 1 0|3 2 1 0|3 2 1 0|3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

              ! 2: G.723 (5.3 kb/s) bit 打:

G.723.1 SID (silence) 帧!打:?! 3 ;示, 这!帧由具有模. "1 0" ! header (HDR) bits :示:;?

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | LPC |HDR| LPC | LPC | GAIN |LPC| | | | | | | | |0 0 0 0 0 0|1 0|1 1 1 1 0 0 0 0|2 2 1 1 1 1 1 1|0 0 0 0 0 0|2 2| |5 4 3 2 1 0| |3 2 1 0 9 8 7 6|1 0 9 8 7 6 5 4|5 4 3 2 1 0|3 2| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

               ! 3: G.723 SID 模. bit 打:

4.5.4 G726-40, G726-32, G726-24, and G726-16

ITU-T Recommendation G.726 描述了若干算法, 其中:括推荐用于把以 8,000 samples/sec .!!单个 64 kbit/s A-law 或 mu-law PCM ;!!转换为 40, 32, 24 或 16 kbit/s ;!!以及反向转换!算法:;?该转换使用 Adaptive Differential Pulse Code Modulation (ADPCM) 转!;术应用于 PCM !:;?ADPCM 表示由;系列 codeword 组成, 与 PCM !中! 样本;;对应:;?40, 32, 24 : 16 kbit/s ! G726 数据;!率分别具有 5, 4, 3 : 2 bit ! codeword:;?

16 : 24 kbit/s .!不提!长;电话质量语!:;?它们设计用于过载! Digital Circuit Multiplication Equipment (DCME):;?ITU-T G.726 建议, 16 : 24 kbit/s .!应与!高 数据;!率!.!交!使用, 以提!介于每样本 3.5 : 3.7 bit 之间!平均样本大小:;?

G.726 !.!在这:表示为 G726-40, G726-32, G726-24 : G726-16:;?1990 年以前, G721 描述 32 kbit/s ADPCM .!, G723 描述 40, 32 : 16 kbit/s .!:;?!此, G726-32 表示与 RFC 1890 中 G721 !:!算法:;?

G726 codeword !不:含关于;用.!!信!, !此在 packed codeword 序列内不!许 在 G726 .!类型之间转换:;?应用程序 MUST 根据 RTP payload 标识符确! packed codeword !.!类型:;?

!频数据中 SHALL NOT :含 payload 特!!头部信!:;?G726 codeword ! MUST :?下 方.打:到 octet 中: 第;个 codeword 放入第;个 octet, 使 codeword !;低有效 bit 与 octet 中!;低有效 bit 对齐; 第:个 codeword !后打:, 使其;低有效 bit 与 octet 中;低有效!未占用 bit 重合:;?当:整 codeword 无法放入;个 octet 时, 跨越 octet 边:! bit 放入下;个 octet !;低有效 bit 中:;?打: MUST 以;个:全 打:!;终 octet 结!:;?!此, 对于 G726-40, G726-32, G726-24 : G726-16, 打:! codeword 数分别是 8, 2, 8 : 4 !;数:;?G726-32 codeword !打:方案示例?下, 其中 bit 7 是第;个 octet !;低有效 bit, bit A3 是第;个 codeword !;低有效 bit:

      0                   1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|B B B B|A A A A|D D D D|C C C C| ...
|0 1 2 3|0 1 2 3|0 1 2 3|0 1 2 3|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

G726-24 codeword !打:方案示例?下, 其中 bit 7 :样是第;个 octet !;低有效 bit, bit A2 是第;个 codeword !;低有效 bit:

      0                   1                   2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
|C C|B B B|A A A|F|E E E|D D D|C|H H H|G G G|F F| ...
|1 2|0 1 2|0 1 2|2|0 1 2|0 1 2|0|0 1 2|0 1 2|0 1|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-

注意, 这:为 G726-16, -24, -32 : -40 payload format 规!!把样本打:到 octet 中! "little-endian" 方向与 ITU-T Recommendation X.420 ;致, 但与 ITU-T Recommendation I.366.2 Annex E 中为 ATM AAL2 .输规!!方向!反:;?另;个与 I.366.2 Annex E 分::配并由 MIME subtype AAL2-G726-16, -24, -32 : -40 标识! RTP payload format !合将在单独文档中规!:;?

4.5.5 G728

G728 在 ITU-T Recommendation G.728, "Coding of speech at 16 kbit/s using low-delay code excited linear prediction" 中规!:;?

G.278 .!器把 5 个连续!频样本转换为;个 10-bit codebook index, 对以每秒 8,000 个样本采样!!频产! 16 kb/s ! bit rate:;?五个连续样本组成!组称为;个 vector:;?!!个连续 vector, 标记为 V1 到 V4 (其中 V1 由接收;;先播放), 构成;个 G.728 帧:;?40 bit !!!个 vector 打:到 5 个 octet 中, 标记为 B1 到 B5:;?B1 SHALL 首先放入 RTP ::;?

?照下!, bit 顺序!则是 "maintenance of bit significance":;?来自较旧 vector ! bit 比来自较新 vector ! bit !有效:;?帧! MSB !入 B1 ! MSB, 帧! LSB !入 B5 ! LSB:;?

               1         2         3        3
0 0 0 0 9
++++++++++++++++++++++++++++++++++++++++
<---V1---><---V2---><---V3---><---V4---> vectors
<--B1--><--B2--><--B3--><--B4--><--B5--> octets
<------------- frame 1 ---------------->

具体;:;, B1 :含 V1 !八个;高有效 bit, 其中 V1 ! MSB 是 B1 ! MSB:;?B2 :含 V1 !两个;低有效 bit (两;中较高有效! bit 位于其 MSB), 以及 V2 !六个;高 有效 bit:;?B1 SHALL 首先放入 RTP :, B5 ;后放入:;?

4.5.6 G729

G729 在 ITU-T Recommendation G.729, "Coding of speech at 8 kbit/s using conjugate structure algebraic-code-excited linear-prediction (CS-ACELP)" 中规!:;? 该 codec 经过.:, 可高质量表示语!, 其中 G.728 是低延!, G.723.1 是低 bitrate:;? G.729 .!器在 10 ms 语!帧上运:, 对应采样率为每秒 8000 个样本时! 80 个样本:;? !成! bit stream ! bit rate 为 8 kbit/s:;?!此, 每个帧:含 80 bit:;?

.! bit stream 到 octet !打:以及 octet !.输顺序在 Rec. G.729 中规!, 并与 G.729 C 代!?;实现产!!结果!::;?每个 80-bit 帧! bit .号为 1 到 80, ;高有效 bit 在左侧并.号为 1:;?每个字! octet (byte) :;高有效 octet 在前.输:;? 每个数据字段! bit :.!! bit stream 表示顺序.号 (;低有效 bit 在前):;?竖线 表示字段片段之间!边::;?

0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L0 | L1 | L2 | L3 | P1 | | | | | | | |0|0 0 0 0 0 0 0|0 0 0 0 0|0 0 0 0 0|0 0 0 0 0 0 0 0| | |6 5 4 3 2 1 0|4 3 2 1 0|4 3 2 1 0|7 6 5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |P1 | P2 | C1 | S1 | C2 | S2 | P1 | | | | | | | | | |0 0|0 0 0|0 0 0 0 0|0 0 0|0 0 0 0 0|0 0 0|0 0 0 0 0 0 0 0| |9 8|4 3 2 1 0|c c c c c|3 2 1 0|c c c c c|3 2 1 0|7 6 5 4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | P2 | C3 | S3 | C4 | S4 | | | | | | | |0 0 0|0 0 0 0 0|0 0 0|0 0 0 0 0|0 0 0| |4 3 2 1 0|c c c c c|3 2 1 0|c c c c c|3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

G.729 Annex A 规!了 G.729 算法!降复?度版本:;?Annex A coder 产!与 G.729 coder !:! bit stream:;?

G.729 Annex B !义了静!压.算法, 与 G.729 或 G.729 Annex A ;起使用:;?当;测到 静!!时, .!器.输;个 2-octet SID frame (Silence Insertion Descriptor), 其中规! comfort noise ?数:;?对于 10 : 2 octet 帧?何混合没有限制:;?SID 帧部分 是 sum codebook indices, 部分是静!压.算法!?数:;?SID 帧!字段?下!;示:;?

0                   1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |L0 | L1 | L2 | L3 | GAIN | | | | | | | |0|0 0 0 0 0 0 0|0 0 0 0 0|0 0 0 0 0|0 0 0 0 0| | |6 5 4 3 2 1 0|4 3 2 1 0|4 3 2 1 0|4 3 2 1 0| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

对于 G.729 Annex B, channel-coded VAD/DTX !成:括.输 1/16th rate (800 bps) 帧, 这!帧长度仅为 10 bit (1.25 octets):;?由于它们无法放入整数个 octet, 这!帧 !打:留待未来研究:;?在本 payload format 下运:!接收; MUST 接受 80-bit 语!帧 : 16-bit SID 帧:;?接收; MAY 丢. 10-bit 帧, ?果存在!话:;?

4.5.7 G729D and G729E

G.729 Annex D !义了该算法!较低 bit rate 扩展 (6.4 kb/s):;?G.729 Annex D coder 产! 64-bit 帧:;?

G.729 Annex E !义了该算法!较高 bit rate 扩展 (11.8 kb/s):;?G.729 Annex E coder 产! 118-bit 帧:;?

.! bit stream 到 octet !打:以及 octet !.输顺序在 Rec. G.729 中规!, 并与 G.729 C 代!?;实现产!!结果!::;?每个 64-bit 或 118-bit 帧! bit .号 为 1 到 n, ;高有效 bit 在左侧并.号为 1:;?每个字! octet (byte) :;高有效 octet 在前.输:;?每个数据字段! bit :.!! bit stream 表示顺序.号 (;低有效 bit 在前):;?

ITU-T Rec. G.729 Annexes D and E !前没有规!应?何处理 Voice Activity Detection (VAD) : Discontinuous Transmission (DTX):;?!此, 它们 SHOULD NOT 与本 payload format ;起使用:;?

4.5.8 GSM

GSM (Group Speciale Mobile) 表示用于 full-rate speech transcoding !欧洲 GSM 06.10 标准 ETS 300 961, 该标准!于;!率为 13 kb/s ! RPE/LTP (residual pulse excitation/long term prediction) .! [11,12,13]:;?可从 ETSI (European Telecommunications Standards Institute) 网站 http://www.etsi.org 获取该标准文本:;?

4.5.8.1 ;般打:问题

GSM 标准规! codec 产!! bit stream, 但没有规!这! bit 应?何打:以!.输:;? 与本文档中为其他!频.!规!! payload format 不:, GSM payload format 打: 字?!方.不:于 GSM 06.10 C ?;实现;用!标准表示:;?

标准 GSM 06.10 实现把;个 GSM 帧! 260 bit 打:为 33 octets (在 16-bit 系!中为 16 个 word), 其中 bit 占据每个 byte/word !;低有效 bit:;?为了在 RTP 中.输这! bit, 260 bit : ETSI TS 101 318 [4] 中!!义打:为 33 octets:;?后;实际上正成为 VoIP/VoFR/VoATM !标准, 并且与第 13 ?.用! GSM 实现;用! "Toast" format !::;?

在 RTP payload format 中, ;个帧;!过用!填充;后;个 octet ! 4 个 spare bit, 被打:为 33 octets (264 bits):;?两个帧打:为 66 octets:;?字段映射!表 2:;?

4.5.8.2 GSM 变量名:.号

根据 GSM 06.10 标准, GSM !频 codec !?数:?下方.命名:;?

                         表 2: GSM payload format

Field Field Name Bits Octet Bit


1 LARc[0] 6 1 0--5 2 LARc[1] 6 1, 2 6--7, 0--3 3 LARc[2] 5 2, 3 4--7, 0 4 LARc[3] 5 3 1--5 5 LARc[4] 4 3, 4 6--7, 0--1 6 LARc[5] 4 4 2--5 7 LARc[6] 3 4, 5 6--7, 0 8 LARc[7] 3 5 1--3 9 Nc[0] 7 5, 6 4--7, 0--2 10 bc[0] 2 6 3--4 11 Mc[0] 2 6 5--6 12 xmaxc[0] 6 6, 7 7, 0--4 13 xmc[0] 3 7 5--7 14 Nc[1] 7 8 0--6 15 bc[1] 2 8, 9 7, 0 16 Mc[1] 2 9 1--2 17 xmaxc[1] 6 9, 10 3--7, 0 18 xmc[1] 3 10 1--3 19 Nc[2] 7 10, 11 4--7, 0--2 20 bc[2] 2 11 3--4 21 Mc[2] 2 11 5--6 22 xmaxc[2] 6 11, 12 7, 0--4 23 xmc[2] 3 12 5--7 24 Nc[3] 7 13 0--6 25 bc[3] 2 13, 14 7, 0 26 Mc[3] 2 14 1--2 27 xmaxc[3] 6 14, 15 3--7, 0 28 xmc[3] 3 15 1--3

4.5.9 GSM-EFR

GSM-EFR 在 ETS 300 726 (GSM 06.60) 中规!:;?这是;种 enhanced full rate speech codec, 具有与 GSM codec !:! clock rate (8000 Hz) : bit rate (12.2 kb/s):;?

4.5.10 L8

L8 表示线;!频数据样本, 使用 8-bit 精度并具有 128 !!移, !就是说, ;!! 信号由;. 0 表示, !信号由;. 128 表示, ;正!信号由;. 255 表示:;?

4.5.11 L16

L16 表示 (16-bit) 有符号线;!频数据样本:;?线; L16 !频样本 SHOULD :网络 字?序.输 (;高有效 octet 在前):;?

4.5.12 LPC

LPC 表示 Xerox PARC ! Ron Frederick 贡:!;种实:; linear predictive encoding, 它!于 Steve Casner ;初在 ISI .写!实现:;?.!器:解!器源代!可:第 13 ?;列 方.获得:;?

4.5.13 MPA

MPA 表示使用 MPEG-1 或 MPEG-2 audio elementary stream:;?RTP payload format : RFC 2250 [14] 第 3 ?中!规!:;?

4.5.14 PCMA and PCMU

PCMA : PCMU 在 ITU-T Recommendation G.711 中规!:;?!频数据经过对数.放后: 每样本八 bit .!:;?PCMU 表示 mu-law .放, PCMA 表示 A-law .放:;?Jayant : Noll [15] 给出了详细描述:;?每个 G.711 octet SHALL 在 RTP :中: octet 对齐:;? 每个 G.711 octet ! sign bit SHALL 对应 RTP :中该 octet !;高有效 bit (即, !! G.711 样本在主机机器上作为 octet 处理, sign bit 应为主机机器..!义! octet !;高有效 bit):;?G.711 ! 56 kb/s : 48 kb/s 模.不;?用于 RTP, !为 PCMA : PCMU MUST 始终作为 8-bit 样本.输:;?

4.5.15 QCELP

Qualcomm Code Excited Linear Prediction (QCELP) !频 codec 在 TIA/EIA IS-733, "TR45: High Rate Speech Service Option 17 for Wideband Spread Spectrum Communication Systems" 中规!:;?

QCELP codec 用于 TIA/EIA IS-95 CDMA ?窝电话系!标准:;?QCELP codec 可..到不: 数据;!率, 可;帧;择:;?;大数据;!率为 13 kbit/s:;?本 payload format 不!义单独! 静!帧类型, 但在静!!间数据;!率可降低到约 1 kbit/s:;?

RTP payload format 在 [16] 中规!:;?

4.5.16 RED

冗余!频 payload format "RED" 在 RFC 2198 [17] 中规!:;?它!义了;种方法, 可在 单个 RTP !中.输!频:!!个冗余副本:;?

4.5.17 VDVI

VDVI 是 DVI4 !可变;!率版本, 可用于动;!分配:;?DVI4 样本打:到 octet 中, 但每个 样本! bit 数可;:变:, 并在:头中规!:;?对于 VDVI, RTP 头部! payload type 字段是映射到 "VDVI" !动;!类型:;?

每个::含;个 DVI 块:;?每个;!!! "header" 字具有以下结构:

  int16  predict;  /* predicted value of first sample
from the previous block (L16 format) */
u_int8 index; /* current index into stepsize table */
u_int8 sample_size; /* number of bits per sample */

Sample-size MUST 为 3, 4 或 5 之;:;??果 sample_size 为 4, 样本打:方.与 DVI4 !::;??果 sample_size 为 3 或 5, 样本从 MSB .;始打:到:窗口当前 octet ! 下;个可用 bit 中:;?当样本跨越 octet 边:时, bit 放入第;个 octet ! LSB :第:个 octet ! MSB 中:;?然后, 下;个样本从第:个 octet !第;个可用 MSB .;始打::;? 该过程:!续到整个:结!:;?