IP Library › Granted Patent US 10,432,988
Granted Patent B2
US 10,432,988 · App. 15/130,885 · Granted Oct 1, 2019

Low latency wireless virtual reality systems and methods

Inventors: Lei Zhang (Markham, CA); Gabor Sines (Markham, CA); Khaled Mammou (Vancouver, CA); David Glen (Markham, CA); Layla A. Mah (Lowell, MA); Rajabali M. Koduri (Sunnyvale, CA); Bruce Montag (Austin, TX)
Assignees: ATI TECHNOLOGIES ULC; ADVANCED MICRO DEVICES, INC.
H04N21/2343H04L65/602H04L65/607H04L67/38H04L69/24H04N21/2368H04N21/23605H04N21/41407H04N21/42202H04N21/4307H04N21/437H04N21/4341H04N21/4343
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,432,988
App. No.
15/130,885
Granted
Oct 1, 2019
Kind
B2
Abstract

Virtual Reality (VR) systems, apparatuses and methods of processing data are provided which include predicting, at a server, a user viewpoint of a next frame of video data based on received user feedback information sensed at a client, rendering a portion of the next frame using the prediction, encoding the portion, formatting the encoded portion into packets and transmitting the video data. At a client, the encoded and packetized A/V data is received and depacketized. The portion of video data and corresponding audio data is decoded and controlled to be displayed and aurally provided in synchronization. Latency may be minimized by utilizing handshaking between hardware components and/or software components such as a 3D server engine, one or more client processors, one or more client processors, a video encoder, a server NIC, a video decoder, a client NIC; and a 3D client engine.

Claims (47)

1. A method of processing Virtual Reality (VR) data, the method comprising:

receiving user feedback information;

using one or more server processors to:

predict, based on the user feedback information, a user viewpoint of a next frame of a sequence of frames of video data to be displayed;

render a portion of the next frame of video data to be displayed using the prediction; and

encode the portion of the next frame of video data to be displayed; and

transmit the encoded and formatted portion of the next frame of video data to be displayed.

2. The method of claim 1 , further comprising using the one or more server processors to wirelessly transmit the encoded and formatted portion of the next frame of video data of video data to be displayed.

3. The method of claim 2 , further comprising using the one or more server processors to:

provide rendering instructions to render the portion of the next frame of video data to be displayed using the prediction;

encode audio data corresponding to the portion of the next frame of video data using the prediction;

combine the encoded audio data and encoded video data to encoded audio-video (A/V) data;

format the encoded A/V data into one or more packets; and

wirelessly transmit the combined encoded A/V data via a wireless channel dedicated to the encoded A/V data.

4. The method of claim 1 , wherein the user feedback information comprises tracking information indicating at least one of a position and orientation of a portion of a user; and

the tracking information is received via a wireless channel dedicated to the tracking information.

5. The method of claim 1 , wherein the feedback information includes time stamp information indicating a time when the feedback information is sensed prior to be received and further comprising using the one or more server processors to:

determine when the portion of the next frame of video data to be displayed is rendered;

indicate that the portion of the next frame of video data is rendered; and

encode the portion of the frame of video data in response to the indication.

6. The method of claim 1 , further comprising using one or more server processors to:

receive, at a server network interface controller (NIC), the encoded and formatted portion of the next frame of video data via direct memory access (DMA), and

transmit, via the server NIC, the encoded and formatted portion of the next frame of video data via a channel dedicated to the tracking information.

7. A processor device for processing Virtual Reality (VR) content, the processor device comprising:

memory configured to store data; and

one or more processor configured to:

predict, based on received user feedback information, a user viewpoint of a next frame of a sequence of frames of video data to be displayed;

render a portion of the next frame of video data to be displayed using the prediction;

encode the portion of the next frame of video data to be displayed; and

control transmission of the encoded portion of the next frame of video data to be displayed.

8. The processor device of claim 7 , wherein the one or more client processors are further configured to wirelessly transmit the encoded and formatted portion of the next frame of video data.

9. The processor device of claim 8 , further comprising using the one or more server processors to:

provide rendering instructions to render the portion of the next frame of video data to be displayed using the prediction;

encode audio data corresponding to the portion of the next frame of video data using the prediction;

combine the encoded audio and video (A/V) data;

format the encoded A/V data into packetized A/V data; and

wirelessly transmit the combined encoded and packetized A/V data via a wireless channel dedicated to the encoded and packetized A/V data.

10. The processor device of claim 7 , wherein the one or more server processors are further configured to:

determine when the portion of the next frame of video data to be displayed is rendered;

indicate that the portion of the next frame of video data is rendered; and

encode the portion of the frame of video data in response to the indication.

11. The processor device of claim 7 , wherein the user feedback information comprises tracking information indicating at least one of a position and orientation of a portion of a user; and

the tracking information is received via a wireless channel dedicated to the tracking information.

12. The processor device of claim 7 , further comprising:

an audio encoder configured to encode audio data corresponding to the sequence of frames of video data;

a video encoder configured to encode the portion of the next frame of video data; and

a multiplexer configured to combine the decoded A/V data.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: MAH, LAYLA A.; KODURI, RAJABALI M.; MONTAG, BRUCE
To: ADVANCED MICRO DEVICES, INC.
Reel/Frame 048224/0111 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2019
From: ZHANG, LEI; SINES, GABOR; MAMMOU, KHALED; GLEN, DAVID
To: ATI TECHNOLOGIES ULC
Reel/Frame 048224/0118 →
Continuity (1)
Related Publication 20170302972A1 · Oct 19, 2017