minimizing latency for augmented reality displays: frames

1
Minimizing Latency for Augmented Reality Displays: Frames Considered Harmful Feng Zheng 1 , Turner Whied 1,2 , Anselmo Lastra 1 , Peter Lincoln 1 , Andrei State 1,3 , Andrew Maimone 1 , and Henry Fuchs 1 1 University of North Carolina at Chapel Hill 2 TWI Research 3 InnerOpc Technology Inc. Reference: Feng Zheng, Turner Whied, Anselmo Lastra, Peter Lincoln, Andrei State, Andrew Maimone, and Henry Fuchs. “Minimizing Latency for Augmented Reality Displays: Frames Considered Harmful.” Internaonal Symposium on Mixed and Augmented Reality (ISMAR 2014), Sept. 2014, Munich, Germany. Abstract: In Opcal See-Through Augmented Reality (OST-AR) systems, latency accumulates throughout all stages, from tracking, to applicaon, to image generaon, scanout, and display. In this work, we present inial results from a new image generaon approach for low-latency displays such as those needed in head-worn AR devices (e.g. Google Glass, Epson Moverio BT-200). Grayscale image display at max binary rate 10,000 – 20,000 Hz! Readily extendable to color. Proposed low-latency binary image generaon method (Figure 1): Queson 1: Assuming that the Desired Image (grayscale) and the User Perceived Image (grayscale) are known, how to compute the Binary Projector Image? Answer 1: Compare them pixel by pixel → turn on the binary pixel if needs more light turn off the binary pixel otherwise Queson 2: How to compute the User Perceived Image? Answer 2: Integrate over a window of 64 (~3 ms) most recently projected binary images. Current Prototype Stages Tracker 30,000 Hz Renderer 30 Hz 3D Rotation & 3D Translation Post-Rendering Warp 300 Hz Color & Depth (> Display Res.) 2D Warp 3,000 Hz Color (> Display Res.) 2D Offset 30,000 Hz Color (> Display Res) 3D Rotation & 3D Translation 2D Rotation & 2D Translation 2D Translation Error Estimation Desired Image (= Display Res.) Display Update Binary Display Image (= Display Res.) User Perception Estimation User Perceived Image (= Display Res.) Desired Image: The grayscale image we want the user to perceive User Percieved Image: An estimate of the grayscale image current perceived by the user Binary Display Image: The binary image emitted by the projector Figure 1: End-to-end low-latency OST-AR pipeline. While the whole approach comprises many stages, each operang faster than the prior stage, our current prototype implements only the stages in the red rectangle for binary image generaon and display. Figure 2: Experimental setup. The convenonal projector is DLP Lightcraſter ( @ 60 Hz color ). The experimental projector is TI Discovery 4100 Development Kit ( @ 22,727 Hz binary; @ 291 Hz grayscale (using convenonal pulse width modulaon (PWM) to achieve various levels of light intensity); @ 97 Hz color (hardware upgrade required, i.e., not navely supported) ). The recording camera is 120 Hz. Preliminary Results Experiment 1: Latency Experiment 2: Rotang Grayscale Paern projecon (a) Convenonal 60 Hz color display Figure 4: AR registraon of a spinning pyramid using the same tracking and rendering but different displays. (a) 60 Hz grayscale projector (b) 22,727 Hz binary projector (using our binary image generaon algorithm) (c) 60 Hz color projector Figure 5: Grayscale image projecon. (a) The image is generally sharp within each consecuve frame, though these two frames are disnctly visible, which results in jumpy moon. (b) The center of the image is sharper while the outside edges are more blurred, which results in smooth moon. (c) Similar to (a), the image is generally sharp for a single color channel, though the color channels are spaally separated. Figure 3: Sample images used by our algorithm. The resulng displayed binary image is “neither here nor there,” but always approaches the constantly changing desired image. Algorithm Demonstraon Desired Image User Perceived Image Error Image Binary Projector Image Frame 130 Frame 98 Frame 66 (b) Experimental display at 1 kHz Conclusion: Our approach produces visually pleasing results. Rapid updates decrease or eliminate the “swimming” arfacts induced by latency, and the imagery shown by our proposed display is more natural and resembles moon blur, which is more acceptable to viewers. Future Work: (1) Efficient FPGA implementaon of the proposed algorithm; (2) High-speed image scanout from GPU; (3) Extension to color images; (3) Explore the effects of eye movements. QR Code for Results Video:

Upload: others

