US5870412A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Forward error correction system for packet based real time media
Assignee: HP Inc
•
Filing: 1997-12-12
•
Granted: 1999-02-09
•
Expires: 2017-12-12
Abstract
Abstract A computationally simple yet powerful forward error correction code scheme for transmission of real-time media signals, such as digitized voice, video or audio, in a packet switched network, such as the Internet. The invention appends to each of a series of payload packets a single forward error correction code that is defined by taking the XOR sum of a preceding specified number of payload packets. The invention thereby enables correction from the loss of multiple packets in a row, without significantly increasing the data rate or otherwise delaying transmission.
Inventors
- 👤 Guido M. Schuster
- 👤 Jerry Mahler
- 👤 Ikhlaq Sidhu
- 👤 Michael Borella
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-08 07:39
CPC Classifications
H; H04; H04L; H04L1/00; H04L1/0078; H04L1/0079; H04L1/008; H03; H03M; H03M13/00; H03M13/27; H03M13/2703; H03M13/37; H03M13/373; H04L1/004; H04L1/0041; H04L1/0056
Claims Analysis
Total Claims: 30
Claim 1
Independent Claim
135 words
A method for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said method comprising, in combination: to each payload packet PL k!, appending a forward error correction code FEC k! comprising the XOR sum of a predetermined number of preceding payload packets, said predetermined number being greater than 1, said payload packet PL k! and said forward error correction code FEC k! defining, in combination, a packet P k!; and transmitting a sequence of said packets P k!, P k+1!, . . . , P k+u! from a first device in said digital transmission system for receipt by a second device in said digital transmission system.
Claim 2
Independent Claim
135 words
A method for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said method comprising, in combination: to each payload packet PL k!, appending a forward error correction code FEC k! comprising the XOR sum of a predetermined number of preceding payload packets, said predetermined number being greater than 1, said payload packet PL k! and said forward error correction code FEC k! defining, in combination, a packet P k!; and transmitting a sequence of said packets P k!, P k+1!, . . . , P k+u! from a first device in said digital transmission system for receipt by a second device in said digital transmission system.
Claim 3
Dependent Claim
41 words
A method as claimed in claim 1, wherein, if a packet P j! is lost in transmission, said second device recreates payload packet PL j! by a process comprising extracting information from one or more packets that follow packet P j!.
Claim 4
Dependent Claim
25 words
A method as claimed in claim 2, wherein said predetermined number defines a length of burst error from which said receiving location may recover payload.
Claim 5
Dependent Claim
13 words
A method as claimed in claim 3, wherein said predetermined number is 2.
Claim 6
Dependent Claim
13 words
A method as claimed in claim 3, wherein said predetermined number is 3.
Claim 7
Dependent Claim
15 words
A method as claimed in claim 1, wherein said payload represents a real-time media signal.
Claim 8
Dependent Claim
14 words
A method as claimed in claim 6, wherein said payload represents a voice signal.
Claim 9
Dependent Claim
36 words
A method as claimed in claim 1, further comprising, in order: padding a plurality of said payload packets, to force said payload packets to be equal in length to each other; and generating said XOR sum.
Claim 10
Dependent Claim
29 words
A method as claimed in claim 1, further comprising: applying a sliding window along said sequence of payload packets and, within said sliding window, generating and appending said FEC.
Claim 11
Independent Claim
123 words
A method for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said method comprising, in combination: to each payload packet PL k!, appending a forward error correction code FEC k!=PL k-1! XOR PL k-2! XOR, . . . , XOR PL k-w!, said payload packet and forward error correction code defining, in combination, a packet P k!; and transmitting a sequence of said packets P k!, P k+1!, . . . , P k+u!, from a first location in said digital transmission system for receipt at a second location in said digital transmission system.
Claim 12
Independent Claim
123 words
A method for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said method comprising, in combination: to each payload packet PL k!, appending a forward error correction code FEC k!=PL k-1! XOR PL k-2! XOR, . . . , XOR PL k-w!, said payload packet and forward error correction code defining, in combination, a packet P k!; and transmitting a sequence of said packets P k!, P k+1!, . . . , P k+u!, from a first location in said digital transmission system for receipt at a second location in said digital transmission system.
Claim 13
Independent Claim
103 words
A method of encoding a sequence of packets in a transmission system to enable recovery of lost packets, each of said packets comprising a payload block, said method comprising, in combination, for each sequential group of w packets, computing an XOR sum of said payload blocks in said group of w packets and combining said XOR sum with a packet sequentially following said w packets, whereby, if up to w sequential payload blocks are thereafter lost in transmission, said up to w sequential payload blocks may be recovered through extraction from said XOR sum in combination with other payload blocks in said sequence.
Claim 14
Independent Claim
103 words
A method of encoding a sequence of packets in a transmission system to enable recovery of lost packets, each of said packets comprising a payload block, said method comprising, in combination, for each sequential group of w packets, computing an XOR sum of said payload blocks in said group of w packets and combining said XOR sum with a packet sequentially following said w packets, whereby, if up to w sequential payload blocks are thereafter lost in transmission, said up to w sequential payload blocks may be recovered through extraction from said XOR sum in combination with other payload blocks in said sequence.
Claim 15
Independent Claim
136 words
A method of recovering a lost packet in a sequence of packets transmitted in a telecommunications system, each packet in said sequence defining a sequence number and carrying a payload block and a redundancy block, said redundancy block in a given packet being defined by an XOR sum of a predetermined number of preceding payload blocks in said sequence, said method comprising, in combination: (a) receiving an incoming packet of said sequence; (b) establishing a window of analysis beginning with said incoming packet and extending for said predetermined number of packets of said sequence following said incoming packet; and (c) if only one payload block in said window of analysis has not yet been received, recovering said one payload block by taking an XOR sum of a plurality of payload blocks within said window of analysis.
Claim 16
Independent Claim
136 words
A method of recovering a lost packet in a sequence of packets transmitted in a telecommunications system, each packet in said sequence defining a sequence number and carrying a payload block and a redundancy block, said redundancy block in a given packet being defined by an XOR sum of a predetermined number of preceding payload blocks in said sequence, said method comprising, in combination: (a) receiving an incoming packet of said sequence; (b) establishing a window of analysis beginning with said incoming packet and extending for said predetermined number of packets of said sequence following said incoming packet; and (c) if only one payload block in said window of analysis has not yet been received, recovering said one payload block by taking an XOR sum of a plurality of payload blocks within said window of analysis.
Claim 17
Dependent Claim
92 words
A method as claimed in claim 12, further comprising, in combination: if all of the payload blocks in said window of analysis have been received, or if more than one of said payload blocks in said window of analysis have not yet been received, moving said window of analysis back by one packet so that the window of analysis begins with one packet of said sequence prior to incoming packet and extends for said predetermined number of packets of said sequence following said one packet; and repeating step (c) of claim 12.
Claim 18
Independent Claim
139 words
An apparatus for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said apparatus comprising, in combination: a computer processor; a memory; a first segment for appending to each payload packet PL k! a forward error correction code FEC k! equal to the XOR sum of a predetermined number of preceding payload packets, said predetermined number being greater than 1, said payload packet PL k! and said forward error correction code FEC k! defining, in combination, a data packet P k!; and a second segment for transmitting a sequence of said data packets from a first device in said digital transmission system to a second device in said digital transmission system.
Claim 19
Independent Claim
139 words
An apparatus for communicating payload in a digital transmission system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said apparatus comprising, in combination: a computer processor; a memory; a first segment for appending to each payload packet PL k! a forward error correction code FEC k! equal to the XOR sum of a predetermined number of preceding payload packets, said predetermined number being greater than 1, said payload packet PL k! and said forward error correction code FEC k! defining, in combination, a data packet P k!; and a second segment for transmitting a sequence of said data packets from a first device in said digital transmission system to a second device in said digital transmission system.
Claim 20
Dependent Claim
28 words
An apparatus as claimed in claim 14, wherein said first segment comprises a set of machine language instructions stored in said memory and executable by said computer processor.
Claim 21
Dependent Claim
37 words
An apparatus as claimed in claim 14, further comprising a third segment operated by said second device for recreating a lost payload packet PL j! by a process comprising extracting information from one or more other packets.
Claim 22
Dependent Claim
28 words
An apparatus as claimed in claim 16, wherein said third segment comprises a set of machine language instructions stored in said memory and executable by said computer processor.
Claim 23
Dependent Claim
26 words
An apparatus as claimed in claim 14, wherein said predetermined number defines a maximum number of lost payload packets in a row that may be recovered.
Claim 24
Dependent Claim
15 words
An apparatus as claimed in claim 14, wherein said payload represents a real-time media signal.
Claim 25
Dependent Claim
14 words
An apparatus as claimed in claim 19, wherein said payload represents a voice signal.
Claim 26
Independent Claim
194 words
An apparatus for transmitting payload in a digital communications system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said apparatus comprising, in combination: a first segment for generating, for each payload packet PL k!, a forward error correction code FEC k!=PL k-1! XOR PL k-2! XOR . . . , XOR PL k-w!; a second segment for appending said forward error correction code FEC k! to said payload packet PL k!, said payload packet PL k! and forward error correction code FEC k! defining, in combination, a packet P k!; and a third segment for transmitting a sequence of said packets from a first location in said digital transmission system to a second location in said digital transmission system, whereby, when said sequence of packets is transmitted from said first location in said digital communications system to said second location in said digital communications system, if a packet P i! is lost in said transmission, payload packet PL i! may be recreated by extracting PL i! from one or more other packets.
Claim 27
Independent Claim
194 words
An apparatus for transmitting payload in a digital communications system, said payload being divided into a sequence of payload packets, PL k-w!, . . . , PL k-1!, PL k-2!, PL k!, PL k+1!, . . . , PL k+u!, said apparatus comprising, in combination: a first segment for generating, for each payload packet PL k!, a forward error correction code FEC k!=PL k-1! XOR PL k-2! XOR . . . , XOR PL k-w!; a second segment for appending said forward error correction code FEC k! to said payload packet PL k!, said payload packet PL k! and forward error correction code FEC k! defining, in combination, a packet P k!; and a third segment for transmitting a sequence of said packets from a first location in said digital transmission system to a second location in said digital transmission system, whereby, when said sequence of packets is transmitted from said first location in said digital communications system to said second location in said digital communications system, if a packet P i! is lost in said transmission, payload packet PL i! may be recreated by extracting PL i! from one or more other packets.
Claim 28
Dependent Claim
31 words
An apparatus as claimed in claim 21, wherein said first and second segments each comprise a set of machine language instructions stored in a memory and executable by a computer processor.
Claim 29
Dependent Claim
15 words
An apparatus as claimed in claim 21, wherein said payload represents a real-time media signal.
Claim 30
Dependent Claim
14 words
An apparatus as claimed in claim 23, wherein said payload represents a voice signal.
References Cited (Backward Citations)
US5115436A
Cited
US5608738A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2002-02-08 | 2002-08-10 | 2003-02-09 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2006-02-08 | 2006-08-10 | 2007-02-09 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2010-02-08 | 2010-08-10 | 2011-02-09 | $7700.00 | Window Closed / Lapsed |