Subject: [AVT] some question about AMR output frame structure!

From: 王 元 <[email-masked]>
Date: Fri, 23 Aug 2002 11:23:58 +0800

HELLO,I have some problem in implementing AMR in DSP and MCU. 

I found that the standard of 3GPP TS 26.073V4.1.0 defined the parameter 
bitstream file is different to 3GPP TS 26.101.  In 3GPP TS 26.101, it 
defined a frame structure in output parameter bitstream file not more than 
264 bits, but in 3GPP TS 26.073V4.1.0, the coder output is 250 bytes! That 
means, it use 16 bits(one word16) to express 1 bit!  I think it must be 
increase the bitrate of output bitstream, even more than 64kbps!   However, 
the test sequences in 3GPP TS 26.074 also show that the voice flie after 
coder "compress" is more larger than input one. 

I am puzzled!  Why the C code in standard will do this to "compress"?

which is the real standard of AMR when in implementation ?

Greatly appreciate for you giving me a answer!

_________________________________________________________________
与联机的朋友进行交流，请使用 MSN Messenger: 
http://messenger.microsoft.com/cn

_______________________________________________
Audio/Video Transport Working Group
[email-masked]
https://www1.ietf.org/mailman/listinfo/avt

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 26 Aug 2002 09:24:02 +0200

Hi,

One should be aware that there are specified several different
bitorderings and interfaces for AMR. So the question which bitorder to
use depend on what your are implementing. If your doing it for transport
over RTP, which I guess as you post your question here, the bitorder to
use is referenced in RFC 3267. RFC3267 says that the Interface Format 1
(IF1) bitordering (sorted in sensitivty order) specified in 26.101 shall
be used over the wire for the speech bits. The rest of the bits of the
payload are specified in RFC3267.

Regarding 26.073 the C code fixpoint reference implmentation: This code
uses a encoded format specified in chapter 6 of 26.073. This format is a
250 16-bit word fixed length frame (500 bytes) with 1 speech bit per 16
word plus some frame information. The bitordering used is the same as
IF2 (basic parameter ordering). The reason for 1 bit per word is to
allow for tests with channel decoding and simple implementation. The
format is not intended for storage or other public usage.

The conclusion is that if you are using the reference implementations
26.073 or 26.104 (floating-point) you must do format conversion by
removing unused bits and reorder the used ones.

Regards

Magnus Westerlund

王 元 wrote:

> I found that the standard of 3GPP TS 26.073V4.1.0 defined the
> parameter bitstream file is different to 3GPP TS 26.101. In 3GPP TS
> 26.101, it defined a frame structure in output parameter bitstream
> file not more than 264 bits, but in 3GPP TS 26.073V4.1.0, the coder
> output is 250 bytes! That means, it use 16 bits(one word16) to express
> 1 bit! I think it must be increase the bitrate of output bitstream,
> even more than 64kbps! However, the test sequences in 3GPP TS 26.074
> also show that the voice flie after coder "compress" is more larger
> than input one.

-- 

Magnus Westerlund 

Multimedia Technologies, Ericsson Research ERA/TVA/A
----------------------------------------------------------------------
Ericsson AB                | Phone +46 8 4048287
Torshamsgatan 23           | Fax   +46 8 7575550
S-164 80 Stockholm, Sweden | mailto: [email-masked]

---

From: Magnus Westerlund <[email-masked]>
Date: Mon, 26 Aug 2002 10:15:26 +0200

Hi,

I was made aware of that I made a mistake in the explanation. TS 26.073
output bit ordering is unspecified but I believe that it is parameter
ordering specified by the speech codec, i.e. same as the s(i) bits in TS
26.101. This order is not used in IF2 which also uses sensitivity sorted
order, but which specifies another set of non speech data parameters
than IF1.

I also worth noticing that the TS 26.104 implementation is capable of
either delivering IF2 frames or the same format specified in TS 26.073.

I am sorry for the confusion.

Magnus

-- 

Magnus Westerlund