Patent ID: 7965895

Claim:
A method of reducing memory bandwidth required for a screen refresh, the method comprising: reading a tile from a memory, the tile comprising a plurality of pixels; determining whether the tile should be compressed, and if the tile should be compressed, then compressing the tile to form a compressed tile; storing the compressed tile in the memory; reading the compressed tile from the memory; and uncompressing the compressed tile; and if the tile should not be compressed, then not compressing the tile, wherein compressing the tile comprises: reading a first pixel in the tile, the first pixel comprising a first plurality of color values; reading a second pixel in the tile, the second pixel comprising a second plurality of color values; determining a difference between the first plurality of color values of the first pixel and the second plurality of color values of the second pixel to generate a first plurality of difference values; interleaving bits of the first plurality of difference values to generate a first interleaved value; encoding the first interleaved value to generate a first encoded value; and concatenating the first pixel and the first encoded value, and wherein the tile should be compressed if it has not been updated for a first number of screen refreshes, the first number having a value in a range of numbers between a second number plus one and twice the second number, and fewer than a third number of tiles have already been compressed during the first screen refresh.