Patent Description:
Video surveillance systems often include numerous video cameras installed at various locations throughout a facility (e.g., a school, a business, an airport, etc.). The video cameras can be used for monitoring suspicious or otherwise noteworthy activity, such as crimes, accidents, disruptions, lost children, etc. Many video surveillance systems also include some type of video management system for storing and retrieving recorded video streams for analysis by facility security professionals and law enforcement. Document <CIT> discloses a method and apparatus for video retrieval and cueing that automatically detects human faces in the video and identifies face-specific video frames so as to allow retrieval and viewing of person-specific video segments. Document <CIT> discloses methods, systems, and techniques for redacted video exports.

The present disclosure generally pertains to computer assisted methods and video surveillance systems, as defined in claims <NUM> and <NUM> respectively, for storing video streams of a plurality of video cameras installed throughout a facility (e.g., a school, an airport, etc.) and batch searching those video streams for relevant video frames that show, for example, an individual with certain predetermined facial or other characteristics. From those video streams, a collection of video clips containing the relevant video frames are identified, and in some cases, batch exported for later analysis by video surveillance personnel.

In some examples of the disclosure, the search range may be limited by a specified time window, by certain designated cameras, and/or by certain predetermined areas of the facility. In some examples of the disclosure, the collected video clips may be compiled into a single composite video with the video clips being arranged by time for convenient and efficient viewing. In some examples of the disclosure, the video clips may be stored as separate files in a directory for viewing the video clips individually.

The preceding summary is provided to facilitate an understanding of some of the features of the present disclosure and is not intended to be a full description. A full appreciation of the disclosure can be gained by taking the entire specification, claims, drawings and abstract as a whole.

The disclosure may be more completely understood in consideration of the following description of various illustrative embodiments of the disclosure in connection with the accompanying drawings in which:.

The following description should be read with reference to the drawings wherein like reference numerals indicate like elements throughout the several views. The description and drawings show several examples that are meant to be illustrative of the disclosure.

In some examples, the disclosure pertains to a video surveillance system and computer assisted method for storing video streams of numerous video cameras installed throughout a facility (e.g., a school, an airport, etc.) and batch searching those video streams for relevant video frames that show, for example, a designated individual with certain predetermined facial or other characteristics. In some examples, the search range may be limited by a specified time window, by certain designated cameras, and/or by certain predetermined areas of the facility. From those video streams, a collection of video clips containing the relevant video frames may be identified by a search algorithm and batch exported for later analysis by video surveillance personnel. In some examples, the collected video clips are compiled into a single composite video and sorted by time for convenient and efficient viewing. In addition or alternatively, in some examples, the video clips are stored as separate files in a directory for viewing the video clips individually.

<FIG> schematically illustrates an example video surveillance system <NUM> for use at a facility <NUM> (e.g., a single building, a group of buildings, an airport 12a, a campus, a predefined outdoor area, a park, fairgrounds, a worksite, a parking lot, a neighborhood, etc.). Video surveillance system <NUM> provides a method for efficiently searching through a plethora of video recordings for spotting, for example, certain individuals of interest. For sake of example, video surveillance system <NUM> will be described with reference to its use at airport 12a and searching for an individual with certain facial characteristics, as shown in <FIG>. However, it should be recognized that the present disclosure can be applied to any suitable location, and may be used to search for an individual with any other suitable characteristic(s) such as height, weight, clothing type, clothing color, color and/or type of carried or towed bag, walking gate, race, age, gender, activity (sitting, walking , running, loitering) and/or any other suitable characteristic(s). Also, it should be recognized that the present disclosure can be used to search for a particular group of individuals (child with older man) or activities of groups of individuals (e.g. an individual setting an item down and another individual picking up the same item). These are just examples.

In the illustrated example of <FIG> and <FIG>, a plurality of video cameras <NUM> (e.g., a first camera 14a, a second camera 14b, a third camera 14c, a fourth camera 14d, and/or even hundreds or thousands of other video cameras) are installed in various areas of airport 12a. The terms, "video camera" and "camera," as used herein, are equivalent and used interchangeably. Video cameras <NUM> are often used for monitoring and recording suspicious or otherwise noteworthy activity (e.g., crimes, accidents, disruptions, lost children, the movement or whereabouts of certain individuals, etc.). Some example areas of airport 12a include a terminal building entrance <NUM>, a baggage and ticketing area <NUM>, a security area <NUM>, a concourse <NUM>, a parking ramp <NUM>, a baggage claim area <NUM>, and a gate <NUM>.

