Re: [avtext] Frame marking & VP9 SVC

Bernard Aboba <bernard.aboba@gmail.com> Wed, 05 July 2017 21:20 UTC

Return-Path: <bernard.aboba@gmail.com>
X-Original-To: avtext@ietfa.amsl.com
Delivered-To: avtext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id DE53B131DE0 for <avtext@ietfa.amsl.com>; Wed, 5 Jul 2017 14:20:07 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, 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 wQ8Bo3QPYo_r for <avtext@ietfa.amsl.com>; Wed, 5 Jul 2017 14:20:05 -0700 (PDT)
Received: from mail-vk0-x236.google.com (mail-vk0-x236.google.com [IPv6:2607:f8b0:400c:c05::236]) (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 523AB1243F6 for <avtext@ietf.org>; Wed, 5 Jul 2017 14:20:05 -0700 (PDT)
Received: by mail-vk0-x236.google.com with SMTP id r125so444029vkf.1 for <avtext@ietf.org>; Wed, 05 Jul 2017 14:20:05 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=A2rc42/YIlgtFL3ImCY38HXhEH1hx6fc/ewtq/Uk9ZM=; b=mEXOrsc34M5v15ArZpCJ5tyGqPPd6ks3Hrj005pxhfeTxdpuCa3VFPievO5aqKJqvd SCWeI+ouwi8rbZSNBJG1Q/rXSp6mpAGxiaij9s1EN1x9OuHq0pk2ywTzb8uSwevE81Tq jYUDkyhGQ/GOE0kyOjyEfB2a3lM8YWr8vHmWyhczZc6ALhP3ciMWyP5BKXhCu/KBnSUV pv+vn5yVANAXiUgzR/8CgA6kAr5iroe/yNel0S00dMZRnRWdYKkR6UfdRJ8wvFmyXNpt gbMVCCXH+4R2XY94i0dlN++C8JV2GU2+XQDbDn0oQ/Q+9XX7tJSPKH4sRDOug5i4ShCq ba4Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=A2rc42/YIlgtFL3ImCY38HXhEH1hx6fc/ewtq/Uk9ZM=; b=KfRY82U4pQW8BoGRv7Wehx7fPLfR3G0TR3ekddCe3jgPt+OYqAiPSBjagTqHAEmmEy gTeFKbvUH/7CvoHGjk0D7BCN7JnxnNNy6uqTguDq+VVhZIWoAOdvijma2QzIHM66g6ep k8AGwKJx/hnum8gchfsiFjp11Kh/myveX07gBxQZGlgaigkYACmCNjkUmXEnQYkCTuog nTiRK3kh74uOA3yahMo1JcA3JBD0XL3R3EKL0SNB3nvS3PzkMXCXVqYLDuAv4naXKQeM XaM3xTAkwYOvTc60i2unZBtN0duczSWFtmdrSaSI+FVMVvdN4qKusO8pkheHTvrOia1n VrlQ==
X-Gm-Message-State: AKS2vOycPzFtLsdNsG3kw3GF0W3+LnVb0Hcw7zict7iqyb57Qa9Nysg+ 2Tl7ru1L+xggNCLRs4AsMjL0kMJhwA==
X-Received: by 10.31.182.130 with SMTP id g124mr25326488vkf.128.1499289604089; Wed, 05 Jul 2017 14:20:04 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.176.74.202 with HTTP; Wed, 5 Jul 2017 14:19:43 -0700 (PDT)
In-Reply-To: <a5bf47e7-153b-f2d7-0c15-bfd8a642cf2f@gmail.com>
References: <ebdc7854-b390-d0e4-cfd1-d7df9c65aba4@gmail.com> <D4FFF329.6BA66%mzanaty@cisco.com> <0b5c72c6-4f59-daba-f193-282ea10d1f07@gmail.com> <D513D706.6C7F3%mzanaty@cisco.com> <00166BCB-6452-4D72-B5DF-5A456B2304EF@vidyo.com> <9a4994d3-f033-e1da-7884-a55c31789c59@gmail.com> <30944D17-BEB9-4EC6-A97C-0700567563FB@vidyo.com> <918659db-1742-4dd4-6fa3-7d0797aa4582@gmail.com> <50b624f9-4ce7-099e-1730-1b3a0d986e69@cosmosoftware.io> <CAOW+2du7K1Cz2PzG3dddHajW3tS+kkS3BGs_xP_suymssH2pwA@mail.gmail.com> <a58018e7-149f-810a-a0d6-944cb8dbc0e5@cosmosoftware.io> <A3A2CACA-FA2F-4BA2-8209-0F5B556EA732@vidyo.com> <a5bf47e7-153b-f2d7-0c15-bfd8a642cf2f@gmail.com>
From: Bernard Aboba <bernard.aboba@gmail.com>
Date: Wed, 05 Jul 2017 14:19:43 -0700
Message-ID: <CAOW+2duAUsH9_2Lv+W9nU7OBwmod6GOe4D8+7faZUenjjyWtaQ@mail.gmail.com>
To: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Cc: Jonathan Lennox <jonathan@vidyo.com>, Sergio Garcia Murillo <sergio.garcia.murillo@cosmosoftware.io>, "avtext@ietf.org" <avtext@ietf.org>, Alexandre GOUAILLARD <alex.gouaillard@cosmosoftware.io>
Content-Type: multipart/alternative; boundary="001a1143f2104471a40553989057"
Archived-At: <https://mailarchive.ietf.org/arch/msg/avtext/u9sY2aouwJrdwTH94XtDPcAd-2Y>
Subject: Re: [avtext] Frame marking & VP9 SVC
X-BeenThere: avtext@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Audio/Video Transport Extensions working group discussion list <avtext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/avtext>, <mailto:avtext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/avtext/>
List-Post: <mailto:avtext@ietf.org>
List-Help: <mailto:avtext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/avtext>, <mailto:avtext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Jul 2017 21:20:08 -0000

Sergio said:

"So the question is they can be mapped 1-to-1 to the frame marking I and B
bits. If so, just adding that to the draft that the I and B bits on the
frame marking extension must be filled with the values of the vp9 P and U
bits ( I=!P , B=U), would work."

[BA] It's not obvious to me that the P or U bits can be inferred from
existing framemarking bits including the I and B bits.  Consider the
following dependency diagrams (done in the style of the examples in
https://tools.ietf.org/html/draft-ietf-avtext-lrr ):


Example 1


        ... <--  S2  <--  S2       S2  <--  S2  <-- ...
                  |        |        |        |

                                 \/              \/               \/
           \/


        ... <--  S1  <--  S1       S1  <--  S1  <-- ...
                  |        |        |        |
                 \/       \/       \/       \/
        ... <--  S0  <--  S0  <--  S0  <--  S0  <-- ...

                  1        2        3        4



In this example, it looks to me like all the S0 frames have the B bit
set to 1, but none of the S0, S1 or S2 frames have the I bit set to 1.

Frames 3 S1 and S2 have the B bit set to 1, all other S1 and S2 frames
have the B bit set to zero.


It also looks to me like only frames 3 S1 and S2 have the P bit set to
zero, all other S0, S1 and S2 frames have it set to 1.

So there is no clear relationship between the I and P bits.



Example 2


        ... <--  S2  <--  S2  <--  S2  <--  S2  <-- ...
                  |        |        |        |

                                 \/              \/               \/
           \/

        ... <--  S1  <--  S1  <--  S1  <--  S1  <-- ...
                  |        |        |        |
                 \/       \/       \/       \/
        ... <--  S0  <--  S0       S0  <--  S0  <-- ...

                  B        B       BIP      B



                  1        2        3        4



In this example, it looks to me like all the S0 frames have the B bit
set to 1, but only S0 frame 3 has the I bit set to 1.

None of the S1 or S2 frames have the B or I bits set to 1.  It also
looks to me like none of the frames have the P bit set to 0 or the U

bits set to 1, except frame 3 S0.  So in this example, the I and P
bits are the inverse of each other, but it's not clear how the

U bit can be inferred from other bits.


Here are the definitions of the framemarking I, D and B bits:


   o  I: Independent Frame (1 bit) - MUST be 1 for frames that can be
      decoded independent of prior frames, e.g. intra-frame, VPX
      keyframe, H.264 IDR [RFC6184
<https://tools.ietf.org/html/rfc6184>], H.265 IDR/CRA/BLA/RAP [RFC7798
<https://tools.ietf.org/html/rfc7798>];
      otherwise MUST be 0.
   o  D: Discardable Frame (1 bit) - MUST be 1 for frames that can be
      discarded, and still provide a decodable media stream; otherwise
      MUST be 0.
   o  B: Base Layer Sync (1 bit) - MUST be 1 if this frame only depends
      on the base layer; otherwise MUST be 0.  If no scalability is
      used, this MUST be 0.



Here are the P and U bit definitions:


   P: Inter-picture predicted layer frame.  When set to zero, the layer
      frame does not utilize inter-picture prediction.  In this case,
      up-switching to current spatial layer's frame is possible from
      directly lower spatial layer frame.  P SHOULD also be set to zero
      when encoding a layer synchronization frame in response to an LRR
      [I-D.ietf-avtext-lrr
<https://tools.ietf.org/html/draft-ietf-payload-vp9-03#ref-I-D.ietf-avtext-lrr>]
message (see Section 5.4
<https://tools.ietf.org/html/draft-ietf-payload-vp9-03#section-5.4>).
When P is set to
      zero, the T bit (described below) MUST also be set to 0 (if
      present).


   U: Switching up point.  If this bit is set to 1 for the current
      frame with temporal layer ID equal to T, then "switch up" to a
      higher frame rate is possible as subsequent higher temporal
      layer frames will not depend on any frame before the current
      frame (in coding time) with temporal layer ID greater than T.




On Wed, Jul 5, 2017 at 10:30 AM, Sergio Garcia Murillo <
sergio.garcia.murillo@gmail.com> wrote:

> On 05/07/2017 17:56, Jonathan Lennox wrote:
>
>> Sergio — the updated VP9 payload draft I submitted Monday includes a
>> section describing its usage with frame marking.
>>
>> Let me know what you think?  It changes the S and T fields to reflect the
>> latest VP9 and frame marking drafts, but it does not include the P or U
>> bits.
>>
>> I think the intention is that frame marking’s B bit will provide a
>> coarser-grain version of what P and U do (and the “don’t use it with weird
>> structures” requirement will make that sufficient, though that may need to
>> be made more specific).  What do you think?
>>
>
> An SFU requires both VP9  P and U bits in order to be able to do up and
> down switching. So the question is they can be mapped 1-to-1 to the frame
> marking I and B bits. If so, just adding that to the draft that the I and B
> bits on the frame marking extension must be filled with the values of the
> vp9 P and U bits ( I=!P , B=U), would work.
>
> By the way, I liked more the "layer frame" and "frame" vs "frame"
> "picture" (but it is just a personal preference), but I am not sure if
> there haven't been any typos on the renaming, I will have to review it in
> deep because there are some things that seems wrong at first glance (but I
> am probably wrong). Will send a new email if I find anything.
>
> Best regards
> Sergio
>
> _______________________________________________
> avtext mailing list
> avtext@ietf.org
> https://www.ietf.org/mailman/listinfo/avtext
>