draft-ietf-avt-rtp-evrc-nw-00.txt   draft-ietf-avt-rtp-evrc-nw-01.txt 
Network Working Group Z. Fang Network Working Group Z. Fang
Internet-Draft Qualcomm Internet-Draft Qualcomm
Intended status: Standards Track April 28, 2010 Intended status: Standards Track July 26, 2010
Expires: October 30, 2010 Expires: January 27, 2011
RTP payload format for Enhanced Variable Rate Narrowband-Wideband Codec RTP payload format for Enhanced Variable Rate Narrowband-Wideband Codec
(EVRC-NW) (EVRC-NW)
draft-ietf-avt-rtp-evrc-nw-00 draft-ietf-avt-rtp-evrc-nw-01
Abstract Abstract
This document specifies real-time transport protocol (RTP) payload This document specifies real-time transport protocol (RTP) payload
formats to be used for the Enhanced Variable Rate Narrowband-Wideband formats to be used for the Enhanced Variable Rate Narrowband-Wideband
Codec (EVRC-NW). Three media type registrations are included for Codec (EVRC-NW). Three media type registrations are included for
EVRC-NW RTP payload formats. In addition, a file format is specified EVRC-NW RTP payload formats. In addition, a file format is specified
for transport of EVRC-NW speech data in storage mode applications for transport of EVRC-NW speech data in storage mode applications
such as e-mail. such as e-mail.
skipping to change at page 1, line 36 skipping to change at page 1, line 36
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on October 30, 2010. This Internet-Draft will expire on January 27, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 5, line 17 skipping to change at page 5, line 17
EVRC-NW is an extension of both the EVRC-B [2] and EVRC-WB [3] speech EVRC-NW is an extension of both the EVRC-B [2] and EVRC-WB [3] speech
codecs developed in 3GPP2 with support for discontinuous transmission codecs developed in 3GPP2 with support for discontinuous transmission
(DTX). It provides enhanced voice quality and high spectral (DTX). It provides enhanced voice quality and high spectral
efficiency. efficiency.
The EVRC-NW codec operates on 20 ms frames, and the default sampling The EVRC-NW codec operates on 20 ms frames, and the default sampling
rate is 16 kHz. Input and output at 8 kHz sampling rate is also rate is 16 kHz. Input and output at 8 kHz sampling rate is also
supported. The EVRC-NW codec can operate in eight modes (0 to 7) supported. The EVRC-NW codec can operate in eight modes (0 to 7)
defined in [4]. EVRC-NW modes 0, 1 and 7 are interoperable with defined in [4]. EVRC-NW modes 0, 1 and 7 are interoperable with
EVRC-WB. EVRC-NW modes 1 to 7 are interoperable with EVRC-B. EVRC-WB. EVRC-NW modes 1 to 7 are interoperable with EVRC-B.
EVRC-NW modes 0 to 6 use full rate, 1/2 rate, 1/4 rate and 1/8 rate EVRC-NW modes 0 to 6 use the full set or a subset of full rate, 1/2
frames. EVRC-NW mode 7 uses only 1/2 rate and 1/8 rate frames. Mode rate, 1/4 rate and 1/8 rate frames. EVRC-NW mode 7 uses only 1/2
change results in codec output bit-rate change but does not cause any rate and 1/8 rate frames. By default, EVRC-NW supports all
decoding problems at the receiver. For successful decoding, the narrowband modes (modes 1 to 7). The support of wideband mode (mode
decoder does not need to know the encoder's current mode of 0) is optional. Mode change among modes 1 to 7 (or among modes 0 to
operation. EVRC-NW provides a standardized solution for packetized 7 if the receiver supports wideband mode) results in codec output
bit-rate change but does not cause any decoding problems at the
receiver. EVRC-NW provides a standardized solution for packetized
voice applications that allow transitions between enhanced quality voice applications that allow transitions between enhanced quality
and increased capacity. The most important service addressed is IP and increased capacity. The most important service addressed is IP
telephony. Target devices can be IP phones or VoIP handsets, media telephony. Target devices can be IP phones or VoIP handsets, media
gateways, voice messaging servers, etc. gateways, voice messaging servers, etc.
4. EVRC-NW codec 4. EVRC-NW codec
The EVRC-NW codec operates on 20 ms frames. It produces output The EVRC-NW codec operates on 20 ms frames. It produces output
frames of one of the four different sizes: 171 bits (Rate 1), 80 bits frames of one of the four different sizes: 171 bits (Rate 1), 80 bits
(Rate 1/2), 40 bits (Rate 1/4) or 16 bits (Rate 1/8 or Rate 1/8 Non- (Rate 1/2), 40 bits (Rate 1/4) or 16 bits (Rate 1/8 or Rate 1/8 Non-
skipping to change at page 11, line 31 skipping to change at page 11, line 31
Optional parameters: Optional parameters:
These parameters apply to RTP transfer only. These parameters apply to RTP transfer only.
mode-set-recv: A subset of EVRC-NW modes. Possible values are a mode-set-recv: A subset of EVRC-NW modes. Possible values are a
comma separated list of modes from the set {0,1,2,3,4,5,6,7} (see comma separated list of modes from the set {0,1,2,3,4,5,6,7} (see
Table 2.6.1.2-4 in 3GPP2 C.S0014-D). A decoder can use this Table 2.6.1.2-4 in 3GPP2 C.S0014-D). A decoder can use this
attribute to inform an encoder of its preference to operate in a attribute to inform an encoder of its preference to operate in a
specified subset of modes. Absence of this parameter signals the specified subset of modes. Absence of this parameter signals the
mode set {0,1,2,3,4,5,6,7}. mode set {1,2,3,4,5,6,7}.
sendmode: A mode of the EVRC-NW codec. An encoder can use this to sendmode: A mode of the EVRC-NW codec. An encoder can use this to
signal its current mode of operation. Possible values are signal its current mode of operation. Possible values are
0,1,2,3,4,5,6,7 (see Table 2.6.1.2-4 in 3GPP2 C.S0014-D). Absence of 0,1,2,3,4,5,6,7 (see Table 2.6.1.2-4 in 3GPP2 C.S0014-D). Absence of
this parameter signals mode 0. this parameter signals mode 4.
ptime: see RFC 4566 [9]. ptime: see RFC 4566 [9].
maxptime: see RFC 4566. maxptime: see RFC 4566.
maxinterleave: Maximum number for interleaving length (field LLL in maxinterleave: Maximum number for interleaving length (field LLL in
the Interleaving Octet)[0..7]. The interleaving lengths used in the the Interleaving Octet)[0..7]. The interleaving lengths used in the
entire session MUST NOT exceed this maximum value. If not signaled, entire session MUST NOT exceed this maximum value. If not signaled,
the maxinterleave length MUST be 5. the maxinterleave length MUST be 5.
skipping to change at page 13, line 33 skipping to change at page 13, line 33
Optional parameters: Optional parameters:
These parameters apply to RTP transfer only. These parameters apply to RTP transfer only.
mode-set-recv: A subset of EVRC-NW modes. Possible values are a mode-set-recv: A subset of EVRC-NW modes. Possible values are a
comma separated list of modes from the set {0,1,2,3,4,5,6,7} (see comma separated list of modes from the set {0,1,2,3,4,5,6,7} (see
Table 2.6.1.2-4 in 3GPP2 C.S0014-D). A decoder can use this Table 2.6.1.2-4 in 3GPP2 C.S0014-D). A decoder can use this
attribute to inform an encoder of its preference to operate in a attribute to inform an encoder of its preference to operate in a
specified subset of modes. Absence of this parameter signals the specified subset of modes. Absence of this parameter signals the
mode set {0,1,2,3,4,5,6,7}. mode set {1,2,3,4,5,6,7}.
sendmode: A mode of the EVRC-NW codec. An encoder can use this to sendmode: A mode of the EVRC-NW codec. An encoder can use this to
signal its current mode of operation. Possible values are signal its current mode of operation. Possible values are
0,1,2,3,4,5,6,7 (see Table 2.6.1.2-4 in 3GPP2 C.S0014-D). Absence of 0,1,2,3,4,5,6,7 (see Table 2.6.1.2-4 in 3GPP2 C.S0014-D). Absence of
this parameter signals mode 0. this parameter signals mode 4.
ptime: see RFC 4566. ptime: see RFC 4566.
silencesupp: see Section 6.1 in RFC 4788. silencesupp: see Section 6.1 in RFC 4788.
dtxmax: see Section 6.1 in RFC 4788. dtxmax: see Section 6.1 in RFC 4788.
dtxmin: see Section 6.1 in RFC 4788. dtxmin: see Section 6.1 in RFC 4788.
hangover: see Section 6.1 in RFC 4788. hangover: see Section 6.1 in RFC 4788.
skipping to change at page 15, line 18 skipping to change at page 15, line 18
These parameters apply to RTP transfer only. These parameters apply to RTP transfer only.
mode-set-recv: A subset of EVRC-NW modes. Possible values are a mode-set-recv: A subset of EVRC-NW modes. Possible values are a
comma separated list of modes from the set {0,1} (see Table 2.6.1.2-4 comma separated list of modes from the set {0,1} (see Table 2.6.1.2-4
in 3GPP2 C.S0014-D). A decoder can use this attribute to inform an in 3GPP2 C.S0014-D). A decoder can use this attribute to inform an
encoder of its preference to operate in a specified subset of modes. encoder of its preference to operate in a specified subset of modes.
A value of 0 signals the support for wideband fixed rate (full or A value of 0 signals the support for wideband fixed rate (full or
half rate, depending on the value of 'fixedrate' parameter). A value half rate, depending on the value of 'fixedrate' parameter). A value
of 1 signals narroband fixed rate (full or half rate, depending on of 1 signals narroband fixed rate (full or half rate, depending on
the value of 'fixedrate' parameter). Absence of this parameter the value of 'fixedrate' parameter). Absence of this parameter
signals the mode set {0,1}. signals the mode 1.
sendmode: A mode of the EVRC-NW codec. An encoder can use this to sendmode: A mode of the EVRC-NW codec. An encoder can use this to
signal its current mode of operation. Possible values are 0,1 (see signal its current mode of operation. Possible values are 0,1 (see
Table 2.6.1.2-4 in 3GPP2 C.S0014-D). 'sendmode' with value 0 signals Table 2.6.1.2-4 in 3GPP2 C.S0014-D). 'sendmode' with value 0 signals
wideband fixed rate operation (full or half rate, depending on the wideband fixed rate operation (full or half rate, depending on the
value of the 'fixedrate' parameter). 'sendmode' with value 1 signals value of the 'fixedrate' parameter). 'sendmode' with value 1 signals
narrowband fixed rate operation (full or half rate, depending on the narrowband fixed rate operation (full or half rate, depending on the
value of the 'fixedrate' parameter). Absence of this parameter value of the 'fixedrate' parameter). Absence of this parameter
signals mode 0. signals mode 1.
ptime: see RFC 4566. ptime: see RFC 4566.
maxptime: see RFC 4566. maxptime: see RFC 4566.
fixedrate: Indicates the EVRC-NW rate of the session while in single fixedrate: Indicates the EVRC-NW rate of the session while in single
rate operation. Valid values include: 0.5 and 1, where a value of rate operation. Valid values include: 0.5 and 1, where a value of
0.5 indicates the 1/2 rate while a value of 1 indicates the full 0.5 indicates the 1/2 rate while a value of 1 indicates the full
rate. If this parameter is not present, 1/2 rate is assumed. rate. If this parameter is not present, 1/2 rate is assumed.
skipping to change at page 17, line 7 skipping to change at page 17, line 7
Author: Author:
Zheng Fang Zheng Fang
Change controller: Change controller:
IETF Audio/Video Transport working group delegated from the IESG. IETF Audio/Video Transport working group delegated from the IESG.
10. SDP mode attributes for EVRC-NW 10. SDP mode attributes for EVRC-NW
'sendmode' can be used by a sender to announce its encoder's current
mode of operation. A sender can change its mode anytime and this
does not cause any decoding problems at the receiver.
'mode-set-recv' can be used by a decoder to inform an encoder of its 'mode-set-recv' can be used by a decoder to inform an encoder of its
preference to operate in a specified subset of modes. The receiver preference to operate in a specified subset of modes. Note that
will continue to decode properly even if the sender does not operate indicating a preference, implicitly indicates support for that
in one of the preferred modes. A set has been defined so that capability. Conversely, if mode 0 is not preferred, then there is no
several modes can be expressed as a preference in one attempt. For indication that mode 0 is supported.
instance, the set {4,5,6,7} signals that the receiver prefers the
sender to operate in bandwidth-efficient narrowband modes of EVRC-NW. 1. To inform the capability of wideband mode support: A decoder can
always decode all the narrowband modes (modes 1 to 7). Unless
the decoder indicates the support of mode 0 (i.e., preference) in
this parameter, an encoder at the other side shall not operate in
mode 0.
2. To inform the preference to operate in a subset of modes: A set
has been defined so that several modes can be expressed as a
preference in one attempt. For instance, the set {4,5,6,7}
signals that the receiver perfers the sender to operate in
bandwidth-efficient narrowband modes of EVRC-NW.
'sendmode' can be used by a sender to announce its encoder's current
mode of operation. A sender can change its mode among modes 1 to 7
(or among modes 0 to 7 if the receiver supports wideband mode)
anytime and this does not cause any decoding problems at the
receiver.
11. Mapping EVRC-NW media type parameters into SDP 11. Mapping EVRC-NW media type parameters into SDP
Information carried in the media type specification has a specific Information carried in the media type specification has a specific
mapping to fields in the Session Description Protocol (SDP) [9], mapping to fields in the Session Description Protocol (SDP) [9],
which is commonly used to describe RTP sessions. When SDP is used to which is commonly used to describe RTP sessions. When SDP is used to
specify sessions employing EVRC-NW encoded speech, the mapping is as specify sessions employing EVRC-NW encoded speech, the mapping is as
follows. follows.
o The media type ("audio") goes in SDP "m=" as the media name. o The media type ("audio") goes in SDP "m=" as the media name.
skipping to change at page 19, line 25 skipping to change at page 19, line 25
and/or EVRC-WB. and/or EVRC-WB.
Below is an example of such an offer: Below is an example of such an offer:
m=audio 55954 RTP/AVP 98 99 100 m=audio 55954 RTP/AVP 98 99 100
a=rtpmap:98 EVRCNW0/16000 a=rtpmap:98 EVRCNW0/16000
a=rtpmap:99 EVRCWB0/16000 a=rtpmap:99 EVRCWB0/16000
a=rtpmap:100 EVRCB0/8000 a=rtpmap:100 EVRCB0/8000
a=fmtp:98 mode-set-recv=0,1,2,3,4,5,6;sendmode=0 a=fmtp:98 mode-set-recv=0,1,2,3,4,5,6;sendmode=0
a=fmtp:99 mode-set-recv=0,4;sendmode=0 a=fmtp:99 mode-set-recv=0,4;sendmode=0
a=fmtp:100 recvmode=0 sendmode=4 a=fmtp:100 recvmode=0;sendmode=4
If the answerer supports EVRC-NW then the answerer can keep the If the answerer supports EVRC-NW then the answerer can keep the
payload type 98 in its answer and the conversation can be done using payload type 98 in its answer and the conversation can be done using
EVRC-NW. Else, if the answerer supports only EVRC-WB and/or EVRC-B EVRC-NW. Else, if the answerer supports only EVRC-WB and/or EVRC-B
then the answerer will leave only the payload type 99 and/or 100 then the answerer will leave only the payload type 99 and/or 100
respectively in its answer and the conversation will be done using respectively in its answer and the conversation will be done using
EVRC-WB and/or EVRC-B respectively. EVRC-WB and/or EVRC-B respectively.
An example answer for the above offer: An example answer for the above offer:
skipping to change at page 20, line 5 skipping to change at page 20, line 5
o 'sendmode' is a uni-directional send only parameter. o 'sendmode' is a uni-directional send only parameter.
o Using 'sendmode', a sender can signal its current mode of o Using 'sendmode', a sender can signal its current mode of
operation. Note that a receiver may receive RTP media well before operation. Note that a receiver may receive RTP media well before
the arrival of SDP with a (first time, or updated) 'sendmode' the arrival of SDP with a (first time, or updated) 'sendmode'
parameter. parameter.
o An offerer can use 'mode-set-recv' to request that the remote o An offerer can use 'mode-set-recv' to request that the remote
sender's encoder be limited to the list of modes signaled in sender's encoder be limited to the list of modes signaled in
'mode-set-recv'. A remote sender MAY ignore 'mode-set-recv' 'mode-set-recv'. A remote sender MAY ignore 'mode-set-recv'
requests. requests. However, a remote sender shall not assume the other
side can support mode 0, unless the offer includes mode 0
explicitly in 'mode-set-recv'.
o The parameters 'maxptime' and 'ptime' will in most cases not o The parameters 'maxptime' and 'ptime' will in most cases not
affect interoperability, however the setting of the parameters can affect interoperability, however the setting of the parameters can
affect the performance of the application. The SDP offer-answer affect the performance of the application. The SDP offer-answer
handling of the 'ptime' parameter is described in RFC 3264 [11]. handling of the 'ptime' parameter is described in RFC 3264 [11].
The 'maxptime' parameter MUST be handled in the same way. The 'maxptime' parameter MUST be handled in the same way.
o For a sendonly stream, the 'mode-set-recv' parameter is not useful o For a sendonly stream, the 'mode-set-recv' parameter is not useful
and SHOULD NOT be used. and SHOULD NOT be used.
skipping to change at page 22, line 15 skipping to change at page 22, line 15
14. Examples 14. Examples
Some example SDP session descriptions utilizing EVRC-NW encodings Some example SDP session descriptions utilizing EVRC-NW encodings
follow. In these examples, long a=fmtp lines are folded to meet the follow. In these examples, long a=fmtp lines are folded to meet the
column width constraints of this document. The backslash ("\") at column width constraints of this document. The backslash ("\") at
the end of a line and the carriage return that follows it should be the end of a line and the carriage return that follows it should be
ignored. Note that media subtype names are case-insensitive. ignored. Note that media subtype names are case-insensitive.
Parameter names are case-insensitive both in media types and in the Parameter names are case-insensitive both in media types and in the
mapping to the SDP a=fmtp attribute. mapping to the SDP a=fmtp attribute.
Example usage of EVRCNW: Example usage of EVRCNW if wideband mode is supported:
m=audio 49120 RTP/AVP 97 98 99 m=audio 49120 RTP/AVP 97 98 99
a=rtpmap:97 EVRCNW/16000 a=rtpmap:97 EVRCNW/16000
a=rtpmap:98 EVRCWB/16000 a=rtpmap:98 EVRCWB/16000
a=rtpmap:99 EVRCB/8000 a=rtpmap:99 EVRCB/8000
a=fmtp:97 mode-set-recv=0,1,2,3,4,5,6;sendmode=0 a=fmtp:97 mode-set-recv=0,1,2,3,4,5,6;sendmode=0
a=fmtp:98 mode-set-recv=0,4;sendmode=0 a=fmtp:98 mode-set-recv=0,4;sendmode=0
a=fmtp:99 recvmode=0;sendmode=0 a=fmtp:99 recvmode=0;sendmode=0
a=maxptime:120 a=maxptime:120
Example usage of EVRCNW if wideband mode is not supported:
m=audio 49120 RTP/AVP 97 98 99
a=rtpmap:97 EVRCNW/16000
a=rtpmap:98 EVRCWB/16000
a=rtpmap:99 EVRCB/8000
a=fmtp:97 mode-set-recv=1,2,3,4,5,6;sendmode=4
a=fmtp:98 mode-set-recv=4;sendmode=4
a=fmtp:99 recvmode=0;sendmode=0
a=maxptime:120
Example usage of EVRCNW0: Example usage of EVRCNW0:
m=audio 49120 RTP/AVP 97 98 99 m=audio 49120 RTP/AVP 97 98 99
a=rtpmap:97 EVRCNW0/16000 a=rtpmap:97 EVRCNW0/16000
a=rtpmap:98 EVRCWB0/16000 a=rtpmap:98 EVRCWB0/16000
a=rtpmap:99 EVRCB0/8000 a=rtpmap:99 EVRCB0/8000
a=fmtp:97 mode-set-recv=0,1,2,3,4,5,6;sendmode=0 a=fmtp:97 mode-set-recv=0,1,2,3,4,5,6;sendmode=0
a=fmtp:98 mode-set-recv=0,4;sendmode=0 a=fmtp:98 mode-set-recv=0,4;sendmode=0
a=fmtp:99 recvmode=0;sendmode=0 a=fmtp:99 recvmode=0;sendmode=0
 End of changes. 16 change blocks. 
29 lines changed or deleted 56 lines changed or added

This html diff was produced by rfcdiff 1.40. The latest version is available from http://tools.ietf.org/tools/rfcdiff/