Post on 20-Dec-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Minimizing Latency for Augmented Reality Displays: Frames Considered Harmful Feng Zheng1, Turner Whitted1,2, Anselmo Lastra1, Peter Lincoln1, Andrei State1,3, Andrew Maimone1, and Henry Fuchs1

1University of North Carolina at Chapel Hill 2TWI Research 3InnerOptic Technology Inc.

Reference: Feng Zheng, Turner Whitted, Anselmo Lastra, Peter Lincoln, Andrei State, Andrew Maimone, and Henry Fuchs. “Minimizing Latency

for Augmented Reality Displays: Frames Considered Harmful.” International Symposium on Mixed and Augmented Reality (ISMAR 2014), Sept.

2014, Munich, Germany.

Abstract: In Optical See-Through Augmented Reality (OST-AR) systems, latency accumulates throughout all

stages, from tracking, to application, to image generation, scanout, and display. In this work, we present initial

results from a new image generation approach for low-latency displays such as those needed in head-worn AR

devices (e.g. Google Glass, Epson Moverio BT-200).

Grayscale image display at max binary rate 10,000 – 20,000 Hz!

Readily extendable to color.

Proposed low-latency binary image generation method (Figure 1):

Question 1: Assuming that the Desired Image (grayscale) and the User Perceived Image (grayscale) are

known, how to compute the Binary Projector Image?

Answer 1: Compare them pixel by pixel → turn on the binary pixel if needs more light

→ turn off the binary pixel otherwise

Question 2: How to compute the User Perceived Image?

Answer 2: Integrate over a window of 64 (~3 ms) most recently projected binary images.

Cu

rre

nt

Pro

toty

pe

Sta

ge

s

Tracker30,000 Hz

Renderer30 Hz

3D Rotation & 3D Translation

Post-Rendering Warp

300 Hz

Color & Depth(> Display Res.)

2D Warp3,000 Hz

Color(> Display Res.)

2D Offset30,000 Hz

Color(> Display Res)

3D Rotation & 3D Translation 2D Rotation & 2D Translation 2D Translation

Error Estimation

Desired Image(= Display Res.)

Display UpdateBinary Display Image

(= Display Res.)

User Perception Estimation

User Perceived Image(= Display Res.)

Desired Image: The grayscale image we want the user to perceive

User Percieved Image: An estimate of the grayscale image current perceived by the user

Binary Display Image: The binary image emitted by the projector

Figure 1: End-to-end low-latency

OST-AR pipeline. While the whole

approach comprises many

stages, each operating faster

than the prior stage, our current

prototype implements only the

stages in the red rectangle for

binary image generation and

display.

Figure 2: Experimental setup. The conventional

projector is DLP Lightcrafter ( @ 60 Hz color ). The

experimental projector is TI Discovery 4100

Development Kit ( @ 22,727 Hz binary; @ 291 Hz

grayscale (using conventional pulse width

modulation (PWM) to achieve various levels of light

intensity); @ 97 Hz color (hardware upgrade

required, i.e., not natively supported) ). The

recording camera is 120 Hz.

Preliminary Results Experiment 1: Latency Experiment 2: Rotating Grayscale Pattern projection

(a) Conventional 60 Hz color display

Figure 4: AR registration of a spinning

pyramid using the same tracking and

rendering but different displays.

(a) 60 Hz grayscale projector (b) 22,727 Hz binary projector (using

our binary image generation algorithm)

(c) 60 Hz color projector

Figure 5: Grayscale image projection. (a) The image is generally sharp within each

consecutive frame, though these two frames are distinctly visible, which results in jumpy

motion. (b) The center of the image is sharper while the outside edges are more blurred,

which results in smooth motion. (c) Similar to (a), the image is generally sharp for a single

color channel, though the color channels are spatially separated.

Figure 3: Sample images used by our algorithm. The resulting displayed binary image is “neither here nor there,” but always

approaches the constantly changing desired image.

Algorithm Demonstration

Desired Image User Perceived Image Error Image Binary Projector Image

Fram

e 1

30

Fr

ame

98

Fr

ame

66

(b) Experimental display at 1 kHz

Conclusion: Our approach produces visually pleasing

results. Rapid updates decrease or eliminate the

“swimming” artifacts induced by latency, and the imagery

shown by our proposed display is more natural and

resembles motion blur, which is more acceptable to viewers.

Future Work: (1) Efficient FPGA

implementation of the proposed algorithm;

(2) High-speed image scanout from GPU; (3)

Extension to color images; (3) Explore the

effects of eye movements.

QR Code for

Results Video: