pm_mail@libero.it
2006-Feb-22 07:35 UTC
[Speex-dev] Some aditional details about split_cb_search_shape_sign
Hi all. I'm starting to study how speex works because I would like to understand in deep how a CELP coder/decoder works. I have some difficult understanding the vector quantization performed in the split_cb_search_shape_sign function. It's a bit hard to understand. Could you please explain me the algorithm step by step? I'm indagating the 5950 bps narrowband. Thank you. Gio.
Jean-Marc Valin
2006-Feb-22 07:40 UTC
[Speex-dev] Some aditional details about split_cb_search_shape_sign
Hi, I suggest you start with split_cb_search_shape_sign_N1(), which is a simplified version for complexity=1. The basic idea is quantized the first sub-vector, update the target, quantize the second vector, update... and so on. Of course, all of this is done in a closed (analysis-by-synthesis) loop. The full split_cb_search_shape_sign() function does the same except that it always tracks the N-best hypotheses at the same time so it can produce a (sightly) better final result. And yes it is messy and I doubt that can be improved much. Jean-marc Le mercredi 22 f?vrier 2006 ? 12:10 +0100, pm_mail@libero.it a ?crit :> Hi all. > I'm starting to study how speex works because I would like to > understand in deep how a CELP coder/decoder works. > I have some difficult understanding the vector quantization performed > in the split_cb_search_shape_sign function. It's a bit hard to > understand. > Could you please explain me the algorithm step by step? > I'm indagating the 5950 bps narrowband. > Thank you.