Re: [MMUSIC] FW: New Version Notification for draft-abhishek-mmusic-superimposition-grouping-01.txt

Rohit Abhishek <rabhishek@rabhishek.com> Fri, 02 April 2021 19:22 UTC

Return-Path: <rabhishek@rabhishek.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 6D2333A205A for <mmusic@ietfa.amsl.com>; Fri, 2 Apr 2021 12:22:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 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, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rabhishek.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 RLLpEfivmuXh for <mmusic@ietfa.amsl.com>; Fri, 2 Apr 2021 12:22:08 -0700 (PDT)
Received: from mail-wr1-x430.google.com (mail-wr1-x430.google.com [IPv6:2a00:1450:4864:20::430]) (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 970B33A2057 for <mmusic@ietf.org>; Fri, 2 Apr 2021 12:22:07 -0700 (PDT)
Received: by mail-wr1-x430.google.com with SMTP id j7so5519666wrd.1 for <mmusic@ietf.org>; Fri, 02 Apr 2021 12:22:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rabhishek.com; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=80q9aJ9wA66Et5wJdfNM9aPXZXcP5dI27LJavwXmMzM=; b=WfJkkkX1H/3HMdhzU1gYdvSj/x20SLL5GADVgJaQSUsxqh2E+di92dERFzlzpdUwB8 QJGHNCsJKBiOW4LNMjO1izaVe/qDVy/EPEH3Hez4Qrj6IJjSNzdK1HDpAxAZUR49n9Hm HDZ3Qky2xpPjVhM0dEn/W0dNW2kvJ937hc6xZgN324uIyZmY+9uMgg3Wb4sclDkXzztC cT0ovmTBVrjA0NhtSItIUFframt7MlofualrivRnIVa0HzL5G0XWpuCPQpZwBHJ5jczh dVXqma83Iy4abcUkR6+bic5fxcugxb8TnB4lRvA4lw/jXNcsvjNFjz7XKAGSGDfySboq ytGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=80q9aJ9wA66Et5wJdfNM9aPXZXcP5dI27LJavwXmMzM=; b=ZyUoN3LfJQVkhQfH1IxtAKgHl6F7L21kaVr2CziqaFII0id2mUtKX2UpJBnXFduMP5 KXwcP1Z/Jy7SNHatfAVtG6rNGfXFI8tb1+eKjyZSEdZPjUUkLKZmYZOzVkHnIT+13G7N plpbe1MDYYfdnTiptN4hugal6Er0soyaY4ofhIGtJnJEeDvIJiHjFldMwBt9gXgdbvrN JfZaznTHIowVyLZ7KTc2cHrsQXGMyIFNxWD2Mtv6Sf70KhRlsx4YwpdD+s/sy7Bvicna olRYXFmCLagaW60ewHnV0+3HE2q5lO8+aT5W7u/g3LZWlieVk39TCQwC/dGgYECiiKiX z6Gw==
X-Gm-Message-State: AOAM532mzwZoVxN1MXM3ssHBTVaGo9TJRgg1mLq/+M+I6PxPZTBkSyOM JUwXLk7pAQVPZ6g1bdKaFMldpRSNZrowCZn8u26kV6mXdRRmNWNFrnM=
X-Google-Smtp-Source: ABdhPJxaoCkWS+hKQneA5B8HAwsPrD7QGuYJYwpyrUty6N5k8mOH0dWyq6uBr793N6JQMwmO/yvbAvG8y0joIrYmwlk=
X-Received: by 2002:adf:9043:: with SMTP id h61mr16614990wrh.216.1617391324660; Fri, 02 Apr 2021 12:22:04 -0700 (PDT)
MIME-Version: 1.0
References: <161223889981.29148.4013253551018635042@ietfa.amsl.com> <D0CE45E7-351C-46AC-92AD-6564A4E85EB3@rabhishek.com> <51a0af3e-1a90-5399-e343-b32e9ff274af@alum.mit.edu> <AM0PR07MB3860A77E83D4F3AD4E4964A6937E9@AM0PR07MB3860.eurprd07.prod.outlook.com>
In-Reply-To: <AM0PR07MB3860A77E83D4F3AD4E4964A6937E9@AM0PR07MB3860.eurprd07.prod.outlook.com>
From: Rohit Abhishek <rabhishek@rabhishek.com>
Date: Fri, 2 Apr 2021 12:21:53 -0700
Message-ID: <CAPoeGLU4J2u8PCarwFx8kiDL+Gkw4YqAaGu3J4cbX4JqS8jFUw@mail.gmail.com>
To: Christer Holmberg <christer.holmberg=40ericsson.com@dmarc.ietf.org>, Paul Kyzivat <pkyzivat@alum.mit.edu>, IETF MMUSIC WG <mmusic@ietf.org>, "swenger(Stephan Wenger)" <swenger@tencent.com>
Content-Type: multipart/alternative; boundary="0000000000005e99cd05bf02431d"
Archived-At: <https://mailarchive.ietf.org/arch/msg/mmusic/_RqcopGHreEXPaD7Z8RFk9XnSEg>
Subject: Re: [MMUSIC] FW: New Version Notification for draft-abhishek-mmusic-superimposition-grouping-01.txt
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 02 Apr 2021 19:22:13 -0000

Dear Paul, Christer,

Thank you again from your comments and suggestions.

On Mon, Mar 29, 2021 at 4:08 AM Christer Holmberg <christer.holmberg=
40ericsson.com@dmarc.ietf.org> wrote:

> Hi,
>
> >* I'm still unsure how transparency works. Does the transparency value
> apply to all pixels in the associated stream? Or is is also possible that
> some pixels are transparent
> >and others are opaque? (I'm thinking of closed captioning, where the
> characters themselves are opaque but their own background is opaque.) I
> would like to see some
> >discussion of the role of streams that contain some transparent pixels.
>
> I don't think it is up to us to define how transparency works, but I agree
> that it would be good with a short description and/or reference to where it
> is specified.
>

"transparency" value is a factor for increasing or decreasing the
transparency of each pixel within a stream by the same factor. Therefore,
the "transparency" attribute defined in the draft applies to each pixel in
the associated stream.

An alpha channel generally represents transparency information on a
per-pixel basis; therefore pixels in a stream may be associated with an
already existing alpha value. (although it represents transparency; it
actually signifies the opacity of a pixel)
Now, it is possible that some pixels in the associated stream maybe
transparent(alpha=0)/opaque(alpha=1)/translucent (alpha=0.5); as in the
case of closed captioning or logo. However, these are predefined values.
The "transparency" value in the draft increases/decreases that value by the
defined factor.

Let's take the closed captioning example,
Case 1: where the pixels for the characters are opaque (transparency=0) and
background is translucent (transparency=0.5). If we apply a "transparency""
value of 0.5 (scale  0-1), it would mean that we are increasing the
transparency of each pixel by 50%. Therefore, the transparency for
character pixels would now be 0.5; whereas for the background would be
0.75.
Case 2: where the pixels for the characters are opaque (transparency=0) and
background is transparent (transparency=1 (scale  0-1)). If we apply a
"transparency" value of 0.5 (scale  0-1) here, the transparency for
character pixels would be 0.5; however, the transparency of the background
would still be 1 or completely transparent.

I plan on adding the below text to the draft for clarification.
" The transparency value is used for composing the foreground with the
background media [ref:Alpha-compositing]. This value itself does not define
the transparency of each pixel, but is applied to each pixel within a frame
and defines the factor by which the transparency of each pixel within a
frame is to be increased or decreased."
(Does it help or more clarification needs to be added?)

>
> >* Are you assuming there is time synchronization among all the streams in
> the superimposition group? If so please say so. If not then you need to say
> more about how they are to be synchronized.
>
> I agree it would be good to say something about this.
>

> However, if there is no requirement for synchronization, I don't think we
> shall impose such requirement. However, if needed, we do have the lipsynch
> (LS) group attribute (RFC5888).
>

Yes it is assumed that there is time synchronization. The updated text is
"The "superimposition media stream identification" attribute is used to
identify the relationship of superimposed media streams within a session
description. In a superimposition group, the media lines MAY have different
media formats but, to be meaningful, SHOULD be visual media. It is assumed
that all the media streams are time synchronized."

>
> >* You are using both "superimposition" and "superposition". These have
> somewhat different (but fuzzy to me) distinctions. Unless you need both
> along with their distinctions I suggest you pick one and use it throughout.
>
> Agree.
>
Will change it to "superimposition". Section 5 would be updated accordingly.

>
> >* You also use the term "supim" as the grouping token. I don't think
> choosing a separate term here is beneficial. I suggest you use the same
> term (superimposition or superposition) you choose.
>
> This I don't agree with. If you look in the IANA registry, *ALL*
> registered token are short 2-6 character abbreviations.
>
> >* I can't find anything that says how the layer numbers are to be
> interpreted. Is zero the background, with higher numbered layers stacking
> on top of it? Or is zero the foreground, with higher numbered
> >layers stacked behind it. (I guess zero is the background, but am not
> certain.)
>
> Agree.
>
 Yes, zero denotes the background, with higher numbered layers stacking on
top of it.
The current text in section 5 reads
“The layering order value is an integer value between 0 to n, where the
value 0 represents the most background layer. For each k within 0..n, a
reconstructed sample of the k-th media is superimposed (while perhaps
applying an alpha transparency value) on the 0 to k-th reconstructed
samples in the same spatial position."

Is more clarity needed here? or are you referring to sec 6; which only says
"Media stream with layer order value 0 is intended for background."

>
> >* You seem to use "alpha" and "beta" in a way that implies that these
> terms have a specific meaning in the context of superimposition. But I find
> nothing in the document that makes this explicit.
> >The text of section 5 associates them with numeric values, but the ABNF
> uses them as rule names without defining them. At the very least you need
> to define them in ABNF.
>
> In addition, I don't think one should use "alpha" in ABNF to begin with,
> because people may confuse it with ALPHA.
>
> Regards,
>
> Christer
>
>
>
> * In your reply to Christer you mentioned RFC7195 as having a syntax style
> that you like. If so, you certainly can copy that style. (There is no
> benefit in actually referencing RFC7195. I don't see anything in there that
> it would be meaningful to reference directly.) For instance, you might
> write your syntax as follows:
>
>       superimposition-attribute =
>          "superimposition:" super-opt *(SP super-opt)
>       super-opt = super-trans / super-layer
>       super-trans = "transparency:" super-trans-val
>       super-layer = "layer:" super-layer-val
>       super-trans-val = signed-integer ; range [-128, 127]
>       super-layer-val = signed-integer ; range [0, 255]
>
>       signed-integer =
>          <zero-based-integer defined in RFC8866>
>          / "-" <integer defined in RFC8866>
>
>       attribute = <attribute defined in RFC4566>
>       attribute =/ superimposition-attribute
>
> You can adjust as you see fit. In addition to this formal ABNF you will
> also need some normative (e.g. MUST) text for a few things:
>
Thank you! This is very helpful!


>
> - *normatively* define the ranges for super-trans-val and
>    super-layer-val. (The comment in the ABNF, while helpful,
>    isn't normative. E.g.,
>    "The value of the 'transparency' option MUST be within the range
>    [-128, 127]."
>
>    (Alternatively the ABNF could be written to accept only the
>    permitted values. But doing so requires complex and hard to
>    read ABNF.)
>
> - Normatively specify what happens when either transparency or layer
>    is specified multiple times within the same media description.
>    This can occur in more than one way. E.g.,
>
>    m=...
>    a=superimposition:transparency:0 transparency:1
>
>    m=...
>    a=superimposition:layer:0
>    a=superimposition:layer:1
>
> You have options here: you can forbid specifying either of these more than
> once (via MUST NOT), or you can define what it means if it happens.
> (E.g., use the last specified value.)
>

Based on the about comments; Updated text for Section 5

"The transparency for the media stream is identified by its super-trans-val
values in the super-trans attribute. The value MUST be an ASCII
representation of an 8 bit signed integer with values between "-128" and
"127", and linear weighting between the two extremes. A value of -128 means
media stream is opaque and the highest value of 127 means it is
transparent. The layering order value for the media stream is identified by
super-layer-val. It MUST be an integer value between 0 to n, where the
value 0 represents the most background layer. For each k within 0..n, a
reconstructed sample of the k-th media is superimposed (while perhaps
applying an alpha transparency value) on the 0 to k-th reconstructed
samples in the same spatial position. Each "m" line in a session MUST NOT
contain more than one instance of each super-trans and super-layer
attributes."


Best Regards,
Rohit

>
>         Thanks,
>         Paul
> _______________________________________________
> mmusic mailing list
> mmusic@ietf.org
> https://www.ietf.org/mailman/listinfo/mmusic
>