1. A method for encoding an image frame, the method comprising: generating a first set of predictors for an image block of an image frame comprising a plurality of image blocks, each predictor generated with a different spatial prediction mode; determining difference metrics between the first set of predictors; generating a second set of predictors having a fewer number of predictors than the first set of predictors by replacing two or more predictors in the first set of predictors with a replacing predictor responsive to difference metrics between the two or more predictors in the first set falling below a similarity threshold, each of chrominance or luminance values of pixels in the replacing predictor being an average of chrominance or luminance values of corresponding pixels in the two or more predictors of the first set of predictors; comparing each predictor in the second set with the image block to determine a difference in content between each predictor in the second set and the image block; selecting one predictor of the second set of predictors with a lowest difference in content relative to the image block; and encoding the image block based on the selected predictor, wherein encoding the image block based on the selected predictor comprises generating mode information identifying the selected predictor, the mode information having a different bit length based at least on a number of the second set of predictors.