search for: nb_subvect

Displaying 14 results from an estimated 14 matches for "nb_subvect".

2006 Sep 18
2
Exc CB Search very little Question
Hi, Jean-Marc Valin wrote: > Not sure I understand your question. Change the order of what within what? In cb_search, we iterate nb_subvect times over a codebook, finding nb_subvect codebook entries to quantize the excitation signal. After finding these nb_subvect codebook entries, they're written into the stream: /*save indices*/ for (i=0;i<nb_subvect;i++) { ind[i]=nind[0][i]; speex_bits_pack(bits,ind[i],p...
2006 Sep 19
1
Exc CB Search very little Question
...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...
2006 Sep 19
2
Exc CB Search very little Question
...ed, 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...
2006 Sep 18
2
Exc CB Search very little Question
Hello, just to make sure I haven't gotten anything wrong: In cb_search.c (function split_cb_search_shape_sign) after all that searching nb_subvect CB entries are being written into the stream. These are all taken from the same codebook. If I wanted to, I could just change their order, couldn't I? Because important is only the linear combination of them all together, which I keep invariant by just switching them around, I think. Regards,...
2006 Sep 20
2
Denoiser level and AEC problem
...text/plain; charset="iso-8859-1" Hi, Jean-Marc Valin wrote: > Well, you could change the order in the encoder as long as you reverse > it in the decoder as well. Ok, I see that in the split_cb_shape_sign_unquant function, that each coefficient is tied to it's position in the nb_subvect exc coefficients. Honestly, I have problems understanding what exactly the codebook search works like. If you have the time to to that, Jean-Marc, I would appreciate some hints on the following: 1. What is the point in multiplying a codebook index with some number ant adding a loop variable to it...
2006 Sep 19
2
Exc CB Search very little Question
Hi, Jean-Marc Valin wrote: > Well, you could change the order in the encoder as long as you reverse > it in the decoder as well. Ok, I see that in the split_cb_shape_sign_unquant function, that each coefficient is tied to it's position in the nb_subvect exc coefficients. Honestly, I have problems understanding what exactly the codebook search works like. If you have the time to to that, Jean-Marc, I would appreciate some hints on the following: 1. What is the point in multiplying a codebook index with some number ant adding a loop variable to it...
2006 Sep 19
0
Exc CB Search very little Question
...sion 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 con...
2006 Sep 21
1
Denoiser level and AEC problem
...> > Hi, > > Jean-Marc Valin wrote: >> Well, you could change the order in the encoder as long as you reverse >> it in the decoder as well. > > Ok, I see that in the split_cb_shape_sign_unquant function, that each > coefficient is tied to it's position in the nb_subvect exc coefficients. > > Honestly, I have problems understanding what exactly the codebook search > works like. If you have the time to to that, Jean-Marc, I would > appreciate some hints on the following: > 1. What is the point in multiplying a codebook index with some number > ant...
2006 Sep 20
0
Denoiser level and AEC problem
...> > Hi, > > Jean-Marc Valin wrote: >> Well, you could change the order in the encoder as long as you reverse >> it in the decoder as well. > > Ok, I see that in the split_cb_shape_sign_unquant function, that each > coefficient is tied to it's position in the nb_subvect exc coefficients. > > Honestly, I have problems understanding what exactly the codebook search > works like. If you have the time to to that, Jean-Marc, I would > appreciate some hints on the following: > 1. What is the point in multiplying a codebook index with some number > ant...
2006 Sep 11
2
Distances in codebook search
Hello, I recently measured the distances ndist[0][nb_subvect-1] which are used to make the decicion, which codebook entries are to be used in libspeex/cb_search.c (function split_cb_search_shape_sign). For that I took a couple of audio books (all german speech), downsampled the tracks to 8kHz and encoded them with "speexenc -n --bitrate 15000 ..."...
2007 Aug 06
2
11kbps narrowband on a 24bit DSP
...0 }; /* Parameters for Long-Term Prediction (LTP)*/ static const ltp_params ltp_params_lbr = { gain_cdbk_lbr, 5, 7 }; /* Split-VQ innovation parameters narrowband */ static const split_cb_params split_cb_nb_med = { 8, /*subvect_size*/ 5, /*nb_subvect*/ exc_8_128_table, /*shape_cb*/ 7, /*shape_bits*/ 0, I have three problems. 1. My DSP has 24 bits register and memory with a 24 X 24 = 48 bit multiply and a 56 bit accumulator. I see scaling shifts when using 32 bit registers. Can anyone tell me what scaling...
2006 Sep 11
0
Distances in codebook search
...... CB -----Original Message----- From: speex-dev-bounces@xiph.org [mailto:speex-dev-bounces@xiph.org] On Behalf Of Bj?rn Thalheim Sent: Monday, September 11, 2006 4:43 AM To: speex-dev@xiph.org Subject: [Speex-dev] Distances in codebook search Hello, I recently measured the distances ndist[0][nb_subvect-1] which are used to make the decicion, which codebook entries are to be used in libspeex/cb_search.c (function split_cb_search_shape_sign). For that I took a couple of audio books (all german speech), downsampled the tracks to 8kHz and encoded them with "speexenc -n --bitrate 15000 ..."...
2006 Sep 19
0
Exc CB Search very little Question
...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 &g...
2007 Aug 06
0
11kbps narrowband on a 24bit DSP
...ms_lbr = { > > gain_cdbk_lbr, > > 5, > > 7 > > }; > > > > /* Split-VQ innovation parameters narrowband */ > > static const split_cb_params split_cb_nb_med = { > > 8, /*subvect_size*/ > > 5, /*nb_subvect*/ > > exc_8_128_table, /*shape_cb*/ > > 7, /*shape_bits*/ > > 0, > > > > > > > > I have three problems. > > > > 1. My DSP has 24 bits register and memory with a 24 X 24 = 48 bit > multiply and a 56 bit...