Patent ID: 7796058

Claim:
Apparatus for transforming a block of data elements such that the order of the data elements is transformed, the apparatus comprising: a plurality of first memory elements each for storing a respective one of the data elements in an initial order; a plurality of second memory elements each for storing a respective one of the data elements in the initial order, each first memory element corresponding to a respective second memory element; a plurality of comparators for comparing the contents of all respective pairs of the first and second memory elements; the apparatus being arranged to shift the data elements in the second memory elements to different ones of the second memory elements after each comparison of the contents of the respective pairs of the first and second memory elements whilst maintaining the initial order of the data elements, the comparators being arranged to compare the contents of all respective pairs of the first and second memory elements after each shift, the apparatus being arranged to repeat the shifts and comparisons until every data element has been compared with every other data element; and, combiners for combining the outputs of the comparators after each comparison to provide an output that can be used to order the data elements to a final order.