AMR-NB: Difference between revisions
Jump to navigation
Jump to search
(Add to formats missing in FFmpeg category.) |
mNo edit summary |
||
Line 6: | Line 6: | ||
== Frame format == | == Frame format == | ||
Specification (26.101) describes two possible frame types - interface | Specification (26.101) describes two possible frame types - interface formats 1 and 2 (often abbreviated IF1 and IF2). IF2 is byte-aligned. | ||
=== IF1 format === | === IF1 format === |
Revision as of 20:36, 22 June 2007
- samples: http://samples.mplayerhq.hu/amr/
- specification: http://www.3gpp.org/ftp/Specs/html-info/26-series.htm
- Wikipedia article: http://en.wikipedia.org/wiki/Adaptive_Multi-Rate
AMR-NB (Adaptive Multi-Rate Narrowband) is a vocoder employed in low-bitrate applications like mobile phones.
Frame format
Specification (26.101) describes two possible frame types - interface formats 1 and 2 (often abbreviated IF1 and IF2). IF2 is byte-aligned.
IF1 format
Frame type (4 bits) Frame quality indicator (1 bit) Mode indication (3 bits) Mode request (3 bits) CRC (8 bits) Class A bits Class B bits Class C bits
IF2 format
Frame type (4 bits) Class A bits Class B bits Class C bits Padding (called "Bit Stuffing" in spec)
Field meaning
- Frame type , mode indication and mode request - for frame types 0-7 they all should be the same and indicate one of eight possible AMR bitrates, frame types 8-11 represent silence, 12-14 are reserved and frame type 15 means there is no data at all
- Frame quality indicator (1 bit) - flag that shows if frame is good
- CRC (8 bits) - CRC with polynomial x^8+x^6+x^5+x^4+1 computed over Class A bits
- Class A bits - the most important data
- Class B bits - less important data
- Class C bits - additional not very important data that may be present only on higher bitrates (frame types 6 and 7)
How to smear bits between all these classes is defined by so-called 'importance function'