IP Library Granted Patent US 12,273,618
Granted Patent B2
US 12,273,618 · App. 18/434,151 · Granted Apr 8, 2025

Identifying a video camera for an object

Inventors: Dylan Shane Eirinberg (Venice, CA); Daniel Trinh (Paris, FR)
Assignee: Snap Inc.
H04N23/661G06V20/64G16Y40/30H04L51/046H04L51/10H04L51/222H04N5/272
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,273,618
App. No.
18/434,151
Granted
Apr 8, 2025
Kind
B2
Abstract

Methods and systems are disclosed for controlling connected devices. For example, a messaging application implemented on a client device detects a real-world object depicted in a captured image and determines a current location of the client device. The messaging application identifies a plurality of video cameras associated with the current location and selects a first video camera from the plurality of video cameras based on one or more attributes of the real-world object depicted in the image. The messaging application receives a video feed from the first video camera that is selected and causes the video feed received from the first video camera to be displayed on top of the real-world object depicted in the captured image.

Claims (79)

1. A method comprising:

obtaining a video that depicts a plurality of real-world objects in a given location;

identifying a subset of video cameras associated with an account;

receiving input that associates a group of video cameras in the subset with each of a respective one of the plurality of real-world objects, the receiving of the input comprising:

presenting a list of video cameras comprising the subset of video cameras associated with the account;

receiving a first user selection of the group of video cameras from the list of video cameras that correspond to the given location;

in response to receiving the first user selection of the group of video cameras, presenting identifiers of the plurality of real-world objects that is depicted in the video; and

receiving a second user selection that associates a first video camera of the group of video cameras with a first real-world object of the plurality of real-world objects and a second video camera of the group of video cameras with a second real-world object of the plurality of real-world objects; and

storing one or more attributes of each of a group of the real-world objects in association with respective video cameras in the group of video cameras based on the received input.

2. The method of claim 1 , the given location comprising a home, and further comprising:

detecting, by an interaction application implemented on a device, a real-world object depicted in a captured image;

determining a current location of the device; and

selecting the first video camera from the plurality of video cameras based on one or more attributes of the real-world object depicted in the image.

3. The method of claim 2 , further comprising:

receiving, by the interaction application, a video feed from the first video camera that is selected;

detecting a display position of the real-world object in the captured image; and

causing, by the interaction application, the video feed received from the first video camera to be displayed at the display position on top of the real-world object depicted in the captured image.

4. The method of claim 1 , further comprising:

generating a display element having a size and shape corresponding to a real-world object depicted in an image corresponding to an individual one of the subset of video cameras;

scaling a video feed to fit within the display element having the size and shape corresponding to the real-world object depicted in the image; and

causing the scaled video to be displayed in the display element at a display position.

5. The method of claim 1 , further comprising displaying a graphical user interface comprising one or more commands for controlling an IoT device.

6. The method of claim 1 , further comprising:

establishing a link between an interaction application and the first video camera of the subset of video cameras over a local area network.

7. The method of claim 1 , wherein the one or more attributes of the group of the real-world objects comprise one or more visual elements of the group of the real-world objects.

8. The method of claim 1 , further comprising:

obtaining location information for each of the plurality of real-world objects; and

storing the location information of each of the real-world objects in association with the respective video cameras in the group of video cameras.

9. The method of claim 1 , further comprising:

obtaining location information for the first video camera and the second video camera of the subset of video cameras;

comparing the location information of the first and second video cameras with a current location of a device; and

determining that the first video camera is closer to the device than the second video camera in response to comparing the location information, wherein the first video camera is selected in response to determining that the first video camera is closer to the device.

10. The method of claim 1 , further comprising:

generating a virtual object;

populating the virtual object using a video feed received from an individual video camera of the subset of cameras; and

overlaying the virtual object populated using the video feed on top of a real-world object depicted in an image.

11. The method of claim 1 , wherein an individual real-world object comprises a side of a wall that divides a first room and a second room, wherein the first video camera of the subset of cameras is in the second room, and wherein a current location of a device is in a first room.

12. The method of claim 11 , further comprising overlaying a video feed that depicts a real-world environment of the second room on top of the side of the wall depicted in an image captured from the first room.

13. The method of claim 1 , further comprising:

accessing an application programming interface (API) associated with the first video camera of the subset of video cameras;

generating a request to obtain a video feed based on the API; and

transmitting the request to the first video camera, wherein the video feed is received in response to the first video camera receiving the request.

14. The method of claim 1 , further comprising:

identifying a manufacturer server associated with the first video camera of the subset of video cameras;

generating a request to obtain a video feed; and

transmitting the request to the manufacturer server, wherein the video feed is received in response to the first video camera receiving the request from the manufacturer server.

15. A system comprising:

at least one processor; and

a memory component having instructions stored thereon that, when executed by the at least one processor, cause the at least one processor to perform operations comprising:

obtaining a video that depicts a plurality of real-world objects in a given location;

identifying a subset of video cameras associated with an account;

