A method comprising: determining delta values for a plurality of pixels in a block of pixels, each block comprising a portion of an image frame, wherein each delta value represents a difference between a color of one of the plurality of pixels and a reference color of a reference pixel selected from the plurality of pixels; subdividing the plurality of pixels into a plurality of groups, each group having the same number of pixels, wherein a minimum number of bits is calculated for each group to represent the delta values for that group; generating a compressed bitstream representative of the delta values, wherein the compressed bitstream comprises: information identifying the reference color of the reference pixel; bits representative of a block header that indicates a range of the minimum numbers of bits that are used to represent the delta values in the plurality of groups; a plurality of group headers, each group header indicating a group minimum number of bits that is sufficient to represent all of the delta values in a corresponding one of the plurality of groups; and the delta values encoded using the group minimum number of bits for the group that includes the delta values; and transmitting the compressed bitstream , wherein determining the delta values for the plurality of pixels in the block comprises determining each of the delta values using a predetermined number of bits to represent a color difference and a sign of the delta value, and wherein a total number of bits in the compressed bitstream is less than a sum, over the plurality of pixels, of the predetermined number of bits used to represent the delta values for the plurality of pixels. determining delta values for a plurality of pixels in a block of pixels, each block comprising a portion of an image frame, wherein each delta value represents a difference between a color of one of the plurality of pixels and a reference color of a reference pixel selected from the plurality of pixels; subdividing the plurality of pixels into a plurality of groups, each group having the same number of pixels, wherein a minimum number of bits is calculated for each group to represent the delta values for that group; generating a compressed bitstream representative of the delta values, wherein the compressed bitstream comprises: information identifying the reference color of the reference pixel; bits representative of a block header that indicates a range of the minimum numbers of bits that are used to represent the delta values in the plurality of groups; a plurality of group headers, each group header indicating a group minimum number of bits that is sufficient to represent all of the delta values in a corresponding one of the plurality of groups; and the delta values encoded using the group minimum number of bits for the group that includes the delta values; and information identifying the reference color of the reference pixel; bits representative of a block header that indicates a range of the minimum numbers of bits that are used to represent the delta values in the plurality of groups; a plurality of group headers, each group header indicating a group minimum number of bits that is sufficient to represent all of the delta values in a corresponding one of the plurality of groups; and the delta values encoded using the group minimum number of bits for the group that includes the delta values; and transmitting the compressed bitstream , wherein determining the delta values for the plurality of pixels in the block comprises determining each of the delta values using a predetermined number of bits to represent a color difference and a sign of the delta value, and wherein a total number of bits in the compressed bitstream is less than a sum, over the plurality of pixels, of the predetermined number of bits used to represent the delta values for the plurality of pixels. <EOS>