1. A method of processing an image, the method comprising: using at least one of one or more processors, calculating an error based on a difference between a color of a first pixel in the image and a color value selected from a color palette, wherein said color value is based on said color; using at least one of the one or more processors, calculating a first set of products of said error and each of a plurality of weights in a filter, wherein the filter associates each of the weights with one of a plurality of nearby pixels to the first pixel, wherein the weights in said filter are dyadic rationals that equal or approximate weights that are derived from a combination of any two or more component filters selected from among a Floyd-Steinberg filter, a Burkes filter, a Sierra 3 filter, a Jarvis-Judice-Ninke filter, or a Stucki filter, wherein the weights in each of a plurality of weight positions in the filter are an arithmetic average of filter weights in corresponding weight positions in each of the component filters, and wherein calculating the first set of products comprises applying a selected algorithm that applies a sequence of one or more shift, add, or subtract operations to a base value or a previously calculated one of the products, wherein the selected algorithm has been selected for having a lower complexity of shift, add, or subtract operations than one or more other potential algorithms for applying the plurality of weights, according to an efficiency criterion; and using at least one of the one or more processors, distributing said first set of products to the nearby pixels in accordance with said filter.