[Speex-dev] Exc CB Search very little Question

Björn Thalheim s9268716 at mail.inf.tu-dresden.de
Tue Sep 19 08:52:26 PDT 2006


Hi,

Jean-Marc Valin wrote:
> How about this: the codebook search gives you the N best (in order) 
> combinations of entries for the current sub-frame. You can simply 
> compute a one-bit checksum on all the codebook entries and choose 
> which of the N-best to use based on that and the "message" you have.

So you're suggesting, I can either write into the stream:
- nind[0][0..nb_subvect], or
- nind[1][0..nb_subvect], or
- nind[2][0..nb_subvect], or
- ...
Or do I have to do a little more hacking in the search function to get
the N best _combinations_ of CB IDs?

Wouldn't it be easier and just as effective (for N==2) to do the following:
Get nb_subvect indeces to write into the stream. Write all but the last
of these into the stream. If nind[0][nb_subvect-1] and
nind[1][nb_subvect-1] have different LSBs and if the difference between
ndist[0] and ndist[1] is small enough (smaller than the normal variation
of ndist[0], which can be measured), we can decide to write
nind[1][nb_subvect-1] into the stream instead of nind[0][nb_subvect-1].
(that's actually what I am doing right now)

> Of course, there will be cases where all of the N-best match to the
> same checksum, but that's what error-correcting codes are for.

Yes, thats called Wet Paper Code writing
(http://www.ws.binghamton.edu/fridrich/Research/WPC_TransactionsJournal1.pdf).
It gives the Embedder the freedom to decide where something can be
embedded and where not without requiring that knowledge from the
receiver. Very interesting thing. Its origin is in hard disk fault
tolerance and its principles where documented several decades ago.

So my goal is right now, to find out where and how I can change things.

Regards,

Björn


-- 
Tomorrow, this will be part of the unchangeable past but fortunately,
it can still be changed today.

-- 
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/2ab517e1/signature.pgp


More information about the Speex-dev mailing list