[payload] VP9 frame markings: typo and questions

Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com> Tue, 08 May 2018 16:12 UTC

Return-Path: <sergio.garcia.murillo@gmail.com>
X-Original-To: payload@ietfa.amsl.com
Delivered-To: payload@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 59A4512D967; Tue, 8 May 2018 09:12:18 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.698
X-Spam-Level:
X-Spam-Status: No, score=-2.698 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_LOW=-0.7, 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 j6Nj0FL2UlsZ; Tue, 8 May 2018 09:12:16 -0700 (PDT)
Received: from mail-wm0-x22c.google.com (mail-wm0-x22c.google.com [IPv6:2a00:1450:400c:c09::22c]) (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 09DFB12DA42; Tue, 8 May 2018 09:12:12 -0700 (PDT)
Received: by mail-wm0-x22c.google.com with SMTP id f6so19787419wmc.4; Tue, 08 May 2018 09:12:11 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:cc:from:subject:message-id:date:user-agent:mime-version :content-language; bh=XW9Lioa3z3izmXc1Vo9k/XbiApvntEzzm7CUS3QRZ88=; b=jUYCp0D7HfPloF6PgHhUHoeoiwEMxfPVAG+3SjSFY0CjOUwkOeByaBmyijK8g5GEHA MGTVwZNhs+kxlShJ80/9FXJKb1FjUZHn2nipN1kGm5Cr6NzKdkdWDtI1NJfdVfx8eaxG KZ1tDMaa1zfJEB5hF4kQbQ9jh24FWyAlRBehxWsfdUrl/Or4x3FDGKf6v2zZNB/MX7uQ D41uAZNgq/A7kZD/SSOZuoAwAIRllGYNX/GTEC4WMhttW8okwRMQfnq4X+sxAHSF22oZ HoOjX6mHMChxC8jJBDd31i5MzIpm8fGWer7to0E9j85LXBupdCd+fTZk2X3fGf5B4Wbs SAkQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:cc:from:subject:message-id:date:user-agent :mime-version:content-language; bh=XW9Lioa3z3izmXc1Vo9k/XbiApvntEzzm7CUS3QRZ88=; b=pYPaG3CGIlH+Fhkvl4RtyQnwVgMfuCND3JDXwyk0mRcWj+xVQ3u2JDipQIhWCYdlQE RP3MJdB4mBXj9ssLGjpEWuRYOL9DYKBOYWHlNYs2UqeOKANFRyivZnjvx6r3P7BH86Na vzp4wEebIfQ9oPLTuq3cgmoph+mYnf1TjnxB9OBnrRs8Q41RWCgcGGmNPNKaZwbEEETJ u3Ie932s6TT0VFBg481JY7c1++BAk84r6I8JGeuwONdhfeDRVXPpRdkws2ALnq4+9H3p vn+JNiot5Zuk02vll/K+raaxO/woCuIEd+p6pHb3EEzMYaZSo+I12Cl9BKvVNLoc7hcf PGGw==
X-Gm-Message-State: ALQs6tA1WGtD6CFlDHYlIOT8oa6/jeej16iYD2Y7KAT7x79uG+IJzFYY yj3qecjZaBJoXKeOypehC4YWEUBs
X-Google-Smtp-Source: AB8JxZq8bEhPqhOUMrasGdXCwO9kdx/GcQv6H2cD9XtNRRE7pv2/N7d2aiUvKqRLyYrrIzhq+lGuQA==
X-Received: by 2002:a50:dc02:: with SMTP id q2-v6mr46328959edk.245.1525795930176; Tue, 08 May 2018 09:12:10 -0700 (PDT)
Received: from [192.168.0.102] (37.red-80-28-109.staticip.rima-tde.net. [80.28.109.37]) by smtp.googlemail.com with ESMTPSA id b22-v6sm11929622edn.44.2018.05.08.09.12.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 08 May 2018 09:12:08 -0700 (PDT)
To: payload@ietf.org
Cc: "draft-ietf-payload-vp9@ietf.org" <draft-ietf-payload-vp9@ietf.org>
From: Sergio Garcia Murillo <sergio.garcia.murillo@gmail.com>
Message-ID: <b4245192-fa17-6893-6759-418242be054c@gmail.com>
Date: Tue, 8 May 2018 18:12:38 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.7.0
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="------------899E69951B8A5E35944AC20C"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/payload/feP8pyZ_cQBrvAN4R7AHBCuR9LQ>
Subject: [payload] VP9 frame markings: typo and questions
X-BeenThere: payload@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Audio/Video Transport Payloads working group discussion list <payload.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/payload>, <mailto:payload-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/payload/>
List-Post: <mailto:payload@ietf.org>
List-Help: <mailto:payload-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/payload>, <mailto:payload-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 08 May 2018 16:12:18 -0000

Hi,

I have some comments regarding the latest vp9 draft regarding the 
framemarking header information.

I think it is confusing to have two fields on the text named "S"

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  ID=2 |  L=2  |S|E|I|D|B|  T  |0|0|0|0|0|  S  |    TL0PICIDX  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


IMHO it would be better to rename S/T fields for spatial and temporal 
ids to TID/SID to be consistent with framemarking draft.

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |  ID=2 |  L=2  |S|E|I|D|B|TID  |0|0|0|0|0|SID  |    TL0PICIDX  |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


Also,  I have doubts about how to fill the I/D/B fields of the vp9 
framemarking :

    o  I: Independent Frame (1 bit) - MUST be 1 for frames that can be
       decoded independent of temporally 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.  Note that this bit only signals
       temporal independence, so it can be 1 in spatial or quality
       enhancement layers that depend on temporally co-located layers but
       not temporally prior frames.
    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.


from the information of the VP9 payload description (and viceversa).

    P: Inter-picture predicted frame.  When set to zero, the frame does
       not utilize inter-picture prediction.  In this case, up-switching
       to a 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-05#ref-I-D.ietf-avtext-lrr>] message (seeSection 5.4 
<https://tools.ietf.org/html/draft-ietf-payload-vp9-05#section-5.4>).  When P is set to
       zero, the T field (described below) MUST also be set to 0 (if
       present).  Note that the P bit does not forbid intra-picture,
       inter-layer prediction from earlier frames of the same picture, if
       any.
    U: Switching up point.  If this bit is set to 1 for the current
       picture with temporal layer ID equal to T, then "switch up" to
       a higher frame rate is possible as subsequent higher temporal
       layer pictures will not depend on any picture before the
       current picture (in coding order) with temporal layer ID
       greater than T.
    D: Inter-layer dependency used.  MUST be set to one if current
       spatial layer S frame depends on spatial layer S-1 frame of the
       same picture.  MUST only be set to zero if current spatial
       layer S frame does not depend on spatial layer S-1 frame of the
       same picture.  For the base layer frame (with S equal to 0),
       this D bit MUST be set to zero.


It seems that fm.I = !desc.P but I am not sure if fm.B=!desc.D (the 
definition doesn't seem to match). I guess that the frame marking B 
discardable flag could be retrieved from the scalability structure or 
frame dependencies (although I don't use it at the SFU). Could you 
confirm if those assumptions are correct, please? If so, couldn't this 
info be added to the draft for clarity?

May main problem is with the description U: witching up point which I 
can't find a field in the framemarking information that could be usable 
to provide the information to the SFU.

Am I missing something or should we add the U bit also to the vp9 frame 
marking info on the LID field?

Best regards
Sergio