Strobe tracking of head-mounted displays (HMDs) in virtual, augmented, and mixed reality (xR) applications
Systems and methods for strobe tracking of Head-Mounted Displays (HMDs) in virtual, augmented, and mixed reality (xR) applications are described. In some embodiments, an Information Handling System (IHS) may include a host processor; and a memory coupled to the host processor, the memory having program instructions stored thereon that, upon execution, cause the IHS to: receive an image of a strobe source captured by a camera; determine an instantaneous velocity of an HMD based upon the image; and render an xR frame for display by the HMD based, at least in part, upon the determination.
1. A method, comprising:
receiving an image of a strobe source captured by a camera;
determining an instantaneous velocity of a Head-Mounted Device (HMD) coupled to the strobe source by identifying a blur length of the image using a single captured frame; and
displaying a virtual, augmented, or mixed reality (xR) frame by the HMD based, at least in part, upon the determination.
2. The IHS of claim 1 , wherein the strobe source is mounted on the HMD, and wherein the camera is decoupled from the HMD.
3. The IHS of claim 2 , wherein the camera is mounted on another HMD.
4. The IHS of claim 1 , wherein the strobe source is decoupled from the HMD, and wherein the camera is mounted on the HMD.
5. The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to:
receive a subsequent image of the strobe source;
determine a subsequent instantaneous velocity of the HMD based upon the subsequent image;
calculate an acceleration of the HMD based upon a difference between the subsequent instantaneous velocity and the instantaneous velocity; and
render the xR frame for display by the HMD based, at least in part, upon the calculation.
6. The IHS of claim 1 , wherein the program instructions, upon execution, further cause the IHS to select the strobe source, among a plurality of other strobe sources, based upon a direction of a gaze or head direction by the HMD.
7. A method, comprising:
receiving an image of a strobe source captured by a camera, wherein the camera is configured to capture the image in synchronization with the strobe source, wherein the strobe source is configured to stay on for A milliseconds and off for B milliseconds, periodically, and wherein the camera has a frame capture period of C=A+B milliseconds;
determining an instantaneous velocity of a Head-Mounted Device (HMD) coupled to the strobe source by identifying a blur length of the image using a single captured frame, and dividing the blur length by C; and
displaying a virtual, augmented, or mixed reality (xR) frame by the HMD based, at least in part, upon the determination.
8. The method of claim 7 , further comprising:
receiving a subsequent image of the strobe source;
determining a subsequent instantaneous velocity of the HMD based upon the subsequent image;
calculating an acceleration of the HMD based upon a difference between the subsequent instantaneous velocity and the instantaneous velocity; and
rendering the xR frame for display by the HMD based, at least in part, upon the calculation.
9. The method of claim 7 , further comprising selecting the strobe source, among a plurality of other strobe sources coupled to the HMD, based upon a direction of a gaze or head direction obtained by the HMD.
10. A hardware memory device having program instructions stored thereon that, upon execution by a processor of an Information Handling System (IHS), cause the IHS to:
receive an image of a strobe source captured by a camera, wherein the camera is configured to capture the image in synchronization with the strobe source, wherein the strobe source is configured to stay on for A milliseconds and off for B milliseconds, periodically, and wherein the camera has a frame capture period of C=A+B milliseconds;
determine an instantaneous velocity of the HMD based upon the image, by identifying a blur length of the image using a single captured frame, and dividing the blur length by C; and
render a virtual, augmented, or mixed reality (xR) frame for display by the HMD based, at least in part, upon the determination.
11. The hardware memory device of claim 10 , wherein the program instructions, upon execution, further cause the IHS to:
receive a subsequent image of the strobe source;
determine a subsequent instantaneous velocity of the HMD based upon the subsequent image;
calculate an acceleration of the HMD based upon a difference between the subsequent instantaneous velocity and the instantaneous velocity; and
render the xR frame for display by the HMD based, at least in part, upon the calculation.