The subject of the present invention is a method and a device for improving the robustness of flows of packets with compressed headers by the insertion of redundancy without increasing the bit rate and/or the bandwidth.
The field of application of the invention is notably that of the communication networks that use the Internet protocol IP implementing network header compression techniques to the packets transmitted in order to optimize the bandwidth by eliminating the redundant information within a network header and/or between several successive network headers.
Header compression techniques are implemented on data flows, for example multimedia data, transmitted in the form of packets via a stack of protocol layers characteristic of an IP communication network. Notable among these are the network layer implementing, for example, the IP Internet protocol, the transport layer implementing, for example, the user datagram protocol (UDP) or the real-time communication protocol RTP (Real Time Transport Protocol). An effect of all these protocol layers is to add a protocol header, containing a series of information fields, to the data packets initially transmitted. The packets resulting from this stack obtained at the level of the network layer then have their size considerably increased compared to the size of the initial data packet.
An IP communication network also comprises an access network which may be a radio access network capable of transmitting the packets from the network layer to the physical communication medium which, in particular in the case of a wireless transmission, may have a constrained bandwidth. In this context in which the resources available on the transmission medium are reduced, it is known to use network header compression schemes in order to reduce the size of the packets to be transmitted without affecting the data they contain.
One of the header compression techniques known to those skilled in the art is described by the ROHC (Robust Header Compression) standard standardized by the IETF committee through RFC 3095 and related publications. This technique defines a plurality of packets compressed to different levels and a set of algorithms used, on the one hand, to compress the fields contained in the network headers and, on the other hand, to sequence the transitions between the various available compression states. Generally, the ROHC compression technique, like all the known header compression techniques, relies on the exchange of an initial context between the compressor situated on the side of the packet transmission source and the decompressor situated on the side of the recipient which receives these same packets. In a second stage, only the fields of the headers that are variable are transmitted after having been coded differentially in order to improve compression performance.
Generally, the invention applies to any device that has to send IP data flows through a transmission medium with constrained bandwidth and to do so via an access layer delivering cells of fixed size encapsulating said IP data.
One of the main problems with the header compression mechanisms introduced previously lies in the fact that the transmission of the packets may be affected by errors due notably to the propagation phenomena that occur on the physical channel. These errors may result in the loss of packets and, in the case of packets with compressed headers, may lead to a desynchronization between the compression and decompression entities. This desynchronization generally results in the loss of all the subsequent packets until the context of the decompressor is reset. The packet losses may also be linked to a congestion phenomenon resulting in a saturation of the buffer memories (also known simply as “buffers”) of the transmission medium access layer. Another characteristic of this phenomenon is that it results in bursty packet losses that are highly detrimental to maintaining the synchronization of the compression and decompression entities.
The problem then arises as to how to improve the robustness of these compression schemes in order to limit the packet losses without reducing the overall compression performance levels and without increasing the data transmission bit rate.
The known header compression techniques, such as the ROHC standard, take into account the issue of robustness to transmission errors through coding algorithms for the variable fields, for example the W-LSB (Weighted Least Significant Bit) sliding window algorithm enabling the decompressor to overcome a certain number of consecutive errors. The increase in the level of robustness of this mechanism is directly accompanied by a reduction in the compression level. Nevertheless, these algorithms do not in all cases make it possible to maintain the synchronization between the compressor and the decompressor and result in a significant implementation complexity. Finally, they do not take into account the constraints of the layers below the network layer, in particular the access layer.
In practice, in a communication network, the access layer, and especially the radio access layer, sometimes imposes a transmission of data in the form of cells, for example of ATM (Asynchronous Transfer Mode) type cells, that have a given fixed size. These cells are obtained by concatenation and/or segmentation of the network packets with compressed header which results in the use of so-called “padding” bits. These padding bits contain no useful information and are inserted solely in order to observe the a priori fixed size of the cells.
The French patent application FR 2907624 proposes a header compression method which takes into account the size of the cells of the access layer in order to minimize their number, but this method has the drawbacks of being, on the one hand, incompatible with the header compression standards commonly used in many communication network infrastructures, in particular the ROHC standard, and, on the other hand, of being less powerful in terms of compression gain than the standards deriving from the works of the IETF such as ROHC.
The present invention notably proposes exploiting the bits normally used for padding that are present in the cells generated at the level of the access layer in order to replace them with a redundant information item that makes it possible to significantly improve the robustness of the compressed network headers and to do so without degrading the overall performance levels in terms of compression gain.
To this end, the subject of the invention is a method for robustly transmitting a data flow in the form of packets Pi comprising at least one header Hi, said header being compressed via a first header compression step, said packets being fragmented into a succession of cells, said cells having an identical fixed size, said fragmentation resulting in the appearance of a padding section in the last of said cells, said method being characterized in that the space occupied by said padding section is used, at least partially, to insert redundancy data, the function of said redundancy data being to increase the robustness to transmission errors of said compressed header.
In a variant embodiment of the invention, said redundancy data are obtained by reducing the compression ratio applied by said first header compression step to said header Hi, said compression ratio being determined from an estimation of the size of the packet with compressed header.
In a variant embodiment of the invention, said redundancy data are obtained via the following steps:
In a variant embodiment of the invention, said redundancy data of said section Rj are obtained from the application of a correcting code to a useful data block of length k consisting of the concatenation of all or part of one or more compressed headers, said section Rj having a length rj equal to that of said padding section.
In a variant embodiment of the invention, the efficiency of said correcting code is given by the ratio
in which k is the length of the data block to be encoded which consists of the concatenation of the compressed headers of the packets present between said padding section and the immediately preceding padding section within said transmitted data flow.
In a variant embodiment of the invention, the efficiency of said correcting code is less than a maximum efficiency
determined from an estimation of the ratio of packets lost during the transmission and of the performance curve of said code, the length k of said data block to be encoded being limited to a value kmax obtained from said maximum efficiency and from the length rj of said padding section.
In a variant embodiment of the invention, the efficiency of said correcting code is set to a constant value Rc and the dimension k of said useful data block to be encoded is obtained by the relationship
said useful data block comprising all or part of all the compressed headers Hi of the packets Pi present in said flow of packets to be transmitted before said padding section.
In a variant embodiment of the invention, said first header compression step implements an encoding of the fields of said header using a sliding window of size w and said useful data block comprises all or part of a subset S of all the compressed headers Hi of the packets Pi present before said padding section, said subset S being characterized by the fact that two consecutive headers of the subset S are separated in said flow of data to be transmitted by at least a number of headers equal to the length w of the sliding window of the protocol for implementing the header compression step.
In a variant embodiment of the invention, said correcting code is a systematic Reed-Solomon code or a systematic BCH code or a systematic Reed-Muller code, said code possibly being shortened and/or punctured.
In a variant embodiment of the invention, the ROHC protocol or the IPHC protocol is used for the header compression.
In a variant embodiment of the invention, the ATM protocol or the MPEG-TS protocol is used for said fragmentation of the packets with compressed header.
Also the subject of the invention is a system for robustly transmitting a data flow of packets with compressed headers comprising a transmitter and a receiver, characterized in that said transmitter comprises means for executing the steps of the method described previously.
Other features and advantages of the present invention will become more apparent from reading the following description in relation to the appended drawings which represent:
In order to better understand the method according to the invention, the following description is given within the context of an application of transmission of packets with compressed IP headers implementing, for example, the ROHC protocol, through a radio access layer observing the AAL5 (ATM Adaptation Layer 5) protocol for segmentation/reassembly of the ATM cells. This context is used as an illustration and is in no way limiting, it being understood that the method according to the invention can be applied to any type of header compression mechanism and to any radio access method using a mechanism for the segmentation/reassembly of packets with compressed headers in order to produce data cells of a priori fixed size, implicitly inducing the presence of padding bits within said cells. In particular, the use of the MPEG-TS (Moving Picture Expert Group-Transport Stream) standard is also compatible with the present invention. In practice, the latter defines, in particular, the encapsulation of multimedia data in packets intended for transport through an Internet protocol communication network. Worth citing, finally, is the case of the DVB-S2 (Digital Video Broadcasting Satellite-Second Generation) standard which is compatible with the present invention when it comes to the encapsulation of packets with compressed headers in physical layer frames standardized under the name “BBFrames”.
Furthermore, there are other header compression methods to which the invention can also be applied, in particular the IPHC (IP Header Compression over PPP) protocol standardized via RFC 2509 by the IETF standardization committee. The rest of the description is given by taking the example of the ROHC protocol, it being understood that any other header compression mechanism is also compatible with the invention.
A terminal 100 implementing a known header compression mechanism, for example a mechanism conforming to the ROHC standard, transmits a flow of packets whose headers 101-113 vary in size according to the compression level that is applied to them. The header 101 corresponds to a complete refresh of the context enabling the compressor 100 and the decompressor 114 to remain synchronized. The headers 102, 103, 104, 105, 106 are then transmitted with a compression level that is higher than that used to compress the refresh header 101 by coding the information fields differentially relative to the preceding packet. If an error, due for example to nonreliability of the transmission link or to packet congestion phenomena, appears on the header 102, the context of the decompressor 114 is no longer up-to-date and a desynchronization occurs potentially resulting in the loss of all the subsequent packets with compressed header 103, 104, 105, 106 until a packet is received that includes a dynamic refresh header 107 which makes it possible to update the context of the decompressor 114. The subsequent packets 108, 109, 110, 111, 112 can then once again be compressed with a higher compression level than that used to compress the header 107.
From the above illustration, it can be seen that observing the compression gain performance levels of the existing network header compression mechanisms leads to a significant sensitivity to errors possibly leading to significant packet losses within a transmitted data flow to which said mechanisms are applied.
The invention is therefore situated at the level of the layers 205, 208 handling the header compression and decompression mechanism. It requires information originating from the radio access layer 206, 207, in particular the size of the ATM cells.
In a first type of embodiment, the invention consists in modifying the choice of the compressed header type naturally determined by a header compression mechanism, for example conforming to the ROHC standard, by taking into account the constraints associated with the encapsulation of the compressed packets via the access layer.
More generally, the method according to the invention aims to replace all or part of the padding section 304, 311, 313, if it exists, with a redundancy data section, said section being derived, for example, from the use of a compressed refresh header or a header with a lesser compression level. The choice of the type of compressed header to be used is made either on the basis of the estimated size of said packet including the compressed header or on its real size obtained by compressing it via the header compression mechanism. In the former case, the estimation is made pessimistically by using the information supplied by the header compression method concerning the possible compressed header sizes. In the latter case, knowledge of the real size of the packet with compressed header means having to compress the packet a first time, deduce its size therefrom, then make the decision involving modifying the type of compressed header or not in order to minimize the number of ATM cells generated.
In this situation, the method according to the invention leads to preferably choosing the compressed header which makes it possible to consume the smallest number of ATM cells.
In a second type of embodiment, the padding bits are replaced, no longer by redundant data deriving from a lesser compression of the header, but by redundant data generated from a correcting code applied to all or part of one or more compressed headers. The desired aim is still to reinforce the robustness to errors of the flow of compressed packets without increasing the bit rate.
Hereinafter in the description, the size of a header Hi is denoted hi and that of redundancy block R is denoted rj. The examples described take into account the case of use of a Reed-Solomon code as correcting code, but the method according to the invention can be extended to any type of systematic block correcting code for which the efficiency, the size of the information block and that of the redundancy block can be varied. In particular, the BCH (Bose, Ray-Chaudhuri, Hocquenghem) codes or the Reed-Muller codes can also be used.
The length r of the redundancy block is fixed, because it is determined by the size of the corresponding padding section. In a first stage, the method according to the invention can be applied for a fixed size k, in this case, the efficiency Rate of the correcting code to be used to generate the redundancy block Rv is equal to
In the case of use of a Reed-Solomon code, the values k and r must observe the following inequality:
k+r≦2m−1 (1)
in which 2m is the size of the finite body used by the Reed-Solomon code. The values of m used in practice are, for example, 8 or 16.
One of the aims of the invention is notably to make the flow of packets with compressed headers robust to propagation errors which cause an entire packet to be lost on reception. In the case of use in which the headers H1, H2, H3, H4 and H5 are protected by one and the same redundancy block R1, if the headers H2 and H4 are for example lost, their respective lengths h2 and h4 are therefore not known and a receiver designed to decode the flow of protected packets according to the invention will not be able to position the header H3 within the flow of information to be decoded. The problem identified by this example can, of course, be generalized to any flow of packets received within which some have been lost then resulting in an ambiguity concerning the position of the headers correctly received within the flow of information to be decoded. To overcome this problem, the method according to the invention sets an additional constraint on the correcting code. In the case where the Reed-Solomon code uses a finite body with 28 symbols, it is imposed that the length k′ of the information block to be coded observes the following relationship:
k′+r≦28−3.
In this case, the correcting code applied, of efficiency
for example a systematic Reed-Solomon code, will be shortened by considering that a number equal to k-k′ of additional information symbols are zero. The margin of k-k′ symbols enables the decoder to retrieve the correct length of the portion of erased data by using the error detection capability of said code. In the preceding example, the decoder performs an error detection on each of the possible positions of the header H3 and makes it possible to validate the one which corresponds to the real position. Generally, the value of k-k′ should be greater than or equal to 16 bits in order to enable the decoder to perform a detection of the errors due to an incorrect positioning of a header correctly received within the flow of encoded data.
In a variant embodiment of the invention, a minimum header protection level may be determined from a measurement of the observed packets loss ratio on reception. Knowledge of the packet error ratio makes it possible to deduce, from theoretical performance curves of the selected correcting code or codes for example, the maximum efficiency Ratemax of these correcting codes. If the efficiency Rate obtained via the method according to the invention as described previously is greater than the maximum efficiency Ratemax, the invention then consists in reducing the length k′ of the information block to be coded by limiting the number of headers protected in order to obtain a code efficiency at most equal to Ratemax.
The principle consists in setting a constant efficiency rate of the correcting code and in systematically using an information block of length k, such that
In the case where k exceeds the overall length of the sum of the headers immediately preceding the redundancy block Rj, the information block may contain all or part of one or more headers Hi preceding the redundancy block Rj−1 and which has already been protected by the generation of redundancy blocks after Rj. This solution implies storage of the headers over a greater horizon than for the method described in
An exemplary embodiment of the method according to the invention is represented in
S={Hb(0), Hb(1), Hb(2), . . . }
in which b is a strictly increasing function making a positive integer correspond to another positive integer and such that the following relationship is satisfied:
∀i>0,b(i)−b(i−1)≦w
The function b can, for example, be defined by b(i)=w.i which gives the subset S={H0, Hw, H2w, H3w . . . }.
One of the advantages of this embodiment of the invention is that a protection level is applied to the elements of the subset S. The protected headers of the subset S are then used by the decompressor to ensure the decompression of the unprotected headers not included in the subset S. The protection-by-coding scheme here is complementary to the intrinsic protection mechanism of the header compression protocol. In practice, the protection of just one of the headers of the set {Hi−w, Hi−w+1, . . . , Hi−1} helps to greatly increase the probability that i is correctly received and then enables the header decompression protocol to correctly decompress all the headers of said set.
Furthermore, if the length w of the sliding window of the compression protocol is increased, the subset S comprises fewer elements and requires the generation of less redundancy to ensure the same protection level. Conversely, if the quantity of redundancy generated by the correcting code increases, the latter is then capable of providing the same protection level to a greater number of headers, which may imply a reduction in the length of the sliding window of the compression protocol and therefore an improvement in the compression ratio.
The method according to the invention notably offers the advantage of significantly improving the robustness to errors of the flow of packets with compressed headers without causing the bit rate to increase since it exploits the padding areas that already exist within the flow and include no useful information.
Number | Date | Country | Kind |
---|---|---|---|
0901186 | Mar 2009 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/EP10/52768 | 3/4/2010 | WO | 00 | 9/9/2011 |