Patent ID: 7370246

Claim:
A method for de-interleaving successive sequences of interleaved data samples extracted from a virtual memory array having L0 columns and C0 rows, the method comprising: receiving each sequence of the interleaved data samples; writing row by row the received sequences of interleaved data samples in a de-interleaving memory array having L rows and C columns, with L being greater or equal to L0 and C being greater or equal to C0; and de-interleaving the data samples stored in the de-interleaving memory array sub-array by sub-array, with each sub-array being a square cluster array having a number SQ of rows and columns, and with a cluster row being a row of the square cluster array comprising SQ data samples, the number L of rows and the number C of columns of the de-interleaving memory array being multiples of the number SQ of rows and columns, the sub-array de-interleaving comprising for a first group of clusters of a current cluster row, reading each cluster of the first group, outputting a first data sample of the cluster row, and reordering other data samples of the cluster row in a column of a reordering buffer, and writing back the data samples de-interleaved in the reordering buffer into the de-interleaving memory at the last SQ-1 accessed clusters, and for a second group of previously reordered clusters, reading each cluster of the second group, and outputting all data samples of the cluster row.