1. A method of compressing an image according to an image compression algorithm using a processor configured to generate signals, wherein the image includes a plurality of pixels arranged into lines and columns, wherein each pixel has a pixel value associated therewith, and wherein each line has L pixels, the method comprising: sequentially receiving pixel values into a buffers bank in line-by-line order based on the signals generated by the processor, wherein the image compression algorithm operates on blocks, of pixels, each block having N lines and M columns; storing each block-line of pixel values in a buffer of the buffers bank based on the signals generated by the processor, each buffer of the buffers bank being configured to store a single block-line, wherein a block-line includes M consecutive pixels of a line; for each block-line, storing a pointer to the buffer in which the block-line is stored based on the signals generated by the processor; reading block-lines out of the buffers bank to a compression engine based on the signals generated by the processor, wherein the block-lines are read out of the buffers bank in an order that is different from the line-by-line order in which the block-lines were received into the buffers bank based on the signals generated by the processor; compressing the image according to the image compression algorithm based on the signals generated by the processor; and displaying the image based on the signals generated by the processor.