Re: [rtcweb] Changing video size (Re: use case:)

Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com> Tue, 21 June 2011 09:48 UTC

Return-Path: <stefan.lk.hakansson@ericsson.com>
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 CFE6A9E8049 for <rtcweb@ietfa.amsl.com>; Tue, 21 Jun 2011 02:48:57 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.299
X-Spam-Level:
X-Spam-Status: No, score=-6.299 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id lw18hR3nh3rI for <rtcweb@ietfa.amsl.com>; Tue, 21 Jun 2011 02:48:57 -0700 (PDT)
Received: from mailgw10.se.ericsson.net (mailgw10.se.ericsson.net [193.180.251.61]) by ietfa.amsl.com (Postfix) with ESMTP id B7BE69E8046 for <rtcweb@ietf.org>; Tue, 21 Jun 2011 02:48:56 -0700 (PDT)
X-AuditID: c1b4fb3d-b7c17ae00000262e-7e-4e0069072327
Received: from esessmw0256.eemea.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw10.se.ericsson.net (Symantec Mail Security) with SMTP id 6F.07.09774.709600E4; Tue, 21 Jun 2011 11:48:55 +0200 (CEST)
Received: from [150.132.141.128] (153.88.115.8) by esessmw0256.eemea.ericsson.se (153.88.115.97) with Microsoft SMTP Server id 8.3.137.0; Tue, 21 Jun 2011 11:48:52 +0200
Message-ID: <4E006904.9090400@ericsson.com>
Date: Tue, 21 Jun 2011 11:48:52 +0200
From: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.2.17) Gecko/20110414 Thunderbird/3.1.10
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <5DA67EA1-77DC-4F55-850C-E76E0F133A81@cisco.com> <BANLkTi=g13whA3PCXKPW5Q7a2PzEDY3ESg@mail.gmail.com> <4DFF052A.8020202@alvestrand.no> <4DFF550C.2000009@jesup.org>
In-Reply-To: <4DFF550C.2000009@jesup.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Brightmail-Tracker: AAAAAA==
Subject: Re: [rtcweb] Changing video size (Re: use case:)
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: Tue, 21 Jun 2011 09:48:57 -0000

I just want to highlight that changing video display window size is 
captured already in the very first use case ("Simple Video Communication 
Service") in 
http://datatracker.ietf.org/doc/draft-holmberg-rtcweb-ucreqs/?include_text=1. 


In the preparation of the document we also discussed putting a 
requirement on that the receiving end should explicitly signal the size 
or the required codec parameters to the sender but concluded at that 
time that more discussion is needed.

My personal view is that this kind of functionality should be there. 
After all the suitable codec settings depend a lot on e.g. the display 
size. But I'm not sure that a requirement is needed. There must be a 
signaling channel of some kind available to set up streams (to negotiate 
codecs and codec settings). I think it can be re-used for this purpose.

Setting it up this way there could initially be simpler but standard 
compliant implementations that does not support this, with support added 
later - with the web application being unaffected.

//Stefan
On 2011-06-20 16:11, Randell Jesup wrote:
> On 6/20/2011 4:30 AM, Harald Alvestrand wrote:
>> On 06/17/11 21:38, Aron Rosenberg wrote:
>>> On Fri, Jun 17, 2011 at 11:09 AM, Cullen Jennings<fluffy@cisco.com
>>> <mailto:fluffy@cisco.com>>  wrote:
>>>
>>>
>>>      Video Size Change.
>>>
>>>      Alice and Bob are in a video call in their browsers and have
>>>      negotiate a high resolution video. Bob decides to change the size
>>>      of the windows his browser is displaying video to a small size.
>>>       Bob's browser should be able to regenerate the video codec
>>>      parameters with Alice's browser to change the resolution of video
>>>      Alice sends to match the smaller size.
>>>
>>>
>>> Changing compression due to a user change in window size is usually
>>> not done since it has a bad long term effect on video quality. In
>>> almost all the major video calling systems, video resolution is a
>>> function of current bandwidth (which changes as the rate control
>>> system detects differences) and/or constrained by the physical
>>> device, but not a function of a user dragging the window size. At
>>> an equivalent bitrate, it is better to compress a larger resolution
>>> and display it smaller (higher PSNR), then compress a smaller
>>> resolution if you are within the codec's effective bitrate for that
>>> larger resolution.
>
> Don't use "most current systems" as a guide.  Just because they don't do
> it doesn't mean it's a bad idea (it might be, but more proof than their
> not doing it is needed).
>
> I would assert that in general, it's better to scale before encoding
> than to scale after decoding; and one scale operation is generally
> better than two (at camera->encoder, and decoder->display), given a
> constant bitrate.
>
>> Interesting info, but I don't know if it's true in all cases.
>>
>> If the overall constraint on a conferencing system is bandwidth, the
>> system might find the saving in average bandwidth saving of encoding
>> from a base image of 140x200 for "small" windows rather than "HD"
>> (720x1024?) worth considering, even though the sending of a complete
>> I-frame to reinitialize the video stream might take some effort.
>>
>> I like having the use case of "change recipient video window size, and
>> as a result change sender bandwidth usage"; we might argue about the
>> exact phrasing of the use case.
>>
>
> The more general issue here is one of communication: events such as
> window resize are of interest to the sender, and may cause the sender to
> change what they're sending.    Events could include bandwidth changes,
> decode resolution changes, decode framerate changes  (probably not
> common, but perhaps for managing battery use), exposure (decode partly-
> or fully-obscured, or perhaps the user has zoomed in on one portion of
> the video), etc.  How the encoder reacts to that is largely up to the
> encoder/app (and input from the decoder app on what it wants);
> transmission of the information to allow decision-making is what I'm
> concerned with.
>
> Some of these can/should be spoken to in use-cases.
>