1. A computer-implemented method, comprising: receiving a first image having a first resolution; generating a first upsampled image based on the first image, the first upsampled image having a second resolution that is greater than the first resolution, wherein the first upsampled image includes a first set of pixels that correspond to pixels in the first image and a second set of pixels that do not correspond to pixels in the first image and that are generated by an interpolation process; generating a multi-dimensional data structure corresponding to a multi-dimensional image space based on the first set of pixels but not the second set of pixels, wherein each of a plurality of nodes of the multi-dimensional data structure has a value that is determined based on a weighted sum of values of a subset of pixels in the first set of pixels, wherein each of the pixels in the subset is located within a region of the multi-dimensional image space that has a vertex defined by the node; applying a filter to modify the values of the plurality of nodes of the multi-dimensional data structure; and generating a second upsampled image based on the modified values of the nodes in the multi-dimensional data structure, wherein each pixel in the second upsampled image that does not correspond to a pixel in the first image has a pixel value that is determined based on a weighted sum of the modified values of a set of nodes of the multi-dimensional data structure.