IP Library › Granted Patent US 12,265,665
Granted Patent B1
US 12,265,665 · App. 18/371,098 · Granted Apr 1, 2025

Heuristic for hand tracking correction modes

Inventors: Emmanuel Piuze-Phaneuf (Los Gatos, CA); Ali Ercan (San Jose, CA); Julian K. Shutzberg (San Francisco, CA); Paul A. Lacey (Davie, FL)
Assignee: APPLE INC.
G06F3/017G06F3/011
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,265,665
App. No.
18/371,098
Granted
Apr 1, 2025
Kind
B1
Abstract

In some implementations, a method includes: determining a location for virtual content; detecting a user interaction with the virtual content; in response to detecting the user interaction with the virtual content, determining a position of a hand gesture during the user interaction with the virtual content; in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, generating corrected hand tracking data associated with the user interaction with the virtual content; and in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, generating uncorrected hand tracking data associated with the user interaction with the virtual content.

Claims (65)

1. A method comprising:

at a computing system including non-transitory memory and one or more processors, wherein the computing system is communicatively coupled to a display device and one or more input devices via a communication interface:

determining a location for virtual content;

detecting a user interaction with the virtual content;

in response to detecting the user interaction with the virtual content, determining a position of a hand gesture during the user interaction with the virtual content;

in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, generating corrected hand tracking data associated with the user interaction with the virtual content and corresponding to a direct interaction with the virtual content; and

in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, generating uncorrected hand tracking data associated with the user interaction with the virtual content and corresponding to an indirect interaction with the virtual content.

2. The method of claim 1 , wherein generating corrected hand tracking data associated with the user interaction with the virtual content includes:

obtaining uncorrected hand tracking data associated with a current time period and uncorrected hand tracking data associated with a previous time period;

obtaining corrected hand tracking data associated with the current time period;

generating differential hand tracking data by performing a difference between the corrected hand tracking data associated with the current time period and the uncorrected hand tracking data associated with the previous time period;

generating temporally smoothed differential hand tracking data by performing temporal smoothing on the differential hand tracking data based on a depth map of a physical environment for the current time period; and

generating output hand tracking data by performing a difference between the temporally smoothed differential hand tracking data and the uncorrected hand tracking data associated with the current time period, wherein the output hand tracking data corresponds to the corrected hand tracking data associated with the user interaction with the virtual content.

3. The method of claim 2 , wherein obtaining the corrected hand tracking data associated with the current time period includes:

obtaining a first set of two-dimensional coordinates of a hand of the user in a physical environment; and

transforming the first set of two-dimensional coordinates into a second set of two-dimensional coordinates based on a depth map of the physical environment.

4. The method of claim 3 , wherein the first set of two-dimensional coordinates are generated by projecting first three-dimensional coordinates onto an image plane.

5. The method of claim 4 , wherein the first set of two-dimensional coordinates includes a left set and a right set used for triangulation.

6. The method of claim 4 , wherein a second set of three-dimensional coordinates is generated from the second set of two-dimensional coordinates.

7. The method of claim 2 , further comprising:

rendering the user interaction with the virtual content based on the output hand tracking data; and

displaying, via the display device, the rendered user interaction with the virtual content based on the output hand tracking data.

8. The method of claim 1 , wherein, in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to a direct interaction type and the user interaction corresponds to a hand tracking input relative to the virtual object.

9. The method of claim 1 , wherein, in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to an indirect interaction type and the user interaction corresponds to one of an eye tracking input, a voice input, or a gestural input relative to the virtual object.

10. A computing system comprising:

one or more processors;

a non-transitory memory;

an interface for communicating with a display device and one or more input devices; and

one or more programs stored in the non-transitory memory, which, when executed by the one or more processors, cause the computing system to:

determine a location for virtual content;

detect a user interaction with the virtual content;

in response to detecting the user interaction with the virtual content, determine a position of a hand gesture during the user interaction with the virtual content;

in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, generate corrected hand tracking data associated with the user interaction with the virtual content and corresponding to a direct interaction with the virtual content; and

in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, generate uncorrected hand tracking data associated with the user interaction with the virtual content and corresponding to an indirect interaction with the virtual content.

11. The computing system of claim 10 , wherein generating corrected hand tracking data associated with the user interaction with the virtual content includes:

obtaining uncorrected hand tracking data associated with a current time period and uncorrected hand tracking data associated with a previous time period;

