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

David R Oran <oran@cisco.com> Mon, 15 September 2008 14:10 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 B42B728C126; Mon, 15 Sep 2008 07:10:31 -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 0A7D928C124; Mon, 15 Sep 2008 07:10:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 4vhQKjiCQCf4; Mon, 15 Sep 2008 07:10:28 -0700 (PDT)
Received: from sj-iport-5.cisco.com (sj-iport-5.cisco.com [171.68.10.87]) by core3.amsl.com (Postfix) with ESMTP id 87FA628C0EA; Mon, 15 Sep 2008 07:10:28 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.32,401,1217808000"; d="scan'208";a="45643963"
Received: from sjc12-sbr-sw3-3f5.cisco.com (HELO imail.cisco.com) ([172.19.96.182]) by sj-iport-5.cisco.com with ESMTP; 15 Sep 2008 14:10:39 +0000
Received: from 12-187-208-241.att-inc.com ([10.21.70.202]) by imail.cisco.com (8.12.11/8.12.10) with ESMTP id m8FDif6n015763; Mon, 15 Sep 2008 06:44:41 -0700
Message-Id: <7A3AAC37-DF43-48FB-B787-DA1FD822CF8F@cisco.com>
From: David R Oran <oran@cisco.com>
To: Marshall Eubanks <tme@multicasttech.com>
In-Reply-To: <44E65499-3332-4D53-BB45-ED33FCAA2DE0@multicasttech.com>
Mime-Version: 1.0 (Apple Message framework v928.1)
Date: Mon, 15 Sep 2008 07:10:38 -0700
References: <0415461A7AF6488CB18892EDCF904ABE@dorvalmatrox.matrox.com> <04CAD96D4C5A3D48B1919248A8FE0D5407C0A0A5@xmb-sjc-215.amer.cisco.com> <48CA2BBB.6030009@ericsson.com> <04CAD96D4C5A3D48B1919248A8FE0D5407C0A1C6@xmb-sjc-215.amer.cisco.com> <44E65499-3332-4D53-BB45-ED33FCAA2DE0@multicasttech.com>
X-Mailer: Apple Mail (2.928.1)
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=7010; t=1221486282; x=1222350282; c=relaxed/simple; s=oregon; h=To:Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=oran@cisco.com; z=From:=20David=20R=20Oran=20<oran@cisco.com> |Subject:=20Re=3A=20[Fecframe]=20Timestamps=20issue=20in=20 Draft=20=22RTP=20Payload=20format=20for=201-DInterleaved=20P arity=20FEC=22 |Sender:=20 |To:=20Marshall=20Eubanks=20<tme@multicasttech.com>; bh=r0YCbgfvVUV2Gs/KCQ5DDizHXGqXispZ2wXmQp3uy6w=; b=n9vZOiEKvGL9KDh9hYQkj6y7Q2+uVn6Pk7MO2dRRN5rAkE26zJxVdVv4A3 Zu424unuPsBZlZKKAbWd4Upi24i5OLWuDTzNX/Voi8y8DNk+OE3j3sovYuD5 fYzxWvUbIB;
Authentication-Results: imail.cisco.com; header.From=oran@cisco.com; dkim=pass ( sig from cisco.com/oregon verified; );
Cc: 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

I tend to agree with Marshall's comments below. A couple of more  
things embedded.

On Sep 15, 2008, at 4:46 AM, Marshall Eubanks wrote:

> 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
>
In fact, if anything differs about the 5-tuple in the IP header, not  
just the DSCP, the packets might get routed differently. This of  
course inclues the case where the FEC is sent to a separate multicast  
group.

> - 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.
>
This works for me.

DaveO.
> 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
>
> _______________________________________________
> 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