IP Library Granted Patent US 12,333,313
Granted Patent B2
US 12,333,313 · App. 18/586,326 · Granted Jun 17, 2025

Encoding stereo splash screen in static image

Inventors: Marshall Charles Capps (Austin, TX); Anuroop Suresh Jesu (Sunnyvale, CA)
Assignee: MAGIC LEAP, INC.
G06F9/4401G02B27/0172G06T1/20G06T3/4007G06T9/00G06T13/80G06T19/006
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 12,333,313
App. No.
18/586,326
Granted
Jun 17, 2025
Kind
B2
Abstract

During a boot-up processing of a computing device, such as an augmented reality wearable device, a static image and a bootup process progress bar may be encoded in a single image file, such as a bitmap image, and displayed in conjunction with updates that are applied to a hardware gamma table at various stages of the bootup process to create the effect of an animated progress bar.

Claims (64)

1. A system comprising:

one or more hardware computer processors; and

one or more non-transitory computer readable storage devices storing software instructions that, when executed by the one or more hardware computer processors, cause the system to:

load an image file into a display buffer;

determine a boot-up stage of the system;

select one of a plurality of sets of gamma table values associated with the boot-up stage, wherein each of the plurality of sets of gamma table values is associated with one of a plurality of boot-up stages including a minimum boot-up stage, a maximum boot-up stage, and at least one boot-up stage between the minimum boot-up stage and the maximum boot-up stage; and

write the one of the plurality of sets of gamma table values to gamma table storage associated with the display buffer, wherein the system is configured to render, on a display of the system, the image file as adjusted by the gamma table values in the gamma table storage.

2. The system of claim 1 , wherein the plurality of sets of gamma table values includes at least 10 sets of gamma table values associated with a corresponding at least 10 boot-up stages.

3. The system of claim 1 , wherein the image file includes:

a first set of pixels associated with a static image, each of the first set of pixels having pixel values in a first range, and

a second set of pixels associated with a progress bar, each of the second set of pixels having pixel values in a second range that does not overlap with the first range.

4. The system of claim 3 , wherein the first range is 0-63 and the second range is 64-255.

5. The system of claim 3 , wherein the gamma table values associated with the first range of pixel values are same for each boot-up stage, and the gamma table values associated with at least some pixel values of the second range of pixel values change for corresponding boot-up stages.

6. The system of claim 3 , wherein the gamma table values associated with the first range of pixel values are same in each of the plurality of sets of gamma table values, and the gamma table values associated with at least some pixel values of the second range of pixel values change in different sets of the gamma table values.

7. A system comprising:

one or more hardware computer processors; and

one or more non-transitory computer readable storage devices storing software instructions that, when executed by the one or more hardware computer processors, cause the system to:

for each pixel value of a static image, interpolate the pixel value to a first range of values to generate first interpolated pixel values;

for each of a plurality of stages of a boot-up process:

determine pixel values corresponding to an image depicting the stage of the boot-up process;

for each of the pixel values, threshold the pixel value, to one bit to generate thresholded pixel values;

select an encoded multiplier of a plurality of encoded multipliers that is associated with the stage of the boot-up process, wherein each of the plurality of encoded multipliers is within a second range of values that is non-overlapping with the first range of values;

multiply each of the thresholded pixel values by the encoded multiplier to calculate encoded pixel values for the stage of the boot-up process;

sequentially overlay the encoded pixel values for the plurality of stages of the boot-up process to generate first composite encoded pixel values; and

generate an image file including the first interpolated pixel values associated with the static image and the first composite encoded pixel values associated with stages of the boot-up process.

8. The system of claim 7 , wherein the instructions, when executed by the one or more hardware computer processors, cause the system to:

for each pixel value of a second static image, interpolate the pixel value to the first range of values to generate second interpolated pixel values;

for each stage of the plurality of stages of the boot-up process:

determine pixel values corresponding to a second image of a plurality of images depicting the stage of the boot-up process;

for each of the pixel values, threshold the pixel value to one bit, to generate thresholded pixel values;

select an encoded multiplier of the plurality of encoded multipliers that is associated with the stage of the boot-up process, wherein each of the plurality of encoded multipliers is within the second range of values that is non-overlapping with the first range of values;

multiply each of the thresholded pixel values by the encoded multiplier to calculate second encoded pixel values for the stage of the boot-up process; and

sequentially overlay the second encoded pixel values for the plurality of stages of the boot-up process to generate second composite encoded pixel values,

