IP Library › Granted Patent US 12,307,605
Granted Patent B2
US 12,307,605 · App. 17/646,431 · Granted May 20, 2025

Recording augmented reality content on an eyewear device

Inventors: Omer Cansizoglu (Mercer Island, WA); Chintan Doshi (Marina Del Rey, CA); Yuechuan Li (Rancho Palos Verdes, CA); Stanislav Minakov (Playa Vista, CA); Fedir Poliakov (Marina Del Rey, CA); Justin Wilder (Santa Monica, CA)
Assignee: Snap Inc.
G06T19/006G02B27/017G06V20/20G02B2027/0178
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,307,605
App. No.
17/646,431
Filed
Dec 29, 2021
Granted
May 20, 2025
Kind
B2
Art Unit
2615
USPC
345/633
Abstract

The subject technology sends captured image data and metadata to a first set of computing processes for processing. The subject technology receives, asynchronously from a second set of computing processes, second metadata. The subject technology detects a signal indicating a command to stop image data capturing. The subject technology, in response to the detected signal, generating a composite AR content item based on the metadata and the captured image data. The subject technology provides the composite AR content item for rendering for display on an eyewear device.

Claims (83)

1. A method, comprising:

sending captured image data and metadata to a first set of computing processes for processing, the first set of computing processes comprising a content recording module;

receiving, asynchronously from a second set of computing processes, second metadata;

detecting a signal indicating a command to stop image data capturing;

in response to the detected signal, generating a composite augmented reality (AR) content item based on the metadata and the captured image data, wherein generating the composite AR content item occurs without modifying a raw image format of the captured image data that results in a reduced image quality from the raw image format, wherein generating the composite AR content item comprises:

encoding, by the content recording module, each frame from the captured image data to a second image data format different from the raw image format of the captured image data, each of the encoded frames including an associated timestamp indicating when the encoded frames were captured;

providing the composite AR content item for rendering for display on an eyewear device, wherein the first set of computing processes further comprises an image data processing module, the second set of computing processes includes the image data processing module, and the metadata comprises a first set of timestamps corresponding to a first set of frames from the captured image data;

generating, by the image data processing module for each frame from the captured image data, tracking data and augmented reality content data corresponding to a particular augmented reality content generator, the second metadata comprising the tracking data and the augmented reality content data;

sending, the tracking data, the augmented reality content data, and timestamp information including at least a timestamp associated with the tracking data and the augmented reality content data of each frame to the content recording module;

receiving, by the content recording module, a first event indicating recording has stopped;

determining, by the content recording module, that the tracking data, the augmented reality content data, and the timestamp information has not been received;

receiving, by the content recording module, second captured frames;

discarding, by the content recording module, the second captured frames in response to the first event; and

receiving, by the content recording module, the tracking data, the augmented reality content data, and the timestamp information,

wherein generating, by the content recording module, the composite AR content item, the generating further comprises:

combining, based on matching timestamp information, a set of encoded frames with the tracking data and the augmented reality content data into a set of composite AR content frames, each composite AR content frame including a corresponding encoded frame, corresponding tracking data, corresponding augmented reality content data, and corresponding timestamp information, and

wherein providing the composite AR content item for rendering for display on the eyewear device comprises:

for each composite AR content frame from the set of composite AR content frames:

rendering, by a rendering module, AR content based on the corresponding tracking data and corresponding augmented reality content data, the rendering causing the AR content to be displayed within the corresponding encoded frame;

predicting, by the rendering module, a future frame to be rendered, the future frame not yet received by the rendering module and having a particular timestamp at a future time from each timestamp from the set of composite AR content frames; and

rendering, by the rendering module, the future frame for display on the eyewear device.

2. The method of claim 1 , further comprising:

prior to sending captured image data and metadata to the first set of computing processes for processing:

sending, by the image data processing module, a request to a camera module to initiate capturing of image data;

sending, by the camera module, a second request to a capture module to capture image data;

receiving, by the camera module, the captured image data and the metadata from the capture module, wherein the metadata comprises at least timestamp information for each frame from the captured image data; and

sending, by the camera module, the captured image data and the metadata to the image data processing module and the content recording module.

