IP Library › Granted Patent US 12,106,441
Granted Patent B2
US 12,106,441 · App. 18/073,280 · Granted Oct 1, 2024

Rendering 3D captions within real-world environments

Inventors: Kyle Goodrich (Venice, CA); Samuel Edward Hare (Los Angeles, CA); Maxim Maximov Lazarov (Culver City, CA); Tony Mathew (Los Angeles, CA); Andrew James McPhee (Culver City, CA); Daniel Moreno (Los Angeles, CA); Wentao Shang (Los Angeles, CA)
Assignee: Snap Inc.
G06T19/006G06T15/00
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,106,441
App. No.
18/073,280
Granted
Oct 1, 2024
Kind
B2
Abstract

Aspects of the present disclosure involve a system comprising a computer-readable storage medium storing at least one program and method for rendering three-dimensional captions (3D) in real-world environments depicted in image content. An editing interface is displayed on a client device. The editing interface includes an input component displayed with a view of a camera feed. A first input comprising one or more text characters is received. In response to receiving the first input, a two-dimensional (2D) representation of the one or more text characters is displayed. In response to detecting a second input, a preview interface is displayed. Within the preview interface, a 3D caption based on the one or more text characters is rendered at a position in a 3D space captured within the camera feed. A message is generated that includes the 3D caption rendered at the position in the 3D space captured within the camera feed.

Claims (74)

1. A system comprising:

at least one hardware processor;

a memory storing instructions which, when executed by the at least one hardware processor, cause the at least one hardware processor to perform operations comprising:

causing display, on a display device of a computing device, of a first interactive interface, the first interactive interface including a live view of a camera feed of the computing device;

receiving a first input comprising one or more text characters;

in response to receiving the first input, causing display of a two-dimensional (2D) representation of the one or more text characters within the first interactive interface, the 2D representation of the one or more text characters being overlaid on the view of the live camera feed;

receiving a second input associated with a second interactive interface to preview a three-dimensional (3D) caption based on the one or more text characters;

in response to detecting the second input, causing display of a second interactive interface, the causing of the display of the second interactive interface comprising rendering the 3D caption based on the one or more text characters at a position in a 3D space captured within the live camera feed;

capturing one or more images from the live camera feed; and

generating a message that includes the one or more images with the 3D caption rendered at the position in the 3D space captured within the live camera feed.

2. The system of claim 1 , wherein the causing the display of the second interactive interface further comprises:

detecting a reference surface in the 3D space captured within the live camera feed; and

orienting the 3D caption at the position in the 3D space based on the detected reference surface.

3. The system of claim 2 , wherein orienting the 3D caption at the position in the 3D space comprises:

assigning the 3D caption to the position in the 3D space based on the detected reference surface; and

identifying tracking indicia operable to track the 3D caption in the 3D space.

4. The system of claim 3 , wherein the operations further comprise:

tracking, by a first tracking subsystem from among a set of tracking subsystems, the 3D caption at the position in the 3D space using the tracking indicia;

detecting an interruption of the tracking indicia; and

in response to detecting the interruption of the tracking indicia, tracking the 3D caption at the position in the 3D space via a second tracking subsystem from among the set of tracking subsystems.

5. The system of claim 1 , wherein the operations further comprise:

receiving a third input indicative of an edit to the 3D caption; and

updating the 3D caption based on the edit.

6. The system of claim 5 , wherein the edit to the 3D caption comprises one or more of:

an additional text character, a deletion of one or more text characters corresponding to the first input, a scale change, an orientation change, a placement change, a font change, or a color change.

7. The system of claim 1 , wherein the second input comprises a change of orientation of a client device.

8. The system of claim 1 , wherein the operations further comprise:

presenting a gallery of user-selectable lenses, each user-selectable lens in the gallery of user-selectable lenses being associated with activating one or more real-time visual effects, the gallery of user-selectable lenses comprising a 3D caption lens; and

receiving a third input to activate the 3D caption lens, wherein the causing of the display of the first interactive interface is in response to the third input.

9. A method comprising:

causing display, on a display device of a computing device, of a first interactive interface, the first interactive interface including a view of a live camera feed of the computing device;

receiving a first input comprising one or more text characters;

in response to receiving the first input, causing display of a two-dimensional (2D) representation of the one or more text characters within the first interactive interface, the 2D representation of the one or more text characters being overlaid on the view of the live camera feed;

receiving a second input associated with a second interactive interface to preview a three-dimensional (3D) caption based on the one or more text characters;

