IP Library Granted Patent US 12670632
Granted Patent B2
US 12670632 · App. 17/198,235 · Granted Jun 30, 2026

Augmented reality systems

Inventors: Ziv Glazberg (Haifa, IL); Shmuel Ur (Shorashim, IL)
Assignee: SHMUEL UR INNOVATION LTD.
G06T11/00G06F3/011G06F3/04815G09G5/026G06T2200/24G06T2210/36
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 12670632
App. No.
17/198,235
Granted
Jun 30, 2026
Kind
B2
Abstract

A method, system and product including obtaining a frame from a frame sensor of an Augmented Reality (AR) system comprising an AR device; executing a first skin on the frame or portion thereof to obtain a first overlay; executing a second skin on the frame or portion thereof to obtain a second overlay, wherein the first and second skins are configured to provide an augmented overlay to be used by the AR system in determining an AR view, wherein said executing the second skin is performed without providing the first overlay to the second skin; determining whether the second overlay can be utilized for providing the AR view; generating the AR view based on the first overlay and based on said determining whether the second overlay can be utilized for providing the AR view; and providing the AR view via the AR device.

Claims (69)

1 . A method performed by an Augmented Reality (AR) system, wherein the AR system is configured to provide an AR view, wherein the AR system comprises an AR device and at least one frame sensor, wherein the AR system is configured to utilize a plurality of applications to provide the AR view, the plurality of applications comprising a first application and a second application that are configured to provide respective augmented overlays to be used by the AR system in determining the AR view, wherein an application of the plurality of applications comprises an executable software that, when executed over a given display, generates a corresponding overlay, wherein the first and second applications are configured to process an augmented display according to an application execution order, wherein the application execution order defines that the second application should process an augmented overlay provided by the first application, the method comprising:

obtaining a frame from the at least one frame sensor;

executing the first application on a first portion of the frame to obtain a first overlay;

executing the second application on a second portion of the frame to obtain a second overlay, the first and second portions of the frame at least partially overlapping, wherein said executing the second application is performed without providing the first overlay to the second application, whereby said executing the second application violates the application execution order;

automatically determining whether the second overlay can be utilized for providing the AR view in spite of a violation of the execution order, said automatically determining is performed after said executing the second application;

generating the AR view based on the first overlay and based on said determining that the second overlay can be utilized for providing the AR view; and

providing the AR view via the AR device.

2 . The method of claim 1 , wherein said determining whether the second overlay can be utilized for providing the AR view comprises determining whether the first and second overlays are inconsistent with each other.

3 . The method of claim 2 , wherein upon determining that the first and second overlays are inconsistent with each other, modifying the second overlay based on the first overlay to obtain a modified second overlay, wherein said generating the AR view comprises utilizing the modified second overlay.

4 . The method of claim 3 , wherein said modifying the second overlay comprises at least one of: amending pixels of the second overlay, and regenerating the second overlay thus obtaining a new second overlay by executing the second application on the first overlay, thereby disregarding the second overlay that was created without providing the first overlay to the second application.

5 . The method of claim 2 , wherein upon determining that the first and second overlays are not inconsistent with each other, utilizing the second overlay, without modifications, for generating the AR view.

6 . The method of claim 2 , wherein said determining whether the first and second overlays are inconsistent with each other comprises utilizing first metadata of the first overlay and second metadata of the second overlay.

7 . The method of claim 2 , wherein said determining whether the first and second overlays are inconsistent with each other comprises identifying overlapping pixels between the first and second overlays.

8 . The method of claim 2 , wherein upon determining that the first and second overlays are inconsistent with each other at an inconsistency score lower than a threshold, executing the second application comprises execution of the second application over a part of the frame smaller than the frame.

9 . An Augmented Reality (AR) system that is configured to provide an AR view, wherein the AR system comprises:

an AR device; and

at least one frame sensor,

wherein the AR device is configured to utilize a plurality of applications to provide the AR view, the plurality of applications comprising a first application and a second application that are configured to provide respective augmented overlays to be used in determining the AR view, wherein an application of the plurality of applications comprises an executable software that, when executed over a given display, generates a corresponding overlay, wherein the first and second applications are configured to process an augmented display according to an application execution order, wherein the application execution order defines that the second application should process an augmented overlay provided by the first application, the AR device is configured to:

obtain a frame from the at least one frame sensor;

execute the first application on a first portion of the frame to obtain a first overlay;

execute the second application on a second portion of the frame to obtain a second overlay, the first and second portions of the frame at least partially overlapping, wherein said execute the second application is performed without providing the first overlay to the second application, whereby said execute the second application violates the application execution order;