3. The method of claim 1 , wherein the augmented reality content data includes an augmented reality identifier, an augmented reality content generator category, an augmented reality content generator carousel index, and a carousel group.

4. The method of claim 1 , wherein the tracking data comprises a set of coordinates for a set of objects or a set of surface planes in the each frame, the set of coordinates corresponding to a subset of coordinates from a field of view from an eyewear device.

5. The method of claim 1 , further comprising:

predicting, by the rendering module, a predicted position to render AR content based at least in part on the tracking data from the set of composite AR content frames, the tracking data indicating a likelihood of the predicted position.

6. A system comprising:

a processor; and

a memory including instructions that, when executed by the processor, cause the processor to perform operations comprising:

sending captured image data and metadata to a first set of computing processes for processing, the first set of computing processes comprising a content recording module;

receiving, asynchronously from a second set of computing processes, second metadata;

detecting a signal indicating a command to stop image data capturing;

in response to the detected signal, generating a composite augmented reality (AR) content item based on the metadata and the captured image data, wherein generating the composite AR content item occurs without modifying a raw image format of the captured image data that results in a reduced image size or reduced image quality from the raw image format, wherein generating the composite AR content item comprises:

encoding, by the content recording module, each frame from the captured image data to a second image data format different from the raw image format of the captured image data, each of the encoded frames including an associated timestamp indicating when the encoded frames were captured;

providing the composite AR content item for rendering for display on an eyewear device, wherein the first set of computing processes further comprises an image data processing module, the second set of computing processes includes the image data processing module, and the metadata comprises a first set of timestamps corresponding to a first set of frames from the captured image data;

generating, by the image data processing module for each frame from the captured image data, tracking data and augmented reality content data corresponding to a particular augmented reality content generator, the second metadata comprising the tracking data and the augmented reality content data;

sending, the tracking data, the augmented reality content data, and timestamp information including at least a timestamp associated with the tracking data and the augmented reality content data of each frame to the content recording module;

receiving, by the content recording module, a first event indicating recording has stopped;

determining, by the content recording module, that the tracking data, the augmented reality content data, and the timestamp information has not been received;

receiving, by the content recording module, second captured frames;

discarding, by the content recording module, the second captured frames in response to the first event; and

receiving, by the content recording module, the tracking data, the augmented reality content data, and the timestamp information,

wherein generating, by the content recording module, the composite AR content item, the generating further comprises:

combining, based on matching timestamp information, a set of encoded frames with the tracking data and the augmented reality content data into a set of composite AR content frames, each composite AR content frame including a corresponding encoded frame, corresponding tracking data, corresponding augmented reality content data, and corresponding timestamp information, and

wherein providing the composite AR content item for rendering for display on the eyewear device comprises:

for each composite AR content frame from the set of composite AR content frames:

rendering, by a rendering module, AR content based on the corresponding tracking data and corresponding augmented reality content data, the rendering causing the AR content to be displayed within the corresponding encoded frame;

predicting, by the rendering module, a future frame to be rendered, the future frame not yet received by the rendering module and having a particular timestamp at a future time from each timestamp from the set of composite AR content frames; and

rendering, by the rendering module, the future frame for display on the eyewear device.

7. The system of claim 6 , wherein the operations further comprise:

prior to sending captured image data and metadata to the first set of computing processes for processing:

sending, by the image data processing module, a request to a camera module to initiate capturing of image data;

sending, by the camera module, a second request to a capture module to capture image data;

receiving, by the camera module, the captured image data and the metadata from the capture module, wherein the metadata comprises at least timestamp information for each frame from the captured image data; and

sending, by the camera module, the captured image data and the metadata to the image data processing module and the content recording module.

8. The system of claim 6 , wherein the augmented reality content data includes an augmented reality identifier, an augmented reality content generator category, an augmented reality content generator carousel index, and a carousel group.

9. The system of claim 6 , wherein the tracking data comprises a set of coordinates for a set of objects or a set of surface planes in the each frame, the set of coordinates corresponding to a subset of coordinates from a field of view from an eyewear device.

10. A non-transitory computer-readable medium comprising instructions, which when executed by a computing device, cause the computing device to perform operations comprising:

sending captured image data and metadata to a first set of computing processes for processing, the first set of computing processes comprising a content recording module;

receiving, asynchronously from a second set of computing processes, second metadata;

