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

B Prashanth <bprashanth@neomagic.com> Thu, 24 July 2003 10:02 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 GAA01009 for <avt-archive@odin.ietf.org>; Thu, 24 Jul 2003 06:02:12 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fcux-0000vl-Mx for avt-archive@odin.ietf.org; Thu, 24 Jul 2003 06:01:47 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h6OA1lsu003576 for avt-archive@odin.ietf.org; Thu, 24 Jul 2003 06:01:47 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fcuD-0000pP-KT; Thu, 24 Jul 2003 06:01:01 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19fcu1-0000jc-7P for avt@optimus.ietf.org; Thu, 24 Jul 2003 06:00:49 -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 GAA00963 for <avt@ietf.org>; Thu, 24 Jul 2003 06:00:43 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19fctx-0004vL-00 for avt@ietf.org; Thu, 24 Jul 2003 06:00:45 -0400
Received: from [209.172.119.195] (helo=node24.neomagic.com) by ietf-mx with esmtp (Exim 4.12) id 19fctm-0004ut-00 for avt@ietf.org; Thu, 24 Jul 2003 06:00:34 -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 h6O9xbS1006118; Thu, 24 Jul 2003 02:59:37 -0700
Received: from neomagic.com ([192.168.31.247]) by node26.neomagic.com (8.12.5/8.12.5) with ESMTP id h6O9xVAG008620; Thu, 24 Jul 2003 02:59:35 -0700
Message-ID: <3F1FB187.5050402@neomagic.com>
Date: Thu, 24 Jul 2003 15:44:31 +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: Magnus Westerlund <magnus.westerlund@ericsson.com>
CC: avt <avt@ietf.org>
Subject: Re: [AVT] Frame Interleaving in AMR profile->RFC 3267
References: <3F1E9C47.6090304@neomagic.com> <3F1F8DCA.3030509@ericsson.com>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
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>
Content-Transfer-Encoding: 7bit

Hi Magnus!

    Thanks for replying in detail. It has cleared lot of my doubts.

Regards,
Prashanth

Magnus Westerlund wrote:

> Hi,
>
> When it comes to meeting the limitations the sender side has the 
> freedom to select any combination of ILL and number of frames that 
> satisfies the restrictions. Another restriction then I that may be 
> used is "maxptime" which puts a limit on the number of frames per packet.
>
> In your example with I=30 the sender has the choice to go from ILL=0 
> (No interleaving, with 30 frames in a single RTP packet, up to ILL=14 
> and only two frames per packet. It is assumed that the sender will use 
> the combination most suitable for the current network performance and 
> congestion state.
>
> There is no need for the payload format to put in more limitations. 
> The RTP payload format has great flexibility and for any receiver 
> implementing the interleaving mode can decode these payloads 
> independent  of which ratio between ILL and N that are used. The I 
> restriction value is there to put a limit on buffering and 
> interleaving induced delay. However using many AMR frames per packet 
> is generally not a good idea. If one would use the 130 frames per 
> packet that you calculate, I hope you are aware that this represent 
> 2.6 seconds. That can be a whole sentence lost if this single packet 
> is lost. So filling voice packet to the limit is not suitable in 
> environments where losses occur. However if one has retransmission or 
> uses a reliable channel more frames per packets may give satisfactory 
> performance. My opinion is that more than 5-10 frames per packet is to 
> much. And if one is going as high as 10 frames per packet one should 
> definitely consider using interleaving with fairly decent length.
>
>
> [Chairs hat on]
>
> RFC 3267 is a payload format NOT a profile. A RTP profile is something 
> else and must not be confused with payload formats. I have seen this 
> mistake being done also by others. The current available profiles are 
> RFC 1890 (AVP) or rather draft-ietf-avt-profile-new-13. Two new 
> profiles are with the IESG, SRTP (SAVP) draft-ietf-avt-srtp-09 and 
> Extended RTCP feedback (AVPF) draft-ietf-avt-rtcp-feedback-07.
>
> [chairs hat off]
>
> Best Regards
>
>
> Magnus
>
>
> B Prashanth wrote:
>
>> 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
>>
>




_______________________________________________
Audio/Video Transport Working Group
avt@ietf.org
https://www1.ietf.org/mailman/listinfo/avt