# US 12,008,812 B2 · Simultaneous playback of continuous video recordings from multiple recording devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,008,812 B2
- Document ID: US12008812B2
- Status: Granted
- Kind: B2
- Application number: 17/490,834
- Filed: 2021-09-30
- Published: 2022-03-31
- Granted: 2024-06-11
- Earliest claimed: 2020-09-30
- Assignees: Alarm.com Incorporated
- Applicants: Alarm.com Incorporated
- Inventors: Meredith Arrison; Sean Gallahan; Adam Brandfass
- Web page: https://patentgrep.com/patent/US12008812B2

## CPC

- G06V 20/49: {Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes}
- G06F 16/743: {a collection of video files or sequences}
- G06F 16/7867: {using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings}
- G06V 20/44: {Event detection}
- G06V 20/46: {Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames}
- G06V 20/52: Surveillance or monitoring of activities, e.g. for recognising suspicious objects (recognising microscopic objects G06V20/69)
- G06V: IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems, including computer programs encoded on a computer storage medium, are disclosed for simultaneous playback of continuous video recordings from multiple recording devices. A system obtains respective video data generated by multiple recording devices. Each video data includes multiple image frames. For each recording device: based on a time value, the system identifies events captured in the video data generated by the recording device. Based on an input variable corresponding to the events, the system: i) identifies an event stream that coincides with occurrence of a particular event captured in the video data; ii) determines a control value for segmenting image frames of the event stream; and iii) based on the control value, generates a video segment in response to isolating image frames of the event stream coinciding with the particular event. A graphical interface is generated that concurrently outputs each video segment for each recording device.

## Claims

### Claim 1

A computer-implemented method, comprising:
identifying, based on a time value, video data generated by a recording device and that shows one or more events;
identifying, based on an input variable that is weighted to indicate events of interest to a user, an event stream that coincides with occurrence of a particular event captured in the video data;
determining a control value that specifies N number of video segments,
wherein the control value is determined based on information about a single display used to present portions of the video data as a collection of video segments,
wherein N is an integer greater than or equal to 2;
isolating image frames of the event stream that coincide with the particular event,
wherein the image frames coinciding with the particular event are isolated based on the control value and the input variable weighted to indicate events of interest to a user;
generating N video segments using the isolated image frames of the event stream; and
generating instructions to cause presentation, by the single display, of a graphical interface that outputs the N video segments.

### Claim 2 (depends on 1)

The method of claim 1, comprising:
presenting, using the graphical interface, each of the N video segments concurrently at a digital display of a computing device.

### Claim 3 (depends on 1)

The method of claim 1, wherein:
identifying an event stream comprises identifying a respective event stream for each of a plurality of recording devices;
each respective event stream includes content that is common among respective video data generated by each of the plurality of recording devices; and
the graphical interface concurrently outputs the N video segments generated from respective video data for different recording devices among the plurality of recording devices.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining a control value for segmenting image frames of the event stream comprises determining a control value based on:
i) a software configuration of the graphical interface and
ii) a hardware configuration or a software configuration of a digital display of a computing device used to output two or more individual video segments.

### Claim 5

A computer-implemented method, comprising:
identifying, based on a time value, video data generated by a recording device, among a plurality of recording devices, that shows one or more events;
identifying, based on an input variable corresponding to the one or more events, an event stream that coincides with occurrence of a particular event captured in the video data;
determining a control value for segmenting image frames of the event stream;
isolating, based on the control value, image frames of the event stream coinciding with the particular event;
generating individual video segments using the image frames of the event stream that were isolated based on the control value; and
generating a graphical interface that concurrently outputs each of the individual video segments;
identifying an event stream comprises identifying a respective event stream for each of the plurality of recording devices;
each respective event stream includes content that is common among respective video data generated by each of the plurality of recording devices; and
the graphical interface concurrently outputs individual video segments generated from respective video data for different recording devices among the plurality of recording devices, wherein the input variable is one of:
a plurality of weighted variables that represent an attribute of the particular event; and
a plurality of unweighted variables that are associated with the attribute of the particular event.

### Claim 6 (depends on 5)

The method of claim 5, wherein isolating the image frames comprises:
identifying a value of the input variable that represents a first attribute of the particular event;
determining, based on the input variable, that a first subset of image frames coinciding with the particular event includes content that aligns with the first attribute of the particular event; and
in response to determining, isolating the first subset of the image frames.

### Claim 7 (depends on 6)

The method of claim 6, wherein generating individual video segments comprises:
generating, for a first recording device, a first individual video segment from the first subset of image frames.

### Claim 8 (depends on 7)