detecting a signal indicating a command to stop image data capturing;

in response to the detected signal, generating a composite AR content item based on the metadata and the captured image data, wherein generating the composite AR content item occurs without modifying a raw image format of the captured image data that results in a reduced image size or reduced image quality from the raw image format, wherein generating the composite AR content item comprises:

encoding, by the content recording module, each frame from the captured image data to a second image data format different from the raw image format of the captured image data, each of the encoded frames including an associated timestamp indicating when the encoded frames were captured; and

providing the composite AR content item for rendering for display on an eyewear device, wherein the first set of computing processes further comprises an image data processing module, the second set of computing processes includes the image data processing module, and the metadata comprises a first set of timestamps corresponding to a first set of frames from the captured image data;

generating, by the image data processing module for each frame from the captured image data, tracking data and augmented reality content data corresponding to a particular augmented reality content generator, the second metadata comprising the tracking data and the augmented reality content data;

sending, the tracking data, the augmented reality content data, and timestamp information including at least a timestamp associated with the tracking data and the augmented reality content data of each frame to the content recording module;

receiving, by the content recording module, a first event indicating recording has stopped;

determining, by the content recording module, that the tracking data, the augmented reality content data, and the timestamp information has not been received;

receiving, by the content recording module, second captured frames;

discarding, by the content recording module, the second captured frames in response to the first event; and

receiving, by the content recording module, the tracking data, the augmented reality content data, and the timestamp information,

wherein generating, by the content recording module, the composite AR content item, the generating further comprises:

combining, based on matching timestamp information, a set of encoded frames with the tracking data and the augmented reality content data into a set of composite AR content frames, each composite AR content frame including a corresponding encoded frame, corresponding tracking data, corresponding augmented reality content data, and corresponding timestamp information, and

wherein providing the composite AR content item for rendering for display on the eyewear device comprises:

for each composite AR content frame from the set of composite AR content frames:

rendering, by a rendering module, AR content based on the corresponding tracking data and corresponding augmented reality content data, the rendering causing the AR content to be displayed within the corresponding encoded frame;

predicting, by the rendering module, a future frame to be rendered, the future frame not yet received by the rendering module and having a particular timestamp at a future time from each timestamp from the set of composite AR content frames; and

