IP Library Granted Patent US 10,341,605
Granted Patent B1
US 10,341,605 · App. 15/481,214 · Granted Jul 2, 2019

Systems and methods for multiple-resolution storage of media streams

Inventors: Robert V. Vanman (McKinney, TX); James Walter Exner (Plano, TX)
Assignee: WatchGuard, Inc.
H04N7/0117G06K9/00771G11B27/031H04N5/23296H04N5/2628H04N5/91G06K2209/15G06K2209/21G06K2209/23
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,341,605
App. No.
15/481,214
Granted
Jul 2, 2019
Kind
B1
Abstract

In an embodiment, a method includes continuously receiving, from a camera, raw video frames at an initial resolution. The method also includes, for each raw video frame, as the raw video frame is received: downscaling the raw video frame to a first resolution to yield a first scaled video frame; downscaling the raw video frame to a second resolution distinct from the first resolution to yield a second scaled video frame; identifying a location of a target; cropping at least video frame based, at least in part, on the location of the target; and storing the first scaled video frame, the second scaled video frame, and information related to the cropped at least one video frame as part of a first video stream, a second video stream, and a third video stream, respectively.

Claims (51)

1. A method comprising, by a computer system:

continuously receiving, from a plurality of cameras, raw video frames at an initial resolution, wherein the plurality of cameras are arranged to provide a 360-degree view relative to a point of reference;

for each camera of the plurality of cameras, for each raw video frame, as the raw video frame is received:

downscaling the raw video frame to a first resolution to yield a first scaled video frame;

downscaling the raw video frame to a second resolution distinct from the first resolution to yield a second scaled video frame;

identifying a location of a target in at least one of the raw video frame, the first scaled video frame, and the second scaled video frame;

cropping at least one video frame selected from among the raw video frame, the first scaled video frame, and the second scaled video frame based, at least in part, on the location of the target;

downscaling the cropped at least one video frame to a third resolution to yield a third scaled video frame; and

storing the first scaled video frame, the second scaled video frame, and information related to the cropped at least one video frame as part of a first video stream, a second video stream, and a third video stream, respectively; and

blending together a video stream of each of the plurality of cameras into a 360-degree video stream, wherein the video stream of each of the plurality of cameras comprises at least one of the first video stream, the second video stream, and the third video stream.

2. The method of claim 1 , wherein, for at least one camera of the plurality of cameras, the identifying comprises identifying the location of the target in the raw video frame.

3. The method of claim 1 , wherein the third resolution is the same as at least one of the first resolution and the second resolution.

4. The method of claim 1 , comprising:

downscaling the cropped at least one video frame to a fourth resolution to yield a fourth scaled video frame; and

storing the fourth scaled video frame as part of a fourth video stream.

5. The method of claim 1 , wherein the storing the information related to the cropped at least one video frame comprises storing the cropped at least one video frame as part of the third video stream.

6. The method of claim 1 , wherein the cropping comprises cropping the at least one video frame to a narrower field of view.

7. The method of claim 1 , wherein the at least one video frame is the raw video frame.

8. The method of claim 1 , wherein the target is selected from the group consisting of person, vehicle, and license plate.

9. The method of claim 1 , wherein the identifying comprises selecting from among a plurality of potential targets.

10. The method of claim 9 , wherein the selecting prioritizes identification of people over other potential targets.

11. The method of claim 1 , comprising causing at least one of the plurality of cameras to at least one of pan and tilt based, at least in part, on the location of the target.

12. A system comprising a processor and memory, wherein the processor and memory in combination are operable to implement a method comprising:

continuously receiving, from a plurality of cameras, raw video frames at an initial resolution, wherein the plurality of cameras are arranged to provide a 360-degree view relative to a point of reference;

for each camera of the plurality of cameras, for each raw video frame, as the raw video frame is received:

downscaling the raw video frame to a first resolution to yield a first scaled video frame;

downscaling the raw video frame to a second resolution distinct from the first resolution to yield a second scaled video frame;

