8 Storage and Transport Interface formats
26.2903GPPAudio codec processing functionsExtended Adaptive Multi-Rate - Wideband (AMR-WB+) codecRelease 17Transcoding functionsTS
The AMR-WB+ codec storage and transport interface formats are described in this section.
8.1 Available Modes and Bitrates
The AMR-WB+ format contains the AMR-WB modes and a set of AMR-WB+ extension modes.
The AMR-WB+ codec includes the AMR-WB modes, as shown in Table 21 below.
Table 21: AMR-WB+ modes.
|
Index |
Mode |
Sampling rate (kHz) |
Mono/Stereo |
Number of data octets per frame (AMR-WB modes zero-padded) |
|
0 |
AMR-WB 6.60 kbit/s |
16 |
Mono |
17 |
|
1 |
AMR-WB 8.85 kbit/s |
16 |
Mono |
23 |
|
2 |
AMR-WB 12.65 kbit/s |
16 |
Mono |
32 |
|
3 |
AMR-WB 14.25 kbit/s |
16 |
Mono |
36 |
|
4 |
AMR-WB 15.85 kbit/s |
16 |
Mono |
40 |
|
5 |
AMR-WB 18.25 kbit/s |
16 |
Mono |
46 |
|
6 |
AMR-WB 19.85 kbit/s |
16 |
Mono |
50 |
|
7 |
AMR-WB 23.05 kbit/s |
16 |
Mono |
58 |
|
8 |
AMR-WB 23.85 kbit/s |
16 |
Mono |
60 |
|
9 |
AMR-WB SID |
16 |
Mono |
5 |
|
10 |
AMR-WB+ 13.6 kbit/s |
16/24 |
Mono |
34 |
|
11 |
AMR-WB+ 18 kbit/s |
16/24 |
Stereo |
45 |
|
12 |
AMR-WB+ 24 kbit/s |
16/24 |
Mono |
60 |
|
13 |
AMR-WB+ 24 kbit/s |
16/24 |
Stereo |
60 |
|
14 |
FRAME_ERASURE |
– |
– |
0 |
|
15 |
NO_DATA |
– |
– |
0 |
There are four special extension modes (Index 10-13 in table 21) that have a fixed internal sampling frequency (25600 Hz) and audio input frequencies (16 or 24 kHz). These modes share the property with the AMR-WB modes that each frame is only capable of representing 20 ms.
Besides the AMR-WB+ operation according to the modes specified in table 21, AMR-WB+ operation is specified by three parameters: mono bit-rate as given in Table 22, stereo bit-rate as given in Table 23, and internal sampling frequency (ISF) as given in Table 24.
Table 22: Mono rate indices.
|
Mono Index |
Mono rate |
Bit rate at 25.6 kHz ISF |
Octets per frame |
|
0 |
AMR-WB+ 208 bit/frame |
10.4 kbit/s |
26 |
|
1 |
AMR-WB+ 240 bit/frame |
12 kbit/s |
30 |
|
2 |
AMR-WB+ 272 bit/frame |
13.6 kbit/s |
34 |
|
3 |
AMR-WB+ 304 bit/frame |
15.2 kbit/s |
38 |
|
4 |
AMR-WB+ 336 bit/frame |
16.8 kbit/s |
42 |
|
5 |
AMR-WB+ 384 bit/frame |
19.2 kbit/s |
48 |
|
6 |
AMR-WB+ 416 bit/frame |
20.8 kbit/s |
52 |
|
7 |
AMR-WB+ 480 bit/frame |
24 kbit/s |
60 |
Table 23: Stereo rate indices.
|
Stereo index |
Stereo extension rate(bits/frame) |
Stereo rate for ISF of 25.6 kHz |
Number of data octets per frame |
|
0 |
40 bits/frame |
2.0 kbit/s |
5 |
|
1 |
48 bits/frame |
2.4 kbit/s |
6 |
|
2 |
56 bits/frame |
2.8 kbit/s |
7 |
|
3 |
64 bits/frame |
3.2 kbit/s |
8 |
|
4 |
72 bits/frame |
3.6 kbit/s |
9 |
|
5 |
80 bits/frame |
4.0 kbit/s |
10 |
|
6 |
88 bits/frame |
4.4 kbit/s |
11 |
|
7 |
96 bits/frame |
4.8 kbit/s |
12 |
|
8 |
104 bits/frame |
5.2 kbit/s |
13 |
|
9 |
112 bits/frame |
5.6 kbit/s |
14 |
|
10 |
120 bits/frame |
6.0 kbit/s |
15 |
|
11 |
128 bits/frame |
6.4 kbit/s |
16 |
|
12 |
136 bits/frame |
6.8 kbit/s |
17 |
|
13 |
144 bits/frame |
7.2 kbit/s |
18 |
|
14 |
152 bits/frame |
7.6 kbit/s |
19 |
|
15 |
160 bits/frame |
8.0 kbit/s |
20 |
It is to be noted that the number of samples each frame corresponds to is always the same but the duration of each frame varies depending on the internal sampling frequency. There is no preferred sampling frequency for the codec to operate at, but in order to limit the possible settings for an effective transmission, the format supports the sampling frequencies given in Table 24. . Herein, index 0 is used for AMR-WB and the 4 extension modes of Table 21.
Table 24: Internal sampling frequencies and corresponding frame lengths in time
|
ISF Index |
Internal Sampling Rate (Hz) |
Frame duration (ms) |
Bit Rate factor |
|
0 |
N/A |
20 |
N/A |
|
1 |
12800 |
40 |
½ |
|
2 |
14400 |
35.55 |
9/16 |
|
3 |
16000 |
32 |
5/8 |
|
4 |
17067 |
30 |
2/3 |
|
5 |
19200 |
26.67 |
¾ |
|
6 |
21333 |
24 |
5/6 |
|
7 |
24000 |
21.33 |
15/16 |
|
8 |
25600 |
20 |
1 |
|
9 |
28800 |
17.78 |
9/8 |
|
10 |
32000 |
16 |
5/4 |
|
11 |
34133 |
15 |
4/3 |
|
12 |
36000 |
14.22 |
45/32 |
|
13 |
38400 |
13.33 |
3/2 |
The bit-rate will be dependent on the internal sampling frequency. The last column of Table 24 indicates which multiplication factor, any bit-rate value for 25600 Hz internal sampling factor should be converted with. The ISF index is carried in the bitstream format to indicate which internal sampling frequency is used for each AMR-WB+ encoded frame.
The frame type is used to identify the content of an AMR-WB+ encoded frame. This type indicates if it is; an AMR-WB mode, Comfort noise, NO_DATA, AMR-WB+ core mode in mono usage, or a combination of a core mode and a stereo mode. The frame types are presented in Table 25 below. The core mode and stereo mode index values are according to Table 22 and 23 respectively. The bit-rate value assumes an internal sampling frequency of 25600 Hz.
Table 25: Normative frame type table. Bit-rates assumes 25600 Hz internal sampling frequency.
|
Frame type |
Core mode |
Stereo mode |
Bit rate |
Octets per frame |
|
0-15 |
As specified in Table 21 |
|||
|
16 |
0 |
None |
10.4 |
26 |
|
17 |
1 |
None |
12.0 |
30 |
|
18 |
2 |
None |
13.6 |
34 |
|
19 |
3 |
None |
15.2 |
38 |
|
20 |
4 |
None |
16.8 |
42 |
|
21 |
5 |
None |
19.2 |
48 |
|
22 |
6 |
None |
20.8 |
52 |
|
23 |
7 |
None |
24.0 |
60 |
|
24 |
0 |
0 |
12.4 |
31 |
|
25 |
0 |
1 |
12.8 |
32 |
|
26 |
0 |
4 |
14 |
35 |
|
27 |
1 |
1 |
14.4 |
36 |
|
28 |
1 |
3 |
15.2 |
38 |
|
29 |
1 |
5 |
16 |
40 |
|
30 |
2 |
2 |
16.4 |
41 |
|
31 |
2 |
4 |
17.2 |
43 |
|
32 |
2 |
6 |
18 |
45 |
|
33 |
3 |
3 |
18.4 |
46 |
|
34 |
3 |
5 |
19.2 |
48 |
|
35 |
3 |
7 |
20 |
50 |
|
36 |
4 |
4 |
20.4 |
51 |
|
37 |
4 |
6 |
21.2 |
53 |
|
38 |
4 |
9 |
22.4 |
56 |
|
39 |
5 |
5 |
23.2 |
58 |
|
40 |
5 |
7 |
24 |
60 |
|
41 |
5 |
11 |
25.6 |
64 |
|
42 |
6 |
8 |
26 |
65 |
|
43 |
6 |
10 |
26.8 |
67 |
|
44 |
6 |
15 |
28.8 |
72 |
|
45 |
7 |
9 |
29.6 |
74 |
|
46 |
7 |
10 |
30 |
75 |
|
47 |
7 |
15 |
32 |
80 |
|
48-127 |
Reserved |
|||
8.2 AMR-WB+ Transport Interface Format
The transport interface format serves as an intermediate interface to the transport format. The transport interface frame contains a two-octet header followed by data octets.
The header in each frame contains the following two octets.
|
MSB |
LSB |
|||||||
|
Octet |
bit 8 |
bit 7 |
bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
|
1 |
0 |
Frame type (FT) |
||||||
|
2 |
TFI |
0 |
ISF mode (5 bits) |
|||||
Frame type (FT) (7 bits): Indicates the frame type setting of the codec used for the corresponding frame (the combination of AMR-WB+ core and stereo mode, the AMR-WB mode, or comfort noise, as specified by Table 25 above).
Transport Frame Index (TFI) (2 bits): An index from 0 (first) to 3 (last) indicating this transport frame’s position in the superframe.
ISF index (5 bits): Indicates the internal sampling frequency employed for the corresponding frame. The index values correspond to internal sampling frequency as specified in Table 24 above. This field SHALL be set to 0 for operation according to the AMR-WB+ modes defined in table 21 (Frame types 0-13).
FT=14 (AUDIO_LOST) is used to indicate frames that are lost. NO_DATA (FT=15) frame could mean either that there is no data produced by the audio encoder for that frame or that no data for that frame is transmitted in the current packet (i.e., valid data for that frame could be sent in either an earlier or later packet). The duration for these non-included frames is dependent on the internal sampling frequency indicated by the ISF mode field.
For operation according to FT 0-13 the ISF field shall be set 0 and has no meaning. The frame length for that operation is fixed to 20 ms in time.
If receiving a frame with an FT value not defined the whole frame SHOULD be discarded and assumed erased.
The AMR-WB+ SCR/DTX is identical with AMR-WB SCR/DTX described in [8] and SHALL only be used in combination with the AMR-WB modes (0-8).
The audio data follows the header octets. The number of data octets per frame corresponding to a certain frame type is given in Table 25.
Example
The following diagram (Table 26) shows a frame of AMR-WB+ using 14 kbit/s frame type (FT=26) with a frame length of 35 octets (280 bits). The internal sampling frequency in this example is 25.6 kHz (ISF mode = 8). FT 26 corresponds to mono mode 0 (208 bits/frame) and stereo mode 4 (72 bits/frame). The frame is the first frame in the superframe (TFI=0).
The data octets are placed according to the detailed bit allocation given in tables 14 to 20. The first bit of the AMR-WB+ data b0 is placed in bit 8 of octet 3.
Table 26: AMR-WB+ transport interface format for 14 kbit/s operation with ISF mode 8 (bit rate factor=1).
|
MSB |
LSB |
|||||||
|
Octet |
bit 8 |
bit 7 |
bit 6 |
bit 5 |
Bit 4 |
bit 3 |
bit 2 |
bit 1 |
|
1 |
FT = 26 |
|||||||
|
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
2 |
TFI=0 |
ISF = 8 |
||||||
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
|
3 |
AMR-WB+ data (octet 1) |
|||||||
|
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
|
|
4..27 |
AMR-WB+ data (octets 2 to 25) |
|||||||
|
b8 |
… |
… |
… |
… |
… |
… |
… |
|
|
28 |
AMR-WB+ data (octet 26) |
|||||||
|
b200 |
b201 |
b202 |
b203 |
B204 |
b205 |
b206 |
b207 |
|
|
29 |
AMR-WB+ data (octet 27) |
|||||||
|
s0 |
s1 |
s2 |
s3 |
s4 |
s5 |
s6 |
s7 |
|
|
30..36 |
AMR-WB+ data (octet 28 to 34) |
|||||||
|
s8 |
… |
… |
… |
… |
… |
… |
… |
|
|
37 |
AMR-WB+ data (octet 35) |
|||||||
|
S64 |
S65 |
S66 |
S67 |
S68 |
S69 |
S70 |
S71 |
|
8.3 AMR-WB+ File Storage Format
This format is relevant only for file storage and defines a storage unit contained in an AMR-WB+ sample of a 3GP file [9]. It is quite similar to transport interface format with the exception that the two-octet header is used once per superframe for AMR-WB+ extension modes and once per frame for AMR-WB modes. Note that in AMR-WB+, the operation code and internal sampling frequency can be switched only on a superframe basis boundaries so the header octets are needed only once per superframe.
All media streams in a 3GP file are stored in timed units called samples. This format defines the syntax of the basic component of a sample, which is here called a storage unit..
A storage unit consists of a two-octet header followed by data octets corresponding to either:
1) A whole superframe (4 transport frames) when FT = 10..13 or OC = 16…47 .
2) A frame otherwise
For the first case, the number of data octets per superframe is given by 4 times the number of octets per frame (the right-most column in Table 25).
The length of an AMR-WB+ storage unit in ms (corresponding to one superframe) depends on the internal sample frequency and given by 80×ISF/25600 where ISF is the internal sampling frequency in Hz (ISF modes are shown in Table 24).
The header in each storage unit contains the following two octets.
|
MSB |
LSB |
|||||||
|
Octet |
bit 8 |
bit 7 |
bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
|
1 |
0 |
Frame type (7 bits) |
||||||
|
2 |
0 |
0 |
0 |
ISF mode (5 bits) |
||||
Frame type (FT) (7 bits): Indicates the frame type setting of the codec used for the corresponding frame (the combination of AMR-WB+ core and stereo mode, the AMR-WB mode, or comfort noise, as specified by Table 25 above).
ISF index (5 bits): Indicates the internal sampling frequency employed for the corresponding frame. The index values correspond to internal sampling frequency as specified in Table 24 above. This field SHALL be set to 0 for operation according to the AMR-WB+ modes defined in table 21 (frame types 0-13).
For frame types according to FT 0-13 the ISF field shall be set 0 and has no meaning. The frame length for that operation is fixed to 20 ms in time.
The audio data follows the header octets. The number of data octets per storage unit corresponding to frame types 10..13 and 16…47 are given as 4 times the number of octets per frame (right-most column in Table 25), for the other frame types, the number of octets are those corresponding to 1 frame only.
It should be noticed that when FT <10, i.e. AMR-WB frames, the original AMR-WB storage format should be preferred in order to ensure backward decoding compatibility.
Example
The following diagram (Table 27) shows a storage sample of AMR-WB+ using 14 kbit/s frame types (FT=26) with a superframe length of 4×35=140 octets. The internal sampling frequency in this example is 25.6 kHz (ISF mode = 8). FT 26 corresponds to mono mode 0 (208 bits/frame) and stereo mode 4 (72 bits/frame).
The data octets are packetized according to the detailed bit allocation given in tables 14 to 20. The first bit of the AMR-WB+ data b0 is placed in bit 8 of octet 3.
Table 27: AMR-WB+ storage sample (superframe) for 14 kbit/s operation with ISF mode 8 (bit rate factor=1).
|
MSB |
LSB |
|||||||
|
Octet |
bit 8 |
bit 7 |
bit 6 |
bit 5 |
bit 4 |
bit 3 |
bit 2 |
bit 1 |
|
1 |
FT = 26 |
|||||||
|
0 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
|
|
2 |
ISF = 8 |
|||||||
|
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
|
|
3 |
Frame 1 AMR-WB+ data (octet 1) |
|||||||
|
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
|
|
4..27 |
Frame 1 AMR-WB+ data (octets 2 to 25) |
|||||||
|
b8 |
… |
… |
… |
… |
… |
… |
… |
|
|
28 |
Frame 1 AMR-WB+ data (octet 26) |
|||||||
|
b200 |
b201 |
b202 |
b203 |
B204 |
b205 |
b206 |
b207 |
|
|
29 |
Frame 1 AMR-WB+ data (octet 27) |
|||||||
|
s0 |
s1 |
s2 |
s3 |
s4 |
s5 |
s6 |
s7 |
|
|
30..36 |
Frame 1 AMR-WB+ data (octet 28 to 34) |
|||||||
|
s8 |
… |
… |
… |
… |
… |
… |
… |
|
|
37 |
Frame 1 AMR-WB+ data (octet 35) |
|||||||
|
S64 |
S65 |
S66 |
S67 |
S68 |
S69 |
S70 |
S71 |
|
|
38 |
Frame 2 AMR-WB+ data (octet 1) |
|||||||
|
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
|
|
39..62 |
Frame 2 AMR-WB+ data (octets 2 to 25) |
|||||||
|
b8 |
… |
… |
… |
… |
… |
… |
… |
|
|
63 |
Frame 2 AMR-WB+ data (octet 26) |
|||||||
|
b200 |
b201 |
b202 |
b203 |
B204 |
b205 |
b206 |
b207 |
|
|
64 |
Frame 2 AMR-WB+ data (octet 27) |
|||||||
|
s0 |
s1 |
s2 |
s3 |
s4 |
s5 |
s6 |
s7 |
|
|
65..71 |
Frame 2 AMR-WB+ data (octet 28 to 34) |
|||||||
|
s8 |
… |
… |
… |
… |
… |
… |
… |
|
|
72 |
Frame 2 AMR-WB+ data (octet 35) |
|||||||
|
S64 |
S65 |
S66 |
S67 |
S68 |
S69 |
S70 |
S71 |
|
|
73 |
Frame 3 AMR-WB+ data (octet 1) |
|||||||
|
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
|
|
74..97 |
Frame 3 AMR-WB+ data (octets 2 to 25) |
|||||||
|
b8 |
… |
… |
… |
… |
… |
… |
… |
|
|
98 |
Frame 3 AMR-WB+ data (octet 26) |
|||||||
|
b200 |
b201 |
b202 |
b203 |
B204 |
b205 |
b206 |
b207 |
|
|
99 |
Frame 3 AMR-WB+ data (octet 27) |
|||||||
|
s0 |
s1 |
s2 |
s3 |
s4 |
s5 |
s6 |
s7 |
|
|
100..106 |
Frame 3 AMR-WB+ data (octet 28 to 34) |
|||||||
|
s8 |
… |
… |
… |
… |
… |
… |
… |
|
|
107 |
Frame 3 AMR-WB+ data (octet 35) |
|||||||
|
S64 |
S65 |
S66 |
S67 |
S68 |
S69 |
S70 |
S71 |
|
|
108 |
Frame 4 AMR-WB+ data (octet 1) |
|||||||
|
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
|
|
109..132 |
Frame 4 AMR-WB+ data (octets 2 to 25) |
|||||||
|
b8 |
… |
… |
… |
… |
… |
… |
… |
|
|
133 |
Frame 4 AMR-WB+ data (octet 26) |
|||||||
|
b200 |
b201 |
b202 |
b203 |
B204 |
b205 |
b206 |
b207 |
|
|
134 |
Frame 4 AMR-WB+ data (octet 27) |
|||||||
|
s0 |
s1 |
s2 |
s3 |
s4 |
s5 |
s6 |
s7 |
|
|
135..141 |
Frame 4 AMR-WB+ data (octet 28 to 34) |
|||||||
|
s8 |
… |
… |
… |
… |
… |
… |
… |
|
|
142 |
Frame 4 AMR-WB+ data (octet 35) |
|||||||
|
S64 |
S65 |
S66 |
S67 |
S68 |
S69 |
S70 |
S71 |
|
Annex A (informative):
Change history
|
Change history |
|||||||
|
Date |
TSG SA# |
TSG Doc. |
CR |
Rev |
Subject/Comment |
Old |
New |
|
2004-09 |
25 |
SP-040639 |
– |
– |
Approved at TSG SA#25 |
2.0.0 |
6.0.0 |
|
2004-12 |
26 |
SP-040841 |
001 |
Correction of stereo bit allocation tables |
6.0.0 |
6.1.0 |
|
|
2004-12 |
26 |
SP-040841 |
002 |
Correction of storage format for AMR-WB+ |
6.0.0 |
6.1.0 |
|
|
2004-12 |
26 |
SP-040841 |
003 |
1 |
Editorial changes |
6.0.0 |
6.1.0 |
|
2004-12 |
26 |
SP-040841 |
004 |
Editorial changes. Note that in Tdoc S4-040722, this CR was meant to be CR 004 and not CR 012; a remark was put in the CR database. |
6.0.0 |
6.1.0 |
|
|
2005-03 |
27 |
SP-050096 |
005 |
1 |
Update for TCX coding mode selection table |
6.1.0 |
6.2.0 |
|
2005-06 |
28 |
SP-050252 |
006 |
Correction of a value in Table 21 |
6.2.0 |
6.3.0 |
|
|
2007-03 |
35 |
SP-070029 |
0007 |
1 |
Reference to users guide |
6.3.0 |
7.0.0 |
|
2008-12 |
42 |
Version for Release 8 |
7.0.0 |
8.0.0 |
|||
|
2009-09 |
45 |
SP-090574 |
0008 |
Correction of references |
8.0.0 |
9.0.0 |
|
|
2011-03 |
51 |
Version for Release 10 |
9.0.0 |
10.0.0 |
|||
|
2012-09 |
57 |
Version for Release 11 |
10.0.0 |
11.0.0 |
|||
|
2014-09 |
65 |
Version for Release 12 |
11.0.0 |
12.0.0 |
|||
|
2015-12 |
70 |
Version for Release 13 |
12.0.0 |
13.0.0 |
|||
|
Change history |
|||||||
|
Date |
Meeting |
TDoc |
CR |
Rev |
Cat |
Subject/Comment |
New version |
|
2017-03 |
75 |
Version for Release 14 |
14.0.0 |
||||
|
2018-06 |
80 |
Version for Release 14 |
15.0.0 |
||||
|
2020-07 |
– |
– |
– |
– |
– |
Update to Rel-16 version (MCC) |
16.0.0 |
|
2022-04 |
– |
– |
– |
– |
– |
Update to Rel-17 version (MCC) |
17.0.0 |