US2016342688A1PendingUtilityA1
Large scale video analytics architecture
Est. expiryJun 25, 2033(~6.9 yrs left)· nominal 20-yr term from priority
Inventors:Chunsheng Fang
G06F 16/116G06F 16/783G06F 16/951H04N 21/8456G06F 16/71G06F 16/182G06F 16/316G11B 27/10G06F 17/30858G06F 17/30619G06F 17/30784
51
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A video file is split into a plurality of chunks. At least a subset of the chunks is processed in parallel, including by detecting one or more moving objects and computing for each detected moving object a visual key and an associated attribute value. The visual key and the associated attribute value are provided as output.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
splitting a video file into a plurality of chunks respectively comprising unstructured video data; processing at least a subset of the chunks in parallel, including detecting one or more moving objects and computing for the one or more detected moving objects corresponding ones of a visual key and an associated-attribute value, wherein the attribute value comprises one or more of a set of one or more coordinates corresponding to a location of the moving object in an image frame with which a key-value pair is associated and a timestamp associated with the image frame with which the key-value pair is associated; providing the visual key and the associated attribute value as an output; and storing, in a database, the visual key and the associated attribute value as structured information in a searchable format.
2 . The method of claim 1 , wherein the splitting the video file into the plurality of chunks is comprises in the event that a boundary corresponding to at least one of the plurality of chunks does not conform to a Group of Pictures boundary associated with a first Group of Pictures, sending a first subset of one or more frames corresponding to the first Group of Pictures to a processor that is to process a second subset of one or more frames corresponding to the first Group of Pictures.
3 . The method of claim 1 , wherein the processing of at least the subset of chunks and computing for each detected moving object the visual key and the associated attribute value comprises:
associating each detected moving foreground object with an image frame, a timestamp associated with the image frame, and a fingerprint representation of the corresponding moving foreground object.
4 . The method of claim 1 , further comprising:
receiving a query from a client; querying the database based at least in part on the query; in the event that the database includes data that is responsive to the query, providing the client with a query result, the query result including an image displaying an object corresponding to the query result; and in response to receiving a input from the client, the input corresponding to a selection of the query result, retrieving corresponding underlying raw video data of the object corresponding to the query result.
5 . The method of claim 3 , wherein the fingerprint representation of the corresponding moving foreground object is computed based on an image content analysis.
6 . The method of claim 1 , wherein the one or more coordinates indicate a geo-location corresponding to the location of the moving object in the image frame.
7 . The method of claim 1 , wherein the database is searchable using natural-language queries.
8 . The method of claim 1 , wherein the video file comprises a standard video file format.
9 . The method of claim 1 , further comprising detecting the standard video file format.
10 . The method of claim 9 , further comprising transcoding the video file from the standard video file format to distributed file system-friendly format.
11 . The method of claim 1 , wherein each chunk is processed at least in part by a map stage to which the chunk is provided as input.
12 . The method of claim 11 , wherein the visual key and the associated attribute value are computed by the map stage and provided as output in the form of a composite key-value pair.
13 . The method of claim 1 , wherein the key-value pair is sent to a reduce stage determined based at least in part on the visual key.
14 . The method of claim 13 , wherein the reduce stage is configured to collect key-value pairs associated with a same moving object and to form and store a trajectory data based on the collected key-value pairs.
15 . The method of claim 1 , further comprising using the visual key and associated attribute value to compute and store structured information associated with at least a portion of the video file.
16 . The method of claim 15 , wherein the structured information, optional with a thumbnail image for future reference, is stored in a database.
17 . The method of claim 16 , further comprising using an index associated with the structured information as stored in the database to retrieve at least a portion of said structured information from the database in response to a database query.
18 . The method of claim 17 , wherein the query comprises a SQL query.
19 . The method of claim 16 , wherein the database includes an advanced data analytics capability and further comprising using the advanced data analytics capability to perform advanced data analytics processing with respect to at least a portion of the structured information.
20 . The method of claim 15 , further comprising providing a visual representation of at least a defined subset of said structured information.
21 . The method of claim 20 , wherein the structured information comprises a trajectory of the moving object and the visual representation comprises a visual representation of the trajectory.
22 . The method of claim 21 , wherein the trajectory is represented as a line or one or more other graphical elements arranged in the visual representation to indicate the trajectory of the moving object with respect to a static or other background or reference.
23 . The method of claim 1 , further comprising decoding, in parallel, one or more image frames from a plurality of localized distributed chunks in a Hadoop Distributed File System (HDFS).
24 . A system, comprising:
a processor; and a memory coupled with the processor, wherein the memory is configured to provide the processor with instructions which when executed cause the processor to:
split a video file into a plurality of chunks respectively comprising unstructured video data;
process at least a subset of the chunks in parallel, including detecting one or more moving objects and computing for the one or more detected moving objects corresponding ones of a visual key and an associated attribute value, wherein the attribute value comprises one or more of a set of one or more coordinates corresponding to a location of the moving object in an image frame with which a key-value pair is associated and a timestamp associated with the image frame with which the key-value pair is associated;
provide the visual key and the associated attribute value as an output; and
store, in a database, the visual key and the associated attribute value as structured information in a searchable format.
25 . A computer program product, the computer program product being embodied in a non-transitory tangible computer readable storage medium and comprising computer instructions for:
splitting a video file into a plurality of chunks respectively comprising unstructured video data; processing at least a subset of the chunks in parallel, including by detecting one or more moving objects and computing for the one or more detected moving objects corresponding ones of a visual key and an associated attribute value, wherein the attribute value comprises one or more of a set of one or more coordinates corresponding to a location of the moving object in an image frame with which a key-value pair is associated and a timestamp associated with the image frame with which the key-value pair is associated; providing the visual key and the associated attribute value as an output; and store, in a database, the visual key and the associated attribute value as structured information in a searchable format.Join the waitlist — get patent alerts
Track US2016342688A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.