wherein the image file further includes the second interpolated pixel values associated with the second static image and the second composite encoded pixel values associated with stages of the boot-up process.

9. The system of claim 8 , wherein the first interpolated pixel values and the first composite encoded pixel values are configured for rendering on a left portion of a display and the second interpolated pixel values and the second composite encoded pixel values are configured for rendering on a right portion of the display.

10. The system of claim 7 , wherein the thresholded pixel values are each either zero or one.

11. The system of claim 7 , wherein the instructions, when executed by the one or more hardware computer processors, cause the system to:

for each of the stages of the boot-up process, generate one or more gamma table values associated with a corresponding one or more encoded pixel values for that stage of the boot-up process.

12. The system of claim 7 , wherein the instructions, when executed by the one or more hardware computer processors, cause the system to:

generate gamma table values associated with the first interpolated pixel values, wherein the gamma table values are usable to determine pixel values of the static image prior to interpolating the pixel values.

13. The system of claim 11 , wherein the instructions, when executed by the one or more hardware computer processors, cause the system to:

load the image file into a display buffer;

periodically determine a current stage of a boot-up process;

select gamma table values associated with the current stage; and

store the gamma table values to gamma table storage associated with a display, wherein the display is configured to render the image file as adjusted by the gamma table values to render a boot-up image.

14. A system comprising:

one or more hardware computer processors; and

one or more non-transitory computer readable storage devices storing software instructions that, when executed by the one or more hardware computer processors, cause the system to:

load an image file;

render the image file on a display of the system;

while the image file is rendered on the display of the system:

obtain system properties;

determine whether the system properties have changed from a previous boot-up process; and

if the system properties have changed, apply one or more geometric transformations to the image file to generate an adjusted image file and storing the adjusted image file for use by a next boot-up process.

15. The system of claim 14 , wherein the system properties include one or more of extrinsic or intrinsic properties of the system.

16. A system comprising:

one or more hardware computer processors; and

one or more non-transitory computer readable storage devices storing software instructions that, when executed by the one or more hardware computer processors, cause the system to:

access memory configured to store a boot image file;

determine that the accessed memory does not include a current boot image file;

in response to determining that the accessed memory does not include the current boot image file, generate, by a graphics pipeline, the boot image file at least partially concurrent to execution of a boot-up process; and

turn, by the graphics pipeline, a three-dimensional scene in an application into a video or image file that is displayed on a display of the system.

17. The system of claim 16 , wherein the accessed memory is determined to not include the current boot image file if the accessed memory does not include an image file.

18. The system of claim 16 , wherein the accessed memory is determined to not include the current boot image file if the accessed memory includes an old version image file.

