[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[AVT] Frame Interleaving in AMR profile->RFC 3267



Dear All
The frame interleaving in the AMR profile (RFC 3267) states that

" The sender of the payload MUST only apply interleaving if the
   receiver has signalled its use through out-of-band means.  Since
   interleaving will increase buffering requirements at the receiver,
   the receiver uses MIME parameter "interleaving=I" to set the maximum
   number of frame-blocks allowed in an interleaving group to I.

   When performing interleaving the sender MUST use a proper number of
   frame-blocks per payload (N) and ILL so that the resulting size of an
   interleave group is less or equal to I, i.e., N*(L+1)<=I. "

ILL is the interleaving Length i.e. number of RTP packets across which interleaving happens.
NOTE: The value of ILL starts from 0. Hence, one needs to do ILL +1 in the above formula.

Nmax, the maximum value N (number of frame-blocks per payload) can take, is calculated by the formula ->
Nmax = (RTP MTU SIZE)/(The frame size of a frame block)

Assuming,

RTP MTU SIZE = 1500 bytes, and
The frame size of a AMR frame block = 13 octets for AMR frame type=0

The above assumption gives:
Nmax = 1500/13 = 115 packets.

The information obtained from out-of-band means, say, SDP is "interleaving=30", which means that an interleaving group can have a maximum of 30 frames per group such that:
(ILL+1) * N less than or equal to I  
        where    N varies from 0<N<Nmax.
                      ILL is the interleaving Length i.e. number of RTP packets across which interleaving happens.

Now, in the case taken by me above, Nmax > I   (i.e. 115>30). So, the condition (ILL+1)*N less than or equal to I with N=Nmax doesn't hold good.

So, how does one select the value of N and ILL such that it is less than I, in the above case?

Right now, I can think of only one option of handling this:
My option:  Assume the minimum value of ILL, say 1. A value of 2 makes sense because one needs at least 2 RTP packets to do interleaving. Based on this value calculate N
N = (30/2)-1
N = 14
With this value of N we satisfy both the conditions, namely,
(ILL+1) * N less than or equal to I  -> (2+1)
and
N varies from 0<N<Nmax.

I wanted to ask the others on this list whether this solution is the only solution? Or there are other ways of handling this?
Shouldn't the values of N and ILL be very apparent rather than AMR profile designer making such assumptions about it?
-- 
Prashanth B.P.
Sr. Design Engr.
NeoMagic Design Center.
Polyplex Building, First Floor
B-37 Sector 1
Noida 
INDIA 201301
E-Mail:  bprashanth@neomagic.com
Tel:     +91-120-2536208
Fax:     +91-120-2536207