
From jdrosen@jdrosen.net  Thu Jun 17 19:36:41 2010
Return-Path: <jdrosen@jdrosen.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 8211C3A685C for <codec@core3.amsl.com>; Thu, 17 Jun 2010 19:36:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.346
X-Spam-Level: 
X-Spam-Status: No, score=-1.346 tagged_above=-999 required=5 tests=[AWL=1.254,  BAYES_00=-2.599]
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 HkfB+KIHfpQX for <codec@core3.amsl.com>; Thu, 17 Jun 2010 19:36:39 -0700 (PDT)
Received: from ecbiz71.inmotionhosting.com (ecbiz71.inmotionhosting.com [173.205.124.201]) by core3.amsl.com (Postfix) with ESMTP id F17F83A6784 for <codec@ietf.org>; Thu, 17 Jun 2010 19:36:38 -0700 (PDT)
Received: from pool-173-63-40-38.nwrknj.fios.verizon.net ([173.63.40.38] helo=[192.168.1.7]) by ecbiz71.inmotionhosting.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <jdrosen@jdrosen.net>) id 1OPRRL-0005sm-R9 for codec@ietf.org; Thu, 17 Jun 2010 22:36:19 -0400
Message-ID: <4C1ADBBA.6030401@jdrosen.net>
Date: Thu, 17 Jun 2010 22:36:42 -0400
From: Jonathan Rosenberg <jdrosen@jdrosen.net>
User-Agent: Thunderbird 2.0.0.24 (Windows/20100228)
MIME-Version: 1.0
To: codec@ietf.org
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - ecbiz71.inmotionhosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jdrosen.net
Subject: [codec] Liaison statements to 3gpp, ITU and ISO/IEC
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: Fri, 18 Jun 2010 02:36:41 -0000

Last year, the IETF received liaison statements from ITU, ISO/IEC and 
3gpp about the codec working group. With the group finally formed, the 
chairs replied to those liaison statements last month. You can find a 
copy of the liaison statements, along with the responses since then, on 
a new wiki page I set up to track the liaisons:

http://trac.tools.ietf.org/wg/codec/trac/wiki/Liaisons

Thanks,
Jonathan R.
-- 
Jonathan D. Rosenberg, Ph.D.                   SkypeID: jdrosen
Chief Technology Strategist                    Mobile: +1 (732) 766-2496
Skype                                          SkypeIn: +1 (408) 465-0361
jdrosen@skype.net                              http://www.skype.com
jdrosen@jdrosen.net                            http://www.jdrosen.net



From fluffy@cisco.com  Mon Jun 21 10:20:54 2010
Return-Path: <fluffy@cisco.com>
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 7154228C11D for <codec@core3.amsl.com>; Mon, 21 Jun 2010 10:20:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.043
X-Spam-Level: 
X-Spam-Status: No, score=-110.043 tagged_above=-999 required=5 tests=[AWL=0.556, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, 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 s-n8xrjMALEt for <codec@core3.amsl.com>; Mon, 21 Jun 2010 10:20:53 -0700 (PDT)
Received: from sj-iport-5.cisco.com (sj-iport-5.cisco.com [171.68.10.87]) by core3.amsl.com (Postfix) with ESMTP id 1A40E28C11B for <codec@ietf.org>; Mon, 21 Jun 2010 10:20:53 -0700 (PDT)
Authentication-Results: sj-iport-5.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AvsEAJc8H0yrR7Hu/2dsb2JhbACfBnGpXJowhRsEg1Q
X-IronPort-AV: E=Sophos;i="4.53,454,1272844800"; d="scan'208";a="215498731"
Received: from sj-core-5.cisco.com ([171.71.177.238]) by sj-iport-5.cisco.com with ESMTP; 21 Jun 2010 17:21:00 +0000
Received: from [192.168.4.177] (rcdn-fluffy-8711.cisco.com [10.99.9.18]) by sj-core-5.cisco.com (8.13.8/8.14.3) with ESMTP id o5LHKxra006269; Mon, 21 Jun 2010 17:20:59 GMT
Mime-Version: 1.0 (Apple Message framework v1078)
Content-Type: text/plain; charset=us-ascii
Impp: xmpp:cullenfluffyjennings@jabber.org
From: Cullen Jennings <fluffy@cisco.com>
In-Reply-To: <002501cafdb4$09394810$1babd830$@de>
Date: Mon, 21 Jun 2010 11:20:58 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <56E363F9-AB88-43A3-8ECC-99A7E9796330@cisco.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> <12151537-165D-426A-B71F-8B3D76BE4854@cisco.com> <CB68DF4CFBEF4942881AD37AE1A7E8C74B901372FE@IRVEXCHCCR01.corp.ad.broadcom.com> <20100430230756.13687lc1s5o89gsc@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74B90345522@IRVEXCHCCR01.corp.ad.broadcom.com> <"CB68DF4! ! CFBEF49428 8C74B9043D 30 B"@IRVEXCHCCR01.corp.ad.broadcom.com> <909E12B9-984F-4051-A93E-2291EFE0A40E@cisco.com> <CB68DF4CFBEF4942881AD37AE1A7E8C74B9BE9EDB7@IRVEXCHCCR01.corp.ad.broadcom.com> <20100526151326.2882694zuaeslk3q@mail.skype.net> <CB68DF4CFBEF4942881AD37AE1A7E8C74B9BE9F2E7@IRVEXCHCCR01.corp.ad.broadcom.com> <20100526214255.206532jzf8wjld1r@mail.skype.net> <002901cafd89$acf402e0$06dc08a0$@de> <19367DD02EBD40829869907AEA0CE128@china.huawei.com> <000601cafd9b$148fd850$3daf88f0$@de> <568A92CB079CCF43BA5C8D7B08BCB4AE817DCBA900@SJEXCHCCR02.corp.ad.broadcom.com> <002501cafdb4$09394810$1babd830$@de>
To: Christian Hoene <hoene@uni-tuebingen.de>
X-Mailer: Apple Mail (2.1078)
Cc: 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: Mon, 21 Jun 2010 17:20:54 -0000

On May 27, 2010, at 9:48 AM, Christian Hoene wrote:

> So, we have consensus on=20
> 1) low delay mode
> 2) low complexity mode (whatever this means)
> 3) technical understanding on how latency sums up on different =
platforms

=46rom a Chair point of view, I don't think the Chairs could summarize =
or call consensus on these three - however, I'm not sure that matters. =
If you think a key piece of consensus has come out of this conversation =
and that it needs to captured in the archive, can you summarize what you =
think it is folks agree with and then the chairs can make some sort of =
consensus call.

Thanks, Cullen <with my chair hat on>
=20=

From trac@tools.ietf.org  Thu Jun 24 08:14:19 2010
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 E8B633A695A for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:14:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.162
X-Spam-Level: 
X-Spam-Status: No, score=-101.162 tagged_above=-999 required=5 tests=[AWL=-1.162, BAYES_50=0.001, 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 Bx5eYX9XiNAo for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:14:17 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id 693723A67F5 for <codec@ietf.org>; Thu, 24 Jun 2010 08:14:17 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.72) (envelope-from <trac@tools.ietf.org>) id 1ORo8G-0003Wn-1B; Thu, 24 Jun 2010 08:14:24 -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: Thu, 24 Jun 2010 15:14:23 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: https://wiki.tools.ietf.org/wg/codec/trac/ticket/14#comment:3
Message-ID: <071.d5a56e8e096e87a8ce25e5a26cfb89e1@tools.ietf.org>
References: <062.0a0a8ad9a1d9d19f0f66b4858f523549@tools.ietf.org>
X-Trac-Ticket-ID: 14
In-Reply-To: <062.0a0a8ad9a1d9d19f0f66b4858f523549@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] #14: VAD and CNG?
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: Thu, 24 Jun 2010 15:14:20 -0000

#14: VAD and CNG?
------------------------------------+---------------------------------------
 Reporter:  hoene@…                 |       Owner:     
     Type:  defect                  |      Status:  new
 Priority:  major                   |   Milestone:     
Component:  requirements            |     Version:     
 Severity:  -                       |    Keywords:     
------------------------------------+---------------------------------------

Comment(by hoene@…):

 [Brian]: I hope we are assuming VAD (or DTX) is negotiable.  It is
 essential (for emergency calls) that VAD is disabled.  While in many cases
 the endpoint will know that it is in an emergency call, and disable VAD,
 it is not always possible to know.
 ...
 When you make an emergency call, background is a very important source of
 information.  For example, if the call taker hears someone threaten the
 caller, that will inform the response.  Often the caller is in distress,
 and may put the phone down, or speak faintly.

 There are no laws or regulations governing this, but it really is 'best
 practice'.
 ...
 When you make an emergency call, background is a very important source of
 information.  For example, if the call taker hears someone threaten the
 caller, that will inform the response.  Often the caller is in distress,
 and may put the phone down, or speak faintly.  VAD will "zero out" the
 background sounds.

 [Hoene] I would say: This is a task of the phone to amplify the signal
 during an emergency call. Of course, the phone knows that a emergency has
 been called and that any vague signal can be of importance. It should then
 switch over to a emergency mode (disabling background-noise removals,
 changed automatic gain control, etc).

 This requirement needs not be covered by signaling nor codec. The phone
 can take care of it much better.

 [Mike]: I agree that VAD (or DTX) needs to be negotiable.
 Not to mention any possibility of chopping off a portion of a syllable
 here or there...

 [Ben]: Me too.  Specifically, I think that DTX should always be allowed
 within any stream.  The decoder always MUST correctly decode a stream with
 or without DTX, and the encoder SHOULD obey the decoder's preference for
 or against DTX, as expressed in SDP, unless there is a reason not to obey
 this preference.  Decoders MAY express no preference.

 In particular, decoders must handle adaptive jitter buffering properly
 with or without DTX.

 Examples: An encoder operating with push-to-talk hardware (microphone
 active only when a button is depressed) should always use DTX, regardless
 of decoder preference.

 A decoder that cares about average bandwidth should probably request DTX
 enabled, whereas a decoder that cares only about peak bandwidth should
 request DTX disabled.

 A decoder that cares about non-voice background sounds should request DTX
 disabled.

 [Hoene]: I do not like the idea that a user should decide on parameters
 that he does not understand.
 Can't we develop some intelligent, automatic decision on when to use DTX?
 For example, switch VAD on if
 a) if bandwidth is limited (dynamically controlled)
 b) if transmission energy needs to be saved on mobile devices
 (controlled/negotiated for both sender and receiver)
 c) if a lot of background noise is present (sender initiated, no
 negotiation required)
 d) if the background noise is important (sender initiated, e.g. emergency
 call, but then again, the sender can amplify the background noise instead)
 Shall the controlling/negotiation take place in-band or using SDP?

 [Brian]: I'll be happy to go into the details, but phones may not know
 they are in an emergency call.  No phone knows this today.  There is some
 proposed signaling that would tell them, IF the phone, and the service
 provider implement it, but even then, there are circumstances where the
 phone won't know.

 [Ben]: I think it's a good idea for the reference implementation to
 provide some intelligent heuristics for use of DTX, but these heuristics
 should not be a requirement of any RFC.

 [Hoene]:
 If(called.number==112 || called.number==911 || called.number=XYZ)
         EmergencyCall();
 See more at http://en.wikipedia.org/wiki/1-1-2
 It is so easy to know... I do not get your arguments.
 ...
 > We don't need to worry about the user interface, because in most cases
 there won't be one.

 Actually, I meant two kind of users: Those of the phone and those of the
 codec.

 ...
 Yes, you are true. But we must be precise. The requirement for some
 heuristics on how to set those parameters MUST be part of the requirements
 document. However, the heuristics NEED NOT to be implemented in every
 phone but the implementer CAN choose any superior algorithm to optimize
 particular application needs. Thus, a heuristic on how to select DTX
 should only ensure some minimal system quality.

 [Brian] Okay, you asked for it :)

 In any country, the codes used in another country for emergency numbers
 are used as service invocations for other services.  You have to know what
 country you are in to know what emergency numbers are.  It is roughly
 impossible (today) to know that with sufficient reliability.

 You can place an emergency call to an e.164 in many countries.  This may
 depend on which service.

 The emergency call center (PSAP) can call you back.

 A call placed to a call center can be transferred or upgraded to an
 emergency call.  This happens with relay centers used by disabled
 individuals.

 In all of these circumstances, VAD must be disabled.  Emergency calling
 systems are filled with a lot of complexity that handle seldom occurring
 circumstances.  However, when it comes to saving lives, seldom occurring
 circumstances are important.

 Brian

 ps - I have been working in this field for a number of years.  You can
 learn a bit more about emergency calling from draft-ietf-ecrit-framework.
 The inability to turn off VAD in VoIP systems believed to have caused
 actual harm according to some of my associates who work in PSAPs.

 [Cullen] I think that the bulk of the people that work on emergency calls
 in the ECRIT WG and much of the IESG are going to be very strong
 supporters of exactly what Brian is saying here. The implications aren't a
 big deal for the CODEC WG, just that you need to be able to use SDP to
 signal no VAD. No one thinks an end user is going to go and change the
 configuration in their phone before making an emergency call.

