A
system configured to rearrange and distribute data of an incoming image for
processing by a number, K≥4, of
processing clusters. The incoming image has a number of scanlines, each scanline being arrangeable as a plurality of data units. The
system is configured to logically partition the incoming image into K uniform regions corresponding to the number of
processing clusters, wherein the K regions are defined by a number, R≥2, of rows and a number, C≥2, of columns, by i) dividing each scanline into a number, C≥2, of uniform line segments, the length of a
line segment being equal to the width of a region, ii) dividing each
line segment into a number, W≥2, of data units, each having a number, Q≥2, of bytes, i.e. Q-
byte data units, and iii) defining a region height of a number, H≥2, of scanlines for each region. The
system is configured to store, in an associated memory, data units from different regions interleaved with respect to each other, while consecutive data units of each
line segment of each row of regions of the incoming image are stored with an offset of K memory positions such that the consecutive data units are stored K memory addresses apart. The system is configured to
transpose each
assembly of K number of Q-
byte data units stored in said memory into a transposed
assembly of Q number of K-
byte words, each K-byte word including one byte per cluster, and transfer the bytes of each K-byte word to said processing clusters in parallel, one byte per cluster.