Patent ID: 8320690

Claim:
A method for processing multi-dimensional data, the method comprising: receiving a set of data elements arranged in a single rectangular data array having a single data port, representing a multi-dimensional pixel array, each data element representing a single pixel; storing the set of data elements divided among a plurality of individually addressable data arrays having a plurality of address ports, wherein each of the plurality of individually addressable data arrays comprises at most a single row that stores data elements from a sub-set of the set of data elements representing a multi-dimensional sub-array of the multi-dimensional pixel array, wherein storing comprises: transforming the set of data elements from the single rectangular data array to the plurality of individually addressable data arrays, wherein the data elements are transferred in the order in which the data elements are sequentially ordered in the single rectangular data array, one row at a time, in order of the sequence of rows, and divided among the first available row in each of the plurality of the individually addressable data arrays, in order of the plurality of individually addressable data arrays, after which the data elements are divided among the next available row in each of the plurality of individually addressable data arrays; and inserting a sequence null data elements in between data elements transformed from different rows of the single rectangular data array to stagger data elements which were vertically aligned in the single rectangular data array into different ones of the plurality of data arrays; simultaneously accessing the single row of each of the plurality of individually addressable data arrays by accessing separate address ports for each individually addressable data array to retrieve the complete sub-set of data elements in a single computational cycle; executing one or more instructions on the sub-set of data elements; and displaying a video or image processed by executing the one or more instructions on the sub-set of data elements.