ADAPTIVE HEADER COMPRESSION FOR PACKET COMMUNICATIONS

Abstract: In packet communications, header compression for packet headers can be adapted to conditions in the packet communication environment, such as variations in link quality (107) and system load (108). Header compression can also be adapted in response to an amount of robustness (J) used to protect the packet against errors. This permits use of a bandwidth amount appropriate to transfer the desired information with sufficient quality.

Description: ADAPTIVE HEADER COMPRESSION FOR PACKET COMMUNICATIONS FIELD OF THE INVENTION The invention relates generally to packet channel communications and, more particularly, to header compression techniques for use in packet channel communications. BACKGROUND OF THE INVENTION The term header compression (HC) refers to the art of minimizing the necessary bandwidth for information carried in packet headers on a per hop basis over point-to-point links. Header compression is usually realized by sending static information only initially. Semi-static information is then transferred by sending only the change from the previous header. A full (uncompressed) header is sent occasionally in order to update the data bases of the header compression units. Completely random information is sent without compression. Hence, header compression is usually realized with a state machine. Since HC algorithms are conventionally used on a per hop basis, there is a possibility to use different HC algorithms on each hop, depending on the characteristic of the current link. This gives a possibility to optimize the performance, on a per hop basis, for links with a static characteristic in the time domain (e.g., a relatively constant error rate). Conventional HC algorithms do not, however, consider quality or error variations in time on the currently used link, and do not consider variations between links. So, if conventional HC algorithms are applied on links with quality or error variations in time, for example conventional wireless links, this can result in poor throughput due to too low robustness, or bandwidth waste due to too high robustness. Further, the conventional HC algorithms consider each link independently of all other links. Although this model is adequate for wired channels where the use of one channel does not affect other similar channels, it does not adequately address wireless channels. The use of a wireless channel affects users of other wireless channels in terms of interference. It is desirable in view of the foregoing to provide for header compression in packet communications without the aforementioned disadvantages of the prior art. HC algorithms according to the invention can adapt to the quality variations of the link as well as the system load. This can be done by interacting with the link on which the data is transmitted. Ideally, the level of compression can be optimized with respect to system load, and the amount of robustness can be optimized with respect to link quality. The invention provides a method for using an amount of bandwidth appropriate to transfer the desired information with sufficient quality. BRIEF DESCRIPTION OF THE DRAWINGS FIGURE 1 conceptually illustrates the operation of a header compression algorithm interacting with a radio network according to the invention. FIGURE 2 illustrates diagra matically a packet format that can be used with the invention. FIGURE 3 graphically illustrates an exemplary relationship between link quality and the amount of forward error correction associated with a packet according to the invention. FIGURE 3A graphically illustrates an exemplary relationship between link quality and the amount of header compression associated with a packet header according to the invention. FIGURE 4 illustrates graphically an exemplary relationship between system load and an average value of a combined amount of information included in a packet header and associated error correction bits according to the invention. FIGURE 4A illustrates graphically an exemplary relationship between system load and the amount of header compression associated with a packet header according to the invention. FIGURE 5 illustrates exemplary adaptive header compression and adaptive robustness operations according to the invention. FIGURE 6 illustrates diagrammatically the combining of two payloads into a single longer packet with a single compressed header in order to increase the level of header compression according to the invention. FIGURE 7 illustrates exemplary operations which can be performed in order to implement the payload combining illustrated in FIGURE 6. FIGURE 8 illustrates graphically, for a channel adaptive speech codec and a source adaptive speech codec, an exemplary relationship between the speech codec bit rate and the amount of forward error correction to be applied to a packet according to the invention. FIGURE 9 illustrates exemplary operations which can be used to implement the relationships of FIGURE 8. FIGURE 9A illustrates an exemplary alternative to the operations of FIGURE 9. FIGURE 10 illustrates pertinent portions of an exemplary embodiment of a radio communication station according to the invention. DETAILED DESCRIPTION The invention recognizes that, for a wireless system, the header compression scheme may be more effective in terms of throughput and overall system capacity if it is interacting with the link in which the header compression algorithm is being used. For instance, assume that the link involved is in a radio access network. The header compression scheme should then be robust to changes in the radio channel quality, while also avoiding unnecessary compression of the headers, for example in low load situations. Robustness (for headers, payloads or both) can be varied by, for example, using different levels of forward error correction (FEC), using different interleaving schemes, or using different amounts of transmission power. The amount of robustness can be based on the probability of erroneous packet transmission and/or based on the experienced link quality. The level (or amount) of header compression can be varied by, for example: (1) using a constant amount of compression for each compressed header, but varying the time intervals between transmission of full headers; (2) considering the compression of each header individually, and using an individually desired amount of compression for each header; or (3) a combination of (1) and (2). The level of compression can be based on one or more of the system load, the experienced link quality, and the amount of robustness, as described in more detail below. According to one embodiment of the invention, the radio access network provides conventional link quality and system load information to the HC algorithm. This is shown diagrammatically in FIGURE 1. By appropriately adapting robustness (for example the level of FEC associated with the header) and the level of header compression, based on information from the radio access network, the packets transmitted would ideally use exactly the amount of bandwidth needed for reaching a sufficient (desired) quality on each link. Further, the level of header compression can be adapted to the system load situation which permits traffic to be adapted to the current system load. For example, during low system load, increased (e.g., out of charge) quality is possible. The header compression algorithm may have different targets (or objectives) depending on the system situation. At low load situations there is no need for a large degree of header compression, and quality can be optimized. Thus, any degradation of quality due to header compression is unnecessary and should be avoided. At high load situations, a minimum quality should be maintained, and header compression should be increased to gain capacity. Hence, quality (e.g., speech quality) may be traded for system capacity. FIGURE 2 illustrates an example of a voice over IP packet and the different parts it can include, namely a J-bit FEC portion, a K-bit header portion and an L-bit payload portion, for example a speech portion. The L-bit portion can be data other than speech data in some embodiments. The bit sizes of the different parts can be adapted to different system and link situations according to the invention. The system and link entities to which the header compression algorithm can adapt are, in one embodiment, grouped into two groups: Link quality and system load, where the link quality usually changes on a smaller time scale than the system load. Link quality can comprehend many things but one basic exemplary meaning of link quality is bit error rate. Link quality can be represented by a number of different measurements, for example, one of the conventional measures shown below or any combination of them: mean bit error rate standard deviation of bit error rate - packet/block error rate Carrier to interference ratio, C/I burstiness of bit errors, quality of previously transmitted headers The system load tells how much traffic a system is carrying and indicates, for example, if it is possible to add more traffic. System load can be measured in numerous ways, for example, by one of the conventional measures shown below or any combination of them: Number of used channels Currently served bit rate (kbits/s) - Interference level (e.g. in an interference limited system) The number of spreading codes used (in a code limited CDMA system). The system load can be measured absolutely (for example 15 occupied channels) or relatively (for example 15 occupied channels of 20 possible channels). The system load measure can also represent, for example, a varying part of a cellular system, such as the load in one cell, i.e., how much traffic a specific cell is carrying, or the load in a cluster of cells. In FIGURES 3, 3 A, 4 and 4A, exemplary graphs are shown which indicate how the header compression algorithm can adapt to varying link quality (FIGURES 3 and 3A) and system load (FIGURES 4 and 4A) situations. These graphs can be seen as two-dimensional views of a more complex figure describing how the header compression algorithm adapts to both link quality and system load at the same time. Referencing FIGURE 3, when the link quality is poor, a larger amount of robustness, in this example more bits of forward error coding FEC (designated generally at J in FIGURES 2 and 3) can be added to protect the packet. When a link with good quality is used, a smaller amount of robustness is adequate, so in this example the number of FEC bits, J, can be decreased. FIGURE 3 A illustrates an example of how the amount of header compression can be adapted to link quality according to the invention. With poor link quality, the header compression ratio (amount of header compression) in FIGURE 3 A is relatively small, and with good link quality the header compression ratio can be relatively large. Referencing FIGURE 4, the entity K_average represents the average bit rate used for sending header information. For each packet the size of the header is fixed, but when compressed headers are mixed with full headers in a stream of packets, or when headers compressed by different amounts are mixed in a stream of packets, a varying average header bit rate occurs. Thus, a varying header compression rate may be achieved. When the system load is low, there is no need to risk a degraded quality (e.g., speech quality) by compressing the header, so the header compression ratio can be relatively small, thus making K (see FIGURE 1) large. When the system load is high, system capacity (e.g., radio network capacity) for payload bits may be increased by reducing the amount of bits K in the compressed header. Thus, the header compression ratio should be as large as possible (to provide as much compression as possible) while still maintaining a minimum required quality. FIGURE 4A illustrates more generally how the amount of header compression can, in one example of the invention, be adapted according to the measured system load. FIGURE 4A shows relatively less header compression (a lower HC ratio) at low system loads, and relatively more header compression (a higher HC ratio) at higher system loads. Hence, the invention makes it possible to trade quality against capacity by suitably adapting the header compression scheme according to different targets, for example increased capacity or throughput. Referring for example to FIGURES 3A and 4A, at low system load situations, quality can be prioritized by using a relatively low HC ratio, and at high system load situations, capacity can be prioritized by using a relatively higher HC ratio. Exemplary header compression and robustness adaptations such as described above are illustrated by the flow diagram of FIGURE 5. The system load and link quality (measured by and available from conventional wireless networks) are measured at 52. The robustness amount and header compression ratio are determined at 53, for example, using information as desired from any of the curves of FIGURES 3, 3 A, 4 and 4A. The information in these curves can be empirically determined based on the type of performance desired. The header compression ratio can be determined as a function of one or more of link quality (see FIGURE 3 A), system load (see FIGURE 4A) and the amount of robustness (see FIGURE 3). As one example, when link quality conditions degrade, if the robustness adaptation at FIGURE 3 is adequate to provide desired results, then there may be no need to decrease the amount of header compression in response to the degradation in link quality, even though FIGURE 3 A might otherwise indicate a decrease in the amount of header compression. As another example, if a less than adequate amount of robustness adaptation is provided in response to a degradation in link quality, then the amount of header compression could be decreased in order to compensate for the inadequacy of the robustness adaptation. In this latter example, the amount of header compression could still decrease less in response to the link quality degradation than would otherwise be indicated by FIGURE 3 A, due to the presence of at least some (although inadequate) robustness adaptation. At 54, the compression ratio from 53 can be applied to the header in conventional fashion, and the robustness amount from 53 can be applied to the header and/or payload in conventional fashion. The worst case for any radio network is when the system load is high and the link quality is poor. In this situation, which is relatively common, any ability to increase system capacity, for instance by reducing the relative system load while maintaining the absolute system load, is desirable. The amount of header compression in such situations could be further increased by combining two or more payloads, for example the speech frames of FIGURE 6, in one packet with a single compressed header 61. The compressed header 61 can be produced, for example, by compressing the uncompressed header 62, or by compressing the uncompressed header 63. In another embodiment, the uncompressed headers 62 and 63 can both be compressed at the same time to produce the single compressed header 61. In each of the foregoing examples, sending the two payloads in a single packet with the compressed header 61 permits the two payloads to be transmitted with less overall header overhead than would be required if the headers 62 and 63 were compressed individually and the two payloads were transmitted in separate packets with their respective compressed headers. The overall header compression ratio can thereby be increased at the cost of an increased delay. System capacity is therefore traded off against delay. To find the proper trade-off between capacity and delay, this trade-off can be made adaptive with respect to system load. FIGURE 7 is an example of operations that can be performed according to the invention in the high load, low quality situations described above. If the link quality is below a threshold TH Q at 71 , and if the system load is above a threshold TH L at 72, then the procedure discussed above relative to FIGURE 6 is performed at 73. The operations in FIGURE 7 can, as shown, be performed between operations 53 and 54 of FIGURE 5. Referring now particularly to packets including speech data, the associated speech codec bit rate, and thereby the size of the speech frame in the packet (L bits in FIGURE 2), can typically be changed for two exemplary reasons. The speech codec may adapt to the channel conditions (conventional adaptive multi-rate speech coding). For example, when there is congestion, the speech codec may decrease the bit rate and transmit almost the same speech information with fewer bits, thereby increasing the amount of information per packet. The speech codec may also adapt to the speech source behavior, for example, decreasing the bit rate when there is less speech information to transmit. In this case the amount of information per packet is decreased. In the two aforementioned situations, the header compression algorithm can adapt to changes in the speech codec bit rate. This is illustrated in the example of FIGURE 8. For a channel adaptive speech codec (solid line in FIGURE 8), the robustness (e.g., the amount of forward error correction coding in FIGURE 8) for each speech packet can be advantageously increased as the speech codec bit rate decreases, because there is more speech information per bit in the reduced packets, making loss of a packet more costly. For a source adaptive speech codec (broken line in FIGURE 8), the robustness for each speech packet can be advantageously decreased with the codec bit rate, because there is less speech information in the reduced packets, so the loss of a packet may have only a small impact on speech quality. The curves shown in FIGURE 8 can be determined empirically based on the type of performance desired. FIGURE 9 illustrates example operations that can be performed to implement the adaptive control of robustness (e.g., FEC) shown in FIGURE 8. If the codec bit rate is lowered below a threshold TH BR at 91, then the amount of robustness is increased at 94 if the codec mode is channel adaptive at 92. If the codec mode is source adaptive at 92, then the amount of robustness is decreased at 93. The operations of FIGURE 9 can, as shown, be performed between operations 53 and 54 of FIGURE 5. FIGURE 9A illustrates an alternative to the embodiment of FIGURE 9. In the operations of FIGURE 9A, the amount of header compression can be increased at 93 A instead of or in combination with the decreasing of robustness, and at 94A the amount of header compression can be decreased instead of or in combination with the increasing of the robustness. As discussed with respect to FIGURES 3 and 3 A, if a sufficient amount of robustness adaptation is provided at 94A, then the amount of header compression may not need to be decreased at 94A. Also as discussed above, if the robustness adaptation at 94A is insufficient, or if no robustness adaptation is provided at 94A, then the amount of header compression can be decreased as necessary to compensate for the inadequate (or non-existent) robustness adaptation. Similarly, the amount of header compression can be increased at 93 A by an amount depending on the robustness adaptation (if any). The greater the decrease in robustness, the smaller the increase in header compression, and the smaller the decrease in robustness, the greater the increase in header compression. Jolt should also be recognized that the embodiments illustrated at FIGURES 8- 9A can be extended to other examples of source coded data besides speech data, for instance video data and a corresponding video codec. FIGURE 10 illustrates pertinent portions of exemplary embodiments of a wireless communication station according to the invention. The wireless communication station of FIGURE 10 can be, for example, a mobile radio transceiver such as a cellular telephone, or a fixed-site radio transceiver. The communication station includes a communication port 101 for providing substantive information (for example speech information) to a packet unit 102. The communication port 101 also provides header information to a header unit 103. The header unit 103 produces headers from the header information provided by communication port 101, including adaptively compressing the headers according to the above-described techniques of the invention. The header unit 103 provides the outgoing headers to the packet unit 102. The header unit also selectively provides a COMBINE signal to direct the packet unit to combine two or more payloads into a packet with a single compressed header (see FIGURES 6 and 7). The packet unit 102 includes an input for receiving link quality information 107, as described above. The packet unit 102 can use, for example, information from the curve of FIGURE 3 to determine the desired amount of robustness to be used for each packet's header, payload or both. The packet unit 102 can use conventional techniques to provide the desired amount of robustness, for example, to determine the appropriate FEC bits based on the desired amount of FEC bits, or to determine a transmission power level corresponding to the desired amount of robustness. In one example, the packet unit 102 can use conventional techniques to combine the FEC bits together with the header bits and the substantive information bits (i.e., payload bits) to form an outgoing packet such as illustrated generally in FIGURE 2. The header unit 103 receives as control inputs link quality information 107, system load information 108 and error probability information 109 as described above. Such information is routinely provided by conventional radio communication networks. The header unit 103 can also receive as a control input information indicative of the robustness amount, as determined by the packet unit 102. In speech or video packet embodiments, the header unit 103 also receives, from the codec (not shown) of the communication station, a control input including information at 110 such as bit rate and adaptation mode, the latter of which can indicate, for example, whether the codec is operating in a channel adaptive mode or a source adaptive mode as described above. The aforementioned control inputs are used by the header unit 103 to provide adaptive header compression, for example in the fashion described in detail above with respect to FIGURES 1-9. The packet unit 102 can also receive as a control input the codec information at 110, which can be used by the packet unit to provide robustness adaptation as illustrated in FIGURES 8-9A above. The packet unit 102 forwards the assembled packet to a radio unit 104 which transmits the packet over a radio link 105 to a receiving station (not shown) which can have, for example, robustness and header compression functionality analogous to the communication station of FIGURE 10 for purposes of receiving packets transmitted by the communication station of FIGURE 10. Such a receiving station could receive the control inputs 107-110 used in FIGURE 10 and, for example, apply appropriate error correction and header decompression techniques to the incoming packets. In some embodiments, the header unit 103 can use the received link quality information 107, system load information 108 and codec information 110 to access lookup tables 106 provided in the header unit. The tables 106 can include, for example, stored information corresponding to the information depicted graphically in FIGURES 3-4A and 8, thereby permitting the header unit to perform the above- described adaptive robustness and header compression operations. The packet unit 102 can, in some embodiments, include similar lookup tables (not shown) with which to implement the exemplary robustness adaptations described above with respect to FIGURES 3 and 8-9A. It will be evident to workers in the art that the invention described above can be implemented by suitable modifications in hardware, software or both in, for example, a packet communication portion of a conventional wireless communication station. Although exemplary embodiments of the present invention have been described above in detail, this does not limit the scope of the invention, which can be practiced in a variety of embodiments.

