Re: [rtcweb] Transcoding

"Espen Berger (espeberg)" <espeberg@cisco.com> Wed, 15 January 2014 15:59 UTC

Return-Path: <espeberg@cisco.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5CE011AE3AD for <rtcweb@ietfa.amsl.com>; Wed, 15 Jan 2014 07:59:34 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -13.839
X-Spam-Level:
X-Spam-Status: No, score=-13.839 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, J_CHICKENPOX_21=0.6, J_CHICKENPOX_66=0.6, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.538, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id aH7BOZcIGaAl for <rtcweb@ietfa.amsl.com>; Wed, 15 Jan 2014 07:59:33 -0800 (PST)
Received: from rcdn-iport-2.cisco.com (rcdn-iport-2.cisco.com [173.37.86.73]) by ietfa.amsl.com (Postfix) with ESMTP id 00C491AE3A7 for <rtcweb@ietf.org>; Wed, 15 Jan 2014 07:59:32 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=3369; q=dns/txt; s=iport; t=1389801561; x=1391011161; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=+XadSKt7raBE0e1ha4rsSTwCpDr5SYHqeZYuQ/umMIs=; b=BewmC5scVZGEBrmO/e4yYak439MfoG5xnsx+iCGXCwYVEMn9ITrKnTmz y7H5Q9o5eGyN0pwhPNHs9V8fMfCb/1nOKkMrzj/qHnSHcXTfi25nF98bD lkFvtTHi/O3U9mbzLk//ul1n6QLedciWvN/CRV4Pim8eRi0yXAIt/d5aO w=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AgUFAEmv1lKtJV2Z/2dsb2JhbABZgwuBDrp/gRUWdIIlAQEBAwE6PwUHBAIBCBEBAwEBAQoUCQcyFAMGCAIEDgUIh3QIxDEXjk4xBwaDHoETAQOUOpV7gy2CKg
X-IronPort-AV: E=Sophos;i="4.95,663,1384300800"; d="scan'208";a="297469966"
Received: from rcdn-core-2.cisco.com ([173.37.93.153]) by rcdn-iport-2.cisco.com with ESMTP; 15 Jan 2014 15:59:19 +0000
Received: from xhc-aln-x11.cisco.com (xhc-aln-x11.cisco.com [173.36.12.85]) by rcdn-core-2.cisco.com (8.14.5/8.14.5) with ESMTP id s0FFxJHW002647 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Wed, 15 Jan 2014 15:59:19 GMT
Received: from xmb-rcd-x11.cisco.com ([169.254.1.68]) by xhc-aln-x11.cisco.com ([173.36.12.85]) with mapi id 14.03.0123.003; Wed, 15 Jan 2014 09:59:19 -0600
From: "Espen Berger (espeberg)" <espeberg@cisco.com>
To: John Leslie <john@jlc.net>
Thread-Topic: [rtcweb] Transcoding
Thread-Index: AQHPD9jDYNMpeFfzQkOXr3v53ppR25qB+uQAgACEcYD//9h6kIAD5FOA//+z+oA=
Date: Wed, 15 Jan 2014 15:59:18 +0000
Message-ID: <E8F5F2C7B2623641BD9ABF0B622D726D2B5236F3@xmb-rcd-x11.cisco.com>
References: <20140112205608.GG47523@verdi> <CAD6AjGQ7X-h9oNtVwztSv5wkmvPAo0Fto=L=6VKuM1WnWe8bwQ@mail.gmail.com> <20140113050631.GH3245@audi.shelbyville.oz> <E8F5F2C7B2623641BD9ABF0B622D726D2B5192DB@xmb-rcd-x11.cisco.com> <20140115141103.GC8358@verdi>
In-Reply-To: <20140115141103.GC8358@verdi>
Accept-Language: nb-NO, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.147.113.229]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Transcoding
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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, 15 Jan 2014 15:59:34 -0000

Comments inline. 

-----Original Message-----
From: John Leslie [mailto:john@jlc.net] 
Sent: 15. januar 2014 15:11
To: Espen Berger (espeberg)
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Transcoding

Espen Berger (espeberg) <espeberg@cisco.com> wrote:
> 
> Comments on transcoding based on testing in lab and research. 

   :^)

> *  In side by side comparison, single encode/decode and
>    encode/transcode/decode we can see that the untranscoded video
>    stream can be 20-35% lower bitrate and give the same visual quality...

   This tradeoff will be acceptable in many cases, IMHO.

> * Lip-sync should be within 50 ms, this is the conclusion from a
>   Norwegian based ph.d student and also recommendation from EBU...

   The EBU document discusses HDTV programming (and indeed recommends audio no more than 5 msec early or 15 msec late). They claim to base this on failure of lip-sync becoming "perceptable to 50% of observers".

EBE>> The section I read was overall lip-sync at playout time should not exceed -40 to +60 ms offset. This is also in line with the PH.d work I have seen. 

   The 50 msec number seems plausible, but I have no basis to judge.

   Lip-sync can always be accomplished by delaying one or the other:
this gives us a trade-off (which I'd prefer to be under application control).
EBE>> Robust lip-sync should happen at the playout step, to handle various latency differences between audio and video related to transport, jitter buffer handling, decode or playout.  

> * Advanced media resilience techniques like LTRF, disposable frames
>   and more are hard to map between different video codecs, so
>   transcoding will likely reduce robustness for packet loss. 

   (discussed elsewhere)

> * Transcoding adds delay, between 60 - 200 ms  (depending on packet
>   loss and implementation).

   I have no basis to judge those numbers; but they seem high.
EBE>> I do not have a break down of what take time, but encoding of 1080p60 video takes a fair amount of time even on modern  CPU architecture. The longer delays are typically to handle receiver based packet loss and/or packet out-of-order, which is impacting your jitter buffer handling.  My point with transcoding overhead is packet re-ordering might have a higher impact in latency than the actual CPU time to do a decode+encode. 

>   This has an impact since camera to screen latency should be below
>   300 ms to get a smooth conversation between to participants in a
>   video call. Test on people shows that glass to glass latency
>   should be below 330 ms, to avoid latency to be noticed.  

   Do you have a source for that?

   My gut-feel is that folks will tolerate at least 200 msec glass-to- glass, but have problems when mouth-to-ear exceeds 150 msec. Alas I don't have a source for that... :^(

EBE>> Unfortunately,  I cannot find an online source for my statement. 

> All in all we should avoid transcoding for video conferencing use 
> cases to get to a good user experience.

   I quite agree it's worth "avoiding" -- but that's not at all the same as saying we should try to prevent it.

EBE>> Nothing is preventing us from doing transcoding here, it's more that transcoding has impact. 

--
John Leslie <john@jlc.net>