1. A compression method comprising: receiving pixel data representing a two dimensional array of pixels, wherein each pixel is associated with a data value; receiving a first user defined parameter defining a maximum error allowable per pixel for a compression processing routine; executing the compression processing routine, wherein the data value for each pixel is compressed using the compression processing routine, and wherein an error caused by the compression processing routine is equal to or less than the maximum error allowable; and encoding the pixel data based on the compression processing routine.