receiving input that associates a group of video cameras in the subset with each of a respective one of the plurality of real-world objects, the receiving of the input comprising:

presenting a list of video cameras comprising the subset of video cameras associated with the account;

receiving a first user selection of the group of video cameras from the list of video cameras that correspond to the given location;

in response to receiving the first user selection of the group of video cameras, presenting identifiers of the plurality of real-world objects that is depicted in the video; and

receiving a second user selection that associates a first video camera of the group of video cameras with a first real-world object of the plurality of real-world objects and a second video camera of the group of video cameras with a second real-world object of the plurality of real-world objects; and

storing one or more attributes of each of a group of the real-world objects in association with respective video cameras in the group of video cameras based on the received input.

16. The system of claim 15 , the operations further comprising:

detecting, by an interaction application implemented on a device, a real-world object depicted in a captured image;

determining a current location of a device; and

selecting the first video camera from the plurality of video cameras based on one or more attributes of the real-world object depicted in the image.

17. The system of claim 16 , the operations comprising:

receiving, by the interaction application, a video feed from the first video camera of the subset of video cameras that is selected;

detecting a display position of the real-world object in the captured image; and

causing, by the interaction application, the video feed received from the first video camera to be displayed at the display position on top of the real-world object depicted in the captured image.

18. The system of claim 15 , the operations comprising:

generating a display element having a size and shape corresponding to the real-world object depicted in an image and corresponding to an individual one of the subset of video cameras;

scaling a video feed to fit within the display element having the size and shape corresponding to the real-world object depicted in the image; and

causing the scaled video to be displayed in the display element at a display position.

19. The system of claim 15 , the operations comprising displaying a graphical user interface comprising one or more commands for controlling an IoT device.

20. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed by a processor of a device, cause the processor to perform operations comprising:

obtaining a video that depicts a plurality of real-world objects in a given location;

identifying a subset of video cameras associated with an account;

receiving input that associates a group of video cameras in the subset with each of a respective one of the plurality of real-world objects, the receiving of the input comprising:

presenting a list of video cameras comprising the subset of video cameras associated with the account;

receiving a first user selection of the group of video cameras from the list of video cameras that correspond to the given location;

in response to receiving the first user selection of the group of video cameras, presenting identifiers of the plurality of real-world objects that is depicted in the video; and

receiving a second user selection that associates a first video camera of the group of video cameras with a first real-world object of the plurality of real-world objects and a second video camera of the group of video cameras with a second real-world object of the plurality of real-world objects; and

