1. A computing device comprising: a processing unit; and memory; the computing device configured to perform operations for multi-stage image classification, the operations comprising: performing a first classification stage, comprising: calculating, for an image, a relative entropy result for the image, comprising: determining a first distribution for the image for a first feature; determining a second distribution for the image for a second feature; and calculating the relative entropy result using the first distribution and the second distribution; and determining an overall classification for the image based on the relative entropy result, wherein the overall classification for the image is determined by comparing the relative entropy result to one or more threshold values, and wherein the overall classification is one of a plurality of classification types; performing a second classification stage, comprising: obtaining a classification model based on the overall classification for the image; dividing the image into a plurality of blocks; and for each block of the plurality of blocks: calculating a plurality of features for the block; and classifying the block using the classification model and the plurality of features, wherein the block is classified into one of the plurality of classification types; and encoding the plurality of blocks using one or more encoding techniques, wherein the one or more encoding techniques are selected based on the classification types of the plurality of blocks.