[codec] Hybrid codec simulations

Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> Thu, 25 March 2010 03:16 UTC

Return-Path: <jean-marc.valin@usherbrooke.ca>
X-Original-To: codec@core3.amsl.com
Delivered-To: codec@core3.amsl.com
Received: from localhost (localhost []) by core3.amsl.com (Postfix) with ESMTP id C90033A68CD for <codec@core3.amsl.com>; Wed, 24 Mar 2010 20:16:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.731
X-Spam-Level: *
X-Spam-Status: No, score=1.731 tagged_above=-999 required=5 tests=[BAYES_50=0.001, DNS_FROM_OPENWHOIS=1.13, J_CHICKENPOX_44=0.6]
Received: from mail.ietf.org ([]) by localhost (core3.amsl.com []) (amavisd-new, port 10024) with ESMTP id 0VyjRPC2GIcl for <codec@core3.amsl.com>; Wed, 24 Mar 2010 20:16:58 -0700 (PDT)
Received: from relais.videotron.ca (relais.videotron.ca []) by core3.amsl.com (Postfix) with ESMTP id C4F3A3A6978 for <codec@ietf.org>; Wed, 24 Mar 2010 20:16:58 -0700 (PDT)
MIME-version: 1.0
Content-transfer-encoding: 7bit
Content-type: text/plain; charset="ISO-8859-1"; format="flowed"
Received: from [] ([]) by VL-MO-MR004.ip.videotron.ca (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTP id <0KZT002NQIGVWCC0@VL-MO-MR004.ip.videotron.ca> for codec@ietf.org; Wed, 24 Mar 2010 23:17:19 -0400 (EDT)
Message-id: <4BAAD5BF.6090501@usherbrooke.ca>
Date: Wed, 24 Mar 2010 20:17:19 -0700
From: Jean-Marc Valin <jean-marc.valin@usherbrooke.ca>
User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); en-US; rv: Gecko/20100227 Thunderbird/3.0.3
To: "codec@ietf.org" <codec@ietf.org>
Subject: [codec] Hybrid codec simulations
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, 25 Mar 2010 03:16:59 -0000

Hi everone,

There's been some discussion about the possibility of a hybrid codec, so 
I've made a few full-band codec experiments on the topic based on 
Broadvoice, SILK, and CELT. Note that these are simulations (based on 
*very* early work), not actual codecs. The idea is that a 
linear-prediction (LP) codec is used for the low band (0-4 Hz or 0-8 
kHz) and CELT is used up to 20 kHz.

I uploaded the files at http://jmvalin.ca/codec_experiment1/

The reference file is ref.wav. Here's an example of the naming I used: 
the file silk16_celt_40_21.wav means silk running at 16 kHz and 21 kbps 
and combined with CELT for a *total* bit-rate of 40 kb/s. For the BV 
files, the BV bit-rate is indicated directly with the codec.

Now, I should point out a few caveats (I'm sure there are more I forgot):

1) the filters aren't perfect reconstruction
2) the distribution of the bit-rate between the low-band and high-band 
was done very quicly
3) In the case of BV, I did not modify the codec, so the split is most 
likely not optimal
4) The CELT-only files probably have an unfair "advantage" here because 
these are the only files that have been tuned a bit because they are not 
a combination of two codecs
5) The CELT files (and combinations) are based on 10 ms frames, rather 
than the 5 ms frames I usually tune for (there's probably a few more 
birdie artefacts that there should be)
6) The SILK+CELT files are VBR, whereas the others are CBR
7) This is not meant to be a codec competition, just a way to explore 
the possibilities

All that being said, comments are welcome.