Claims: WHAT IS CLAIMED IS: 1. A method of producing a packet for transmission in a communication system, comprising: providing a payload; providing a header; combining the header and the payload in a packet to be transmitted in the communication system; and determining a desired amount of header compression based on a measured indication of a condition associated with the communication system, and compressing the header using the desired amount of header compression. 2. The method of Claim 1, wherein said measured indication is a measured indication of a system load factor associated with the communication system. 3. The method of Claim 2, wherein said system load factor includes one of a number of channels being used in the communication system, a bit rate currently served by the communication system, an interference level in the communication system, and a number of spreading codes being used in the communication system. 4. The method of Claim 1, wherein said measured indication is a measured indication of a link quality factor associated with a communication link over which the packet is to be transmitted in the communication system. 5. A method of Claim 4, wherein said link quality factor includes one of a bit error rate, a mean bit error rate, a standard deviation of a bit error rate, a packet block error rate, a carrier-to-interference ratio, and burstiness of bit errors. 6. The method of Claim 1, wherein said payload providing step includes providing a plurality of payloads, and wherein said combining step includes combining the plurality of payloads and the header in a packet to be transmitted in the communication system. 7. The method of Claim 1, wherein said combining step includes combining the header and the payload in a packet to be transmitted in a wireless communication system. 8. The method of Claim 1 , including determining an amount of robustness to be used for protecting the packet against errors based on a measured indication of a condition associated with the communication system, said step of determining a desired amount of header compression including determining the desired amount of header compression based on the determined amount of robustness. 9. The method of Claim 8, wherein said last-mentioned measured indication is a measured indication of a link quality factor associated with a communication link over which the packet is to be transmitted in the communication system. 10. A method of producing a packet for transmission in a communication system, comprising: providing a payload; providing a header; combining the header and the payload in a packet to be transmitted in the communication system; providing information indicative of an amount of robustness to be used to protect the packet against errors; and determining a desired amount of header compression based on the robustness information, and compressing the header using the desired amount of header compression. 11. The method of Claim 10, wherein said step of providing information indicative of an amount of robustness includes determining an amount of error correction bits to be included in the packet. 12. The method of Claim 10, wherein said step of providing information indicative of an amount of robustness includes determining an amount of transmission power to be used to transmit the packet in the communication system. 13. The method of Claim 10, wherein said step of determining a desired amount of header compression includes selecting a first amount of header compression if the information indicative of an amount of robustness has been adaptively determined based on a condition associated with the communication system and selecting a second amount of header compression which differs from said first amount of header compression if said information indicative of an amount of robustness has not been determined adaptively based on a condition associated with the communication system. 14. The method of Claim 10, wherein said payload includes source encoded data, and wherein said step of determining an amount of header compression includes determining that a bit rate of a codec that produced the source encoded data is below a threshold level, and thereafter decreasing the amount of header compression if the codec is operating in a channel adaptive mode and increasing the amount of header compression if the codec is operating in a source adaptive mode. 15. The method of Claim 14, wherein said source encoded data includes one of speech data and video data. 16. An apparatus for transmitting a packet in a communication system, comprising: a packet unit for receiving substantive information for a packet payload; a header unit coupled to said packet unit for providing thereto a compressed header corresponding to the payload, said header unit having an input for receiving information indicative of a measured condition associated with the communication system, and said header unit operable to determine a desired amount of header compression in response to said condition information and to produce the compressed header in accordance with the desired amount of header compression; and said packet unit operable to combine the compressed header and the payload in a packet and to output said packet to the communication system. 17. The apparatus of Claim 16, wherein said condition information includes information indicative of a system load factor associated with the communication system. 18. The apparatus of Claim 17, wherein said system load factor information includes information indicative of one of a number of channels being used in the communication system, a bit rate currently served by the communication system, an interference level in the communication system, and a number of spreading codes being used in the communication system. 19. The apparatus of Claim 16, wherein said condition information includes information indicative of a link quality factor associated with a communication link over which the packet is to be transmitted in the communication system. 20. The apparatus of Claim 19, wherein said link quality factor information includes information indicative of one of a bit error rate, a mean bit error rate, a standard deviation of a bit error rate, a packet/block error rate, a carrier-to-interference ratio, and burstiness of bit errors. 21. The apparatus of Claim 16, wherein the communication system is a wireless communication system. 22. The apparatus of Claim 16, wherein said packet unit is operable to receive substantive information for a plurality of packet payloads, and is further operable to combine the compressed header and the plurality of packet payloads in a single packet, and to output the single packet to the communication system. 23. An apparatus for transmitting a packet in a communication system, comprising: a packet unit for receiving substantive information for a packet payload; a header unit coupled to said packet unit for providing thereto a compressed header corresponding to payload, said header unit having an input for receiving information indicative of an amount of robustness to be used to protect the packet against errors, and said header unit operable to determine a desired amount of header compression in response to said robustness information and to produce the compressed header in accordance with the desired amount of header compression; and said packet unit operable to combine the compressed header and the payload in a packet and to output said packet to the communication system. 24. The apparatus of Claim 23, wherein said header unit includes an input for receiving information indicative of a measured condition associated with the communication system, and wherein said header unit is further operable to determine the desired amount of header compression in response to said condition information. 25. The apparatus of Claim 24, wherein said condition information includes information indicative of one of a system load factor associated with the communication system and a link quality factor associated with a link over which the packet is to be transmitted in the communication system. 26. The apparatus of Claim 23, wherein the communication system is a wireless communication system. 27. The method of Claim 10, wherein said step of providing information indicative of an amount of robustness includes determining an amount of interleaving to be used to transmit the packet in the communication system.

Inventors: HARTMAN MAGNUS, OLIN BIRGITTA, SVANBRO KRISTER, HARTMAN, MAGNUS, OLIN, BIRGITTA, SVANBRO, KRISTER
Applicants: ERICSSON TELEFON AB L M, TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Application year: 2000
Main classification: H04L29
IPC codes: H04L29