IP Library › Granted Patent US 10,317,991
Granted Patent B2
US 10,317,991 · App. 15/386,328 · Granted Jun 11, 2019

Pixel adjusting at display controller for electronic display stabilization

Inventor: Andrew Ian Russell (San Jose, CA)
Assignee: GOOGLE LLC
G06F3/012G02B27/0179G06T1/60G06T19/006G02B2027/0187H04N13/044
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,317,991
App. No.
15/386,328
Filed
Dec 21, 2016
Granted
Jun 11, 2019
Kind
B2
Examiner
YANG, RYAN R
Art Unit
2616
USPC
345/633
Abstract

The locations of pixels in a frame are adjusted at a display controller after the frame has been generated by a graphics processing unit (GPU) or other processor and provided to the display controller. The adjusting of the pixel locations therefore occurs as close as possible to a display panel in a display system, thereby supporting rapid changes to pixel positions.

Claims (57)

1. A method comprising:

receiving at a display controller a first frame for display, the first frame generated based on a first pose of a user;

displaying the first frame at the display controller;

after displaying the first frame, adjusting at the display controller, based on movements of the user to a second pose, locations of pixels of a first set of pixels of the first frame to generate a first modified frame; and

displaying the first modified frame at the display controller.

2. The method of claim 1 , wherein receiving the first frame comprises receiving the first frame from a processor, and further comprising:

receiving control signaling from the processor; and

wherein adjusting the locations of the first set of pixels comprises adjusting the locations of the first set of pixels based on the control signaling.

3. The method of claim 1 , further comprising:

receiving at the display controller a second frame for display;

adjusting at the display controller locations of pixels of a second set of pixels of the second frame to generate a second modified frame; and

displaying the second modified frame at the display controller.

4. The method of claim 3 , wherein the locations of the second set of pixels in the second frame are different than the locations of the first set of pixels in the first frame.

5. The method of claim 3 , wherein adjusting the first set of pixels comprises applying a first transform to the first set of pixels and adjusting the second set of pixels comprises applying a second transform to the second set of pixels, the second transform different from the first transform.

6. The method of claim 1 , further comprising:

storing the first frame at a buffer of the display controller; and

wherein adjusting the locations of the first set of pixels comprises applying a memory address offset to memory accesses for the first set of pixels.

7. The method of claim 1 , further comprising:

storing the first frame at a buffer of the display controller; and

wherein adjusting the locations of the first set of pixels comprises multiplexing outputs of segments of the buffer to shift the locations of the first set of pixels.

8. A method implemented at a head mounted display (HMD) comprising:

receiving at a display controller a first frame for display, the first frame generated based on a first pose of the HMD;

displaying the first frame at the HMD;

after displaying the first frame, based on identified motion of the HMD, adjusting at the display controller positions of a first set of pixels of the first frame to generate a first modified frame; and

displaying the first modified frame at the HMD.

9. The method of claim 8 , wherein receiving the first frame comprises receiving the first frame from a processor, and further comprising:

receiving control signaling from the processor; and

wherein adjusting the positions of the first set of pixels comprises adjusting the positions of the first set of pixels based on the control signaling.

10. The method of claim 8 , further comprising:

receiving at the display controller a second frame for display;

adjusting at the display controller positions of a second set of pixels of the second frame to generate a second modified frame; and

displaying the second modified frame.

11. The method of claim 10 , wherein the positions of the second set of pixels in the second frame are different than the positions of the first set of pixels in the first frame.

12. The method of claim 8 , further comprising:

storing the first frame at a buffer of the display controller; and

wherein adjusting the positions of the first set of pixels comprises applying a memory address offset to memory accesses for the first set of pixels.

13. The method of claim 8 , further comprising:

storing the first frame at a buffer of the display controller; and

wherein adjusting the positions of the first set of pixels comprises multiplexing outputs of segments of the buffer to shift the positions of the first set of pixels.

14. A display controller comprising:

a buffer to store a first frame for display, the first frame generated based on a first pose of a user's head;

a display panel to display the first frame; and

a pixel position adjustment module to, after display of the first frame, adjust positions of a first set of pixels of the first frame to generate a first modified frame based a movement of the user's head to a second pose.

15. The display controller of claim 14 , wherein:

the display controller is to receive the first frame from a processor;

the display controller is to receive control signaling from the processor; and

the pixel position adjustment module is to adjust the first set of pixels based on the control signaling.

16. The display controller of claim 14 , wherein:

the buffer is to store a second frame for display;

the pixel position adjustment module is to adjust positions of a second set of pixels of the second frame to generate a second modified frame; and

the display panel is to display the second modified frame.

17. The display controller of claim 16 , wherein the positions of the second set of pixels in the second frame are different than the positions of the first set of pixels in the first frame.

18. The display controller of claim 16 , wherein the pixel position adjustment module is to adjust the first set of pixels comprises by applying a first transform to positions of the first set of pixels and to adjust the second set of pixels comprises by applying a second transform to the second set of pixels, the second transform different from the first transform.

19. The display controller of claim 14 , wherein the pixel position adjustment module comprises:

an address adjustment module to adjust the positions of the first set of pixels by applying a memory address offset to memory accesses for the first set of pixels.

20. The display controller of claim 14 , wherein the pixel position adjustment module comprises

a multiplexer to adjust the positions of the first set of pixels by multiplexing outputs of segments of the buffer applied to the display panel.

Assignments (2)
CHANGE OF NAME Recorded Oct 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044129/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 21, 2016
From: RUSSELL, ANDREW IAN
To: GOOGLE INC.
Reel/Frame 041141/0765 →
Continuity (2)
Provisional Application 62292939 · Feb 9, 2016
Related Publication 20170228015A1 · Aug 10, 2017
Cited By (1)
US 12,332,437