-- 
Ticket URL: <https://wiki.tools.ietf.org/wg/codec/trac/ticket/14#comment:3>
codec <http://tools.ietf.org/codec/>


From trac@tools.ietf.org  Thu Jun 24 08:18:14 2010
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 D04E83A6951 for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:18:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.858
X-Spam-Level: 
X-Spam-Status: No, score=-100.858 tagged_above=-999 required=5 tests=[AWL=-1.458, BAYES_50=0.001, J_CHICKENPOX_55=0.6, 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 W0CMTZjdGXsW for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:18:13 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id B34F83A6802 for <codec@ietf.org>; Thu, 24 Jun 2010 08:18:13 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.72) (envelope-from <trac@tools.ietf.org>) id 1ORoC6-00053Z-D8; Thu, 24 Jun 2010 08:18:22 -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: Thu, 24 Jun 2010 15:18:22 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: https://wiki.tools.ietf.org/wg/codec/trac/ticket/34
Message-ID: <062.8337dddc40b2c9c88b04caa75d6825e7@tools.ietf.org>
X-Trac-Ticket-ID: 34
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: [codec]  #34: Speech Quality Aspects in emergency calls
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: Thu, 24 Jun 2010 15:18:15 -0000

#34: Speech Quality Aspects in emergency calls
------------------------------------+---------------------------------------
 Reporter:  hoene@…                 |       Owner:     
     Type:  defect                  |      Status:  new
 Priority:  minor                   |   Milestone:     
Component:  requirements            |     Version:     
 Severity:  -                       |    Keywords:     
------------------------------------+---------------------------------------
 [Hoene]: At this point of time it is not clear to me what the service
 requirements of an emergency call are going to be. Which speech/audio
 quality requirements do the emergency agencies have?

 Brian is suggesting a technical solution to become a requirement. But,
 don't we have to listen to the users, first? Only then, we can develop a
 technical solutions that might affect our work in the Codec WG.

 > The implications aren't a
 >big deal for the CODEC WG, just that you need to be able to use SDP to
 signal no VAD.

 Are you sure that this is the only requirement? I think that there are
 other important things in case of emergency calls. Do they need audio
 quality? Do they need ultra-low-delay or is any transmission delay fine?
 What shall happen, if the transmission quality is bad? Push-to-talk?

 > No one thinks an
 >end user is going to go and change the configuration in their phone
 before making an emergency call.

 No, he does know VAD and he does not care about. Some part of the system
 must take care of. However, the user does know that he wants to make a
 emergency call and the phone might have a button called "emergency call".

 [Brian]: Generally, high fidelity is a good thing for emergency calls.
 This has to be balanced against how many codecs each PSAP implements, but
 at least in the evolving North American standards, which are currently
 believed to be the most advanced, it is recommended that PSAPs implement
 one or two wideband codecs.  Graceful fallback in cases of congestion
 would be nice, but not a hard requirement.

 Delay below 150ms is unlikely to be of much use.  Sometimes, an emergency
 call can have audio+video and the delays must match (lip sync).  Frame
 time really doesn't matter much independent of its effect on delay.  I
 personally think delay over 150ms is not acceptable, but we've had this
 discussion and there are some who persist in believing you can get good
 quality with 250 ms.  In an emergency call, stress is a big factor, and
 social skills are not nuanced.  This means turn taking is an issue, and
 anything that gets in the way of an interruption is bad.  All of my
 testing indicates that turn taking, especially argument, is impaired above
 around 150 ms.

 All of the above doesn't really rise to hard requirements other than the
 soft requirement that delay doesn't impair turn taking.  The ability to
 disable VAD is a hard requirement.

 I believe that is it with respect to codec.  See ietf-ecrit-phonebcp for
 the actual requirements.

 [Gregor Jänin]:
 I have to come back on a comment chistian made : What about Push-to-talk??
 I have found out that in Europe and Australia they are looking into
 "eurocae wg67", als solution to transfer PTT!
 It is already used in fight safety control and some of the PSAP equipment
 vendors doing both , flight and public safety!
 What is your position on that, we gonna neet it! Especial when we talk
 about autority to autority, or even just nextel..

 [Brian]: PTT is not currently a requirement for citizen to authority.  It
 is a requirement for authority to authority.  It is not a requirement for
 authority to citizen.

 I don’t think PTT has any effect on codec.

 ...

 We do support text (and video) with ecrit standards.  Of particular
 interest is the “real time text” codec work, but just using SIP MESSAGE
 works.  There is also some work on sending ‘data only’, i.e. sensor alerts
 using the same mechanisms.

 It has occurred to me that while in the normal case, we do want to disable
 VAD, it does help when the network is highly congested.  Since what I
 asked for was that it should be negotiable, the PSAP could control when it
 was or wasn’t used.

 The problem with PTT in general is that the emergency service isn’t in a
 “talk group”, and what you would be establishing is an on the fly two
 party talk group which has to be routed using the same mechanisms as the
 emergency calls are routed.   That’s not impossible, but it is unusual.

-- 
Ticket URL: <https://wiki.tools.ietf.org/wg/codec/trac/ticket/34>
codec <http://tools.ietf.org/codec/>


From trac@tools.ietf.org  Thu Jun 24 08:22:26 2010
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 7B9F53A695A for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:22:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.452
X-Spam-Level: 
X-Spam-Status: No, score=-102.452 tagged_above=-999 required=5 tests=[AWL=0.148, BAYES_00=-2.599, 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 P-ld27VBjMtm for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:22:14 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id B5BC23A6802 for <codec@ietf.org>; Thu, 24 Jun 2010 08:22:13 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.72) (envelope-from <trac@tools.ietf.org>) id 1ORoFy-0004Vj-3m; Thu, 24 Jun 2010 08:22:22 -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: Thu, 24 Jun 2010 15:22:22 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: https://svn.tools.ietf.org/wg/codec/trac/ticket/15#comment:3
Message-ID: <071.1639dcee28ca917be64af031a9395250@tools.ietf.org>
References: <062.bc75a3b3c4a980df34535f87c9484935@tools.ietf.org>
X-Trac-Ticket-ID: 15
In-Reply-To: <062.bc75a3b3c4a980df34535f87c9484935@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] #15: Efficiently combine pre-encoded audio
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: Thu, 24 Jun 2010 15:22:26 -0000

#15: Efficiently combine pre-encoded audio
------------------------------------+---------------------------------------
 Reporter:  hoene@…                 |       Owner:     
     Type:  enhancement             |      Status:  new
 Priority:  minor                   |   Milestone:     
Component:  requirements            |     Version:     
 Severity:  Active WG Document      |    Keywords:     
------------------------------------+---------------------------------------

Comment(by hoene@…):

 [Roman Shpount]: I would like to remind that this issue is not about
 efficient VAD, but about efficiently combining pre-encoded streams. There
 are two use cases that I can think of:

 a. Conference servers, where the active speaker was determined by either
 receiver or decoder side VAD. As it was mentioned before, it is possible
 to implement an efficient decoder side VAD without implementing a complete
 decoder. If we can combine pre-encoded audio we can combine multiple
 streams on the conference server without going through decoder/encoder
 cycle greatly decreasing both CPU requirements and mixer delay.

 b. Announcement and IVR servers, where a small set of pre-encoded
 announcements are played to the user. Standard network or IVR
 announcements can be encoded once and efficiently inserted or combined
 into audio stream. If pre-encoded audio is supported and the client
 supports AVT tones, it is trivial to develop a very efficient IVR server
 which does not require any CODEC encoding or decoding.

-- 
Ticket URL: <https://svn.tools.ietf.org/wg/codec/trac/ticket/15#comment:3>
codec <http://tools.ietf.org/codec/>


