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
Q: Codedec for Lost Packet Recovery
Started by ●July 7, 2004
Reply by ●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? > > Bye > > DanielWhat 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 ●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.> Bye > > Daniel >-- Phil Frisbie, Jr. Hawk Software http://www.hawksoft.com
Reply by ●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 ●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 ●July 9, 20042004-07-09
"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