[Speex-dev] Exc CB Search very little Question

Björn Thalheim s9268716 at mail.inf.tu-dresden.de
Tue Sep 19 06:40:59 PDT 2006


Hi,

Jean-Marc Valin wrote:
>> 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.

Ok, that helps. Thanks.

>> 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.

Yes. I already introduced into the LSP prediction such an nbest list to
do that straightforward. My goal is to make sure if nothing is embedded,
the altered Speex version still needs to write exactly the same
coefficients as the original non-stego version.

For my scenario, I stick to NB encoding at 15kbps, so N is equal to 2.
So all I can do, in my opinion, is to check if the LSBs of
best_nind[0][i] and best_nind[1][i] (for each i in 0:nb_subvect) are
different. The Problem is, that I would like to know how big the error
is, which I introduce into the signal by this change. But in the end, I
only know the ndist for all indexes of the last one of these nb_subvect
indexes. (I could increase N of course, but I guess the condition stated
in the second line of the first paragraph here could be violated by that)

So for my choice stated above, I can only change something on the last
of these nb_subvect CB line IDs, because I can measure the impact by
(ndist[0]-ndist[1])^2, only for i==nb_subvect-1 but for each
i<nb_subvect-1 I don't know what the impact is on the overall error.
So I think if I want to have control, I can only use the last of these
nb_subvect codebook entries.

Am I right on this?

Regards,

Björn


-- 
Q:	How do you stop an elephant from charging?
A:	Take away his credit cards.

-- 
Important! Please recognize my new GPG Public Key!
                 Björn Thalheim
gpg fingerprint: 2F22 AAEB 1818 1548 EC78  1AE8 9D2E FCB4 0980 28CC
   download key: wget http://www.ifsr.de/~bjoern/gpg/public_key.asc
       See also: http://www.ifsr.de/~bjoern/gpg/key.html

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 252 bytes
Desc: OpenPGP digital signature
Url : http://lists.xiph.org/pipermail/speex-dev/attachments/20060919/113c7c69/signature.pgp


More information about the Speex-dev mailing list