IP Library Granted Patent US 11,756,247
Granted Patent B2
US 11,756,247 · App. 17/194,819 · Granted Sep 12, 2023

Predictive viewport renderer and foveated color compressor

Inventors: Deepak S. Vembar (Portland, OR); Atsuo Kuwahara (Hillsboro, OR); Chandrasekaran Sakthivel (Sunnyvale, CA); Radhakrishnan Venkataraman (Folsom, CA); Brent E. Insko (Portland, OR); Anupreet S. Kalra (Folsom, CA); Hugues Labbe (Folsom, CA); Abhishek R. Appu (El Dorado Hills, CA); Ankur N. Shah (Folsom, CA); Joydeep Ray (Folsom, CA); ElMoustapha Ould-Ahmed-Vall (Chandler, AZ); James M. Holland (Folsom, CA)
Assignee: Intel Corporation
G06T11/60G06T9/00H04N19/124H04N19/167H04N19/17H04N19/436H04N19/503
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 11,756,247
App. No.
17/194,819
Granted
Sep 12, 2023
Kind
B2
Abstract

An embodiment of a graphics apparatus may include a focus identifier to identify a focus area, and a color compressor to selectively compress color data based on the identified focus area. Another embodiment of a graphics apparatus may include a motion detector to detect motion of a real object, a motion predictor to predict a motion of the real object, and an object placer to place a virtual object relative to the real object based on the predicted motion of the real object. Another embodiment of a graphics apparatus may include a frame divider to divide a frame into viewports, a viewport prioritizer to prioritize the viewports, a renderer to render a viewport of the frame in order in accordance with the viewport priorities, and a viewport transmitter to transmit a completed rendered viewport. Other embodiments are disclosed and claimed.

Claims (81)

1. A computing system comprising:

a graphics processor;

a central processing unit; and

a memory including a set of instructions, which when executed by one or more of the graphics processor or the central processing unit, cause the computing system to:

identify a distortion map corresponding to one or more optical characteristics of a head-mounted display (HMD), wherein the one or more optical characteristics correspond to one or more lens distortions of a lens of the HMD, wherein the one or more lens distortions are to distort an image;

divide a frame into viewports based on the distortion map;

assign the viewports one or more of different priorities, different resolutions or different frame rates; and

adjust a total number of the viewports based on one or more of a first area of focus, first gaze information, first motion information, first motion prediction information or first content information.

2. The system of claim 1 , wherein the instructions, when executed, cause the computing system to:

assign the viewports the different priorities; and

adjust the different priorities based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

3. The system of claim 1 , wherein the instructions, when executed, cause the computing system to:

adjust sizes of the viewports based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

4. The system of claim 3 , wherein the instructions, when executed, cause the computing system to:

enlarge a size of a first viewport of the viewports that is to include the second area of focus; and

increase a priority of the priorities associated with the first viewport.

5. The system of claim 1 , wherein the instructions, when executed, cause the computing system to:

determine a render order to render the viewports based on the different priorities;

determine resolutions to render the viewports based on the different priorities; and

determine frame rates of the viewports based on the different priorities.

6. The system of claim 1 , wherein the instructions, when executed, cause the computing system to:

load the distortion map.

7. An apparatus comprising:

a memory; and

logic communicatively coupled to the memory, wherein the logic is implemented at least partly in one or more of configurable logic or fixed-functionality logic hardware, the logic communicatively coupled to the memory to:

identify a distortion map corresponding to one or more optical characteristics of a head-mounted display (HMD), wherein the one or more optical characteristics correspond to one or more lens distortions of a lens of the HMD, wherein the one or more lens distortions are to distort an image;

divide a frame into viewports based on the distortion map;

assign the viewports one or more of different priorities, different resolutions or different frame rates; and

adjust a total number of the viewports based on one or more of a first area of focus, first gaze information, first motion information, first motion prediction information or first content information.

8. The apparatus of claim 7 , wherein the logic coupled to the memory is to:

assign the viewports the different priorities; and

adjust the different priorities based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

9. The apparatus of claim 7 , wherein the logic coupled to the memory is to:

adjust sizes of the viewports based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

10. The apparatus of claim 9 , wherein the logic coupled to the memory is to:

enlarge a size of a first viewport of the viewports that is to include the second area of focus; and

increase a priority of the priorities associated with the first viewport.

11. The apparatus of claim 7 , wherein the logic coupled to the memory is to:

determine a render order to render the viewports based on the different priorities;

determine resolutions to render the viewports based on the different priorities; and

determine frame rates of the viewports based on the different priorities.

12. The apparatus of claim 7 , wherein the logic coupled to the memory is to:

load the distortion map.

13. At least one non-transitory computer readable storage medium comprising a set of instructions, which when executed by a computing device, cause the computing device to:

identify a distortion map corresponding to one or more optical characteristics of a head-mounted display (HMD), wherein the one or more optical characteristics correspond to one or more lens distortions of a lens of the HMD, wherein the one or more lens distortions are to distort an image;

divide a frame into viewports based on the distortion map;

assign the viewports one or more of different priorities, different resolutions or different frame rates; and

adjust a total number of the viewports based on one or more of a first area of focus, first gaze information, first motion information, first motion prediction information or first content information.

14. The at least one non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed, cause the computing device to:

assign the viewports the different priorities; and

adjust the different priorities based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

15. The at least one non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed, cause the computing device to:

adjust sizes of the viewports based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

16. The at least one non-transitory computer readable storage medium of claim 15 , wherein the instructions, when executed, cause the computing device to:

enlarge a size of a first viewport of the viewports that is to include the second area of focus; and

increase a priority of the priorities associated with the first viewport.

17. The at least one non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed, cause the computing device to:

determine a render order to render the viewports based on the different priorities;

determine resolutions to render the viewports based on the different priorities; and

determine frame rates of the viewports based on the different priorities.

18. The at least one non-transitory computer readable storage medium of claim 13 , wherein the instructions, when executed, cause the computing device to:

load the distortion map.

19. A method comprising:

identifying a distortion map corresponding to one or more optical characteristics of a head-mounted display (HMD), wherein the one or more optical characteristics correspond to one or more lens distortions of a lens of the HMD, wherein the one or more lens distortions are to distort an image;

dividing a frame into viewports based on the distortion map;

assigning the viewports one or more of different priorities, different resolutions or different frame rates; and

adjusting a total number of the viewports based on one or more of a first area of focus, first gaze information, first motion information, first motion prediction information or first content information.

20. The method of claim 19 , further comprising:

assigning the viewports the different priorities; and

adjusting the different priorities based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

21. The method of claim 19 , further comprising:

adjusting sizes of the viewports based on one or more of a second area of focus, second gaze information, second motion information, second motion prediction information or second content information.

22. The method of claim 21 , further comprising:

enlarging a size of a first viewport of the viewports that includes the second area of focus; and

increasing a priority of the priorities associated with the first viewport.

23. The method of claim 19 , further comprising:

determining a render order to render the viewports based on the different priorities;

determining resolutions to render the viewports based on the different priorities; and

determining frame rates of the viewports based on the different priorities.

24. The method of claim 19 , further comprising:

loading the distortion map.

Continuity (3)
Continuation 16533920 · Aug 7, 2019
Continuation 15476990 · Apr 1, 2017
Related Publication 20210350597A1 · Nov 11, 2021
Cited By (2)
US 12,223,201 US 12,724,722