rendering, by the rendering module, the future frame for display on the eyewear device.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 27, 2022
From: CANSIZOGLU, OMER; DOSHI, CHINTAN; LI, YUECHUAN; MINAKOV, STANISLAV; POLIAKOV, FEDIR; WILDER, JUSTIN
To: SNAP INC.
Reel/Frame 058793/0610 →
Continuity (2)
Provisional Application 63132963 · Dec 31, 2020
Related Publication 20220207840A1 · Jun 30, 2022
References Cited (63)
US 11880949B2 · Alqadi et al. · 2024 [cited by applicant]
US 20170221272A1 · Li · 2017 [cited by examiner]
US 20170301140A1 · Smith et al. · 2017 [cited by applicant]
US 20190122443A1 · Stöcker · 2019 [cited by examiner]
US 20190155465A1 · Maxwell · 2019 [cited by applicant]
US 20200051334A1 · Leung et al. · 2020 [cited by applicant]
US 20210319625A1 · Goodrich · 2021 [cited by examiner]
US 20210345016A1 · Nakano · 2021 [cited by examiner]
US 20210389850A1 · Charlton · 2021 [cited by examiner]
US 20210389996A1 · Charlton · 2021 [cited by examiner]
US 20220100812A1 · Anvaripour · 2022 [cited by examiner]
US 20220101355A1 · Luo · 2022 [cited by examiner]
US 20220101419A1 · Luo · 2022 [cited by examiner]
US 20220101565A1 · Anvaripour · 2022 [cited by examiner]
US 20220101606A1 · Canberk · 2022 [cited by examiner]
US 20220101610A1 · Anvaripour · 2022 [cited by examiner]
US 20220101614A1 · Luo · 2022 [cited by examiner]
US 20220206572A1 · Goodrich · 2022 [cited by examiner]
US 20220207804A1 · Collins · 2022 [cited by examiner]
US 20220207841A1 · Alqadi · 2022 [cited by examiner]
US 20220207869A1 · Goodrich · 2022 [cited by examiner]
US 20220319060A1 · Marinenko · 2022 [cited by examiner]
US 20220319127A1 · Tkachenko · 2022 [cited by examiner]
US 20220319229A1 · Babanin · 2022 [cited by examiner]
US 20220319230A1 · Golobokov · 2022 [cited by examiner]
US 20220319231A1 · Pankov · 2022 [cited by examiner]
US 20220321804A1 · Demidov · 2022 [cited by examiner]
US 20220335661A1 · Spear · 2022 [cited by examiner]
US 20230214912A1 · Boscolo · 2023 [cited by examiner]
US 20230214913A1 · Boscolo · 2023 [cited by examiner]
US 20230215118A1 · Causse · 2023 [cited by examiner]
US 20240144616A1 · Alqadi et al. · 2024 [cited by applicant]
CN 117043863A · 2023 [cited by applicant]
CN 117441193A · 2024 [cited by applicant]
KR 20150131358 · 2015 [cited by applicant]
KR 20160113172 · 2016 [cited by applicant]
KR 20190106849 · 2019 [cited by applicant]
KR 20190123300 · 2019 [cited by applicant]
KR 102728595 · 2024 [cited by applicant]
KR 102728647 · 2024 [cited by applicant]
WO 2022147457 · 2022 [cited by applicant]
WO 2022147458 · 2022 [cited by applicant]
WO WO2022263892A1 · 2022 [cited by examiner]
“International Application Serial No. PCT/US2021/073167, International Search Report mailed Apr. 26, 2022”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/073167, Written Opinion mailed Apr. 26, 2022”, 7 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/073168, International Search Report mailed Jun. 1, 2022”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/073168, Written Opinion mailed Jun. 1, 2022”, 7 pgs. [cited by applicant]
Tholsgard, Gabriel, “3D rendering and interaction in an augmented reality mobile system”, Uppsala University, [Online] Retrieved from the Internet: <URL: http://uu.diva-portal.org/smash/get/diva2:692329/FULLTEXT02.pdf>,… [cited by applicant]
“U.S. Appl. No. 17/646,445, Non Final Office Action mailed May 24, 2023”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 17/646,445, Notice of Allowance mailed Sep. 7, 2023”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 17/646,445, Response filed Aug. 24, 2023 to Non Final Office Action mailed May 24, 2023”, 11 pgs. [cited by applicant]
“Chinese Application Serial No. 202180088435.4, Notification to Make Rectification mailed Aug. 7, 2023”, w/o English Translation, 2 pgs. [cited by applicant]
“Chinese Application Serial No. 202180088444.3, Office Action mailed Aug. 14, 2023”, w/o English translation, 2 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/073167, International Preliminary Report on Patentability mailed Jul. 13, 2023”, 9 pgs. [cited by applicant]
“International Application Serial No. PCT/US2021/073168, International Preliminary Report on Patentability mailed Jul. 13, 2023”, 9 pgs. [cited by applicant]
“Chinese Application Serial No. 202180088444.3, Response filed Dec. 13, 2023 to Office Action mailed Aug. 14, 2023”, w/o English Translation, 3 pgs. [cited by applicant]
“Korean Application Serial No. 10-2023-7025990, Notice of Preliminary Rejection mailed Jun. 10, 2024”, w/ English translation, 11 pgs. [cited by applicant]
“Korean Application Serial No. 10-2023-7026015, Notice of Preliminary Rejection mailed Jun. 17, 2024”, w/ English translation, 13 pgs. [cited by applicant]
“U.S. Appl. No. 18/410,868, Non Final Office Action mailed Aug. 1, 2024”, 7 pgs. [cited by applicant]
“Korean Application Serial No. 10-2023-7026015, Response filed Aug. 13, 2024 to Notice of Preliminary Rejection mailed Jun. 17, 2024”, w/ current English claims, 26 pgs. [cited by applicant]
“U.S. Appl. No. 18/410,868, Response filed Nov. 1, 2024 to Non Final Office Action mailed Aug. 1, 2024”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 18/410,868, Notice of Allowance mailed Dec. 4, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 18/410,868, Corrected Notice of Allowability mailed Dec. 19, 2024”, 2 pgs. [cited by applicant]