Re: [dispatch] [Sframe] Magnus Westerlund's Block on charter-ietf-sframe-00-00: (with BLOCK and COMMENT)

Magnus Westerlund <magnus.westerlund@ericsson.com> Mon, 14 September 2020 07:30 UTC

Return-Path: <magnus.westerlund@ericsson.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 8A0AB3A0CDD; Mon, 14 Sep 2020 00:30:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[DKIMWL_WL_HIGH=-1.695, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_MSPIKE_H2=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GELlAJva27o0; Mon, 14 Sep 2020 00:30:03 -0700 (PDT)
Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-eopbgr150085.outbound.protection.outlook.com [40.107.15.85]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 90C943A0CDA; Mon, 14 Sep 2020 00:30:02 -0700 (PDT)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LftmLB+iH6u/59Z0q/smXYhZcc2utjswg2iDgYM6UU2yGuA1szjgfsJgaFmfy2xn8SNHVzm97UYmA+Gz5p1Y9+rXH6LOTW4JsIY9jrm04gUnhCmzyr7gJnNv2hKiXU9Ze9M5eC92jOr1Forn0QaJAwShDi+WfyPpxh059wsSVq9CRCIRME7ohYTMkEncVPiFFkv2DsLbOPdeg/Dy4Tt3NmSSp4wGjFAcdbQAYdm1RuCQDno4bYJwHXFCLGYzjZfTWj9+SBMiN/4EJopRQufX+AmtIdr5wFrzE6t34j/qXCWO/4p+6WNLimoLDAuaZepzjbFo73JYVjK86/uH6ec9gQ==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uEwnv1PlCekOtaAbmT4ZMlmKB3zzlJKnd052xSfP7Vk=; b=O9y2yLVXOhiwEwGECUccTwtkRcp27/4ip7vPGUJxejC2loITLhEFP7f6dHn4oyVoPMFWGfRM1KsaBQIqRF8zeY/MaZyhWySyFTntjJHtWNfRG+9PjZGkCVyzoBQooJRIDXsn7J8/zRb9pjd3nUbYBoA8Wvh/GizLKqA3LINtNS+Kypazn22kClbsvnoZ+8mZcHE3MVKT+UPLew2l1fCxN1hcynhsaGOY78ZgfoVqBNPtCA22JuFPKHxfcP+Ttm+0t4BOA5/PLKIWzJgQvrQcaPcnOBbOH1udIijpjvVbhFQTPwGJCApBdZToTspGD/le8FhQJqr+QzkbimmR7r8j9g==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uEwnv1PlCekOtaAbmT4ZMlmKB3zzlJKnd052xSfP7Vk=; b=Msglxsl0xwZUfCOucD0Ci18sJOkvn0XLKoqm57IVyFryHfN4PmZB7CYTIuPxPMWwBSTyZp9UoqnW9t2J8tGsTHQDGl6zsvEawSVmi5+L+PRI4QTT0w2l14yoY1C0km1A2NVb4zoeMN++0JpyUDUhrI5TsJevm/b2pxYIVQmrAhY=
Received: from HE1PR0702MB3772.eurprd07.prod.outlook.com (2603:10a6:7:8e::14) by HE1PR0701MB2460.eurprd07.prod.outlook.com (2603:10a6:3:70::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3391.5; Mon, 14 Sep 2020 07:29:55 +0000
Received: from HE1PR0702MB3772.eurprd07.prod.outlook.com ([fe80::c98a:9a0c:1eea:3fdc]) by HE1PR0702MB3772.eurprd07.prod.outlook.com ([fe80::c98a:9a0c:1eea:3fdc%6]) with mapi id 15.20.3391.009; Mon, 14 Sep 2020 07:29:55 +0000
From: Magnus Westerlund <magnus.westerlund@ericsson.com>
To: "rlb@ipv.sx" <rlb@ipv.sx>, "magnus.westerlund=40ericsson.com@dmarc.ietf.org" <magnus.westerlund=40ericsson.com@dmarc.ietf.org>, "sergio.garcia.murillo@cosmosoftware.io" <sergio.garcia.murillo@cosmosoftware.io>, "sergio.garcia.murillo@gmail.com" <sergio.garcia.murillo@gmail.com>
CC: "dispatch@ietf.org" <dispatch@ietf.org>, "iesg@ietf.org" <iesg@ietf.org>, "sframe-chairs@ietf.org" <sframe-chairs@ietf.org>, "sframe@ietf.org" <sframe@ietf.org>
Thread-Topic: [dispatch] [Sframe] Magnus Westerlund's Block on charter-ietf-sframe-00-00: (with BLOCK and COMMENT)
Thread-Index: AQHWhTXfuLaYkFC4LEWqC8j5AGiLAKlh8DkAgAASwICAALgzgIAAV8mAgAAoYICAAA/A0IAAS+mAgAQwQoA=
Date: Mon, 14 Sep 2020 07:29:54 +0000
Message-ID: <49b13e5efa0b2ac0a7b09842dbce8793dfcf6667.camel@ericsson.com>
References: <159949693494.2875.16993532753477402380@ietfa.amsl.com> <CAL02cgS=y7mBt10n+jCGwUoy54eeH9ZXFijQdDSKk5Qt9mNrUw@mail.gmail.com> <e0b5dc1c04ab6b5cee2c88b5b1b348d7c70a5d4c.camel@ericsson.com> <a3fbe87c-d60b-23f1-2968-c7ac6ad50ea4@cosmosoftware.io> <5c6c96621b29ebf4b1f84e53ae3a414c9d0ec3a5.camel@ericsson.com> <05085c6c-0c30-a407-8f41-b6c9be8100bc@gmail.com> <HE1PR0702MB3772BEFD51DAB83AC64A252695240@HE1PR0702MB3772.eurprd07.prod.outlook.com> <cb46a294-5ae4-d82f-efe8-f887c578ae30@gmail.com>
In-Reply-To: <cb46a294-5ae4-d82f-efe8-f887c578ae30@gmail.com>
Accept-Language: sv-SE, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2
authentication-results: ipv.sx; dkim=none (message not signed) header.d=none;ipv.sx; dmarc=none action=none header.from=ericsson.com;
x-originating-ip: [158.174.116.90]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 22940179-27f9-4760-076f-08d8587ff9f5
x-ms-traffictypediagnostic: HE1PR0701MB2460:
x-microsoft-antispam-prvs: <HE1PR0701MB2460874FD108D4691CEFCA2395230@HE1PR0701MB2460.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam: BCL:0;
x-microsoft-antispam-message-info: WdiZGDVNVm7Jwll6rhk4MxGtpvVzuDbdyPr64SZ+w0MSD6efwrrLlJPABmcU02KoMeRDxG8ZQJIvgNU2KJbwZWeoNtz0yLsUQUcDlC5NtKgetfCepFD4mmeExVX1/Ziptsu1N4zd8rrRzEuzqB2uq+cUBD1oFq+vryzgB2mtQTuFWK03YDtILkcVK2D80h6fEIVJ+6bGEIQGRmkERJmeas0sijj9hmaA+pIZmFfTnwX5ghMGEIewDuIFQp1ZKqJVCdvhGN5zJC8rp8rzoa9EZtkAhNYmyjN0PDx4TOu/BrwoKyVFbfQLXVP2BE289XYqCn8OvEIn97E6RP13Mpn0O+lubAVi8SZV1qx7TsdRCHKoJf7nJD2bxphwHlJrOibFpNkI/r+5hYJmhOz/QLMOFbo9ZukaVKMB/LLm4SaOHAQ=
x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR0702MB3772.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(376002)(346002)(136003)(39860400002)(366004)(83380400001)(8676002)(76116006)(4326008)(26005)(66476007)(64756008)(66446008)(66946007)(66556008)(110136005)(54906003)(2906002)(36756003)(44832011)(66574015)(2616005)(6512007)(86362001)(5660300002)(6486002)(8936002)(316002)(53546011)(6506007)(508600001)(186003)(71200400001)(99106002); DIR:OUT; SFP:1101;
x-ms-exchange-antispam-messagedata: BEvh7jr25Htzi9xBQOsOho5lEQjOFBNH2M03PggWSwLBr7blWXS4SAyn9v2kD6+M+7Gy6aztUJSEnXQszzFYAxCeNyvCVj0/bXxOumGirbPnhLXm9mlI355gCVg3qpsIrA9GjC3aQGHpg0zBX9NkcwyjTVLHG8y3pWz+lLJHMii7cEyY6P+2vA6j0C5tcmzJCvyC0aFd2yCchM/zsU4h6vq02dIlk9II/g3YaskbDHQk/3pVws/DgFwxTcWb5SVQgBDEvAOz6haIuluWJiDng8RK8CY3jVRvJbSrNn4v6ZacRRrdIDKDei/dVdTWK87uQRcRqYAAW1if+Dm2ae06PZG/r+SXjcgY8K2QOQt2+/KnlFCrTfE32YEUkFt0fy+IMWNCl6YD4ocS2TFsSbAaMsG7RP6VQqiEfaUPs5tAV/wpFh5AMj87nedfCSXY9NGRfhjL0RS8PPM+lJvy7jbvOC+w37zJxG/Vdv3VdW2JyKPmCxwLETPndv0dFVQvt7Pj6yXiIN+MT/QyVOMa7MkrvjyjETpHB/h5dipDyTOqHe5CZgwrZB5yYlffV1cgpD8l7SItdM2646Pf9BBwB6/cMzjA7uMRsV3bwzqVo+D7bmE+J82tuVCnB5Vt99UHTCSqYd6J8s8rPaHMMx4jw9l6Vw==
x-ms-exchange-transport-forked: True
Content-Type: text/plain; charset="utf-8"
Content-ID: <5E11A349B969E74C8A49D84EE4752C9E@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-AuthSource: HE1PR0702MB3772.eurprd07.prod.outlook.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 22940179-27f9-4760-076f-08d8587ff9f5
X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Sep 2020 07:29:54.9171 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-CrossTenant-userprincipalname: dbp1aQRlN7XJA7z9mFsTLBzNfk0tkoNl7gutCzZCh7R6nsvBu24F45g69YrWL7DH4ndx/GZxqdL5DD7/nekEr+gRR2gKRqIMihWNn/5Zj5U=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR0701MB2460
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/K90m1ZV1Mkmc1q3X9HcMDFf0z-0>
Subject: Re: [dispatch] [Sframe] Magnus Westerlund's Block on charter-ietf-sframe-00-00: (with BLOCK and COMMENT)
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 14 Sep 2020 07:30:05 -0000

Hi,

Please see inline

On Fri, 2020-09-11 at 17:32 +0200, Sergio Garcia Murillo wrote:
> On 11/09/2020 13:19, Magnus Westerlund wrote:
> > Hi,
> > 
> > > > So do I assume correctly that the idea is that the application layer
> > > > using SFRAME if it haves multiple independent or sets of dependent
> > > > streams there will be no support for that aspect in SFRAME layer?
> > > > Instead it is up to the application to put such information to either
> > > > put it inside the encapsualted part of the SFRAME or map it to the
> > > > lower transport layer, like to RTP SSRCs and extension information.
> > > 
> > > If i understood you correctly, SFrame is kind of agnostic to the media
> > > streams. Currently it has a single global frame counter for all the
> > 
> > transport, so
> > > the number of streams/dependency between them is not known/needed
> > > by SFrame.
> > 
> > Yes, and when using a multi-stream application with layered encoding being
> > protected by SFRAME and transported over RTP with repair functions the high
> > layer application will need to have a model for how it maps individual
> > SFRAMEs to RTP layer functions to enable them to do their work. You get a
> > very limited functionality if in an SFU system tries to send all over a
> > single RTP SSRC. So this becomes a discussion in the RTP Payload format
> > context when carrying SFRAMEs.
> 
> 
> I don't really understand your point, let's put an example vp9 svc.
> 
> Chrome will encode each picture from the video stream and pass it to the 
> vp9 svc encoder. The encoder will produce n-frames (one per spatial 
> layer) for a given picture.
> 
> Chrome will get each frame with its metadata (spatial/layer id + layer 
> structure info + previous frame dependencies + future frame depencies) 
> and pass it over to the insertable streams.
> 
> The payload will go to javascript, in where SFRAME will encrypt it and 
> returned as a binary blob.
> 
> The browser will get the binary blob, packetize it in several rtp 
> packets according to the new packetization format and add the metadata 
> as a header extension.
> 
> Is this process what you are describing or is there anything missing?
> 

Then the client will send these RTP packets to an SFU that will need to make
decision on which of the packets to forward for which layers to a particular
receiver. To be able to do this there are first the aspect of that the meta data
needs to be included so that the SFU can make decision based on the packets it
recieves. In RTP context this likely are a more generic structure like the RTP
header extension for Frame marking (draft-ietf-avtext-framemarking). 

For packet it doesn't receive it lacks the meta data. Thus, for a more efficient
repair of packets that are missing and to repair only packets that the SFU
actually needs, then you actually have to map the layered structure into RTP
level structures so that the SFU can determine that the missing packet belongs
to a layer that it actually intends to forward. Putting everything in a single
SSRC requires the SFU to repair all losses independent of it needing the packet
or not. 

A even more extreme example is if the client has 3 video cameras and produce 3
video encodings. In the SFRAME context it is possible to take the video frames
from all these threee encodings and put them in a single RTP stream (SSRC) with
SFRAMEs from that end-point. However, that would force your meta data to contain
also source identification rather than to using different SSRCs. Putting
multiple encoding on an single RTP stream would deprive the SFU of the
possibility to do rate control per encoding (RFC 5104 - TMMBR) as well as pause
streams it doesn't forward at all (RFC 7728 - Stream PAUSE) because all the
existing RTP mechanism that are included in WebRTC works on the RTP streams, not
sub-streams that doesn't have an identifier in the RTP layer. In addition to
having to repair any loss for the aggregated stream of the three encodings.

> 
> > 
> > > 
> > > > > However, if the encrypted output is going to be transmitted over RTP
> > > > > using a new packetization format, we need to address how to negotiate
> > > > > that in the SDP.
> > > > 
> > > > Good
> > > > 
> > > > > Note that this new packetization format will not only be alid for
> > > > > transporting encrypted frames (SFrame or not) but even any other
> > > > > audio/video frames.
> > > > 
> > > > I understand the potential exists. However, the recommendation for RTP
> > > > has been to try to consider Application Level Framing. In the case of
> > > > SFRAME that consideration moves up above SFRAME in the choice of how
> > > > data is split into SFRAMEs. However, having an RTP paylaod format for
> > > > SFRAME, then that should carry SFRAMEs. If you starts putting in other
> > > > binary objects into it, then you create a new demultiplexing point for
> > > > format between the RTP payload format and the SFRAME processing. That
> > > 
> > > appears unmotivated.
> > > 
> > > 
> > > Note that SFRAME is not the only encryption possible with w3c insertable
> > > streams, it is up to the application to define its own crypto if they
> > 
> > want. So
> > > the payload must be able to transport non-SFRAME opaque blobs.
> > 
> > So I would consider this a misuse of the RTP payload format. The media type
> > will be for SFRAMEs. I understand that you might not be able to prevent this
> > in WebRTC. However, from an interoperability point of view you will be
> > stating that this is SFRAMEs. RTP will not be able to tell a difference. But
> > I don't see that this is will explicitly support carrying other things than
> > SFRAME. Because that means bringing in other consideration including the
> > security model for the E2E usage.
> 
> 
> Not sure if ignoring the reality on how the packetization format is 
> going to be used within insertable streams is a good idea.

If you are passing other things than SFRAME you are also sending them without
end-to-end protection. Why is this happening, if the information was intended
for the SFU, then I think we should identify it as such, rather than having the
SFU have to hunt for it. If not, why are you sending it outside of the SFRAME
envelope? 

> 
> 
> > > > Should the RTP payload format aspect of the charter be more explicit
> > > > in that it needs to disucss the general model of how to use SFRAME and
> > > > how an application can use the facilities of RTP to get good
> > > > performance from RTP mechanism like FEC and retransmission?
> > > 
> > > I don't think so, RTX and FEC frames MUST not be modified/affected by
> > > SFRAME/the new packetization format, so they work out of the box. We can
> > > be explicit about that in the chapter as a requirement.
> > > 
> > 
> > So I am not saying that RTX or FEC shall be modified. What I am saying is
> > that the SFRAME payload format should discuss the impact on the performance
> > of these functions depending on how you structure the SFRAMES across SSRCs.
> > The most simple example is the one where you put all layers for a video
> > encoding in a single SSRC. In such a stream you loose a single RTP packet
> > between the transmitting end-point and the SFU. Now the SFU is only
> > forwarding the base layer and not the enhancement layers. If base layer and
> > enhancement layer share RTP stream, the SFU can't determine if the missing
> > packet contains an base layer data or enhancement layer data. If the base
> > layer and enhancement layer would be on different SSRC, the fact that there
> > is a missing packet on the enhancement layer RTP stream means that the SFU
> > can ignore that as it anyway are not forwarding it. This same argument can
> > be applied between media sources. So how you map your application level
> > structures onto RTP do matter for the resulting performance of RTP. Putting
> > all on a single SSRC is not a path to good transport performance.
> 
> 
> But that is already the case for SVC codecs, so there is nothing new to 
> specify in that regard.

So for SVC and other scalable codes there exists options for how to do this. And
where you can write and RTP packetizer for SVC that takes basicaly a mode and a
layer structure configuration as input, that is not possible for SFRAME as that
information is not visible in the RTP payload information. Instead it must come
with each SFRAME to packetize how to map it to the RTP layer. 

Thus, in my view the SFRAME RTP Payload format needs to discuss the core of
these issues to make it clear to the application both its options as well as
point to the impact of those options. 

 
Cheers

Magnus Westerlund 


----------------------------------------------------------------------
Networks, Ericsson Research
----------------------------------------------------------------------
Ericsson AB                 | Phone  +46 10 7148287
Torshamnsgatan 23           | Mobile +46 73 0949079
SE-164 80 Stockholm, Sweden | mailto: magnus.westerlund@ericsson.com
----------------------------------------------------------------------