Enhancing Foveated Rendering with Weighted Reservoir Sampling
Ville Cantory, Darya Biparva, Haoyu Tan, Tongyu Nie, John Schroeder, Ruofei Du, Victoria Interrante, Piotr Didyk
TL;DR
The paper addresses the inefficiency of traditional foveated rendering which discards high-spatial-frequency samples as gaze shifts. It introduces Weighted Reservoir Sampling (WRS) to temporally accumulate perceptually relevant high-quality pixel samples across frames, using a Bernoulli-based temporal bias to discard stale samples. The method maintains a per-pixel reservoir (conceptually of size $n=1$) and combines reservoirs across time to reconstruct higher perceptual quality while enabling higher foveation, running in under $1$ ms at $4$K and integrating with real-time VR/AR pipelines. Empirical evaluations, including text-reading and perceptual validation studies, demonstrate improved image quality and reading performance, with favorable runtime characteristics compared to standard foveated rendering and Temporal Anti-Aliasing (TAA).
Abstract
Spatiotemporal sensitivity to high frequency information declines with increased peripheral eccentricity. Foveated rendering exploits this by decreasing the spatial resolution of rendered images in peripheral vision, reducing the rendering cost by omitting high frequency details. As foveation levels increase, the rendering quality is reduced, and traditional foveated rendering systems tend not to preserve samples that were previously rendered at high spatial resolution in previous frames. Additionally, prior research has shown that saccade landing positions are distributed around a target location rather than landing at a single point, and that even during fixations, eyes perform small microsaccades around a fixation point. This creates an opportunity for sampling from temporally neighbouring frames with differing foveal locations to reduce the required rendered size of the foveal region while achieving a higher perceived image quality. We further observe that the temporal presentation of pixels frame-to-frame can be viewed as a data stream, presenting a random sampling problem. Following this intuition, we propose a Weighted Reservoir Sampling technique to efficiently maintain a reservoir of the perceptually relevant high quality pixel samples from previous frames and incorporate them into the computation of the current frame. This allows the renderer to render a smaller region of foveal pixels per frame by temporally reusing pixel samples that are still relevant to reconstruct a higher perceived image quality, while allowing for higher levels of foveation. Our method operates on the output of foveated rendering, and runs in under 1\,ms at 4K resolution, making it highly efficient and integrable with real-time VR and AR foveated rendering systems.
