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.
>
>
>