In some examples, video surveillance system <NUM> includes a processor <NUM> for managing a plurality of video streams <NUM> recorded by video cameras <NUM>. Some examples of system <NUM> search video streams <NUM> from multiple cameras <NUM> to find video frames <NUM> that show a designated individual <NUM> with predefined characteristics <NUM> (e.g., facial characteristics of the designated individual <NUM>). Some example facial characteristics include, face landmarks (e.g., nose, eyes, facial hair, glasses, etc.), skin color, hair color, gender, and age. Based on an image comparison analysis performed by a search algorithm <NUM>, processor <NUM> identifies a plurality of video clips <NUM> containing relevant video frames <NUM> from the plurality of cameras <NUM> and then, in some examples, compiles and organizes them for easier and more efficient analysis by video surveillance personnel <NUM>.

In the illustrative example shown in <FIG>, video surveillance system <NUM> includes processor <NUM> for receiving and managing video streams <NUM> from cameras <NUM>; a memory <NUM> (a storage device) for storing video streams <NUM>, video clips <NUM> and video frames <NUM> thereof; search algorithm <NUM> used by processor <NUM> for finding video frames <NUM> having an image of a designated individual <NUM> based on certain characteristics <NUM> of the individual; an exporter <NUM> of processor <NUM> for exporting relevant video clips <NUM>; and a clock <NUM> to help sort video clips <NUM> in order of time.

Processor <NUM> is schematically illustrated to represent any computer, computing device, computer system, digital device, digital circuit, controller, one or more components thereof and/or combinations thereof. The term "processor" is not limited to a "microprocessor". Examples of processor <NUM> can be in various forms such as a single component or a plurality of interacting components, wherein at least one of the components includes a computer readable medium <NUM> having stored thereon, in a non-transitory state, an executable program code <NUM> that, when executed, causes certain intended physical outcomes. Some examples of such physical outcomes include displaying search results on a display screen <NUM> (e.g., one or more computer monitors); receiving and processing input <NUM> identifying characteristics <NUM> of an individual; converting a video signal <NUM> from cameras <NUM> to a format suitable for viewing, searching, editing and exporting; and accessing search algorithm <NUM>.

The term, "computer readable medium" refers to any device for storing information for any duration (e.g., for extended time periods, permanently, for brief instances, for temporarily buffering, for caching of the information, etc). The term, "program code" refers to executable instructions (e.g., computer readable instruction, machine readable instructions, software, etc.). The term, "non-transitory computer readable medium" is specifically defined to include any type of computer readable storage device and/or storage disk and to exclude propagating signals and to exclude transmission media.

In some examples, search algorithm <NUM> is a known animetrics face recognition program (e.g., running on Microsoft Azure) that can identify an image match with some computed level of confidence. The terms, "match" and "matching" refer to a comparison of images and/or features that are determined to be similar to each other, wherein the determination is with at least some acceptable level of confidence. Thus, the terms, "match" and "matching" do not necessarily mean that the compared images and/or features are exactly the same or even substantially the same. In some examples, an acceptable level of confidence is specified by video surveillance personnel <NUM> and/or by program code <NUM>. In some examples, search algorithm <NUM> provides a computed value of its level of confidence of an image comparison (e.g. a facial recognition match). Some examples of search algorithm <NUM> are accessible through an API (application programming interface) between processor <NUM> and a remote program source such as a server, a computer system, a software program, an operating system or an internet service. In other examples, one or more portions of search algorithm <NUM> are stored on processor <NUM> and interact with executable program code <NUM>. Searching a plurality of video streams <NUM> of a corresponding plurality of video cameras <NUM> is referred to as, "batch searching.

In some examples, processor <NUM> includes memory <NUM>, which stores video streams <NUM>, video clips <NUM> and video frames <NUM>. In some examples, one or more portions of memory <NUM> are remotely located but accessible by processor <NUM> through an internet connection or through some other known communication link. Video frames <NUM> are individual snapshots of video clips <NUM>. Video clips <NUM> are segments of video streams <NUM>.

In some examples, exporter <NUM> is software for exporting video streams <NUM>, video clips <NUM> and/or video frames <NUM> for various uses, such as, for example, for viewing, accessing, editing, storing, organizing, etc. Transferring a collection of multiple video streams <NUM> and/or multiple video clips <NUM> is referred to as, "batch exporting", which includes submitting a group of export jobs for processing on processor <NUM> and whose results are obtained at a later time.

