Packet prioritization and associated bandwidth and buffer management techniques for audio over IP
First Claim
1. A system for transmitting voice communications over a data network, comprising:
- an input operable to receive a voice stream from a user, the voice stream comprising a plurality of temporally distinct segments;
a packet protocol interface operable to convert a first segment of the voice stream into at least a first packet;
an acoustic prioritization agent operable to control processing of the first segment and the first packet based on a degree of acoustic similarity between the first segment and a second segment of the voice stream, wherein the second segment temporally precedes the first segment and a third segment of the voice stream temporally follows the first segment; and
a codec operable to compare the first segment with the second segment of the voice stream to determine a first degree of acoustic similarity between the first and second segments and compare the first segment with the third segment of the voice stream to determine a second degree of acoustic similarity between the first and third segments.
21 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to voice communication devices in which an audio stream is divided into a sequence of individual packets, each of which is routed via pathways that can vary depending on the availability of network resources. All embodiments of the invention rely on an acoustic prioritization agent that assigns a priority value to the packets. The priority value is based on factors such as whether the packet contains voice activity and the degree of acoustic similarity between this packet and adjacent packets in the sequence. A confidence level, associated with the priority value, may also be assigned. In one embodiment, network congestion is reduced by deliberately failing to transmit packets that are judged to be acoustically similar to adjacent packets; the expectation is that, under these circumstances, traditional packet loss concealment algorithms in the receiving device will construct an acceptably accurate replica of the missing packet. In another embodiment, the receiving device can reduce the number of packets stored in its jitter buffer, and therefore the latency of the speech signal, by selectively deleting one or more packets within sustained silences or non-varying speech events. In both embodiments, the ability of the system to drop appropriate packets may be enhanced by taking into account the confidence levels associated with the priority assessments.
-
Citations
19 Claims
-
1. A system for transmitting voice communications over a data network, comprising:
-
an input operable to receive a voice stream from a user, the voice stream comprising a plurality of temporally distinct segments; a packet protocol interface operable to convert a first segment of the voice stream into at least a first packet; an acoustic prioritization agent operable to control processing of the first segment and the first packet based on a degree of acoustic similarity between the first segment and a second segment of the voice stream, wherein the second segment temporally precedes the first segment and a third segment of the voice stream temporally follows the first segment; and a codec operable to compare the first segment with the second segment of the voice stream to determine a first degree of acoustic similarity between the first and second segments and compare the first segment with the third segment of the voice stream to determine a second degree of acoustic similarity between the first and third segments. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method for transmitting voice communications over a data network, comprising:
-
receiving a voice stream from a user, the voice stream comprising a plurality of temporally distinct segments; converting a first segment of the voice stream into a first packet; and processing the first segment and the first packet based on a degree of acoustic similarity between the first segment and a second segment of the voice stream wherein the second segment temporally precedes the first segment and a third segment of the voice stream temporally follows the first segment, wherein processing the first segment and the first packet includes; comparing the first segment with the second segment of the voice stream to determine a first degree of acoustic similarity between the first and second segments and compare the first segment with the third segment of the voice stream to determine a second degree of acoustic similarity between the first and third segments. - View Dependent Claims (18)
-
-
19. A tangible, non-transitory computer readable medium storing computer-executable instructions thereon, the computer-executable instructions operable to cause a computer system to execute a method for processing a voice stream, the instructions comprising:
-
instructions to receive a voice stream from a user, the voice stream comprising a plurality of temporally distinct segments; instructions to convert a first segment of the voice stream into at least a first packet; instructions to control processing of the first segment and the first packet based on a degree of acoustic similarity between the first segment and a second segment of the voice stream, wherein the second segment temporally precedes the first segment and a third segment of the voice stream temporally follows the first segment; and instructions to compare the first segment with the second segment of the voice stream to determine a first degree of acoustic similarity between the first and second segments and compare the first segment with the third segment of the voice stream to determine a second degree of acoustic similarity between the first and third segments.
-
Specification