Patent US5417712A successfully refreshed from Google Patents.
Patent US6402781B1 successfully refreshed from Google Patents.
US6167060A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Dynamic forward error correction algorithm for internet telephone
Assignee: Advent IP LLC
•
Filing: 1997-08-08
•
Granted: 2000-12-26
•
Expires: 2017-08-08
Abstract
Abstract An Internet telephone system architecture having low latency and permitting voice communication between telephones and computers is disclosed. The architecture permits dynamic packet-to-packet change in various factors to adjust for Internet conditions. A forward error correction algorithm provides a variable level of redundancy from zero to three in the transmission of data packets. The level of error correction redundancy, the codec selection and other factors, are dynamically changeable by a voice port to replace lost packets without interpolation and to thereby maintain the highest voice quality and data compression ratio that is consistent with the quantity of packet loss.
Inventors
- 👤 Mike Vargo
- 👤 Jerry Chang
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-06 15:45
CPC Classifications
H; H04; H04L; H04L65/00; H04L65/60; H04L65/75; H04L65/765; H03; H03M; H03M13/00; H03M13/03; H03M13/35; H04L1/00; H04L1/0001; H04L1/0009; H04L1/0014; H04L65/10; H04L65/102; H04L65/1023; H04L65/103; H04L65/80; H04M; H04M7/00; H04M7/12; H04M7/1205; H04M7/1275; H04M3/00; H04M3/08; H04M3/12
Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
88 words
A system architecture for an internet telephone gateway server, comprising: hardware for interfacing with the internet and a public switched telephone network; and software for connecting telephone calls between transmitters and receivers, said software having the capability of dynamically changing a level of redundancy of a forward error correction algorithm from packet-to-packet in a data stream so as to accommodate data dropouts; wherein said level of redundancy varies between k=0 and M, and an i th data packet repeats k times at positions (i+(j*k)) for j=1 to k.
Claim 2
Independent Claim
88 words
A system architecture for an internet telephone gateway server, comprising: hardware for interfacing with the internet and a public switched telephone network; and software for connecting telephone calls between transmitters and receivers, said software having the capability of dynamically changing a level of redundancy of a forward error correction algorithm from packet-to-packet in a data stream so as to accommodate data dropouts; wherein said level of redundancy varies between k=0 and M, and an i th data packet repeats k times at positions (i+(j*k)) for j=1 to k.
Claim 3
Dependent Claim
8 words
The system architecture of claim 1, wherein: M=3.
Claim 4
Dependent Claim
24 words
The system architecture of claim 1, wherein the repetition of the i th data packet includes less than the whole i th data packet.
Claim 5
Independent Claim
77 words
A method for filling dead space in an Internet telephone communication, comprising the steps of: detecting a quantity of voice data waiting in a voice input buffer; regulating from a first speed to a second speed the rate of removal of said voice data from said buffer based upon said quantity; and maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 6
Independent Claim
77 words
A method for filling dead space in an Internet telephone communication, comprising the steps of: detecting a quantity of voice data waiting in a voice input buffer; regulating from a first speed to a second speed the rate of removal of said voice data from said buffer based upon said quantity; and maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 7
Dependent Claim
34 words
The method of claim 4, wherein said regulating step further comprises: slowing down the rate of removal of said voice data for low quantities; and speeding up the rate of removal for high quantities.
Claim 8
Independent Claim
80 words
A system for filling dead space in an Internet telephone communication, comprising: means for detecting a quantity of voice data waiting in a voice input buffer; means for regulating from a first speed to a second speed the rate of removal of said voice data from said buffer based upon said quantity; and means for maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 9
Independent Claim
80 words
A system for filling dead space in an Internet telephone communication, comprising: means for detecting a quantity of voice data waiting in a voice input buffer; means for regulating from a first speed to a second speed the rate of removal of said voice data from said buffer based upon said quantity; and means for maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 10
Dependent Claim
39 words
The system of claim 6, wherein: said means for regulating slows down the rate of removal of said voice data for low quantities of said data in said buffer and speeds up the rate of removal for high quantities.
Claim 11
Independent Claim
161 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and detecting a quantity of voice data waiting in a voice input buffer; regulating the rate of removal of said voice data from said buffer based upon said quantity from a first speed to a second speed; and maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 12
Independent Claim
161 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and detecting a quantity of voice data waiting in a voice input buffer; regulating the rate of removal of said voice data from said buffer based upon said quantity from a first speed to a second speed; and maintaining a constant pitch for said voice data as heard by a listener as the rate changes from said first speed to said second speed.
Claim 13
Independent Claim
81 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; and dynamically applying to said data stream a varying level of redundancy of a forward error correction algorithm based upon Internet conditions; wherein said varying level of redundancy comprises a combination of a level one redundancy, a level two redundancy, and a level three redundancy.
Claim 14
Independent Claim
81 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; and dynamically applying to said data stream a varying level of redundancy of a forward error correction algorithm based upon Internet conditions; wherein said varying level of redundancy comprises a combination of a level one redundancy, a level two redundancy, and a level three redundancy.
Claim 15
Dependent Claim
72 words
The method of claim 9, further comprising the steps of: detecting a quantity of voice data waiting in a voice input buffer; regulating the rate of removal of said voice data from said buffer based upon said quantity from a first speed to a second speed; and maintaining a constant pitch for said voice data as heard by a caller as the rate changes from said first speed to said second speed.
Claim 16
Dependent Claim
151 words
The method of claim 9 wherein: in said level one redundancy, said data stream is arranged as a series of pairs of data packets and the last packet of each pair is repeated as the first packet of the next pair; in said level two redundancy, data packets are arranged in triplets, the last packet of a first triplet is mapped to the middle packet of a second triplet, and the middle packet of the first triplet is mapped to the first packet of the second triplet; and in said level three redundancy, data packets are arranged in quadruplets, the second packet in a first quadruplet is mapped to the first packet in a second quadruplet, the third packet in the first quadruplet is mapped to the second packet in the second quadruplet, and the fourth packet in the first quadruplet is mapped to the third packet in the second quadruplet.
Claim 17
Independent Claim
136 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level one redundancy in which said data stream is arranged as a series of pairs of data packets and the last packet of each pair is repeated as the first packet of the next pair.
Claim 18
Independent Claim
136 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level one redundancy in which said data stream is arranged as a series of pairs of data packets and the last packet of each pair is repeated as the first packet of the next pair.
Claim 19
Independent Claim
143 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level two redundancy in which data packets are arranged in triplets, the last packet of a first triplet becomes the middle packet of a second triplet, and the middle packet of the first triplet becomes the first packet of the second triplet.
Claim 20
Independent Claim
143 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level two redundancy in which data packets are arranged in triplets, the last packet of a first triplet becomes the middle packet of a second triplet, and the middle packet of the first triplet becomes the first packet of the second triplet.
Claim 21
Independent Claim
164 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level three redundancy in which data packets are arranged in quadruplets, the second packet in a first quadruplet is mapped to the first packet in a second quadruplet, the third packet in the first quadruplet is mapped to the second packet in the second quadruplet, and the fourth packet in the first quadruplet is mapped to the third packet in the second quadruplet.
Claim 22
Independent Claim
164 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a first level of redundancy of a forward error correction algorithm based upon Internet conditions; applying said first level of redundancy to a first part of said digital data stream; determining a second level of redundancy of said forward error correction algorithm based upon Internet conditions; applying said second level of redundancy to a second part of said digital data stream; and using a level three redundancy in which data packets are arranged in quadruplets, the second packet in a first quadruplet is mapped to the first packet in a second quadruplet, the third packet in the first quadruplet is mapped to the second packet in the second quadruplet, and the fourth packet in the first quadruplet is mapped to the third packet in the second quadruplet.
Claim 23
Independent Claim
120 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a level of redundancy of a forward error correction algorithm based upon Internet conditions, the level of redundancy varying between k=0 and M, wherein M is greater than or equal to 1; and applying said level of redundancy to a part of said digital data stream; wherein an i th data packet is repeated k times in said digital data stream; whereby aural data in the i th data packet is duplicated to maintain the voice quality present prior to the packet loss.
Claim 24
Independent Claim
120 words
A method for eliminating packet losses in an Internet telephone communication, comprising the steps of: receiving an Internet telephone call from a personal computer or a telephone; digitizing said telephone call into a digital data stream; determining a level of redundancy of a forward error correction algorithm based upon Internet conditions, the level of redundancy varying between k=0 and M, wherein M is greater than or equal to 1; and applying said level of redundancy to a part of said digital data stream; wherein an i th data packet is repeated k times in said digital data stream; whereby aural data in the i th data packet is duplicated to maintain the voice quality present prior to the packet loss.
References Cited (Backward Citations)
US5187591A
Cited
US5555447A
Cited
US5583652A
Cited
US5533004A
Cited
US5699369A
Cited
US5890108A
Cited
US5881234A
Cited
US5940479A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-12-26 | 2004-06-26 | 2004-12-26 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-12-26 | 2008-06-26 | 2008-12-26 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-12-26 | 2012-06-26 | 2012-12-26 | $7700.00 | Window Closed / Lapsed |