<FIG> is a flowchart illustrating a computer assisted method <NUM> for gathering video clips <NUM> each containing an individual with characteristics matching one or more characteristics <NUM> of a designated individual <NUM> in facility <NUM>, wherein video clips <NUM> are extracted from a plurality of video streams <NUM>, each video stream <NUM> captured by a corresponding one of a plurality of video cameras <NUM> of video surveillance system <NUM> of facility <NUM>. The term, "extracted," as it refers to a video clip and video stream means that the video clip is a segment of the video stream and that the video clip is handled (e.g., stored, cut, copied, played, etc.) separately from the rest of the video stream. The term, "batch extracted," is basically the same as the term "extracted" but applies to a group of video clips taken from one or more video streams, and may include submitting a group of extraction jobs for processing on processor <NUM> and whose results are obtained at a later time. A block <NUM> of <FIG> represents processor <NUM> receiving at least one characteristic <NUM> of designated individual <NUM>. A block <NUM> represents processor <NUM> batch searching multiple video streams <NUM> for video frames <NUM> showing an image of an individual with characteristics matching those of designated individual <NUM>. This includes submitting a group of search jobs for processing on processor <NUM> and whose results are obtained at a later time. A block <NUM> represents processor <NUM> extracting video clips <NUM> that include video frames <NUM> showing an image of an individual with characteristics matching those of designated individual <NUM>. A block <NUM> represents associating the extracted video clips <NUM> with the corresponding video cameras <NUM> that recorded the respective video clips <NUM>. A block <NUM> represents batch exporting the extracted video clips <NUM> and their association with their respective video cameras <NUM>. A block <NUM> represents further associating the extracted video clips <NUM> with a time of when the video clips <NUM> were recorded.

<FIG> show an example sequence of screenshots of display screen <NUM> as computer assisted method <NUM> is performed. In this particular example, video streams <NUM> have already been recorded, and searching for a designated individual <NUM> is performed afterwards. In other examples, however, searching may be done in real or near-real time while cameras <NUM> are recording. Although, computer assisted method <NUM> is not limited to any number of video cameras <NUM>, video streams <NUM> from only four cameras <NUM> (cameras 14a, 14b, 14c and 14d) are shown in this illustrated example. In some cases, a user of the security system <NUM> may select which cameras to use, sometimes by dragging and dropping icons of the selected cameras into the middle area <NUM> of the display screen <NUM> (see <FIG>).

The middle area <NUM> of the display screen <NUM> shown in <FIG> shows ever changing video frames 34a, 34b, 34c and 34d recorded at an instant in time by video cameras 14a, 14b, 14c and 14d; respectively. Video frames 34a, 34b, 34c and 34d are labeled at CAM-<NUM>, CAM-<NUM>, CAM-<NUM> and CAM-<NUM>; respectively, thereby associating video streams <NUM>, video clips <NUM> and video frames <NUM> with the video cameras <NUM> that did the recordings. In this example, with reference to <FIG>, video camera 14a monitors terminal building entrance <NUM>, camera 14b monitors baggage and ticketing area <NUM>, camera 14c monitors security area <NUM>, and camera 14d monitors concourse <NUM>.

In the example shown, a lower area <NUM> of display screen <NUM>, shown in <FIG>, shows a timeline <NUM> and a plurality of video tracks <NUM> (e.g., a first video track 82a, a second video track 82b, a third video track 82c and a fourth video track 82d). Lower area <NUM> also shows what is colloquially referred to as a play head <NUM>. The location of play head <NUM> along video tracks <NUM> relative to timeline <NUM> determines which video frames <NUM> are shown in the middle area <NUM> of display screen <NUM>. Solid black areas <NUM> of video tracks <NUM> identify confirmed areas where designated individual <NUM> was spotted on video streams <NUM>. Designated individual <NUM> might also appear in white areas <NUM> of video tracks <NUM>, but search algorithm <NUM> might have been unable to confirm such sightings with any significant degree of confidence.

An upper area <NUM> of display screen <NUM>, shown in <FIG>, includes a picture frame <NUM> and several tabs <NUM> (e.g., tabs 94a-h). In some examples, uploading an image <NUM>' of the face of a designated individual <NUM> (e.g., image of an individual's face) provides a way for inputting characteristics <NUM> of an individual for which processor <NUM> is to perform a search function using search algorithm <NUM>. In addition or alternatively, some examples of characteristics <NUM> can be inputted alphanumerically via a keyboard. Some examples of such characteristics <NUM> may include, hair color, number of carried bags, shirt color, height, approximate weight, sex, etc..

