Re: [codec] #19: How large is the frame size depended delay / the serialization delay / frame size depended processing delay?
"codec issue tracker" <trac@tools.ietf.org> Mon, 24 May 2010 14:22 UTC
Return-Path: <trac@tools.ietf.org>
X-Original-To: codec@core3.amsl.com
Delivered-To: codec@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 7AF2F3A6D5A for <codec@core3.amsl.com>; Mon, 24 May 2010 07:22:29 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -99.894
X-Spam-Level:
X-Spam-Status: No, score=-99.894 tagged_above=-999 required=5 tests=[AWL=-2.194, BAYES_50=0.001, MANGLED_WRLDWD=2.3, NO_RELAYS=-0.001, USER_IN_WHITELIST=-100]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HgElp6sLIA74 for <codec@core3.amsl.com>; Mon, 24 May 2010 07:22:20 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id 17A843A6944 for <codec@ietf.org>; Mon, 24 May 2010 07:21:58 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.71) (envelope-from <trac@tools.ietf.org>) id 1OGYXO-00041N-OB; Mon, 24 May 2010 07:21:50 -0700
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: codec issue tracker <trac@tools.ietf.org>
X-Trac-Version: 0.11.7
Precedence: bulk
Auto-Submitted: auto-generated
X-Mailer: Trac 0.11.7, by Edgewall Software
To: hoene@uni-tuebingen.de
X-Trac-Project: codec
Date: Mon, 24 May 2010 14:21:50 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/codec/trac/ticket/19#comment:4
Message-ID: <071.9ea7ae626659c7d13ac94a0416b13f7b@tools.ietf.org>
References: <062.f8b0d2abf056a9655a81ee25366bb354@tools.ietf.org>
X-Trac-Ticket-ID: 19
In-Reply-To: <062.f8b0d2abf056a9655a81ee25366bb354@tools.ietf.org>
X-SA-Exim-Connect-IP: ::1
X-SA-Exim-Rcpt-To: hoene@uni-tuebingen.de, codec@ietf.org
X-SA-Exim-Mail-From: trac@tools.ietf.org
X-SA-Exim-Scanned: No (on zinfandel.tools.ietf.org); SAEximRunCond expanded to false
Cc: codec@ietf.org
Subject: Re: [codec] #19: How large is the frame size depended delay / the serialization delay / frame size depended processing delay?
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.9
Reply-To: codec@ietf.org
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/codec>
List-Post: <mailto:codec@ietf.org>
List-Help: <mailto:codec-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/codec>, <mailto:codec-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 24 May 2010 14:22:31 -0000
#19: How large is the frame size depended delay / the serialization delay / frame size depended processing delay? ------------------------------------+--------------------------------------- Reporter: hoene@… | Owner: Type: enhancement | Status: new Priority: minor | Milestone: Component: requirements | Version: Severity: - | Keywords: ------------------------------------+--------------------------------------- Comment(by hoene@…): [Cullen]: This does not match the measurements I have. And I certainly don't have 100+ year voip experience but I do have two of the #1 selling enterprise phones connected to an oscilloscope. Test with other phones suggest most the major vendors of IP hard phones have fairly comparable performance when it comes to delay. [Raymond]: Hmm... That's interesting. Would you please share more details of your measurement equipment setup, the codec used, the codec frame size, the number of codec frames in each packet, the way you measured the delay, and the measured delay value, etc.? [Cullen]: Sure - it's really simple to set up. I use a signal generator that makes a tone burst. Typically I do something like 550 Hz tone that is a 200 ms long burst that occurs once a second. I play this into a speaker near the microphone on one phone and also put it into 1 channel of a scope. I think put a microphone near the speaker of the other phone and put that on another channel of the scope and measure the mouth to ear delay. It's really easy to see the starts of the two bursts from the speaker and microphone and measure the delay within a few ms. I've done lots of clever things over the years using stats from software in the phones but this technique is easy and pretty fool proof on getting good results. The phones were plugged into Netgear 100Mbps hub as I sometimes look at the timing of the ethernet packets too. I set up phones for G.711, one frame per packet - I choose this as it is easy to change the length of each frame but results are similar with other codecs. I was using two Cisco 7960 phones - no idea what version of the software and may have been a development build but it's pretty unlikely that current production software would have different results from what I tested. I set the phones for G.711 with 20 ms packets, measured delay, then set the phones for 30 ms packets and measured delay. For a given packet length, when I make multiple phone calls or reboot one of the phones, the measurements stay consistent. The resulting change in delay between the two experiments was much less than 30ms that a (3x 30 ms - 3 x 20 ms) would have predicted. I feel like a total tool not providing the details of the exact measurements but lots of measurements like this Cisco considers confidential and I'm just not up to arguing with folks about what can and can not be said publicly. I probably should have done a test with 10 ms packets too but I did not. Yes I realize how nuts it is to consider something that anyone can easily measure as confidential. If anyone really cares, I will go do the work to be able to provide the numbers. [Raymond]: I didn't come up with this 3*(codec frame size) delay number for IP phones myself. A very senior technical lead in Broadcom's IP phone chips group told me that, and Broadcom is currently the #1 world- wide market share leader in IP phone chips, accounting for more than half of the world's IP phone chip shipments. Most of the world's tier-1 IP phone manufacturers use our IP phone chips at least in some of their product lines. In my original email discussion of VoIP gateways, I did not use the phrase "ultra-low delay". What I did say was that due to the large number of voice channels that the DSPs and the (possibly two layers of) micro- controllers have to handle simultaneously, the timing/scheduling can be quite complex, and the necessary buffering at the (possibly three) hierarchical layers of processors can add substantial delay. Therefore, the worst-case codec-dependent one-way delay may be up to 5X to 6X the codec frame size before delay optimization, and even after the engineers "optimize the delay to death", they could only manage to get the worst-case codec-dependent delay down to around 3X codec frame size. Again, I didn't come up with that myself. A senior technical guy who was deeply involved in high-density VoIP gateway designs told me that, and another technical guy who worked at a different company than the first guy and who was involved in the design of a different VoIP gateway based on a different DSP chip and a different system architecture independently gave me a range of codec-dependent one-way delay around 3X codec frame size, and he didn't know that I talked to the first guy. Due to this 3X multiplier, an increase in the codec frame size will have a larger delay impact in VoIP gateways than, say, a softphone that has a lower multiplier. [Koen]: Still: - You've presented no satisfactory explanation for your theory - Nor any verifiable empirical evidence - It comes from an anonymous source - It has changed over time (going from 5x to 3x) - It goes against accepted wisdom [Christian]: some recent studies on the speech quality of gateways and IP phones are present in http://www.head- acoustics.de/telecomfiles/5th_ETSI_SQTE_Anonymous_Test_Report.doc Please have a look at the document first... At the first glance, I did see evidence for the 3x factor for IP gateways. The best in class at a 40.4 ms one-way delay for G.711 (20ms packets) and a 54.3 ms delay for G.729 (20ms packets) referring to Tables 4.1 and 4.2. The algorithmic delay of G.729 is 15ms (5ms lookahead). Thus, the algorithmic delay was 20ms for G.711 (plus an unknown delay of PLC) and 25ms for G.729. Thus, a factor of 3 seems to be valid (5msx2,9=53,3-40,4) [Mikael]: One-way delay of 40.4ms for G.711 sounds like 20ms for packet size and 20ms for jitter buffer. I wouldn't call that "algorithmic delay", that's packet and jitter buffer delay, "algorithmic delay" for G.711 should be "zero" or am I getting the concepts wrong (since it doesn't do any compression). [Roman]: This is a great discussion, but I don't see how it is relevant. If the question is should the new CODEC support 5 ms frames, then the answer is probably yes. If there a compelling reason (like achieving better quality or having algorithm delay that makes this irrelevant) we might agree to a bigger minimum frame size. If the question is if the CODEC should support 20ms and bigger compound frames, then the answer is absolutely yes. There are use cases for both. I guess, the only question for me, is if in case of 5 ms frames we care about compression. The packet header overhead is fairly big that you might use PCMU in this case. P.S. From what I know about soft phones the delay component dependent on frame size is 1x. There are other delay components, but they are not frame size dependent. [Stephen]: Total algorithmic delay for G.711 should be no more than .125 ms, total algorithmic delay for G.729 is 20 ms (15 ms per frame and 5 ms look- ahead). References are here: http://en.wikipedia.org/wiki/G.711 http://en.wikipedia.org/wiki/G.729 [Frank Kettler] We did not explicitly verify the relation between algorithmic delay and the measured delay, because all manufactures typically built "something around". We tested "end products" (gateways, IP phones, ...) and there might always be some internal overhead compared to pure coders... [Raymond]: I agree with Roman that this 1X versus 3X debate has reached a point that it is almost irrelevant. What's really relevant now is the question of whether the IETF codec should have a low-delay mode with a codec frame size of 5 to 10 ms, and for that question you previously wrote on May 6: CONSENSUS: No further discussions and clarifications on this issues. -- Ticket URL: <http://trac.tools.ietf.org/wg/codec/trac/ticket/19#comment:4> codec <http://tools.ietf.org/codec/>
- [codec] #19: How large is Serialization delay? codec issue tracker
- Re: [codec] #19: How large is Serialization delay? stephen botzko
- Re: [codec] #19: How large is the frame size depe… codec issue tracker
- Re: [codec] #19: How large is the frame size depe… codec issue tracker
- Re: [codec] #19: How large is the frame size depe… codec issue tracker
- Re: [codec] #19: How large is the frame size depe… codec issue tracker
- Re: [codec] #19: How large is the frame size depe… codec issue tracker
- Re: [codec] requirements #19 (new): How large is … codec issue tracker