US20060156198A1 - Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding - Google Patents
Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding Download PDFInfo
- Publication number
- US20060156198A1 US20060156198A1 US11/348,864 US34886406A US2006156198A1 US 20060156198 A1 US20060156198 A1 US 20060156198A1 US 34886406 A US34886406 A US 34886406A US 2006156198 A1 US2006156198 A1 US 2006156198A1
- Authority
- US
- United States
- Prior art keywords
- packet
- information packets
- data units
- fec
- error correction
- 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.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/1515—Reed-Solomon codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/373—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with erasure correction and erasure determination, e.g. for packet loss recovery or setting of erasures for the decoding of Reed-Solomon codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0072—Error control for data other than payload data, e.g. control data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
- H04L1/1835—Buffer management
- H04L1/1838—Buffer management for semi-reliable protocols, e.g. for less sensitive applications such as streaming video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W80/00—Wireless network protocols or protocol adaptations to wireless operation
- H04W80/06—Transport layer protocols, e.g. TCP [Transport Control Protocol] over wireless
Definitions
- the present invention relates generally to wireless packet networks, and more particularly, to methods and apparatus for reducing lost or corrupted packets in such wireless packet networks.
- IP Internet Protocol
- current and emerging wireless networks allow (i) a user to download information from the Internet using a wireless communication device, (ii) Internet-to-mobile or mobile-to-mobile videoconferences, (iii) streaming of video or audio information (or both) from the Internet to a wireless communication device, and (iv) electronic-commerce applications.
- the multimedia services can be classified into two categories. Real-time services generally have delay constraints but can tolerate channel errors, and include interactive services, such as voice, voice-over-IP, packet video/audio, videoconference applications.
- Non-real-time services are generally sensitive to channel errors but have more relaxed latency requirements, and include Web browsing, electronic mail and file transfer protocol (FTP) applications. It is noted, however, that non-real-time services for wireless systems should still provide a reasonable level of latency in order to be compatible with performance on a wired network, such as the Internet.
- FTP file transfer protocol
- the end-to-end path of many wireless multimedia sessions involves a number of heterogeneous network technologies, with the multimedia packets being sent from an originating server, through the Internet and then over one or more wireless packet networks to the mobile destination. Network congestion on the Internet leads to packet loss and degraded quality.
- most Internet-based real-time multimedia services employ the well-known User Datagram Protocol (UDP) as their transport protocol. Compared to the Transmission Control Protocol (TCP), the UDP protocol has low overhead and no retransmission delay, which makes it attractive to delay sensitive applications.
- UDP User Datagram Protocol
- a UDP packet typically includes a header, containing source and destination address information, as well as a payload (the actual application data).
- the UDP protocol employs a cyclic redundancy check (CRC) to verify the integrity of packets, in a known manner.
- CRC cyclic redundancy check
- the UDP protocol can detect any error in the packet header or payload and discard the packet if an error is detected.
- Packet transmission based on the UDP protocol on the Internet is a “best efforts” protocol, where network congestion yields packet loss. When a packet fails to arrive before its processing time, the UDP protocol declares the packet as lost. Therefore, at the receiving host, packets are either perfect or completely lost.
- Wireless packet networks encounter packet losses between a base station and a mobile receiver as a result of channel errors and network congestion. Furthermore, such packet losses can be random or bursty, depending on the environment, rate-of-motion and network loading. Therefore, it has been recognized that use of the UDP protocol in a wireless network will cause considerable packet losses, and as a result, poor audio/video quality and increased power consumption.
- the inefficiency of the UDP protocol in wireless networks arises from the discarding of a packet containing only a small portion of corrupted data. As such, the UDP protocol also discards error-free data within the packet. Indeed, current and emerging multimedia coding technologies are focusing on improved error resilience, such that the media decoder can tolerate a certain number of channel errors. Thus, a need exists for a revised UDP protocol that reduces or avoids unnecessary packet discarding.
- FEC packet-level forward error correction
- MDS Maximal Distance Separable
- RS Reed-Solomon
- an FEC encoder typically chooses k information packets and generates n ⁇ k parity packets of length n to construct an (n, k) RS code.
- MDS Maximal Distance Separable
- RS Reed-Solomon
- an FEC encoder typically chooses k information packets and generates n ⁇ k parity packets of length n to construct an (n, k) RS code.
- the packets are numbered and are assumed to arrive perfectly or never arrive at all. The missing packets can be detected by the receiver and declared as erasure packets.
- An (n, k) RS code can correct (n ⁇ k) erasures and thus recover up to (n ⁇ k) packet losses.
- an FEC decoder In a wireless network employing the UDP protocol, an FEC decoder would use only the packets that were received perfectly, and lost packets are considered erasures. However, the UDP protocol yields high packet loss rates even under low and medium physical layer data losses. Therefore, the (n ⁇ k) value employed by the FEC encoder should be sufficiently large to effectively reduce the packet loss, which implies increased overhead and less efficiency.
- the FEC decoder may receive perfect or corrupted packets, and performs both error and erasure correction. Since MDS codes provide twice the erasure recovering capability compared to error correction capability, an (n, k) packet code can recover up to (n ⁇ k)/2 erroneous packets within every n packets.
- CUDP complete User Datagram Protocol
- the disclosed CUDP protocol utilizes channel frame error information obtained from the physical and link layers to assist the packet level error recovery.
- the CUDP supports packet level FEC coding in order to reduce information loss.
- the present invention forwards each packet, as well as the channel frame error information, to a given application.
- the disclosed CUDP protocol further assists the packet level FEC decoding process by forwarding the locations of corrupted frames to the FEC decoder.
- a transmitter in accordance with the present invention optionally applies FEC techniques employing Maximal Distance Separable (MDS) codes to a group of packets, to achieve robustness against packet loss within the Internet and against packet error over wireless channels.
- MDS Maximal Distance Separable
- the CUDP protocol forwards the frame error information, as well as the packet data, to the application layer.
- An MDS decoder utilizes the frame error information to recognize the erasures within each packet.
- the error information provided to the application layer can be represented in a number of forms.
- the CUDP protocol Upon receiving a packet, the CUDP protocol only performs a packet header CRC check (and not a payload CRC check).
- a set of logical transmission unit (LTU) error indicators associated with each packet is provided to the application layer (for FEC decoders requiring an erasure indicator). If the packet header is valid, the UDP layer forwards the indicator, the LTU size and the packet payload to the FEC decoder.
- a reformatted packet is provided to the application layer (for FEC decoders Recognizing Erasures).
- the frame (LTU) error information from the lower layers is incorporated in the packet payload.
- the payload within the frame is represented as a set of erasures, which can be recognized by the FEC decoder.
- the CUDP protocol passes the reformatted packet payload to the upper layers.
- An FEC encoder is also disclosed that encodes multimedia packets utilizing a packet-coding scheme.
- FIG. 1 illustrates a conventional multimedia network environment
- FIG. 2 illustrates a conventional wireless packet network of FIG. 1 in further detail
- FIG. 3 illustrates a conventional wireless protocol stack and packet structure in accordance with the present invention
- FIG. 4 illustrates a packet-level forward error correction (FEC) coder in accordance with the present invention
- FIGS. 5A and 5B illustrate a vertical packet coding (VPC) scheme and a long vertical packet coding (LVPC) scheme, respectively, employed by the FEC coder of FIG. 4 in accordance with the present invention.
- VPC vertical packet coding
- LVPC long vertical packet coding
- FIG. 1 illustrates a conventional heterogeneous network environment 100 that supports IP-Wireless multimedia communications.
- the end-to-end path of many wireless multimedia sessions such as an Internet-to-mobile communication, involves a number of heterogeneous network technologies, with the multimedia packets being sent from an originating server 105 , through the Internet 110 and then over one or more wireless packet networks 200 - n , shown in further detail in FIG. 2 , to the mobile destination 140 .
- FIG. 3 illustrates a general wireless protocol stack 310 and packet structure 320 .
- the link layer 330 partitions each single data packet into multiple units to accomplish physical layer transmission.
- the unit size depends on the radio link protocol (RLP), medium access control (MAC) and physical layer (PHY) 335 , but is usually much smaller than the packet size.
- RLP radio link protocol
- MAC medium access control
- PHY physical layer
- each physical layer frame corresponds to a transmission unit, assuming low and medium data rates.
- the MAC layer specifies that the RLP layer can subdivide each physical layer frame into smaller logical frames, referred to as LTUs, each associated with a 16 bit CRC.
- Typical LTU size ranges from 300-600 bits (40-80 bytes), while IP packets are typically 600-1500 bytes long.
- the RLP can specify a limited number of retransmissions to compensate for LTU losses.
- the RLP forwards the received LTUs to the interface, e.g., Point-to-Point Protocol, to reconstruct the packet.
- PPP forwards the packets to the TCP layer, where the packet losses after RLP retransmissions can be recovered at the TCP level through packet level retransmission and congestion control.
- the conventional UDP layer upon receiving a packet from the PPP protocol layer, the conventional UDP layer performs a packet level cyclic redundancy check (CRC) to validate the information within the packet, including both the packet header and the payload. In this case, any LTU loss would result in the whole packet being discarded.
- CRC packet level cyclic redundancy check
- the inefficiency of UDP in wireless networks arises from the discarding of a packet containing only a small part of corrupted data. As such, the UDP also throws out error-free data within the packet. Indeed, applications can utilize error-free data to recover corrupted data.
- the reliable UDP was proposed to provide reliable ordered delivery of packets up to a maximum number of retransmissions for virtual connections.
- RUDP The reliable UDP
- the RUDP protocol calculates the CRC checksum on the packet header alone or the packet header and the payload. This flexibility makes the RUDP protocol suitable for transport telecommunication signaling.
- the UDP Lite protocol was proposed to prevent unnecessary packet loss at the receiver if channel errors occur only in the packet payload.
- the UDP checksum is constructed based on the packet header, so that only corrupted packet headers result in packet loss.
- the UDP Lite protocol delivers the packet payload to the upper layers, whether the payload is perfect, lost or erroneous. Compared to UDP, UDP lite only performs CRC on the packet header. Therefore, if corrupted, a packet payload will not result in the packet being discarded. However, the error location within the packet payload is unknown to the application, which can improve packet level FEC performance.
- FEC packet-level forward error correction
- the UDP and UDP Lite protocols do not perform well with packet based FEC.
- One significant reason is that the UDP and UDP Lite protocols ignore useful channel information from the RLP layer 330 .
- the present invention recognizes that such information can be exploited to maximize FEC coding efficiency.
- the current protocol design does not support information communications from the RLP layer 330 to the PPP/IP/UDP layers and above.
- the present invention proposes a new system protocol design that allows the exchange of certain information in both directions among the layers 310 .
- OSI open system interconnection
- the UDP protocol Upon receiving a packet, the UDP protocol only performs a packet header CRC check (and not a payload CRC check), in a similar manner to the UDP Lite protocol.
- the LTU error information obtained from the lower layers is represented in terms of a set of error indicators that are associated with each packet. The error indicators point to the starting and ending location of the erroneous data. If the packet header is valid, UDP forwards the indicator, the size of LTU as well as the packet payload to the FEC decoder.
- the UDP protocol Upon receiving a packet, the UDP protocol performs a packet header CRC check.
- the LTU (referred to herein as “frame”) error information from the lower layers is incorporated in the packet payload.
- the payload within the frame is represented as a set of erasures, which can be recognized by the FEC decoder.
- the erasure format depends on the system implementation.
- UDP passes the reformatted packet payload to the upper layers.
- the proposed UDP protocol captures all of the available information, i.e., the error-free frames and the location of erroneous frames.
- an FEC coding technique uses the available wireless frame error information.
- Conventional MDS codes were designed for Internet multimedia applications, where packet loss is congestion related. For wireless multimedia applications, most packets are partially damaged by channel errors. Thus, if a conventional UDP protocol was utilized, such partially damaged wireless packets would be discarded. Similarly, if a conventional UDP Lite protocol was utilized, such partially damaged wireless packets are forwarded to the application, but the location of the error is discarded, thereby leading to information loss.
- FIG. 4 illustrates an FEC coder 400 in accordance with the present invention that encodes multimedia packets utilizing one of two illustrative packet-coding schemes, discussed further below in conjunction with FIGS. 5A and 5B .
- the illustrative FEC encoder 400 codes every four packets together, and generates three parity checks. Thus, a (7,4) MDS code is employed in the illustrative embodiment.
- each packet is segmented into seven frames.
- VPC Vertical Packet Coding
- the FEC encoder 400 selects k packets of length X units.
- the proposed system encodes multiple packets of the same size together.
- the packets should have the same or similar delay constraint, e.g., packets correspond to a single video frame.
- the packets can be of different length. If so, they are bit stuffed to match the longest packet length.
- the source coding and packetization scheme can be designed to generate packets with equal or similar size, as described in co-pending U.S. patent application Ser. No.
- the channel encoder at the application layer takes one data unit from each packet and generates (n ⁇ k) parity units to construct (n ⁇ k) additional packets in a vertical packet coding (VPC) structure, shown in FIG. 5A .
- VPC vertical packet coding
- the VPC scheme provides transparent Internet-to-Wireless communications.
- the transmitter at the Internet multimedia database 105 is unaware of the wireless network 200 further downstream, and performs the same coding scheme to support packet flows over the Internet or a wireless network.
- the gateway 115 between these two networks should embed the frame error information in the packet, and forward it to the receiver.
- Another option would be for the gateway to perform packet FEC decoding based on the frame error information.
- the gateway 115 discards any packet with an unrecoverable frame error without sending it to the Internet 110 .
- the UDP protocol within the Internet remains unchanged. However, this action increases both computational complexity and transmission delay at the gateway 115 .
- Another advantage of the CUDP with VPC of the present invention is that even if the decoder fails, part of the erroneous packets can still be recovered.
- packet 1 , 2 , 4 , 5 , 6 are declared lost if only the packet CRC check is used to validate the data.
- a (7,4) MDS code can only recover three (3) erasures (7 minus 4). Therefore, without the frame error information, the conventional decoder will fail. If the frame error information is available, the erasures at columns 0, 1, 2, 4, 5, 6 are recovered. Only the column corresponding to frame 3 contains erasure. For compressed multimedia data, this is more important since more information means better error concealment and recovery. If using a UDP Lite protocol, on the other hand, a (7,4) MDS code can recover one error and one erasure, or three erasures; therefore it can only recover columns 0, 4, 5 and 6.
- the FEC encoder 400 can increase n by coding L multiple columns of data units together. This generates X/L coded streams, each corresponding to a (nL, kL) MDS codes.
- This coding scheme is referred to as long vertical packet coding (LVPC), shown in FIG. 5B .
- the dimension of the MDS code is (49,28) which can recover 21 erasures. From FIG. 5B , the channel error and congestion yields 19 erasures that can all be recovered.
- LVPC achieves higher efficiency compared to VPC. However, if the decoder fails in LVPC, all the erasures can not be recovered, while in VPC, part of the erasures can be recovered. In addition, compared to VPC, LVPC has a disadvantage of increased computational complexity for the IP-only case since it requires the wireless frame size information, which may not be available at the transmitter.
- HVPC Horizontal/Vertical Packet Coding
- FEC coding is applied to code the wireless frames in a single packet.
- the encoder 400 applies vertical packet coding across the packets, and then applies an outer horizontal coding scheme within each packet.
- the decoder first performs horizontal decoding to recover frame errors within the same packets, and then performs vertical decoding.
- the horizontal packet coding requires knowledge of the frame size.
Abstract
A complete User Datagram Protocol (CUDP) is disclosed that reduces packet loss. Channel frame error information is used with a packet level forward error correction (FEC) coding technique to accommodate wireless multimedia traffic. Each packet, as well as the channel frame error information, is forwarded to a given application. The CUDP protocol further assists the FEC decoding process by forwarding the locations of corrupted frames to the FEC decoder. Maximal Distance Separable (MDS) codes can be applied to a group of packets, to achieve additional robustness. An MDS decoder utilizes the frame error information to recognize the erasures within each packet. The error information can be represented as a set of LTU error indicators associated with each packet (for FEC decoders requiring an erasure indicator). The error indicators point to the starting and ending location of the erroneous data. The error information can also be represented as a reformatted packet (for FEC decoders Recognizing Erasures). The frame (LTU) error information from the lower layers is incorporated in the packet payload. An FEC encoder is also disclosed that encodes multimedia packets utilizing a packet-coding scheme, such as a Vertical Packet Coding (VPC) scheme or a Long Vertical Packet Coding (LVPC) scheme.
Description
- This application is a divisional application of U.S. patent application Ser. No. 09/668,242, filed on Sep. 22, 2000 and is related to U.S. patent application Ser. No. 09/668,243 entitled “Radio Link Protocol (RLP)/Point-to-Point Protocol (PPP) Design for Wireless Multimedia Packet Networks that Passes Corrupted Data and Error Location Information Among OSI Layers,” assigned to the assignee of the present invention and incorporated by reference herein.
- The present invention relates generally to wireless packet networks, and more particularly, to methods and apparatus for reducing lost or corrupted packets in such wireless packet networks.
- It is inevitable that future wireless services will support Internet Protocol (IP)-based multimedia applications. For example, current and emerging wireless networks allow (i) a user to download information from the Internet using a wireless communication device, (ii) Internet-to-mobile or mobile-to-mobile videoconferences, (iii) streaming of video or audio information (or both) from the Internet to a wireless communication device, and (iv) electronic-commerce applications. In general, the multimedia services can be classified into two categories. Real-time services generally have delay constraints but can tolerate channel errors, and include interactive services, such as voice, voice-over-IP, packet video/audio, videoconference applications. Non-real-time services, on the other hand, are generally sensitive to channel errors but have more relaxed latency requirements, and include Web browsing, electronic mail and file transfer protocol (FTP) applications. It is noted, however, that non-real-time services for wireless systems should still provide a reasonable level of latency in order to be compatible with performance on a wired network, such as the Internet.
- The end-to-end path of many wireless multimedia sessions, such as an Internet-to-mobile communication, involves a number of heterogeneous network technologies, with the multimedia packets being sent from an originating server, through the Internet and then over one or more wireless packet networks to the mobile destination. Network congestion on the Internet leads to packet loss and degraded quality. Thus, most Internet-based real-time multimedia services employ the well-known User Datagram Protocol (UDP) as their transport protocol. Compared to the Transmission Control Protocol (TCP), the UDP protocol has low overhead and no retransmission delay, which makes it attractive to delay sensitive applications.
- A UDP packet typically includes a header, containing source and destination address information, as well as a payload (the actual application data). The UDP protocol employs a cyclic redundancy check (CRC) to verify the integrity of packets, in a known manner. The UDP protocol can detect any error in the packet header or payload and discard the packet if an error is detected. Packet transmission based on the UDP protocol on the Internet is a “best efforts” protocol, where network congestion yields packet loss. When a packet fails to arrive before its processing time, the UDP protocol declares the packet as lost. Therefore, at the receiving host, packets are either perfect or completely lost.
- Wireless packet networks encounter packet losses between a base station and a mobile receiver as a result of channel errors and network congestion. Furthermore, such packet losses can be random or bursty, depending on the environment, rate-of-motion and network loading. Therefore, it has been recognized that use of the UDP protocol in a wireless network will cause considerable packet losses, and as a result, poor audio/video quality and increased power consumption. The inefficiency of the UDP protocol in wireless networks arises from the discarding of a packet containing only a small portion of corrupted data. As such, the UDP protocol also discards error-free data within the packet. Indeed, current and emerging multimedia coding technologies are focusing on improved error resilience, such that the media decoder can tolerate a certain number of channel errors. Thus, a need exists for a revised UDP protocol that reduces or avoids unnecessary packet discarding.
- When wireless channels have a fairly high bit error rate, packet-level forward error correction (FEC) coding techniques, such as those described in R. Blahut, Theory and Practice of Error Control Codes (Addison-Wesley, 1983), provide an effective way to mitigate channel unreliability and improve media quality. Typically, FEC techniques apply Maximal Distance Separable (MDS) codes, such as Reed-Solomon (RS) codes, across the packets to recover lost packets. Generally, an FEC encoder typically chooses k information packets and generates n−k parity packets of length n to construct an (n, k) RS code. For IP transmission, the packets are numbered and are assumed to arrive perfectly or never arrive at all. The missing packets can be detected by the receiver and declared as erasure packets. An (n, k) RS code can correct (n−k) erasures and thus recover up to (n−k) packet losses.
- In a wireless network employing the UDP protocol, an FEC decoder would use only the packets that were received perfectly, and lost packets are considered erasures. However, the UDP protocol yields high packet loss rates even under low and medium physical layer data losses. Therefore, the (n−k) value employed by the FEC encoder should be sufficiently large to effectively reduce the packet loss, which implies increased overhead and less efficiency. On the other hand, in a wireless network employing the UDP Lite protocol, which performs a checksum based on the packet header, so that only corrupted packet headers result in packet loss, the FEC decoder may receive perfect or corrupted packets, and performs both error and erasure correction. Since MDS codes provide twice the erasure recovering capability compared to error correction capability, an (n, k) packet code can recover up to (n−k)/2 erroneous packets within every n packets.
- We have recognized that the above-described shortcomings of the UDP protocol may be overcome by a revised UDP protocol, referred to herein as the complete User Datagram Protocol (CUDP), that reduces unnecessary packet discarding.
- More specifically, we have developed the CUDP that includes new packet handling procedures and reduces unnecessary packet discarding. The disclosed CUDP protocol utilizes channel frame error information obtained from the physical and link layers to assist the packet level error recovery. In addition, the CUDP supports packet level FEC coding in order to reduce information loss.
- The present invention forwards each packet, as well as the channel frame error information, to a given application. In particular, the disclosed CUDP protocol further assists the packet level FEC decoding process by forwarding the locations of corrupted frames to the FEC decoder. A transmitter in accordance with the present invention optionally applies FEC techniques employing Maximal Distance Separable (MDS) codes to a group of packets, to achieve robustness against packet loss within the Internet and against packet error over wireless channels. At the receiver, the CUDP protocol forwards the frame error information, as well as the packet data, to the application layer. An MDS decoder utilizes the frame error information to recognize the erasures within each packet.
- The error information provided to the application layer can be represented in a number of forms. Upon receiving a packet, the CUDP protocol only performs a packet header CRC check (and not a payload CRC check). In one implementation, a set of logical transmission unit (LTU) error indicators associated with each packet is provided to the application layer (for FEC decoders requiring an erasure indicator). If the packet header is valid, the UDP layer forwards the indicator, the LTU size and the packet payload to the FEC decoder. In another implementation, a reformatted packet is provided to the application layer (for FEC decoders Recognizing Erasures). The frame (LTU) error information from the lower layers is incorporated in the packet payload. In this case, if a physical frame is corrupted, the payload within the frame is represented as a set of erasures, which can be recognized by the FEC decoder. For a valid packet header, the CUDP protocol passes the reformatted packet payload to the upper layers. An FEC encoder is also disclosed that encodes multimedia packets utilizing a packet-coding scheme.
-
FIG. 1 illustrates a conventional multimedia network environment; -
FIG. 2 illustrates a conventional wireless packet network ofFIG. 1 in further detail; -
FIG. 3 illustrates a conventional wireless protocol stack and packet structure in accordance with the present invention; -
FIG. 4 illustrates a packet-level forward error correction (FEC) coder in accordance with the present invention; and -
FIGS. 5A and 5B illustrate a vertical packet coding (VPC) scheme and a long vertical packet coding (LVPC) scheme, respectively, employed by the FEC coder ofFIG. 4 in accordance with the present invention. -
FIG. 1 illustrates a conventionalheterogeneous network environment 100 that supports IP-Wireless multimedia communications. As shown inFIG. 1 , the end-to-end path of many wireless multimedia sessions, such as an Internet-to-mobile communication, involves a number of heterogeneous network technologies, with the multimedia packets being sent from an originatingserver 105, through theInternet 110 and then over one or more wireless packet networks 200-n, shown in further detail inFIG. 2 , to themobile destination 140. -
FIG. 3 illustrates a generalwireless protocol stack 310 andpacket structure 320. Thelink layer 330 partitions each single data packet into multiple units to accomplish physical layer transmission. The unit size depends on the radio link protocol (RLP), medium access control (MAC) and physical layer (PHY) 335, but is usually much smaller than the packet size. In 3G wireless systems, for example, each physical layer frame corresponds to a transmission unit, assuming low and medium data rates. To support high data rate services, the MAC layer specifies that the RLP layer can subdivide each physical layer frame into smaller logical frames, referred to as LTUs, each associated with a 16 bit CRC. Typical LTU size ranges from 300-600 bits (40-80 bytes), while IP packets are typically 600-1500 bytes long. - At the
receiver 140, the RLP can specify a limited number of retransmissions to compensate for LTU losses. The RLP forwards the received LTUs to the interface, e.g., Point-to-Point Protocol, to reconstruct the packet. For non-real-time services, PPP forwards the packets to the TCP layer, where the packet losses after RLP retransmissions can be recovered at the TCP level through packet level retransmission and congestion control. For real-time services employing UDP, upon receiving a packet from the PPP protocol layer, the conventional UDP layer performs a packet level cyclic redundancy check (CRC) to validate the information within the packet, including both the packet header and the payload. In this case, any LTU loss would result in the whole packet being discarded. Mathematically, the packet loss rate (PER) can be approximated as:
PER=1−(1−p)m ≈mp (for large m and small p),
where m is the number of LTUs per packet and p is the LTU error rate (LER) after retransmission. Therefore, using a conventional UDP in a wireless network will yield a considerable amount of packet loss, and as a result, poor video/audio quality and increased power consumption. The inefficiency of UDP in wireless networks arises from the discarding of a packet containing only a small part of corrupted data. As such, the UDP also throws out error-free data within the packet. Indeed, applications can utilize error-free data to recover corrupted data. - The reliable UDP (RUDP) was proposed to provide reliable ordered delivery of packets up to a maximum number of retransmissions for virtual connections. For a more detailed discussion of RUDP, see, T. Bova and T. Krivoruchk, “Reliable UDP Protocol”, Internet Draft, Network Working Group, <draft-ietf-sigtran-reliable-udp-00.txt>, incorporated by reference herein. Generally, the RUDP protocol calculates the CRC checksum on the packet header alone or the packet header and the payload. This flexibility makes the RUDP protocol suitable for transport telecommunication signaling.
- Similarly, the UDP Lite protocol was proposed to prevent unnecessary packet loss at the receiver if channel errors occur only in the packet payload. For a more detailed discussion of the UDP Lite protocol, see, L. Larzon et al., “Efficient Use of Wireless Bandwidth for Multimedia Applications,” 187-193, MoMuc 99, San Diego (November 1999), incorporated by reference herein. The UDP checksum is constructed based on the packet header, so that only corrupted packet headers result in packet loss. The UDP Lite protocol delivers the packet payload to the upper layers, whether the payload is perfect, lost or erroneous. Compared to UDP, UDP lite only performs CRC on the packet header. Therefore, if corrupted, a packet payload will not result in the packet being discarded. However, the error location within the packet payload is unknown to the application, which can improve packet level FEC performance.
- When wireless channels have a fairly high bit error rate, packet-level forward error correction (FEC) coding techniques, such as those described in R. Blahut, Theory and Practice of Error Control Codes (Addison-Wesley, 1983), provide an effective way to mitigate channel unreliability and improve media quality. These FEC techniques are currently being considered by the Internet Engineering Task Force (IETF) for supporting real-time multimedia communications on the Internet and over wireless networks. See, for example, D. Budge et al., “Media-Independent Error Correction Using RTP,” Internet Engineering Task Force Internet Draft (May 1997); S. Wenger and G. Côté, “Using RFC2429 and H.263+ At Low To Medium Bit-Rates For Low-Latency Applications,” Packet Video '99, New York, N.Y., USA (April 1999); M. Gallant and F. Kossentini, “Robust and Efficient Layered H.263 Internet Video Based on Rate-Distortion Optimized Joint Source/Channel Coding”, Packet Video '00 (Italy, 2000); S. Wenger and G. Côté, “Test Model Extension Justification for Internet/H.323 Video Transmission”, Document Q15-G-17, ITU Q15, Video Coding Experts Group (February 1999); and J. Rosenberg and H. Schulzrinne, “An RTP Payload Format For Generic Forward Error Correction,” Internet Draft, February 1999, available from http://info.internet.isi.edu:80/in-drafts/files/draft-ietf-avt-fec-05.txt, each incorporated by reference herein.
- As previously indicated, the UDP and UDP Lite protocols do not perform well with packet based FEC. One significant reason is that the UDP and UDP Lite protocols ignore useful channel information from the
RLP layer 330. The present invention recognizes that such information can be exploited to maximize FEC coding efficiency. However, the current protocol design does not support information communications from theRLP layer 330 to the PPP/IP/UDP layers and above. The present invention proposes a new system protocol design that allows the exchange of certain information in both directions among thelayers 310. For a more detailed discussion of communications between the RLP and PPP layers in the conventional open system interconnection (OSI) model, see co-pending U.S. patent application Ser. No. 09/668,243 entitled “Radio Link Protocol (RLP)/Point-to-Point Protocol (PPP) Design for Wireless Multimedia Packet Networks that Passes Corrupted Data and Error Location Information Among OSI Layers,” incorporated by reference above. A revised UDP protocol, referred to herein as the complete User Datagram Protocol (CUDP), is disclosed that reduces or avoids the discarding of unnecessary packets by passing the LTU error information as well as the corrupted packets to the Packet FEC decoder. Depending on the implementation of the FEC decoder, the error information can be represented in two forms: - LTU Error Indicator: (For FEC Decoders Requiring Erasure Indicator)
- Upon receiving a packet, the UDP protocol only performs a packet header CRC check (and not a payload CRC check), in a similar manner to the UDP Lite protocol. The LTU error information obtained from the lower layers is represented in terms of a set of error indicators that are associated with each packet. The error indicators point to the starting and ending location of the erroneous data. If the packet header is valid, UDP forwards the indicator, the size of LTU as well as the packet payload to the FEC decoder.
- Reformatted Packet: (For FEC Decoders Recognizing Erasures)
- Upon receiving a packet, the UDP protocol performs a packet header CRC check. The LTU (referred to herein as “frame”) error information from the lower layers is incorporated in the packet payload. In this case, if a physical frame is corrupted, the payload within the frame is represented as a set of erasures, which can be recognized by the FEC decoder. The erasure format depends on the system implementation. Under a valid packet header, UDP passes the reformatted packet payload to the upper layers. The proposed UDP protocol captures all of the available information, i.e., the error-free frames and the location of erroneous frames.
- According to another aspect of the present invention, an FEC coding technique is disclosed that uses the available wireless frame error information. Conventional MDS codes were designed for Internet multimedia applications, where packet loss is congestion related. For wireless multimedia applications, most packets are partially damaged by channel errors. Thus, if a conventional UDP protocol was utilized, such partially damaged wireless packets would be discarded. Similarly, if a conventional UDP Lite protocol was utilized, such partially damaged wireless packets are forwarded to the application, but the location of the error is discarded, thereby leading to information loss.
-
FIG. 4 illustrates anFEC coder 400 in accordance with the present invention that encodes multimedia packets utilizing one of two illustrative packet-coding schemes, discussed further below in conjunction withFIGS. 5A and 5B . Theillustrative FEC encoder 400 codes every four packets together, and generates three parity checks. Thus, a (7,4) MDS code is employed in the illustrative embodiment. At the wireless physical layer, each packet is segmented into seven frames. - Vertical Packet Coding (VPC) Scheme
- The
FEC encoder 400 selects k packets of length X units. The proposed system encodes multiple packets of the same size together. For real-time applications, the packets should have the same or similar delay constraint, e.g., packets correspond to a single video frame. The packets can be of different length. If so, they are bit stuffed to match the longest packet length. Indeed, the source coding and packetization scheme can be designed to generate packets with equal or similar size, as described in co-pending U.S. patent application Ser. No. 09/668,243 entitled “Radio Link Protocol/Point-to-Point Protocol Design for Wireless Multimedia Packet Networks that Passes Corrupted Data and Error Location Information Among OSI Layers,” (Attorney Docket Number Lu 7-1), incorporated by reference above. The channel encoder at the application layer takes one data unit from each packet and generates (n−k) parity units to construct (n−k) additional packets in a vertical packet coding (VPC) structure, shown inFIG. 5A . - The VPC scheme provides transparent Internet-to-Wireless communications. In this case, the transmitter at the
Internet multimedia database 105 is unaware of thewireless network 200 further downstream, and performs the same coding scheme to support packet flows over the Internet or a wireless network. On the other hand, for a Wireless-to-Internet packet flow, thegateway 115 between these two networks should embed the frame error information in the packet, and forward it to the receiver. Another option would be for the gateway to perform packet FEC decoding based on the frame error information. Thegateway 115 discards any packet with an unrecoverable frame error without sending it to theInternet 110. As such, the UDP protocol within the Internet remains unchanged. However, this action increases both computational complexity and transmission delay at thegateway 115. - Another advantage of the CUDP with VPC of the present invention is that even if the decoder fails, part of the erroneous packets can still be recovered. Using the scenario in
FIG. 5A ,packet columns columns - Long Vertical Packet Coding (LVPC) Scheme
- (n, k) MDS codes achieve better error/erasure correction efficiency as n increases, for the same redundancy ratio (n−k)/n. The
FEC encoder 400 can increase n by coding L multiple columns of data units together. This generates X/L coded streams, each corresponding to a (nL, kL) MDS codes. This coding scheme is referred to as long vertical packet coding (LVPC), shown inFIG. 5B . - Using the scenario shown in
FIG. 5B , and assuming L=m=7, the dimension of the MDS code is (49,28) which can recover 21 erasures. FromFIG. 5B , the channel error and congestion yields 19 erasures that can all be recovered. LVPC achieves higher efficiency compared to VPC. However, if the decoder fails in LVPC, all the erasures can not be recovered, while in VPC, part of the erasures can be recovered. In addition, compared to VPC, LVPC has a disadvantage of increased computational complexity for the IP-only case since it requires the wireless frame size information, which may not be available at the transmitter. - Horizontal/Vertical Packet Coding (HVPC) Scheme
- In a further variation, FEC coding is applied to code the wireless frames in a single packet. As such, the
encoder 400 applies vertical packet coding across the packets, and then applies an outer horizontal coding scheme within each packet. Similarly, the decoder first performs horizontal decoding to recover frame errors within the same packets, and then performs vertical decoding. The horizontal packet coding requires knowledge of the frame size. - It is to be understood that the embodiments and variations shown and described herein are merely illustrative of the principles of this invention and that various modifications may be implemented by those skilled in the art without departing from the scope and spirit of the invention.
Claims (16)
1. A method for transmitting a multimedia packet from a wireless packet network to a wired network conforming to the Internet Protocol (IP), said multimedia packets encoded using a forward error correction (FEC) coding technique, said method comprising the steps of:
embedding frame error information in said multimedia packet;
forwarding said multimedia packet to a receiver on said wired network; and
discarding a multimedia packet having an unrecoverable frame error.
2. The method of claim 1 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X codewords are formed of length n using one data unit from each of said k information packets.
3. The method of claim 1 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X/L codewords of length nL are formed using L data units from each of said k information packets.
4. The method of claim 1 , wherein said forward error correction coding technique employs Maximal Distance Separable (MDS) codes that are applied to each of said information packets comprised of X data units to create k information packets comprised of X′ data units, and a second set of said MDS codes are applied to of said information packets comprised of X′ data units, and wherein up to X′ codewords are formed using one data unit from each of said k information packets.
5. A method for transmitting a multimedia packet from a wireless packet network to a wired network conforming to the Internet Protocol (IP), said multimedia packets encoded using a forward error correction (FEC) coding technique, said method comprising the steps of:
decoding said multimedia packet using frame error information;
forwarding said multimedia packet to a receiver on said wired network; and
discarding a multimedia packet having an unrecoverable frame error.
6. The method of claim 5 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X codewords are formed of length n using one data unit from each of said k information packets.
7. The method of claim 5 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X/L codewords of length nL are formed using L data units from each of said k information packets.
8. The method of claim 5 , wherein said forward error correction (FEC) coding technique employs Maximal Distance Separable (MDS) codes that are applied to each of said information packets comprised of X data units to create k information packets comprised of X′ data units, and a second set of said MDS codes are applied to of said information packets comprised of X′ data units, and wherein up to X′ codewords are formed using one data unit from each of said k information packets.
9. A system for transmitting a multimedia packet from a wireless packet network to a wired network conforming to the Internet Protocol (IP), said multimedia packets encoded using a forward error correction (FEC) coding technique, comprising:
a memory for storing computer readable code; and
a processor operatively coupled to said memory, said processor configured to:
embed frame error information in said multimedia packet;
forward said multimedia packet to a receiver on said wired network; and
discard a multimedia packet having an unrecoverable frame error.
10. The system of claim 9 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X codewords are formed of length n using one data unit from each of said k information packets.
11. The system of claim 9 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X/L codewords of length nL are formed using L data units from each of said k information packets.
12. The system of claim 9 , wherein said forward error correction coding technique employs Maximal Distance Separable (MDS) codes that are applied to each of said information packets comprised of X data units to create k information packets comprised of X′ data units, and a second set of said MDS codes are applied to of said information packets comprised of X′ data units, and wherein up to X′ codewords are formed using one data unit from each of said k information packets.
13. A system for transmitting a multimedia packet from a wireless packet network to a wired network conforming to the Internet Protocol (IP), said multimedia packets encoded using a forward error correction (FEC) coding technique, comprising:
a memory for storing computer readable code; and
a processor operatively coupled to said memory, said processor configured to:
decode said multimedia packet using frame error information;
forward said multimedia packet to a receiver on said wired network; and
discard a multimedia packet having an unrecoverable frame error.
14. The system of claim 13 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X codewords are formed of length n using one data unit from each of said k information packets.
15. The system of claim 13 , wherein said forward error correction coding technique employs Maximal Distance Separable codes that are applied to a number, k, of information packets comprised of X data units, and wherein up to X/L codewords of length nL are formed using L data units from each of said k information packets.
16. The system of claim 13 , wherein said forward error correction coding technique employs Maximal Distance Separable (MDS) codes that are applied to each of said information packets comprised of X data units to create k information packets comprised of X′ data units, and a second set of said MDS codes are applied to of said information packets comprised of X′ data units, and wherein up to X′ codewords are formed using one data unit from each of said k information packets.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/348,864 US20060156198A1 (en) | 2000-09-22 | 2006-02-07 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/668,242 US7151754B1 (en) | 2000-09-22 | 2000-09-22 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
US11/348,864 US20060156198A1 (en) | 2000-09-22 | 2006-02-07 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/668,242 Division US7151754B1 (en) | 2000-09-22 | 2000-09-22 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060156198A1 true US20060156198A1 (en) | 2006-07-13 |
Family
ID=36654759
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/668,242 Expired - Lifetime US7151754B1 (en) | 2000-09-22 | 2000-09-22 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
US11/348,864 Abandoned US20060156198A1 (en) | 2000-09-22 | 2006-02-07 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/668,242 Expired - Lifetime US7151754B1 (en) | 2000-09-22 | 2000-09-22 | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Country Status (1)
Country | Link |
---|---|
US (2) | US7151754B1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050229074A1 (en) * | 2004-04-13 | 2005-10-13 | Cisco Technology, Inc. | Forward error correction in packet networks |
US20070118321A1 (en) * | 2005-11-21 | 2007-05-24 | Lawrence Huang | Test set for testing a device and methods for use therewith |
DE102007004951A1 (en) * | 2007-01-26 | 2008-07-31 | Deutsche Thomson Ohg | Method for packet-switched transmission of media data and device for editing media data |
US20090040970A1 (en) * | 2007-08-09 | 2009-02-12 | Sassan Ahmadi | MULTI-USER RESOURCE ALLOCATION AND MEDIUM ACCESS CONTROL (MAC) OVERHEAD REDUCTION FOR MOBILE WORLDWIDE INTEROPERABILITY FOR MICROWAVE ACCESS (WiMAX) SYSTEMS |
ES2312298A1 (en) * | 2008-08-06 | 2009-02-16 | Universidad Politecnica De Madrid | Method for transmitting multimedia contents |
US20090193314A1 (en) * | 2008-01-25 | 2009-07-30 | Peter Michael Melliar-Smith | Forward error correction for burst and random packet loss for real-time multi-media communication |
US20100094971A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Termination of fragment delivery services from data centers participating in distributed streaming operations |
US20100095012A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Fast retrieval and progressive retransmission of content |
US7966540B1 (en) | 2007-05-02 | 2011-06-21 | Sprint Communications Company L.P. | Transmitting error correction information |
US20110317543A1 (en) * | 2010-06-25 | 2011-12-29 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
CN103718489A (en) * | 2011-06-11 | 2014-04-09 | 三星电子株式会社 | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
US11023411B2 (en) * | 2013-11-06 | 2021-06-01 | Xilinx, Inc. | Programmed input/output mode |
LU101567B1 (en) * | 2019-12-17 | 2021-06-17 | Univ Bremen | Method for a sending entity and method for a receiving entity in a network environment |
WO2023082950A1 (en) * | 2021-11-11 | 2023-05-19 | 华为技术有限公司 | Method and apparatus for processing data |
Families Citing this family (43)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068729B2 (en) | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US7151754B1 (en) * | 2000-09-22 | 2006-12-19 | Lucent Technologies Inc. | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
US7010730B1 (en) * | 2000-11-01 | 2006-03-07 | Sunrise Telecom Incorporated | System and method for testing the upstream channel of a cable network |
US7631242B2 (en) | 2001-06-22 | 2009-12-08 | Broadcom Corporation | System, method and computer program product for mitigating burst noise in a communications system |
US7512650B2 (en) * | 2002-01-11 | 2009-03-31 | Thomson Licensing | Physical layer recovery in a streaming data delivery system |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
US6909383B2 (en) | 2002-10-05 | 2005-06-21 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
CN101834610B (en) * | 2003-10-06 | 2013-01-30 | 数字方敦股份有限公司 | Method and device for receiving data transmitted from source through communication channel |
KR101161193B1 (en) | 2004-05-07 | 2012-07-02 | 디지털 파운튼, 인크. | File download and streaming system |
GB2415319B (en) * | 2004-06-19 | 2006-11-29 | Agilent Technologies Inc | Method of generating a monitoring datagram |
US8009752B2 (en) * | 2004-10-01 | 2011-08-30 | Qualcomm Incorporated | Multi-carrier incremental redundancy for packet-based wireless communications |
TWI401910B (en) * | 2005-09-19 | 2013-07-11 | St Ericsson Sa | Apparatus and method for error correction in mobile wireless applications incorporating multi-level and adaptive erasure data |
EP1985021A4 (en) * | 2006-02-13 | 2013-05-29 | Digital Fountain Inc | Streaming and buffering using variable fec overhead and protection periods |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9178535B2 (en) | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
JP4250654B2 (en) * | 2006-11-17 | 2009-04-08 | 株式会社東芝 | COMMUNICATION DEVICE, COMMUNICATION METHOD, AND COMMUNICATION PROGRAM |
BRPI0622135A2 (en) * | 2006-12-21 | 2011-12-27 | Thomson Licensing | Method for Corrective Support of Future Errors for Real-Time Video and Audio Data via Internet-Protocol Work Networks |
WO2009036378A1 (en) | 2007-09-12 | 2009-03-19 | Digital Fountain, Inc. | Generating and communicating source identification information to enable reliable communications |
US9008090B2 (en) * | 2008-04-25 | 2015-04-14 | Panasonic Intellectual Property Management Co.,Ltd. | Communication apparatus and communication method |
US9281847B2 (en) | 2009-02-27 | 2016-03-08 | Qualcomm Incorporated | Mobile reception of digital video broadcasting—terrestrial services |
US10447474B2 (en) * | 2009-04-20 | 2019-10-15 | Pure Storage, Inc. | Dispersed data storage system data decoding and decryption |
US9288010B2 (en) | 2009-08-19 | 2016-03-15 | Qualcomm Incorporated | Universal file delivery methods for providing unequal error protection and bundled file delivery services |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US9485546B2 (en) | 2010-06-29 | 2016-11-01 | Qualcomm Incorporated | Signaling video samples for trick mode video representations |
US8918533B2 (en) | 2010-07-13 | 2014-12-23 | Qualcomm Incorporated | Video switching for streaming video data |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
US8806050B2 (en) | 2010-08-10 | 2014-08-12 | Qualcomm Incorporated | Manifest file updates for network streaming of coded multimedia data |
US9270299B2 (en) | 2011-02-11 | 2016-02-23 | Qualcomm Incorporated | Encoding and decoding using elastic codes with flexible source block mapping |
US8958375B2 (en) * | 2011-02-11 | 2015-02-17 | Qualcomm Incorporated | Framing for an improved radio link protocol including FEC |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP streaming |
US9843844B2 (en) | 2011-10-05 | 2017-12-12 | Qualcomm Incorporated | Network streaming of media data |
US9612902B2 (en) * | 2012-03-12 | 2017-04-04 | Tvu Networks Corporation | Methods and apparatus for maximum utilization of a dynamic varying digital data channel |
US9294226B2 (en) | 2012-03-26 | 2016-03-22 | Qualcomm Incorporated | Universal object delivery and template-based file delivery |
FR3088789B1 (en) | 2018-11-16 | 2021-08-06 | Blade | TRANSMISSION PROTOCOL OF A DATA FLOW TRANSITTING BETWEEN A HOST COMPUTER AND A REMOTE CLIENT |
US11863318B2 (en) * | 2020-08-31 | 2024-01-02 | Frontiir Pte Ltd. | Error correction for network packets |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717689A (en) * | 1995-10-10 | 1998-02-10 | Lucent Technologies Inc. | Data link layer protocol for transport of ATM cells over a wireless link |
US6148422A (en) * | 1997-10-07 | 2000-11-14 | Nortel Networks Limited | Telecommunication network utilizing an error control protocol |
US6208620B1 (en) * | 1999-08-02 | 2001-03-27 | Nortel Networks Corporation | TCP-aware agent sublayer (TAS) for robust TCP over wireless |
US6289054B1 (en) * | 1998-05-15 | 2001-09-11 | North Carolina University | Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network |
US6377799B1 (en) * | 1999-06-17 | 2002-04-23 | Ericason Inc. | Interworking function in an internet protocol (IP)-based radio telecommunications network |
US20020054578A1 (en) * | 2000-07-13 | 2002-05-09 | Qian Zhang | Channel and quality of service adaptation for multimedia over wireless networks |
US6421387B1 (en) * | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
US6430233B1 (en) * | 1999-08-30 | 2002-08-06 | Hughes Electronics Corporation | Single-LNB satellite data receiver |
US6530055B1 (en) * | 1999-04-26 | 2003-03-04 | Oki Electric Industry Co, Ltd. | Method and apparatus for receiving and decoding coded information, including transfer of error information from transmission layer to coding layer |
US6542490B1 (en) * | 1999-01-29 | 2003-04-01 | Nortel Networks Limited | Data link control proctocol for 3G wireless system |
US6571212B1 (en) * | 2000-08-15 | 2003-05-27 | Ericsson Inc. | Mobile internet protocol voice system |
US6591382B1 (en) * | 1999-08-17 | 2003-07-08 | Skyworks Solutions, Inc. | Performance improvement of internet protocols over wireless connections |
US6651214B1 (en) * | 2000-01-06 | 2003-11-18 | Maxtor Corporation | Bi-directional decodable Reed-Solomon codes |
US6697352B1 (en) * | 1998-07-15 | 2004-02-24 | Telefonaktiebolaget Lm Ericsson | Communication device and method |
US6718500B1 (en) * | 1998-10-15 | 2004-04-06 | Samsung Electronics Co., Ltd. | RLP communication device and method for mobile communication system |
US6850519B1 (en) * | 1998-09-03 | 2005-02-01 | Kabushiki Kaisha Toshiba | Communication node and packet transfer method |
US7031257B1 (en) * | 2000-09-22 | 2006-04-18 | Lucent Technologies Inc. | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol |
US7151754B1 (en) * | 2000-09-22 | 2006-12-19 | Lucent Technologies Inc. | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
-
2000
- 2000-09-22 US US09/668,242 patent/US7151754B1/en not_active Expired - Lifetime
-
2006
- 2006-02-07 US US11/348,864 patent/US20060156198A1/en not_active Abandoned
Patent Citations (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5717689A (en) * | 1995-10-10 | 1998-02-10 | Lucent Technologies Inc. | Data link layer protocol for transport of ATM cells over a wireless link |
US6148422A (en) * | 1997-10-07 | 2000-11-14 | Nortel Networks Limited | Telecommunication network utilizing an error control protocol |
US6289054B1 (en) * | 1998-05-15 | 2001-09-11 | North Carolina University | Method and systems for dynamic hybrid packet loss recovery for video transmission over lossy packet-based network |
US6421387B1 (en) * | 1998-05-15 | 2002-07-16 | North Carolina State University | Methods and systems for forward error correction based loss recovery for interactive video transmission |
US6697352B1 (en) * | 1998-07-15 | 2004-02-24 | Telefonaktiebolaget Lm Ericsson | Communication device and method |
US6850519B1 (en) * | 1998-09-03 | 2005-02-01 | Kabushiki Kaisha Toshiba | Communication node and packet transfer method |
US6718500B1 (en) * | 1998-10-15 | 2004-04-06 | Samsung Electronics Co., Ltd. | RLP communication device and method for mobile communication system |
US6542490B1 (en) * | 1999-01-29 | 2003-04-01 | Nortel Networks Limited | Data link control proctocol for 3G wireless system |
US6530055B1 (en) * | 1999-04-26 | 2003-03-04 | Oki Electric Industry Co, Ltd. | Method and apparatus for receiving and decoding coded information, including transfer of error information from transmission layer to coding layer |
US6377799B1 (en) * | 1999-06-17 | 2002-04-23 | Ericason Inc. | Interworking function in an internet protocol (IP)-based radio telecommunications network |
US6208620B1 (en) * | 1999-08-02 | 2001-03-27 | Nortel Networks Corporation | TCP-aware agent sublayer (TAS) for robust TCP over wireless |
US6591382B1 (en) * | 1999-08-17 | 2003-07-08 | Skyworks Solutions, Inc. | Performance improvement of internet protocols over wireless connections |
US6430233B1 (en) * | 1999-08-30 | 2002-08-06 | Hughes Electronics Corporation | Single-LNB satellite data receiver |
US6651214B1 (en) * | 2000-01-06 | 2003-11-18 | Maxtor Corporation | Bi-directional decodable Reed-Solomon codes |
US20020054578A1 (en) * | 2000-07-13 | 2002-05-09 | Qian Zhang | Channel and quality of service adaptation for multimedia over wireless networks |
US6999432B2 (en) * | 2000-07-13 | 2006-02-14 | Microsoft Corporation | Channel and quality of service adaptation for multimedia over wireless networks |
US6571212B1 (en) * | 2000-08-15 | 2003-05-27 | Ericsson Inc. | Mobile internet protocol voice system |
US7031257B1 (en) * | 2000-09-22 | 2006-04-18 | Lucent Technologies Inc. | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol |
US7151754B1 (en) * | 2000-09-22 | 2006-12-19 | Lucent Technologies Inc. | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding |
Cited By (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7328393B2 (en) * | 2004-04-13 | 2008-02-05 | Cisco Technology, Inc. | Forward error correction in packet networks |
US20050229074A1 (en) * | 2004-04-13 | 2005-10-13 | Cisco Technology, Inc. | Forward error correction in packet networks |
US20070118321A1 (en) * | 2005-11-21 | 2007-05-24 | Lawrence Huang | Test set for testing a device and methods for use therewith |
US7233875B2 (en) * | 2005-11-21 | 2007-06-19 | Sigmatel, Inc. | Test set for testing a device and methods for use therewith |
US20100115384A1 (en) * | 2007-01-26 | 2010-05-06 | Thomson Licensing | Method for packet-switching transmission of media data and device for processing media data |
DE102007004951A1 (en) * | 2007-01-26 | 2008-07-31 | Deutsche Thomson Ohg | Method for packet-switched transmission of media data and device for editing media data |
US8495421B2 (en) | 2007-01-26 | 2013-07-23 | Thomson Licensing | Method for packet-switching transmission of media data and device for processing media data with insertion of error information data |
US7966540B1 (en) | 2007-05-02 | 2011-06-21 | Sprint Communications Company L.P. | Transmitting error correction information |
US20090040970A1 (en) * | 2007-08-09 | 2009-02-12 | Sassan Ahmadi | MULTI-USER RESOURCE ALLOCATION AND MEDIUM ACCESS CONTROL (MAC) OVERHEAD REDUCTION FOR MOBILE WORLDWIDE INTEROPERABILITY FOR MICROWAVE ACCESS (WiMAX) SYSTEMS |
CN101772909A (en) * | 2007-08-09 | 2010-07-07 | 英特尔公司 | Multi-user resource allocation and medium access control (MAC) overhead reduction for mobile worldwide interoperability for microwave access (WiMAX) systems |
US8693406B2 (en) | 2007-08-09 | 2014-04-08 | Intel Corporation | Multi-user resource allocation and medium access control (MAC) overhead reduction for mobile worldwide interoperability for microwave access (WiMAX) systems |
US8230316B2 (en) | 2008-01-25 | 2012-07-24 | Nevion Usa, Inc. | Forward error correction for burst and random packet loss for real-time multi-media communication |
US8473833B2 (en) | 2008-01-25 | 2013-06-25 | Nevion Usa, Inc. | Forward error correction method |
US20090193314A1 (en) * | 2008-01-25 | 2009-07-30 | Peter Michael Melliar-Smith | Forward error correction for burst and random packet loss for real-time multi-media communication |
WO2010018250A1 (en) * | 2008-08-06 | 2010-02-18 | Universidad Politécnica de Madrid | Method for transmitting multimedia contents |
ES2312298A1 (en) * | 2008-08-06 | 2009-02-16 | Universidad Politecnica De Madrid | Method for transmitting multimedia contents |
US20100095004A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Balancing a distributed system by replacing overloaded servers |
US8819259B2 (en) * | 2008-10-15 | 2014-08-26 | Aster Risk Management Llc | Fast retrieval and progressive retransmission of content |
US20100094972A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Hybrid distributed streaming system comprising high-bandwidth servers and peer-to-peer devices |
US20100094970A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Latency based selection of fractional-storage servers |
US20100095016A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Methods and systems capable of switching from pull mode to push mode |
US20100094973A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Random server selection for retrieving fragments under changing network conditions |
US20100094962A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Internet backbone servers with edge compensation |
US20100094986A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Source-selection based Internet backbone traffic shaping |
US20100094966A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Receiving Streaming Content from Servers Located Around the Globe |
US20100094975A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Adaptation of data centers' bandwidth contribution to distributed streaming operations |
US20100095013A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Fault Tolerance in a Distributed Streaming System |
US7822869B2 (en) * | 2008-10-15 | 2010-10-26 | Patentvc Ltd. | Adaptation of data centers' bandwidth contribution to distributed streaming operations |
US20110055420A1 (en) * | 2008-10-15 | 2011-03-03 | Patentvc Ltd. | Peer-assisted fractional-storage streaming servers |
US20100094974A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Load-balancing an asymmetrical distributed erasure-coded system |
US8949449B2 (en) * | 2008-10-15 | 2015-02-03 | Aster Risk Management Llc | Methods and systems for controlling fragment load on shared links |
US20100095015A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Methods and systems for bandwidth amplification using replicated fragments |
US8938549B2 (en) * | 2008-10-15 | 2015-01-20 | Aster Risk Management Llc | Reduction of peak-to-average traffic ratio in distributed streaming systems |
US8874774B2 (en) | 2008-10-15 | 2014-10-28 | Aster Risk Management Llc | Fault tolerance in a distributed streaming system |
US20100094950A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Methods and systems for controlling fragment load on shared links |
US20100094969A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Reduction of Peak-to-Average Traffic Ratio in Distributed Streaming Systems |
US20100094971A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Termination of fragment delivery services from data centers participating in distributed streaming operations |
US8874775B2 (en) | 2008-10-15 | 2014-10-28 | Aster Risk Management Llc | Balancing a distributed system by replacing overloaded servers |
US8832292B2 (en) * | 2008-10-15 | 2014-09-09 | Aster Risk Management Llc | Source-selection based internet backbone traffic shaping |
US20100095012A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Fast retrieval and progressive retransmission of content |
US8819260B2 (en) * | 2008-10-15 | 2014-08-26 | Aster Risk Management Llc | Random server selection for retrieving fragments under changing network conditions |
US8819261B2 (en) * | 2008-10-15 | 2014-08-26 | Aster Risk Management Llc | Load-balancing an asymmetrical distributed erasure-coded system |
US8825894B2 (en) * | 2008-10-15 | 2014-09-02 | Aster Risk Management Llc | Receiving streaming content from servers located around the globe |
US8832295B2 (en) * | 2008-10-15 | 2014-09-09 | Aster Risk Management Llc | Peer-assisted fractional-storage streaming servers |
US9215132B2 (en) * | 2010-06-25 | 2015-12-15 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US10601541B2 (en) | 2010-06-25 | 2020-03-24 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US20130155838A1 (en) * | 2010-06-25 | 2013-06-20 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US8406134B2 (en) * | 2010-06-25 | 2013-03-26 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US9991987B2 (en) | 2010-06-25 | 2018-06-05 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US20110317543A1 (en) * | 2010-06-25 | 2011-12-29 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
US9609038B2 (en) | 2010-06-25 | 2017-03-28 | At&T Intellectual Property I, L.P. | Scaling content communicated over a network |
EP2719105A4 (en) * | 2011-06-11 | 2015-01-28 | Samsung Electronics Co Ltd | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
US20160072528A1 (en) * | 2011-06-11 | 2016-03-10 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
AU2012270387B2 (en) * | 2011-06-11 | 2016-11-17 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
US9191032B2 (en) | 2011-06-11 | 2015-11-17 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
US9667275B2 (en) * | 2011-06-11 | 2017-05-30 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
EP2719105A2 (en) * | 2011-06-11 | 2014-04-16 | Samsung Electronics Co., Ltd. | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
CN103718489A (en) * | 2011-06-11 | 2014-04-09 | 三星电子株式会社 | Apparatus and method for transmitting and receiving packet in broadcasting and communication system |
US11023411B2 (en) * | 2013-11-06 | 2021-06-01 | Xilinx, Inc. | Programmed input/output mode |
US11249938B2 (en) | 2013-11-06 | 2022-02-15 | Xilinx, Inc. | Programmed input/output mode |
US11809367B2 (en) | 2013-11-06 | 2023-11-07 | Xilinx, Inc. | Programmed input/output mode |
LU101567B1 (en) * | 2019-12-17 | 2021-06-17 | Univ Bremen | Method for a sending entity and method for a receiving entity in a network environment |
WO2023082950A1 (en) * | 2021-11-11 | 2023-05-19 | 华为技术有限公司 | Method and apparatus for processing data |
Also Published As
Publication number | Publication date |
---|---|
US7151754B1 (en) | 2006-12-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7151754B1 (en) | Complete user datagram protocol (CUDP) for wireless multimedia packet networks using improved packet level forward error correction (FEC) coding | |
Zheng et al. | An improved UDP protocol for video transmission over internet-to-wireless networks | |
US8730999B2 (en) | Method and system for reduction of decoding complexity in a communication system | |
US7031257B1 (en) | Radio link protocol (RLP)/point-to-point protocol (PPP) design that passes corrupted data and error location information among layers in a wireless data transmission protocol | |
US9893836B2 (en) | System and method for achieving accelerated throughput | |
EP2166687B1 (en) | A method and apparatus for transmiting and receiving data packets | |
KR100939951B1 (en) | Error recovery using in band error patterns | |
WO2011091769A1 (en) | Method, device and system for error correction check | |
JP2004537919A (en) | Forward error correction system and method for packet-based communication systems | |
JP2000078197A (en) | Communication node and packet transfer method | |
WO2010124651A1 (en) | Method, apparatus and system for forward error correction | |
CN101162973B (en) | Method and devices for digital data transfer | |
Sachs et al. | Hybrid ARQ for robust video streaming over wireless LANs | |
Gasiba et al. | System design and advanced receiver techniques for MBMS broadcast services | |
Zheng et al. | Packet coding schemes for MPEG video over Internet and wireless networks | |
JP3730977B2 (en) | Data transmission method and data processing method | |
Arnal et al. | Multi-protocol header protection (MPHP), a way to support error-resilient multimedia coding in wireless networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |