IP Library Granted Patent US 7,676,735
Granted Patent B2
US 7,676,735 · App. 11/423,391 · Granted Mar 9, 2010

Forward error-correcting (FEC) coding and streaming

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,676,735
App. No.
11/423,391
Granted
Mar 9, 2010
Kind
B2
Abstract

In a data decoder for decoding data from received symbols received over a channel from an encoder, a method for decoding data wherein the received data includes erasures and includes source symbols and repair symbols organized into one or more source blocks. The decoder uses a generator matrix, any square submatrix of which is invertible, such that the decoder performs decoding operations concurrently with the arrival of the source symbols and repair symbols that are a part of a source block. Novel methods for interleaving and specifying encoding structure for a large class of FEC codes, scheduling the sending of packets and the like, are also applied in conjunction with the method for decoding data.

Claims (15)

1. In a data decoder for decoding data from received symbols received over a channel from an encoder, wherein the received data includes erasures and includes source symbols and repair symbols organized into one or more source blocks and wherein the decoder uses a generator matrix in decoding, any square submatrix of which is invertible, such that the decoder performs decoding operations concurrently with the arrival of the source symbols and repair symbols comprising a source block, a method of decoding comprising:

representing a system of equations in a decoder memory derived, at least in part, from the generator matrix;

substituting received source symbols into the system of equations as the source symbols are received before receiving all source symbols from the source block;

identifying, using decoder logic, repair equations to be used for solving the system of equations as repair symbols from the source block arrive;

calculating, using decoder logic, vector values for equations as source symbols from the source block arrive; and

converting the system of equations into an upper triangular form as repair symbols from the source block arrive at the decoder.

2. The method of claim 1 , wherein the repair symbols of a code are received at the decoder before the source symbols and decoding operations are performed in-place.

3. The method of claim 1 , wherein a permutation is applied at the encoder to source symbols before a two-dimensional Reed-Solomon code is applied.

4. The method of claim 3 , wherein the permutation is random or pseudorandom.

5. The method of claim 3 , wherein the permutation is such that no two adjacent symbols in the original ordering appear in the same row or column of the code.

6. The method of claim 5 , wherein the permutation is derived from two permutations σ 1 , σ 2 such that the symbol s[i,j] in position (i,j) in the source block is mapped through the two permutations such that the symbol s′[i,j] at position (i,j) in the permuted source block satisfies s′[i,j]=s[(σ 1 (j)+σ 2 (i)) % k,j] where k is the number of rows or columns of the code.

7. The method of claim 1 , wherein the generator matrix is a generator matrix for a code that is augmented with more than one repair symbol generated per row of the generator matrix.

8. The method of claim 1 , wherein the generator matrix is a generator matrix for a code of the group regular Low-Density Generator Matrix, irregular Low-Density Generator Matrix, regular Low-Density Generator Matrix staircase, irregular Low-Density Generator Matrix staircase, regular Low-Density Generator Matrix triangle, irregular Low-Density Generator Matrix triangle, regular Copper, irregular Copper, or a fountain code.

9. The method of claim 1 , wherein the generator matrix is a generator matrix for an error-correcting code.

10. The method of claim 1 , wherein the generator matrix is a generator matrix for an error-correcting code and an erasure code.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2018
From: DIGITAL FOUNTAIN, INC.
To: QUALCOMM INCORPORATED
Reel/Frame 045641/0207 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 21, 2006
From: LUBY, MICHAEL G.; WATSON, MARK; SHOKROLLAHI, M. AMIN
To: DIGITAL FOUNTAIN, INC.
Reel/Frame 017974/0435 →