Re: [AVT] [Fecframe] Timestamps issue in Draft "RTP Payload format for 1-DInterleaved Parity FEC"

Marshall Eubanks <tme@multicasttech.com> Mon, 15 September 2008 12:03 UTC

Return-Path: <avt-bounces@ietf.org>
X-Original-To: avt-archive@optimus.ietf.org
Delivered-To: ietfarch-avt-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9462E3A6914; Mon, 15 Sep 2008 05:03:42 -0700 (PDT)
X-Original-To: avt@core3.amsl.com
Delivered-To: avt@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id BCDDF3A6803; Mon, 15 Sep 2008 04:46:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -103.186
X-Spam-Level:
X-Spam-Status: No, score=-103.186 tagged_above=-999 required=5 tests=[AWL=0.413, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QkSc+dQ+2GgR; Mon, 15 Sep 2008 04:46:34 -0700 (PDT)
Received: from multicasttech.com (lennon.multicasttech.com [63.105.122.7]) by core3.amsl.com (Postfix) with ESMTP id 2DA5D3A67E7; Mon, 15 Sep 2008 04:46:34 -0700 (PDT)
Received: from [63.105.122.7] (account marshall_eubanks HELO [IPv6:::1]) by multicasttech.com (CommuniGate Pro SMTP 3.4.8) with ESMTP-TLS id 12987141; Mon, 15 Sep 2008 07:46:44 -0400
Message-Id: <44E65499-3332-4D53-BB45-ED33FCAA2DE0@multicasttech.com>
From: Marshall Eubanks <tme@multicasttech.com>
To: "Ali C. Begen" <abegen@cisco.com>
In-Reply-To: <04CAD96D4C5A3D48B1919248A8FE0D5407C0A1C6@xmb-sjc-215.amer.cisco.com>
Mime-Version: 1.0 (Apple Message framework v926)
Date: Mon, 15 Sep 2008 07:46:43 -0400
References: <0415461A7AF6488CB18892EDCF904ABE@dorvalmatrox.matrox.com> <04CAD96D4C5A3D48B1919248A8FE0D5407C0A0A5@xmb-sjc-215.amer.cisco.com> <48CA2BBB.6030009@ericsson.com> <04CAD96D4C5A3D48B1919248A8FE0D5407C0A1C6@xmb-sjc-215.amer.cisco.com>
X-Mailer: Apple Mail (2.926)
X-Mailman-Approved-At: Mon, 15 Sep 2008 05:03:41 -0700
Cc: Magnus Westerlund <magnus.westerlund@ericsson.com>, IETF AVT WG <avt@ietf.org>, fecframe@ietf.org
Subject: Re: [AVT] [Fecframe] Timestamps issue in Draft "RTP Payload format for 1-DInterleaved Parity FEC"
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Audio/Video Transport Working Group <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/avt>
List-Post: <mailto:avt@ietf.org>
List-Help: <mailto:avt-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avt>, <mailto:avt-request@ietf.org?subject=subscribe>
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Sender: avt-bounces@ietf.org
Errors-To: avt-bounces@ietf.org

Hello;

On Sep 12, 2008, at 11:56 AM, Ali C. Begen (abegen) wrote:

> Hi Magnus,
>
> Comments are inline.
>
>> -----Original Message-----
>> From: Magnus Westerlund [mailto:magnus.westerlund@ericsson.com]
>> Sent: Friday, September 12, 2008 11:44 AM
>> To: Ali C. Begen (abegen)
>> Cc: Guy Bonneau; fecframe@ietf.org; IETF AVT WG
>> Subject: Re: [Fecframe] Timestamps issue in Draft "RTP
>> Payload format for 1-DInterleaved Parity FEC"
>>
>> Ali C. Begen (abegen) skrev:
>>> You are correct. Note that the 1-D draft is adopting SMPTE
>> 2022-1 spec
>>> and fixing the RTP issues with it. The SMPTE spec does not use the
>>> timestamp field at all (receivers ignore it and what the
>> sender puts
>>> in that field is undefined). In our draft, we use it and
>> set it as you
>>> described below.
>>>
>>> The motivation for this change from 2733 is that the clock at the
>>> instant the fec packet is transmitted is not a very useful
>> information.
>>> It does not help in FEC decoding process, either.
>> Furthermore, unlike
>>> the source RTP packets, FEC packets don't have a
>> synchronization issue.
>>> So their transmission time is not very critical (as long as they
>>> arrive on time for FEC decoding).
>>>
>>> Instead, during our discussions, we decided to set it
>> differently. Of
>>> course, FEC packets identify which source packets they
>> protect (based
>>> on the SN base, L, D). However, if the FEC packet is
>> received earlier
>>> than the source packets it protects (might be the case), by
>> checking
>>> the timestamp field, we can now know the timestamp of the earliest
>>> source packet that is protected by this packet (in addition
>> to its seqnum).
>>> This is a useful information. Or, if that earliest source
>> packet won't
>>> arrive (i.e., it is lost), we will know by when we have to
>> recover it.
>>>
>>> OTOH, if the source packets are received earlier than the
>> FEC packet,
>>> the timestamp info would not be that useful.
>>>
>>> We can think of it as follows as well: The FEC packet has some
>>> information from that earliest source packet. That source
>> packet was
>>> sampled at time say, t, so, it makes sense to put the value of t in
>>> the timestamp field of the fec packet.
>>>
>>> (RFC 3550 says that "The timestamp reflects the sampling instant of
>>> the first octet in the RTP data packet.")
>>
>> The problem with this definition is that you are completely
>> screwing up the RTCP jitter calculation. Sure, RTCP jitter
>> calculations are screwed up by some other RTP payload
>> formats, like video with multiple packets for the same frame.
>
> We are not touching the jitter measurement for the source packets.  
> But, yes, our setting will disable the jitter measurement for the  
> FEC packets.
>
>> However, there is a trade-off here. I am not certain that the
>> timestamp of the source packet are that useful as you anyway
>> have an explicit reference to the packets you will need. If
>> the SN base packet hasn't arrived, then the repair packet is
>> early. Not particular likely unless strange transport
>> reordering mechanisms are in place. If as you say the repair
>> packet arrives after SN base source packet, then you can look
>> up the corresponding timestamp.
>
> Agree.
>
>> So in this case, I don't see how loseing the possibility use
>> the RTCP jitter for something useful on the FEC stream is
>> motivated. And if the FEC stream jitter measurements works
>> decently, then they can be used to cover for source streams
>> that aren't able to utilize the jitter measurement.
>
> I don't think jitter measurements based on the FEC packets could be  
> effectively used for estimating the jitter for the source packets.  
> There are several different sending arrangements adopted for sending  
> the FEC packets that will mess up the measurements anyway.  
> Furthermore, the repair packets might be sent over a different  
> network, qos class, etc.
>

I would disagree with this. Precisely because you might send the FEC  
packets differently, it would be useful to
know their time delay & jitter. Suppose you put FEC packets in a QOS  
class that causes them to sometimes arrive too late, because of  
buffering or path differences. How would I be able to troubleshoot  
that at the receiver if they

- all have a timestamp a few 100 milliseconds or more too early (the  
lowest sequence number means a large delay) and
- will likely have jumps in this time stamp delay  due to, e.g.,  
dropped frames in the encoder ?

However, there could be FEC schemes where the original clock is not  
available (i.e., middleware FEC). So,
maybe the text should be

The timestamp MUST be set to the value of the media RTP clock at the
instant the FEC packet is transmitted, if the media RTP clock is  
avalable to
the sender of the FEC packets. If the media RTP clock is not available
to the sender of the FEC packets, the timestamp MUST be set to the  
value of a parallel RTP
clock maintained by the sender, and this RTP clock SHOULD be  
synchronized with the
media RTP clock.

Note that the SMPTE spec is silent here, so they are not a issue.

Regards
Marshall



> But, why do you need something like this in the first place? We can  
> measure the jitter in the source stream itself.


>
>
>> I think we should include AVT in RTP related discussions. I
>> also need to add this bit of information to the RTP payload how to.
>
> Agree. Thanks for the note.
>
> -acbegen
>
>> Cheers
>>
>> Magnus Westerlund
>>
>> IETF Transport Area Director & TSVWG Chair
>> ----------------------------------------------------------------------
>> Multimedia Technologies, Ericsson Research EAB/TVM
>> ----------------------------------------------------------------------
>> Ericsson AB                | Phone +46 8 4048287
>> Färögatan 6                | Fax   +46 8 7575550
>> S-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
>> ----------------------------------------------------------------------
>>
> _______________________________________________
> Fecframe mailing list
> Fecframe@ietf.org
> https://www.ietf.org/mailman/listinfo/fecframe

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