IP Library Granted Patent US 10,444,967
Granted Patent B2
US 10,444,967 · App. 15/167,671 · Granted Oct 15, 2019

Methods and systems for presenting multiple live video feeds in a user interface

Inventors: Christopher Charles Burns (Santa Clara, CA); Ronald Loren Kirkby (Medfield, MA); Samuel Lee Iglesias (Palo Alto, CA); Alexander Bennington Cash (Fremont, CA); Yifeng Huang (San Jose, CA)
Assignee: GOOGLE LLC
G06F3/04847G06F1/1694G06F3/0346G06F3/0481G06F3/0482G06F3/0485G06F3/0488G06F3/04817G06F3/04842G06F3/04845G06F3/04883G06F3/14G06F3/167G06F16/71G06F16/738G06F16/7328G06F16/743G06K9/00718G06K9/00771G06K9/2081G08B13/196G08B13/1966G08B13/19645G08B13/19656G08B13/19682G08B13/19695H04N5/2628H04N5/77H04N7/181H04N7/188G06K2009/00738
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 10,444,967
App. No.
15/167,671
Granted
Oct 15, 2019
Kind
B2
Abstract

A method, in an application executing at a client device, includes: receiving a plurality of video feeds, each video feed of the plurality of video feeds corresponding to a respective remote camera of a plurality of remote cameras, where the video feeds are received concurrently by the device from a server system communicatively coupled to the remote cameras; displaying a first user interface, the first user interface including a plurality of user interface objects, each user interface object of the plurality of user interface objects being associated with a respective remote camera of the remote cameras; and displaying in each user interface object of the plurality of user interface objects the video feed corresponding to the respective remote camera with which the user interface object is associated, where at least one of the video feeds is displayed with cropping.

Claims (77)

1. A method, comprising:

in an application executing at a client device having one or more processors and memory storing one or more programs for execution by the one or more processors:

receiving a video feed, the video feed corresponding to a remote camera, wherein the video feed is received by the client device from a server system communicatively coupled to the remote camera;

displaying a first user interface, the first user interface including a user interface object associated with the remote camera;

displaying in the user interface object the video feed corresponding to the remote camera, wherein the video feed is displayed with cropping defined by a cropping shape and a location within a frame of the video feed determined by the application;

detecting a change of physical orientation of the client device; and

adjusting the cropping of the video feed in accordance with the orientation change.

2. The method of claim 1 , further comprising:

receiving a first user input to adjust a cropping of the video feed displayed in the user interface object; and

in response to receiving the first user input, adjusting the cropping of the video feed displayed in the user interface object.

3. The method of claim 2 , wherein

the client device comprises an accelerometer,

the first user input comprises a change, by a user, of an orientation of the client device, and

the method further comprises:

receiving the first user input to adjust a cropping of the video feed displayed in the user interface object by detecting the change of the orientation of the client device using the accelerometer; and

adjusting the cropping in response to receiving the first user input by adjusting the cropping in accordance with the orientation change.

4. The method of claim 2 , wherein

the client device comprises a touch-sensitive display,

the first user input comprises a gesture performed on the touch-sensitive display, and the method further comprises:

receiving the first user input to adjust a cropping of the video feed displayed in the user interface object by detecting the gesture on the touch-sensitive display; and

adjusting the cropping in response to receiving the first user input by adjusting the cropping in accordance with the gesture.

5. The method of claim 2 , wherein

the client device comprises an audio input device,

the first user input comprises a voice command, and

the method further comprises:

receiving the first user input to adjust a cropping of the video feed displayed in the user interface objects by detecting the voice command using the audio input device; and

adjusting the cropping in response to receiving the first user input by adjusting the cropping in accordance with the voice command.

6. The method of claim 2 , further comprising: prior to receiving the first input, receiving a second user input selecting the user interface object,

wherein adjusting the cropping in response to receiving the first user input comprises adjusting the cropping of the video feed displayed in the selected user interface object in accordance with the first user input.

7. The method of claim 2 , further comprising:

receiving a third user input to lock the cropping of the video feed; and

