Custom Background Image per Page

You really just need to check the source.

get_background_image() uses get_theme_mod(), which applies the theme_mod_{$name} filter. So…

function alter_background($name) {
  // return something apporpriate for the theme mod
}
add_filter('theme_mod_background','alter_background');

Note: the “name” component may be different. Use var_dump(get_theme_mods()); to work out what you need.