[opus] Fwd: [codec] Last proposal for the update draft

Jean-Marc Valin jmvalin at jmvalin.ca
Fri Jun 17 15:02:35 UTC 2016


Hi,

FYI, I'm proposing the following update to the Opus spec to improve
low-bitrate hybrid quality. If you'd like to comment, you can reply to
this email:
https://www.ietf.org/mail-archive/web/codec/current/msg03247.html

Cheers,

	Jean-Marc

-------- Forwarded Message --------
Subject: [codec] Last proposal for the update draft
Date: Fri, 17 Jun 2016 08:26:04 -0400
From: Jean-Marc Valin <jmvalin at jmvalin.ca>
To: codec at ietf.org <codec at ietf.org>

Hi,

I've been working on completing the update draft and have come across
one last thing that I think should be updated in the spec. This was
discovered through running hybrid mode at low rates, around 16 kb/s.

At those rates, we sometimes only have enough bits to code a single
CELT band (8 - 9.6 kHz). When that happens in hybrid mode (unlike
CELT-only), the second band (CELT band 18, from 9.6 to 12 kHz) cannot
use folding because it is wider than the amount already coded, and
falls back to LCG noise. Because it can also happen on transients
(e.g. stops), it can cause audible pre-echo.

My proposed solution is to fix the folding behaviour so that it is
never forced to fall back to LCG due to not enough folding data. This
is achieved by simply repeating part of the first band in the folding
of the second band. The proposed patch is available at:
https://git.xiph.org/?p=opus.git;a=commitdiff;h=949c7f33181
It's a decoder-only change and it fixes the low-bitrate pre-echo
problem. I uploaded a short example that demonstrates the problem and
the fix. This is before the change:
http://jmvalin.ca/misc_stuff/fix_before.wav
and this is after the change:
http://jmvalin.ca/misc_stuff/fix_after.wav
Note especially the "t" in the word "tour", which has noticeable HF
pre-echo in the "before" file. Both files are decoded from the same 16
kb/s CBR bit-stream.

The fix does not impact compatibility, because the improvement does
not depend on the encoder doing anything special. I also do not see
any case where an encoder could have effectively used the current
broken behaviour to improve quality over the proposed change.

For these reasons, I think it should be included in the update draft.

Cheers,

	Jean-Marc

_______________________________________________
codec mailing list
codec at ietf.org
https://www.ietf.org/mailman/listinfo/codec


More information about the opus mailing list