Re: [codec] #15: Efficiently combine pre-encoded audio

"Christian Hoene" <hoene@uni-tuebingen.de> Thu, 16 June 2011 21:37 UTC

Return-Path: <hoene@uni-tuebingen.de>
X-Original-To: codec@ietfa.amsl.com
Delivered-To: codec@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 326CE11E8326 for <codec@ietfa.amsl.com>; Thu, 16 Jun 2011 14:37:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.825
X-Spam-Level:
X-Spam-Status: No, score=-3.825 tagged_above=-999 required=5 tests=[AWL=2.424, BAYES_00=-2.599, HELO_EQ_DE=0.35, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gRAR34CVUL9X for <codec@ietfa.amsl.com>; Thu, 16 Jun 2011 14:37:10 -0700 (PDT)
Received: from mx06.uni-tuebingen.de (mx06.uni-tuebingen.de [134.2.3.3]) by ietfa.amsl.com (Postfix) with ESMTP id 3F78B11E80F9 for <codec@ietf.org>; Thu, 16 Jun 2011 14:37:05 -0700 (PDT)
Received: from hoeneT60 (vpn0751.extern.uni-tuebingen.de [134.2.167.1]) (authenticated bits=0) by mx06.uni-tuebingen.de (8.13.6/8.13.6) with ESMTP id p5GLaql0027476 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO) for <codec@ietf.org>; Thu, 16 Jun 2011 23:37:03 +0200
From: "Christian Hoene" <hoene@uni-tuebingen.de>
To: <codec@ietf.org>
References: <062.bc75a3b3c4a980df34535f87c9484935@trac.tools.ietf.org> <071.3d8370ffeb15af008b1b3ac0ac644cb8@trac.tools.ietf.org>
In-Reply-To: <071.3d8370ffeb15af008b1b3ac0ac644cb8@trac.tools.ietf.org>
Date: Thu, 16 Jun 2011 23:36:49 +0200
Organization: =?UTF-8?Q?Universit=C3=A4t_T=C3=BCbingen?=
Message-ID: <007901cc2c6d$8ac649d0$a052dd70$@uni-tuebingen.de>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Mailer: Microsoft Outlook 14.0
Thread-Index: AQJKaF01XtIUcLK4+Tl8y8GVkcqaXAFLG7Skk7mlMjA=
Content-Language: de
X-AntiVirus: NOT checked by Avira MailGate (version: 3.1.2; host: mx06)
Subject: Re: [codec] #15: Efficiently combine pre-encoded audio
X-BeenThere: codec@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Codec WG <codec.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/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, 16 Jun 2011 21:37:11 -0000

Some time ago on this mailing list, Roman Shpount was raising this requirement and he got the answer from Koen Vos

" Jean-Marc and I discussed this a bit, and this is how we see it:

Resetting the decoder state would lead to a discontinuity in the output signal and may create an objectionable "click" sound.  Moreover, the incoming stream that's enabled in the switching node at the moment of the decoder reset may depend on the last frame before the switch. So the first few frames would not be decoded correctly.

Coding and transmitting the decoder state doesn't overcome the discontinuity problem.  And it would add a lot of complications and code to Opus.  

A better method seems to be:
1. Determine if the first frame after switching has significant dependencies on the previous frame (i.e., long-term prediction in the case of SILK, or energy prediction in the case of CELT)
2a: If yes: decode the first frame and re-encode it independently.  After that, switch to the new stream.
2b. If no: simply switch to the new stream immediately.
This ensures a smooth transition and fast convergence to the correct output signal for the new stream.

best,
koen."

It might be worth to write this down in some draft so that others can profit from this knowledge, too. Emails are forgotten fast and some further descriptions and hints on how to use Opus would not be too bad.

With best regards,

 Christian 




> -----Original Message-----
> From: codec issue tracker [mailto:trac+codec@zinfandel.tools.ietf.org]
> Sent: Thursday, June 16, 2011 6:04 PM
> To: hoene@uni-tuebingen.de; jean-marc.valin@usherbrooke.ca
> Cc: codec@ietf.org
> Subject: Re: [codec] #15: Efficiently combine pre-encoded audio
> 
> #15: Efficiently combine pre-encoded audio
> 
> Changes (by jean-marc.valin@…):
> 
>   * status:  new => closed
>   * resolution:  => invalid
> 
> 
> Comment:
> 
>  out of scope
> 
> --
> ------------------------------------+---------------------------------------
>  Reporter:  hoene@…                 |        Owner:
>      Type:  enhancement             |       Status:  closed
>  Priority:  minor                   |    Milestone:
> Component:  requirements            |      Version:
>  Severity:  Active WG Document      |   Resolution:  invalid
>  Keywords:                          |
> ------------------------------------+---------------------------------------
> 
> Ticket URL: <http://trac.tools.ietf.org/wg/codec/trac/ticket/15#comment:4>
> codec <http://tools.ietf.org/codec/>