Prioritized transmission of redundancy data for packetized voice communication
First Claim
1. A method for prioritized transmission of redundancy data in a voice-over-packet call, the method comprising:
- encoding by a sending device a sequence of voice frames using a variable-rate codec to produce a sequence of encoded voice frames having varying sizes, and generating by the sending device a sequence of fixed-size packets holding the sequence of encoded voice frames, wherein each packet holds a respective encoded voice frame, and wherein the fixed-size packets have varying left-over payload capacity due to the varying sizes of the encoded voice frames;
generating by the sending device two or more redundancy blocks based on each encoded voice frame to help facilitate recovery of the encoded voice frame, and maintaining by the sending device on a sliding window basis a set of the redundancy blocks generated based on recently encoded voice frames; and
for each packet of the sequence of packets, (a) determining by the sending device the left-over payload capacity of the packet, (b) selecting from the set of redundancy blocks one or more redundancy blocks to include in the determined left-over payload capacity, wherein the selecting of each redundancy block is based on at least a priority level of the encoded voice frame based on which the redundancy block was generated, an age of the redundancy block, and a size of the redundancy block, (c) inserting the selected one or more redundancy blocks into the packet, and (d) transmitting the packet for receipt by a receiving device.
6 Assignments
0 Petitions
Accused Products
Abstract
A method for prioritized transmission of redundancy data in a voice-over-packet call. A sending device applies a variable rate codec to generate a sequence of encoded voice frames having varying sizes, and the sending device inserts the encoded voice frames into a sequence of fixed-size packets, one encoded voice frame per packet, resulting in varying left-over payload capacity per packet. The sending device further generates based on each encoded voice frame multiple redundancy blocks to help facilitate recovery of the encoded voice frame. And on a per packet-basis, the sending device selects, from a sliding-window set of recently generated redundancy blocks, one or more redundancy blocks to add into the left-over payload capacity of the packet, with the selecting of each redundancy block being based at least on importance of the voice frame based on which the redundancy block was generated, and the age and size of the redundancy block.
-
Citations
16 Claims
-
1. A method for prioritized transmission of redundancy data in a voice-over-packet call, the method comprising:
-
encoding by a sending device a sequence of voice frames using a variable-rate codec to produce a sequence of encoded voice frames having varying sizes, and generating by the sending device a sequence of fixed-size packets holding the sequence of encoded voice frames, wherein each packet holds a respective encoded voice frame, and wherein the fixed-size packets have varying left-over payload capacity due to the varying sizes of the encoded voice frames; generating by the sending device two or more redundancy blocks based on each encoded voice frame to help facilitate recovery of the encoded voice frame, and maintaining by the sending device on a sliding window basis a set of the redundancy blocks generated based on recently encoded voice frames; and for each packet of the sequence of packets, (a) determining by the sending device the left-over payload capacity of the packet, (b) selecting from the set of redundancy blocks one or more redundancy blocks to include in the determined left-over payload capacity, wherein the selecting of each redundancy block is based on at least a priority level of the encoded voice frame based on which the redundancy block was generated, an age of the redundancy block, and a size of the redundancy block, (c) inserting the selected one or more redundancy blocks into the packet, and (d) transmitting the packet for receipt by a receiving device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A device configured to engage in prioritized transmission of redundancy data in a voice-over-packet call, the device comprising:
-
a network communication interface for transmitting data; a processing unit; non-transitory data storage; and program instructions stored in the data storage and executable by the processing unit to cause the device to carry out operations comprising; encoding a sequence of voice frames using a variable-rate codec to produce a sequence of encoded voice frames having varying sizes, and generating a sequence of fixed-size packets holding the sequence of encoded voice frames, wherein each packet holds a respective encoded voice frame, and wherein the fixed-size packets have varying left-over payload capacity due to the varying sizes of the encoded voice frames, generating two or more redundancy blocks based on each encoded voice frame to help facilitate recovery of the encoded voice frame, and maintaining on a sliding window basis a set of the redundancy blocks generated based on recently encoded voice frames, and for each packet of the sequence of packets, (a) determining the left-over payload capacity of the packet, (b) selecting from the set of redundancy blocks one or more redundancy blocks to include in the determined left-over payload capacity, wherein the selecting of each redundancy block is based on at least a priority level of the encoded voice frame based on which the redundancy block was generated, an age of the redundancy block, and a size of the redundancy block, (c) inserting the selected one or more redundancy blocks into the packet, and (d) transmitting the packet via the network communication interface for receipt by a receiving device. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification