A computer-implemented method, comprising: identifying a plurality of bordering pixels (110, 130) delineating a texture hole region in an image; recording a plurality of depth values of the plurality of bordering pixels, each depth value in the plurality of depth values corresponding to a respective bordering pixel in the plurality of bordering pixels; automatically clustering the plurality of depth values into two depth value clusters with a depth value threshold separating a first depth value cluster of the two depth value clusters from a second depth value cluster of the two depth value clusters; characterised by: identifying one or more bordering pixels, in the plurality of bordering pixels, with depth values in the first depth value cluster as a subset of bordering background pixels in the plurality of bordering pixels; using the subset of bordering background pixels to predict texture hole pixel values in the texture hole region based on a plurality of candidate prediction directions; computing, based at least in part on the predicted candidate texture hole pixel values in the texture hole region, one or more quality indicator values for one or more quality indicators for each candidate prediction direction in the plurality of candidate prediction directions; selecting, based on the one or more quality indicator values for each candidate prediction direction in the plurality of candidate prediction directions, a specific candidate prediction direction from among the plurality of candidate prediction directions, the specific candidate prediction direction being used to fill in final texture hole pixel values in the texture hole region of the image. identifying a plurality of bordering pixels (110, 130) delineating a texture hole region in an image; recording a plurality of depth values of the plurality of bordering pixels, each depth value in the plurality of depth values corresponding to a respective bordering pixel in the plurality of bordering pixels; automatically clustering the plurality of depth values into two depth value clusters with a depth value threshold separating a first depth value cluster of the two depth value clusters from a second depth value cluster of the two depth value clusters; characterised by: identifying one or more bordering pixels, in the plurality of bordering pixels, with depth values in the first depth value cluster as a subset of bordering background pixels in the plurality of bordering pixels; using the subset of bordering background pixels to predict texture hole pixel values in the texture hole region based on a plurality of candidate prediction directions; computing, based at least in part on the predicted candidate texture hole pixel values in the texture hole region, one or more quality indicator values for one or more quality indicators for each candidate prediction direction in the plurality of candidate prediction directions; selecting, based on the one or more quality indicator values for each candidate prediction direction in the plurality of candidate prediction directions, a specific candidate prediction direction from among the plurality of candidate prediction directions, the specific candidate prediction direction being used to fill in final texture hole pixel values in the texture hole region of the image.