Difference between Sub Sampling and Down Scaling of Images
Have you looked to the pyUp and pyDown functions in opencv? They upscale and downscale images using a gaussian pyramids.

opencv image filtering page