From trac@tools.ietf.org  Thu Jun 24 08:31:11 2010
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 87E153A680D for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:31:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -101.153
X-Spam-Level: 
X-Spam-Status: No, score=-101.153 tagged_above=-999 required=5 tests=[AWL=-1.153, BAYES_50=0.001, 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 pr8KxjFc0+Zz for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:30:44 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id 7FC8928C0DC for <codec@ietf.org>; Thu, 24 Jun 2010 08:30:40 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.72) (envelope-from <trac@tools.ietf.org>) id 1ORoO9-0000sO-7D; Thu, 24 Jun 2010 08:30:49 -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: Thu, 24 Jun 2010 15:30:49 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: http://trac.tools.ietf.org/wg/codec/trac/ticket/19#comment:5
Message-ID: <071.69c574ff48426175f73948ea16470629@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: Thu, 24 Jun 2010 15:31:48 -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@…):

 [Raymond]:
 Thank you [Cullen] for sharing the details of your delay measurements on
 Cisco 7960 IP phones.  What you observed does NOT conflict with what I
 have been saying.
 The reason is that the 20 ms and 30 ms you quoted are the "packet sizes",
 not the "codec frame sizes".  Codec frame size and packet size have
 different impacts on one-way delay.  The G.711 codec that you used is a
 sample-by- sample codec. Theoretically its "codec frame size" is only one
 sample, or
 0.125 ms, so the (3 x 30 ms - 3 x 20 ms) formula is not the right target
 for comparison.

 Furthermore, many telephones have G.711 encoder and decoder directly built
 into the chip hardware of A/D and D/A, so they can directly digitize the
 input audio signal into 8-bit G.711 codewords and directly playback 8-bit
 G.711 codewords as the output audio signal; thus, there is essentially no
 processing delay for G.711.  Even if the G.711 encoding/decoding is done
 in software or firmware, the G.711 codec complexity is so low that it
 takes almost no time to do G.711 processing.  The almost-zero processing
 delay can contribute to the extra low delay of G.711-based VoIP systems.

 There have been so many discussions about how the codec frame size and
 packet size may affect the one-way delay, there has been confusion, and
 there have been criticism that there wasn't any rigorous theoretical
 analysis, so I thought I would spend some time to give a more rigorous
 delay analysis below so we can hopefully settle such disputes. At the end
 of my analysis, you will see how the lower bound and upper bound of the
 one-way delay depend on the codec frame size AND the packet size under
 various conditions. Please read on if you are interested; ignore if you
 are not; or you can quickly scroll down to Equations (1) through (3),
 which are the main results of my delay analysis, and read the last few
 paragraphs after Eq. (3).

 Before I did the following delay analysis, I consulted extensively with
 three Broadcom senior technical leads who have many years of extensive
 real-time system architecture and design experiences in IP phones, VoIP
 gateways, and video systems (such as cable/satellite set-top boxes),
 respectively.  What they told me were consistent with each other and
 consistent with what I have been saying.

 Before I start the analysis, let me first discuss the multi-tasking, or
 Real- Time Scheduling (RTS) delay, because it is a critical component of
 the total one-way delay and needs to be clarified first.

 In real-time audio or video systems, many tasks have definite completion
 deadlines beyond which the real-time operation will be lost and there will
 be audible or visible glitches. One way to handle a real-time task is by
 interrupting the processor in the hope that the processor will put down
 whatever it is doing and service the interrupt first.  If there is only
 one real-time task and all other tasks in the system do not have real-time
 requirements, then the interrupt will be serviced immediately and there is
 no RTS delay.  However, this is rarely the case, since the system
 typically also has other real-time tasks. (For example, an IP phone needs
 to handle the encoding of the send-path signal, decoding of the receive-
 path signal, echo canceller, side-tone, and other real-time tasks at the
 same time.) Then, the interrupts generated by different real-time tasks
 need to be prioritized.
 There can be only one highest-priority task.  Any of the other tasks will
 have a lower priority and need to wait for its turn if it tries to
 interrupt a higher-priority task. That wait time, plus the time it takes
 the processor to complete the task, is the RTS delay of that task. The
 entire audio or video stream will need to be buffered and delayed by at
 least the worst-case wait time in order to have a smooth playback without
 any gaps or glitch.

 If there are a large number of real-time tasks in the system, then a
 prioritized interrupt-driven RTS system will become very complex and
 messy, and the associated context switching for all the interrupts will
 reduce the system efficiency.  Therefore, in IP phones, VoIP gateways, and
 cable/satellite set-top boxes, usually a different kind of real-time
 scheduling scheme is used, where each real-time task is allowed to run to
 completion, but to simplify RT scheduling, all real-time tasks are
 requested in a periodic manner, or with similar assumptions such as a
 minimum interval.
 In many of these designs, all real time tasks on any one processor have
 the same period (or "thread interval") for maximum real time efficiency.
 In the case of real-time voice communication systems, the most convenient
 and common thread interval is the codec frame size.  Thus, the codec frame
 size determines how much RTS delay the system has.  I have consulted my
 Broadcom colleague Sandy MacInnis, a senior architect who specializes in
 video and system design, and who is knowledgeable about real time
 scheduling.  He was the chair of the MPEG Systems committee for MPEG-1 and
 MPEG-2 (i.e. MPEG Transport, MPEG Programs streams, and MPEG-1 Systems).
 I will quote him
 below:

 "For most efficient scheduling, all tasks should have the same period, and
 in the general case, each task may be served any time from immediately
 after the request to the last instant before the next request. So, for
 such efficient, general and robust systems, the RTS (real time scheduling)
 latency is up to one request period, which in this case is a frame
 duration. When the request is serviced earlier, the data has to be
 buffered up because the end-end delay needs to be constant. While someone
 might say that they think an RTS scheme can service requests with
 consistently less latency than a frame time, I would challenge them for a
 theoretical basis that shows they can do so reliably. What happens when
 all the requests happen at the same time? That can certainly happen, in
 general.  ...  An extremely standard basic assumption of RTS, and in
 particular Rate Monotonic Scheduling (RMS), is that for each task, the
 deadline equals the period. That means that from the time a requester
 makes a request, the RTS system needs to ensure that the request is
 completely serviced (finished, not just started) before the period from
 that request to the next request expires. Other assumptions are possible,
 but longer deadlines don't usually help much and they make the system more
 complex, and shorter deadlines make scheduling harder.  If there is a set
 of tasks with exactly the same period, i.e. synchronous, then it's
 possible to schedule the shared resource to 100% of capacity while
 ensuring RT performance. However, in the more typical case, the various
 tasks do not have the same period, in which case in general the maximum
 utilization of the shared resource that can be scheduled for real time
 tasks is significantly less than 100%. Whether the system is real-time
 schedulable or not can be determined in various ways, including critical
 instant analysis.  In either case, in general the latency of any given
 request can be anywhere from zero plus processing time, to exactly the
 period = deadline."

 For a PC with a very powerful processor and a very light real-time load,
 it may be reasonable to expect the processor to perform the encoding and
 decoding tasks very shortly after they are requested, with the requests
 being driven by interrupts, and the processing time of each task may be
 very short relative to the interval between requests. The resulting RTS
 delay may be as low as a few percent of the frame interval.  This is
 possible because a typical PC has much higher processing power than is
 required by a speech coder.

 The same is not true for VoIP gateways or IP phones, where the processor
 is heavily loaded with real-time tasks and is often just barely fast
 enough to handle the designated number of voice channels (many for
 gateways and one for IP phones).  For example, rather than having a 2 to 3
 GHz processor as in a PC, the processor used to do speech coding in a low-
 end IP phone may only have a clock rate of slightly more than 100 MHz.  In
 this case, it is reasonable to expect that the time required to service
 each request, including processing time, may be as much as the full frame
 interval.

 OK, now that the RTS delay has been discussed, let me proceed with my
 delay analysis.  I will break down the delay into many components, with
 each component occurring after the components listed earlier.  Let the
 codec frame size be F ms and the packet size be P ms.  Let each packet
 contain N codec frames, so P = N*F.  For simplicity, we will not consider
 the codec look- ahead L ms and codec filtering delay R ms in this analysis
 and will just add them at the end because we know their multiplier is 1X.

 The one-way mouth-to-ear delay includes the following codec-dependent
 delay
 components:

 (1) Encoder buffering delay: d1 = a1*F, where a1 = 1.
 This is the time it takes to buffer all input samples of a codec frame.

 (2) Encoder RTS delay: d2 = a2*F, where 0 < a2 <= 1.
 This includes the encoder processing delay; see the discussion above.

 (3) Packetization delay: d3 = a3*F, where a3 = (N-1).
 This is the amount of time the first frame in the packet need to wait
 until the last frame of encoded bits in the packet is ready.

 (4) Packet transmission delay: d4 = a4*F, where 0 < a4 <= N.
 This is the time it takes to ship all bits in the packets out of the
 transmitter; this can also be considered the decoder bit buffering delay,
 since it is the time the decoder needs to wait to get all bits in the
 packet.
 If the speed of the communication channel is very high, then d4 can be a
 very small fraction of the packet size P = N*F ms, but it will not be
 zero.  If the channel speed is exactly the same as the bit-rate of the
 packet (including the packet header), then d4 = P = N*F ms.  Even for the
 case of high-speed channel, if we view the bit transmission task as a
 real-time scheduling problem for the micro-controller (which may run at a
 different thread rate than the DSP), then the scheduling wait time plus
 the processing time (i.e. the time to actually transmit bits) may still
 take up to one thread interval, which is P = N*F ms in this case.

 (5) Decoder RTS delay: d5 = a5*F, where 0 < a5 <= 1.
 This includes the decoder processing delay; see the discussion above.

 There may be other delay components that may depend on the codec frame
 size.
 For example, in gateways where a few layers of processors are used, each
 processor may have its own real-time scheduling delays for all tasks that
 it handles.  However, at least the delay components listed above are the
 major ones that are commonly encountered.  If we omit the other possible
 codec- dependent components for the moment but add back the codec look-
 ahead L and codec filtering delay R (if any), the total codec-dependent
 one-way delay is then

 D = d1 + d2 +... + d5 + L + R = {1 + (0,1] + (N-1) + (0,N] + (0,1]}*F + L
 + R

 Hence, the one-way delay D has a possible range of

 N*F + L + R < D <= (2*N + 2)*F + L + R, or

 P + L + R < D <= 2*P + 2*F + L + R             Eq. (1)

 For heavily loaded real-time systems such as VoIP gateways or IP phones,
 if we assume the worst case of one full frame of encoder RTS delay and
 decoder RTS delay, then a2 = 1 and a5 = 1, and we get a tighter range for
 the one-way
 delay:

 P + 2*F + L + R < D <= 2*P + 2*F + L + R       Eq. (2)

 In the special case of N = 1 (each packet contains only one codec frame),
 then we get

 3*F + L + R < D <= 4*F + L + R                 Eq. (3)

 The delay lower bounds in Eq. (1) through Eq. (3) above (under their
 individual assumptions) are consistent with what I have been saying.
 If the other omitted codec-dependent delay components are significant, or
 if the system implementers have not been careful about minimizing the
 delay, then the delay upper bounds can be even higher than what are shown
 in Eq. (1) through Eq. (3).

 In your Cisco 7960 IP phone delay measurements, P = 20 ms or 30 ms, L = 0,
 R = 0, and theoretically F = 0.125 ms.  If you look at Eq. (2) above, then
 it is clear that you won't see 3 times the packet size difference as the
 delay difference.  However, here the codec frame size is 0.125 ms, not 20
 or 30 ms, so this result doesn't conflict with what I have been saying
 (i.e. 3X codec frame size).

 Of course, in reality it is unlikely that an IP phone will use 0.125 ms as
 the thread interval.  A more likely thread interval is P.  Then, my delay
 analysis above does not apply directly.  However, it is not difficult to
 follow the same logic and procedure to see what will happen in this case.
 If
 G.711 encoding and decoding is built right into the A/D and D/A, then the
 8- bit G.711 codewords directly arrives at the input buffer or leave the
 output buffer and the RTS system does not need to schedule G.711 encoding
 and decoding tasks, so d2 = d5 = 0. Also, in this case d1 = P, d3 = 0, and
 0 < d4 <= P.  Thus, the total one-way delay is P < D <= 2*P.

 Even if the G.711 encoding and decoding operations are done in
 software/firmware, the G.711 complexity is so low that it takes the
 processor almost no time to do encoding and decoding.  In this case, the
 IP phone is closer to the case of a PC that has much more processing power
 than is required for speech coding, and if the Cisco engineers did a good
 job of optimizing RTS to minimize d2 and d5, then d2 and d5 would be
 closer to 0 than to P.  Then, the total one-way codec-dependent delay
 would be closer to P than to 3*P.  This is probably what you have
 observed.

 [Koen]:
 Thanks for the detailed explanation, this clarifies your earlier
 statements about the 3x multiplier.

 The essence, if I understand you correctly, is that there still exist low-
 end platforms with barely enough processing power to run a VoIP call.  If
 such platforms use a naive FIFO scheduler, they'll create up to one frame
 of processing delay for encoder and decoder each, on top of the frame of
 buffering delay.

 The good news is that Moore's law will continue to drive down the fraction
 of platforms with such processing delay problems.

 I'm a bit surprised by your analysis of "packet transmission delay", as it
 has little bearing on our multiplier (ie the change in delay as a function
 of frame size). See old posts.

 [Raymond]: It doesn't have to be low-end platforms.  I wouldn't consider
 high-density VoIP gateways "low-end".  What matters is whether the
 processor is heavily loaded (i.e. busy at a high percentage of time) with
 real-time tasks (and thus is just fast enough). I think this is true for
 typical implementations of IP phones and VoIP gateways.

 I also wouldn't use the term "a naïve FIFO scheduler" to describe the "run
 to completion" real-time scheduler that I talked about in my last email,
 because that term seems to imply that it is a very simple-minded and
 inferior approach used by an inexperienced person who doesn't know
 anything better.  My understanding from talking to the three senior
 technical leads of Broadcom is that the reality is when you have many
 real-time tasks that you need to handle concurrently, using a prioritized
 interrupt-driven scheduler is just way too complex and messy, and it
 doesn't even guarantee that you will get a lower delay if you do go
 through the trouble.  In contrast, the kind of "run to completion" real-
 time scheduler that I talked about is a more elegant solution as it
 simplifies the scheduling problem substantially and also allows you to
 have more efficient utilization of the processor.

 Other than these two points, your understanding of my main point is
 correct.

 > The good news is that Moore's law will continue to drive down the
 > fraction of platforms with such processing delay problems.

 [Raymond]: This may be true for PC but probably not true in general.
 PC is a general-purpose computing device that has to handle numerous
 possible tasks, and a voice phone call takes only a very small fraction of
 the worst-case computational power requirement of a PC.  In contrast, for
 special-purpose dedicated hardware devices such as IP phones or VoIP
 gateways, it would make no sense to use a processor that is many times
 faster than the worst-case computational power requirement.  For the sake
 of cost and power efficiency, the designers of such special- purpose
 devices will want to use a processor that's just slightly faster than
 required, because then they can use the cheapest and/or lowest power-
 consuming processor that's fast enough to get the job done.
 If they choose to use a processor much faster than is required, then
 competitors using processors just fast enough can have lower costs and
 power consumption and can take market share away from them.

 A case in point: after its first appearance several decades ago, 8-bit
 microprocessors are still widely used in many devices today despite the
 several orders of magnitude of speed improvement provided by Moore's Law,
 because those devices just don't need anything faster, so using anything
 faster would be a waste of money and power consumption.

 My point is that we should not expect that future IP phones or gateways
 will operate at a very low percentage point of the processor load just
 because Moore's Law can improve processor speed over time. Therefore,
 don't expect the 3X multiplier for codec frame size to go down much below
 where they are now.

 In fact, if in addition to a VoIP call, a PC is heavily loaded with a lot
 of other concurrent tasks, many of which may be real-time tasks (e.g.
 video, playing/burning CD/DVD, networking, etc.), then it will be
 difficult for the PC to have small encoding and decoding RTS delays (d2
 and d5 in my delay analysis).  In this case, the codec frame size
 multiplier will be closer to 3X than to 1X, unless you are willing to let
 the voice stream occasionally run out of real time and produce an audible
 glitch (which is not acceptable from the voice quality perspective).  If
 you agree with this and agree that a PC sometimes does get very heavily
 loaded, then if you don't want the voice stream to run out of real time,
 the worst-case codec-dependent delay for PC can still be around 3X the
 codec frame size.

 > I'm a bit surprised by your analysis of "packet transmission delay",
 > as it has little bearing on our multiplier (ie the change in delay as
 > a function of frame size). See old posts.

 [Raymond]: I am not sure I understand what you are saying.  You probably
 misunderstood the goal of my analysis. I mentioned in my last email that
 my delay analysis aimed to derive the lower and upper bounds of the codec-
 dependent one-way delay as functions of both the codec frame size AND the
 packet size.  That "packet transmission delay" does depend on the packet
 size, so it should be included.  Also, including it doesn't increase the
 lower bound of the delay (and the codec frame size multiplier there); it
 only affects the upper bound.

 Or, are you saying the "packet transmission delay" depends on the packet
 size, not the codec frame size, and therefore is not codec-dependent?
 Well, we know the packet size should be a positive integer multiple of the
 codec frame size.  Once the codec frame size is determined, there are only
 limited choices of packet sizes you can use, so in this sense the packet
 size does depend on the codec frame size.  Therefore, the "packet
 transmission delay" indirectly depends on the choice of the codec.

 [Koen]:
 In other words, future manufacturers won't spend a few dimes on reducing
 delay, even though today they're happy to add several dollars to the price
 just to enable wideband?  That's a statement about the relative importance
 of delay.

 For the discussion about transmission delay vs. frame size, see e.g.
 http://www.ietf.org/mail-archive/web/codec/current/msg01477.html

 [Hoene]:
 yesterdays, I had a brief look on ITU-T G.114
 http://www1.cs.columbia.edu/~andreaf/new/documents/other/T-REC-G.114-200305.pdf
 It might help in your discussion...

 [Sanny MacInnis]:
 Sorry for stepping in here... full disclosure: I'm not a speech coding
 expert, and I work at Broadcom, where Raymond works.

 I too would like to end this discussion; it seems to have diverged from a
 discussion of the requirements for the CODEC algorithm to have a mode with
 low algorithmic delay, which AFAIK is already agreed anyway, to some
 rather tangential discussions related to, but not really addressing, real
 time scheduling of the algorithm on a processor.

 The point from Raymond that is the head of this particular discussion
 trail is RTS, i.e. real time scheduling. I know his note about that is
 long; it might be worth reading it again.

 It's not a fair assumption that 100% of a shared resource - in this
 instance, a processor - can be spent performing real-time-scheduled tasks.
 If there is a set of RT (real time) tasks that have different periods, and
 periods = deadlines, all being scheduled on the same processor, the best
 you can do is less than 100%. How close you can get depends on the
 details; it might be e.g. 68%, or it could be significantly less; there's
 a lot of literature on this. If the system is optimally designed for the
 purposes of RTS, i.e. all other tasks are treated as non-real time and
 have lower priority than all real time tasks, there are no priority
 inversions, task switching is very efficient, etc. the RTS performance can
 come close to theory, but if any of these assumptions are not true, it be
 significantly worse.

 If the total RT demands are only a very small fraction of the total shared
 resource, i.e. processor cycles, it tends to be easier to perform the
 scheduling and ensure that it works correctly. Such a scenario may be more
 important than RTS indicates if the system is not well designed for real
 time operation, i.e. a PC. And, such systems draw MUCH more power than
 well-designed embedded products. Conversely, low power and modest clock
 rates are good design principles for embedded products, if those that are
 wall (mains) powered. E.g. someone noted leakage power at 65nm - have you
 looked at 40nm? It just keeps getting worse. Designing for slower max
 clock rate saves substantial power.

 There are good reasons why a common convention of real time scheduling is
 the assumption that period = deadline. As Raymond noted, other design
 assumptions are possible, but they have their own problems.

 Note also, as Raymond pointed out, that RTS also applies to intermediate
 points in the end-end system, such as gateways. Such a device may have
 very powerful processors, and if so, it should be for the specific purpose
 performing a large number of RT tasks, loading the processors as much as
 can be guaranteed.

 I would hope that this committee is not planning to be in the position of
 dictating that all implementations of the algorithm require a processor
 that is so fast that the system can guarantee service that latency is much
 less than the period of an audio frame. And if not, then a reasonable
 assumption is that, in general, the deadline of service latency does equal
 the period of an audio frame. That assumption is part of one of upper-
 limit calculations from Raymond.

 [Raymond]: I too don't want to see this discussion drags on, but some of
 your comments seem misleading to me, so I would like to respond with some
 quick comments.

 Wideband is a new feature in some devices and is a check box that a
 product manager needs to check off to remain competitive.  That doesn't
 mean wideband is more important than existing features in a device.  Also,
 I am not sure the cost difference is a few dimes versus several dollars.
 In some devices the extra cost of adding wideband is minimal. Furthermore,
 it is not only a cost issue but also a power consumption issue.  No one in
 his or her right mind will use a processor that's 5X to 10X faster than
 necessary just in order to reduce the encoder and decoder RTS delays to a
 small fraction of the codec frame size; this is just the way it is and has
 nothing to do with the relative importance of delay or anything else.

 You were presenting it as if this were a reasonable choice that device
 designers could easily make but chose not to make, but that's just not
 true.  It has always been the case that the designers will use processors
 just fast enough for the job, perhaps with a little margin for the
 unexpected, but not 5X or 10X.  Given this, the bottom line is that ~ 3X
 codec frame size is the "norm" or a "necessary result" for special-purpose
 hardware devices rather than by a design choice, and you are just lucky to
 get < 2X in PC-based VoIP calls because PCs were not designed for voice
 calls but for other much more computationally demanding tasks.  (Even
 there you can't guarantee that PCs will always give you a multiplier of <
 2X.
 What if the PC is heavily loaded with other tasks?  Then you are more
 likely to get 3X if you don't want your voice stream to run out of real
 time.)

