I am implementing a Jitter buffer for VOIP application.
We use AMR as speech vocoder.
I need to throw away some packets.
I would like to throw packetes that have low energy content.
the vocoder code is not mine so I can't do the full decoding to find out
the result enegry of the frame.
Is there a gain decoded in the amr packet that I can get quick estimation of the
frame energy?
I look for it and couldn't find.
I don't need full VAD, just something that would help me to throw away 5-25
% of the packet and not loose much of the voice qualety
thanks,
AMR light energy estimation
Started by ●July 23, 2008
Reply by ●July 25, 20082008-07-25
Try using the fixed-codebook gain (bits 87 to 91 in 12.2 kb/s). These
bits actually represent a correction factor for an estimate made in a
slightly involved way. See the AMR spec and C reference code for an
explanation of that (available by dowmload from 3GPP). The
fixed-codebook gain, when fully decoded, seems to follow the signal
amplitude.
The above would help identify quiet AMR coded frames. When
reconstructing you presumably replace them with something. In speech,
for instance, the quite frames may be from a low-energy sibilant or
one partly of the top of the AMR's frequency range, or a longish stop
closure, or a phrase pause. The durations of any of these may be
important.
Hope that this helps.
Kind regards
John Rye
--- In s..., nir.elkayam@... wrote:
>
> I am implementing a Jitter buffer for VOIP application.
> We use AMR as speech vocoder.
>
> I need to throw away some packets.
> I would like to throw packetes that have low energy content.
>
> the vocoder code is not mine so I can't do the full decoding to find
out the result enegry of the frame.
>
> Is there a gain decoded in the amr packet that I can get quick
estimation of the frame energy?
>
> I look for it and couldn't find.
>
> I don't need full VAD, just something that would help me to throw
away 5-25 % of the packet and not loose much of the voice qualety
>
> thanks,
>
bits actually represent a correction factor for an estimate made in a
slightly involved way. See the AMR spec and C reference code for an
explanation of that (available by dowmload from 3GPP). The
fixed-codebook gain, when fully decoded, seems to follow the signal
amplitude.
The above would help identify quiet AMR coded frames. When
reconstructing you presumably replace them with something. In speech,
for instance, the quite frames may be from a low-energy sibilant or
one partly of the top of the AMR's frequency range, or a longish stop
closure, or a phrase pause. The durations of any of these may be
important.
Hope that this helps.
Kind regards
John Rye
--- In s..., nir.elkayam@... wrote:
>
> I am implementing a Jitter buffer for VOIP application.
> We use AMR as speech vocoder.
>
> I need to throw away some packets.
> I would like to throw packetes that have low energy content.
>
> the vocoder code is not mine so I can't do the full decoding to find
out the result enegry of the frame.
>
> Is there a gain decoded in the amr packet that I can get quick
estimation of the frame energy?
>
> I look for it and couldn't find.
>
> I don't need full VAD, just something that would help me to throw
away 5-25 % of the packet and not loose much of the voice qualety
>
> thanks,
>