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

B Prashanth <bprashanth@neomagic.com> Wed, 23 July 2003 14:18 UTC

Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA14624 for <avt-archive@odin.ietf.org>; Wed, 23 Jul 2003 10:18:34 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fKRR-0003tz-Je for avt-archive@odin.ietf.org; Wed, 23 Jul 2003 10:18:07 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h6NEI5Nj014995 for avt-archive@odin.ietf.org; Wed, 23 Jul 2003 10:18:05 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fKRN-0003tJ-IT; Wed, 23 Jul 2003 10:18:01 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fKR2-0003s5-GZ for avt@optimus.ietf.org; Wed, 23 Jul 2003 10:17:40 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id KAA14604 for <avt@ietf.org>; Wed, 23 Jul 2003 10:17:36 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19fKR0-0004zN-00 for avt@ietf.org; Wed, 23 Jul 2003 10:17:38 -0400
Received: from [209.172.119.195] (helo=node24.neomagic.com) by ietf-mx with esmtp (Exim 4.12) id 19fKQp-0004yy-00 for avt@ietf.org; Wed, 23 Jul 2003 10:17:27 -0400
Received: from node26.neomagic.com (node26.neomagic.com [192.168.51.26]) by node24.neomagic.com (8.12.5/8.12.5) with ESMTP id h6NEGhS1028200 for <avt@ietf.org>; Wed, 23 Jul 2003 07:16:43 -0700
Received: from neomagic.com ([192.168.31.247]) by node26.neomagic.com (8.12.5/8.12.5) with ESMTP id h6NEGaAG032007 for <avt@ietf.org>; Wed, 23 Jul 2003 07:16:37 -0700
Message-ID: <3F1E9C47.6090304@neomagic.com>
Date: Wed, 23 Jul 2003 20:01:35 +0530
From: B Prashanth <bprashanth@neomagic.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.0.2) Gecko/20030208 Netscape/7.02
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: avt <avt@ietf.org>
Content-Type: multipart/alternative; boundary="------------080603010207070101030907"
Subject: [AVT] Frame Interleaving in AMR profile->RFC 3267
Sender: avt-admin@ietf.org
Errors-To: avt-admin@ietf.org
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>

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