IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0276532
(2011-10-19)
|
등록번호 |
US-8555146
(2013-10-08)
|
발명자
/ 주소 |
- Watson, Mark
- Luby, Michael G.
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
0 인용 특허 :
38 |
초록
▼
Transmitters and receivers deal with streams of data, wherein the receiver is expected to begin using received data before receiving all of the data. Concurrent streams are sent and FEC coding is used with the streams and done as an aggregate. The transmitter performs FEC operations over the plurali
Transmitters and receivers deal with streams of data, wherein the receiver is expected to begin using received data before receiving all of the data. Concurrent streams are sent and FEC coding is used with the streams and done as an aggregate. The transmitter performs FEC operations over the plurality of streams, wherein source blocks from at least two streams logically associated into a jumbo source block and FEC processing is performed to generate one or more jumbo repair block from the jumbo source block. Each of the source blocks comprises one or more source symbols from their respective stream. The jumbo source symbols can be of constant size and are suitably aligned along size boundaries that make processing efficient. Each source symbol need not be the same size, and the number of source symbols from each stream in a jumbo source block need not be the same value across streams.
대표청구항
▼
1. A method of receiving data transmitted from a source over a communications channel, the data encoded as source blocks, each source block comprising a first number L of ordered source symbols, the method comprising: receiving, for at least one source block, source packets and repair packets, the s
1. A method of receiving data transmitted from a source over a communications channel, the data encoded as source blocks, each source block comprising a first number L of ordered source symbols, the method comprising: receiving, for at least one source block, source packets and repair packets, the source packets comprising source symbols, the repair packets comprising repair symbols generated at the source from encoding the source block of L source symbols;accessing a second number K≦L of source symbols for the source block;filling the source block of L source symbols with the source symbols of the source packets for the source block in ordered positions of the source symbols;padding the source block with L-K pre-determined source symbols;decoding the source block of L source symbols using the repair symbols of the repair packets for the source block; andoutputting the first K source symbols of the decoded source block. 2. The method of claim 1, further comprising generating a decoding schedule for source blocks of L source symbols, wherein decoding the source block of L source symbols is according to the decoding schedule. 3. The method of claim 1, wherein the second number K of source symbols varies for at least two source blocks. 4. The method of claim 1, wherein padding comprises padding the source block with L-K zero-valued source symbols; anddecoding comprises ignoring operations that involve the L-K zero-valued source symbols of the source block. 5. The method of claim 1, wherein the first number L for the source block is determined from one or more repair packets for the source block. 6. The method of claim 1, wherein the second number K for the source block is determined from one or more repair packets for the source block. 7. The method of claim 1, wherein decoding is according to a multi-stage chain reaction code or a Reed-Solomon code. 8. The method of claim 1, wherein the first number L of source symbols for each source block is in a plurality of valid L values for the decoding. 9. The method of claim 8, wherein an increase between pairs of consecutive L values in the plurality of valid L values is between approximately 10% and 25%. 10. The method of claim 8, further comprising determining the first number L for the source block by rounding up the second number K for the source block to a next L value in the plurality of valid L values. 11. The method of claim 8, further comprising: receiving a sub-list of the plurality of valid L values; anddetermining the first number L for the source block by rounding up the second number K for the source block to a next L value in the sub-list. 12. An apparatus for receiving data transmitted from a source over a communications channel, the data encoded as source blocks, each source block comprising a first number L of ordered source symbols, the apparatus comprising: a receive module configured to receive, for at least one source block, source packets and repair packets, the source packets comprising source symbols, the repair packets comprising repair symbols generated at the source from encoding the source block of L source symbols; anda decoder module communicatively coupled with the receive module and configured to access a second number K≦L of source symbols for the source block, fill the source block of L source symbols with the source symbols of the source packets for the source block in ordered positions of the source symbols, pad the source block with L-K pre-determined source symbols, decode the source block of L source symbols using the repair symbols of the repair packets for the source block, and output the first K source symbols of the decoded source block. 13. The apparatus of claim 12, wherein the decoder module is configured to decode the source block of L source symbols according to a decoding schedule generated for source blocks of L source symbols. 14. The apparatus of claim 12, wherein the second number K of source symbols varies for at least two source blocks. 15. The apparatus of claim 12, wherein the decoder module is configured to pad the source block with L-K zero-valued source symbols; and, in decoding, to ignore operations that involve the L-K zero-valued source symbols of the source block. 16. The apparatus of claim 12, wherein the decoder module is further configured to determine the first number L for the source block from one or more repair packets for the source block. 17. The apparatus of claim 12, wherein the decoder module is further configured to determine the second number K for the source block from one or more repair packets for the source block. 18. The apparatus of claim 12, wherein the decoder module comprises a multi-stage chain reaction decoder or a Reed-Solomon decoder. 19. The apparatus of claim 12, wherein the first number L of source symbols for each source block is in a plurality of valid L values for the decoder module. 20. The apparatus of claim 19, wherein an increase between pairs of consecutive L values in the plurality of valid L values is between approximately 10% and 25%. 21. The apparatus of claim 19, wherein the decoder module is further configured to determine the first number L for the source block by rounding up the second number K for the source block to a next L value in the plurality of valid L values. 22. The apparatus of claim 19, wherein the receive module is further configured to receive a sub-list of the plurality of valid L values; andthe decoder module is further configured to determine the first number L for the source block by rounding up the second number K for the source block to a next L value in the sub-list. 23. A system for receiving data transmitted from a source over a communications channel, the data encoded as source blocks, each source block comprising a first number L of ordered source symbols, the system comprising: receive means for receiving, for at least one source block, source packets and repair packets, the source packets comprising source symbols, the repair packets comprising repair symbols generated at the source from encoding the source block of L source symbols; anddecoding means for accessing a second number K≦L of source symbols for the source block, filling the source block of L source symbols with the source symbols of the source packets for the source block in ordered positions of the source symbols, padding the source block with L-K pre-determined source symbols, decoding the source block of L source symbols using the repair symbols of the repair packets for the source block, and outputting the first K source symbols of the decoded source block. 24. The system of claim 23, wherein the decoding means include means for decoding the source block of L source symbols according to a decoding schedule generated for source blocks of L source symbols. 25. The system of claim 23, wherein the second number K of source symbols varies for at least two source blocks. 26. The system of claim 23, wherein the decoding means include means for padding the source block with L-K zero-valued source symbols; and means for, in decoding, ignoring operations that involve the L-K zero-valued source symbols of the source block. 27. The system of claim 23, wherein the decoding means further include means for determining the first number L for the source block from one or more repair packets for the source block. 28. The system of claim 23, wherein the decoding means further include means for determining the second number K for the source block from one or more repair packets for the source block. 29. The system of claim 23, wherein the decoding means include means for decoding according to a multi-stage chain reaction code or a Reed-Solomon code. 30. The system of claim 23, wherein the first number L of source symbols for each source block is in a plurality of valid L values for the decoding means. 31. The system of claim 30, wherein an increase between pairs of consecutive L values in the plurality of valid L values is between approximately 10% and 25%. 32. The system of claim 30, wherein the decoding means further include means for determining the first number L for the source block by rounding up the second number K for the source block to a next L value in the plurality of valid L values. 33. The system of claim 30, wherein the receive means further include means for receiving a sub-list of the plurality of valid L values; andthe decoding means further include means for determining the first number L for the source block by rounding up the second number K for the source block to a next L value in the sub-list. 34. A computer program product for processing data transmitted from a source over a communications channel, the data encoded as source blocks, each source block comprising a first number L of ordered source symbols, the computer program product comprising: a processor-readable medium storing processor-readable instructions configured to cause a processor to: access, for at least one source block, source packets and repair packets, the source packets comprising source symbols, the repair packets comprising repair symbols generated at the source from encoding the source block of L source symbols;access a second number K≦L of source symbols for the source block;fill the source block of L source symbols with the source symbols of the source packets for the source block in ordered positions of the source symbols;pad the source block with L-K pre-determined source symbols;decode the source block of L source symbols using the repair symbols of the repair packets for the source block; andprovide the first K source symbols of the decoded source block. 35. The computer program product of claim 34, wherein the instructions are further configured to cause the processor to generate a decoding schedule for source blocks of L source symbols, wherein decoding the source block of L source symbols is according to the decoding schedule. 36. The computer program product of claim 34, wherein the second number K of source symbols varies for at least two source blocks. 37. The computer program product of claim 34, wherein the instructions are configured to cause the processor to pad the source block with L-K zero-valued source symbols; and, in decoding, to ignore operations that involve the L-K zero-valued source symbols of the source block. 38. The computer program product of claim 34, wherein the instructions are further configured to cause the processor to determine the first number L for the source block from one or more repair packets for the source block. 39. The computer program product of claim 34, wherein the instructions are further configured to cause the processor to determine the second number K for the source block from one or more repair packets for the source block. 40. The computer program product of claim 34, wherein the instructions are configured to cause the processor to decode according to a multi-stage chain reaction code or a Reed-Solomon code. 41. The computer program product of claim 34, wherein the first number L of source symbols for each source block is in a plurality of valid L values for the decoding. 42. The computer program product of claim 41, wherein an increase between pairs of consecutive L values in the plurality of valid L values is between approximately 10% and 25%. 43. The computer program product of claim 41, wherein the instructions are further configured to cause the processor to determine the first number L for the source block by rounding up the second number K for the source block to a next L value in the plurality of valid L values. 44. The computer program product of claim 41, wherein the instructions are further configured to cause the processor to: access a sub-list of the plurality of valid L values; anddetermine the first number L for the source block by rounding up the second number K for the source block to a next L value in the sub-list.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.