Video Analytics for Security Systems and Methods
Video processing, encoding and decoding systems are described. A processor receives video frames representative of a sequence of images captured by a video sensor and the video frames are encode according to a desired video encoding standard. A video analytics processor receives video analytics metadata generated by the video encoder from the sequence of images and produces video analytics messages for transmission to a client device which performs client side video analytics processing. The video analytics metadata may comprise pixel domain video analytics information directly from an analog-to-digital front end or directly from an encoding engine as the engine is performing compression.
1 . A video processing system comprising:
a video encoder operative to encode a sequence of images captured by a video sensor into video frames according to a desired video encoding standard and to generate video analytics metadata based on information in the sequence of images;
a video analytics processor configured to receive and process the video analytics metadata to produce video analytics messages suitable for transmission to a client device and that are useable for client-side video analytics processing.
2 . The video processing system of claim 1 , wherein the video analytics metadata comprise pixel domain video analytics information received directly from an analog-to-digital front end.
3 . The video processing system of claim 1 , wherein the video encoder comprises an encoding engine, and wherein the video analytics metadata comprise pixel domain video analytics information received directly from the encoding engine and generated as the encoding engine is performing compression on the sequence of images.
4 . The video processing system of claim 3 , wherein the video analytics messages include information related to one or more of a background model, a motion alarm, a virtual line detection and electronic image stabilization parameters.
5 . The video processing system of claim 2 , wherein the video analytics messages comprise video analytics messages related to a group of images and include messages related to one or more of a background frame, a foreground object segmentation descriptor, a camera parameter, a virtual line and a predefined motion alarm region.
6 . The video processing system of claim 1 , wherein the video analytics messages comprise video analytics messages related to an individual video frame and include messages related to one or more of a global motion vector, a motion alarm region alarm status, a virtual line count, an object tracking parameter and a camera motion parameter.
7 . The video processing system of claim 1 , wherein the video processing system is configured to transmit video analytics messages to the client device in a layered structured network bitstream comprising an encoder-generated video bitstream and at least a portion of the video analytics metadata.
8 . The video processing system of claim 7 , wherein the video analytics messages and the portion of the video analytics metadata are transmitted in a supplemental enhancement information network abstraction layer package unit of an H.264 bitstream.
9 . A video decoding system comprising:
a decoder configured to extract video frames and one or more video analytics messages from a network bitstream, wherein the video analytics messages comprise information derived from pixel domain video analytics information which identifies characteristics of a sequence of images represented in the video frames; and
one or more video processors configured to produce video analytics metadata related to the video frame based on the extracted video frames and the information in the video analytics messages.
10 . The video decoding system of claim 9 , wherein the video analytics metadata comprise pixel domain video analytics information generated directly by an analog-to-digital front end.
11 . The video decoding system of claim 9 , wherein the video analytics metadata comprise pixel domain video analytics information generated directly by an encoding engine as the engine performed compression on the sequence of images.
12 . The video decoding system of claim 11 , wherein the video analytics messages are received with a portion of the pixel domain video analytics information in a supplemental enhancement information network abstraction layer package unit of an H.264 bitstream.
13 . The video decoding system of claim 9 , wherein one or more video processors extract a background image for a plurality of the video frames based on the information in the video analytics messages.
14 . The video decoding system of claim 9 , wherein one or more video processors use the information in the video analytics messages to monitor objects crossing a virtual line observed in a plurality of the video frames.
15 . The video decoding system of claim 9 , wherein the one or more video processors are configured to produce a global motion vector using the information in the video analytics messages.
16 . The video decoding system of claim 9 , wherein one or more video processors provide electronic image stabilization based on the information in the video analytics messages.
17 . The video decoding system of claim 9 , wherein the video analytics messages include information concerning one or more of a background frame, a foreground object a segmentation descriptor, a camera parameter, a virtual line and a predefined motion alarm region.
18 . The video decoding system of claim 9 , wherein the video analytics messages comprise video analytics messages concerning an individual video frame and including information related to one or more of a global motion vector, a motion alarm region alarm status, a virtual line count, an object tracking parameter and a camera motion parameter.
19 . A non-transitory computer-readable medium encoded with data and instructions wherein the data and instructions, when executed by a processor of a video processing system, cause the video processing system to perform a method comprising:
encoding a sequence of images captured by a video sensor into video frames according to a desired video encoding standard;
generating pixel domain video analytics information from the sequence of images while encoding the sequence of images;
producing video analytics messages using the pixel domain video analytics information; and
transmitting the video analytics messages concurrently with the video frames, wherein the video analytics messages are configured to facilitate client-side video analytics processing of the video frames.
20 . The non-transitory computer-readable medium of claim 19 , wherein certain video analytics messages correspond to an individual video frame and relate to one or more of a global motion vector, a motion alarm region, a virtual line, object tracking and camera motion.