-- 
Ticket URL: <http://trac.tools.ietf.org/wg/codec/trac/ticket/19#comment:5>
codec <http://tools.ietf.org/codec/>


From trac@tools.ietf.org  Thu Jun 24 08:33:33 2010
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 159753A67FB for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:33:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -100.848
X-Spam-Level: 
X-Spam-Status: No, score=-100.848 tagged_above=-999 required=5 tests=[AWL=-1.448, BAYES_50=0.001, J_CHICKENPOX_14=0.6, 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 HLCTtv0wohZE for <codec@core3.amsl.com>; Thu, 24 Jun 2010 08:33:30 -0700 (PDT)
Received: from zinfandel.tools.ietf.org (unknown [IPv6:2001:1890:1112:1::2a]) by core3.amsl.com (Postfix) with ESMTP id 812653A680D for <codec@ietf.org>; Thu, 24 Jun 2010 08:33:29 -0700 (PDT)
Received: from localhost ([::1] helo=zinfandel.tools.ietf.org) by zinfandel.tools.ietf.org with esmtp (Exim 4.72) (envelope-from <trac@tools.ietf.org>) id 1ORoQs-0000xd-7E; Thu, 24 Jun 2010 08:33:38 -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: Thu, 24 Jun 2010 15:33:38 -0000
X-URL: http://tools.ietf.org/codec/
X-Trac-Ticket-URL: https://svn.tools.ietf.org/wg/codec/trac/ticket/20#comment:3
Message-ID: <071.5e6ef09350c42a52fe51191cc3cf486e@tools.ietf.org>
References: <062.8524135614c0f45c18915362cc459235@tools.ietf.org>
X-Trac-Ticket-ID: 20
In-Reply-To: <062.8524135614c0f45c18915362cc459235@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] #20: Computational complexity?
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: Thu, 24 Jun 2010 15:33:34 -0000

