1. A method for generating a depth map of an image, the method comprising: accessing the image, the image comprising a plurality of pixels, wherein each pixel has a color and a location in the image; determining a color depth map for the image based upon the colors of the pixels in the image; determining a spatial depth map for the image based upon the locations of pixels and historical depth information for pixels in similar locations in a plurality of other images; determining a motion depth map for the image based upon pixel motion in the image; determining a color depth map weight, a spatial depth map weight, and a motion depth map weight, the color depth map weight determined by: analyzing a distribution of the colors of the pixels in the image, and determining the color depth map weight based on the distribution of the colors; and generating a combined depth map for the image from a combination of the color depth map weighted by the color depth map weight, the spatial depth map weighted by the spatial depth map weight, and the motion depth map weighted by the motion depth map weight.