SYSTEMS AND METHODS FOR HEAD-MOUNTED DISPLAY ADAPTED TO HUMAN VISUAL MECHANISM
Systems and methods are provided for rendering of a dual eye-specific display. The system tracks the user's eye movements and/or positions, in some implementations, based on electroencephalography (EEG) of the user, to correctly label the central (foveal) and peripheral (extra-foveal) areas of the display. Foveal data is fully rendered while extra-foveal data is reduced in resolution and, in some implementations, shared between the two displays.
21 . A head-mounted display device comprising:
memory to store data, the data to be displayed via a first display and via a second display; and
one or more processors to:
determine, based on eye-tracking information of a user wearing the head mounted display, a first foveal region of the first display, a second foveal region of the second display, and extra-foveal regions of the first and second displays, the eye-tracking information representative of at least one of an eye movement or an eye position of the user;
identify (a) a first subset of the data as corresponding to first foveal region pixels associated with the first foveal region, (b) a second subset of the data as corresponding to second foveal region pixels associated with the second foveal region, and (c) a third subset of the data as corresponding to extra-foveal region pixels associated with the extra-foveal regions;
load the first subset of the data at full resolution from the memory to a first foveal frame buffer;
load the second subset of the data at the full resolution from the memory to a second foveal frame buffer; and
load the third subset of the data at reduced resolution from the memory to a shared extra-foveal frame buffer.
22 . The device of claim 21 , wherein the one or more processors are to adjust at least one of the first foveal region, the second foveal region, or the extra-foveal regions based on the eye-tracking information.
23 . The device of claim 21 , wherein the one or more processors are to reduce resolution of a pixel value of the reduced resolution by:
selecting the pixel value in a group of pixels; and
duplicating the pixel value to neighboring pixels.
24 . The device of claim 23 , wherein the one or more processors are to duplicate the pixel value in the group of pixels across at least one of 2×2 pixels, 3×3 pixels, 4×4 pixels, or 5×5 pixels.
25 . The device of claim 21 , wherein the one or more processors are to, responsive to the data being rendered:
load the first foveal frame buffer at a first rate;
load the second foveal frame buffer at a second rate; and
load the shared extra-foveal frame buffer at a third rate.
26 . The device of claim 25 , wherein the data is rendered when the first subset of the data and the second subset of the data are generated at the full resolution and the third subset of the data is generated at the reduced resolution.
27 . The device of claim 25 , wherein the first rate is equivalent to the second rate, the first rate and the second rate being different than the third rate.
28 . At least one storage device or storage disk comprising instructions that, when executed, cause at least one processor to, at least:
determine, based on eye-tracking information of a user wearing a head mounted display, a first foveal region of a first display, a second foveal region of a second display, and extra-foveal regions of the first and second displays, the eye-tracking information representative of at least one of an eye movement or an eye position of the user;
identify (a) a first subset of data as corresponding to first foveal region pixels associated with the first foveal region, (b) a second subset of the data as corresponding to second foveal region pixels associated with the second foveal region, and (c) a third subset of the data as corresponding to extra-foveal region pixels associated with the extra-foveal regions;
load the first subset of the data at full resolution from memory to a first foveal frame buffer;
load the second subset of the data at the full resolution from the memory to a second foveal frame buffer; and
load the third subset of the data at reduced resolution from the memory to a shared extra-foveal frame buffer.
29 . The at least one storage device or storage disk of claim 28 , wherein the instructions, when executed, cause the at least one processor to reduce a resolution of a pixel value of the reduced resolution by:
selecting the pixel value in a group of pixels; and
duplicating the pixel value to neighboring pixels.
30 . The at least one storage device or storage disk of claim 28 , wherein the instructions, when executed, cause the at least one processor to adjust at least one of the first foveal region, the second foveal region, or the extra-foveal regions based on the eye-tracking information.
31 . The at least one storage device or storage disk of claim 28 , wherein the instructions, when executed, cause the at least one processor to duplicate a pixel value after receiving the pixel value from a Display Serial Interface in communication with the memory and at least one of the first display or the second display.
32 . The at least one storage device or storage disk of claim 28 , wherein the instructions, when executed, cause the at least one processor to, responsive to the data being rendered:
load the first foveal frame buffer at a first rate;
load the second foveal frame buffer at a second rate; and
load the shared extra-foveal frame buffer at a third rate.
33 . The at least one storage device or storage disk of claim 32 , wherein the data is rendered when the first subset of the data and the second subset of the data are generated at the full resolution and the third subset of the data is generated at the reduced resolution.
34 . The at least one storage device or storage disk of claim 28 , wherein the instructions, when executed, cause the at least one processor to apply alpha-blending (a) between depth-planes of the first foveal region pixels and depth-planes of the extra-foveal region pixels and (b) between depth-planes of the second foveal region pixels and depth-planes of the extra-foveal region pixels.
35 . A method comprising:
determining, based on eye-tracking information of a user wearing a head mounted display, a first foveal region of a first display, a second foveal region of a second display, and extra-foveal regions of the first and second displays, the eye-tracking information representative of at least one of an eye movement or an eye position of the user;
identifying (a) a first subset of data as corresponding to first foveal region pixels associated with the first foveal region, (b) a second subset of the data as corresponding to second foveal region pixels associated with the second foveal region, and (c) a third subset of the data as corresponding to extra-foveal region pixels associated with the extra-foveal regions;
loading the first subset of the data at full resolution from memory to a first foveal frame buffer;
loading the second subset of the data at the full resolution from the memory to a second foveal frame buffer; and
loading the third subset of the data at reduced resolution from the memory to a shared extra-foveal frame buffer.
36 . The method of claim 35 , further including reducing a resolution of a pixel value of the reduced resolution by:
selecting the pixel value in a group of pixels; and
duplicating the pixel value to neighboring pixels.
37 . The method of claim 35 , further including adjusting at least one of the first foveal region, the second foveal region, or the extra-foveal regions based on the eye-tracking information.
38 . The method of claim 35 , further including duplicating a pixel value after receiving the pixel value from a Display Serial Interface in communication with the memory and at least one of the first display or the second display.
39 . The method of claim 35 , further including, responsive to the data being rendered:
loading the first foveal frame buffer at a first rate;
loading the second foveal frame buffer at a second rate; and
loading the shared extra-foveal frame buffer at a third rate.
40 . The method of claim 35 , wherein the data is rendered when the first subset of the data and the second subset of the data are generated at the full resolution and the third subset of the data is generated at the reduced resolution.