#20: Computational complexity?
------------------------------------+---------------------------------------
 Reporter:  hoene@…                 |       Owner:     
     Type:  defect                  |      Status:  new
 Priority:  major                   |   Milestone:     
Component:  requirements            |     Version:     
 Severity:  -                       |    Keywords:     
------------------------------------+---------------------------------------

Comment(by hoene@…):

 [Hoene]: in the last weeks we had a couple of discussion on the complexity
 or algorithmic efficiency of the codec. Knowing the algorithmic efficiency
 is important because:
 1.      the complexity has an impact on power consumption and system
 costs,
 2.      the hardware can be selected to fit pre-known complexity
 requirement, and
 3.      different codec proposals can be compared if they are show similar
 performance in other aspects.
 Before any complexity comparisons can be made, we need an objective,
 precise, reliable, and repeatable metric on how to measure the algorithmic
 efficiency. Let me describe three different approaches:

 Classic Approach used in Codec Standardization

 In the last 17 years, the ITU-T Study Group 16 measure the complexity of
 codecs using a library called ITU-T Basic Operators (described in ITU-T
 G.191), that counts the kind and number of operations and the amount of
 memory. The last version of the standard (03/10), not yet publically
 available, supports - beside fix-point operations of different widths -
 also floating operations.  Each operation can be counted automatically and
 weighted accordingly. The following source code is an excerpt from
 baseop32.h

 /*___________________________________________________________________________
  |
 |
  |   Prototypes for basic arithmetic operators
 |
 |___________________________________________________________________________|
 */

 Word16 add (Word16 var1, Word16 var2);    /* Short add,           1   */
 Word16 sub (Word16 var1, Word16 var2);    /* Short sub,           1   */
 Word16 abs_s (Word16 var1);               /* Short abs,           1   */
 Word16 shl (Word16 var1, Word16 var2);    /* Short shift left,    1   */
 Word16 shr (Word16 var1, Word16 var2);    /* Short shift right,   1   */
 …
 Word16 div_s (Word16 var1, Word16 var2); /* Short division,       18  */
 Word16 norm_l (Word32 L_var1);           /* Long norm,             1  */

 In the upcoming ITU-T G.GSAD standard another approach has been used as
 shown in the following code example. For each operation, WMPOS function
 have been added, which count the number of operations. If the algorithmic
 efficiency of an algorithm has to be measured, the program is run and the
 operations are counted.

     for (i=0; i<NUM_BAND; i++)
     {
 #ifdef WMOPS_FX
         move32();move32();
         move32();move32();
 #endif

         state_fx->band_enrg_long_fx[i] = 30;
         state_fx->band_enrg_fx[i] = 30;
         state_fx->band_enrg_bgd_fx[i] = 30;
         state_fx->min_band_enrg_fx[i] = 30;
     }

 These two similar examples worked well in the years and are an established
 procedure to count operations and complexity. Still, it has some drawbacks
 a)      Existing algorithm must be modified manually to address the
 counting of operations. This is time consuming.
 b)      The CPU model is simplistic as it does not consider memory access
 (e.g. cache), parallel executions, or other kind of optimization done in
 modern microprocessor and compilers. Thus, the number of instruction might
 not correlated well with the actual execution time on modern CPUs.
 Profiling: The Classic Approach used in Software Engineering

 Citing Wikipedia: „In software engineering, program profiling, software
 profiling or simply profiling, a form of dynamic program analysis (as
 opposed tostatic code analysis), is the investigation of a program's
 behavior using information gathered as the program executes. The usual
 purpose of this analysis is to determine which sections of a program to
 optimize - to increase its overall speed, decrease its memory requirement
 or sometimes both.
 •       A (code) profiler is a performance analysis tool that, most
 commonly, measures only the frequency and duration of function calls, but
 there are other specific types of profilers (e.g. memory profilers) in
 addition to more comprehensive profilers, capable of gathering extensive
 performance data.
 •       An instruction set simulator which is also — by necessity — a
 profiler, can measure the totality of a program's behaviour from
 invocation to termination.“
 Thus, a typical profiler such as gprof can be used to measure and
 understand the complexity of a codec implementation. It is precise because
 it is uses on modern computers. However, if used for standardization, it
 has the following drawback.
 a)      The execution times depend on the CPU architecture, the PC in
 general, the OS and parallel running programs. As such it cannot produce
 reliable and repeatable results. The results are not comparable if done
 under slightly changed conditions.
 Suggestion: Use a Cycle Accurate Simulator
 Wikipedia: „A Cycle Accurate Simulator (CAS) is a computer program that
 simulates a microarchitecture cycle-accurate. In contrast an instruction
 set simulator simulates an Instruction Set Architecture usually faster but
 not cycle-accurate to a specific implementation of this architecture.“
 Then, the execution times are precise and they are repeatable. If two
 parties make measurements using different CPUs, they still get the same
 results. Of course, a cycle accurate simulator is slower than the real CPU
 at a factor of about 100.

 Actually, there is an open-source Cycle accurate simulator called PTLsim
 avaible that simulates an Pentium IV. „PTLsim is a cycle accurate x86
 microprocessor simulator and virtual machine for the x86 and x86-64
 instruction sets. PTLsim models a modern superscalar out of order x86-64
 compatible processor core at a configurable level of detail ranging from
 full-speed native execution on the host CPU all the way down to RTL level
 models of all key pipeline structures. In addition, all microcode, the
 complete cache hierarchy, memory subsystem and supporting hardware devices
 are modeled with true cycle accuracy. PTLsim supports the full x86-64
 instruction set of the Pentium 4+, Athlon 64 and similar machines with all
 extensions (x86-64, SSE/SSE2/SSE3, MMX, x87). It is currently the only
 tool available to the public to support true cycle accurate modeling of
 real x86 microarchitectures. […] PTLsim is used extensively at hundreds of
 major universities, industry research labs and the well known x86
 microprocessor vendors Intel and AMD.“
 Thus, I would suggest to use the Cycle Accurate Simulator PTLsim to
 measure the complexity of the IETF audio codec contributions because
 a)      it makes precise performance measurements using a modern, widely
 deployed CPU platform,
 b)      the measurement are repeatable and can be made by everybody,
 c)      existing source code can be used without significant changes, and
 d)      it is time-saving and easy to use.

 [Botzko]:
 Are you implying that the complexity is only a requirement for x86
 machines?

 [Hoene]: Hoene: No, complexity is a requirement for all machines. However,
 x86 machines are distributed and used widely on PC, notebook and also
 sometimes also in embedded systems. Also, the contributed source code is
 only available for PCs like system not for DSPs. Thus, any testing on DSP
 will not be possible.
 However, you are free to suggest other reference platforms such as
 •       ARM: http://facsim.snu.ac.kr/
 •       C64x+ CPU Cycle Accurate Simulator:
 http://processors.wiki.ti.com/index.php/C64x%2B_CPU_Cycle_Accurate_Simulator
 Just a matter of choice (and availability).

 [Botzko]: One significant disadvantage of profiling is that it gives an
 unfair advantage to code which is optimized for the x86 platform.

 This may not be a problem at the end of the development process, however
 in the beginning it is best to stay focused on the core algorithm.

 Even at the end, more generic code may be the best reference, since the
 x86 optimizations don't have to be undone if you are re-optimizing for a
 non-x86 platform.

-- 
Ticket URL: <https://svn.tools.ietf.org/wg/codec/trac/ticket/20#comment:3>
codec <http://tools.ietf.org/codec/>


