"Daniel Rolf" <rolf@finecode.REMOVEMENOSPAM.de> wrote in message news:<ccgmgt$ucg$1@online.de>...
> Hi guys,
>
> the following setting:
>
> - we send data packets of exactly b bytes, e.g. b=1000
> - if a data packet is received then it's always error free
> - but, sometimes packets are lost, let's say t is the lost packet rate
> - it is not possible to ask the server to send a packet again
>
> Which type of codec should be used to recover the lost packets? Is a
> reed-solomon with interleaver the best bet?
Depends on the data you want to send. Real-time data and general
interleaving is not a good idea, because of the latency associated
with interleaving. However, when writing a whole packet as a column
in an interleaver, interleaving can provide significant savings.
In practice, a class of LDPC codes are used. Have a look at
www.digitalfountain.com. Reed-Solomon codes can be used, but the best
erasure decoders for Reed-Solomon codes have complexity O(e^2), while
the Fountain codes developed by Michael Luby et al. (Digital Fountain)
has linear time complexity.
These codes are named Fountain codes. In the recent ISIT 04, there
was a few papers on Fountain codes.
Best Regards,
Jaco
Reply by Piyush Kaul●July 8, 20042004-07-08
I do use the word "Codec" for Channel Coding, and don't see a problem
with that. What you are talking about is error concealment and not
error recovery or error correction.
I think the OP is talking about IP networks. In packet based networks
the underlying protocols take care that the packets(if they arrive)are
error free. e.g in UDP there is a crc at the transport layer, which
ensures that if a packet arrives, it is correct,which however does not
ensure that the packets do reach the destination, or reach it in the
right order.
Forward Error Correction can be done for a packet network by applying
a block coding scheme to a set of packets N instead of only one and
transmitting them in succession. The error recovery technique has to
ensure that even if (N-1) only packets arrive, the 1 packet lost can
be recreated using the (N-1) packets. Reed Solomon code is especially
suited for this type of loss, since packet loss can be thought of as
bursty loss for which Reed-solomon is ideal.
There are also a few ietf standards for FEC in packet networks.
Regards
Piyush
"Phil Frisbie, Jr." <phil@hawksoft.com> wrote in message news:<KRWGc.1105$54.12377@typhoon.sonic.net>...
> Daniel Rolf wrote:
>
> > Hi guys,
> >
> > the following setting:
> >
> > - we send data packets of exactly b bytes, e.g. b=1000
> > - if a data packet is received then it's always error free
> > - but, sometimes packets are lost, let's say t is the lost packet rate
> > - it is not possible to ask the server to send a packet again
> >
> > Which type of codec should be used to recover the lost packets? Is a
> > reed-solomon with interleaver the best bet?
>
> A codec is a coder/decoder, and usually has nothing to do with error correction.
>
> If you mean 'How do I cover up or correct a lost sound segment', that depends on
> the type of speech or sound compression codec you are using. Common ways include:
>
> Duplicate the last segment.
> Interpolate between the last and the next segment.
> Use silence or comfort noise to fill in for the lost segment.
>
> > Bye
> >
> > Daniel
> >
Reply by Piyush Kaul●July 8, 20042004-07-08
I do use the word "Codec" for Channel Coding, and don't see a problem
with that. What you are talking about is error concealment and not
error recovery or error correction.
I think the OP is talking about IP networks. In packet based networks
the underlying protocols take care that the packets(if they arrive)are
error free. e.g in UDP there is a crc at the transport layer, which
ensures that if a packet arrives, it is correct,which however does not
ensure that the packets do reach the destination, or reach it in the
right order.
Forward Error Correction can be done for a packet network by applying
a block coding scheme to a set of packets N instead of only one and
transmitting them in succession. The error recovery technique has to
ensure that even if (N-1) only packets arrive, the 1 packet lost can
be recreated using the (N-1) packets. Reed Solomon code is especially
suited for this type of loss, since packet loss can be thought of as
bursty loss for which Reed-solomon is ideal.
There are also a few ietf standards for FEC in packet networks.
Regards
Piyush
"Phil Frisbie, Jr." <phil@hawksoft.com> wrote in message news:<KRWGc.1105$54.12377@typhoon.sonic.net>...
> Daniel Rolf wrote:
>
> > Hi guys,
> >
> > the following setting:
> >
> > - we send data packets of exactly b bytes, e.g. b=1000
> > - if a data packet is received then it's always error free
> > - but, sometimes packets are lost, let's say t is the lost packet rate
> > - it is not possible to ask the server to send a packet again
> >
> > Which type of codec should be used to recover the lost packets? Is a
> > reed-solomon with interleaver the best bet?
>
> A codec is a coder/decoder, and usually has nothing to do with error correction.
>
> If you mean 'How do I cover up or correct a lost sound segment', that depends on
> the type of speech or sound compression codec you are using. Common ways include:
>
> Duplicate the last segment.
> Interpolate between the last and the next segment.
> Use silence or comfort noise to fill in for the lost segment.
>
> > Bye
> >
> > Daniel
> >
Reply by Phil Frisbie, Jr.●July 7, 20042004-07-07
Daniel Rolf wrote:
> Hi guys,
>
> the following setting:
>
> - we send data packets of exactly b bytes, e.g. b=1000
> - if a data packet is received then it's always error free
> - but, sometimes packets are lost, let's say t is the lost packet rate
> - it is not possible to ask the server to send a packet again
>
> Which type of codec should be used to recover the lost packets? Is a
> reed-solomon with interleaver the best bet?
A codec is a coder/decoder, and usually has nothing to do with error correction.
If you mean 'How do I cover up or correct a lost sound segment', that depends on
the type of speech or sound compression codec you are using. Common ways include:
Duplicate the last segment.
Interpolate between the last and the next segment.
Use silence or comfort noise to fill in for the lost segment.
> Hi guys,
>
> the following setting:
>
> - we send data packets of exactly b bytes, e.g. b=1000
> - if a data packet is received then it's always error free
> - but, sometimes packets are lost, let's say t is the lost packet rate
> - it is not possible to ask the server to send a packet again
>
> Which type of codec should be used to recover the lost packets? Is a
> reed-solomon with interleaver the best bet?
>
> Bye
>
> Daniel
What does "recover" mean in the case of a lost packet? There has to be a
mechanism to make it clear that it was sent but didn't arrive at its
destination; that alone isn't trivial.
I suspect that what you call a codec, I would call a protocol.
Jerry
P.S. Any way to ensure that every arriving packet is free of error would
in itself be remarkable.
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Daniel Rolf●July 7, 20042004-07-07
Hi guys,
the following setting:
- we send data packets of exactly b bytes, e.g. b=1000
- if a data packet is received then it's always error free
- but, sometimes packets are lost, let's say t is the lost packet rate
- it is not possible to ask the server to send a packet again
Which type of codec should be used to recover the lost packets? Is a
reed-solomon with interleaver the best bet?
Bye
Daniel
--
dipl.-inf. cand.-phys. Daniel Rolf
finecode software / www.finecode.de