Re: [rtcweb] Resolution negotiation - a contribution
Stephan Wenger <stewe@stewe.org> Thu, 12 April 2012 18:20 UTC
Return-Path: <stewe@stewe.org>
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 D730521F85BD for <rtcweb@ietfa.amsl.com>; Thu, 12 Apr 2012 11:20:23 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.799
X-Spam-Level:
X-Spam-Status: No, score=-5.799 tagged_above=-999 required=5 tests=[AWL=-2.800, BAYES_00=-2.599, J_CHICKENPOX_19=0.6, 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 K93ZFU3foFb8 for <rtcweb@ietfa.amsl.com>; Thu, 12 Apr 2012 11:20:23 -0700 (PDT)
Received: from db3outboundpool.messaging.microsoft.com (db3ehsobe004.messaging.microsoft.com [213.199.154.142]) by ietfa.amsl.com (Postfix) with ESMTP id 4C25821F85B5 for <rtcweb@ietf.org>; Thu, 12 Apr 2012 11:20:22 -0700 (PDT)
Received: from mail43-db3-R.bigfish.com (10.3.81.244) by DB3EHSOBE001.bigfish.com (10.3.84.21) with Microsoft SMTP Server id 14.1.225.23; Thu, 12 Apr 2012 18:20:21 +0000
Received: from mail43-db3 (localhost [127.0.0.1]) by mail43-db3-R.bigfish.com (Postfix) with ESMTP id 51676E04F5; Thu, 12 Apr 2012 18:20:21 +0000 (UTC)
X-SpamScore: -33
X-BigFish: PS-33(zz168aJdf9M1432N98dKzz1202h1082kzz1033IL8275dhz2fh2a8h668h839h944h)
X-Forefront-Antispam-Report: CIP:157.56.240.133; KIP:(null); UIP:(null); IPV:NLI; H:BL2PRD0710HT002.namprd07.prod.outlook.com; RD:none; EFVD:NLI
Received-SPF: pass (mail43-db3: domain of stewe.org designates 157.56.240.133 as permitted sender) client-ip=157.56.240.133; envelope-from=stewe@stewe.org; helo=BL2PRD0710HT002.namprd07.prod.outlook.com ; .outlook.com ;
Received: from mail43-db3 (localhost.localdomain [127.0.0.1]) by mail43-db3 (MessageSwitch) id 1334254819236346_12379; Thu, 12 Apr 2012 18:20:19 +0000 (UTC)
Received: from DB3EHSMHS011.bigfish.com (unknown [10.3.81.235]) by mail43-db3.bigfish.com (Postfix) with ESMTP id 32E17C00FF; Thu, 12 Apr 2012 18:20:19 +0000 (UTC)
Received: from BL2PRD0710HT002.namprd07.prod.outlook.com (157.56.240.133) by DB3EHSMHS011.bigfish.com (10.3.87.111) with Microsoft SMTP Server (TLS) id 14.1.225.23; Thu, 12 Apr 2012 18:20:17 +0000
Received: from BL2PRD0710MB349.namprd07.prod.outlook.com ([169.254.1.23]) by BL2PRD0710HT002.namprd07.prod.outlook.com ([10.255.102.37]) with mapi id 14.16.0143.004; Thu, 12 Apr 2012 18:19:51 +0000
From: Stephan Wenger <stewe@stewe.org>
To: Harald Alvestrand <harald@alvestrand.no>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Thread-Topic: [rtcweb] Resolution negotiation - a contribution
Thread-Index: AQHNGIi2N3AyBdvLYU+ocbL9B79QTJaXC0UA
Date: Thu, 12 Apr 2012 18:19:51 +0000
Message-ID: <CBAC66CB.85BB5%stewe@stewe.org>
In-Reply-To: <4F869648.2020605@alvestrand.no>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.255.102.5]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <04526E7DCB753747BB38D31CED16E5EE@namprd07.prod.outlook.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-OriginatorOrg: stewe.org
Subject: Re: [rtcweb] Resolution negotiation - a contribution
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: Thu, 12 Apr 2012 18:20:24 -0000
Hi Harald, Thanks for this strawman. I believe it should work, but I fail to see how a two dimensional negotiation requirement (negotiating max values for framerate and image size--which, in turn, also has two-dimensional properties) leads to better interop than a one dimensional negotiation (pixels per second processing requirement). Let alone a one dimensional negotiation with a fragmented value space and constraints imposed an maxima and minima for both resolution and frame rates to values that represent common operation points (such as MPEG-style levels). Actually, I fail to see ANY positive aspect, except perhaps that dimension/framerate may be a bit more intuitive than processing power demands. This goes for both the API and the protocol. One can argue a lot about the value of MPEG's profiles in today's software implementation world (and people do, myself included). But the level concept appears to make sense to me. As a side note, something along the lines of CLUE's simultaneous transmission sets concept (or however that thing is currently called; I lost track) would also be beneficial for a system that is inherently capable of displaying multiple video signals, such as a web browser. Regards, Stephan On 4.12.2012 01:46 , "Harald Alvestrand" <harald@alvestrand.no> wrote: >Hello folks, > >after the IETF, I've attempted to gather together information about >resolution negotiation and what we might need to do there. > >I pulled together the paragraphs below - this may want to be >incorporated in an I-D on "SDP usage in RTCWEB", or it may want to go >somewhere else. Chairs' guidance is appreciated. > >At the moment, I have it in xml2rfc format, so it should be easy to do >cut-and-paste on it, but don't want to push it as a separate I-D unless >that's what the chairs desire. >Note - there are some QUERY sections in there - I'm unsure what those >should be resolved to. > >Comments? > > Harald > >2. Requirements > > The relevant requirement for video resolution negotiation from the > RTCWEB use cases document > [I-D.ietf-rtcweb-use-cases-and-requirements] is: > > o F25 The browser SHOULD use encoding of streams suitable for the > current rendering (e.g. video display size) and SHOULD change > parameters if the rendering changes during the session. > > The resulting need is: > > o To negotiate a maximum spatial resolution for all videos at call > setup time > > o To negotiate a maximum temporal resolution ("frame rate") across > all videos at call setup time > > o To indicate the desire of the recipient for a particular spatial > or temporal resolution on a particular video source > > o To indicate the intent of the sender to send a video source in a > particular spatial or temporal resolution > > This document does not mention other requirements. > > >3. SDP negotiation of video resolution > > An RTCWEB client MUST support negotiation of resolution using the > "imageattr" attribute, as documented in [RFC6236]. > > An RTCWEB client MUST support a SAR value of 1.0 (square pixels), and > MAY choose to support only the 1.0 value of the "sar" attribute. > > The interpretation of the negotiation is that any video stream in the > m= line containing the a=imageattr attribute will have a resolution > within the bounds established by the negotiation. > > An RTCWEB client MUST support negotiation of the "a=framerate" > attribute, as specified in [RFC4566] section 6. Note that this is an > upper bound on framerate; there is no lower bound negotiated. > > These requirements are necessary and sufficient for establishing the > maximum spatial and temporal resolution for all videos at call setup > time. These bounds MAY be renegotiated over the course of the call, > but MUST NOT be renegotiated to render any currently transmitted > video stream out of bounds; the sending video stream MUST first be > changed to be of a resolution that fits within both the old and the > new bounds, or halted. <<QUERY: Is this necessary or sufficient > restriction???>> > > An RTCWEB client MUST support per-SSRC requests for video > resolutions, as described in > [I-D.lennox-mmusic-sdp-source-selection]. This satisfies the > requirement to indicate the desire of the recipient for a particular > spatial or temporal resolution. > > We assume that the media sent from a sender to a receiver contains > enough information inside the media format to tell what the > resolution and framerate is. <<QUERY: Do we need to extend RFC 5576 > with an "imageattr" or "framerate" attribute in the forward direction > instead?>> > > >4. Non-SDP negotiation of video resolution > > An RTCWEB client MAY support the COP mechanism > [I-D.westerlund-avtext-codec-operation-point] to negotiate the > resolution of video within the limits established by the SDP > negotiation without the need for additional SDP exchanges. > > >5. Relation to WebRTC API constraint > > It is intended that the resolution negotiation be influenced by the > constraints set by the application of either mandatory or optional > constraints at the WebRTC API, as registered in the registry > established by [I-D.burnett-rtcweb-constraints-registry]. > > The following relationships hold for all attributes that the > implementation intends to satisfy (note that the constraints listed > here have NOT been registered yet): > > video-min-height >= value of imageattr y= xyrange lower bound > > video-max-height <= value of imageattr y= xyrange upper bound > > video-min-framerate is not represented in SDP > > video-max-framerate <= value of a=framerate attribute > > video-min-aspect-ratio <= value of imageattr "par=" prange lower > bound > > video-max-aspect-ratio >= value of imageattr "par=" prange upper > bound > > The implementation is free to increase "min" values or decrease "max" > values (make requirements more restrictive) and add "step" in order > to fit with its implementation restrictions. <<NOTE - check the value > of the direction of those assumptions>>. > > Constraints specified at PeerConnection creation time are reflected > as SDP-wide values. Constraints specified when creating a > MediaStream or attaching a MediaStream to a PeerConnection are > reflected as ssrc-specific values. > > >_______________________________________________ >rtcweb mailing list >rtcweb@ietf.org >https://www.ietf.org/mailman/listinfo/rtcweb >
- [rtcweb] Resolution negotiation - a contribution Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - a contribut… Timothy B. Terriberry
- Re: [rtcweb] Resolution negotiation - a contribut… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - a contribut… Marshall Eubanks
- Re: [rtcweb] Resolution negotiation - a contribut… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - a contribut… Stephan Wenger
- Re: [rtcweb] Resolution negotiation - a contribut… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - a contribut… Stephan Wenger
- Re: [rtcweb] Resolution negotiation - a contribut… Harald Alvestrand
- [rtcweb] VP8 payload, decoder processing capabili… Stephan Wenger
- Re: [rtcweb] [payload] VP8 payload, decoder proce… Yuepeiyu (Roy)
- Re: [rtcweb] Resolution negotiation - mandatory /… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - mandatory /… Roni Even
- Re: [rtcweb] Resolution negotiation - mandatory /… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - mandatory /… Roni Even
- Re: [rtcweb] Resolution negotiation - mandatory /… Harald Alvestrand
- Re: [rtcweb] Resolution negotiation - mandatory /… Roni Even
- [rtcweb] Alternative Proposal for Dynamic Codec P… Magnus Westerlund
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Harald Alvestrand
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Timothy B. Terriberry
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Bernard Aboba
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Harald Alvestrand
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Justin Uberti
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Magnus Westerlund
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Harald Alvestrand
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Magnus Westerlund
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Justin Uberti
- Re: [rtcweb] Alternative Proposal for Dynamic Cod… Magnus Westerlund
- Re: [rtcweb] [payload] VP8 payload, decoder proce… Cullen Jennings (fluffy)
- Re: [rtcweb] [payload] VP8 payload, decoder proce… Harald Alvestrand