in response to receiving the third user input, maintaining the adjustment of the cropping of the video feed.

8. The method of claim 2 , further comprising:

detecting a termination of the first user input; and

in response to detecting the termination of the first user input, maintaining the adjustment of the cropping.

9. The method of claim 2 , further comprising:

detecting a termination of the first user input; and

in response to detecting the termination of the first user input, ceasing the adjustment of the cropping.

10. The method of claim 1 , wherein the remote camera has a field of view, and

the user interface object associated with the remote camera has a virtual field of view relatively smaller than the field of view of the associated remote camera.

11. The method of claim 1 , wherein displaying in the user interface object the video feed corresponding to the remote camera comprises: displaying, in the user interface object, periodically refreshed still images corresponding to frames from the corresponding video feed.

12. The method of claim 1 , wherein:

while the application is in a foreground, the video feed is received and displayed in the user interface object as a video stream; and

while the application is in a background, the video feed is received as periodically refreshed still images corresponding to frames from the video feed.

13. The method of claim 1 , wherein:

the video feed comprises a first version at a first resolution and a second version at a second resolution higher than first resolution, and both the first version and the second version are received from the server system.

14. The method of claim 13 , wherein the video feed displayed in the user interface object is the first version.

15. The method of claim 13 , wherein the first version of the video feed is displayed in the user interface object, and

the method further comprises:

receiving user selection of the user interface object; and

in response to receiving the user selection:

ceasing display of the first user interface; and

displaying a second user interface, the second user interface including the second version of the video feed, wherein within the second user interface the video feed is uncropped.

16. The method of claim 1 , wherein the cropping of the video feed is performed at the client device in accordance with cropping instructions from the server system, wherein the cropping instructions are generated by the server system based on an analysis of the video feed by the server system to determine a portion of the video feed of potential interest to a user.

17. The method of claim 1 , wherein the video feed is received and displayed in the user interface object as a video stream, and

the method further comprises:

receiving an input to change a delivery option of the video feed; and

in response to receiving the input to change the delivery option of the video feed, receiving the video feed as periodically refreshed images and displaying the video feed in the user interface object as periodically refreshed images.

18. An electronic device, comprising:

one or more processors;

memory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for:

in an application stored in the memory and executed by the one or more processors:

receiving a video feed, the video feed corresponding to a remote camera, wherein the video feed is received by the electronic device from a server system communicatively coupled to the remote camera;

displaying a first user interface, the first user interface including a user interface object associated with a the remote camera;

displaying in the user interface object the video feed corresponding to the remote camera, wherein the video feed is displayed with cropping defined by a cropping shape and a location within a frame of the video feed determined by the application;

detecting a change of physical orientation of the electronic device; and

adjusting the cropping of the video feed in accordance with the orientation change.

19. The electronic device of claim 18 , further comprising instructions for:

receiving a first user input to adjust a cropping of the video feed displayed in the user interface object; and

in response to receiving the first user input, adjusting the cropping of the video feed displayed in the user interface object.

20. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by an electronic device with one or more processors, cause the electronic device to perform operations comprising:

in an application executed by the electronic device:

receiving a video feed, the video feed corresponding to a remote camera, wherein the video feeds is received by the electronic device from a server system communicatively coupled to the remote camera;

displaying a first user interface, the first user interface including a user interface object associated with the remote camera;

displaying in the user interface object the video feed corresponding to the remote camera, wherein the video feed is displayed with cropping defined by a cropping shape and a location within a frame of the video feed determined by the application;

detecting a change of physical orientation of the electronic device; and

adjusting the cropping of the video feed in accordance with the orientation change.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 7, 2020
From: BURNS, CHRISTOPHER CHARLES; KIRKBY, RONALD LOREN; IGLESIAS, SAMUEL LEE; CASH, ALEXANDER BENNINGTON; HUANG, YIFENG
To: GOOGLE INC.
Reel/Frame 054563/0494 →
CHANGE OF NAME Recorded Dec 5, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044695/0115 →
Cited By (1)
US 12,254,644