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

From: "Christian Hoene" <[email-masked]>
Date: Thu, 16 Jun 2011 23:36:49 +0200

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:[email-masked]]
> Sent: Thursday, June 16, 2011 6:04 PM
> To: [email-masked]; [email-masked]
> Cc: [email-masked]
> 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/>

---

From: "codec issue tracker" <[email-masked]>
Date: Thu, 16 Jun 2011 16:03:44 -0000

* status:  new => closed
  * resolution:  => invalid

Comment:

 out of scope