How does google automatically create 3D cityscapes? In the last years, Google models not only are major cities, but also suburban and rural areas (google video)

I read that there are some tridimensional model building algorithm here.

How could such algoithm work? Stereovision? Multiple photos?
They basically use 3D reconstruction based on ground and sometimes aerial footage of places, generally using stereo cameras. With this footage, they build a 3D point cloud based on the images to do the reconstruction (which is particularly trivial for a stereo setup). 

I was told that if the reconstruction isn't good enough for more important/well known landmarks, they will have someone create a better 3D model in some CAD software. But I do think most of what they have, impressively, is done algorithmically based on 3D point clouds and potentially some other things I am unaware of (homographies maybe?).