[Speex-dev] Exc CB Search very little Question

Jean-Marc Valin jean-marc.valin at usherbrooke.ca
Tue Sep 19 05:50:29 PDT 2006

> 1. What is the point in multiplying a codebook index with some number
> ant adding a loop variable to it as done in the exc unquant function.
>    for (j=0;j<subvect_size;j++)         	
>       exc[subvect_size*i+j]+=s*0.03125*shape_cb[ind[i]*subvect_size+j];

That's just how you represent a 2D array in C: the codebook has
shape_cb_size entries and subvect_size samples per entry.

> 2. How does the CB search function split_cb_search_shape_sign work? I
> know the parameter N defines the number of candidates for each of the
> nb_subvect CB line numbers which are later on written into the stream.
> But especially, how the best_ntarget list is being updated, I am a
> little clueless.

Hard to explain simply. It's a fundamental thing in CELP.

> PS: for me personally, I'd like to know how to change the cb id found
> while keeping the error introduced by this low.

That's for steganography? I'd say you just look at the nbest list and
chose the 2nd, 3rd, ... best entry instead of the first.


More information about the Speex-dev mailing list