in response to detecting the second input, causing display of a second interactive interface, the causing of the display of the second interactive interface comprising rendering the 3D caption based on the one or more text characters at a position in a 3D space captured within the live camera feed;

capturing one or more images from the live camera feed;

generating a message that includes the one or more images with the 3D caption rendered at the position in the 3D space captured within the live camera feed.

10. The method of claim of claim 9 , wherein the causing the display of the second interactive interface further comprises:

detecting a reference surface in the 3D space captured within the live camera feed; and

orienting the 3D caption at the position in the 3D space based on the detected reference surface.

11. The method of claim 10 , wherein orienting the 3D caption at the position in the 3D space comprises:

assigning the 3D caption to the position in 3D space based on the detected reference surface; and

identifying tracking indicia operable to track the 3D caption in the 3D space.

12. The method of claim 11 , further comprising:

tracking, by a first tracking subsystem from among a set of tracking subsystems, the 3D caption at the position in the 3D space using the tracking indicia;

detecting an interruption of the tracking indicia; and

in response to detecting the interruption of the tracking indicia, tracking the 3D caption at the position in the 3D space via a second tracking subsystem from among the set of tracking subsystems.

13. The method of claim 9 , further comprising:

receiving a third input indicative of an edit to the 3D caption; and

updating the 3D caption based on the edit.

14. The method of claim 13 , wherein the edit to the 3D caption comprises one or more of:

an additional text character, a deletion of one or more text characters corresponding to the first input, a scale change, an orientation change, a placement change, a font change, or a color change.

15. The method of claim 9 , wherein the second input comprises a change of orientation of a client device.

16. The method of claim 9 , further comprising:

presenting a gallery of user-selectable lenses, each user-selectable lens in the gallery of user-selectable lenses being associated with activating one or more real-time visual effects, the gallery of user-selectable lenses comprising a 3D caption lens; and

receiving a third input to activate the 3D caption lens, wherein the causing of the display of the first interactive interface is in response to the third input.

17. A machine-readable medium storing instructions which, when executed by one or more processors of a machine, cause the machine to perform operations comprising:

causing display, on a display device of a computing device, of a first interactive interface, the first interactive interface including a view of a live camera feed of the computing device;

receiving a first input comprising one or more text characters;

in response to receiving the first input, causing display of a two-dimensional (2D) representation of the one or more text characters within the first interactive interface, the 2D representation of the one or more text characters being overlaid on the view of the live camera feed;

receiving a second input associated with a second interactive interface to preview a three-dimensional (3D) caption based on the one or more text characters;

in response to detecting the second input, causing display of a second interactive interface, the causing of the display of the second interactive interface comprising rendering the 3D caption based on the one or more text characters at a position in a 3D space captured within the live camera feed;

capturing one or more images from the live camera feed; and

generating a message that includes the one or more images with the 3D caption rendered at the position in the 3D space captured within the live camera feed.

18. The machine-readable medium of claim 17 , wherein the causing the display of the second interactive interface further comprises:

detecting a reference surface in the 3D space captured within the live camera feed; and

orienting the 3D caption at the position in the 3D space based on the detected reference surface.

19. The machine-readable medium of claim 18 , wherein orienting the 3D caption at the position in the 3D space comprises:

assigning the 3D caption to the position in the 3D space based on the detected reference surface; and

identifying tracking indicia operable to track the 3D caption in the 3D space.

20. The machine-readable medium of claim 19 , wherein the operations further comprise:

tracking, by a first tracking subsystem from among a set of tracking subsystems, the 3D caption at the position in the 3D space using the tracking indicia;

detecting an interruption of the tracking indicia; and

in response to detecting the interruption of the tracking indicia, tracking the 3D caption at the position in the 3D space via a second tracking subsystem from among the set of tracking subsystems.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2022
From: GOODRICH, KYLE; HARE, SAMUEL EDWARD; LAZAROV, MAXIM MAXIMOV; MATHEW, TONY; MCPHEE, ANDREW JAMES; MORENO, DANIEL; SHANG, WENTAO
To: SNAP INC.
Reel/Frame 061946/0357 →
Continuity (5)
Continuation 17319399 · May 13, 2021
Continuation 16696600 · Nov 26, 2019
Provisional Application 62775713 · Dec 5, 2018
Provisional Application 62771964 · Nov 27, 2018
Related Publication 20230089838A1 · Mar 23, 2023
Cited By (3)
US 12,387,436 US 12,488,548 US 12,541,929