Re: [AVTCORE] Call for Framemarking implementation experience

Bernard Aboba <bernard.aboba@gmail.com> Tue, 24 November 2020 02:57 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: avt@ietfa.amsl.com
Delivered-To: avt@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4FCB23A0B38 for <avt@ietfa.amsl.com>; Mon, 23 Nov 2020 18:57:07 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.196
X-Spam-Level:
X-Spam-Status: No, score=-0.196 tagged_above=-999 required=5 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, MIME_QP_LONG_LINE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 XuZIz9OBamkP for <avt@ietfa.amsl.com>; Mon, 23 Nov 2020 18:57:05 -0800 (PST)
Received: from mail-pf1-x431.google.com (mail-pf1-x431.google.com [IPv6:2607:f8b0:4864:20::431]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 84F983A0B35 for <avt@ietf.org>; Mon, 23 Nov 2020 18:57:05 -0800 (PST)
Received: by mail-pf1-x431.google.com with SMTP id b6so6564892pfp.7 for <avt@ietf.org>; Mon, 23 Nov 2020 18:57:05 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:content-transfer-encoding:mime-version:subject:date:message-id :references:cc:in-reply-to:to; bh=C1Mv8UkZbRmDT1ozDOq4r75gekynFOpWhVRD7guy8K4=; b=glTcuLTdOt1b9K3BvjqEBNaQH7HiaRfZhqLMGdLya+IGeiTqvIoCJxTaAPq0eep862 H+ABBdyrUQDLtQec1fy4SXCv7WKC8OOnDuSyd4RM9DTO17O6C6XzbhpGgdUGQocnx4mQ Zjnn/8c0c4mGkGhDiHlKpvi7sh4iTuHH68+mGxDk1VhJBdGoxDKjtRYrJN5NVXA76t30 aX1DWwGPnKVgyG5zdAuX9dlVuolUganZAdqbDMOVfOge04BwILJ3tr3OqPKvCLmGERtI 2ZT++5iyca/ngg+lO5w50r1pOMA5oTBzIIgUa6U4qqt0ixVeceqfylrlWw4HxBEgEmAP Rd7w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:content-transfer-encoding:mime-version :subject:date:message-id:references:cc:in-reply-to:to; bh=C1Mv8UkZbRmDT1ozDOq4r75gekynFOpWhVRD7guy8K4=; b=FeEc6HCB73ZpdCYxahmeVcFrQK+AbDtF3MH1cHwYKYLoBBBArdnUUNIOqEUhBmBqg0 pCzRVPHqC64Y96wTnLz9CKNkVCzfajqmV0y+Yn+wUJUfEc+N/fmurBq67Nh2xbCSMx15 RX3GMQGz6XyrcwjZkHxZDh4OyIK1waT2gPi9+nSvh3U1eZzLrTGNd7NgEIqpLCI3FhL3 rSO/F6ZJ2s+YzwKuXRWdJ9SX3QQhWScTBLs5/ikyszx62HrQysmsmb71QXKAO9DNQdUV +uDE0bumvr1qT/0gZryJXI10RdIOePRwbhUEPA+XyUvdZy35PgLJnbFQYTulibkHrs9N 5VOQ==
X-Gm-Message-State: AOAM531FvW6T9ZdIZudbd8sA1aMRjHJv4QMtEkxsIP4DZR8gnR8vLOv+ URFCS8vpzPLsaqFcn5w7xik=
X-Google-Smtp-Source: ABdhPJz1FOuQvHy/ZBjvrq0jhEUWQ8xmM7dAILK7V+jBHQysjmIlUCq/exCcaAgKmcEYRqK1Ku1CHA==
X-Received: by 2002:a17:90a:4d42:: with SMTP id l2mr2209682pjh.21.1606186624748; Mon, 23 Nov 2020 18:57:04 -0800 (PST)
Received: from [192.168.1.106] (047-007-024-123.res.spectrum.com. [47.7.24.123]) by smtp.gmail.com with ESMTPSA id k1sm2032674pgm.21.2020.11.23.18.57.03 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 23 Nov 2020 18:57:03 -0800 (PST)
From: Bernard Aboba <bernard.aboba@gmail.com>
X-Google-Original-From: Bernard Aboba <Bernard.Aboba@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-A5AE963E-B0DD-4B83-831B-17FDC6ED37C4"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
Date: Mon, 23 Nov 2020 18:57:02 -0800
Message-Id: <89F349DF-068C-4E83-B547-D58785BB022E@gmail.com>
References: <712EE755-20F5-4134-BDE8-0A5B7D0C3884@8x8.com>
Cc: IETF AVTCore WG <avt@ietf.org>, philipel@webrtc.org, Sergio Garcia Murillo <sergio.garcia.murillo@cosmosoftware.io>
In-Reply-To: <712EE755-20F5-4134-BDE8-0A5B7D0C3884@8x8.com>
To: Jonathan Lennox <jonathan.lennox@8x8.com>
X-Mailer: iPad Mail (18B92)
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/SLAPwPdCjhh7p-Wn82xIvB_rEtU>
Subject: Re: [AVTCORE] Call for Framemarking implementation experience
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Audio/Video Transport Core Maintenance <avt.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avt>, <mailto:avt-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/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>
X-List-Received-Date: Tue, 24 Nov 2020 02:57:07 -0000

On Nov 23, 2020, at 13:49, Jonathan Lennox <jonathan.lennox@8x8.com> wrote:
> 
> (Responding as an individual.)
> 
> I implemented frame marking at my previous company (Vidyo), specifically for H.264/AVC temporal scalability.
> 
> Frame marking nicely retrofits H.264/AVC to support temporal scalability, in fact better than the H.264/SVC format does (because the H.264/SVC format doesn’t allow you to specify temporal layers on packets containing fragmentation units), and in much more backward-compatible way.  This is why we implemented it at Vidyo, and contributed it to the WebRTC.org codebase.

[BA] How many temporal layers did you support? I take it that you had no problem determining upswitch points for all the supported temporal modes?

> For the reasons that Stephan discussed, however, I never felt that frame marking was particularly suitable for other codecs, where in-payload-header and even in-payload bits need to be inspected and in some cases rewritten. Additionally, frame marking isn’t semantically rich enough (on its own) to express all the information that a fully-featured SFU needs to know about spatially-scalable video, even before newer encoding structures such as K-SVC come into play.
> 
> It may be that the AV1 Descriptor Format will be rich enough, though even there I worry about features features of future codecs that aren’t envisioned by AV1.  A notable example would be (as discussed at last week’s meeting) H.266’s gradual decoder refresh (GDR), with its ambiguity of whether it should be considered as satisfying a keyframe request.

[BA] Jonathan said:
“ where in-payload-header and even in-payload bits need to be inspected and in some cases rewritten”

This sounds like an issue that would be encountered by *any* RTP header extension (e.g.  framemarking, DD, DDv2, etc.). The info could be placed in an RTP header extension so as to allow the SFU to inspect and rewrite it, but then the RTP de-packetizer would need to modify the bitstream before sending it to the decoder to reflect the SFU modified values.  It’s a bit disconcerting to give an untrusted SFU the rights to modify a “protected” bitstream after reception.