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