obtaining corrected hand tracking data associated with the current time period;

generating differential hand tracking data by performing a difference between the corrected hand tracking data associated with the current time period and the uncorrected hand tracking data associated with the previous time period;

generating temporally smoothed differential hand tracking data by performing temporal smoothing on the differential hand tracking data based on a depth map of a physical environment for the current time period; and

generating output hand tracking data by performing a difference between the temporally smoothed differential hand tracking data and the uncorrected hand tracking data associated with the current time period, wherein the output hand tracking data corresponds to the corrected hand tracking data associated with the user interaction with the virtual content.

12. The computing system of claim 11 , wherein obtaining the corrected hand tracking data associated with the current time period includes:

obtaining a first set of two-dimensional coordinates of a hand of the user in a physical environment; and

transforming the first set of two-dimensional coordinates into a second set of two-dimensional coordinates based on a depth map of the physical environment.

13. The computing system of claim 10 , wherein, in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to a direct interaction type and the user interaction corresponds to a hand tracking input relative to the virtual object.

14. The computing system of claim 10 , wherein, in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to an indirect interaction type and the user interaction corresponds to one of an eye tracking input, a voice input, or a gestural input relative to the virtual object.

15. A non-transitory memory storing one or more programs, which, when executed by one or more processors of a computing system with an interface for communicating with a display device and one or more input devices, cause the computing system to:

determine a location for virtual content;

detect a user interaction with the virtual content;

in response to detecting the user interaction with the virtual content, determine a position of a hand gesture during the user interaction with the virtual content;

in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, generate corrected hand tracking data associated with the user interaction with the virtual content and corresponding to a direct interaction with the virtual content; and

in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, generate uncorrected hand tracking data associated with the user interaction with the virtual content and corresponding to an indirect interaction with the virtual content.

16. The non-transitory memory of claim 15 , wherein generating corrected hand tracking data associated with the user interaction with the virtual content includes:

obtaining uncorrected hand tracking data associated with a current time period and uncorrected hand tracking data associated with a previous time period;

obtaining corrected hand tracking data associated with the current time period;

generating differential hand tracking data by performing a difference between the corrected hand tracking data associated with the current time period and the uncorrected hand tracking data associated with the previous time period;

generating temporally smoothed differential hand tracking data by performing temporal smoothing on the differential hand tracking data based on a depth map of a physical environment for the current time period; and

generating output hand tracking data by performing a difference between the temporally smoothed differential hand tracking data and the uncorrected hand tracking data associated with the current time period, wherein the output hand tracking data corresponds to the corrected hand tracking data associated with the user interaction with the virtual content.

17. The non-transitory memory of claim 16 , wherein obtaining the corrected hand tracking data associated with the current time period includes:

obtaining a first set of two-dimensional coordinates of a hand of the user in a physical environment; and

transforming the first set of two-dimensional coordinates into a second set of two-dimensional coordinates based on a depth map of the physical environment.

18. The non-transitory memory of claim 16 , wherein the one or more programs further cause the computing system to:

render the user interaction with the virtual content based on the output hand tracking data; and

display, via the display device, the rendered user interaction with the virtual content based on the output hand tracking data.

19. The non-transitory memory of claim 15 , wherein, in accordance with a determination that the position of the hand gesture is within a threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to a direct interaction type and the user interaction corresponds to a hand tracking input relative to the virtual object.

20. The non-transitory memory of claim 15 , wherein, in accordance with a determination that the position of the hand gesture is outside of the threshold distance relative to the location of the virtual content, the user interaction with the virtual content corresponds to an indirect interaction type and the user interaction corresponds to one of an eye tracking.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2023
From: PIUZE-PHANEUF, EMMANUEL; LACEY, PAUL A.; ERCAN, ALI; SHUTZBERG, JULIAN K.
To: APPLE INC.
Reel/Frame 065012/0538 →
Continuity (1)
Provisional Application 63409315 · Sep 23, 2022
References Cited (6)
US 10706584B1 · Ye et al. · 2020 [cited by applicant]
US 11443558B2 · Wada · 2022 [cited by examiner]
US 20150154453A1 · Wilf · 2015 [cited by applicant]
US 20180307319A1 · Karmon · 2018 [cited by examiner]
US 20200226786A1 · Fitzgibbon et al. · 2020 [cited by applicant]
US 20210090337A1 · Ravasz · 2021 [cited by examiner]