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

shuai zhao <shuai.zhao@ieee.org> Thu, 04 August 2022 17:09 UTC

Return-Path: <shuai.zhao@ieee.org>
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 AC315C15C53E for <avt@ietfa.amsl.com>; Thu, 4 Aug 2022 10:09:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.686
X-Spam-Level:
X-Spam-Status: No, score=-2.686 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.582, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ieee.org
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 FN4UtP4vOyum for <avt@ietfa.amsl.com>; Thu, 4 Aug 2022 10:09:37 -0700 (PDT)
Received: from mail-il1-x132.google.com (mail-il1-x132.google.com [IPv6:2607:f8b0:4864:20::132]) (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 9E8B8C15AE3C for <avt@ietf.org>; Thu, 4 Aug 2022 10:09:37 -0700 (PDT)
Received: by mail-il1-x132.google.com with SMTP id h16so225778ilc.10 for <avt@ietf.org>; Thu, 04 Aug 2022 10:09:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ieee.org; s=google; h=from:to:cc:subject:thread-topic:thread-index:date:message-id :references:in-reply-to:accept-language:content-language :mime-version; bh=FO+ZbAVDiOzOvBhvW4RYfIJhqiw7mcLBkyG8povVqcY=; b=KdOvLjtDI8A099pJ56hoC46z0oai8vNo7Z3qpwHUoROSFSi2gGxgVyiGwKTqnFp2UG SXu/trKkCoS5jhNzYVpjA2CxXJ0TSQS1VWY4MHvtLQLYIZM9AP54P2NCj+rOt8F1PfB6 AwqNNbgWqF6hhQMbYQ0QT+LhgX+T4ZN/ngfDo=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:thread-topic:thread-index :date:message-id:references:in-reply-to:accept-language :content-language:mime-version; bh=FO+ZbAVDiOzOvBhvW4RYfIJhqiw7mcLBkyG8povVqcY=; b=xBdxLmKXS+Mv4T6r6o9aZytHLoaNmvcq8Rs+kgMzNmaikpRRArqlY25SgC7yhUOBQ7 o58H4bNhD7c1VRhGyZnn/blCnFRN82IxXevBUZaOuabE31E2NMkANgGur9NBADbHxyRJ 8rya2paf3vdiRAgBqe0+c48JASdTpJNFtpLSv0V3JETETK85uAhzKOeWi64KoGIRsTgv KMNGkkxlyX0gcbEKrUyu7jTwA5ZNVNOz6Z+5m3aHmjQz2x++VK1pEi8+mZw1qhdJXG4C MfDQvu+9xzS1DKVZ+hHOMVmjBBVDLO6SlBLE44mj//AI/1F1seu8jsM//cuHxAWPWARU RUnQ==
X-Gm-Message-State: ACgBeo2XHVIa2dSjZQoo+I62xwRrWhWkRqG8h/72bBYnXo+QgKTLF9Gi UEMrPoHXbrjuWt4I9Uranb/V5g==
X-Google-Smtp-Source: AA6agR7ur+YEuOS6hAyR6QE+CXqzTtqu2NBsoEIEMOW2Zg5utH4JYYu8Hf36Dn2f0JCcoxgn6fLkYg==
X-Received: by 2002:a92:c152:0:b0:2df:4e5:d487 with SMTP id b18-20020a92c152000000b002df04e5d487mr1279949ilh.258.1659632976337; Thu, 04 Aug 2022 10:09:36 -0700 (PDT)
Received: from CY5PR17MB6070.namprd17.prod.outlook.com ([2603:1036:306:183e::5]) by smtp.gmail.com with ESMTPSA id x10-20020a92de0a000000b002de30ec2084sm613060ilm.75.2022.08.04.10.09.35 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 04 Aug 2022 10:09:36 -0700 (PDT)
From: shuai zhao <shuai.zhao@ieee.org>
To: Bernard Aboba <bernard.aboba@gmail.com>, Stephan Wenger <stewe@stewe.org>, "Zaheduzzaman.Sarker@ericsson.com" <zaheduzzaman.sarker@ericsson.com>
CC: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, The IESG <iesg@ietf.org>, "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>, Magnus Westerlund <magnus.westerlund@ericsson.com>
Thread-Topic: Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
Thread-Index: ATM5MjYyxpx+ZzaVKHNoHsNlYb0KWMqQuDEAgEP7GACAASSQgIAALiqAgANKZaqABJSBDw==
X-MS-Exchange-MessageSentRepresentingType: 1
Date: Thu, 04 Aug 2022 17:09:35 +0000
Message-ID: <CY5PR17MB6070BA1DFBE588B654F7AD0DF49F9@CY5PR17MB6070.namprd17.prod.outlook.com>
References: <584237A5-2258-4D98-B983-D2D8046CB249@stewe.org> <7176DEA0-8712-4AEA-9920-B3EED5300A8B@gmail.com> <SJ0PR17MB5724C9A32B8A6B73DD37F0CAF49A9@SJ0PR17MB5724.namprd17.prod.outlook.com>
In-Reply-To: <SJ0PR17MB5724C9A32B8A6B73DD37F0CAF49A9@SJ0PR17MB5724.namprd17.prod.outlook.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-Exchange-Organization-SCL: -1
X-MS-TNEF-Correlator:
X-MS-Exchange-Organization-RecordReviewCfmType: 0
Content-Type: multipart/alternative; boundary="_000_CY5PR17MB6070BA1DFBE588B654F7AD0DF49F9CY5PR17MB6070namp_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/avt/i0TvA3ZAG5n7duNElrPu42SXIaA>
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: Thu, 04 Aug 2022 17:09:41 -0000

Revision 18 has been uploaded as Stephan proposed…

There is also an htmlized version available at:
https://datatracker.ietf.org/doc/html/draft-ietf-avtcore-rtp-vvc-18

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-avtcore-rtp-vvc-18


Best,
Shuai

From: shuai zhao <shuai.zhao@ieee.org>
Date: Monday, August 1, 2022 at 12:13 PM
To: Bernard Aboba <bernard.aboba@gmail.com>, Stephan Wenger <stewe@stewe.org>, Zaheduzzaman.Sarker@ericsson.com <zaheduzzaman.sarker@ericsson.com>
Cc: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, The IESG <iesg@ietf.org>, 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>, Magnus Westerlund <magnus.westerlund@ericsson.com>
Subject: Re: Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
Hi @Zaheduzzaman.Sarker@ericsson.com<mailto:Zaheduzzaman.Sarker@ericsson.com>,

To visualize what Stephan is proposing, please see new text below. Please let us know if that works for you… we are ready to upload revision 18 after receiving confirmation from you.


7.  Payload Format Parameters

   This section specifies the optional parameters.  A mapping of the
   parameters with Session Description Protocol (SDP) [RFC4556] is also
   provided for applications that use SDP.

   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
   Section 7.3.2 for guidance specific to the use of sprop parameters in
   the Offer/Answer case.


Best,
Shuai

From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Saturday, July 30, 2022 at 9:56 AM
To: Stephan Wenger <stewe@stewe.org>
Cc: Zaheduzzaman Sarker <zaheduzzaman.sarker@ericsson.com>, The IESG <iesg@ietf.org>, 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>, Magnus Westerlund <magnus.westerlund@ericsson.com>
Subject: Re: Zaheduzzaman Sarker's Discuss on draft-ietf-avtcore-rtp-vvc-16: (with DISCUSS and COMMENT)
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<mailto: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<https://datatracker.ietf.org/doc/html/rfc3984%20#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.