Subject: [AVTCORE] Proposed addition to VP9 RTP payload: advance signaling of inter-layer dependency

From: Jonathan Lennox <[email-masked]>
Date: Tue, 9 Jun 2020 17:27:37 -0400

Hi, all —

Sergey Silkin of Google has proposed an addition to the VP9 RTP payload.

The problem he’s observed is that when a lower spatial layer frame of a picture is not used for prediction by a higher layer, in the current spec it’s only possible to know this when the higher-layer frame is received (based on its “D” bit).  This means that if a middlebox or decoder would need to buffer the packets of the lower-layer frame in order to decide reliably whether or not it needs to be relayed or decoded.

Sergey’s proposal (with some wording tweaks by me) is to use the currently-reserved bit in the first byte of the VP9 payload header as a “Z” byte, defined as:

          Z: Not a reference frame for upper spatial
          layers. If set to 1, indicates that frames with higher
          spatial layers SID+1 of the current and following pictures
          do not depend on the current spatial layer SID frame.  This
          enables a decoder which is targeting a higher spatial layer
          to know that it can safely discard this packet's frame
          without processing it, without having to wait for the "D"
          bit in the higher-layer frame (see below).

This has been implemented (and is being used) in Chrome, which is by far the dominant VP9 RTP payload implementation.

As this solves a real problem and is being used in running code, my inclination is to add it to the spec. Are there any objections?

The pull request to add this to the spec is at https://github.com/juberti/draughts/pull/117 <https://github.com/juberti/draughts/pull/117> .

Jonathan Lennox
(Writing as document editor)

---

From: Alexandre GOUAILLARD <[email-masked]>
Date: Wed, 10 Jun 2020 13:10:29 +0200

+1 support.

On Tue, Jun 9, 2020 at 11:27 PM Jonathan Lennox <[email-masked]>
wrote:

> The problem he’s observed is that when a lower spatial layer frame of a
> picture is not used for prediction by a higher layer, in the current spec
> it’s only possible to know this when the higher-layer frame is received
> (based on its “D” bit).  This means that if a middlebox or decoder would
> need to buffer the packets of the lower-layer frame in order to decide
> reliably whether or not it needs to be relayed or decoded.
>
> Sergey’s proposal (with some wording tweaks by me) is to use the
> currently-reserved bit in the first byte of the VP9 payload header as a “Z”
> byte, defined as:
>
> This has been implemented (and is being used) in Chrome, which is by far
> the dominant VP9 RTP payload implementation.
>
> As this solves a real problem and is being used in running code, my
> inclination is to add it to the spec. Are there any objections?
>
> The pull request to add this to the spec is at
> https://github.com/juberti/draughts/pull/117 .
>
> Jonathan Lennox
> _______________________________________________
> Audio/Video Transport Core Maintenance
> [email-masked]
> https://www.ietf.org/mailman/listinfo/avt
>

-- 
Alex. Gouaillard, PhD, PhD, MBA
------------------------------------------------------------------------------------
President - CoSMo Software Consulting, Singapore
------------------------------------------------------------------------------------
sg.linkedin.com/agouaillard

   -