1. A method for progressively encoding a digitized color image with M distinct colors allocated to a set of pixels using a data processing system, the digitized color image being provided by assigning each of the M distinct colors to an associated subset of pixels in the set of pixels, the method comprising: (a) initializing a tree structure by providing at least one starting leaf node comprising a set of colors from the M distinct colors; (b) determining at least one representative color for each starting leaf node; and (c) growing the tree structure and updating an encoded image by repeatedly (i) selecting a leaf node n to become a non-leaf node n linked to two new leaf nodes based on an associated achievable cost, wherein the associated achievable cost is determined by determining an associated change in distortion resulting from turning the leaf node into the non-leaf node linked to the two new leaf nodes; determining an associated increase in entropy rate resulting from turning the leaf node into the non-leaf node linked to the two new leaf nodes; and, determining the associated achievable cost based on the associated change in distortion and the associated increase in entropy rate; (ii) creating the two new leaf nodes by allocating each color in leaf node n to one of the two new leaf nodes; (iii) determining a representative color for each of the two new leaf nodes; and (iv) encoding the index information associated with the selected leaf node n, the representative colors of the two new leaf nodes, and color updating bits regarding a plurality of pixels of the digitized color image corresponding to the two representative colors of the two new leaf nodes.