markh@csd4.csd.uwm.edu (Mark William Hopkins) (04/19/91)
I have a particular algorithm in mind for coding images. You win a free trip to the Bahamas with me if you can name it. If you can supply information on anything resembling it you win a consolation prize. It does the following: (1) A sampling of points is taken on the image. The average value of the color vectors and total square deviation are calculated. (2) If the deviation lies under a certain threshold, the image is colored by the average color value, else it is subdivided and the process (1) is recursively applied to each sub-region (in a predetermined order!) (3) One bit is generated for each decision made in (2), and one color value for each region colored. The resulting bit and color streams represent the output of the image coder. (4) Optionally: these streams may be compressed with your favorite data compression algorithm. Intuitively, I think that would be killing a dead horse. :) (5) Optionally: a clustering algorithm may be used to group color values into clusters and then replace those values by their cluster index. It has the following properties: (a) Coding points are generated on the original image with an average spacing inversely proprotional to the color vector gradient. Uniformly colored areas are sparsely coded and detailed areas have a more dense coding. (b) A single area of uniform color is encoded in about one byte (assuming (5) is used to convert colors to color indices), regardless of its size. (c) The image coding is approximately invariant with respect to size-scaling. (This is a consequence if (a), actually) (d) The color variation threshold allows you to trade off detail vs. coded image size. ------------------------------------------------------------ Disclaimer: Applicant must be a qualified female to win the Bahamas cruise with me. Airfare, port entry fees, hotel taxes not included >:) The consolation prize is a free thank you from me :)