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

Bert Greevenbosch <Bert.Greevenbosch@huawei.com> Wed, 22 June 2011 03:20 UTC

Return-Path: <Bert.Greevenbosch@huawei.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 AE9F921F8486 for <rtcweb@ietfa.amsl.com>; Tue, 21 Jun 2011 20:20:00 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599, 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 cgDwvMW9sMik for <rtcweb@ietfa.amsl.com>; Tue, 21 Jun 2011 20:19:59 -0700 (PDT)
Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [119.145.14.67]) by ietfa.amsl.com (Postfix) with ESMTP id 6916B21F8481 for <rtcweb@ietf.org>; Tue, 21 Jun 2011 20:19:59 -0700 (PDT)
Received: from huawei.com (szxga04-in [172.24.2.12]) by szxga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LN6004MJ9994K@szxga04-in.huawei.com> for rtcweb@ietf.org; Wed, 22 Jun 2011 11:19:58 +0800 (CST)
Received: from szxrg01-dlp.huawei.com ([172.24.2.119]) by szxga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0LN600JLV998UM@szxga04-in.huawei.com> for rtcweb@ietf.org; Wed, 22 Jun 2011 11:19:57 +0800 (CST)
Received: from 172.24.2.119 (EHLO szxeml205-edg.china.huawei.com) ([172.24.2.119]) by szxrg01-dlp.huawei.com (MOS 4.1.9-GA FastPath queued) with ESMTP id ABZ49277; Wed, 22 Jun 2011 11:19:57 +0800 (CST)
Received: from SZXEML409-HUB.china.huawei.com (10.82.67.136) by szxeml205-edg.china.huawei.com (172.24.2.57) with Microsoft SMTP Server (TLS) id 14.1.270.1; Wed, 22 Jun 2011 11:19:49 +0800
Received: from SZXEML501-MBS.china.huawei.com ([169.254.1.140]) by szxeml409-hub.china.huawei.com ([169.254.57.252]) with mapi id 14.01.0270.001; Wed, 22 Jun 2011 11:19:43 +0800
Date: Wed, 22 Jun 2011 03:19:42 +0000
From: Bert Greevenbosch <Bert.Greevenbosch@huawei.com>
In-reply-to: <01A17A75-0700-416E-A4D4-C6EB97265F8B@cisco.com>
X-Originating-IP: [10.70.109.57]
To: Cullen Jennings <fluffy@cisco.com>, Aron Rosenberg <arosenberg@logitech.com>
Message-id: <46A1DF3F04371240B504290A071B4DB601301A2E@SZXEML501-MBS.china.huawei.com>
MIME-version: 1.0
Content-type: text/plain; charset="us-ascii"
Content-language: en-US
Content-transfer-encoding: 7bit
Accept-Language: en-GB, zh-CN, en-US
Thread-topic: [rtcweb] Changing video size (Re: use case:)
Thread-index: AQHMLyRYJEN5T0e70kekdx+83OJoNpTHd0uAgAE1ukA=
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
X-CFilter-Loop: Reflected
References: <5DA67EA1-77DC-4F55-850C-E76E0F133A81@cisco.com> <BANLkTi=g13whA3PCXKPW5Q7a2PzEDY3ESg@mail.gmail.com> <4DFF052A.8020202@alvestrand.no> <01A17A75-0700-416E-A4D4-C6EB97265F8B@cisco.com>
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
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: Wed, 22 Jun 2011 03:20:00 -0000

Hi Cullen, all,

<cite>
Consider two different video flows using the same codec ...

Stream A is 640 x 480 at 1mbps which is this scaled to 320x240 and displayed

Stream B is 320 x 240 at 1mbps which is displayed at 320x240. 

My experience has been with modern video codecs that stream B will look better than stream A. As well as looking better, it will typically also have a better PSNR. There's a bunch of reasons why which are probably not worth going into here but give it a try and you will see what I mean. The key point is both streams where 1mbps. If stream B was sent at 256 kbps, then A would look better.
</cite>

Can I ask what you mean with "both streams where 1mbps"? Do you refer to the capacity of the channel (i.e. how much data the channel can transport), or to the actually codec bitrate (i.e. how much data is sent from the streaming server).

In the first case, assuming that the size of stream B is considerably less than the size of stream A, the quality of Stream B can be expected to be higher than the quality of Stream A, since a higher capacity of the channel results in less packet loss. 

In the second case, assuming both streams are coded at the same bitrate, the quality of Stream B can also be expected to be higher than the quality of Stream A, due to the availability of more bits per pixel (though similar packet loss).

However, if we reduce the capacity of the channel, it becomes more complicated. I think this highly depends on which codec is being used. For example, I am not sure whether  Stream B with 25% channel capacity would look better than Stream A (after scaling) with 100% channel capacity. I think this highly depends on the codec and scaling algorithm, and saturation of the channel.

To come to the question on whether negotiation of the video size is needed: I feel that it could be a useful feature. Even if the channel allows streaming the 640x480 version without congestion problems now, where is the guarantee that it will not happen later? Probably there will be multiple video streams (at least partially) using the same path. If congestion happens later, the codec bitrate of multiple streams may need to be reduced. How to know from which streams the bitrate needs to be reduced? It seems to be better to prevent this and use a reduced codec bitrate from the start for those streams that are known not to require a higher bitrate.

However, whether we can cater for this also depends on the actual technical solution for negotiation and which codec to use. If adding video size negotiation will not increase complexity too much, I see no reason not to do it. However, if it adds much complexity to the solution, we might need to consider whether it is worth it. Therefore, maybe it should not be a requirement, but something weaker; i.e. it could be phrased as a SHOULD rather than a MUST.

Best regards,
Bert


-----Original Message-----
From: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] On Behalf Of Cullen Jennings
Sent: 22 June 2011 00:11
To: Aron Rosenberg
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Changing video size (Re: use case:)


On Jun 20, 2011, at 1:30 , 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> 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.

Consider two different video flows using the same codec ...

Stream A is 640 x 480 at 1mbps which is this scaled to 320x240 and displayed

Stream B is 320 x 240 at 1mbps which is displayed at 320x240. 

My experience has been with modern video codecs that stream B will look better than stream A. As well as looking better, it will typically also have a better PSNR. There's a bunch of reasons why which are probably not worth going into here but give it a try and you will see what I mean. The key point is both streams where 1mbps. If stream B was sent at 256 kbps, then A would look better. 




_______________________________________________
rtcweb mailing list
rtcweb@ietf.org
https://www.ietf.org/mailman/listinfo/rtcweb