I remember the same, IIRC it was US6137498A that was referred to. That one seems to describe a pretty specific process for the generation so I don't know how generally it applies.
As far as I can see, it uses the same image, painting it different colors. I think it would be cooler to mix various images but with the scaling. There are plenty of ‘mosaic’ tools like that, however they mostly use images of the same size, essentially as uniform pixels.
Look at the minecraft tiles example. The readme also describes an extra tool to make differently-colored versions of a single image to feed into the program.