1. A computer-implemented method, comprising: receiving an image having a first resolution; generating a first upsampled image based on the image, the first upsampled image having a second resolution that is greater than the first resolution; generating a multi-dimensional data structure corresponding to a multi-dimensional image space based on the first upsampled image, wherein each node of the multi-dimensional data structure has a value that is determined based on a weighted sum of values of one or more pixels in the first upsampled image, wherein each of the one or more pixels corresponds to a pixel in the received image and 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 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 of the second upsampled image that does not correspond to a pixel in the received image has a pixel value that is determined based on a weighted sum of the modified values of one or more nodes of the multi-dimensional data structure.