http://www.cs.cf.ac.uk/Dave/Multimedia/node141.html http://www.cnblogs.com/laughterwym/archive/2006/06/23/433793.html