USRE43100E1 - Apparatus and method for header decompression - Google Patents
Apparatus and method for header decompression Download PDFInfo
- Publication number
- USRE43100E1 USRE43100E1 US11/976,453 US97645307A USRE43100E US RE43100 E1 USRE43100 E1 US RE43100E1 US 97645307 A US97645307 A US 97645307A US RE43100 E USRE43100 E US RE43100E
- Authority
- US
- United States
- Prior art keywords
- error
- reference information
- header
- packet
- packets
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime, expires
Links
- 230000006837 decompression Effects 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims description 28
- 230000005540 biological transmission Effects 0.000 claims description 40
- 238000007906 compression Methods 0.000 claims description 36
- 230000006835 compression Effects 0.000 claims description 36
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 claims description 4
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 17
- 238000001514 detection method Methods 0.000 description 11
- 238000013144 data compression Methods 0.000 description 4
- 239000007787 solid Substances 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/40—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Definitions
- the present invention relates to methods for header compression/decompression in packet transmission and, more specifically, to a method for header compression/decompression, where reference information is requested to be updated when an error occurs in packet transmission.
- Typical protocols recently known for data transmission over the Internet include TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP/IP (User Datagram Protocol/Internet Protocol).
- TCP/IP Transmission Control Protocol/Internet Protocol
- UDP/IP User Datagram Protocol/Internet Protocol
- the header specified by TCP, UDP, IP, or other protocols is larger in size, disadvantageously causing overhead associated with communication.
- the transmitting side has to add a 28-byte header to the original data, resultantly forming a 38-byte packet, which is approximately four times larger in size than the original data. If such increase in size happens quite often, the transmission path is substantially decreased in effective speed.
- a header compression scheme developed by V. Jacobson and defined in RFC 1144 and RFC2508 has been known.
- This scheme among the fields of the header included in the packet, transmitted are only any field changed in value from the one included in the previous packet. Such field changed in value are not so many in the header, and therefore, in this scheme, header compression is successfully carried out.
- This header compression scheme is a standard for wired communication with a low transmission error rate, as shown in FIG. 5 , and is not efficient for a transmission path with a high transmission error rate.
- FIG. 6 shows a communication network for wireless terminals over a cellular phone network such as W-CDMA.
- the communication network of FIG. 6 includes a wireless transmission section where errors frequently occur.
- ROHC RObust Header Compression
- IETF Internet Engineering Task Force
- FIG. 7 shows one example of data transmission adopting ROHC.
- the transmitting side and the receiving side each have held correct reference information ⁇ .
- the transmitting side transmits a header H 1 and data D 1 to the receiving side.
- the transmitting side carries out data compression on the header H 1 by referring to the reference information ⁇ .
- the header H 1 and a compressed header H′ 1 for transmission to the receiving side have such a relation as represented by the following equation (1).
- H′1 H1* ⁇ (1)
- an operation represented by * varies for each field of the header to be compressed.
- the operation is so carried out as follows: the field does not vary if representing a UDP port number; the field is generally increased in value by 1 if representing an RTP sequence number; and the field is increased in value by 50 if representing an RTP timestamp.
- the reference information ⁇ includes all information required for compression of each field as described above. Therefore, if the receiving side holds the correct reference information ⁇ having the same contents as that held in the transmitting side, the receiving side can correctly decompress the received compressed header H′ 1 into the original header H 1 , thereby obtaining the correct header H 1 and data D 1 . Similarly, headers and data H 2 and D 2 , H 3 and D 3 , and H 4 and D 4 are transmitted after each header is compressed by referring to the reference information ⁇ .
- FIG. 8 shows an example of data transmission where the reference information is changed during the transmission.
- the reference information is changed from ⁇ to ⁇ , and the header H 3 is compressed by referring to the changed reference information ⁇ .
- the transmitting side changes the reference information ⁇ held so far containing that “The RTP timestamp is increased by 50” into the reference information ⁇ containing that “The RTP timestamp is increased by 100”.
- the receiving side refers to update information further provided to the compressed header to be transmitted (here, a header H′ 3 ).
- the reference information may be updated even if the update information is not explicitly transmitted.
- One example header compression scheme taken in such cases is briefly described below.
- the sequence number is assigned 4 bits capable of representing integers from 0 to 15, but not 16 or more. Therefore, any integer N equal to 16 or more is represented by Nmod16.
- the receiving side finds the sequence number by using an equation L*16+ (received sequence number), where L is incremented by 1 whenever the received sequence number is changed from the maximum value (here, 15) to the minimum value (here, 0).
- the update information is not explicitly transmitted. Instead, when the sequence number becomes larger than the maximum value, the reference information is updated on both sides.
- FIG. 9 is a block diagram showing the structure of a header decompression apparatus that achieves the header decompression as described above.
- a header decompression apparatus 1007 includes a packet output unit 1001 , an error detector 1002 , a header decompressor 1003 , a packet receiver 1004 , a reference information manager 1005 , and an update request unit 1006 .
- the packet receiver 1004 receives a header-compressed packet from a transmitting side, and outputs the packet to the header decompressor 1003 .
- the header decompressor 1003 refers to reference information managed by the reference information manager 1005 to decompress the compressed header, and outputs the header-decompressed packet to the error detector 1002 . If the compressed header is provided with update information, the header decompressor 1003 updates the reference information managed by the reference information manager 1005 with the update information provided to the compressed header.
- the error detector 1002 detects any error in the header-decompressed packet. If not detecting an error, the error detector 1002 outputs the correctly-decompressed packet to the packet output unit 1001 .
- the update request unit 1006 receives a notification that an error is detected by the error detector 1002 , and transmits an update request to the transmitting side. Specifically, according to the above document, “draft-ietf-rohc-rtp-00.txt (Jun. 29, 2000)”, the update request unit 1006 transmits a NACK packet.
- the reference information manager 1005 manages the reference information for header decompression.
- the packet output unit 1001 outputs the header-decompressed packet.
- the header decompression apparatus 1007 detects any error in the compressed header.
- the compressed header is provided with a CRC (Cyclic Redundancy Code) for determining whether the header-decompressed packet has any error or not. Therefore, any error that occurred in the compressed header or a payload due to noise during wireless transmission can be detected, and the erroneous packet can be discarded.
- CRC Cyclic Redundancy Code
- FIG. 10 shows one example of data transmission where an error occurs due to noise during wireless transmission.
- a header H 2 is compressed to be a header H′ 2 , and the header H′ 2 and data D 2 are wirelessly transmitted.
- noise or other factors affect the compressed header H′ 2 , causing an error, which is denoted by a dotted cross in FIG. 10 .
- a solid cross in FIG. 10 the header cannot be correctly decompressed at the receiving side, and therefore the entire packet is discarded.
- FIG. 11 exemplarily shows a case where an error occurs in the header with the update information provided thereto, and the reference information is erroneously updated.
- a header H 3 is compressed to be a header H′ 3
- the header H′ 3 and data D 3 is wirelessly transmitted.
- noise or other factors affect the update information provided to the compressed header H′ 3 , causing a change in the update information, which is denoted by a dotted cross in FIG. 11 .
- the reference information is erroneously updated to reference information ⁇ ′, based on the changed update information, and the header H 3 decompressed by referring to the erroneous reference information is not the same as the original header H 3 before compression at the transmitting side.
- This also applies to the following headers H 4 and thereafter.
- the header cannot correctly decompressed at the receiving side, and is generally regarded as having an error. Therefore, the entire packet is discarded.
- FIG. 12 exemplarily shows a case where a packet is not regarded as having an error even if the reference information is erroneously updated.
- the reference information is erroneously updated at the receiving side to become receiving-side reference information ⁇ ′, which is different from the reference information ⁇ at the transmitting side.
- headers H 1 to H 4 are erroneously decompressed at the receiving side. Therefore, in general, CRC errors occur and the entire packet are discarded.
- an object of the present invention is to provide a header decompression method in which only a necessary request for updating reference information is made based on the state of an error in a header-decompressed packet.
- the present invention has the following features to attain the object above.
- a first aspect of the present invention is directed to a header decompression apparatus for decompressing a compressed header of a packet for transmission by referring to reference information being the same as reference information referred to for header compression by a transmitting side.
- a packet receiver receives the packet from the transmitting side.
- a reference information manager stores and manages the reference information.
- a header decompressor is provided with the received packet, and carries out header decompression by referring to the reference information stored in the reference information manager.
- An error detector detects an error in the packet including the decompressed header.
- a counter/storage counts and stores the number of errors detected by the error detector the number of errors detected by the error detector and stores a relationship between the number of error packets and the number of error free packets.
- An update request unit transmits, to the transmitting side, update information for updating the reference information, when determining, based on the number counted by the counter/storage, that the reference information stored in the reference information manager should be updated.
- the reference information manager updates the reference information stored in the reference information manager based on the transmitted update information.
- the update request unit determines whether the reference information should be updated.
- the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- the update request unit determines, based on values of X and Y counted by the counter/storage, whether the reference information stored in the reference information manager should be updated.
- an update request is transmitted to the transmitting side.
- the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- the third aspect when X ⁇ Y, a large number of successive decompression errors have occurred, and therefore there is a high possibility that the reference information has an error. Thus, the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- the update request unit determines, based on W and R counted by the counter/storage, that the reference information stored in the reference information manager should be updated when R is larger than a predetermined value.
- the fourth aspect if the number of decompression errors in the packets previously received at the receiving side becomes large, an update request is sent to the transmitting side.
- the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- Fifth to eighth aspects are directed to header decompression methods respectively corresponding to the above header decompression apparatuses.
- Ninth to eleventh aspects are directed to computer-readable recording media with programs respectively corresponding the above header decompression methods.
- Twelfth to fourteenth aspects are directed to programs respectively corresponding to the above header decompression methods.
- FIG. 1 is a block diagram showing the structure of a data compression apparatus 607 according to a first embodiment of the present invention
- FIG. 2 is a block diagram showing the structure of a data decompression apparatus 709 according to the first embodiment of the present invention
- FIG. 3 is a diagram exemplarily showing the state of decompression and values of X and Y when a packet P 1 to a packet P 11 are received;
- FIG. 4 is a block diagram showing the structure of a data decompression apparatus 908 according to a second embodiment of the present invention.
- FIG. 5 is a diagram showing a header compression section in wired communication
- FIG. 6 is a diagram showing a header compression section in wireless communication
- FIG. 7 is a diagram exemplarily showing data transmission under a conventional header compression scheme of ROHC
- FIG. 8 is a diagram showing an example of data transmission where reference information is changed during the transmission in conventional header compression
- FIG. 9 is a block diagram showing the structure of a header decompression apparatus that achieves the header decompression in conventional art.
- FIG. 10 is a diagram showing one example of data transmission where an error occurs due to noise during wireless transmission in the conventional header compression
- FIG. 11 is a diagram exemplarily showing a case where, in the conventional header compression, an error occurs in the header with reference update information provided thereto, and the reference information is erroneously updated;
- FIG. 12 is a diagram exemplarily showing a case where, in the conventional header compression, a packet is not regarded as having an error even if the reference information is erroneously updated.
- a method for header compression/decompression according to a first embodiment of the present invention is realized by a header compression apparatus and a header decompression apparatus as shown in FIGS. 1 and 2 , respectively.
- FIGS. 1 and 2 the structure of each apparatus is described below.
- FIG. 1 is a block diagram showing the structure of a header compression apparatus 607 .
- the header compression apparatus 607 includes a packet input unit 601 , a CRC provider 602 , a header compressor 603 , a packet transmitter 604 , a reference information manager 605 , and an update request receiver 606 .
- the packet input unit 601 outputs a received packet to the CRC provider 602 .
- the CRC provider 602 provides the received packet with a CRC for output to the header compressor 603 .
- the header compressor 603 refers to reference information managed by the reference information manager 605 to compress the header of the received packet, and outputs the resultant packet to the packet transmitter 604 . How to compress the header will be described later.
- the packet transmitter 604 transmits the received header-compressed packet to the receiving side.
- the reference information manager 605 manages the reference information referred to by the header compressor 603 .
- the update request receiver 606 receives an update request from the transmitting side, and notifies the reference information manager 605 of the update request.
- the notified reference information manager 605 outputs the managed reference information to the header compressor 603 , and instructs it to provide update information corresponding to the reference information to the compressed header.
- FIG. 2 is a block diagram showing the structure of a header decompression apparatus 709 .
- the header decompression apparatus 709 includes a packet output unit 701 , an error detector 702 , a header decompressor 703 , a packet receiver 704 , a successive decompression error counter (hereinafter, successive error counter) 705 , a successive decompression success counter 706 , a reference information manager 707 , and an update request unit 708 .
- the packet receiver 704 receives, from the transmitting side, the header-compressed packet, and outputs it to the header decompressor 703 .
- the header decompressor 703 refers to the reference information managed by the reference information manager 707 to decompress the compressed header, and outputs the resultant packet to the error detector 702 .
- the error detector 702 detects a CRC error in the header-decompressed packet, and outputs, to the packet output unit 701 , only any packet whose header has been correctly decompressed.
- the successive error counter 705 counts the number of successive decompression errors detected by the error detector 702 .
- the successive decompression success counter 706 counts the number of successive decompression successes detected by the error detector 702 .
- the update request unit 708 refers to the numbers counted by the successive error counter 705 and the successive decompression success counter 706 to determine whether an update request is required or not in a manner described later, and transmits the update request as required to the transmitting side.
- the reference information manager 707 manages the reference information for header decompression.
- uccessive decompression errors mean that successive two or more error states are observed in a header, or that only one error state is observed therein, although the latter is not generally applicable to the meaning of the word “successive”.
- “successive” decompression successes means that successive two or more error-free states are observed in a header, or that only one error-free state is observed therein. How to determine “successive” states in the present invention will be described later.
- a packet supplied to the apparatuses contains data, such as video and audio, with an RTP/UDP/IP header.
- the packet input part 601 outputs an externally-inputted RTP/UDP/IP packet to the CRC provider 602 .
- the CRC provider 602 computes a CRC for the entire packet, and provides the CRC to the packet.
- the header compressor 603 refers to the reference-information managed by the reference information manager 605 for header compression. In this header compression, if the header can be decompressed with its sequence number, the reference information is not updated, and only the sequence number is included in the header. If the header cannot be decompressed with its sequence number, update information of the reference information and the sequence number are included in the header.
- the packet transmitter 604 transmits the header-compressed packet to the receiving side.
- the reference information manager 605 stores and manages the reference information referred to by the header compressor 603 . Notified by the header compressor 603 of update, the reference information manager 605 updates the stored reference information. Notified by the update request receiver 606 that an update request has been received, the reference information manager 605 instructs the header compressor 603 to provide the update information to the header.
- the update request receiver 606 receives an update request from the receiving side. On receiving the update request, the update request receiver 606 notifies the reference information manager 605 that the update request has been received.
- the packet receiver 704 receives the header-compressed packet transmitted from the packet transmitter 604 shown in FIG. 1 , and outputs the packet to the header decompressor 703 .
- the header decompressor 703 refers to the reference information stored in the reference information manager 707 to decompress the compressed-header of the packet.
- the header decompressed packet is outputted to the error detector 702 . If the header is provided with update information, the header decompressor 703 notifies the reference information manager 707 of the update information.
- the error detector 702 checks whether any error occurs or not in the header-decompressed packet by using the CRC. Also, the error detector 702 notifies the successive error counter 705 and the successive decompression success counter 706 of the presence or absence of an error. If detecting any error, the error detector 702 discards the packet. If not detecting, the error detector 702 outputs, to the packet output unit 701 , the packet with the CRC removed therefrom. The packet output unit 701 externally outputs the error-undetected RTP/UDP/IP packet.
- the reference information manager 707 stores and manages the reference information required for header decompression. If the compressed header includes the update information, the reference information manager 707 updates the stored reference information with the update information coming from the header decompressor 703 .
- the successive error counter 705 counts the number of successive errors X based on the error detection results in the error detector 702 . For example, if an error is detected in a packet, X is 1. Then, if an error is detected also in the next packet, X becomes 2. Then, if an error is detected still in the following packet, X is further incremented by 1 to become 3. If no error is detected, successiveness is interrupted, and the error counter 705 stops counting.
- the successive decompression success counter 706 counts the number of decompression successes Y based on the error detection results in the error detector 702 . For example, if no error is detected in a packet, Y is 1. Then, if no error is detected also in the next packet, Y becomes 2. Then, if no error is detected still in the following packet, Y is further incremented by 1 to become 3. If any error is detected, successiveness is interrupted, and the successive decompression success counter 706 stops counting.
- the update request unit 708 determines whether to request update based on a set of X outputted from the successive error counter 705 and Y outputted from the successive decompression success counter 706 . This determination operation is further described in detail with reference to FIG. 3 .
- FIG. 3 is a diagram exemplarily showing decompression operation and values of X and Y when packets P 1 to P 11 are received. In FIG. 3 , assume that an error occurred in a packet P 12 not shown.
- the update request unit 708 regards the values of X and Y as a set representing successive decompression errors and subsequent decompression successes, and compares these values with predetermined values.
- predetermined values are example only, and not restrictive. If X ⁇ Y a large number of successive decompression errors have occurred, and therefore there is a high possibility that the reference information has an error.
- the header decompression apparatus 709 requests the transmitting side of updating the reference information based on the number of successive decompression errors and successes at the receiving side.
- the number of packets discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- Such capability of the header decompression apparatus 709 can be achieved in a general-purpose computer system. In this case, this capability is realized by a program executed in the computer system. The program is typically stored in a recoding medium such as CD-ROM, or transmitted through a communication medium.
- a method for header compression/decompression according to a second embodiment of the present invention is realized by a header compression apparatus and a header decompression apparatus as shown in FIGS. 1 and 4 , respectively. Therefore, the header compression apparatus according to the second embodiment is the same in structure as the header compression apparatus 607 shown in FIG. 1 , and not described herein. Described below is the structure of the header decompression apparatus according to the present embodiment with reference to FIG. 4 .
- FIG. 4 is a block diagram showing the structure of a header decompression apparatus 908 .
- the header decompression apparatus 908 includes a packet output unit 901 , an error detector 902 , a header decompressor 903 , a packet receiver 904 , a decompression error detection result storage 905 , a reference information manager 906 , and an update request unit 907 .
- the packet receiver 904 outputs a header-compressed packet supplied from the transmitting side to the header decompressor 903 .
- the header decompressor 903 refers to the reference information in the reference information manager 906 to decompress the compressed header, and outputs the resultant packet to the error detector 902 .
- the error detector 902 detects any error in the header-decompressed packet, and outputs, to the packet output unit 901 , any packet whose header has been correctly decompressed.
- the decompression error detection result storage 905 counts the number of errors or successes detected in the packet by the error detector 902 for storage.
- the update request unit 907 is supplied with the number counted by the decompression error detection result storage 905 , determining whether an update request is required or not and transmitting the update request as required to the transmitting side.
- the reference information manager 906 manages the reference information for header decompression.
- Described specifically below is the operation of the above structured header decompression apparatus according to the present embodiment.
- the operation of the header compression apparatus 607 that is, the transmitting side, is similar to that according to the first embodiment.
- a packet supplied to the apparatuses contains data such as video and audio with an RTP/UDP/IP header.
- a packet receiver 904 receives a header-compressed packet transmitted from the packet transmitter 604 of FIG. 1 , and outputs the packet to the header decompressor 903 .
- the header decompressor 903 refers to the reference information stored in the reference information manager 906 to decompress the compressed-header of the packet.
- the header-decompressed packet is outputted to the error detector 902 . If the header is provided with update information of the reference information, the header decompressor 903 outputs the update information to the reference information manager 906 .
- the error detector 902 checks the presence or absence of an error in the header-decompressed packet by using the CRC. Also, the error detector 902 notifies the detection result to the decompression error detection result storage 905 . If detecting any error, the error detector 902 discards the packet. If not detecting, the error detector 902 outputs, to the packet output unit 901 , the packet with the CRC removed therefrom. The packet output unit 901 externally outputs the error-undetected RTP/UDP/IP packet.
- the reference information manager 906 stores and manages the reference information required for header decompression. If the compressed header includes the update information, the reference information manager 906 updates the stored reference information with the update information coming from the header decompressor 903 .
- the decompression error detection result storage 905 stores the detection results of the error detector 902 , that is, the number of errors R for preceding W packets. Instead of W or R, the number of decompression successes may be stored.
- the header decompression apparatus 908 requests updating of the reference information when the number of decompression errors becomes relatively or substantially large in the packets previously received by the receiving side.
- the number of packets discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
- Such capability of the header decompression apparatus 908 can be achieved in a general-purpose computer system. In this case, this capability is realized by a program executed in the computer system. The program is typically stored in a recoding medium such as CD-ROM, or transmitted through a communication medium.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
- Communication Control (AREA)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
In a header decompression apparatus 709, a header decompressor 703 refers to reference information stored in a reference information manager 707 to decompress a compressed header of a packet received by a packet receiver 704. An error detector 702 detects a CRC error in the packet with its header decompressed by the packet receiver 704, and outputs only a correct packet. A successive error counter 705 counts the number of successive errors detected by the error detector 702. A successive decompression success counter 706 counts the number of decompression successes that successively appear. By referring to these counted numbers, an update request unit 708 transmits an update request to a transmitting side as required. The reference information manager 707 manages the reference information for header decompression. With this structure, the header decompression apparatus can request update of the reference information based on the state of the error.
Description
The present U.S. application Ser. No. 11/976,453, filed Oct. 24, 2007 is a reissue of U.S. application Ser. No. 09/948,765, filed Sep. 10, 2001, now U.S. Pat. No. 6,959,410, issued Oct. 25, 2005.
1. Field of the Invention
The present invention relates to methods for header compression/decompression in packet transmission and, more specifically, to a method for header compression/decompression, where reference information is requested to be updated when an error occurs in packet transmission.
2. Description of the Background Art
Typical protocols recently known for data transmission over the Internet include TCP/IP (Transmission Control Protocol/Internet Protocol) and UDP/IP (User Datagram Protocol/Internet Protocol). In data transmission under such transmission protocol over a low and midrange bit rate transmission path, the header specified by TCP, UDP, IP, or other protocols is larger in size, disadvantageously causing overhead associated with communication. For example, to transmit 10-byte data under UDP/IP, the transmitting side has to add a 28-byte header to the original data, resultantly forming a 38-byte packet, which is approximately four times larger in size than the original data. If such increase in size happens quite often, the transmission path is substantially decreased in effective speed.
In order to reduce communication overhead caused by the header, a header compression scheme developed by V. Jacobson and defined in RFC 1144 and RFC2508 has been known. In this scheme, among the fields of the header included in the packet, transmitted are only any field changed in value from the one included in the previous packet. Such field changed in value are not so many in the header, and therefore, in this scheme, header compression is successfully carried out. This header compression scheme, however, is a standard for wired communication with a low transmission error rate, as shown in FIG. 5 , and is not efficient for a transmission path with a high transmission error rate.
In ROHC, for data compression at the transmitting side (compressing side) and data decompression at the receiving side (decompressing side), reference information is shared by both sides for reference. That is, the reference information referred to for data compression at the transmitting side is also referred to for data decompression at the receiving side. By sharing the reference information, data decompression can be correctly achieved. FIG. 7 shows one example of data transmission adopting ROHC.
In FIG 7, at the start of data transmission, the transmitting side and the receiving side each have held correct reference information α. Consider first a case where the transmitting side transmits a header H1 and data D1 to the receiving side. Before transmission, the transmitting side carries out data compression on the header H1 by referring to the reference information α. Here, the header H1 and a compressed header H′1 for transmission to the receiving side have such a relation as represented by the following equation (1).
H′1=H1*α (1)
H′1=H1*α (1)
In the above equation (1), an operation represented by * varies for each field of the header to be compressed. For example, the operation is so carried out as follows: the field does not vary if representing a UDP port number; the field is generally increased in value by 1 if representing an RTP sequence number; and the field is increased in value by 50 if representing an RTP timestamp.
As such, the reference information α includes all information required for compression of each field as described above. Therefore, if the receiving side holds the correct reference information α having the same contents as that held in the transmitting side, the receiving side can correctly decompress the received compressed header H′1 into the original header H1, thereby obtaining the correct header H1 and data D1. Similarly, headers and data H2 and D2, H3 and D3, and H4 and D4 are transmitted after each header is compressed by referring to the reference information α.
Next, consider a case where the reference information is changed. FIG. 8 shows an example of data transmission where the reference information is changed during the transmission. In FIG. 8 , after the header H2 and the data D2 are transmitted, the reference information is changed from α to β, and the header H3 is compressed by referring to the changed reference information β.
For example, assume that the RTP timestamp of the header to be transmitted is increased by 50, but, at the time of transmission of the data D3, such increase is changed to by 100. Under this assumption, the transmitting side changes the reference information α held so far containing that “The RTP timestamp is increased by 50” into the reference information β containing that “The RTP timestamp is increased by 100”. To update the reference information, as shown in FIG. 8 , the receiving side refers to update information further provided to the compressed header to be transmitted (here, a header H′3).
In some cases, the reference information may be updated even if the update information is not explicitly transmitted. One example header compression scheme taken in such cases is briefly described below. In the compressed header, the sequence number is assigned 4 bits capable of representing integers from 0 to 15, but not 16 or more. Therefore, any integer N equal to 16 or more is represented by Nmod16. Thus, the receiving side finds the sequence number by using an equation L*16+ (received sequence number), where L is incremented by 1 whenever the received sequence number is changed from the maximum value (here, 15) to the minimum value (here, 0). Here, the update information is not explicitly transmitted. Instead, when the sequence number becomes larger than the maximum value, the reference information is updated on both sides.
In FIG. 9 , a header decompression apparatus 1007 includes a packet output unit 1001, an error detector 1002, a header decompressor 1003, a packet receiver 1004, a reference information manager 1005, and an update request unit 1006.
The packet receiver 1004 receives a header-compressed packet from a transmitting side, and outputs the packet to the header decompressor 1003. The header decompressor 1003 refers to reference information managed by the reference information manager 1005 to decompress the compressed header, and outputs the header-decompressed packet to the error detector 1002. If the compressed header is provided with update information, the header decompressor 1003 updates the reference information managed by the reference information manager 1005 with the update information provided to the compressed header. The error detector 1002 detects any error in the header-decompressed packet. If not detecting an error, the error detector 1002 outputs the correctly-decompressed packet to the packet output unit 1001. If detecting an error, the error detector 1002 discards the packet as not having been correctly decompressed. The update request unit 1006 receives a notification that an error is detected by the error detector 1002, and transmits an update request to the transmitting side. Specifically, according to the above document, “draft-ietf-rohc-rtp-00.txt (Jun. 29, 2000)”, the update request unit 1006 transmits a NACK packet. The reference information manager 1005 manages the reference information for header decompression. The packet output unit 1001 outputs the header-decompressed packet.
As such, the header decompression apparatus 1007 detects any error in the compressed header. Here, typically, the compressed header is provided with a CRC (Cyclic Redundancy Code) for determining whether the header-decompressed packet has any error or not. Therefore, any error that occurred in the compressed header or a payload due to noise during wireless transmission can be detected, and the erroneous packet can be discarded.
Such error as described above may occur also in the compressed header with the update information provided thereto. FIG. 11 exemplarily shows a case where an error occurs in the header with the update information provided thereto, and the reference information is erroneously updated. In FIG. 11 , a header H3 is compressed to be a header H′3, and the header H′3 and data D3 is wirelessly transmitted. During the wireless transmission, noise or other factors affect the update information provided to the compressed header H′3, causing a change in the update information, which is denoted by a dotted cross in FIG. 11 . Therefore, at the receiving side, the reference information is erroneously updated to reference information β′, based on the changed update information, and the header H3 decompressed by referring to the erroneous reference information is not the same as the original header H3 before compression at the transmitting side. This also applies to the following headers H4 and thereafter. As a result, as denoted by a solid cross in FIG. 11 , the header cannot correctly decompressed at the receiving side, and is generally regarded as having an error. Therefore, the entire packet is discarded.
In some cases, however, the header is not regarded as having an error even if it has not been correctly decompressed, and therefore the packet is not discarded. FIG. 12 exemplarily shows a case where a packet is not regarded as having an error even if the reference information is erroneously updated. In FIG. 12 , the reference information is erroneously updated at the receiving side to become receiving-side reference information α′, which is different from the reference information α at the transmitting side. As a result, headers H1 to H4 are erroneously decompressed at the receiving side. Therefore, in general, CRC errors occur and the entire packet are discarded. However, according to principles of CRC, not all errors cannot be detected, and any erroneously-decompressed header may be accidentally determined as being correct. In FIG. 12 , a packet containing the header H3 and the data D3 is accidentally determined as being correct, and is not discarded.
As stated above, even if no error is detected, there may be a decompression error caused by noise or erroneous reference information. Also, even if one decompression error is detected, it is impossible to tell the cause of the decompression error, that is, either noise or erroneous reference information. Therefore, according to the above background art, an update request typified by NACK is transmitted whenever an error occurs. Such update request, however, is unnecessary when the reference information is correct and the error is caused only by noise. Thus, according to the background art, the more errors caused by noise, the more unnecessary update requests are transmitted, and therefore the lower header compression efficiency becomes.
Therefore, an object of the present invention is to provide a header decompression method in which only a necessary request for updating reference information is made based on the state of an error in a header-decompressed packet.
The present invention has the following features to attain the object above.
A first aspect of the present invention is directed to a header decompression apparatus for decompressing a compressed header of a packet for transmission by referring to reference information being the same as reference information referred to for header compression by a transmitting side. In the apparatus, a packet receiver receives the packet from the transmitting side. A reference information manager stores and manages the reference information. A header decompressor is provided with the received packet, and carries out header decompression by referring to the reference information stored in the reference information manager. An error detector detects an error in the packet including the decompressed header. A counter/storage counts and stores the number of errors detected by the error detector the number of errors detected by the error detector and stores a relationship between the number of error packets and the number of error free packets. An update request unit transmits, to the transmitting side, update information for updating the reference information, when determining, based on the number counted by the counter/storage, that the reference information stored in the reference information manager should be updated. When the update information is transmitted from the transmitting side, the reference information manager updates the reference information stored in the reference information manager based on the transmitted update information.
As described above, in the first aspect, based on the error detection results in the counter/storage, the update request unit determines whether the reference information should be updated. Thus, the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
According to a second aspect, in the first aspect,
-
- the counter/storage includes a successive error counter and a successive decompression success counter. The successive error counter counts and stores the number of times X the packet having the error detected by the error detector successively appeared. The successive decompression success counter counts and stores the number of times Y the packet having no error successively appeared after the error detector detects the error.
Moreover, the update request unit determines, based on values of X and Y counted by the counter/storage, whether the reference information stored in the reference information manager should be updated.
As described above, in the second aspect, based on the number of decompression errors and decompression successes that successively appeared in the receiving side, an update request is transmitted to the transmitting side. Thus, the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
According to a third aspect, in the second aspect,
-
- when X≧Y, the update request unit determines that the reference information stored in the reference information manager should be updated.
As described above, in the third aspect, when X≧Y, a large number of successive decompression errors have occurred, and therefore there is a high possibility that the reference information has an error. Thus, the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
According to a fourth aspect, in the first aspect,
-
- the counter/storage counts and stores the number of packets W previously received and the number of packets R having the error detected by the error detector.
The update request unit determines, based on W and R counted by the counter/storage, that the reference information stored in the reference information manager should be updated when R is larger than a predetermined value.
As described above, in the fourth aspect, if the number of decompression errors in the packets previously received at the receiving side becomes large, an update request is sent to the transmitting side. Thus, the number of packets to be discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved.
Fifth to eighth aspects are directed to header decompression methods respectively corresponding to the above header decompression apparatuses. Ninth to eleventh aspects are directed to computer-readable recording media with programs respectively corresponding the above header decompression methods. Twelfth to fourteenth aspects are directed to programs respectively corresponding to the above header decompression methods.
These and other objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description of the present invention when taken in conjunction with the accompanying drawings.
(First Embodiment)
A method for header compression/decompression according to a first embodiment of the present invention is realized by a header compression apparatus and a header decompression apparatus as shown in FIGS. 1 and 2 , respectively. With reference to the drawings, the structure of each apparatus is described below.
The packet input unit 601 outputs a received packet to the CRC provider 602. The CRC provider 602 provides the received packet with a CRC for output to the header compressor 603. The header compressor 603 refers to reference information managed by the reference information manager 605 to compress the header of the received packet, and outputs the resultant packet to the packet transmitter 604. How to compress the header will be described later. The packet transmitter 604 transmits the received header-compressed packet to the receiving side. The reference information manager 605 manages the reference information referred to by the header compressor 603. The update request receiver 606 receives an update request from the transmitting side, and notifies the reference information manager 605 of the update request. The notified reference information manager 605 outputs the managed reference information to the header compressor 603, and instructs it to provide update information corresponding to the reference information to the compressed header.
The packet receiver 704 receives, from the transmitting side, the header-compressed packet, and outputs it to the header decompressor 703. The header decompressor 703 refers to the reference information managed by the reference information manager 707 to decompress the compressed header, and outputs the resultant packet to the error detector 702. The error detector 702 detects a CRC error in the header-decompressed packet, and outputs, to the packet output unit 701, only any packet whose header has been correctly decompressed. The successive error counter 705 counts the number of successive decompression errors detected by the error detector 702. The successive decompression success counter 706 counts the number of successive decompression successes detected by the error detector 702. The update request unit 708 refers to the numbers counted by the successive error counter 705 and the successive decompression success counter 706 to determine whether an update request is required or not in a manner described later, and transmits the update request as required to the transmitting side. The reference information manager 707 manages the reference information for header decompression.
Note that, in the present invention, “successive” decompression errors mean that successive two or more error states are observed in a header, or that only one error state is observed therein, although the latter is not generally applicable to the meaning of the word “successive”. Similarly, “successive” decompression successes means that successive two or more error-free states are observed in a header, or that only one error-free state is observed therein. How to determine “successive” states in the present invention will be described later.
Described specifically below are the operation of each of the above structured header compression apparatus and header decompression apparatus according to the present embodiment. Note that a packet supplied to the apparatuses contains data, such as video and audio, with an RTP/UDP/IP header.
First, the operation of the header compression apparatus shown in FIG. 1 is specifically described. The packet input part 601 outputs an externally-inputted RTP/UDP/IP packet to the CRC provider 602. The CRC provider 602 computes a CRC for the entire packet, and provides the CRC to the packet.
The header compressor 603 refers to the reference-information managed by the reference information manager 605 for header compression. In this header compression, if the header can be decompressed with its sequence number, the reference information is not updated, and only the sequence number is included in the header. If the header cannot be decompressed with its sequence number, update information of the reference information and the sequence number are included in the header. The packet transmitter 604 transmits the header-compressed packet to the receiving side.
The reference information manager 605 stores and manages the reference information referred to by the header compressor 603. Notified by the header compressor 603 of update, the reference information manager 605 updates the stored reference information. Notified by the update request receiver 606 that an update request has been received, the reference information manager 605 instructs the header compressor 603 to provide the update information to the header.
The update request receiver 606 receives an update request from the receiving side. On receiving the update request, the update request receiver 606 notifies the reference information manager 605 that the update request has been received.
Next, the operation of the header decompression apparatus 709 shown in FIG. 2 is specifically described. The packet receiver 704 receives the header-compressed packet transmitted from the packet transmitter 604 shown in FIG. 1 , and outputs the packet to the header decompressor 703.
The header decompressor 703 refers to the reference information stored in the reference information manager 707 to decompress the compressed-header of the packet. The header decompressed packet is outputted to the error detector 702. If the header is provided with update information, the header decompressor 703 notifies the reference information manager 707 of the update information.
The error detector 702 checks whether any error occurs or not in the header-decompressed packet by using the CRC. Also, the error detector 702 notifies the successive error counter 705 and the successive decompression success counter 706 of the presence or absence of an error. If detecting any error, the error detector 702 discards the packet. If not detecting, the error detector 702 outputs, to the packet output unit 701, the packet with the CRC removed therefrom. The packet output unit 701 externally outputs the error-undetected RTP/UDP/IP packet.
The reference information manager 707 stores and manages the reference information required for header decompression. If the compressed header includes the update information, the reference information manager 707 updates the stored reference information with the update information coming from the header decompressor 703.
The successive error counter 705 counts the number of successive errors X based on the error detection results in the error detector 702. For example, if an error is detected in a packet, X is 1. Then, if an error is detected also in the next packet, X becomes 2. Then, if an error is detected still in the following packet, X is further incremented by 1 to become 3. If no error is detected, successiveness is interrupted, and the error counter 705 stops counting.
The successive decompression success counter 706 counts the number of decompression successes Y based on the error detection results in the error detector 702. For example, if no error is detected in a packet, Y is 1. Then, if no error is detected also in the next packet, Y becomes 2. Then, if no error is detected still in the following packet, Y is further incremented by 1 to become 3. If any error is detected, successiveness is interrupted, and the successive decompression success counter 706 stops counting.
The update request unit 708 determines whether to request update based on a set of X outputted from the successive error counter 705 and Y outputted from the successive decompression success counter 706. This determination operation is further described in detail with reference to FIG. 3 .
In FIG. 3 , an error is detected in the packet P1, and therefore X=1. In the packet P2, no error is detected, and therefore X is held as 1 and Y=1. Then, no error is detected from the packets P3 and P4, and therefore X=1 and Y=3. Then, when an error is detected in the packet P5, the values of X and Y for the packets P1 to P4 are regarded as a set representing the presence or absence of an error, and determined as X=1, Y=3. The values of X and Y for the packet P5 and thereafter are regarded as a new set. An error is detected in the packets P5 to P8, and therefore X=4. No error is detected in the packets P9 to P11, and therefore Y=3. Thereafter, when an error is detected in the packet P12, the values of X and Y for the packets P5 to P11 are regarded as a set, and determined as X=4 and Y=3.
As such, the update request unit 708 regards the values of X and Y as a set representing successive decompression errors and subsequent decompression successes, and compares these values with predetermined values. By way of example, when X is larger than 10 and smaller than 2, it is determined that an error occurs in the reference information, and requests the transmitting side of updating the reference information. These predetermined values are example only, and not restrictive. If X≧Y a large number of successive decompression errors have occurred, and therefore there is a high possibility that the reference information has an error.
As such, the header decompression apparatus 709 according to the present embodiment requests the transmitting side of updating the reference information based on the number of successive decompression errors and successes at the receiving side. Thus, the number of packets discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved. Such capability of the header decompression apparatus 709 can be achieved in a general-purpose computer system. In this case, this capability is realized by a program executed in the computer system. The program is typically stored in a recoding medium such as CD-ROM, or transmitted through a communication medium.
(Second Embodiment)
A method for header compression/decompression according to a second embodiment of the present invention is realized by a header compression apparatus and a header decompression apparatus as shown in FIGS. 1 and 4 , respectively. Therefore, the header compression apparatus according to the second embodiment is the same in structure as the header compression apparatus 607 shown in FIG. 1 , and not described herein. Described below is the structure of the header decompression apparatus according to the present embodiment with reference to FIG. 4 .
The packet receiver 904 outputs a header-compressed packet supplied from the transmitting side to the header decompressor 903. The header decompressor 903 refers to the reference information in the reference information manager 906 to decompress the compressed header, and outputs the resultant packet to the error detector 902. The error detector 902 detects any error in the header-decompressed packet, and outputs, to the packet output unit 901, any packet whose header has been correctly decompressed. The decompression error detection result storage 905 counts the number of errors or successes detected in the packet by the error detector 902 for storage. The update request unit 907 is supplied with the number counted by the decompression error detection result storage 905, determining whether an update request is required or not and transmitting the update request as required to the transmitting side. The reference information manager 906 manages the reference information for header decompression.
Described specifically below is the operation of the above structured header decompression apparatus according to the present embodiment. Note that the operation of the header compression apparatus 607, that is, the transmitting side, is similar to that according to the first embodiment. Also assume that a packet supplied to the apparatuses contains data such as video and audio with an RTP/UDP/IP header.
In a header decompression apparatus 908 of FIG. 4 , a packet receiver 904 receives a header-compressed packet transmitted from the packet transmitter 604 of FIG. 1 , and outputs the packet to the header decompressor 903.
The header decompressor 903 refers to the reference information stored in the reference information manager 906 to decompress the compressed-header of the packet. The header-decompressed packet is outputted to the error detector 902. If the header is provided with update information of the reference information, the header decompressor 903 outputs the update information to the reference information manager 906.
The error detector 902 checks the presence or absence of an error in the header-decompressed packet by using the CRC. Also, the error detector 902 notifies the detection result to the decompression error detection result storage 905. If detecting any error, the error detector 902 discards the packet. If not detecting, the error detector 902 outputs, to the packet output unit 901, the packet with the CRC removed therefrom. The packet output unit 901 externally outputs the error-undetected RTP/UDP/IP packet.
The reference information manager 906 stores and manages the reference information required for header decompression. If the compressed header includes the update information, the reference information manager 906 updates the stored reference information with the update information coming from the header decompressor 903.
The decompression error detection result storage 905 stores the detection results of the error detector 902, that is, the number of errors R for preceding W packets. Instead of W or R, the number of decompression successes may be stored.
The update request unit 907 determines whether to request update by comparing the values of W and R outputted from the decompression error detection result storage 905 with predetermined values. For example, if, among received 50 packets, 45 packets have errors, that is, W=50 and R≧45, the update request unit 907 determines that the reference information has errors equal to or more than a predetermined value, and requests the transmitting side to update the reference information. Note that the above values are example only, and not restrictive.
As described above, the header decompression apparatus 908 according to the present embodiment requests updating of the reference information when the number of decompression errors becomes relatively or substantially large in the packets previously received by the receiving side. Thus, the number of packets discarded due to error in the reference information can be reduced, and efficient packet transmission can be achieved. Such capability of the header decompression apparatus 908 can be achieved in a general-purpose computer system. In this case, this capability is realized by a program executed in the computer system. The program is typically stored in a recoding medium such as CD-ROM, or transmitted through a communication medium.
While the invention has been described in detail, the foregoing description is in all aspects illustrative and not restrictive. It is understood that numerous other modifications and variations can be devised without departing from the scope of the invention.
Claims (28)
1. A header decompression apparatus for decompressing a compressed header of a packet for transmission by referring to reference information being the same as reference information referred to for header compression by a transmitting side, said apparatus comprising:
a packet receiver operable to receive the packet from the transmitting side;
a reference information manager operable to store and manage the reference information;
a header decompressor, operable to carry out header decompression on the received packet by referring to the reference information stored in said reference information manager;
an error detector operable to detect an error in the packet including the decompressed header;
a counter/storage the number operable to count the number of errors detected by said error detector and to store a relationship between the number of error packets and the number of error free packets; and
an update request unit operable to transmit, to the transmitting side, and update request for requesting update information for updating the reference information, when determining, based on the relationship of the packet number stored by said counter/storage, that the reference information stored in said reference information manager should be updated,
wherein when the update information is transmitted from the transmitting side, said reference information manager updates the reference information stored in said reference information manager based on the transmitted update information.
2. The header decompression apparatus according to claim 1 , wherein counter/storage includes a successive error counter operable to count and store the number of times X a packet having an error detected by said error detector successively appeared and a successive decompression success counter operable to count and store the number of times Y a packet not having an error detected by said error detector successively appeared after counting by said successive error counter is stopped, and
wherein said update request unit is further operable to determine, based on values of X and Y counted by said counter/storage, whether the reference information stored in said reference information manager should be updated.
3. The header decompression apparatus according to claim 2 , wherein when X≧Y, said update request unit determines that the reference information stored in said reference information manager should be updated.
4. The header decompression method for decompressing a compressed header of a packet for transmission by referring to stored reference information that is the same as reference information referred to for header compression by a transmitting side, said method comprising:
receiving the packet from the transmitting side;
carrying out header decompression on the received packet by referring to the stored reference information;
detecting an error in the packet including the decompressed header;
counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets; and
transmitting, to the transmitting side, an update request for requesting update information for updating the reference information, when determining, based on the stored relationship between the number of error packets and the number of error free packets, that the stored reference information should be updated.
5. The header decompression method according to claim 4 , wherein said counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets includes counting and storing the number of times X a packet having an error detected in said detecting an error successively appeared, and counting and storing the number of times Y a packet not having an error detected in said detecting an error successively appeared after counting and storing the number of times X is stopped, and
wherein in said transmitting an update request, based on values of X and Y counted in said counting the number of errors detected in said detecting an error and storing a relationship between the number of error free packets, it is determined whether the stored reference information should be updated.
6. The header decompression method according to claim 5 , wherein in said transmitting an update request, when X≧Y, it is determined that the stored reference information should be updated.
7. A computer-readable recording medium with a program recorded therein, the program being executrd in a computer system for carrying out header decompression of decompressing a compressed header of a packet for transmission by referring to stored reference information that is the same as reference information referred to for header compression by a transmitting side, said program including computer system readable instructions capable of instructing the computer system to implement a method comprising:
receiving the packet from the transmitting side;
carrying out header decompression on the received packet by referring to the stored reference information;
detecting an error in the packet including the decompressed header;
counting the number of errors detected in said detecting error and storing a relationship between the number of error packets and the number of error free packets; and
transmitting, to the transmitting side, an update request for requesting update information for updating the reference information, when determining, based on the stored relationship between the number of error packets and the number and the number of error free packets, that the stored reference information should be updated.
8. The computer-readable recording medium including computer system readable instructions capable of instructing the computer system to implement the method according to claim 7 ,
wherein said counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets includes counting and storing the number of times X a packet having an error detected in said detecting an error successively appeared, and counting and storing the number of times Y a packet not having an error detected in said detecting an error successively appeared after counting and storing the number of times X is stopped, and
wherein in said transmitting an update request, based on values of X and Y counted in said counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets, it is determined whether the stored reference information should be updated.
9. A program executed in a computer system for carrying out header decompression of decompressing a compressed header of a packet for transmission by referrring to reference information the same as reference information referred to for header compression by a transmitting side, said program including computer system readable instructions capable of instructing the computer system to implement the method comprising:
receiving the packet from the transmitting side;
carrying out header decompression on the received packet by referring to the stored reference information;
detecting an error in the packet including the decompressed header;
counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets; and
transmitting, to the transmitting side, an update request for requesting update information for updating the reference information, when determining, based on the stored relationship between the number of error packets and the number of error free packets, that the stored reference information should be updated.
10. The program including computer system readable instructions capable of instructing the computer system to implement the method according to claim 9 ,
wherein said counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets includes counting and storing the number of times X a packet having an error detected in said detecting an error successively appeared, and packet not having an error detected in said detecting an error successively appeared after counting and storing the number of times X is stopped, and
wherein in said transmitting an update request, based on values of X and Y counted in said counting the number of errors detected in said detecting an error and storing a relationship between the number of error packets and the number of error free packets, it is determined whether the stored reference information should be updated.
11. A header decompression apparatus for decompressing a compressed header of a packet by referring to reference information, the apparatus comprising:
a reference information manager for storing and managing the reference information;
a header decompressor for carrying out header decompression by referring to the reference information stored in the reference information manager;
an error detector for detecting an error in the packet including the header decompressed by the header decompressor;
a counter for counting a number R of packets having an error detected by the error detector from among a last W packets decompressed by the header decompressor, and storing a relationship between the number R of packets having an error and a number of error free packets, wherein (i) the stored relationship is the number R, (ii) W is an integer, and (iii) R is an integer; and
an update request unit for determining that the reference information stored in the reference information manager has an error based on the number R stored by the counter.
12. The header decompression apparatus according to claim 11, wherein the update request unit determines that the reference information stored in the reference information manager has an error when R is equal to or more than a threshold value.
13. The header decompression apparatus according to claim 12, wherein the threshold value is determined based on W.
14. The header decompression apparatus according to claim 11, wherein the error detector utilizes CRC to detect an error in a packet including a header decompressed by the header decompressor.
15. The header decompression apparatus according to claim 11, wherein when the update request unit determines that the reference information has an error, the update request unit transmits an update request for requesting update of the reference information stored in the reference information manager.
16. The header decompression apparatus according to claim 11, wherein when the update request unit determines that the reference information has an error, the update request unit transmits a NACK for requesting update of the reference information stored in the reference information manager.
17. A header decompression method for decompressing a compressed header of a packet by referring to reference information, the method comprising:
carrying out header decompression by referring to the reference information;
detecting an error in the packet including the header decompressed in the carrying out header decompression;
counting a number R of packets having an error detected in the detecting from among a last W packets decompressed in the carrying out of header decompression, and storing a relationship between the number R of packets having an error and a number of error free packets, wherein (i) the stored relationship is the number R, (ii) W is an integer, and (iii) R is an integer; and
determining that the reference information has an error based on the stored number R.
18. The header decompression method according to claim 17, wherein the determining determines that the reference information has an error when R is equal to or more than a threshold value.
19. The header decompression method according to claim 18, wherein the threshold value is determined based on W.
20. The header decompression method according to claim 17, wherein the detecting utilizes CRC to detect an error in a packet including a header decompressed in the carrying out header decompression.
21. The header decompression method according to claim 17, wherein transmitting an update request for requesting update of the reference information, when it is determined that the reference information has an error in the determining.
22. The header decompression method according to claim 17, wherein transmitting a NACK for requesting update of the reference information, when it is determined that the reference information has an error in the determining.
23. A header decompression apparatus for decompressing a compressed header of a packet by referring to reference information, the apparatus comprising:
a reference information manager for storing and managing the reference information;
a header decompressor for carrying out header decompression by referring to the reference information stored in the reference information manager;
an error detector for detecting an error in the packet including the header decompressed by the header decompressor;
a counter for counting a number R of packets having an error detected by the error detector from among a last W packets decompressed by the header decompressor, and storing a relationship between the number R of packets having an error and a number of error free packets, wherein (i) the stored relationship is the number R, (ii) W is an integer, and (iii) R is an integer; and
an update request unit for transmitting an update request for requesting update of the reference information stored in the reference information manager based on the number R stored by the counter.
24. The header decompression apparatus according to claim 23, wherein the update request unit transmits an update request when R is equal to or more than a threshold value.
25. The header decompression apparatus according to claim 24, wherein the threshold value is determined based on W.
26. A header decompression method for decompressing a compressed header of a packet by referring to reference information, the method comprising:
carrying out header decompression by referring to the reference information;
detecting an error in the packet including the header decompressed in the carrying out header decompression;
counting a number R of packets having an error detected in the detecting from among a last W packets decompressed in the carrying out of header decompression, and storing a relationship between the number R of packets having an error and a number of error free packets, wherein (i) the stored relationship is the number R, (ii) W is an integer, and (iii) R is an integer; and
transmitting an update request for requesting update of the reference information based on the stored number R.
27. A header decompression method according to claim 26, wherein the transmitting transmits the update request when R is equal to or more than a threshold value.
28. A header decompression method according to claim 27, wherein the threshold value is determined based on W.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/976,453 USRE43100E1 (en) | 2000-09-11 | 2007-10-24 | Apparatus and method for header decompression |
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000274615 | 2000-09-11 | ||
JP2000-274615 | 2000-09-11 | ||
JP2000367514A JP4592935B2 (en) | 2000-09-11 | 2000-12-01 | Header restoration apparatus and header restoration method |
JP2000-367514 | 2000-12-01 | ||
US09/948,765 US6959410B2 (en) | 2000-09-11 | 2001-09-10 | Apparatus and method for header decompression |
US11/976,453 USRE43100E1 (en) | 2000-09-11 | 2007-10-24 | Apparatus and method for header decompression |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/948,765 Reissue US6959410B2 (en) | 2000-09-11 | 2001-09-10 | Apparatus and method for header decompression |
Publications (1)
Publication Number | Publication Date |
---|---|
USRE43100E1 true USRE43100E1 (en) | 2012-01-10 |
Family
ID=26599627
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/948,765 Ceased US6959410B2 (en) | 2000-09-11 | 2001-09-10 | Apparatus and method for header decompression |
US10/803,906 Expired - Lifetime US7000166B2 (en) | 2000-09-11 | 2004-03-19 | Apparatus and method for header decompression |
US11/976,453 Expired - Lifetime USRE43100E1 (en) | 2000-09-11 | 2007-10-24 | Apparatus and method for header decompression |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/948,765 Ceased US6959410B2 (en) | 2000-09-11 | 2001-09-10 | Apparatus and method for header decompression |
US10/803,906 Expired - Lifetime US7000166B2 (en) | 2000-09-11 | 2004-03-19 | Apparatus and method for header decompression |
Country Status (6)
Country | Link |
---|---|
US (3) | US6959410B2 (en) |
EP (3) | EP1447956B1 (en) |
JP (1) | JP4592935B2 (en) |
CN (2) | CN1198403C (en) |
CA (1) | CA2357223C (en) |
DE (3) | DE60112525T2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040034717A1 (en) * | 2002-06-12 | 2004-02-19 | Ghyslain Pelletier | Method and apparatus for increased Internet Protocol (IP) headers compression performance by reporting cause of missing packets |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3323483B2 (en) * | 2000-09-12 | 2002-09-09 | 松下電器産業株式会社 | Packet transmission device and packet transmission method |
JP3617967B2 (en) | 2001-09-28 | 2005-02-09 | 松下電器産業株式会社 | Header compressed packet receiving apparatus and method |
US7055085B2 (en) * | 2002-03-07 | 2006-05-30 | Broadcom Corporation | System and method for protecting header information using dedicated CRC |
EP1349285A1 (en) * | 2002-03-28 | 2003-10-01 | Matsushita Electric Industrial Co., Ltd. | Method for making efficient use of the bits allocated to the sequence number when transmitting compressed header data |
US20060079254A1 (en) * | 2003-02-11 | 2006-04-13 | Hogan Timothy J | Method and apparatus for updating a control file |
US20040165585A1 (en) * | 2003-02-25 | 2004-08-26 | Koji Imura | Packet transmission apparatus and packet transmission method |
US7443785B2 (en) * | 2004-03-17 | 2008-10-28 | Sony Ericsson Mobile Communications Ab | Selective error correction for ad hoc networks having multiple communication modes |
US20060029367A1 (en) * | 2004-08-03 | 2006-02-09 | Takuya Kosugi | Sequence header identification |
US7924731B2 (en) * | 2004-11-15 | 2011-04-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for handling out-of-sequence packets in header decompression |
US8165104B2 (en) * | 2004-12-08 | 2012-04-24 | Qualcomm Incorporated | Methods and systems for enhancing local repair in robust header compression |
US20060277322A1 (en) * | 2005-06-03 | 2006-12-07 | Nokia Corporation | System and method for implementing reference-based electronic mail compression |
US8804765B2 (en) * | 2005-06-21 | 2014-08-12 | Optis Wireless Technology, Llc | Dynamic robust header compression |
US7916750B2 (en) * | 2005-12-28 | 2011-03-29 | Intel Corporation | Transaction layer packet compression |
US7948989B2 (en) * | 2006-05-04 | 2011-05-24 | Qualcomm, Incorporated | Methods and systems for enhancing local repair in robust header compression |
WO2008115116A1 (en) * | 2007-03-16 | 2008-09-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for relocating a header compression context in a wireless communication system |
US8423789B1 (en) | 2007-05-22 | 2013-04-16 | Marvell International Ltd. | Key generation techniques |
EP2209265B1 (en) * | 2007-10-31 | 2015-08-26 | Fujitsu Limited | Communication method and communication terminal, data transfer device, and controller |
WO2009072175A1 (en) * | 2007-12-03 | 2009-06-11 | Fujitsu Limited | Packet transmission apparatus and method for packet transmission |
WO2010024114A1 (en) | 2008-08-25 | 2010-03-04 | 日本電気株式会社 | Communication device and header compression control method |
US8874793B2 (en) * | 2009-11-30 | 2014-10-28 | Qualcomm Innovation Center, Inc. | Methods and apparatus for improving header compression |
JP5609728B2 (en) * | 2011-03-18 | 2014-10-22 | 富士通株式会社 | Communication terminal and data transfer method |
US9544404B2 (en) * | 2014-08-15 | 2017-01-10 | Telefonaktiebolaget L M Ericsson (Publ) | RoHC optimizations for burst losses |
CN105764092A (en) * | 2014-12-17 | 2016-07-13 | 中兴通讯股份有限公司 | Original state message sending control method, compression end equipment, decompression end equipment, and system |
JP6508340B2 (en) * | 2015-08-19 | 2019-05-08 | 日本電気株式会社 | Error monitoring device, method and program |
JP6540875B2 (en) * | 2016-02-15 | 2019-07-10 | 日本電気株式会社 | Wireless base station, terminal device, and communication system |
CN107919935B (en) * | 2016-10-08 | 2022-04-15 | 中兴通讯股份有限公司 | Method and device for improving voice communication quality |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410546A (en) * | 1993-11-01 | 1995-04-25 | Storage Technology Corporation | Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order |
US6148422A (en) | 1997-10-07 | 2000-11-14 | Nortel Networks Limited | Telecommunication network utilizing an error control protocol |
US6449352B1 (en) * | 1995-06-20 | 2002-09-10 | Matsushita Electric Industrial Co., Ltd. | Packet generating method, data multiplexing method using the same, and apparatus for coding and decoding of the transmission data |
US6609224B1 (en) * | 2000-02-04 | 2003-08-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Replacement of transport-layer checksum in checksum-based header compression |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06268633A (en) | 1993-03-15 | 1994-09-22 | Fujitsu Ltd | Method and circuit for protecting data multiplicity |
JP3323057B2 (en) * | 1996-04-10 | 2002-09-09 | 沖電気工業株式会社 | Encoding device, decoding device, and transmission system |
WO1999034550A1 (en) * | 1997-12-26 | 1999-07-08 | Matsushita Electric Industrial Co., Ltd. | Apparatus for reproduction of encoded signal |
JP3196839B2 (en) | 1998-09-28 | 2001-08-06 | 日本電気株式会社 | Radio quality degradation determination method and radio quality monitoring device in mobile communication system |
WO2000051307A1 (en) * | 1999-02-26 | 2000-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Adaptive header compression for packet communications |
US6556587B1 (en) * | 1999-02-26 | 2003-04-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Update of header compression state in packet communications |
-
2000
- 2000-12-01 JP JP2000367514A patent/JP4592935B2/en not_active Expired - Lifetime
-
2001
- 2001-09-07 EP EP20040009502 patent/EP1447956B1/en not_active Expired - Lifetime
- 2001-09-07 DE DE2001612525 patent/DE60112525T2/en not_active Expired - Lifetime
- 2001-09-07 DE DE2001628409 patent/DE60128409T2/en not_active Expired - Lifetime
- 2001-09-07 EP EP20070103500 patent/EP1788782B1/en not_active Expired - Lifetime
- 2001-09-07 EP EP20010120765 patent/EP1191760B1/en not_active Expired - Lifetime
- 2001-09-07 DE DE20122718U patent/DE20122718U1/en not_active Expired - Lifetime
- 2001-09-10 CA CA 2357223 patent/CA2357223C/en not_active Expired - Lifetime
- 2001-09-10 US US09/948,765 patent/US6959410B2/en not_active Ceased
- 2001-09-11 CN CNB01133049XA patent/CN1198403C/en not_active Expired - Lifetime
- 2001-09-11 CN CN2005100525960A patent/CN1645864B/en not_active Expired - Lifetime
-
2004
- 2004-03-19 US US10/803,906 patent/US7000166B2/en not_active Expired - Lifetime
-
2007
- 2007-10-24 US US11/976,453 patent/USRE43100E1/en not_active Expired - Lifetime
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5410546A (en) * | 1993-11-01 | 1995-04-25 | Storage Technology Corporation | Apparatus and method for CRC computation over fixed length blocks containing variable length packets of data received out of order |
US6449352B1 (en) * | 1995-06-20 | 2002-09-10 | Matsushita Electric Industrial Co., Ltd. | Packet generating method, data multiplexing method using the same, and apparatus for coding and decoding of the transmission data |
US6148422A (en) | 1997-10-07 | 2000-11-14 | Nortel Networks Limited | Telecommunication network utilizing an error control protocol |
US6609224B1 (en) * | 2000-02-04 | 2003-08-19 | Telefonaktiebolaget Lm Ericsson (Publ) | Replacement of transport-layer checksum in checksum-based header compression |
Non-Patent Citations (6)
Title |
---|
Burmeister, C., et al. "Robust Header Compression", IETE, Jun. 29, 2000 (draft-ietf-rohc-rtp-00.txt). |
Carsten Bormann et al., "Robust Header Compression (ROHC)", Internet Draft, 'Online! Jul. 14, 2000, pp. 1-34, XP002247470, Retrieved from the Internet: 'retrived on Jul. 14, 2003! Sections 2 'Terminology' and 3.1 'Header compression fundamentals': *p. 7-p. 11* Section 4.4.3. 'Bi-directional reliable mode': *p. 16-p. 18*. * |
Carsten Bormann et al., "Robust Header Compression (ROHC)", Internet Draft, 'Online! Jul. 14, 2000, pp. 1-34, XP002247470, Retrieved from the Internet: <URL:http//www.watersprings.org/pub/id/draft-ietf-rohc-rtp-01.txt> 'retrived on Jul. 14, 2003! Sections 2 ‘Terminology’ and 3.1 ‘Header compression fundamentals’: *p. 7-p. 11* Section 4.4.3. ‘Bi-directional reliable mode’: *p. 16-p. 18*. |
ROHC Mailing List Archive, 'Online! Jul. 10, 2000, pp. 1-9, XP002247471, ROHC mailing list archive, Retrieved from the Internet: <URL:http//www.cdt.luth.se/rohc/msg00559.html> 'retrieved on Jul. 14, 2003! Section 1.2 ‘Dealing with residual bit errors’: *p. 4*. |
ROHC Mailing List Archive, 'Online! Jul. 10, 2000, pp. 1-9, XP002247471, ROHC mailing list archive, Retrieved from the Internet: 'retrieved on Jul. 14, 2003! Section 1.2 'Dealing with residual bit errors': *p. 4*. * |
Z. Markov & B. Trenkic', "Equalisation of CCSNo7 link availability" Electronics Letters, IEE Stevenage, Great Britain, vol. 34, No. 7, Apr. 2, 1998, pp. 631-632, XP006009543. |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040034717A1 (en) * | 2002-06-12 | 2004-02-19 | Ghyslain Pelletier | Method and apparatus for increased Internet Protocol (IP) headers compression performance by reporting cause of missing packets |
US8619592B2 (en) * | 2002-06-12 | 2013-12-31 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for increased internet protocol (IP) headers compression performance by reporting cause of missing packets |
Also Published As
Publication number | Publication date |
---|---|
DE60112525T2 (en) | 2006-06-08 |
EP1788782B1 (en) | 2013-12-04 |
DE20122718U1 (en) | 2007-03-22 |
EP1191760B1 (en) | 2005-08-10 |
EP1788782A3 (en) | 2007-07-25 |
CN1645864B (en) | 2010-05-05 |
JP2002158739A (en) | 2002-05-31 |
US7000166B2 (en) | 2006-02-14 |
DE60112525D1 (en) | 2005-09-15 |
US20040181741A1 (en) | 2004-09-16 |
CA2357223C (en) | 2006-01-17 |
US20020031149A1 (en) | 2002-03-14 |
EP1447956B1 (en) | 2007-05-09 |
EP1447956A2 (en) | 2004-08-18 |
DE60128409T2 (en) | 2008-01-10 |
US6959410B2 (en) | 2005-10-25 |
CN1344069A (en) | 2002-04-10 |
JP4592935B2 (en) | 2010-12-08 |
EP1191760A2 (en) | 2002-03-27 |
CA2357223A1 (en) | 2002-03-11 |
EP1788782A2 (en) | 2007-05-23 |
CN1198403C (en) | 2005-04-20 |
EP1447956A3 (en) | 2004-09-08 |
CN1645864A (en) | 2005-07-27 |
DE60128409D1 (en) | 2007-06-21 |
EP1191760A3 (en) | 2003-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
USRE43100E1 (en) | Apparatus and method for header decompression | |
US6889261B2 (en) | Method and apparatus for header compression | |
EP1261184B1 (en) | Method and device for error correction in the static header information of a received packet | |
EP1187416B1 (en) | Method and apparatus for transmitting data packets | |
JP2002124989A (en) | Method for transferring data packet and device therefor | |
EP1482668A1 (en) | PACKET TRANSMITTER&comma; PACKET RECEIVER AND PACKET TRANSMISSION METHOD | |
WO2000079764A1 (en) | Robust delta encoding with history information | |
US20040165542A1 (en) | Packet transmitter and packet transmitter method | |
JP3638939B2 (en) | Header restoration apparatus and header restoration method | |
US20040136380A1 (en) | Packet transmitter, packet receiver and packet transmission method | |
JP2002094553A (en) | Device and method for transmitting packet | |
JP3638940B2 (en) | Header restoration apparatus and header restoration method | |
EP1482700A1 (en) | Packet transmitter and packet transmission method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FEPP | Fee payment procedure |
Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
FPAY | Fee payment |
Year of fee payment: 8 |
|
AS | Assignment |
Owner name: GODO KAISHA IP BRIDGE 1, JAPAN Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PANASONIC CORPORATION (FORMERLY MATSUSHITA ELECTRIC INDUSTRIAL CO., LTD.);REEL/FRAME:032152/0514 Effective date: 20140117 |
|
FPAY | Fee payment |
Year of fee payment: 12 |