Re: [Fecframe] request for pub draft-ietf-rtp-raptor-04

Vincent Roca <vincent.roca@inrialpes.fr> Wed, 23 March 2011 08:43 UTC

Return-Path: <vincent.roca@inrialpes.fr>
X-Original-To: fecframe@core3.amsl.com
Delivered-To: fecframe@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 9E4B53A6774; Wed, 23 Mar 2011 01:43:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -9.82
X-Spam-Level:
X-Spam-Status: No, score=-9.82 tagged_above=-999 required=5 tests=[AWL=-0.171, BAYES_00=-2.599, HELO_EQ_FR=0.35, J_CHICKENPOX_42=0.6, RCVD_IN_DNSWL_HI=-8]
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 r2wSRFY7tD-p; Wed, 23 Mar 2011 01:42:59 -0700 (PDT)
Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by core3.amsl.com (Postfix) with ESMTP id ECF7E3A6452; Wed, 23 Mar 2011 01:42:58 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.63,230,1299452400"; d="scan'208";a="94671703"
Received: from demeter.inrialpes.fr ([194.199.24.102]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-CAMELLIA256-SHA; 23 Mar 2011 09:44:31 +0100
Message-ID: <4D89B2EF.8020603@inrialpes.fr>
Date: Wed, 23 Mar 2011 09:44:31 +0100
From: Vincent Roca <vincent.roca@inrialpes.fr>
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; fr; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9
MIME-Version: 1.0
To: "Luby, Michael" <luby@qualcomm.com>
References: <C9AD220B.AC16%luby@qualcomm.com>
In-Reply-To: <C9AD220B.AC16%luby@qualcomm.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: "iesg-secretary@ietf.org" <iesg-secretary@ietf.org>, "fecframe@ietf.org" <fecframe@ietf.org>
Subject: Re: [Fecframe] request for pub draft-ietf-rtp-raptor-04
X-BeenThere: fecframe@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Discussion of FEC Framework <fecframe.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/fecframe>, <mailto:fecframe-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/fecframe>
List-Post: <mailto:fecframe@ietf.org>
List-Help: <mailto:fecframe-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/fecframe>, <mailto:fecframe-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 23 Mar 2011 08:43:04 -0000

Hello Mike,

> *** There seems to be a couple of ways to solve this.  One, as you suggest,
> is to mandate that the solution must have all source packets arrive at the
> FEC encoder.  Another way is to have logic at the FEC encoder that detects
> if there are missing packets (easy to do in this case because of the RTP
> sequence numbers), and if so, for FEC encoding purposes (not transmission
> purposes), creates a dummy packet of all zeroes for each missing sequence
> number (or whatever the receiver is going to interpret as a valid packet but
> with no real audio/video info inside), and encode the source block including
> the dummy packet(s).  Probably best to point out the problem and then
> mention some possible ways to solve it.

I agree, let's point the issue first and then suggest a few ways to fix
or mitigate it. Which solution to prefer depends on the use-case.
This is already discussed in version -14 of the framework I-D
(section 10.2):
---
       In this case,
       another solution SHOULD be considered that is use-case specific
       and whose consequences need to be carefully considered (e.g., by
       duplicating the last ADU received before the loss, or by inserting
       a zero'ed ADU, depending on the ADU flow nature).
---

However inserting a dummy source packet and not sending it
means it will be considered as erased at the FECFRAME decoding,
which impacts the recovery capabilities of the FEC scheme.
And we have no way to signal to the receiver this is a dummy
source packet.

So there are two good reasons such erasures do not happen
too often:
1) because a missing audio/video source packet impacts the
     perceived quality,
2) because it also impacts the FEC protection of source packets
     that are considered by the FECFRAME encoder.

An alternative is of course to send such dummy source packets
of signal them to the receiver (not feasible with current specs).


> *** It should be noted that in any system where not all the source packets
> containing video/audio data get to the FEC encoder is pretty badly designed,
> as no matter how you overcome it, you are still going to be missing
> video/audio at all the clients that receive the stream.  At least if you
> have RTP sequence numbers in the source packets you will know this at the
> FEC encoder (may not be true of other solutions, i.e., it may even be hard
> to detect that not all the video/audio source packets get to the FEC
> encoder, and this probably should be pointed out for other solutions).
Good point. However I guess there are other means to identify
missing ADUs within the upper application, even if it's not
visible at FECFRAME level.

Cheers,

   Vincent