Method and Apparatus for Classifying Video Data
A method of classifying video data representing activity within a space to be monitored. A method comprises storing video data obtained from a camera configured to monitor the space. Sensor data indicative of a condition occurring within the space is obtained, and a plurality of programme elements are defined within the video data. Each programme element has an associated classification code, and each classification code is selected using the sensor data.
- 1. (canceled)
- 2. A system comprising:
a storage device; and a controller configured to; receive video data of a monitored space, wherein the video data comprises a plurality of programme elements, each programme element associated with a classification code representing a condition in the monitored space; and for each programme element; compare the classification code of the programme element with a criteria; and store the programme element in the storage device only in response to the classification code of the programme element meeting the criteria.
- View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10)
- 11. A method for storing selected segments of a video of a monitored space, the method comprising:
receiving a video of a monitored space, wherein the video comprises a plurality of segments, each segment characterized by a condition present in the monitored space during a time duration of the segment; selecting a subset of segments for storage in a storage device by determining which segments are characterized by a condition that meets a threshold; and storing the subset of segments in the storage device.
- View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
- 20. A system comprising:
a storage device; means for receiving video data of a monitored space, wherein the video data comprises a plurality of programme elements, each programme element associated with a classification code representing a condition in the monitored space; and means for performing the following for each programme element; comparing the classification code of the programme element with a criteria; and storing the programme element in the storage device only in response to the classification code of the programme element meeting the criteria.
This application is a Continuation of U.S. patent application Ser. No. 15/856,738, filed Dec. 28, 2017, which is a Continuation of U.S. patent application Ser. No. 15/267,364, filed Sep. 16, 2016, which is a Continuation of U.S. patent application Ser. No. 12/066,639, filed Jun. 9, 2008, which is a National Stage under 35 U.S.C. § 371 of International Application No. PCT/GB2005/003570, filed Sep. 16, 2005, the entireties of each of which are incorporated by reference herein.
The present invention relates to a method and apparatus for classifying video data. More particularly, the invention relates to the use of sensor data to define classification codes which are applied to programme elements within the video data.
It is well known to use a video camera to capture video data, and to use that video data to monitor an area for security purposes. For example, in a simple system a video camera may constantly capture activity within a particular area, such that if it is determined that unauthorised activity has taken place, a security operative can review video data to obtain further information as to the nature of the unauthorised activity.
In more complex systems, a plurality of video cameras may be used to capture video data from different areas. In such a system, movement sensors may be used to select which of the plurality of video cameras is used to capture video data at a particular time, so as to generate a single stored stream of video data. Such systems are clearly more convenient where a large number of disparate areas are to be monitored. It is also known in the prior art to use motion and other sensors to determine the way in which a particular video camera should be activated. For example zoom and angle adopted by a particular video camera may be determined using such sensor data.
Although the known security systems described above provide a mechanism by which video data can be captured and reviewed to determine the nature of unauthorised activity, it will be appreciated that such systems are disadvantageous given that relatively large quantities of video data must be reviewed so as to accurately locate the activity of interest within the video data. If, as is usual, the video data is captured on traditional video cassettes, typically fast forward and rewind operations will be performed in a relatively random manner in an attempt to identify the correct position in the video data.
It is an object of the present invention to provide a method of classifying video data which obviates or mitigates at least some of the problems outlined above.
To assist in understanding of the invention, the term “programme element”, as that term is used in this document, is used to mean a video clip. Programme elements can be classified on the basis of any criteria of interest, such as a level of activity within the video clip.
According to the present invention, there is provided, a method of classifying video data representing activity within a space to be monitored. The method comprises receiving video data from a camera configured to monitor the space. Sensor data indicative of a condition occurring within the space is also received, and a plurality of programme elements within said video data are defined. Each programme element has an associated classification code, and each classification code is selected using the sensor data. Video data representing the programme elements is stored, and the associated classification codes are also stored.
By applying classification codes based upon obtained sensor data, a classified stream of video data is created which can be easily navigated by a user so as to identify particular parts of the video data on the basis of the sensor data. Thus, the invention generates video data which can be more easily navigated.
The sensor data may be obtained using a motion sensor, a sound sensor, or a pressure sensor. Indeed, the sensor may take any suitable form. For example, in some embodiments of the invention the sensor may comprise image processing means configured to process an image and to output sensor data indicative of properties of the processed image. For example, brightness of captured images may be analysed to generate appropriate sensor data, or images may be analysed to detect movement of objects or people within the space which is being monitored.
The method may further comprise obtaining video data from a plurality of cameras, and storing data from one of said plurality of cameras selected on the basis of the sensor data. Here, a single stream of video data may be generated and at each point in time a camera recording video data indicating activity may provide the video data. The classification code associated with each programme element may identify the camera of said plurality of cameras which was used to obtain the video data making up each programme element.
The method may comprise obtaining sensor data, and storing video data if but only if said sensor data satisfies a predetermined condition.
The classification codes may be selected from a predetermined set of classification codes. The classification codes may represent values on a scale extending from a high value to a low value. The scale may represent relative activity within the space being monitored.
The method may comprise deleting video data representing some programme elements, the video data to be deleted being selected on the basis of said classification codes. The video data to be deleted may be video data representing periods of relatively low activity within the space being monitored.
The method may further comprise receiving user selection of a classification code, and displaying programme elements associated with that classification code. User input representing a request to display programme elements representing periods of relatively high activity within the space being monitored may be received, at least one classification code associated with programme elements representing periods of relatively high activity within the space being monitored may be determined, and programme elements associated with the determined classification codes may then be displayed. The determining may comprise calculating an average level of activity for all programme elements, and determining classification codes representing periods of above average activity.
According to further aspects of the present invention, there is provided a data carrier carrying computer programme code means to cause a computer to carry out the method set out above.
The invention also provides an apparatus for classifying video data representing activity within a space to be monitored. The apparatus comprises a programme memory storing processor readable instructions, and a processor configured to read and execute instructions stored in said programme memory. The processor readable instructions comprise instructions controlling the processor to carry out the method described above.
According to a further aspect of the present invention, there is provided an apparatus for classifying video data representing activity within a space to be monitored. The apparatus comprises a storage device configured to store video data obtained from a video camera configured to monitor the space, input means configured to receive sensor data indicative of a condition occurring within the space, and means for defining a plurality of programme elements within said video data each programme element having an associated classification code. The classification codes are selected using said sensor data.
The apparatus may further comprise a video camera, and may further comprise at least one sensor. The sensor may be a motion sensor, a pressure sensor or a sound sensor.
Embodiments of the present invention will now be described, by way of example, with reference to the accompanying drawings, in which:
The classification data 6 is used to identify programme elements within the video data 5 and classifies programme elements in terms of their level of activity within an area of being monitored by the video camera 2. Thus, an operator viewing the video data 5 can use the classification data 6 to identify periods of relatively high activity. This has particular value in a security system in which a security operative can quickly locate parts of the video data which perhaps relate to suspicious activity.
In the described embodiment of the present invention, the sensor 3 outputs a binary value. That is, the sensor 3 outputs a ‘1’ if activity is sensed, and ‘0’ if no activity is sensed. The binary values obtained and stored at step S6 are summed at step S9. At step S10, the result of the summation of step S9 is used to determine a classification code for a programme element beginning at time t. The summation will take a value in the range 0 to N. Thus, if N+1 different classification codes are defined, the result of the summation can itself be the classification code. However, if a more limited scale is desired it will be readily apparent how the value in the range 0 to N+1 can be used to determine a classification code at step S10. The classification code determined at step S10 is stored as part of classification data 6 at step S11. The classification code can suitably be stored as part of a tuple of the form:
C is a classification code determined as described above:
N is a number of samples of sensor data obtained from the sensor 3 used to compute that classification code;
t is a time point within the video data 5 at which programme element classified using the same classification code begins; and
ts is a sample time (i.e. a time interval between the capture of subsequent samples of the N sample). Using data within the tuple set out above it will be appreciated that a unique portion of the video data 5 is identified with which the classification code C is associated. That portion begins at time t and ends at time (t+N×ts).
At step S12 the time parameter is updated according to an equation:
Where the parameters take the values set out above.
Processing then returns to step S5 where i is set to 0, and a classification code for a programme element beginning at time [t+(N×ts)+t ts] is determined in the manner described above.
Using the process described with reference to
Using the process described with reference to
In the embodiments of the invention described above, the sensor 3 has been described as a motion sensor, and more particularly PIR detector. It will be appreciated that other motion detectors such as, for example, active infrared sensors are equally applicable for use in the invention. Furthermore, the sensor 3 need not be a motion sensor. In some embodiments of the present invention the sensor 3 takes the form of a microphone, and a sound level detected by the microphone is used as input to the controller 1. In such embodiments of the invention, the output of the sensor 3 may not be a binary output, but instead be an analogue value indicative of sound value measured in decibels. In such embodiments of the invention it will be readily apparent to one skilled in the art that a simple thresholding algorithm can be used so as to define binary values of the type described above. That is, if the sound level is above a predetermined value a ‘1’ value is generated, while if the sensor output is below the predetermined value a ‘0’ value is generated. The present invention is also applicable where the sensor 3 is a pressure sensor placed, for example, on a floor and thus detecting movement within a room.
It will also be appreciated that the sensor 3 can be a plurality of different sensors, the outputs of which are combined by the controller 1 to generate classification codes. For example a motion detector can be used to compute classification code in the manner described with reference to
The present invention is also applicable to a system in which recording by the video camera 2 is triggered by the sensor 3. Classification codes can then be applied to captured video data in the manner described above. The present invention is also applicable to systems in a plurality of video cameras monitoring different spaces, in which it is desired to record a single stream of video data. In such systems, the single stream of video data is, at any one time, generated by the output of a single video camera. This video camera from which video data is stored can suitably be selected by appropriately positioning various sensors and using this data as the basis for camera selection. In such embodiments of the invention, the classification data relating to the video data 5 can simply indicate the camera from which the appropriate video data was captured. This can be determined on the basis of which sensor triggered recording. In such embodiments of the present invention, an operator may know that suspicious activity occurred within an area monitored by a particular camera, and can use the classification data 6 to locate parts of the video data 5 which were provided by that video camera.
Referring now to
The video data buffer 7 can conveniently be implemented as a plurality of buffers arranged in parallel, each holding a different programme element. In this way, a plurality of programme elements may be stored in the video data buffer 7 before a decision is made as to whether such programme elements should be stored as part of the video data 5 stored on the non-volatile storage device 4. Each of the plurality of buffers is provided with a flag indicating whether its data can be overwritten. This flag is set when data is written to a respective buffer, and unset when data is copied to the video data 5 or a decision is taken that the programme element is not to be stored. The implementation of such a buffering arrangement will be readily apparent to one of ordinary skill in the art.
It can be seen that the embodiment of the invention as described with reference to
In some embodiments of the present invention, the classification data 6 may periodically be used to identify portions of the video data 5 representing periods of relatively low activity. Having identified such periods of the video data 5, this video data may be deleted so as to create more free space on the non-volatile storage device 4.
The manipulation and viewing of a classified stream of video data can be carried out using various developments made by the present applicant and described in US Patent Application publication No. US2004/0070594 (application Ser. No. 10/435,178) the contents of which are herein incorporated by reference. The adaptation of such techniques to the viewing of video data captured using the methods described above will be readily apparent.
In particular, in some embodiments of the present invention, a user may simply specify that they are interested in periods of the recorded video data 5 which represent periods of relatively high activity. On receiving such a request, the controller 1 may interrogate the classification data 6 to determine an average activity level using stored classification codes. Having determined such an average activity level classification codes representing periods of above average activity are identified, and the corresponding video data is received from the video data 5.
The embodiments of the invention described above are intended only to be examples of ways in which the present invention may be put into effect, and are in no way intended to limit the scope of the claims. Indeed, it will be readily apparent to one of ordinary skill in the art that various amendments can be made to the embodiments described above without departing from the spirit and scope of the present invention as defined by the appended claims.