VIDEO ANALYTICS SYSTEM, COMPUTER PROGRAM PRODUCT, AND ASSOCIATED METHODOLOGY FOR EFFICIENTLY USING SIMD OPERATIONS
First Claim
1. A video analytics processing method comprising:
- gathering, in a computer-readable storage medium, a plurality of pixels of interest from an image according to a predetermined binary mask, the predetermined binary mask defining at least one location of the plurality of pixels of interest on the image;
arranging the plurality of pixels of interest in a pixel matrix including at least the pixels of interest, each pixel of interest being stored in the pixel matrix adjacent to other pixels of interest;
performing video analytics processing on the pixel matrix, using SIMD instructions on a data processor; and
scattering the pixels of interest into the image after processing according to the predetermined binary mask, whereinthe gathering step and the scattering step are performed independently of the performing video analytics processing step.
1 Assignment
0 Petitions
Accused Products
Abstract
A video analytics system and associated methodology for performing low-level video analytics processing divides the processing into three phases in order to efficiently use SIMD instructions of many modern data processors. In the first phase, pixels of interest are gathered using a predetermined mask and placed into a pixel matrix. In the second phase, video analytics processing is performed on the pixel matrix, and in the third phase the pixels are scattered using the same predetermined mask. This allows many pixels to be processed simultaneously, increasing overall performance. A DMA unit may also be used to offload the processor during the gathering and scattering of pixels, further increasing performance. A network camera integrates the video analytics system to reduce network traffic.
9 Citations
15 Claims
-
1. A video analytics processing method comprising:
-
gathering, in a computer-readable storage medium, a plurality of pixels of interest from an image according to a predetermined binary mask, the predetermined binary mask defining at least one location of the plurality of pixels of interest on the image; arranging the plurality of pixels of interest in a pixel matrix including at least the pixels of interest, each pixel of interest being stored in the pixel matrix adjacent to other pixels of interest; performing video analytics processing on the pixel matrix, using SIMD instructions on a data processor; and scattering the pixels of interest into the image after processing according to the predetermined binary mask, wherein the gathering step and the scattering step are performed independently of the performing video analytics processing step. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-readable medium storing computer-readable instructions thereon, the instructions when executed by a processor cause the processor to perform the video analytics processing method comprising:
-
gathering, in a computer-readable storage medium, a plurality of pixels of interest from an image according to a predetermined binary mask, the predetermined binary mask defining at least one location of the plurality of pixels of interest on the image; arranging the plurality of pixels of interest in a pixel matrix including at least the pixels of interest; performing video analytics processing on the pixel matrix using a SIMD processor; and scattering the pixels into the image after processing according to the predetermined binary mask, wherein the gathering step and the scattering step are performed independently of the performing video analytics processing step. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A network camera comprising:
-
at least one lens configured to collect incident light; a sensor arranged behind the lens and configured to convert the incident light into image data; an electronic memory configured to store, as image data, the electrical data corresponding to the image; a video encoder configured to encode the image data; a data processor including a gathering unit configured to gather, in the electronic memory, a plurality of pixels of interest from an image according to a predetermined binary mask, the predetermined binary mask defining at least one location of the plurality of pixels of interest, an arranging unit configured to arrange the plurality of pixels of interest in a pixel matrix including at least the pixels of interest, a video analytics unit configured to perform video analytics processing on the pixel matrix independently from the gathering unit, a scattering unit configured to scatter the pixels of interest into the image, independently of the gathering unit and the video analytics unit; and a network interface configured to connect to a data network. - View Dependent Claims (12, 13, 14, 15)
-
Specification