From fluffy@cisco.com  Thu Jun 24 14:28:32 2010
Return-Path: <fluffy@cisco.com>
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 D7DCD28C0D8 for <codec@core3.amsl.com>; Thu, 24 Jun 2010 14:28:32 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.111
X-Spam-Level: 
X-Spam-Status: No, score=-110.111 tagged_above=-999 required=5 tests=[AWL=0.488, BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, 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 V3W-aJyNGo2J for <codec@core3.amsl.com>; Thu, 24 Jun 2010 14:28:32 -0700 (PDT)
Received: from sj-iport-6.cisco.com (sj-iport-6.cisco.com [171.71.176.117]) by core3.amsl.com (Postfix) with ESMTP id EC1983A6994 for <codec@ietf.org>; Thu, 24 Jun 2010 14:28:31 -0700 (PDT)
Authentication-Results: sj-iport-6.cisco.com; dkim=neutral (message not signed) header.i=none
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: AugOAIJqI0yrRN+K/2dsb2JhbACTDIRHAYdmcagOmkeFIQSDXg
X-IronPort-AV: E=Sophos;i="4.53,476,1272844800"; d="scan'208";a="549832187"
Received: from sj-core-4.cisco.com ([171.68.223.138]) by sj-iport-6.cisco.com with ESMTP; 24 Jun 2010 21:28:40 +0000
Received: from [192.168.4.177] (rcdn-fluffy-8711.cisco.com [10.99.9.18]) by sj-core-4.cisco.com (8.13.8/8.14.3) with ESMTP id o5OLSaLc018554 for <codec@ietf.org>; Thu, 24 Jun 2010 21:28:40 GMT
Content-Type: text/plain; charset=us-ascii
Mime-Version: 1.0 (Apple Message framework v1078)
Impp: xmpp:cullenfluffyjennings@jabber.org
From: Cullen Jennings <fluffy@cisco.com>
Date: Thu, 24 Jun 2010 15:28:40 -0600
Content-Transfer-Encoding: 7bit
Message-Id: <A1F1689F-CB0B-459E-BE64-672DF281A598@cisco.com>
References: <20100624204615.313693A6A67@core3.amsl.com>
To: codec@ietf.org
X-Mailer: Apple Mail (2.1078)
Subject: [codec] Tentative time for CODEC meeting at IETF 78
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: Thu, 24 Jun 2010 21:28:33 -0000

Note this *may* change. 

Begin forwarded message:

> CODEC Session 1 (2 hours)
> Monday, Afternoon Session I 1300-1500


Cullen Jennings
For corporate legal information go to:
http://www.cisco.com/web/about/doing_business/legal/cri/index.html




From hoene@uni-tuebingen.de  Fri Jun 25 01:17:59 2010
Return-Path: <hoene@uni-tuebingen.de>
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 E7E613A69DD for <codec@core3.amsl.com>; Fri, 25 Jun 2010 01:17:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.149
X-Spam-Level: 
X-Spam-Status: No, score=-3.149 tagged_above=-999 required=5 tests=[AWL=-0.500, BAYES_60=1, HELO_EQ_DE=0.35, HTML_MESSAGE=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 fjXUvDSb2VuM for <codec@core3.amsl.com>; Fri, 25 Jun 2010 01:17:57 -0700 (PDT)
Received: from mx05.uni-tuebingen.de (mx05.uni-tuebingen.de [134.2.3.4]) by core3.amsl.com (Postfix) with ESMTP id 6B8453A6A0D for <codec@ietf.org>; Fri, 25 Jun 2010 01:17:55 -0700 (PDT)
Received: from hoeneT60 (u-173-c044.cs.uni-tuebingen.de [134.2.173.44]) (authenticated bits=0) by mx05.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id o5P8I0E3014433 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <codec@ietf.org>; Fri, 25 Jun 2010 10:18:01 +0200
From: "Christian Hoene" <hoene@uni-tuebingen.de>
To: <codec@ietf.org>
Date: Fri, 25 Jun 2010 10:18:01 +0200
Organization: =?UTF-8?Q?Universit=C3=A4t_T=C3=BCbingen?=
Message-ID: <000601cb143e$ee851ca0$cb8f55e0$@de>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="----=_NextPart_000_0007_01CB144F.B20DECA0"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: AcsUPs/YWbkxGWUjSua5XovSyizTjQ==
Content-Language: de
X-AntiVirus-Spam-Check: clean (checked by Avira MailGate: version: 3.0.0-4; spam filter version: 3.0.0/2.0; host: mx05)
X-AntiVirus: checked by Avira MailGate (version: 3.0.0-4; AVE: 8.2.4.2; VDF: 7.10.8.185; host: mx05); id=16118-BdLJP4
Subject: [codec] Comparing codec contributions
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: Fri, 25 Jun 2010 08:17:59 -0000

This is a multi-part message in MIME format.

------=_NextPart_000_0007_01CB144F.B20DECA0
Content-Type: multipart/alternative;
	boundary="----=_NextPart_001_0008_01CB144F.B20DECA0"


------=_NextPart_001_0008_01CB144F.B20DECA0
Content-Type: text/plain;
	charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,=20

=20

I just set up the attached excel sheet to compare the codec =
contributions. I just plotted the algorithmic delay/rate tradeoffs for =
different coding modes and frames per packet. As a packet overhead I =
assumed 464 bits.

=20

If you think the values in the Excel might be wrong, please feel free to =
correct them.

=20

With best regards,

=20

 Christian

=20

=20

---------------------------------------------------------------

Dr.-Ing. Christian Hoene

Interactive Communication Systems (ICS), University of T=C3=BCbingen=20

Sand 13, 72076 T=C3=BCbingen, Germany, Phone +49 7071 2970532=20

 <http://www.net.uni-tuebingen.de/> http://www.net.uni-tuebingen.de/

=20


------=_NextPart_001_0008_01CB144F.B20DECA0
Content-Type: text/html;
	charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<html xmlns:v=3D"urn:schemas-microsoft-com:vml" =
xmlns:o=3D"urn:schemas-microsoft-com:office:office" =
xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" =
xmlns=3D"http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=3DContent-Type content=3D"text/html; charset=3Dutf-8">
<meta name=3DGenerator content=3D"Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:"Cambria Math";
	panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
	{font-family:Calibri;
	panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
	{font-family:Consolas;
	panose-1:2 11 6 9 2 2 4 3 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
	{margin:0cm;
	margin-bottom:.0001pt;
	font-size:11.0pt;
	font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
	{mso-style-priority:99;
	color:blue;
	text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
	{mso-style-priority:99;
	color:purple;
	text-decoration:underline;}
span.E-MailFormatvorlage17
	{mso-style-type:personal-compose;
	font-family:"Calibri","sans-serif";
	color:windowtext;}
.MsoChpDefault
	{mso-style-type:export-only;}
@page WordSection1
	{size:612.0pt 792.0pt;
	margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
	{page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext=3D"edit">
  <o:idmap v:ext=3D"edit" data=3D"1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=3DDE link=3Dblue vlink=3Dpurple>

<div class=3DWordSection1>

<p class=3DMsoNormal>Hi, <o:p></o:p></p>

<p class=3DMsoNormal><o:p>&nbsp;</o:p></p>

<p class=3DMsoNormal><span lang=3DEN-US>I just set up the attached excel =
sheet to
compare the codec contributions. I just plotted the algorithmic =
delay/rate tradeoffs
for different coding modes and frames per packet. As a packet overhead I
assumed 464 bits.<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US>If you think the values in the =
Excel might
be wrong, please feel free to correct them.<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US>With best =
regards,<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span =
lang=3DEN-US>=C2=A0Christian<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:Consolas'>-------------------------=
--------------------------------------<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:Consolas'>Dr.-Ing.
Christian Hoene<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:Consolas'>Interactive
Communication Systems (ICS), University of T=C3=BCbingen =
<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:Consolas'>Sand
13, 72076 T=C3=BCbingen, Germany, Phone +49 7071 2970532 =
<o:p></o:p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US =
style=3D'font-size:10.5pt;font-family:Consolas'><a
href=3D"http://www.net.uni-tuebingen.de/"><span =
style=3D'color:blue'>http://www.net.uni-tuebingen.de/</span></a><o:p></o:=
p></span></p>

<p class=3DMsoNormal><span lang=3DEN-US><o:p>&nbsp;</o:p></span></p>

</div>

</body>

</html>

------=_NextPart_001_0008_01CB144F.B20DECA0--

------=_NextPart_000_0007_01CB144F.B20DECA0
Content-Type: application/pdf;
	name="comparision of codec contributions.pdf"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="comparision of codec contributions.pdf"

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
5MXNJmTAeAwZ6QCKDkYfj7SSnGolOdXOE76nHHqVa7MLVuygqjwdVbqfYBxVvsnxlbwiKe1ox/JA
ezkXB1n/0Y6XuJMm7zLdUSnjzT/pzZN/flsw+7/QEZVV9Uuz0y5tZdc7J/dvyfSrnRc82fILPiMb
SpaLPbE/tLE0XWOXmD66jHPrDaPbrhXhDaDb7g6lZctGWq+yjnMl6V1rdIu30L2c1qhjGHQv5/z6
g/Vn4TvU/kjlu8aBJPojcPqruzT1rk4a5H3t/ad3dbW3hzG/9kKTZoBfv/M1R+/wQhP1GK2sEk9y
13aT3j764dtC1alFuNsEF5rgytKPNKfdWPqxXTz6Cf05wprjQs6fcmVMs+M1qJ8ZEdx4MkVAu5+/
zWsUmtOkC1GrFawxdnMXokDqszefvpVTPq8Hrr6NA1ef3f0v0DyWfWVuZHN0cmVhbQplbmRvYmoK
NiAwIG9iago4NDY1CmVuZG9iago0IDAgb2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDU5
NSA4NDJdCi9Sb3RhdGUgOTAvUGFyZW50IDMgMCBSCi9SZXNvdXJjZXM8PC9Qcm9jU2V0Wy9QREYg
L1RleHRdCi9Gb250IDExIDAgUgo+PgovQ29udGVudHMgNSAwIFIKPj4KZW5kb2JqCjMgMCBvYmoK
PDwgL1R5cGUgL1BhZ2VzIC9LaWRzIFsKNCAwIFIKXSAvQ291bnQgMQo+PgplbmRvYmoKMSAwIG9i
ago8PC9UeXBlIC9DYXRhbG9nIC9QYWdlcyAzIDAgUgovTWV0YWRhdGEgMTggMCBSCj4+CmVuZG9i
agoxMSAwIG9iago8PC9SNwo3IDAgUi9SOQo5IDAgUj4+CmVuZG9iagoxNCAwIG9iago8PC9GaWx0
ZXIvRmxhdGVEZWNvZGUvTGVuZ3RoIDMzOT4+c3RyZWFtCnicXZNNboMwEEb3nIIbgH9JpGg2ySaL
VlXbC4AxEYsYRMiity/M50ylWuJJ/rCN/RhX5+vlmsa1rD6WKXzFtRzG1C/xMT2XEMsu3sZUKF32
Y1hzjxnu7VxU57d2/v6ZY7kNiAP67+09Vp/KcqIwJ0x9fMxtiEubbrE41Vuj07A1KmLq/702BrO6
4W+4IqFRxJEmofGIDAl1QGRJaGpEjoTGIPIkNBpRQ0JjER1IaA6IjiQ0DlFLQpuX70ho86hAQpu3
2pPQ5S9GErq81kBCe+RI1SS0HSI2BVocSLEp0MGXYlOggxzFpsAGW1VsCmywCcWmQA8Tik2BukfE
pkA/IGJToMd/VGwK9DCh2BTo84HYFOjzsdkUqPPu2RTYNIjYFNjAqq5JaHPEpkB34KJ8Vd9en3ux
v2q7DM9liWnlG8EVv1f6mKJcmnma91nl9hS/UQ3UHgplbmRzdHJlYW0KZW5kb2JqCjcgMCBvYmoK
PDwvQmFzZUZvbnQvV1FEQUNIK0NhbGlicmkvRm9udERlc2NyaXB0b3IgOCAwIFIvVG9Vbmljb2Rl
IDE0IDAgUi9UeXBlL0ZvbnQKL0ZpcnN0Q2hhciAxL0xhc3RDaGFyIDMzL1dpZHRoc1sgNTA3IDUw
NyAyNTAgNTA3IDUwNyA1MDcgNTA3IDUwNyA1MDcgNTMzIDQ4OCA0MjAgNDg3IDQ1OSAyNTIKNTIw
IDU0NCA1NjcgNTE3IDUyNSAzOTEgNTI1IDMwNiA1MjcgNDc5IDIyOSA0NTUgMjI5IDIyNiA3MTUg
MzM1CjYxNSA1MTldCi9FbmNvZGluZyAxNSAwIFIvU3VidHlwZS9UcnVlVHlwZT4+CmVuZG9iagox
NSAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvRGlm
ZmVyZW5jZXNbCjEvZzEwMDUvZzEwMTAvZzg1My9nMTAwNC9nMTAwNy9nMTAwNi9nMTAwOC9nMTAx
Mi9nMTAwOS9nMTgvZzI4L2c2Mi9nMTAwL2c5NC9nNDcvZzYwCi9nMTcvZzExNS9nODcvZzQzNy9n
NDAwL2czNDYvZzg4Mi9nMzgxL2cyNTgvZzM2Ny9nMzY0L2czNDkvZzMvZzQ0OS9nNDEwL2cyNAov
ZzEyMV0+PgplbmRvYmoKMTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlL0xlbmd0aCAyNjQ+
PnN0cmVhbQp4nF2SQW7DIBBF9z4FN7Bx4iGWotkkmywaVW0vgGGIvAhGxFn09rEZZyoVyU/iGRD6
n/p0OV/iOKv6M0/um2YVxugzPaZndqQGuo2x0q3yo5u3WaG721TVpw+bfn4TqWUBBZ5f7Z3qLw3F
aN7jJk+PZB1lG29UHZtl4DEsAyuK/t9v3fOuIfwt1ygEg0W1KDQtqx0KIbDao9DsWHUobBtWgELQ
rAwKzZ7VAYXQsepR2A2sLAphUwMKYbuqQ6HZLuFR2HlWhEJwrAIKoS9KNyiEA6uSFBP4LF2S0hwO
J6FLLEzTlyrema+trBW/G1XumTPFubyD0vPa7xhJnkqa0rpLLV/1AiXqnLAKZW5kc3RyZWFtCmVu
ZG9iago5IDAgb2JqCjw8L0Jhc2VGb250L0pCRUVJRitDYWxpYnJpLEJvbGQvRm9udERlc2NyaXB0
b3IgMTAgMCBSL1RvVW5pY29kZSAxNiAwIFIvVHlwZS9Gb250Ci9GaXJzdENoYXIgMS9MYXN0Q2hh
ciAyMC9XaWR0aHNbIDQ3NCAzNTUgNTM4IDM5OSAyMjYgNDk0IDM0NyA1MDMgMzI1IDQ4MCA1Mzcg
NTM3IDMyNSAyNDYgMjQ2CjUzNyA4MTMgNDE4IDUzNyA0NzRdCi9FbmNvZGluZyAxNyAwIFIvU3Vi
dHlwZS9UcnVlVHlwZT4+CmVuZG9iagoxNyAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNv
ZGluZy9XaW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvZzMzNi9nMzk2L2czODEvZzQwMC9n
My9nMjU4L2c0MTAvZzI4Ni9nODk2L2czNjQvZzI3MS9nMzkzL2c4OTcvZzM2Ny9nMzQ5L2czNDYK
L2czNzMvZzI3Mi9nMjgyL2c0NTVdPj4KZW5kb2JqCjggMCBvYmoKPDwvVHlwZS9Gb250RGVzY3Jp
cHRvci9Gb250TmFtZS9XUURBQ0grQ2FsaWJyaS9Gb250QkJveFswIC0xNDEgNjg5IDY4MF0vRmxh
Z3MgNAovQXNjZW50IDY4MAovQ2FwSGVpZ2h0IDY4MAovRGVzY2VudCAtMTQxCi9JdGFsaWNBbmds
ZSAwCi9TdGVtViAxMDMKL01pc3NpbmdXaWR0aCA1MDYKL0ZvbnRGaWxlMiAxMiAwIFI+PgplbmRv
YmoKMTIgMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9MZW5ndGgxIDM0OTE2L0xlbmd0aCAx
MjY0OD4+c3RyZWFtCnic7X0HfBzF2f7M7vXedbqTdHc66U7yqfdm3VrNlmTZVjlbki1bstx7xd0W
HQQOnYQSML0Y8OncZAPBEBMSiIEQAkkIBBKSOAQTkxCKjaT/Ozs7suwAX5Iv3/f98/vpRs89z7w7
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
FhO7mbiWiWuY6GfiaiauYuJKJq5g4nImWNiDWdiDWdiDWdiDWdiDWdiDWdiDWdiDWdiDWdiDWdiD
WdiDWdiDWdiDWdiDWdiDWdiDWdiD1zHB4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M
4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M4h/M
4h/M4h/Mwh7Mwh7Mwh7Moh3Moh3Moh3Moh3Moh3Moh3Moh3Moh3Moh1cvZ8IiJpjSZUeiJljSXag
S2ju4lhSGVAfze2itDOWpAPaQXPbKW2jtJXSlljiJKDNscRqoE2ULqK0kR7bQHPrKa2jxrWxxCqg
NZRWU1pFi6yktILS8lhCLdAySkspLaG0mNKiWEIN0EKaW0Cpl9J8Sj2UuinNozSXntdFc3MozabU
SamDUjulWZRmUopQaqPUSqmFUjOlGZSmU5pGqYnSVEqNlBpi7nqgekpTYu4GoMmU6mLuRqDamHsq
UA2lakpV9Ngkep5AKUzPq6Q0kVIFLVlOqYyeXkqphFIxpSJKhbSyAkr5tJY8SrmUcmhl2ZSy6HmZ
lDIohShNoJROKY1SkFYdoJRK60yh5KeUTKv2UfLS8zyUkiglUkqg5KbkirmmAcVTcsZc04HiKDmo
0U7JRo1WShZKZnrMRMlIjQZKeko6ekxLSUNJTY+pKCkpKWLxM4DksfhmIBklnho5msOUkEh4hNKw
WAQP0dyXlM5SOkOPfUFzn1P6jNKnlP4Wc7YBfRJztgL9leb+QuljSqfpsT/T3EeUTlH6kB77E6UP
qPGPlE5S+gOl39Miv6O592nutzT3G0rvUXqXHvs1pXeo8W1Kv6L0FqVf0iK/oLmfU3ozFjcL6I1Y
3Eygn1F6nRp/Suk1Sj+h9Cot8gqll6nxBKUfU3qJ0ou0yI8o/ZAaX6D0A0rPUzpO6fu05HM09yyl
Y5Seoce+R+lpanyK0pOUjlI6QmmQljxMc4coHaR0gNL+mCMMFIs5ZgMNUIpS2kfpCUqPU3qM0l5K
j8Yc4K/xI7SWhyk9RI89SOkBSvdTuo/SvZTuobSH0t20srtoLd+ldCc9dgel2yndRuk79IRv09yt
lG6hdDM9dhOt5UZKN9Bj11O6jtK3KO2mdC0teQ3N9VO6mtJVlK6kdEXM3gN0ecw+H+gySpfG7IuA
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
cTIEXUbZJ17ynF2e0ew8b+t0nSJbJzuETW9IO+Z41+t089DBJaN7brec93CEhED+8774h7sJ6VEy
f2td38CKihVtRUaFnONVWqVmwuSlU6rXNGcFm7fPnNgeSHB6ErmJKqNGbrMMJ/rrc1Y/uLoU71ly
7+oyc7zToDO7LGa3WRWf6PLWLG6onBf26FypnNHnVYMTTEkbvkXOFfb0j4yw+xJOwb8IQzHCYmnI
/1j8j53u+a8SnoVfP5e4SVJ6+h9JvOpr05WQfvbPJtm0sUnuHZOu/Mb0xbmk6BlP5yel6T8s3UyS
Sv+N6SExffD1Sb35H0mayq9IR/+VpG346qRLHk/jaTz9l6n1X04X/WclfYo+xdDw30xDxgOmNvMU
i97ynOVFSK+Np/E0nsbTeBpP42k8jafxNJ7G03gaT+NpPI2n8TSextN4Gk//XBK/R+akvxhkQ7zI
3UiBpop/WcjHn+L/wkf4D/k/8x/xp/lP+I+RBSWgSrQAzUXZqAKZ0Xo0Cx/E1+NOfh3egTm8Gq/A
XYjHz+LbkRNtQTI0H+qSkb8zhNBp38gIvGPyDnkZQv+GT0BiXRboB4fIH0NSIlTds2Lp/HVL6RGE
r0dypPoH//ztBeVOo9Mj5xmkv64kM5wDfuVfg6wTPSarQT1fiQ/h2BjwJ/994GT/PGRpFHzX/zxk
yV8P/nE0+Svxe2T8VyHrR8lfiSDKGcc4vgn8z9CccfzPQVaAbmPAb6DL/1Xw96HbGCD/L0FWgjr/
XeB9qPkfAfcE8v1vAcb45n8G8kFUOI5xjGMc4xjHfxd4BE343wa3HtWO438OcH+8HFLLfzNNQU+g
dWgxykELpfr4/+I+ntyny+8aHIjuOzrPWPE3FE9v7J/803bxt+efT/7O1rNnhq5Rf6g8BFm1+OwA
Xv8P6k4RBAplbmRzdHJlYW0KZW5kb2JqCjEwIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3Iv
Rm9udE5hbWUvSkJFRUlGK0NhbGlicmksQm9sZC9Gb250QkJveFswIC0xNzggNzU0IDY5MF0vRmxh
Z3MgNAovQXNjZW50IDY5MAovQ2FwSGVpZ2h0IDY5MAovRGVzY2VudCAtMTc4Ci9JdGFsaWNBbmds
ZSAwCi9TdGVtViAxMTMKL01pc3NpbmdXaWR0aCA1MDYKL0ZvbnRGaWxlMiAxMyAwIFI+PgplbmRv
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
WhTS89LyEp2sA3Yz/gfl2yfDf3qgA98WuCzu8VMDvwCDJPNfH6Q5pwkPsCDj/2a4VAxPHg/yTSeF
Y6cPiltZUFoj4S+nBtVl/7Lw+WSYDJPh3xfUAXXPZJgMk2EyTIbJMBkmw2SYDJNhMkyGyTAZJsNk
mAyTYTJMhskwGU4N4r8jc5FfvjIRXmQNkRH2O9iUmGgzvYpuoNcQ9kuqt9AUfiNdQfX0B/wltId2
0Lm0nxpoIn2aSEgtlJCwX8Ui5KhpbAyulF0hLoHLd62HiCVioE8cYT/QpSGksmvF8kV9y7MqelYs
FlMJ1CMliu/409Mn5TtKjo6doIj86pdEd1zoi5MyKZPynyj8p2TGf1ckDeQivp3UfheBvA0niJzU
/38Q/jli/S7CbBUV+gU55x8V/hWweUQgflqRfe9vi6QR/PHfkQl95149UfhcUvddhHuKxP1fE/5Z
YpmUSZmUSZmUSfn/KNzN5DZyJvvZ57/zPsneF6W3Dw2Gtj+8UF/6OUnAF8w9H1z4POOTzpv6vn5t
ZLPyQ/mTkFcpvsfC578A50DIwQplbmRzdHJlYW0KZW5kb2JqCjE4IDAgb2JqCjw8L1R5cGUvTWV0
YWRhdGEKL1N1YnR5cGUvWE1ML0xlbmd0aCAxNzUyPj5zdHJlYW0KPD94cGFja2V0IGJlZ2luPSfv
u78nIGlkPSdXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQnPz4KPD9hZG9iZS14YXAtZmlsdGVycyBl
c2M9IkNSTEYiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSdhZG9iZTpuczptZXRhLycgeDp4bXB0az0n
WE1QIHRvb2xraXQgMi45LjEtMTMsIGZyYW1ld29yayAxLjYnPgo8cmRmOlJERiB4bWxuczpyZGY9
J2h0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMnIHhtbG5zOmlYPSdo
dHRwOi8vbnMuYWRvYmUuY29tL2lYLzEuMC8nPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0n
MjNmNDU2MDgtODI4ZC0xMWRmLTAwMDAtZTRlMjhlNTk1MTJkJyB4bWxuczpwZGY9J2h0dHA6Ly9u
cy5hZG9iZS5jb20vcGRmLzEuMy8nPjxwZGY6UHJvZHVjZXI+R1BMIEdob3N0c2NyaXB0IDguNzE8
L3BkZjpQcm9kdWNlcj4KPHBkZjpLZXl3b3Jkcz4oKTwvcGRmOktleXdvcmRzPgo8L3JkZjpEZXNj
cmlwdGlvbj4KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JzIzZjQ1NjA4LTgyOGQtMTFkZi0w
MDAwLWU0ZTI4ZTU5NTEyZCcgeG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAv
Jz48eG1wOk1vZGlmeURhdGU+MjAxMC0wNi0yNVQxMDoxNDowNiswMjowMDwveG1wOk1vZGlmeURh
dGU+Cjx4bXA6Q3JlYXRlRGF0ZT4yMDEwLTA2LTI1VDEwOjE0OjA2KzAyOjAwPC94bXA6Q3JlYXRl
RGF0ZT4KPHhtcDpDcmVhdG9yVG9vbD7+Mzc3JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYj
MDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMTswMDAuJiMw
OzAwMC4mIzA7PC94bXA6Q3JlYXRvclRvb2w+PC9yZGY6RGVzY3JpcHRpb24+CjxyZGY6RGVzY3Jp
cHRpb24gcmRmOmFib3V0PScyM2Y0NTYwOC04MjhkLTExZGYtMDAwMC1lNGUyOGU1OTUxMmQnIHht
bG5zOnhhcE1NPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vJyB4YXBNTTpEb2N1bWVu
dElEPScyM2Y0NTYwOC04MjhkLTExZGYtMDAwMC1lNGUyOGU1OTUxMmQnLz4KPHJkZjpEZXNjcmlw
dGlvbiByZGY6YWJvdXQ9JzIzZjQ1NjA4LTgyOGQtMTFkZi0wMDAwLWU0ZTI4ZTU5NTEyZCcgeG1s
bnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJyBkYzpmb3JtYXQ9J2FwcGxp
Y2F0aW9uL3BkZic+PGRjOnRpdGxlPjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9J3gtZGVmYXVs
dCc+/jM3NyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYj
MDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMw
OyYjMDsmIzA7JiMwOyYjMDsmIzA7JiMwOyYjMDs8L3JkZjpsaT48L3JkZjpBbHQ+PC9kYzp0aXRs
ZT48ZGM6Y3JlYXRvcj48cmRmOlNlcT48cmRmOmxpPv4zNzcmIzA7JiMwOyYjMDsmIzA7JiMwOzwv
cmRmOmxpPjwvcmRmOlNlcT48L2RjOmNyZWF0b3I+PGRjOmRlc2NyaXB0aW9uPjxyZGY6U2VxPjxy
ZGY6bGk+KCk8L3JkZjpsaT48L3JkZjpTZXE+PC9kYzpkZXNjcmlwdGlvbj48L3JkZjpEZXNjcmlw
dGlvbj4KPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIAo8P3hwYWNrZXQgZW5kPSd3Jz8+CmVuZHN0cmVhbQplbmRvYmoKMiAwIG9iago8PC9Qcm9k
dWNlcihHUEwgR2hvc3RzY3JpcHQgOC43MSkKL0NyZWF0aW9uRGF0ZShEOjIwMTAwNjI1MTAxNDA2
KzAyJzAwJykKL01vZERhdGUoRDoyMDEwMDYyNTEwMTQwNiswMicwMCcpCi9UaXRsZShcMzc2XDM3
N1wwMDBjXDAwMG9cMDAwbVwwMDBwXDAwMGFcMDAwclwwMDBpXDAwMHNcMDAwaVwwMDBvXDAwMG5c
MDAwIFwwMDBvXDAwMGZcMDAwIFwwMDBjXDAwMG9cMDAwZFwwMDBlXDAwMGNcMDAwIFwwMDBjXDAw
MG9cMDAwblwwMDB0XDAwMHJcMDAwaVwwMDBiXDAwMHVcMDAwdFwwMDBpXDAwMG9cMDAwblwwMDBz
KQovQ3JlYXRvcihcMzc2XDM3N1wwMDBQXDAwMERcMDAwRlwwMDBDXDAwMHJcMDAwZVwwMDBhXDAw
MHRcMDAwb1wwMDByXDAwMCBcMDAwVlwwMDBlXDAwMHJcMDAwc1wwMDBpXDAwMG9cMDAwblwwMDAg
XDAwMDFcMDAwLlwwMDAwXDAwMC5cMDAwMCkKL0F1dGhvcihcMzc2XDM3N1wwMDBoXDAwMG9cMDAw
ZVwwMDBuXDAwMGUpCi9LZXl3b3JkcygpCi9TdWJqZWN0KCk+PmVuZG9iagp4cmVmCjAgMTkKMDAw
MDAwMDAwMCA2NTUzNSBmIAowMDAwMDA4NzcyIDAwMDAwIG4gCjAwMDAwMzQxODUgMDAwMDAgbiAK
MDAwMDAwODcxMyAwMDAwMCBuIAowMDAwMDA4NTcwIDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAg
biAKMDAwMDAwODU1MCAwMDAwMCBuIAowMDAwMDA5MjgzIDAwMDAwIG4gCjAwMDAwMTA1NzYgMDAw
MDAgbiAKMDAwMDAxMDE1MSAwMDAwMCBuIAowMDAwMDIzNTA5IDAwMDAwIG4gCjAwMDAwMDg4Mzcg
MDAwMDAgbiAKMDAwMDAxMDc3NiAwMDAwMCBuIAowMDAwMDIzNzE1IDAwMDAwIG4gCjAwMDAwMDg4
NzYgMDAwMDAgbiAKMDAwMDAwOTU3NSAwMDAwMCBuIAowMDAwMDA5ODE5IDAwMDAwIG4gCjAwMDAw
MTAzOTcgMDAwMDAgbiAKMDAwMDAzMjM1NiAwMDAwMCBuIAp0cmFpbGVyCjw8IC9TaXplIDE5IC9S
b290IDEgMCBSIC9JbmZvIDIgMCBSCi9JRCBbPEFENEE2QThBN0RDMkREMjI3RUM0ODcxRDUxNTI3
NDlFPjxBRDRBNkE4QTdEQzJERDIyN0VDNDg3MUQ1MTUyNzQ5RT5dCj4+CnN0YXJ0eHJlZgozNDcw
MAolJUVPRgo=

------=_NextPart_000_0007_01CB144F.B20DECA0
Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;
	name="comparision of codec contributions.xlsx"
Content-Transfer-Encoding: base64
Content-Disposition: attachment;
	filename="comparision of codec contributions.xlsx"

UEsDBBQABgAIAAAAIQBvBC4zwQEAABIIAAATANcBW0NvbnRlbnRfVHlwZXNdLnhtbCCi0wEooAAC
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAMRVy07rMBDdX4l/iLxFjQtI6OqqKQseS0ACPsDY08aqY1ueAdq/Z5K2uYDaoJJIbJo2
ic9j5sx0crGsXPYKCW3whTjJxyIDr4Oxfl6Ip8eb0V+RISlvlAseCrECFBfToz+Tx1UEzPi0x0KU
RPGflKhLqBTmIYLnJ7OQKkX8M81lVHqh5iBPx+NzqYMn8DSiGkNMJ1cwUy+Osusl314rebZeZJfr
92qqQqgYndWKWKh89eYLySjMZlaDCfqlYugcYwJlsASgyuUxWWZMD0DExlDI6eSOTSdrILtXiW5V
xQxy6SSxA1h/nuTsoZeIBuy4RtlPiLRygL2pPvtdg26Zd5Q3gcPDrG0amPPJpgdY2ogdDN21667J
W0iL5xAWQ1elTkNeKeu3uveEQJecCZTNpX8KTFJvnDqOYQPYxc3xvU8houSw9zYP9TQZMKPIkJDI
QtuvPb7rujcjg7K5nPbW8DmWLX5XDXgI2/c2Os5+Scemcyg3XwbLwoH++/P+rA9aOX1Z8rwMXP8W
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
bWxQSwUGAAAAABQAFABiBQAAyEoAAAAA

------=_NextPart_000_0007_01CB144F.B20DECA0--

