Re: [codec] #16: Multicast?
Koen Vos <koen.vos@skype.net> Sun, 25 April 2010 19:25 UTC
Return-Path: <koen.vos@skype.net>
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 4A48C3A6942 for <codec@core3.amsl.com>; Sun, 25 Apr 2010 12:25:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.599
X-Spam-Level:
X-Spam-Status: No, score=-4.599 tagged_above=-999 required=5 tests=[AWL=-0.600, BAYES_50=0.001, RCVD_IN_DNSWL_MED=-4]
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 TKIAOc0RvZPx for <codec@core3.amsl.com>; Sun, 25 Apr 2010 12:25:08 -0700 (PDT)
Received: from mail.skype.net (mail.skype.net [212.187.172.39]) by core3.amsl.com (Postfix) with ESMTP id C2CB33A6A88 for <codec@ietf.org>; Sun, 25 Apr 2010 12:24:46 -0700 (PDT)
Received: from mail.skype.net (localhost [127.0.0.1]) by mail.skype.net (Postfix) with ESMTP id 76C4C60133166; Sun, 25 Apr 2010 20:24:34 +0100 (IST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=skype.net; h=message-id :date:from:to:cc:subject:references:in-reply-to:mime-version :content-type:content-transfer-encoding; s=mail; bh=UofpYB1j8OyK NZNGbG80TjHgYP8=; b=O5hl8CiFgr3wWgJszNt74q1kYIeyrtW2U5ZxhDdsYqFE JpOADf4EbOemcZSVqaIDmVRihArhBjTE0Jz4+XKM6IBOQooi/TRU7T/p5uveKoTO yWCW+FQ7CNwiZ/R85aHhZRStStvKO/0OvUIGj4cpQMImutX27ywAoRE4IyvYQJE=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=skype.net; h=message-id:date:from :to:cc:subject:references:in-reply-to:mime-version:content-type: content-transfer-encoding; q=dns; s=mail; b=wD7231gFXCr4uy8kbOQr cvUZvFbkEeCUHQCDNdrRcsWjL0JAkuLbVbfh52I39BfGd5Sf8TtZbjY/jUjk8TFl wz75vg4h+xsjvbK/jKWxbH2oQFlYoj26bc7ZnQ7zBLEUAPMxSqr1pUqjoF7s3RH2 PDultUQiPJAmhg1JEoPwkPs=
Received: from localhost (localhost [127.0.0.1]) by mail.skype.net (Postfix) with ESMTP id 74C9D60133110; Sun, 25 Apr 2010 20:24:34 +0100 (IST)
X-Virus-Scanned: Debian amavisd-new at dub-mail.skype.net
Received: from mail.skype.net ([127.0.0.1]) by localhost (dub-mail.skype.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GIezJ24JtgZf; Sun, 25 Apr 2010 20:24:29 +0100 (IST)
Received: by mail.skype.net (Postfix, from userid 33) id 0C65860133168; Sun, 25 Apr 2010 20:24:29 +0100 (IST)
Received: from adsl-71-141-115-202.dsl.snfc21.pacbell.net (adsl-71-141-115-202.dsl.snfc21.pacbell.net [71.141.115.202]) by mail.skype.net (Horde Framework) with HTTP; Sun, 25 Apr 2010 12:24:29 -0700
Message-ID: <20100425122429.2136460zti0p5fjh@mail.skype.net>
Date: Sun, 25 Apr 2010 12:24:29 -0700
From: Koen Vos <koen.vos@skype.net>
To: "Raymond (Juin-Hwey) Chen" <rchen@broadcom.com>
References: <062.7439ee5d5fd36480e73548f37cb10207@tools.ietf.org> <3E1D8AD1-B28F-41C5-81C6-478A15432224@csperkins.org> <D6C2F445-BE4A-4571-A56D-8712C16887F1@americafree.tv> <C0347188-A2A1-4681-9F1E-0D2ECC4BDB3B@csperkins.org> <u2x6e9223711004210733g823b4777y404b02330c49dec1@mail.gmail.com> <000001cae173$dba012f0$92e038d0$@de> <r2q6e9223711004211010gfdee1a70q972e8239fef10435@mail.gmail.com> <001101cae177$e8aa6780$b9ff3680$@de> <t2t6e9223711004211119i6b107798pa01fc4b1d33debf1@mail.gmail.com> <002d01cae188$a330b2c0$e9921840$@de> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A017@IRVEXCHCCR01.corp.ad.broadcom.com> <4BD11C50.2020206@usherbrooke.ca> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A270@IRVEXCHCCR01.corp.ad.broadcom.com> <20100424135607.84293hkaa13j1zvr@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A289@IRVEXCHCCR01.corp.ad.broadcom.com> <20100424181620.352034g28cnjr010@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A290@IRVEXCHCCR01.corp.ad.broadcom.com>
In-Reply-To: <CB68DF4CFBEF4942881AD37AE1A7E8C74AB3F4A290@IRVEXCHCCR01.corp.ad.broadcom.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="ISO-8859-1"; DelSp="Yes"; format="flowed"
Content-Disposition: inline
Content-Transfer-Encoding: 7bit
User-Agent: Internet Messaging Program (IMP) H3 (4.3.4)
Cc: "codec@ietf.org" <codec@ietf.org>
Subject: Re: [codec] #16: Multicast?
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
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: Sun, 25 Apr 2010 19:25:10 -0000
Hi Raymond, Jitter buffers have no problem implementing a non-integer-frame delay, because packets are queued and read non-synchronously. Processing time matters on low-end hardware - a small fraction of today's VoIP end points. Even then, the higher coding efficiency of longer frames can be translated into lower complexity. And transmission delay increases (perhaps) linearly with the *packet size*, not with the *frame size*. For a 32 kbps codec with 5 ms frames, packets are just 30% smaller than with a 16 kbps codecs with 20 ms frames. Let me ask you something: how often is G.729 used with 10 ms packets, or Broadvoice with 5 ms packets? best, koen. Quoting "Raymond (Juin-Hwey) Chen": > Hi Koen, > > > > My comments in-line below. > > > > Best Regards, > > > > Raymond > > > > -----Original Message----- > From: Koen Vos [mailto:koen.vos@skype.net] > Sent: Saturday, April 24, 2010 6:16 PM > To: Raymond (Juin-Hwey) Chen > Cc: codec@ietf.org > Subject: RE: [codec] #16: Multicast? > > > > Quoting "Raymond (Juin-Hwey) Chen": > >> My main point, though, is not in the exact one-way delay value for a > >> codec with a 5 ms frame size, but rather that with a 5 ms frame size > >> you can get a much lower one-way delay than with a 20 ms frame size. > > > > It would be about 15 ms lower - don't know if that counts as "much" :) > > > > [Raymond]: I don't agree that it will be only 20 - 5 = 15 ms lower. > That will be true only if your one-way delay formula below is true, > but theoretically it cannot be. See my comment below your formula. > > > > Also, note that for a given probability of packets arriving too late > > to be played out, the jitter buffer delay is independent of the frame > > size. > > [Raymond]: That may be true theoretically, but in practical > implementations, selecting a jitter buffer delay that is not > divisible by the packet size would make the adaptive jitter buffer > pretty messy to implement. If we make the it divisible by the > packet size, then a smaller packet size gives you more granularity > to work with and can result in lower average delay as the codec > frames go through the adaptive jitter buffer. > > > >>> - most delay comes from the network and is not codec related, and > >>> - one-way delay grows almost linearly with frame size. > >> > >> Doesn't your last line above contradicts with the second last line? > > > > I meant that approximately: > > one-way delay = codec-independent delay + frame size > > > > ("codec algorithmic delay" would be more accurate than "frame size") > > > > [Raymond]: First, I agree that codec algorithmic buffering delay is > more accurate than frame size since it can also include the > "look-ahead" delay and filtering delay if sub-band > analysis/synthesis is used. However, your formula implies that for > the codec-related delay, the "multiplier" to be used for the codec > frame size is only 1. That's unrealistic and theoretically > impossible. For that to happen, after you wait one frame of time > for the current frame of input audio samples to arrive at your input > signal buffer (that's one frame of codec-related delay already), you > need an infinitely fast processor to finish the encoding operation > instantly, then you need an infinitely fast communication link to > ship all the bits in the compressed frame to the decoder instantly, > and then you need an infinitely fast processor to finish decoding > the frame instantly and start playing back the current frame of > audio without any delay. That's just impossible. > > In reality, if the processor is just barely fast enough to implement > the codec in real time, then you need nearly a full frame of time to > finish the encoding and decoding operations. That makes the > multiplier to be 2 already. If your communication link is just > barely fast enough to transmit your packets at the same speed they > are generated without piling up unsent packets, then it takes > another frame of time to finish transmitting the compressed bits in > a frame to the decoder. That makes the multiplier to be 3 already. > > Granted, in practice the processor and the communication link are > usually faster than just barely enough, so the processing delay and > the transmission delay can be less than 1 frame each. However, > there are other miscellaneous uncounted delays that tends to depend > on the codec size in various ways. Thus, a typical IP phone > implementation would have > > One-way delay = codec-independent delay + 3*(codec frame size) + > (codec look-ahead) + (codec filtering delay if any). > > Hence, the one-way delay difference between a 20 ms and a 5 ms codec > frame size would be 45 ms + (codec look-ahead difference) + (codec > filtering delay difference). > > Consequently, for the conference bridge application, the total > difference in one-way delay can easily be in the 90 to 100 ms range. > When adding this delay difference to all the other codec-independent > delay components, it is still a huge difference that the users can > easily notice, especially since it will most likely push the total > one-way delay significantly beyond the 150 ms limit. > > > >> I am aware of a header compression technology for VoIP over Cable > >> applications that can compress the header size to a very small > >> fraction of the original size, but it is probably not widely used. > > > > Yes, header compression works between end-points on a cable. That's > > different from "between arbitrary Internet end points". > > > > [Raymond]: The cable operators' networks are still IP networks. If > the technology can work there, I don't see why it cannot work > elsewhere in the Internet. I know it is currently not available > between arbitrary Internet end points. I am just saying that > technologies exist that can potentially be deployed in the Internet > to compress the packet headers to a very small fraction of the > uncompressed headers. > > > > best, > > koen. > > >
- [codec] #16: Multicast? codec issue tracker
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? Colin Perkins
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? (Bluetooth) Koen Vos
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? (Bluetooth) Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? (Bluetooth) stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? (USB) Roni Even
- Re: [codec] #16: Multicast? codec issue tracker
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Mikael Abrahamsson
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? (Bluetooth) Koen Vos
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #19: How large is the frame size depe… Christian Hoene
- Re: [codec] #19: How large is the frame size depe… stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #19: How large is the frame size depe… Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? (Bluetooth) Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Gregory Maxwell
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Benjamin M. Schwartz
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Kevin P. Fleming
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Ben Schwartz
- Re: [codec] #16: Multicast? Marshall Eubanks
- Re: [codec] #16: Multicast? Brian Rosen
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] #20: Computational complexity? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] Thresholds and delay. jari.hagqvist
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] Thresholds and delay. Ben Schwartz
- Re: [codec] Thresholds and delay. Marshall Eubanks
- Re: [codec] Thresholds and delay. stephen botzko
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] Thresholds and delay. Michael Knappe
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Delay factor: algorithmic delay … Christian Hoene
- Re: [codec] #16: Delay factor: algorithmic delay … Mikael Abrahamsson
- Re: [codec] #16: Delay factor: algorithmic delay … Roman Shpount
- Re: [codec] #16: Delay factor: algorithmic delay … stephen botzko
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Cullen Jennings
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Koen Vos
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Herve Taddei
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Jean-Marc Valin
- Re: [codec] #16: Multicast? Sandy (Alexander) MacInnis
- Re: [codec] #16: Multicast? Christian Hoene
- Re: [codec] #16: Multicast? Raymond (Juin-Hwey) Chen
- Re: [codec] #16: Multicast? Roman Shpount
- Re: [codec] #16: Multicast? Herve Taddei
- Re: [codec] #16: Multicast? Cullen Jennings
- [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Michael Knappe
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... stephen botzko
- Re: [codec] Suggested summary... Raymond (Juin-Hwey) Chen
- Re: [codec] Suggested summary... Christian Hoene
- Re: [codec] Suggested summary... Herve Taddei
- Re: [codec] Suggested summary... Raymond (Juin-Hwey) Chen