Self-describing error correction of consolidated media content
First Claim
1. A method comprising:
- obtaining one or more source media packets;
sending, to at least one downstream receiving device, a consolidated media stream that includes the source media packets and no error correction overhead;
generating, based on the source media packets, one or more self-describing recovery packets for downstream error correction of the source media packets, wherein the self-describing recovery packets include a mapping to the source media packets used to generate the self-describing recovery packets to avoid the addition of error correction overhead to the source packets of the consolidated media stream, wherein generating the one or more self-describing recovery packets for downstream error correction of the source media packets comprises;
composing a source block that includes the source media packets as source symbols;
generating one or more recovery source block headers that describe the composition of the source block, wherein the recovery source block header includes a count of source media streams referenced in the recovery source block header and, for each referenced source media stream, a stream reference describing the source media packets from that stream which are used in the source block, wherein a source media stream reference comprises a stream synchronization source identifier, a sequence number of the first packet from that source media stream referenced in this source block, and at least one of a count of contiguous packets or a bitmap which describes discontinuous packets; and
generating recovery symbols for the source media packets; and
sending the one or more self-describing recovery packets to the downstream receiving device.
1 Assignment
0 Petitions
Accused Products
Abstract
Presented herein are downstream recovery (error correction) techniques for an aggregated/consolidated media stream. In one example, a consolidated media stream that includes source media packets from one or more sources is sent to one or more downstream receiving devices. Based on the source media packets, one or more self-describing recovery packets for downstream error correction of the source media packets are generated. The self-describing recovery packets include a mapping to the source media packets used to generate the self-describing recovery packets, thereby avoiding the addition of error correction information in the consolidated media stream. The one or more self-describing recovery packets are sent to each of the downstream receiving devices as a separate stream.
-
Citations
20 Claims
-
1. A method comprising:
-
obtaining one or more source media packets; sending, to at least one downstream receiving device, a consolidated media stream that includes the source media packets and no error correction overhead; generating, based on the source media packets, one or more self-describing recovery packets for downstream error correction of the source media packets, wherein the self-describing recovery packets include a mapping to the source media packets used to generate the self-describing recovery packets to avoid the addition of error correction overhead to the source packets of the consolidated media stream, wherein generating the one or more self-describing recovery packets for downstream error correction of the source media packets comprises; composing a source block that includes the source media packets as source symbols; generating one or more recovery source block headers that describe the composition of the source block, wherein the recovery source block header includes a count of source media streams referenced in the recovery source block header and, for each referenced source media stream, a stream reference describing the source media packets from that stream which are used in the source block, wherein a source media stream reference comprises a stream synchronization source identifier, a sequence number of the first packet from that source media stream referenced in this source block, and at least one of a count of contiguous packets or a bitmap which describes discontinuous packets; and generating recovery symbols for the source media packets; and sending the one or more self-describing recovery packets to the downstream receiving device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An apparatus comprising:
-
one or more network interface devices; a memory; and a processor coupled to the memory and the network interface devices, wherein the processor; obtains one or more source media packets, sends, to at least one downstream receiving device, a consolidated media stream that includes the source media packets and no error correction overhead; generates, based on the source media packets, one or more self-describing recovery packets for downstream error correction of the source media packets, wherein the self-describing recovery packets include a mapping to the source media packets used to generate the self-describing recovery packets to avoid the addition of error correction overhead to the source packets of the consolidated media stream, wherein to generate the one or more self-describing recovery packets for downstream error correction of the source media packets, the processor; composes a source block that includes the source media packets as source symbols; generates one or more recovery source block headers that describe the composition of the source block, wherein the recovery source block header includes a count of source media streams referenced in the recovery source block header and, for each referenced source media stream, a stream reference describing the source media packets from that stream which are used in the source block, wherein a source media stream reference comprises a stream synchronization source identifier, a sequence number of the first packet from that source media stream referenced in this source block, and at least one of a count of contiguous packets or a bitmap which describes discontinuous packets; and generates recovery symbols for the source media packets; and sends the one or more self-describing recovery packets to the downstream receiving device. - View Dependent Claims (12, 13, 14, 15)
-
-
16. One or more non-transitory computer readable storage media encoded with software comprising computer executable instructions and when the software is executed operable to:
-
obtain one or more source media packets; send, to at least one downstream receiving device, a consolidated media stream that includes the source media packets and no error correction overhead; generate, based on the source media packets, one or more self-describing recovery packets for downstream error correction of the source media packets, wherein the self-describing recovery packets include a mapping to the source media packets used to generate the self-describing recovery packets to avoid the addition of error correction overhead to the source packets of the consolidated media stream, wherein the instructions operable to generate the one or more self-describing recovery packets for downstream error correction of the source media packets comprise instructions operable to; compose a source block that includes the source media packets as source symbols; generate one or more recovery source block headers that describe the composition of the source block, wherein the recovery source block header includes a count of source media streams referenced in the recovery source block header and, for each referenced source media stream, a stream reference describing the source media packets from that stream which are used in the source block, wherein a source media stream reference comprises a stream synchronization source identifier, a sequence number of the first packet from that source media stream referenced in this source block, and at least one of a count of contiguous packets or a bitmap which describes discontinuous packets; and generate recovery symbols for the source media packets; and send the one or more self-describing recovery packets to the downstream receiving device. - View Dependent Claims (17, 18, 19, 20)
-
Specification