identifying a location of a target in at least one of the raw video frame, the first scaled video frame, and the second scaled video frame;

cropping at least one video frame selected from among the raw video frame, the first scaled video frame, and the second scaled video frame based, at least in part, on the location of the target;

downscaling the cropped at least one video frame to a third resolution to yield a third scaled video frame; and

storing the first scaled video frame, the second scaled video frame, and information related to the cropped at least one video frame as part of a first video stream, a second video stream, and a third video stream, respectively; and

blending together a video stream of each of the plurality of cameras into a 360-degree video stream, wherein the video stream of each of the plurality of cameras comprises at least one of the first video stream, the second video stream, and the third video stream.

13. The system of claim 12 , wherein, for at least one camera of the plurality of cameras, the identifying comprises identifying the location of the target in the raw video frame.

14. The system of claim 12 , wherein the third resolution is the same as at least one of the first resolution and the second resolution.

15. The system of claim 12 , the method comprising:

downscaling the cropped at least one video frame to a fourth resolution to yield a fourth scaled video frame; and

storing the fourth scaled video frame as part of a fourth video stream.

16. The system of claim 12 , wherein the storing the information related to the cropped at least one video frame comprises storing the cropped at least one video frame as part of the third video stream.

17. The system of claim 12 , wherein the identifying comprises selecting from among a plurality of potential targets.

18. The system of claim 17 , wherein the selecting prioritizes identification of people over other potential targets.

19. The system of claim 12 , the method comprising causing at least one of the cameras to at least one of pan and tilt based, at least in part, on the location of the target.

20. A computer-program product comprising a non-transitory computer-usable medium having computer-readable program code embodied therein, the computer-readable program code adapted to be executed to implement a method comprising:

continuously receiving, from a plurality of cameras, raw video frames at an initial resolution, wherein the plurality of cameras are arranged to provide a 360-degree view relative to a point of reference;

for each camera of the plurality of cameras, for each raw video frame, as the raw video frame is received:

downscaling the raw video frame to a first resolution to yield a first scaled video frame;

downscaling the raw video frame to a second resolution distinct from the first resolution to yield a second scaled video frame;

identifying a location of a target in at least one of the raw video frame, the first scaled video frame, and the second scaled video frame;

cropping at least one video frame selected from among the raw video frame, the first scaled video frame, and the second scaled video frame based, at least in part, on the location of the target;

downscaling the cropped at least one video frame to a third resolution to yield a third scaled video frame; and

storing the first scaled video frame, the second scaled video frame, and information related to the cropped at least one video frame as part of a first video stream, a second video stream, and a third video stream, respectively; and

blending together a video stream of each of the plurality of cameras into a 360-degree video stream, wherein the video stream of each of the plurality of cameras comprises at least one of the first video stream, the second video stream, and the third video stream.

Assignments (5)
MERGER AND CHANGE OF NAME Recorded Feb 25, 2020
From: WATCHGUARD, INC.; WATCHGUARD VIDEO, INC.
To: WATCHGUARD VIDEO, INC.
Reel/Frame 052536/0535 →
CHANGE OF NAME Recorded Dec 17, 2019
From: WATCHGUARD, INC.; WATCHGUARD VIDEO, INC.
To: MOTOROLA SOLUTIONS INC.
Reel/Frame 051325/0261 →
RELEASE OF SECURITY INTEREST Recorded Jul 12, 2019
From: TEXAS CAPITAL BANK, NATIONAL ASSOCIATION
To: WATCHGUARD, INC.
Reel/Frame 049735/0091 →
CERTIFICATE OF CONVERSION Recorded Nov 7, 2017
From: ENFORCEMENT VIDEO, LLC
To: WATCHGUARD, INC.
Reel/Frame 044712/0932 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: VANMAN, ROBERT V.; EXNER, JAMES WALTER
To: ENFORCEMENT VIDEO, LLC
Reel/Frame 043726/0740 →
Continuity (1)
Provisional Application 62319364 · Apr 7, 2016
Cited By (1)
US 12,423,999