CPC G06F 3/0608 (2013.01) [G06F 3/067 (2013.01); G06F 3/0623 (2013.01); G06F 3/0656 (2013.01); G06F 3/0659 (2013.01); G06F 3/0679 (2013.01); H03M 7/405 (2013.01); H03M 7/6005 (2013.01); H03M 7/6011 (2013.01)] | 10 Claims |
1. A system for encoding data using a plurality of codebooks comprising:
a computing device comprising a processor, a memory, and a non-volatile data storage device;
a codebook selector comprising a first plurality of programming instructions stored in the memory and operable on the processor, wherein the first plurality of programming instructions, when operating on the processor, causes the processor to:
select a list of codebooks for encoding a plurality of sourcepackets, each sourcepacket comprising a sourcepacket identifier, the list comprising a codebook identifier for each codebook;
for each sourcepacket:
encode the sourcepacket with each of the codebooks in the list of codebooks;
associate the sourcepacket identifier with a stored encoded sourcepacket;
associate the codebook identifier of the codebook which produced the stored encoded sourcepacket with the sourcepacket identifier; and
send a data pair comprising the respective sourcepacket identifier and its associated codebook identifier to a combiner; and
the combiner comprising a second plurality of programming instructions stored in the memory and operable on the processor, wherein the second plurality of programming instructions, when operating on the processor, causes the processor to:
receive each data pair from the codebook selector; and
aggregate each received data pair into a data structure comprising an ordered sequence of pairs each comprising a sourcepacket identifier and its associated codebook identifier.
|