IP Library › Granted Patent US 10,534,965
Granted Patent B2
US 10,534,965 · App. 15/926,745 · Granted Jan 14, 2020

Analysis of video content

Inventors: Nitin Singhal (Mercer Island, WA); Vivek Bhadauria (Edmond, WA); Ranju Das (Seattle, WA); Gaurav D. Ghare (Seattle, WA); Roman Goldenberg (Haifa, IL); Stephen Gould (Ainslie, AU); Kuang Han (Seattle, WA); Jonathan Andrew Hedley (Seattle, WA); Gowtham Jeyabalan (Redmond, WA); Vasant Manohar (Redmond, WA); Andrea Olgiati (Gilroy, CA); Stefano Stefani (Issaquah, WA); Joseph Patrick Tighe (Seattle, WA); Praveen Kumar Udayakumar (Seattle, WA); Renjun Zheng (Bellevue, WA)
Assignee: Amazon Technologies, Inc.
G06K9/00744G06K9/00228G06K9/00718G06K9/00765G06K2009/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,534,965
App. No.
15/926,745
Granted
Jan 14, 2020
Kind
B2
Abstract

Techniques for analyzing stored video upon a request are described. For example, a method of receiving a first application programming interface (API) request to analyze a stored video, the API request to include a location of the stored video and at least one analysis action to perform on the stored video; accessing the location of the stored video to retrieve the stored video; segmenting the accessed video into chunks; processing each chunk with a chunk processor to perform the at least one analysis action, each chunk processor to utilize at least one machine learning model in performing the at least one analysis action; joining the results of the processing of each chunk to generate a final result; storing the final result; and providing the final result to a requestor in response to a second API request is described.

Claims (46)

1. A computer-implemented method comprising:

receiving a first application programming interface (API) request to analyze a stored video, the API request to include a location of the stored video and at least one analysis action to perform on the stored video;

placing the request into a queue;

polling the queue to retrieve the request;

accessing the location of the stored video to retrieve the stored video;

segmenting the accessed video into chunks;

processing each chunk with a chunk processor to perform the at least one analysis action, each chunk processor to utilize at least one machine learning model in performing the at least one analysis action;

joining the results of the processing of each chunk to generate a final result;

storing the final result; and

providing the final result to a requestor in response to a second API request.

2. The computer-implemented method of claim 1 , wherein first API request is one of a start content moderation request to perform an analysis of content of the stored video, a start face detection request to perform face detection in the stored video, a start label detection request to perform label detection in the stored video, a start person tracking request to perform person tracking in the stored video, and a start celebrity recognition request to perform celebrity detection in the stored video.

3. The computer-implemented method of claim 1 , wherein the chunk processor includes a chunk decoder to generate chunk frames that are passed to at least one machine learning algorithm to perform the at least one analysis.

4. A computer-implemented method comprising:

receiving a first application programming interface (API) request to analyze a stored video, the API request to include a location of the stored video and at least one analysis action to perform on the stored video;

accessing the location of the stored video to retrieve the stored video;

segmenting the accessed video into chunks;

processing each chunk with a chunk processor to perform the at least one analysis action, each chunk processor to utilize at least one machine learning model in performing the at least one analysis action;

joining the results of the processing of each chunk to generate a final result;

storing the final result; and

providing the final result to a requestor in response to a second API request.

5. The computer-implemented method of claim 4 , wherein first API request is one of a start content moderation request to perform an analysis of content of the stored video, a start face detection request to perform face detection in the stored video, a start label detection request to perform label detection in the stored video, a start person tracking request to perform person tracking in the stored video, and a start celebrity recognition request to perform celebrity detection in the stored video.

6. The computer-implemented method of claim 4 , wherein the chunk processor includes a chunk decoder to generate chunk frames that are passed to at least one machine learning algorithm to perform the at least one analysis.

7. The computer-implemented method of claim 6 , wherein the least one machine learning algorithm of the chunk processor is a face detection algorithm.

8. The computer-implemented method of claim 6 , wherein the least one machine learning algorithm of the chunk processor is a label detection algorithm.

9. The computer-implemented method of claim 4 , wherein the joining of the results of the processing of each chunk to generate a final result is performed by an aggregator and the final result includes at least one of a per frame person bounding box, face bounding box, and a face match.

10. The computer-implemented method of claim 4 , wherein the first API request is received by a front end of a video analysis service.

11. The computer-implemented method of claim 4 , wherein the stored video is generated by capturing and indexing streaming video.

12. The computer-implemented method of claim 4 , wherein the stored video is encrypted and is protected from unauthorized access.

13. The computer-implemented method of claim 4 , further comprising:

notifying a requestor that the final result is available.

14. A system comprising:

an end user device to send a first request for analysis of stored video;

a web services provider to:

receive the request to analyze a stored video, the first request to include a location of the stored video and at least one analysis action to perform on the stored video;

access the location of the stored video to retrieve the stored video;

segment the accessed video into chunks;

process each chunk with a chunk processor to perform the at least one analysis action, each chunk processor to utilize at least one machine learning model in performing the at least one analysis action;

join the results of the processing of each chunk to generate a final result;

store the final result; and

provide the final result to a requestor in response to a second API request.

15. The system of claim 14 , wherein first request is one of a start content moderation request to perform an analysis of content of the stored video, a start face detection request to perform face detection in the stored video, a start label detection request to perform label detection in the stored video, a start person tracking request to perform person tracking in the stored video, and a start celebrity recognition request to perform celebrity detection in the stored video.

16. The system of claim 14 , wherein the chunk processor is to include a chunk decoder to generate chunk frames that are passed to at least one machine learning algorithm to perform the at least one analysis.

17. The system of claim 16 , wherein the least one machine learning algorithm of the chunk processor is a face detection algorithm.

18. The system of claim 16 , wherein the least one machine learning algorithm of the chunk processor is a label detection algorithm.

19. The system of claim 14 , wherein the joining of the results of the processing of each chunk to generate a final result is performed by an aggregator and the final result includes at least one of a per frame person bounding box, face bounding box, and a face match.

20. The system of claim 14 , wherein the first request is received by a front end of the web services provider.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2019
From: SINGHAL, NITIN; BHADAURIA, VIVEK; DAS, RANJU; GHARE, GAURAV D.; GOLDENBERG, ROMAN; GOULD, STEPHEN; HAN, KUANG; HEDLEY, JONATHAN ANDREW; JEYABALAN, GOWTHAM; MANOHAR, VASANT; OLGIATI, ANDREA; STEFANI, STEFANO; TIGHE, JOSEPH PATRICK; UDAYAKUMAR, PRAVEEN KUMAR; ZHENG, RENJUN
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 049240/0288 →
Continuity (2)
Provisional Application 62590208 · Nov 22, 2017
Related Publication 20190156124A1 · May 23, 2019
Cited By (2)
US 12,277,480 US 12,591,810