← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag