Patent ID: 8170095

Claim:
A method of increasing image processing performance, comprising: copying image data of a selected subset of an entire image existing in an I/O RAM into a copy of the selected subset in a buffer in a main memory by multiple calls to a memory copy function copying each image line of the selected subset to a buffer line of the buffer; performing CPU intensive operations on the copy selected subset in the main memory and not on the image data in said I/O RAM to generate a processed image and storing the processed image in the buffer; and copying the processed image from the buffer in the main memory to the I/O RAM by multiple calls to the memory copy function copying each buffer line of the buffer to an image line to generate a copy of the processed image in the I/O RAM; wherein performing CPU intensive operations comprises bit-wise sub-sampling pixels of the copy selected subset to extract corresponding subsets of pixel bits from the pixels; counting consecutive repeated instances of various pixel values represented by the extracted subsets of pixel bits; and outputting a series of data elements for the pixels to form the processed image, based on the extracted subsets of pixel bits; wherein a data element comprises a data field and a run-length field, wherein the data field comprises a pixel value in a range spanning from zero to a maximum value represent-able by a number of pixel bits sub-sampled from a pixel, and wherein the run-length field comprises a consecutive repeat count of the pixel value in the data field.