Tabs <NUM> can be used for controlling other functions of system <NUM>. For example, a SEARCH tab 94a may initiate a search function, a BROWSE tab 94b may provide access to alternate stored examples of image <NUM>', a NEW tab 94c may initiate another search, a CAMS tab 94d may provide a way for selecting which video streams <NUM> should be searched, a TIME tab 94e may provide a way for selecting which time periods should be searched, a LOCATION tab 94f may provide a way for selecting which area of facility <NUM> should be searched, an EXPORT tab <NUM> may be used for doing a batch export of video clips, and any number of additional tabs <NUM> may be used for various other desired functions.

For some examples, TIME tab 94e schematically illustrates video surveillance personnel <NUM> entering a chosen search time window and processor <NUM> receiving it. In response to that, processor <NUM> limits its search to videos recorded only during the specified search time window. In some examples, different time windows are applied to different video streams <NUM>. This can be useful because designated individual <NUM> might be expected at terminal building entrance <NUM> possibly hours before individual <NUM> is expected at concourse <NUM>. For some examples, TIME tab 94e schematically illustrates video surveillance personnel <NUM> entering a chosen export time window and processor <NUM> receiving it. In response to that, processor <NUM> limits its range of batch exporting video clips <NUM> to only those video clips falling within the specified export time window. In some examples, different export time windows are applied to different video streams <NUM> for the same beneficial reason for having different time windows. These are just examples.

<FIG> illustrate an example sequence of operation of system <NUM>, as designated individual <NUM> enters and travels through facility <NUM>. The location of play head <NUM> along timeline <NUM> identifies the progression of the individual's movements.

<FIG> shows none of the four cameras 14a-d having spotted designated individual <NUM> at the point in time indicated by play head <NUM> on timeline <NUM>. Consequently, processor <NUM> leaves each of the video tracks 82a-d white at the location of play head <NUM>.

<FIG> shows only first camera 14a (CAM-<NUM>) having spotted designated individual <NUM> entering facility <NUM> at terminal building entrance <NUM>. So, processor <NUM> blackens first video track 82a at this location of play head <NUM> while leaving the other video tracks 82b-d white. In this example, individual <NUM> is shown carrying both a large bag <NUM> and a small bag <NUM>. In some cases, if the designated individual is identified multiple times close in time to one another, the processor may blacken the first video track 82a to include all of the multiple sightings. This will result in a single video clip that covers the multiple sightings rather than many very short clips. In some cases, a threshold may be specified to identify how close the sightings must be before the sightings are collapsed into a single video clip.

<FIG> shows another video frame 34a of first camera 14a with designated individual <NUM> still in the area of entrance <NUM>. So, processor <NUM> blackens first video track 82a at this location as well, while still leaving the other video tracks 82b-d white.

<FIG> shows none of the four cameras 14a-d seeing designated individual <NUM> at this point in time. Consequently, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows second camera 14b (CAM-<NUM>) having spotted designated individual <NUM> approaching baggage and ticketing area <NUM>. So, processor <NUM> blackens second video track 82b at this location of play head <NUM> while leaving the other video tracks 82a, 82c and 82d white.

<FIG> shows designated individual <NUM> at baggage and ticketing area <NUM>; however, search algorithm <NUM> fails to identify the individual's face, as the face is momentarily hidden from view. Consequently, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows the individual's face back in sight of second camera 14b (CAM-<NUM>). It appears that individual <NUM> has placed large bag <NUM> on a scale <NUM> to be weighed and checked in. With the individual's face back in view, processor <NUM> blackens second video track 82b at this location of play head <NUM> while leaving the other video tracks 82a, 82c and 82d white. In some cases, if the time period that the search algorithm <NUM> fails to identify the individual's face between two positive sightings (e.g. the sighing in <FIG> and the subsequent sighting in <FIG>) is less than a threshold, the processor <NUM> may collapse the two sightings into a single video clip and blacken the second video track 82b to encompass both sightings.

<FIG> shows none of the four cameras 14a-d seeing designated individual <NUM> at this point in time. Individual <NUM> apparently left the baggage and ticketing area <NUM> while leaving large bag <NUM> there for check in. With individual <NUM> currently out of sight, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows third camera 14c (CAM-<NUM>) having sighted individual <NUM> at security area <NUM>. At this point, individual <NUM> is only carrying small bag <NUM>. Processor <NUM> blackens third video track 82c at this location of play head <NUM> while leaving the other video tracks 82a, 82b and 82d white.

