Post-rendering image warp

Due to both latency and imperfections in the prediction process, a last-moment adjustment might be needed before the frame is scanned out to the display. This is called post-rendering image warp [203] (it has also been rediscovered and called time warp and asynchronous reprojection in the recent VR industry). At this stage, there is no time to perform complicated shading operations; therefore, a simple transformation is made to the image.

Figure 7.19: Six cases of post-rendering image warp based on the degrees of freedom for a change in viewpoint. The first three correspond to an orientation change. The remaining three correspond to a position change. These operations can be visualized by turning on a digital camera and observing how the image changes under each of these perturbations.
\begin{figure}\begin{center}
\begin{tabular}{\vert l\vert l\vert}\hline
Perturba...
... z$ & Contraction or expansion  \hline
\end{tabular}\end{center}
\end{figure}

Suppose that an image has been rasterized for a particular viewpoint, expressed by position $ (x,y,z)$ and orientation given by yaw, pitch, and roll $ (\alpha,\beta,\gamma)$. What would be different about the image if it were rasterized for a nearby viewpoint? Based on the degrees of freedom for viewpoints, there are six types of adjustments; see Figure 7.19. Each one of these has a direction that is not specified in the figure. For example, if $ \Delta \alpha$ is positive, which corresponds to a small, counterclockwise yaw of the viewpoint, then the image is shifted horizontally to the right.

Figure 7.20: Several examples of post-rendering image warp: (a) Before warping, a larger image is rasterized. The red box shows the part that is intended to be sent to the display based on the viewpoint that was used at the time of rasterization; (b) A negative yaw (turning the head to the right) causes the red box to shift to the right. The image appears to shift to the left; (c) A positive pitch (looking upward) causes the box to shift upward; (d) In this case, the yaw is too large and there is no rasterized data to use for part of the image (this region is shown as a black rectangle).
\begin{figure}\begin{center}
\begin{tabular}{cc}
\psfig{file=figs/warpimage.eps,...
...4.eps,width=2.77truein} \\
(c) & (d) \\
\end{tabular}\end{center}
\end{figure}

Figure 7.20 shows some examples of the image warp. Most cases require the rendered image to be larger than the targeted display; otherwise, there will be no data to shift into the warped image; see Figure 7.20(d). If this ever happens, then it is perhaps best to repeat pixels from the rendered image edge, rather than turning them black [203].

Steven M LaValle 2020-01-06