Re: [rtcweb] More H.264 vs VP8 tests

Harald Alvestrand <harald@alvestrand.no> Mon, 24 June 2013 22:00 UTC

Return-Path: <harald@alvestrand.no>
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 6B66C21E810C for <rtcweb@ietfa.amsl.com>; Mon, 24 Jun 2013 15:00:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, USER_IN_WHITELIST=-100]
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 AYa1S5edB3ob for <rtcweb@ietfa.amsl.com>; Mon, 24 Jun 2013 14:59:54 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id EFFC011E818C for <rtcweb@ietf.org>; Mon, 24 Jun 2013 14:59:53 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id B476439E12F for <rtcweb@ietf.org>; Mon, 24 Jun 2013 23:59:52 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id jQ5caegeIzBj for <rtcweb@ietf.org>; Mon, 24 Jun 2013 23:59:51 +0200 (CEST)
Received: from [192.168.1.17] (unknown [188.113.88.47]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id 8775539E095 for <rtcweb@ietf.org>; Mon, 24 Jun 2013 23:59:51 +0200 (CEST)
Message-ID: <51C8C16B.4070405@alvestrand.no>
Date: Tue, 25 Jun 2013 00:00:11 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <BBE9739C2C302046BD34B42713A1E2A22DECC12F@ESESSMB105.ericsson.se> <CAGgHUiRmAu_8R53qZnmTFHE3016sFSD+FtZ=zTG1wjBjRxL3MA@mail.gmail.com> <1447FA0C20ED5147A1AA0EF02890A64B1C3020B6@ESESSMB209.ericsson.se>
In-Reply-To: <1447FA0C20ED5147A1AA0EF02890A64B1C3020B6@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 8bit
Subject: Re: [rtcweb] More H.264 vs VP8 tests
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: Mon, 24 Jun 2013 22:00:02 -0000

First of all, Bo, thanks for running the tests, and for making the 
results fully open!

On 06/24/2013 01:33 PM, Stefan Håkansson LK wrote:
> On 2013-06-22 18:54, Leon Geyser wrote:
>> Hi Bo,
>>
>> Thanks for the additional testing done.
>>
>> I am not 100% why we have to test with fixed qp-levels when WebRTC is
>> going to be used over the internet. I would assume that WebRTC would be
>> used over the internet...
>> My understanding of rate-control might be completely wrong. Why test
>> modes that might not even be used in real-world scenarios?
> Hi Leon (responding for Bo who is enjoying his vacation),
>
> you are absolutely right, these codecs are going to be used with
> rate-controllers when deployed in the real world. However, we still do
> not think it is a good idea having rate control turned on when comparing
> them. The reason is that the rate controller influences the quality so
> much that it is very hard to get any comparable signal if you include
> them. Let me give you one example; let's say that you use the same
> codec, but two different rate controllers. Rate control A is very
> liberal with its bits in the beginning of the sequence, whereas rate
> control B is very frugal. On a video conferencing type sequence, where
> the camera is static and not much is happening, rate control A will win
> by a huge margin over rate control B. The reason is that the first frame
> will be encoded very well and this data can be used during the remainder
> of the sequence. Rate control B will not be able to stand a chance, even
> though it has more bits for the remaining images.  And this is with the
> same video codec!

This would seem to me to be an argument for including the rate 
control.... what we are looking for is the codec where people can 
demonstrate the best performance for our specific situations, not the 
codec that is best able to fulfil a set of conditions that are 
inappropriate for Real Life.

For the example you give, the bit division between the I-frame/key-frame 
and the subsequent frames is not just influenced by the chosen Q value - 
it's also influenced by codec design.

What will happen in a video conference scenario if someone uses this 
rate packing too much is that the I-frame takes a long time to transmit, 
because the available bit rate is in the ramp-up phase; if we wanted to 
make realistic scenario settings, we should probably draw constraints 
around the delay in delivering the second frame under specified 
bandwidth conditions.

But on the other hand, people may find a delay to the second frame quite 
acceptable, and your "rate control A" is indeed the one that is most 
reasonable to use.

>
> We could of course try to make sure that the two rate controllers have
> similar settings; however, since they are not identical they cannot be
> made to work exactly the same. Even small changes in rate control
> settings could have a huge effect on the end result.
>
> Rather than trying to make two pieces of software work the same, it is
> much easier to just shut off the rate controllers. This gives a direct
> measurement of the relative strengths of the codecs. This is also the
> reason why organizations such as JC-TVC have used this method to compare
> their codecs.

And it's going to be discussed there.... I'll be late for the Berlin 
IETF meeting because I have to be at the MPEG meeting in Vienna to 
present Google's formal submission of VP8 to MPEG. The use or non-use of 
variable QP will probably be an item of debate .... again.

The IETF has not started down the path of defining test conditions under 
which it wishes to measure codec performance; I think we do have rough 
consensus that the technical differences are not so great as to make a 
decisive difference between the proposed codecs - while the IPR 
differences are all too well known to us, and do matter enough to make a 
decisive difference to a lot of us.

                Harald