storing one or more attributes of each of a group of the real-world objects in association with respective video cameras in the group of video cameras based on the received input.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2025
From: EIRINBERG, DYLAN SHANE; TRINH, DANIEL
To: SNAP INC.
Reel/Frame 069764/0369 →
Continuity (3)
Continuation 17532430 · Nov 22, 2021
Provisional Application 63273415 · Oct 29, 2021
Related Publication 20240179404A1 · May 30, 2024
References Cited (77)
US 8120459B2 · Kwak · 2012 [cited by applicant]
US 8374721B2 · Halloran et al. · 2013 [cited by applicant]
US 8554250B2 · Linaker · 2013 [cited by applicant]
US 8843245B2 · Choe et al. · 2014 [cited by applicant]
US 8924019B2 · Tang · 2014 [cited by applicant]
US 9179109B1 · Kasmir et al. · 2015 [cited by applicant]
US 9369774B2 · Kumar · 2016 [cited by applicant]
US 9871865B2 · Shaashua et al. · 2018 [cited by applicant]
US 10655951B1 · Froment et al. · 2020 [cited by applicant]
US 11568356B1 · Rochon · 2023 [cited by examiner]
US 11930270B2 · Eirinberg et al. · 2024 [cited by applicant]
US 12082768B2 · Eirinberg et al. · 2024 [cited by applicant]
US 20010034754A1 · Elwahab et al. · 2001 [cited by applicant]
US 20110121940A1 · Jones · 2011 [cited by applicant]
US 20120041925A1 · Pope et al. · 2012 [cited by applicant]
US 20120270509A1 · Lewis · 2012 [cited by applicant]
US 20130083193A1 · Okuyama et al. · 2013 [cited by applicant]
US 20130093897A1 · Fan · 2013 [cited by examiner]
US 20140270482A1 · Chakraborty · 2014 [cited by examiner]
US 20150019714A1 · Shaashua et al. · 2015 [cited by applicant]
US 20150130957A1 · Berelejis et al. · 2015 [cited by applicant]
US 20150256689A1 · Erkkila · 2015 [cited by examiner]
US 20150347114A1 · Yoon · 2015 [cited by applicant]
US 20160027207A1 · Hillen et al. · 2016 [cited by applicant]
US 20160139752A1 · Shim et al. · 2016 [cited by applicant]
US 20160142758A1 · Karp · 2016 [cited by examiner]
US 20160226732A1 · Kim et al. · 2016 [cited by applicant]
US 20160274762A1 · Lopez et al. · 2016 [cited by applicant]
US 20170019518A1 · Wang et al. · 2017 [cited by applicant]
US 20170134553A1 · Jeon et al. · 2017 [cited by applicant]
US 20170286046A1 · Pardi · 2017 [cited by applicant]
US 20170359552A1 · Kobayashi · 2017 [cited by examiner]
US 20180095628A1 · Choi · 2018 [cited by applicant]
US 20190020809A1 · Pan · 2019 [cited by applicant]
US 20190212752A1 · Fong et al. · 2019 [cited by applicant]
US 20190266886A1 · Jiang et al. · 2019 [cited by applicant]
US 20190320866A1 · Thorne et al. · 2019 [cited by applicant]
US 20190361575A1 · Ni et al. · 2019 [cited by applicant]
US 20190391716A1 · Badr et al. · 2019 [cited by applicant]
US 20200022072A1 · Cho et al. · 2020 [cited by applicant]
US 20200106835A1 · Deluca et al. · 2020 [cited by applicant]
US 20200237176A1 · Bassa et al. · 2020 [cited by applicant]
US 20210295046A1 · Gupta · 2021 [cited by applicant]
US 20230136321A1 · Eirinber et al. · 2023 [cited by applicant]
US 20230137440A1 · Eirinberg et al. · 2023 [cited by applicant]
US 20230152947A1 · Eirinberg et al. · 2023 [cited by applicant]
CN 118160011A · 2024 [cited by applicant]
CN 118202370A · 2024 [cited by applicant]
WO WO2023076508A1 · 2023 [cited by applicant]
WO WO2023076909A1 · 2023 [cited by applicant]
“U.S. Appl. No. 17/528,824, Advisory Action mailed Mar. 27, 2023”, 3 pgs. [cited by applicant]
“U.S. Appl. No. 17/528,824, Final Office Action mailed Jan. 11, 2023”, 29 pgs. [cited by applicant]
“U.S. Appl. No. 17/528,824, Non Final Office Action mailed Aug. 30, 2023”, 50 pgs. [cited by applicant]
“U.S. Appl. No. 17/528,824, Non Final Office Action mailed Sep. 7, 2022”, 24 pgs. [cited by applicant]
U.S. Appl. No. 17/528,824, Response filed Mar. 8, 2023 to Final Office Action mailed. [cited by applicant]
“U.S. Appl. No. 17/528,824, Response filed Nov. 17, 2022 to Non Final Office Action mailed Sep. 7, 2022”, 10 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Final Office Action mailed May 24, 2023”, 16 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Non Final Office Action mailed Nov. 28, 2022”, 15 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Notice of Allowance mailed Jul. 26, 2023”, 5 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Notice of Allowance mailed Nov. 8, 2023”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Response filed Feb. 22, 2023 to Non Final Office Action mailed Nov. 28, 2022”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/532,430, Response filed Jul. 11, 2023 to Final Office Action mailed May 24, 2023”, 10 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/048077, International Search Report mailed Feb. 28, 2023”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/048077, Written Opinion mailed Feb. 28, 2023”, 4 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/078668, International Search Report mailed Feb. 13, 2023”, 5 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/078668, Written Opinion mailed Feb. 13, 2023”, 9 pgs. [cited by applicant]
Barry, Keith, “LG's ”Texting Appliances,“ Camera Fridge Coming To CES”, [Online]. Retrieved from the Internet: <https://reviewed.usatoday.com/refrigerators/news/lg-unveils-smart-appliances-ahead-of-ces>, (Oct. 18, 2015)… [cited by applicant]
Chang, Yosun I, et al., “Augmented reality interfaces for the internet of things: extendedAbstract”, ACM SIGGRAPH Appy Hour New York, NY, USA, (Aug. 12, 2018), 1-2. [cited by applicant]
“U.S. Appl. No. 17/513,355, Final Office Action mailed Mar. 13, 2024”, 12 pgs. [cited by applicant]
“U.S. Appl. No. 17/513,355, Non Final Office Action mailed Jan. 3, 2024”, 11 pgs. [cited by applicant]
“U.S. Appl. No. 17/513,355, Notice of Allowance mailed May 17, 2024”, 8 pgs. [cited by applicant]
“U.S. Appl. No. 17/513,355, Response filed Feb. 1, 2024 to Non Final Office Action mailed Jan. 3, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/513,355, Response filed Apr. 30, 2024 to Final Office Action mailed Mar. 13, 2024”, 9 pgs. [cited by applicant]
“U.S. Appl. No. 17/528,824, Final Office Action mailed Dec. 19, 2023”, 52 pgs. [cited by applicant]
“U.S. Appl. No. 17/528,824, Response filed Nov. 15, 2023 to Non Final Office Action mailed Aug. 30, 2023”, 12 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/048077, International Preliminary Report on Patentability mailed May 10, 2024”, 6 pgs. [cited by applicant]
“International Application Serial No. PCT/US2022/078668, International Preliminary Report on Patentability mailed May 10, 2024”, 11 pgs. [cited by applicant]