<FIG> shows individual <NUM> still at security area <NUM>; however, search algorithm <NUM> fails to identify the individual's face, as the face is momentarily hidden from view from an X-ray machine. Consequently, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows the individual's face back in sight of third camera 14c (CAM-<NUM>). It appears that individual <NUM> had placed small bag <NUM> on a conveyor <NUM> to be X-rayed and is about to pick it up again. With the individual's face back in view, processor <NUM> blackens third video track 82b at this location of play head <NUM> while leaving the other video tracks 82a, 82b and 82d white. Again, in some cases, if the time period that the search algorithm <NUM> fails to identify the individual's face between two positive sightings (e.g. the sighing in <FIG> and the subsequent sighting in <FIG>) is less than a threshold, the processor <NUM> may collapse the two sightings into a single video clip and blacken the third video track 82c to encompass both sightings.

<FIG> shows none of the four cameras 14a-d seeing designated individual <NUM> at this point in time. Individual <NUM> apparently left security area <NUM> and is heading somewhere else. With individual <NUM> currently out of sight, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows fourth camera 14d (CAM-<NUM>) having sighted individual <NUM> in concourse <NUM>. At this point, individual <NUM> is only carrying small bag <NUM>. Processor <NUM> blackens fourth video track 82d at this location of play head <NUM> while leaving the other video tracks 82a, 82b and 82c white.

<FIG> shows none of the four cameras 14a-d seeing designated individual <NUM> at this point in time. Individual <NUM> may have stopped somewhere to eat or walked to a gate or another concourse in facility <NUM>. With individual <NUM> currently out of sight, processor <NUM> leaves each of the video tracks 82a-d white at this particular location of play head <NUM>.

<FIG> shows that after an extended period of time, fourth video camera 14d (CAM-<NUM>) spots individual <NUM> one last time in concourse <NUM>. For this last sighting, processor <NUM> blackens fourth video track <NUM> at this location of play head <NUM> while leaving the other video tracks 82a, 82b and 82c white. Since individual <NUM> is not sighted again, individual <NUM> may have boarded a plane and left the airport. With no further sightings, processor <NUM> sets each of the video tracks 82a-d to white from this point forward.

With the batch search completed, relevant video clips <NUM> are identified (corresponding to the blackened portions of the video tracks 82a-d), extracted, compiled, organized and/or stored. The relevant video clips <NUM> may be batch exported for later viewing by security personnel in an efficient manner. In some examples, one or more of these functions may be performed manually, automatically, or a combination of the two. In some cases, video surveillance personnel <NUM> may initiate the batch exporting of some or all of the relevant video clips <NUM> by selecting the export button <NUM> (see <FIG>).

In some examples, as shown in <FIG>, video surveillance personnel <NUM> can position start bars <NUM> and stop bars <NUM> on video tracks <NUM> to define desired search windows for each camera <NUM> in which search algorithm <NUM> will search. Bars <NUM> and <NUM>, for example, define a search window <NUM> for video track 82b of fourth video camera 14d. Specifying desired search windows (e.g., search window <NUM>) may be used for reducing the time required for batch searching since only relevant time periods of video streams <NUM> will be searched.

In some examples, as also shown in <FIG>, video surveillance personnel <NUM> may review the video streams <NUM> by directing play head <NUM> to scan video tracks <NUM>. In the example illustrated in <FIG>, start buttons <NUM> and stop buttons <NUM> have been added to play head <NUM>. Video surveillance personnel <NUM> may use buttons <NUM> and <NUM> for respectively marking start points <NUM> and stop points <NUM>, which define a chosen export time window (e.g., an export time window <NUM> for video track 82b of second video camera 14b). In some examples, one or more video clips <NUM> lying within a specified export time window (e.g., within export time window <NUM>) may then be exported for later viewing and analysis. In some example, when multiple video clips <NUM> lie within the same export time window, the video clips <NUM> are batch exported as multiple individual files. In some examples, a video recording spanning the full length of a specified export window is exported as a single file, wherein some examples of such a single file include multiple video clips <NUM>.

Referring also to <FIG>, a start button 104a, for example, may be used for setting a start point 108a on first video track 82a, and a stop button 106a may be used for setting a stop point 110a. Points 108a and 110a then define at least a first video clip 40a (a segment of first video track 82a) that shows individual <NUM> at the terminal building entrance <NUM> (<FIG> and <FIG>). In some examples, first video clip 40a may also include an extended recorded period <NUM> after the blackened portion of video track 82a.