Assignments (4)
SECURITY INTEREST Recorded Oct 31, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073439/0168 →
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073387/0487 →
SECURITY INTEREST Recorded Oct 28, 2025
From: MAGIC LEAP, INC.; MENTOR ACQUISITION ONE, LLC; MOLECULAR IMPRINTS, INC.
To: CITIBANK, N.A., AS COLLATERAL AGENT
Reel/Frame 073388/0027 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2024
From: CAPPS, MARSHALL CHARLES; JESU, ANUROOP SURESH
To: MAGIC LEAP, INC.
Reel/Frame 067585/0188 →
Continuity (3)
Continuation 17110232 · Dec 2, 2020
Provisional Application 62944984 · Dec 6, 2019
Related Publication 20240202005A1 · Jun 20, 2024
References Cited (57)
US 6850221B1 · Tickle · 2005 [cited by applicant]
US 10378882B2 · Yeoh et al. · 2019 [cited by applicant]
US 20010048764A1 · Betrisey et al. · 2001 [cited by applicant]
US 20060026429A1 · Kudo et al. · 2006 [cited by applicant]
US 20060028436A1 · Armstrong · 2006 [cited by applicant]
US 20070076949A1 · Kanai · 2007 [cited by examiner]
US 20070081123A1 · Lewis · 2007 [cited by applicant]
US 20080303750A1 · Ludden et al. · 2008 [cited by applicant]
US 20100141685A1 · Lee · 2010 [cited by applicant]
US 20100214310A1 · Kuwahara et al. · 2010 [cited by applicant]
US 20120026216A1 · Brown Elliott et al. · 2012 [cited by applicant]
US 20120127062A1 · Bar-Zeev et al. · 2012 [cited by applicant]
US 20120127320A1 · Balogh · 2012 [cited by examiner]
US 20120162549A1 · Gao et al. · 2012 [cited by applicant]
US 20130082922A1 · Miller · 2013 [cited by applicant]
US 20130117377A1 · Miller · 2013 [cited by applicant]
US 20130125027A1 · Abovitz · 2013 [cited by applicant]
US 20130208234A1 · Lewis · 2013 [cited by applicant]
US 20130242262A1 · Lewis · 2013 [cited by applicant]
US 20140071539A1 · Gao · 2014 [cited by applicant]
US 20140132977A1 · Takahashi et al. · 2014 [cited by applicant]
US 20140177023A1 · Gao et al. · 2014 [cited by applicant]
US 20140218468A1 · Gao et al. · 2014 [cited by applicant]
US 20140267420A1 · Schowengerdt et al. · 2014 [cited by applicant]
US 20150016777A1 · Abovitz et al. · 2015 [cited by applicant]
US 20150026719A1 · Menon · 2015 [cited by examiner]
US 20150103306A1 · Kaji et al. · 2015 [cited by applicant]
US 20150178939A1 · Bradski et al. · 2015 [cited by applicant]
US 20150205126A1 · Schowengerdt · 2015 [cited by applicant]
US 20150309263A2 · Abovitz et al. · 2015 [cited by applicant]
US 20150326570A1 · Publicover et al. · 2015 [cited by applicant]
US 20150346495A1 · Welch et al. · 2015 [cited by applicant]
US 20160011419A1 · Gao · 2016 [cited by applicant]
US 20160026253A1 · Bradski et al. · 2016 [cited by applicant]
US 20160307540A1 · Holland et al. · 2016 [cited by applicant]
US 20170050111A1 · Perry · 2017 [cited by examiner]
US 20180025543A1 · Troy et al. · 2018 [cited by applicant]
US 20180268780A1 · Bae · 2018 [cited by examiner]
US 20180338057A1 · Ito · 2018 [cited by applicant]
US 20190197982A1 · Chi et al. · 2019 [cited by applicant]
US 20190287493A1 · Neustein · 2019 [cited by applicant]
US 20190335081A1 · Baar et al. · 2019 [cited by applicant]
US 20210158745A1 · He · 2021 [cited by applicant]
CN 107689218A · 2018 [cited by applicant]
EP 2677419A1 · 2013 [cited by applicant]
JP 2014098747A · 2014 [cited by applicant]
JP 2018004703A · 2018 [cited by applicant]
JP 2018195943A · 2018 [cited by applicant]
ARToolKit: https://web.archive.org/web/20051013062315/http://www.hitl.washington.edu:80/artoolkit/documentation/hardware.htm, archived Oct. 13, 2005. [cited by applicant]
Azuma, “A Survey of Augmented Reality,” Teleoperators and Virtual Environments 6, 4 (Aug. 1997), pp. 355-385. <https://web.archive.org/web/20010604100006/http://www.cs.unc.edu/˜azuma/ARpresence.pdf>. [cited by applicant]
Azuma, “Predictive Tracking for Augmented Realty,” TR95-007, Department of Computer Science, UNC-Chapel Hill, NC, Feb. 1995. [cited by applicant]
Bimber, et al., “Spatial Augmented Reality—Merging Real and Virtual Worlds,” 2005 <https://web.media.mit.edu/˜raskar/book/BimberRaskarAugmentedRealityBook.pdf>. [cited by applicant]
Extended European Search Report, dated Oct. 27, 2023, for Application No. PCT/US2020062817. (7 pages). [cited by applicant]
Ham et al., “LPD: Low Power Display Mechanism for Mobile and Wearable Devices,” 2015 USENIX Annual Technical Conference, Santa Clara, CA, USA, Jul. 8-10, 2015, pp. 587-598. (13 pages). [cited by applicant]
International Search Report and Written Opinion, dated Mar. 24, 2021, for International Patent Application No. PCT/US2020/062617. (16 pages). [cited by applicant]
Jacob, “Eye Tracking in Advanced Interface Design,” Human-Computer Interaction Lab Naval Research Laboratory, Washington, D.C. / paper/ in Virtual Environments and Advanced Interface Design, ed. bv W. Barfield and T.A. … [cited by applicant]
Tanriverdi et al., “Interacting With Eye Movements in Virtual Environments,” Department of Electrical Engineering and Computer Science, Tufts University, Medford, MA—paper/Proc. ACM CHI 2000 Human Factors in Computing S… [cited by applicant]