automatically determine whether to utilize the second overlay for providing the AR view in spite of a violation of the execution order, said automatically determine is performed after said execute the second application;

in response to a determination to utilize the second overlay for providing the AR view, generate the AR view based on the first overlay and based on the second overlay;

in response to a determination not to utilize the second overlay for providing the AR view, execute the second application based on the frame and on the first overlay to obtain a new second overlay, thereby disregarding the second overlay that was created without providing the first overlay to the second application, and generate the AR view based on the first overlay and based on the new second overlay; and

provide the AR view via the AR device.

10 . The method of claim 1 ,

wherein said determining whether the second overlay can be utilized for providing the AR view comprises:

determining, based on the first overlay, that the second overlay is inconsistent with the first overlay;

wherein said generating comprises executing again the second application based on the frame and on the first overlay to obtain a new second overlay; and

wherein said generating the AR overlay for the frame is based on the new second overlay.

11 . The method of claim 1 , wherein said executing the first application and said executing the second application are performed in parallel.

12 . The method of claim 1 , wherein said executing the first application is performed at a first execution platform and said executing the second application is performed at a second execution platform.

13 . The method of claim 1 comprising determining, based on a predictor, whether to perform said executing the second application, wherein the predictor is configured to predict a probability that the first overlay will be inconsistent with the second overlay.

14 . The method of claim 13 comprising performing a partial execution of said executing the second application, wherein said partial execution comprises generating a partial second overlay that is predicted to have a low probability of being inconsistent with the first overlay, wherein said generating the AR view comprises utilizing the first overlay, utilizing the partial second overlay, and completing execution of the second overlay based on the first overlay.

15 . The method of claim 1 ,

wherein said executing the first application is performed at a first execution platform;

wherein the method further comprises executing the first application on a second execution platform to obtain a shadow overlay;

wherein said executing the second application is performed at the second execution platform based on the shadow overlay.

16 . The method of claim 1 , further comprising:

obtaining a first order of execution, wherein the first order of execution defines an order of application executions of a second plurality of applications comprising the first and second applications, wherein the second plurality of applications are registered on a same object in the frame, wherein the first order of execution comprises the application execution order;

obtaining a second order of execution between the second plurality of applications, wherein the second order of execution defines that the second application is to be executed before the first application;

executing the second plurality of applications according to the first order of execution to obtain a first result;

executing the second plurality of applications according to the second order of execution to obtain a second result; and

based on a determination that the first and second results are identical, determining that the first order of execution is replaceable with the second order of execution.

17 . The method of claim 16 comprising determining that the second order of execution utilizes less resources than the first order of execution, and based on said determining, setting the second order of execution for executing applications instead of the first order of execution.

18 . The method of claim 1 comprises:

performing object recognition on the frame to obtain one or more object types;

determining a refresh timeframe;

obtaining one or more subsequent frames from the at least one frame sensor during the refresh timeframe;

estimating that the one or more subsequent frames comprise the one or more object types; and

utilizing the one or more object types for the processing the one or more subsequent frames without performing object recognition to the one or more subsequent frames during the refresh timeframe.

19 . The method of claim 1 comprising:

reducing a resolution level of the frame prior to said executing the first application, thereby providing to the first application a low-resolution frame;

executing the first application on the low-resolution frame; and

restoring the resolution level after said executing the first application.

20 . The method of claim 1 comprising distributing execution to an edge device in proximity of the AR device, wherein the edge device has one or more sensors, wherein said distributing comprises providing partial information of the frame to the edge device, thereby enabling the edge device to complete the partial information based on the one or more sensors.

21 . The method of claim 1 comprising:

determining that the first application is a real-world application that utilizes real-world frames, and that the second application is not a real-world application, wherein the first overlay from the first application comprises a real-world alert of a real-world object in the frame, and

determining whether to utilize the second overlay based on whether the second overlay is inconsistent with the alert or with the real-world object.

22 . The method of claim 1 comprising:

reducing a resolution level of a third portion the frame prior to executing the first and second applications on the frame;

obtaining a subsequent frame from the at least one frame sensor; and

reducing a resolution level of a fourth portion the subsequent frame prior to executing applications on the subsequent frame, wherein the third and fourth portions comprise different coordinate areas in a frame structure.

23 . The method of claim 1 comprising:

segmenting the frame into two or more patches;

distributing executions of the two or more patches to two or more execution platforms based on an execution schedule;

obtaining from the two or more execution platforms two or more corresponding overlays; and

combining the two or more corresponding overlays to generate the AR view.

24 . The system of claim 9 , the AR device is further configured to perform partial execution of the second application over a part of the frame smaller than the frame upon determining that the first and second overlays are inconsistent with each other at an inconsistency score lower than a threshold.