The method of claim 7, wherein isolating the image frames comprises:
determining, based on the input variable, that a second subset of image frames coinciding with the particular event includes content that aligns with the first attribute of the particular event; and
isolating the second subset of image frames based on the determination that content of the second subset of image frames aligns with the first attribute of the particular event.

### Claim 9 (depends on 8)

The method of claim 8, wherein generating individual video segments comprises:
generating, for a second recording device, a second individual video segment from the second subset of image frames coinciding with the particular event.

### Claim 10 (depends on 9)

The method of claim 9, wherein:
the first subset of images are isolated from respective video data generated by the first recording device;
the second subset of images are isolated from respective video data generated by the second recording device; and
the second recording device is distinct from the first recording device.

### Claim 11 (depends on 10)

The method of claim 10, wherein:
the graphical interface is a single graphical interface; and
the method comprises, concurrently presenting in the single graphical interface output at an electronic display:
the first individual video segment generated for the first recording device from the first subset of image frames; and
the second individual video segment generated for the second recording device from the second subset of image frames.

### Claim 12

A system, comprising:
a processing device; and
a non-transitory machine-readable storage device storing instructions that are executable by the processing device to cause performance of operations comprising:
identifying, based on a time value, video data generated by a recording device and that shows one or more events;
identifying, based on an input variable that is weighted to indicate events of interest to a user, an event stream that coincides with occurrence of a particular event captured in the video data;
determining a control value that specifies N number of video segments,
wherein the control value is determined based on information about a single display used to present portions of the video data as a collection of video segments,
wherein N is an integer greater than or equal to 2;
isolating image frames of the event stream that coincide with the particular event,
wherein the image frames coinciding with the particular event are isolated based on the control value and the input variable weighted to indicate events of interest to a user;
generating N video segments using the isolated image frames of the event streams; and
generating instructions to cause presentation, by the single display, of a graphical interface that outputs the N video segments.

### Claim 13 (depends on 12)

The system of claim 12, comprising:
presenting, using the graphical interface, each of the N video segments concurrently at a single digital display of a computing device.

### Claim 14 (depends on 12)

The system of claim 12, wherein:
identifying an event stream comprises identifying a respective event stream for each of a plurality of recording devices;
each respective event stream includes content that is common among respective video data generated by each of the plurality of recording devices; and
the graphical interface concurrently outputs the N video segments generated from respective video data for different recording devices among the plurality of recording devices.

### Claim 15

A system, comprising:
a processing device; and
a non-transitory machine-readable storage device storing instructions that are executable by the processing device to cause performance of operations comprising:
identifying, based on a time value, video data generated by a recording device, among a plurality of recording devices, that shows one or more events;
identifying, based on an input variable corresponding to the one or more events, an event stream that coincides with occurrence of a particular event captured in the video data;
determining a control value for segmenting image frames of the event stream;
isolating, based on the control value, image frames of the event stream coinciding with the particular event;
generating individual video segments using the image frames of the event stream that were isolated based on the control value;
generating a graphical interface that concurrently outputs each of the individual video segments; and
identifying an event stream comprises identifying a respective event stream for each of the plurality of recording devices;
each respective event stream includes content that is common among respective video data generated by each of the plurality of recording devices; and
the graphical interface concurrently outputs individual video segments generated from respective video data for different recording devices among the plurality of recording devices, wherein the input variable is one of:
a plurality of weighted variables that represent an attribute of the particular event; and
a plurality of unweighted variables that are associated with the attribute of the particular event.

### Claim 16 (depends on 15)

The system of claim 15, wherein isolating the image frames comprises:
identifying a value of the input variable that represents a first attribute of the particular event;
determining, based on the input variable, that a first subset of image frames coinciding with the particular event includes content that aligns with the first attribute of the particular event; and
in response to determining, isolating the first subset of the image frames.

### Claim 17 (depends on 16)

The system of claim 16, wherein generating individual video segments comprises:
generating, for a first recording device, a first individual video segment from the first subset of image frames.

### Claim 18 (depends on 17)

The system of claim 17, wherein isolating the image frames comprises:
determining, based on the input variable, that a second subset of image frames coinciding with the particular event includes content that aligns with the first attribute of the particular event; and
isolating the second subset of image frames based on the determination that content of the second subset of image frames aligns with the first attribute of the particular event.

### Claim 19 (depends on 18)

The system of claim 18, wherein generating individual video segments comprises:
generating, for a second recording device, a second individual video segment from the second subset of image frames coinciding with the particular event.

### Claim 20 (depends on 19)

The system of claim 19, wherein:
the first subset of images are isolated from respective video data generated by the first recording device;
the second subset of images are isolated from respective video data generated by the second recording device; and
the second recording device is distinct from the first recording device.
