Re: [rtcweb] [avtext] Fwd: New Version Notification for draft-fineberg-avtext-temporal-layer-ext-00.txt
Adam Fineberg <fineberg@vline.me> Wed, 24 July 2013 22:55 UTC
Return-Path: <fineberg@vline.me>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 7D80311E814D for <rtcweb@ietfa.amsl.com>; Wed, 24 Jul 2013 15:55:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.598
X-Spam-Level:
X-Spam-Status: No, score=-3.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ckiSp1rrM+MU for <rtcweb@ietfa.amsl.com>; Wed, 24 Jul 2013 15:54:59 -0700 (PDT)
Received: from mail-ob0-f170.google.com (mail-ob0-f170.google.com [209.85.214.170]) by ietfa.amsl.com (Postfix) with ESMTP id CE2EC11E8123 for <rtcweb@ietf.org>; Wed, 24 Jul 2013 15:54:45 -0700 (PDT)
Received: by mail-ob0-f170.google.com with SMTP id ef5so14603876obb.15 for <rtcweb@ietf.org>; Wed, 24 Jul 2013 15:54:43 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-type:x-gm-message-state; bh=VS+ZwlJursITT/5OjN/vg5RNwOlSruohaYVgzvz2juE=; b=dKKXPcxtdErqesei0zGewiC0xipQVJuumpU85lD+zIgH/5We7M7IwMn7EvH+apB+K7 qvu/wazs/F5yJxM5BeTFcYdEn7+unSaYotPEVRiyzmawoGnqP+uP5BALCRRy+MfuqWQK lWNyyAAphLPLgm9XJ19u/k55Rc+cQKT9CnWXfTPbBbZ9zog1CWp14JUfVc2ZUstmsXDx uiXmVfXcO/uv2w809F87vsninmnwNSrNUIiA45eG0FzkUl5iBpNAFPX4lq1ZE0n05M9Z DL5inuGfZtJi9MlR4kgfNQDZP6fCwsHjw2Y5v10a6Ioq0ze021GGfpDaXbxx2km0b4p4 6avg==
X-Received: by 10.50.164.167 with SMTP id yr7mr711148igb.22.1374706483543; Wed, 24 Jul 2013 15:54:43 -0700 (PDT)
Received: from Adams-MacBook-Pro.local ([38.102.150.73]) by mx.google.com with ESMTPSA id z15sm8747igp.0.2013.07.24.15.54.40 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 24 Jul 2013 15:54:42 -0700 (PDT)
Message-ID: <51F05B32.5080401@vline.me>
Date: Wed, 24 Jul 2013 15:54:42 -0700
From: Adam Fineberg <fineberg@vline.me>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: "Wang, Ye-Kui" <yekuiw@qti.qualcomm.com>
References: <CE0F0BEB.9F95D%stewe@stewe.org>, <51EEA709.2020009@vline.me> <BLU169-W20CACC8554C875802188A3936F0@phx.gbl> <51F00A02.3060204@vline.me> <8BA7D4CEACFFE04BA2D902BF11719A83384A0A5B@nasanexd02f.na.qualcomm.com>
In-Reply-To: <8BA7D4CEACFFE04BA2D902BF11719A83384A0A5B@nasanexd02f.na.qualcomm.com>
Content-Type: multipart/alternative; boundary="------------060504090401040709000905"
X-Gm-Message-State: ALoCoQmHDlKjgoOPrRNJwdR3vkN+ulibU+HINZ7LEWcNDpcDAhD0fLToYH0vpW+LaSE4yFVOJV1U
Cc: "avtext@ietf.org" <avtext@ietf.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] [avtext] Fwd: New Version Notification for draft-fineberg-avtext-temporal-layer-ext-00.txt
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Jul 2013 22:55:06 -0000
YK, I would appreciate your collaboration. Which codecs are you referring to when you say "all existing standard scalable video codecs"? Regards, Adam On 7/24/13 3:32 PM, Wang, Ye-Kui wrote: > > If the group is to specify something generic, naturally it should be > generic enough to cover at least all existing standard scalable video > codecs if possible. And I personally think that is possible and not > difficult at all. Thus, why limit to only a few scalable video codecs? > > I could provide some help here too if needed. > > BR, YK > > *From:*avtext-bounces@ietf.org [mailto:avtext-bounces@ietf.org] *On > Behalf Of *Adam Fineberg > *Sent:* Wednesday, July 24, 2013 10:08 AM > *To:* Bernard Aboba > *Cc:* avtext@ietf.org; rtcweb@ietf.org; Justin Uberti > *Subject:* Re: [avtext] [rtcweb] Fwd: New Version Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > Bernard, > > I apologize if I come across as being difficult here but I stil am not > seeing the benefits. Since the fields are not the same for the > codecs, we will be multiplexing the bits and that seems to me to add > complexity rather than add clarity. Also, I can't find an IETF VP9 > document for the payload format to reference. If the group thinks > generalization is the right approach I would appreciate some > collaboration on getting the right bit definitions for the other codecs. > > Regards, > Adam > > On 7/23/13 12:07 PM, Bernard Aboba wrote: > > I do not think it is necessary to "support all forms of > scalability for all codecs". In fact, I would make that an > explicit "non-goal". All that was suggested is to try to create a > single extension that supports a few common cases. If it is > possible to handle VP8, VP9 and H.264/SVC in a single extension > that would be sufficient. So why not limit it to that? > > ------------------------------------------------------------------------ > > Date: Tue, 23 Jul 2013 08:53:45 -0700 > From: fineberg@vline.me <mailto:fineberg@vline.me> > To: stewe@stewe.org <mailto:stewe@stewe.org> > CC: juberti@google.com <mailto:juberti@google.com>; > bernard_aboba@hotmail.com <mailto:bernard_aboba@hotmail.com>; > avtext@ietf.org <mailto:avtext@ietf.org>; rtcweb@ietf.org > <mailto:rtcweb@ietf.org> > Subject: Re: [avtext] [rtcweb] Fwd: New Version Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > I've been thinking about this and given the ease at which RFC5285 > allows for the specification of a header extension and the > complexity introduced by trying to generalize the header extension > to support all forms of scalability for all codecs that the > generalization might not be the best approach. I'm not sure what > we really gain by trying to capture all this in a single header > extension rather than one per that can succinctly explain the > fields without the complexity of multiplexing the bits. > > Thoughts? > > Regards, > Adam > > On 7/19/13 3:44 PM, Stephan Wenger wrote: > > Hi, > > *From: *Adam Fineberg <fineberg@vline.me > <mailto:fineberg@vline.me>> > *Date: *Friday, 19 July, 2013 15:12 > *To: *Stephan Wenger <stewe@stewe.org <mailto:stewe@stewe.org>> > *Cc: *Justin Uberti <juberti@google.com > <mailto:juberti@google.com>>, Bernard Aboba > <bernard_aboba@hotmail.com > <mailto:bernard_aboba@hotmail.com>>, "avtext@ietf.org > <mailto:avtext@ietf.org>" <avtext@ietf.org > <mailto:avtext@ietf.org>>, "rtcweb@ietf.org > <mailto:rtcweb@ietf.org>" <rtcweb@ietf.org > <mailto:rtcweb@ietf.org>> > *Subject: *Re: [avtext] [rtcweb] Fwd: New Version Notification > for draft-fineberg-avtext-temporal-layer-ext-00.txt > > Stephan, > > Thanks for the info and the reference. I'm not sure I follow > as I'm not at all familiar with H.265. I'll review the > reference and see what I can figure. > > StW: Good luck :-) > > It seems though to me that you are suggesting that except in > the simple case, that the data for H.265 would not be well > suited to a header extension, am I understanding you > correctly? There is no reason the middlebox couldn't get out > of band signaling of the VPS as you mention but that would not > be within the scope of this header extension. > > StW: well, if you would copy the layer_id into your header > extension (just as you need to do for the simple case), a > really smart middle box could use this information just as a > decoder uses it, assuming that it intercepted the VPS in the > first place. Insofar, I wouldn't rule out the second option > on technical grounds. Whether any of the actual products > would bother to do that, ever, is another question. I think > the case ought to be documented, though. I can help drafting > text. > > While we are at it: doing this right could mean that you need > multiple specs. First, a generic header extension mechanism > dedicated to side information required for pruning of RTP > packet streams---ideally not only for scalable video, although > that is the main customer today. And second, for each > "payload" (at present we are talking about H.264/SVC, H.265v1 > (HEVC), H.265v2 (including scalable and 3D extensions, which > are not yet finalized), VP8, and VP9 (I know little about the > latter), plus Daala, and whatnot) a mapping of the bits > available in the generic header extension to the bits in the > payload itself (NAL header and VPS in case of H.265, NALU > header in SVC, and the fields you mention for VP8). > > Stephan > > > > Any insights are appreciated. > > Regards, > Adam > > On 7/19/13 8:33 AM, Stephan Wenger wrote: > > Hi, > > I also believe that 16 bits should be enough. For H.264 > and VP8 that has already been demonstrated. For H.265, > some initial thoughts below. Apologies for the word-count. > > The scalable version of H265 (called SHVC) is currently > under development. The current working draft can be found > here: > http://phenix.int-evry.fr/jct/doc_end_user/documents/13_Incheon/wg11/JCTVC-M1008-v3.zip. > Therein, the options for defining layering structures are > considerably more complex. To start, we have 3 bits for > the temporal ID in the NAL unit header of the H.265 > version 1 (HEVC) base specification (temporal scalability > is already nicely supported in version 1). Just like in > SVC. In the scalable extension, the NAL unit header > contains a six bit field that points into a data structure > known as "Video Parameter Set" (VPS). Inside the VPS, > those six bits are mapped to to a position in a directed > graph (specified through "dimension_id[][]"), which tells > you about the reference relationship of the layer in > question and its parent layer. One can recursively follow > the graph to determine what used to be called > dependency_id, quality_id, view_id, and whatnot. The six > bit pointer field can (or: is to be when possible) > organized by the encoder such that it is prudent for a > middle box to throw away NAL units (belonging to layers) > with higher values of the six bit field first, before > throwing away NAL units with lower values. Relying on > this feature, 3+6 bits == 9 bits should be fine for the > header extension. > > That said, the ordering by the encoder is just a > recommendation, and there may well be cases where > different pruning strategies may be advisable. For > example, a layering structure could be constructed that > expands into two branches, one using 2D scalable tools > only, the other including view_id for multi view coding. > By looking at the six bit field alone, a middle box will > not be able to meaningfully remove NAL units belonging to > one of the branches completely while pruning the other > branch. In order to meaningfully deal with that scenario, > there would be two options: one to represent the > dimension_id[][] (and associated control info) in the > header extension, or require the middle box to have access > to the VPS and be able to interpret its content. The > further could take considerably more than 16 bits and we > would be talking about a variable length data structure. > The latter requires the middle box to have state and a > mechanism to intercept the VPS (through signaling---as the > encrypted in-band VPS would not be useful under the > assumption that the middle box does not have the key to > the media---which is the motivation of the draft in the > first place). I personally don't mind at all the second > mechanism, as I'm a big fan of out-of-band parameter set > transmission and any middle box must be in the signaling > path anyway to meaningfully manipulate RTP. I do not like > the first option due to its variable, and possibly > substantial, overhead. > > Stephan > > *From: *Justin Uberti <juberti@google.com > <mailto:juberti@google.com>> > *Date: *Friday, 19 July, 2013 06:32 > *To: *Bernard Aboba <bernard_aboba@hotmail.com > <mailto:bernard_aboba@hotmail.com>> > *Cc: *"avtext@ietf.org <mailto:avtext@ietf.org>" > <avtext@ietf.org <mailto:avtext@ietf.org>>, > "rtcweb@ietf.org <mailto:rtcweb@ietf.org>" > <rtcweb@ietf.org <mailto:rtcweb@ietf.org>> > *Subject: *Re: [rtcweb] Fwd: New Version Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > Agree those are the right codecs to design for. Since in > each case there are fairly low limits on the number of > supported layers (i.e. 3 spatial layers for SVC), I think > it should be possible to pack the temporal, spatial, > quality layer ids into 16 bits. > > On Fri, Jul 19, 2013 at 1:56 AM, Bernard Aboba > <bernard_aboba@hotmail.com > <mailto:bernard_aboba@hotmail.com>> wrote: > > If we can support VP8/9 as well as H.264/5 SVC > > that would be a start. It seems doable to me. > > > On Jul 18, 2013, at 8:34 PM, "Adam Fineberg" > <fineberg@vline.me <mailto:fineberg@vline.me>> wrote: > > Bernard, > > Are there other codecs you are thinking should be > supported? If it's generalized I would think we want > to be able to cover all known scalable codecs. I'll > look into the H264/SVC fields to see how to encode > them in a generalized header. > > Regards, > Adam > > On 7/18/13 7:40 PM, Bernard Aboba wrote: > > I think it may be possible to generalize this. For > example, for H.264/SVC which can support temporal, > spatial and quality scalability, you would need > the quality_id and dependency_id in addition to > the temporal_id (what you call the temporal layer > index). > > ------------------------------------------------------------------------ > > Date: Thu, 18 Jul 2013 08:45:38 -0700 > From: fineberg@vline.me <mailto:fineberg@vline.me> > To: bernard_aboba@hotmail.com > <mailto:bernard_aboba@hotmail.com> > CC: rtcweb@ietf.org <mailto:rtcweb@ietf.org>; > avtext@ietf.org <mailto:avtext@ietf.org> > Subject: Re: [rtcweb] Fwd: New Version > Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > Bernard, > > Good question. I'm not familiar enough with the > parameter requirements of all other scalable > codecs to be able to generalize. If you'd like to > help specify them, I'd be fine revising the draft > to generalize. > > Regards, > Adam > > On 7/17/13 8:26 PM, Bernard Aboba wrote: > > Since the need is not codec specific (e.g. it > arises with any codec supporting temporal, > spatial and quality scalability), why > a VP8-specific RTP extension? > > ------------------------------------------------------------------------ > > Date: Wed, 17 Jul 2013 17:09:46 -0700 > From: fineberg@vline.me <mailto:fineberg@vline.me> > To: rtcweb@ietf.org <mailto:rtcweb@ietf.org> > Subject: [rtcweb] Fwd: New Version > Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > Hi, > > I'm working on WebRTC services and have found > that while developing services that forward > VP8 video streams if we want to take advantage > of the VP8 temporal scaling we must get the > temporal layer information from the RTP header > which requires us to decrypt the SRTP packets. > This is undesirable both because the > middle-box needs to have access to the keys as > well as the because of the added overhead of > the decrypt/encrypt cycle. This draft proposes > an RTP header extension that will allow us to > use the VP8 temporal layer information > included in the header extension and therefore > do forwarding without SRTP decryption. > Comments welcome. > > Regards, > Adam Fineberg > > fineberg at vline.com > <mailto:fineberg%20at%20vline.com> > > -------- Original Message -------- > > *Subject:* > > > > New Version Notification for > draft-fineberg-avtext-temporal-layer-ext-00.txt > > *Date:* > > > > Tue, 09 Jul 2013 10:02:05 -0700 > > *From:* > > > > internet-drafts at ietf.org > <mailto:internet-drafts%20at%20ietf.org> > > *To:* > > > > Adam Fineberg <fineberg at vline.com> > <mailto:fineberg%20at%20vline.com> > > > > > A new version of I-D, draft-fineberg-avtext-temporal-layer-ext-00.txt > > has been successfully submitted by Adam Fineberg and posted to the > > IETF repository. > > > > Filename: draft-fineberg-avtext-temporal-layer-ext > > Revision: 00 > > Title: A Real-Time Transport Protocol (RTP) Header Extension for VP8 Temporal Layer Information > > Creation date: 2013-07-08 > > Group: Individual Submission > > Number of pages: 6 > > URL:http://www.ietf.org/internet-drafts/draft-fineberg-avtext-temporal-layer-ext-00.txt > > Status:http://datatracker.ietf.org/doc/draft-fineberg-avtext-temporal-layer-ext > > Htmlized:http://tools.ietf.org/html/draft-fineberg-avtext-temporal-layer-ext-00 > > > > > > Abstract: > > This document defines a mechanism by which packets of Real-Time > > Tranport Protocol (RTP) video streams encoded with the VP8 codec can > > indicate, in an RTP header extension, the temporal layer information > > about the frame encoded in the RTP packet. This information can be > > used in a middlebox performing bandwidth management of streams > > without requiring it to decrypt the streams. > > > _______________________________________________ rtcweb > mailing list rtcweb@ietf.org > <mailto:rtcweb@ietf.org> > https://www.ietf.org/mailman/listinfo/rtcweb > > -- > > Regards, > > Adam > > > _______________________________________________ > rtcweb mailing list > rtcweb@ietf.org <mailto:rtcweb@ietf.org> > https://www.ietf.org/mailman/listinfo/rtcweb > > > > _______________________________________________ > > avtext mailing list > > avtext@ietf.org <mailto:avtext@ietf.org>https://www.ietf.org/mailman/listinfo/avtext > > -- > > Regards, > > Adam > > -- > > Regards, > > Adam > > > > -- > Regards, > Adam -- Regards, Adam
- [rtcweb] Fwd: New Version Notification for draft-… Adam Fineberg
- Re: [rtcweb] Fwd: New Version Notification for dr… Bernard Aboba
- Re: [rtcweb] Fwd: New Version Notification for dr… Harald Alvestrand
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Cullen Jennings
- Re: [rtcweb] Fwd: New Version Notification for dr… Adam Fineberg
- Re: [rtcweb] Fwd: New Version Notification for dr… Adam Fineberg
- Re: [rtcweb] Fwd: New Version Notification for dr… Bernard Aboba
- Re: [rtcweb] Fwd: New Version Notification for dr… Adam Fineberg
- Re: [rtcweb] Fwd: New Version Notification for dr… Bernard Aboba
- Re: [rtcweb] Fwd: New Version Notification for dr… Justin Uberti
- Re: [rtcweb] Fwd: New Version Notification for dr… Stephan Wenger
- Re: [rtcweb] Fwd: New Version Notification for dr… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Stephan Wenger
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Mo Zanaty (mzanaty)
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Wang, Ye-Kui
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Bernard Aboba
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Wang, Ye-Kui
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Wang, Ye-Kui
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Stephan Wenger
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Jonathan Lennox
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg
- Re: [rtcweb] [avtext] Fwd: New Version Notificati… Adam Fineberg