← Back to team overview

rohc team mailing list archive

Re: [Question #679313]: (K,P)

 

Question #679313 on rohc changed:
https://answers.launchpad.net/rohc/+question/679313

    Status: Open => Answered

Didier Barvaux proposed the following answer:
Hello,

OK, I now understand your question.

The objective of the LSB algorithm is to transit only a fraction of the
field (the Least Significant Bits of the field) instead of all the bits
of the field. The LSB algorithm makes possible to transit some LSB but
in a robust way. The LSB algorithm shall be robust to a few packet
loss/damage, packet reordering, or decompression failures.

The LSB robustness uses a "reference window" of values for that. The LSB algorithm computes the minimum number of bits that the compressor must transmit to be 100% sure that the remote decompressor is able to correctly decode the value from:
* the LSB received from the compressor
* any decoded value from the reference window.

If the decompressor did not decode correctly any value from the
reference window, the LSB robustness is not ensured anymore. That means
that a reference window of 4 values protects from a loss/damage of up to
3 consecutive packets.

So, the ROHC compressor performs the following actions for every packet field that is encoded with the LSB algorithm:
a/ the compressorrecords the last N encoded values of that field in the reference window.
b/ when a new packet is compressed:
       * for every value in the reference window of N values, the compressor
          computes the number of LSB required to transmit the new value.
       * the compressor keeps the greatest number of those N numbers of
          LSB. This is the k variable.
c/ once all k are computed for all fields, the compressor chooses a ROHC packet format that is able to transmit the k LSB of all fields. For example, the seq_1 packet type for the TCP profile is able to transmit 16 LSBs of the sequence number, so the compressor may choose the seq_1 packet if k <= 16. If not, the compressor chooses another packet type.

I hope that the explanation is clear enough ;-)

Regards,
Didier

-- 
You received this question notification because your team ROHC Team is
an answer contact for rohc.