Re: [AVTCORE] Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)

Bernard Aboba <bernard.aboba@gmail.com> Sat, 30 July 2022 16:55 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 EA2C9C14F747; Sat, 30 Jul 2022 09:55:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.106
X-Spam-Level:
X-Spam-Status: No, score=-2.106 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, 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 ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id JOpjnmiST5Ub; Sat, 30 Jul 2022 09:55:53 -0700 (PDT)
Received: from mail-pl1-x632.google.com (mail-pl1-x632.google.com [IPv6:2607:f8b0:4864:20::632]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B91E9C15AD3B; Sat, 30 Jul 2022 09:55:53 -0700 (PDT)
Received: by mail-pl1-x632.google.com with SMTP id t2so7079333ply.2; Sat, 30 Jul 2022 09:55:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:from:to:cc; bh=3ds5VnehcJiA9oOnPNzX61qMPvzvBmLlmT75hV5evxY=; b=e88e0ExesYx83aEEQMCDBDr9iBItBRpUcNnOWJma3jqIIBd/kG3nWdqcONY3WiBN14 QqIBIbHbyjRVqxvc7Pkwu7gCWfgdSTG5A+gV5Fbkeq2OVXJUxT7QnRQpjAxkfdNKYpuR qYqzzMYPpo+e4uRJlt2fjbWR+yhco4VneSUhh06n3a2gUVbYJEeGnHL1/EECc7q7aj8s ElNWiVF6VBH1pOoKfCXCYFIjx8VnpdotYvh/B4k8DGg4+jzpe7LGaqzQeG870f/a2fNH dDI8GUA3LF8u4CDOYWiHPDqtp2cM4m1de7FShxC/qqb3xr0l2p5gT8O3rLTn3i+ibA61 EcQw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=to:in-reply-to:cc:references:message-id:date:subject:mime-version :content-transfer-encoding:from:x-gm-message-state:from:to:cc; bh=3ds5VnehcJiA9oOnPNzX61qMPvzvBmLlmT75hV5evxY=; b=aUT1jCuwHaAJXCTR2b4AlpJMbzR9+D6xTklZft874+OC21h9+uyKzSial8wTA3mC+U l5wIJPJ4E2GLtc19a8dpUTze/TmyMG8CWXyol1A4lVhj+xsvWdsMoNiFZ5mN/MK42PSm MXp4vsml8LuuV9r+p649tH7MneAUvILsxlegRVztHqUhJ19GUBMWI6zY99BHtk438c1K 2Iii+Iv3rpTukFF9ZQ9EzNKF5UACPT1CC8S36CfUCAZz8sa3X1byV8U7dgtFHhcSIg1w zgFSq6+au0n7PwS2RUGaGIkMk7bcXm94267XSFZ9riFw+/zmg1TVuRM8ZzWhWDNVpekv 5JoQ==
X-Gm-Message-State: ACgBeo3WY0W9p8HdFPIGVxOllgBB/lU67mCpSy6T28Lq1SnS8ypNrkdi NwvYH7bOUfbbIreKVYFFteo=
X-Google-Smtp-Source: AA6agR7w7QpsfwsbrysOPhh44IKV0NECoa8WIsfP0iDlNmBr4EREF0wlOl4wPEPEtySYGT1xijLWwQ==
X-Received: by 2002:a17:902:aa4b:b0:15f:b2c:73c7 with SMTP id c11-20020a170902aa4b00b0015f0b2c73c7mr9136227plr.164.1659200151937; Sat, 30 Jul 2022 09:55:51 -0700 (PDT)
Received: from smtpclient.apple (mobile-166-176-186-10.mycingular.net. [166.176.186.10]) by smtp.gmail.com with ESMTPSA id g15-20020a1709029f8f00b001637529493esm5988661plq.66.2022.07.30.09.55.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 30 Jul 2022 09:55:51 -0700 (PDT)
From: Bernard Aboba <bernard.aboba@gmail.com>
X-Google-Original-From: Bernard Aboba <Bernard.Aboba@gmail.com>
Content-Type: multipart/alternative; boundary="Apple-Mail-A4F897F9-D71E-4545-A717-5018A45C3D1B"
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0 (1.0)
Date: Sat, 30 Jul 2022 09:55:49 -0700
Message-Id: <7176DEA0-8712-4AEA-9920-B3EED5300A8B@gmail.com>
References: <584237A5-2258-4D98-B983-D2D8046CB249@stewe.org>
Cc: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, The IESG <iesg@ietf.org>, draft-ietf-avtcore-rtp-vvc@ietf.org, avtcore-chairs@ietf.org, avt@ietf.org, Magnus Westerlund <magnus.westerlund@ericsson.com>
In-Reply-To: <584237A5-2258-4D98-B983-D2D8046CB249@stewe.org>
To: Stephan Wenger <stewe@stewe.org>
X-Mailer: iPhone Mail (19G71)
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/UwbWPckOoDpG8X4nh6ctIP6TtGs>
Subject: Re: [AVTCORE] Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
X-BeenThere: avt@ietf.org
X-Mailman-Version: 2.1.39
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: Sat, 30 Jul 2022 16:55:58 -0000

From my perspective the adjusted RFC language looks good and the additional clarification isn’t needed.

> On Jul 30, 2022, at 07:10, Stephan Wenger <stewe@stewe.org> wrote:
> 
> 
> Hi Zahed, Magnus, all,
>  
> Adding Magnus to the CC list, as he’s the inventor of the sprop concept.
>  
> I looked into this a bit more.
>  
> Using the guidance of RFC3984, the right place for additional warning language regarding sprop would be in section 7 right after the first (and currently sole) paragraph.  I don’t believe we want the informative language further down in section 7.1 and as part of the media type registration.  As Martin Duerst has pointed out, that section is already on the long side.
>  
> The only signaling concept that I’m aware of where sprop is “special” seems to be offer/answer.  Insofar, another place could also be section 7.3.2.  However, that section is already quite specific about many of the sprop parameters, hence placing additional informative language there seems redundant.
>  
> As for the 3984 language, it needs to be fine-tuned to reflect the media type registration for VVC.  Also, by today’s standards, the language is quite handwaving and vague, and I think a bit of tightening is in order.  For example, rather than “SHOULD avoid” language for “some signaling protocol concepts” of RFC3984, I think we are better off to call out offer/answer specifically.  Finally, the RFC3984 language clearly shows grammar influenced by German/Swedish authors, and that should be tightened as well.
>  
> I think the text from RFC3984 should be modified to the following:
> OLD (from RFC3984):
>    Some parameters provide a receiver with the properties of the stream
>    that will be sent.  The name of all these parameters starts with
>    "sprop" for stream properties.  Some of these "sprop" parameters are
>    limited by other payload or codec configuration parameters.  For
>    example, the sprop-parameter-sets parameter is constrained by the
>    profile-level-id parameter.  The media sender selects all "sprop"
>    parameters rather than the receiver.  This uncommon characteristic of
>    the "sprop" parameters may not be compatible with some signaling
>    protocol concepts, in which case the use of these parameters SHOULD
>    be avoided.
>  
>  
> NEW (to VVC payload draft):
>    Parameters starting with the string “sprop” for stream properties can
>    be used by a sender to provide a receiver with the properties of the
>    stream that is or will be sent. 
>    The media sender (and not the receiver) selects whether, and with what values,
>    "sprop" parameters are being sent. This uncommon characteristic of the "sprop"
>    parameters may not be intuitive in the context of some signaling protocol
>    concepts, especially with offer/answer.  Please see also section 7.3.2 for
>    guidance specific to the use of sprop parameters in the Offer/Answer case.
>  
> I don’t think that the RFC3984 language regarding possible dependencies of sprop parameters to other parameters or the stream itself is particularly useful; hence it is omitted in the above.  If you guys disagree, we could include something like the below:
>  
>    Some of the "sprop" parameters are
>    limited by other payload or codec configuration parameters.  For example,
>    the sprop-ols-id parameter is relevant only for streams that use scalable
>    profiles, and therefore its use makes only sense if the profile-id parameter
>    indicates one of the scalable profiles.  Further, the value of sprop-ols-id
>    is useless if it would refer to an invalid entry in the output layer set
>    as defined by the bitstream itself.
>  
>  
> Reactions?
>  
> Thanks,
> Stephan
>  
>  
>  
> From: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>
> Date: Friday, July 29, 2022 at 13:43
> To: Stephan Wenger <stewe@stewe.org>, The IESG <iesg@ietf.org>
> Cc: "draft-ietf-avtcore-rtp-vvc@ietf.org" <draft-ietf-avtcore-rtp-vvc@ietf.org>, "avtcore-chairs@ietf.org" <avtcore-chairs@ietf.org>, "avt@ietf.org" <avt@ietf.org>, "bernard.aboba@gmail.com" <bernard.aboba@gmail.com>
> Subject: RE: Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
>  
> Hi Stefan,
>  
> Thanks for addressing my comments.
>  
> See below inline tagged with [ZS].
>  
> //Zahed
>  
> From: Stephan Wenger <stewe@stewe.org> 
> Sent: den 16 juni 2022 10:35
> To: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>; The IESG <iesg@ietf.org>
> Cc: draft-ietf-avtcore-rtp-vvc@ietf.org; avtcore-chairs@ietf.org; avt@ietf.org; bernard.aboba@gmail.com
> Subject: Re: Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
>  
> Hi Zahed 
> Thanks for your review.  Please see inline in blue.
> Stephan
>  
> On 6/16/22, 06:00, "Zaheduzzaman Sarker via Datatracker" <noreply@ietf.org> wrote:
>  
> […]
>  
>     The document, along with other ballot positions, can be found here:
>     https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-vvc/
>  
>  
>  
>     ----------------------------------------------------------------------
>     DISCUSS:
>     ----------------------------------------------------------------------
>  
>     I would like discuss if this specification should be making stronger statement
>     to enforce the reinterpretation the SDP Offer/Answer model for parameters
>     sprop-max-don-diff and sprop-depack-buf-bytes.
>  
>     In section 7.3.2.3, it says sprop-max-don-diff and sprop-depack-buf-bytes
>     parameter should be interpreted differently than usual interpretation of the
>     parameters according to RFC 3264. This is a significant change and kind of easy
>     to miss. This section does not use any normative text to enforce the change
>     either.
>  
> None of us authors is an SDP expert or has much interest in SDP (anymore).  Outside of the webrtc context, few use SDP for video nowadays.  The world has moved on to Jitsi and proprietary solutions and whatnot.  The webrtc guys still use SDP but seem to have subscribed to non-ITU video codecs and Opus, at least for last several years, and I do not see that their interest in ITU codecs comes back anytime soon.  I’m writing this not to justify shortcomings, but rather to explain that the energy that went into the signaling part of this draft was quite low.  We simply copied from RFC 7798 (RTP payload format for H.265) what we thought we needed, and adjusted what needed to be adjusted.  The latter was mostly names and references, and adjustments related to the few differences between H.265 and H.266. 
>  
> If it were up to us authors, we would likely have omitted the signaling part of this payload format and/or moved it to a different document, to be processed if and when the need for it is shown, and by people who know what they are doing.  However, that would have gone against a standing agreement in the AVT working group.  (I personally have objected to that standing agreement in the past, noisily so, but do not plan to bang my head against this particular wall again.)
>  
> To the subject of the DISCUSS: The concept of sender-properties (sprop) and its diverging interpretation from traditional O/A exchanges was introduced by Magnus Westerlund, goes back to RFC3984 and, at the time, has led to long and hard discussions in AVT.  That was almost 20 years back and at a time when SDP still had relevance.  I think that the sprop concept was battle-proofed then; it was used in products, 3GPP specs referenced it, and so forth. Both sprop-max-don-diff and an equivalent to sprop-depack-buf-bytes (known as sprop-deint-buf-req)  were part of RFC 3984.  Like in the subject draft, also RFC3984 contains no normative language related to their use, and the relevant language explaining their purpose is virtually identical to what we have now.  See the second bullet of section 8.2.2 of RFC3984 if you are interested.  (https://datatracker.ietf.org/doc/html/rfc3984 #section-8.2.2).  I do not recall having ever received inquiries about sprop, and I also do not recall that sprop-related issues ever came up in interop events (which were, at the time conducted in places like the IMTC).
> Since then, sprop-style parameters, in essentially unmodified form have been copy-pasted into every RTP payload format for NAL-unit-based video codecs.  Given that SDP is essentiality legacy technology nowadays, I would think that the handful of people that may be reading this part of the payload format spec are likely familiar with it.  The rest (like us) doesn’t care, as (like us) they will focus almost exclusively on the media plane. 
>  
> Therefore, I suggest no change.
>  
> If that were unacceptable to you, then please help us with identifying a solution that satisfies your request.  I assume this would be a sentence or two early in section 7.3.2.3. 
>  
> [ZS] As we talked during the IETF meeting and as per your note in the AVTCORE session, I think the current plan of updating the draft with non-normative text is the right thing to do here. I am expecting calling out the sprop as sender behavior in the draft hence making a ground for modified SDP offer/answer model. See the text from RFC3984 –
>  
> Some parameters provide a receiver with the properties of the stream
>    that will be sent.  The name of all these parameters starts with
>    "sprop" for stream properties.  Some of these "sprop" parameters are
>    limited by other payload or codec configuration parameters.  For
>    example, the sprop-parameter-sets parameter is constrained by the
>    profile-level-id parameter.  The media sender selects all "sprop"
>    parameters rather than the receiver.  This uncommon characteristic of
>    the "sprop" parameters may not be compatible with some signaling
>    protocol concepts, in which case the use of these parameters SHOULD
>    be avoided.
>  
> Some modified version of this text will do good here.
>  
>  
> [ZS] Your resolutions for the rest of the observations I have looks good to me.
>  
>  
>  
>  
>     I am also supporting Francesca's discuss.
>  
> Please see my reply to Francesca’s review from yesterday.
>  
>     ----------------------------------------------------------------------
>     COMMENT:
>     ----------------------------------------------------------------------
>  
>     Thanks for working on this specification. This is a big task to define payload
>     format for a video codec.
>  
>     I would note that the VVC specifications are behind paywall and we are heavily
>     depended on the interpretation of the authors of the actual specification here.
>     I hope the specification was somehow made available to the working group to
>     have a look while developing this specification. Having said that I must thank
>     the authors for providing details of the video codec specification that made
>     this review possible.
>  
> One other AD also complained about the VVC spec not being publicly available for free.  That is not true.  Like all ITU Recs, also this one is available for free download.  H.266 is available from here: https://www.itu.int/itu-t/recommendations/rec.aspx?rec=14948  What’s currently tricky is that the newest version (V2) is only available with an ITU TIES account.  However, we cite V1, and that can be downloaded from above page.  One will be able to download V2 from the same link as soon as the pre-publication period for V2 ends (that is: once the ITU staff has finished their editorial editing round), which should be any day now. 
> Now, do I recommend a reviewer to download the 500+ pages of H.266V1 and attempt to wrap their head around it, to review a payload format?  No!  It’s way too complex, long, and dense a document.  But for those who insist: it’s there, and available for free.  And yes, in the AVT WG there are a number of people who are very familiar with eth doc as they contributing in writing it.
>  
>     I have some of observations -
>  
>     -  Section 4.3.1 : what is the PayloadHdr type for the single NAL unit packet?
>     is this type not needed here?
>  
> Other ADs also found this confusing.  For single NAL unit packets, the NAL unit header co-serves as the payload header, and the type field values are taken from the values specified in H.266v1, section 7.4.2.2, table 5.  Let me note here also that implementers the payload format necessarily need to be familiar with at least the high-level syntax aspects of H.266 and the structure of the H.266 spec itself.  They are most likely also familiar with earlier video codecs that use the NAL unit concept, such as H.264 and H.265, and their respective payload formats including RFC 3984 and RFC 7798.  All these formats share the same mechanism, so we expect that implementers will most likely be familiar with it.
> Regardless, as pointed out to other ADs also, we plan to add informative language to clarify the above.
>  
>     -  Section 7.3.2 : actually contains both unicast
>     and multicast considerations but in the beginning of the section only mentioned
>     unicast.
>  
> Francesca pointed that out as well.  The problem is a clerical error with the section numbering—what is currently 7.3.2.4 should be 7.3.3.  AFAIK, Offer/Answer is not defined for multicast.  We will correct the section numbering.
>  
> -  Section 10 : I think here AVPF (RFC 4584) is the proper profile
>     example than 3551. But that for this section.
>  
> Per IETF dogma, congestion control needs to be applied to any RTP session regardless of any of the defined profiles.  (The real world does not necessarily concur in my experience, but that’s another story.). Insofar, what we wrote is not wrong.  However, we can (and should) add a reference to AVPF here as well.
>  
>