Likewise, a start button 104b may be used for setting a start point 108b on second video track 82b, and a stop button 106b may be used for setting a stop point 110b. Points 108b and 110b then define at least a second video clip 40b (a segment of second video track 82b) that shows individual <NUM> at the baggage and ticketing area <NUM> (<FIG>). In some examples, video clip 40b may also include extended recorded periods before and after the blackened portions of video track 82b.

Although search algorithm <NUM> failed to detect individual <NUM> momentarily (<FIG>), that portion <NUM> of the video stream 82b is still included in second video clip 40b to avoid creating an overly disjointed collection of video clips <NUM>. Moreover, if the non-detection period <NUM> is relatively brief and momentary, such a period may still provide relevant information. In some examples, video surveillance personnel <NUM> determines whether to include such a non-detection period <NUM>. In other examples, processor <NUM> automatically determines whether to include non-detection period <NUM> based on the period's duration. For instance, in some examples, processor <NUM> includes non-detection periods of less than a certain amount of time, e.g., less than seven seconds.

The method of defining the start and stop points of video clips 40a and 40b can also be used for establishing any number of additional video clips <NUM>, such as video clips 40c of video track 82c and video clips 40d and 40e of video track 82d, as shown in <FIG>. It can be noted that in the example of video track 82d, a non-detection period <NUM> (<FIG>) between sighting shown in <FIG> and <FIG> is so long (e.g., at least seven seconds or perhaps even hours) that video clips 40d and 40e are separated into two relevant video clips rather than combined into a single unnecessarily long one.

Video clips 40a-e, as identified in <FIG> are then batch extracted, which is illustrated by arrows <NUM> of <FIG>. In some examples, the extracted video clips 40a-e are combined into a single composite video <NUM>. In some examples, composite video <NUM> is stored on memory <NUM> such that when subsequently retrieved and viewed, video clips 40a-e are played in time order and identify which video camera <NUM> did the recording. Composite video <NUM> is convenient for later viewing in an efficient manner without having to watch an excessive amount of extraneous recorded material. In some examples, individual video frames of composite video <NUM> are associated with a corresponding time of recording <NUM> and/or associated with a corresponding video camera identification <NUM> (e.g., CAM-<NUM>, CAM-<NUM>, etc.). In some examples, the time <NUM> and/or camera association <NUM> are batch exported along with the batch exporting of video clips 40a-e. The time of recording <NUM> and video camera identification <NUM> change according to the position of a play head <NUM> along composite video <NUM>.

In addition or alternatively, video clips 40a-e are batch exported <NUM> as a group of video files <NUM> corresponding to video clips 40a-e. In some examples, video files <NUM> also include a composite file <NUM> corresponding to composite video <NUM>. Video files <NUM> and composite file <NUM> may be stored on memory <NUM> in a directory <NUM> and/or as separate video files sorted based on a date <NUM> of file creation, a type of file <NUM>, a size of file <NUM>, etc..

Claim 1:
A computer assisted method for gathering video clips each containing an individual with characteristics matching one or more characteristics of a designated individual in a facility, wherein the video clips are extracted from a plurality of video streams, each video stream captured by a corresponding one of a plurality of video cameras of a video surveillance system of the facility, the method comprising:
receiving one or more characteristics of the designated individual;
executing a search algorithm on a computing device, the search algorithm batch searching the plurality of video streams for video frames that include an individual with characteristics matching the one or more received characteristics of the designated individua
wherein the batch searching includes submitting a group of search jobs for processing and whose results are obtained at a later time for each video stream that has at least one video frame including an individual with characteristics matching the one or more received characteristics of the designated individual:
extracting one or more video clips from the respective video stream, wherein each extracted video clip includes one or more video frames with an individual having characteristics matching the one or more received characteristics of the designated individual; and
associating each of the one or more video clips with the video camera corresponding to the respective video stream;
associating each of the one or more video clips with a corresponding time; and
batch exporting the video clips including the association of each of the video clips with the respective one of the plurality of video cameras and the association of each of the video clips with the corresponding time, to a storage device for later viewing by security personnel wherein the batch exporting includes submitting a group of export jobs for processing and whose results are obtained at a later time, the batch exporting comprising:
combining the video clips into a composite video file with individual video frames of the composite video file associated with a respective one of the plurality of video cameras such that when the composite video file is subsequently retrieved and viewed, the video clips are played in time order and identify which video camera did the recording.