[Speex-dev] Adding robustness to Speex on wireless networks.

marzullo maio marzullo63 at yahoo.it
Thu Jun 7 08:17:34 PDT 2007

I've not so much bandwidth to add channel coding but i've few bytes to spare for error detection. With a polynomial CRC-8 i've already more than 99.6 % to detect a burst error in a frame.
So let's suppose the critical fields of Speex are:

Wideband bit
Mode ID
OL pitch
OL pitch gain
OL Exc gain

So my plans are to calculate a CRC on these fields for each frame i send, then if i detect an error on the receiver side, i would replace the bad frame header with the last good frame header received. I remember this was supposed to work (a guess), i'll try it out on the CSD channel then. I hope this will slightly rise the quality expecially in bad signal conditions when i've more than 5% of frame loss.
Is this approach better than just passing NULL for each frame lost?
I could add interleaving too but i would double the "packet build latency" so i'm not convinced, latency is crucial for me.

I would appreciate any other suggestion to add robustness to Speex.

L'email della prossima generazione? Puoi averla con la nuova Yahoo! Mail
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.xiph.org/pipermail/speex-dev/attachments/20070607/d12ed997/attachment.htm

More information about the Speex-dev mailing list