I actually used something call corel paint shop because i didn't have photoshop and they have a free trial.
It has a tool called "mosaic" -- photoshop has something very similar so I'm sure you can do it in photoshop. The mosaic tool of course gives you tons of options that aren't really necessary for this. The biggest challenge is reducing the photo to 16 colors, (since most photos contain hundreds or thousands of colors) and still having it look enough like the original image. If it doesn't look good when you reduce it, you basically just can't use that picture. Also, if after the fact you're going to try to match up the colors with vitreous tiles, you have to be careful to keep your pics colors within the range of the colors available in tile. Greens, blues, grays and purples are the colors that seem to be most available in vitreous tile. Reds are more expensive for some reason, I've never found any really good hot pinks, and there's not a lot of yellows or oranges.
Reduce the image to 16 colors (a menu option on most graphics programs.)
Set the mosaic tool to be just squares. Corel paintshop has an option for depth (sorry I can't be more specific at the moment, unfortunately my trial ran out and I haven't bought the program yet.) The depth option creates the illusion of depth by added little shadows of a slightly darker tone to each tile. For my purposes, this doesn't help, because I need each tile to be one uniform color in order to reproduce it using glass tile. Then you can set how many tiles the picture uses. This is where a little bit of screwing around is necessary. Too few tiles and you can't see your image. Too *many* tiles and in order for me to make the thing using 3/4" glass tile it would take up my entire work room.
Here's the original photo that I used in my sid viscious mosaic:
Here's it tiled in corel paint shop:
(it was easier to do than the dylan since the original photo was almost black and white.)
here's the resulting mosaic:
Obviously, once I print out the image I have to make some choices. I crop it, number each line of tile, and in this case, used oranges instead of pinks because I wanted a really hot bright color and I couldn't find a good pink to use.
I hope this was at least a little bit helpful. Mostly with the photo part I've found you just have to keep changing the number of tiles and look at it, again and again, sometimes squinting a bit, to see if it will read. Once you start tiling you also have to make some choices, usually simplifying the image somewhat as you go.