Abstract:
A surveillance system includes one or more camera systems at least some of the camera systems including a camera element comprising optical components to capture and process light to produce images, camera processing circuitry that receives the light and processes the light into electrical signals and encodes the signals into a defined format, power management circuitry to power the camera system, the power management system including first and second power interfaces and first and second video output interfaces.

Description:
BACKGROUND 
       [0001]    This description relates to operation of surveillance systems. 
         [0002]    It is common for businesses to have a surveillance system for detecting presence of conditions at their premises, and for sending video from cameras to a central monitoring station. It is especially common for wide areas such as central business districts to have many such cameras that are monitored by operators at central monitoring stations. Operators at stations can view a geo-referenced image on a computer screen with camera locations represented by objects displayed on the image. The image can vary from a satellite image, an overhead image captured by a terrestrial camera or a map. When an operator has identified a point of interest on the image, the operator may desire to view relevant live or recorded video and/or audio or still images for that point of interest. 
         [0003]    However, locating an appropriate camera or cameras can be difficult especially when there are many such cameras and the cameras have different properties, such as being fixed or having pan and/or zoom capabilities, as well as the cameras&#39; physical locations and the cameras&#39; field of view. Such a problem is partially solved by a combination of a direct geospatial search &amp; rank and direct association of a camera with potential partner cameras. One problem arises however is that as the number of cameras becomes large it may take an unacceptable amount of time to find and control relevant cameras to the point of interest with a search and rank direct association approach. 
       SUMMARY 
       [0004]    One of the major limitations of traditional surveillance systems is that while a system can generate a list of cameras for viewing by accessing knowing the Global Positioning System (GPS) location of the point of interest and GPS locations of available cameras, as the number of cameras become large, this search and rank process will take longer and longer to return a viable set of relevant cameras. In addition, this search &amp; rank process does not take into consideration the field of view (FOV) of the cameras and, thus may select a camera having a FOV that is not relevant to the point of interest. On the other hand if the FOV of cameras is taken into account for relevancy consideration, then the computational task becomes even greater and is also predicated on knowing and updating of the cameras&#39; FOV. 
         [0005]    In addition, when users are viewing multiple cameras in a conventional matrix view, positioning of the cameras in the matrix view may not be optimal. Even slight differences in the location of a point of interest may cause dramatic differences in the layout of the cameras in the view. For example, a user clicks on a location in the view and a search-ranked listing cameras is returned in a ranked order of a Camera 1, a Camera 2, and a Camera 3. Representations of these cameras are displayed in, e.g., a 2×2 matrix with Camera 1 being at position 1, etc. If the same user clicks on a nearby location in the view, the search-ranked list may return a ranked order of Camera 3, Camera 1, and Camera 1, thus changing the layout of the cameras in the 2×2 matrix as position 1 is now occupied by Camera 3. Thus a system that uses a purely rank search, does not necessarily return the same set of cameras in the same locations even when GPS locations are in very close proximity to each other. 
         [0006]    According to an aspect, a surveillance system includes a plurality of cameras comprising optical components to capture and process optical energy to produce images, camera processing circuitry that receives the optical energy and processes the optical energy into electrical signals and encodes the signals into a defined format and a camera management system to conduct surveillance by the plurality of cameras over a defined geographic region. The camera management system includes one or more computing systems including a network device to receive the signals from the cameras, the one or more computer systems configured to, receive an image that covers an area that includes the defined geographic region, partition the image into a plurality tiles of a user specified number of tiles and of a user specified size of the tiles, and associate one or more of the plurality of cameras with a corresponding one or more of the plurality tiles. 
         [0007]    According to an additional aspect, a method of video surveillance includes receiving by one or more computer systems executing a camera management process an image that covers an area that includes a defined geographic region, partitioning the one or more computer systems the image into a plurality tiles of a user specified number of tiles and of a user specified size of the tiles, and associating one or more of a plurality of cameras with a corresponding one or more of the plurality tiles. 
         [0008]    According to an additional aspect a computer system executes a surveillance and the computer system includes one or more processor devices and memory associated with the processor devices. The processor devices are configured to receive an image that covers an area that includes a defined geographic region, partition the image into a plurality tiles of a user specified number of tiles and of a user specified size of the tiles, and associate one or more of a plurality of cameras with a corresponding one or more of the plurality tiles. 
         [0009]    The following are some embodiments within the scope of one or more of the above aspects. 
         [0010]    One or more of the aspects generate a user interface to allow a user to specify the size and layout of the matrix for the plurality of tiles and apply the size and layout of the matrix to partition the image into the respective plurality of tiles. One or more of the aspects generate a user interface to allow a user to override a position and content of the camera in the matrix for the tile. One or more of the aspects generate a user interface to allow a user to specify preset parameters for a camera that is associated with a tile. One or more of the aspects generate a user interface to allow a user to copy the matrix configuration for other tiles. One or more of the aspects generate a user interface to allow a user to merge multiple tiles into one tile. One or more of the aspects store in a database user defined association of cameras, camera preset parameters, camera locations in the matrix and the matrix layout of tiles. One or more of the aspects receive from a user a selection of a point of interest on the image and map the selection to a tile on the image by applying geographic coordinates corresponding to the user selected tile to geographic coordinates of cameras that are associated with the tile. One or more of the aspects retrieve from the database identifications of associated cameras by a lookup based on a tile id and cause video from one or more of the associated cameras to be rendered on the display. One or more of the aspects execute a search of available cameras to automatically associate each tile with relevant cameras by determining a distance between a center point of a tile of the grid. One or more of the aspects execute the search of the available cameras taking into consideration, obstructions and types of cameras. 
         [0011]    One or more of the above aspects may provide one or more of the following advantages. 
         [0012]    A video surveillance system that includes a plurality of cameras, such as video camera and/or audio transducers, e.g., microphones, especially a very large number of such cameras allows a user operator visual access to video information for operation during surveillance especially for a user defined point of interest. The gridding of the matrix display minimized one of the major limitations of traditional surveillance systems as the process generates a list of cameras for viewing based on a tile identification that is close to a point of interest. As the number of cameras become large, this process using the tile will execute faster than the traditional search and rank process over an entire geographic region to return a viable set of relevant cameras. In addition, this process can take into consideration the field of view (FOV) of the cameras and, thus may select a camera having a FOV that is more relevant to the point of interest than that which would happen with a traditional matrix view, while still improving on the computational speed to generate the list. In addition, when users are viewing multiple cameras in the tiled matrix view, positioning of the cameras in the matrix view become more optimal. Thus, slight differences in the location of a point of interest are less likely to cause dramatic differences in the layout of the cameras in the view. 
         [0013]    The details of one or more embodiments of the invention are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the invention is apparent from the description and drawings, and from the claims. 
     
    
     
       DESCRIPTION OF DRAWINGS 
         [0014]      FIG. 1  is a block diagram of a central surveillance monitoring system. 
           [0015]      FIG. 2  is a depiction of a user interface including an image of a predefined geographic region with a tiled overlay on the image. 
           [0016]      FIG. 3  is a depiction of the user interface with an isolated, user selected tile from the matrix. 
           [0017]      FIG. 4  is a depiction of video from a user selected camera associated with the user selected tile from the matrix of  FIG. 3 . 
           [0018]      FIG. 5  is a flow chart of a set up process in the central surveillance monitoring system. 
           [0019]      FIG. 5A  is an exemplary depiction of packaging of camera associations. 
           [0020]      FIG. 6  is a flow chart of an operational process in the central surveillance monitoring system. 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    Described herein is an example of a central surveillance system that receives feeds from many cameras that are dispersed over a geographic region. The cameras can be disposed within a facility or building or plural facilities/buildings or can be dispersed over a wide geographic area such as portions of a city, as will be the example used in the description below. 
         [0022]    Referring now to  FIG. 1 , a surveillance system  10  includes a plurality of cameras, e.g., in some implementations a very large plurality of cameras, generally  12 , of which three (3)  12   a ,  12   b  . . .  12   zz  are diagrammatically illustrated. Each camera  12  includes optics, e.g., lens  13   a , a camera body or case  13   b , video encoder  13   c , and in some instances power management circuitry  13   e , circuitry for imaging and picture quality control  13   f , and in some instances pan/tilt control and pan/tilt mechanisms, generally  13   g . The specifics of the video cameras  12  can vary. The video cameras  12  also include a computing device  13   d  comprising, a processor, memory, storage and a network interface device or card (NIC) for communication over network  16  with a central surveillance system  15 . The cameras  12  can also include local power storage, e.g., battery backup power (not shown). 
         [0023]    The video cameras  12  illustrated are merely exemplary and in general the cameras  12  operate in a conventional manner with respect to the video encoder, optics, and circuitry for imaging and picture quality. The cameras  12  transmit via the NIC, video and/or still images and in some instances accompanying by audio (from microphones not shown) either wired or wirelessly (or both) to the central surveillance system  15 . 
         [0024]    The central surveillance system  15  includes one or more server computers  14 , which in addition may include a web server (not shown). The server  14  includes a surveillance engine  20  that performs a number of functions including a grid setup process that allows a user via a user interface (not shown) to apply a grid to a regional map or regional image (either satellite or overhead image) at a resolution specified by the user to divide the regional map or regional image (herein after regional image) into a plurality of tiles, as will be discussed below. The matrix set up also allows the user to specify the number of tiles and to associate cameras with tiles, either a user specified or through an automatic process. 
         [0025]    The central surveillance system  15  also includes one or more operator system(s)  24  (only one shown), which include computers (processors, memory and storage as well as interfaces, as needed, including a mouse and mouse interface (not shown)) that are operationally coupled to the server  14 . The operator systems  24  include display devices to render interfaces discussed below as well as live video. 
         [0026]    During active surveillance, the surveillance engine  20  receives camera feeds that are displayed on display devices (not shown) using a video display application  27 . Displays can take various forms such as small monitors to very large wall mounted monitors. The surveillance engine  20  can include database management software to manage database  22  that stores video, etc. (or the surveillance engine  20  can include a process that manages a video tape library.) The server  14  also executes applications under control of an operating system, as well as other functions to interface with the cameras, etc. 
         [0027]    Referring now to  FIG. 2 , a user interface screen shot  30  is shown. In the screen shot, a frame  32  depicts a monitoring hierarchy  34  that delineates various hierarchical levels of zones (e.g., regions of camera) that are accessed from the database(s), e.g.,  22  ( FIG. 1 ). A main frame  36  depicts here a satellite image  38  having a superimposed grid  40 . Also shown are controls for displaying a map view (a map showing streets, without real objects), matrix view (illustrated overlaid on the image), a tile view showing a single tile or group of tiles and a table view showing cameras and their geo-coordinates. Also shown are the cameras  12   a ,  12   b - 12   d  and  12   zz  (others not shown), represented in the figure as icons showing approximate field of view and which can be coded (using different symbols) based on the type of camera. 
         [0028]    Referring now to  FIG. 3 , the user interface screen shot  30  in tile view is shown focusing on a single tile  42  with cameras associated with that tile, as represented in the tile as shown. The main frame  36  depicts here the satellite image of that tile, with the control for displaying in tile view shown as asserted. As shown in that tile  42 , cameras  12   b  and  12   c  are associated with that tile, whereas camera  12   a  (representation is shown greyed-out) is actually in a neighboring tile. While camera  12   a  is in the field of view of the tile  42 , but for some reason was not associated with that tile  42 . However, a user could modify tile  42  and/or associate camera  12   a  with tile  42 , as discussed below. The main frame  36  depicts here the satellite image of that tile, with the control for displaying in tile view shown as asserted. 
         [0029]    Referring now to  FIG. 4 , live video  50  from one of the cameras in the view of the single tile  42  ( FIG. 3 ) is shown displayed on a video monitor devices  52 . The view is from one of the cameras having been associated with tile  42 . The user found that camera easily because of the prior association of the camera with the tile  42 . The camera is thus selected by the user (operator) and shows live video  50  on the monitor  52  of the point of interest. 
         [0030]    Referring now to  FIG. 5 , set up 60 of the surveillance engine  20  includes the server  14  ( FIG. 1 ) executing the grid setup process  62  that allows the operator to configure the surveillance engine  20  to operate in the grid mode. The grid setup process  62  in the surveillance engine  20  generates  64  a user interface, (not shown) to apply various user defined criteria to the grid (for “gridding” a regional map or regional image (again either satellite or overhead image) at a resolution specified by the operator to divide the regional image into a plurality of tiles. 
         [0031]    The grid set up also allows the user to specify the number of tiles and to associate cameras with tiles, either user specified or using an automatic process. Based on a center point on each tile of the grid, grid setup process  62  executes a search of available cameras to automatically associate each tile with relevant cameras. This process takes into consideration, the distance of the camera to the center of the tile, any obstructions in the way of the center to the tile and can also taking into consideration the type of camera, e.g., fixed or PZT, etc. This search process searches for close cameras that can be used to view areas within the tile. 
         [0032]    More specifically, the search processes uses the GPS location of the center point of a tile and the GPS location data of available cameras. In addition, the search process can use information regarding the FOV of a camera as well as any available terrestrial information, e.g., notable obstructions for certain camera positions when automatically associating cameras to a tile. The server  14  executing the search process  66  generates a list of close cameras that are associated with the tile. The list is stored and used during active surveillance. 
         [0033]    As discussed above, the surveillance engine  20  allows the operator to specify the size and layout of the matrix of tiles. The surveillance engine  20  also allows the operator to override position and content of the camera in the matrix for the tile. This is accomplished by a review process executed in the surveillance engine  20  to allow operators to select cameras and corresponding PTZ presets to occupy specific positional tiles in the video matrix. The surveillance engine  20  presents a pre-filtered ranked list of cameras to choose from and the surveillance engine  20  allows operators to add cameras in an ad-hoc fashion to the list. The surveillance engine  20  also allows the operator to specify relevant pan tilt and zoom parameters (PTZ parameters or “presets”) for each camera in each tile by sending messages via the network to the particular PTZ type camera to modify the camera&#39;s position according the user selected presets. The surveillance engine  20  also allows the operator to copy the configuration for other tiles and the surveillance engine  20  also allows the operator to merge multiple tiles into one tile, which would involve re-setting of the parameters for the number of tiles and re-executing of a version of the grid setup process, e.g., by repeating the searching based on the new tiles or by merging of the associations into the new merged tile. 
         [0034]    After the execution of the grid setup process  62  by the surveillance engine  20  on the server  14 , data regarding the definition of cameras, any PTZ presets, camera locations in matrix and matrix layout with cameras associated to tiles in the grid, are stored in the database and but for any subsequent operator modifications, as discussed above, the data are ready for operational use. 
         [0035]    This data is associated with a tile using various techniques. For example, a tile can be assigned an identification and can be assigned an identification of a file that contains the data regarding camera definitions and associations, discussed above, as shown in  FIG. 5A , which illustrates a table  70  listing cameras  12   b  and  12   c  and Tile ID here of the tile  42  of  FIG. 3 . An operator at system  24  is provided with a handle to one of those cameras and uses the camera(s) to obtain live video as in  FIG. 4 . 
         [0036]    Alternatively, the data regarding the definition of cameras, any PTZ presets, camera locations in matrix and matrix layout can be a hyperlink to file(s) that store the data, with each tile having its own hyperlink. This hyperlink would be embedded in the display of the tiles ( FIG. 2  or  FIG. 3 ) and when the tile in those figures is selected, e.g., by a mouse click (a mouse being a user selection or pointing tool used with the terminal or system coupled to the server  14 . 
         [0037]    Referring now to  FIG. 6 , during surveillance operation  80  by an operator, the operator executes matrix operational surveillance  82  at an operator system  24  ( FIG. 1 ). The operator can decide (based on any of various inputs or no inputs) to apply surveillance to a point of interest in the matrix. The active surveillance operation retrieves  84  data of the relevant camera that can be mapped to the tile having the point of interest, by a simple lookup (user clicked on a tile) having a hyperlink embedded or by a very manageable search thru grid/tile boundaries for cameras that are associated with the tile. The relevant cameras in the matrix is acquired based on tile ID and the list of cameras is presented  86  to the operator. The operator can select/control  88  cameras as needed to examiner in detail the point of interest. 
         [0038]    Administration 
         [0039]    Thus, given a map/image of interest, a user executes the set-up process in the surveillance engine  20  to provide a grid resolution and default matrix layout. Automated processes perform a brute force camera mapping for each tile and populate the matrix layout with the results for each tile. The user can choose to select a tile and customize the matrix layout by added or removing cameras in matrix, by clicking with a mouse on a tile to have the associated cameras identifications show up to give operators a spatial sense of the cameras&#39; locations in relation to the location of interest. The operators can change the matrix layout, move cameras in the matrix, select a PTZ preset definition for the PTZ camera pan tilt zoom and a user can copy the selection to other matrix elements. The user can merge the tiles, overriding one definition with another. 
         [0040]    Operation 
         [0041]    In operation a user click on the map displayed in the display device with, e.g., a mouse. The specific tile is identified either by Tile ID if tile indexing is used (i.e. UI knows the tile as that is being clicked on) or by simple containing a search on tile boundaries. Once a Tile is identified, the video display application  27  is populate with the relevant components for the matrix (layout, content, position, PTZ presets, etc.) If a PTZ Preset swing is required, the video display application  27  will read the definition and swing the cameras as needed for proper viewing. 
         [0042]    More specifically, in operation, a user clicks on a map image with e.g., a mouse (or via touch display) and the click can trigger one of two chains of events. If the map display has the capability to identify the tile that was clicked, i.e., selected, the surveillance engine  20  performs a simple lookup for the selected tile&#39;s matrix definition and forward the information to the video display application  27  for display. If the map display does not have the capability to provide the identification of the tile, instead only the GPS position of the clicked location, then the surveillance engine  20  performs a simple rectilinear (e.g., x-y position locational) computation using the GPS location information to quickly identify the tile, thereafter perform a simple lookup for the tile&#39;s matrix definition and forward the matrix definition to the video display application  27  for display. The Tile&#39;s matrix definition contains all relevant information for matrix display including but not limited to the matrix layout, camera content, matrix position, and PTZ Presets per camera. Once the video display application  27  receives the matrix definition, the video display application  27  will display the predefined matrix view populated with predefined cameras actuated to predefined PTZ presets. 
         [0043]    Memory stores program instructions and data used by the processor of the camera and operator systems and server systems. The memory may be a suitable combination of random access memory and read-only memory, and may host suitable program instructions (e.g. firmware or operating software), and configuration and operating data and may be organized as a file system or otherwise. The stored program instructions may be stored in the memory, also stored are software components allowing network communications and establishment of connections to the network. The software components may, for example, include an internet protocol (IP) stack, as well as driver components for the various interfaces, including the interfaces and the keypad. Other software components suitable for establishing a connection and communicating across network will be apparent to those of ordinary skill. 
         [0044]    The server  14  includes one or more processing devices (e.g., microprocessors), a network interface and a memory (all not illustrated). The server  14  may physically take the form of a rack mounted card and may be in communication with one or more operator terminals or systems, e.g.,  24  that include display devices (not shown). 
         [0045]    The above features provide an optimal solution to improve performance and while allowing for user customization. Even without user intervention, the above features can provide performance gains even with taking into consideration FOV and PZT characteristics of the cameras. 
         [0046]    The processor of each server acts as a controller for the server, and is in communication with, and controls overall operation, of the server. The processor may include, or be in communication with, the memory that stores processor executable instructions controlling the overall operation of the server. 
         [0047]    The network interface card interfaces with the network to receive incoming signals, and may for example take the form of an Ethernet network interface card (NIC). The servers may be computers, thin-clients, or the like, to which received data representative of an alarm event is passed for handling by human operators. The monitoring station may further include, or have access to, a subscriber database that includes a database under control of a database engine. The database may contain entries corresponding to the various subscriber devices/processes to panels like the panel that are serviced by the monitoring station. 
         [0048]    All or part of the processes described herein and their various modifications (hereinafter referred to as “the processes”) can be implemented, at least in part, via a computer program product, i.e., a computer program tangibly embodied in one or more tangible, physical hardware storage devices that are computer and/or machine-readable storage devices for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. Physical hardware storage devices are not signals or prorogated carrier waves. 
         [0049]    A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a network. 
         [0050]    Actions associated with implementing the processes can be performed by one or more programmable processors executing one or more computer programs to perform the functions of the calibration process. All or part of the processes can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) and/or an ASIC (application-specific integrated circuit). 
         [0051]    Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only storage area or a random access storage area or both. Elements of a computer (including a server) include one or more processors for executing instructions and one or more storage area devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from, or transfer data to, or both, one or more machine-readable storage media, such as mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. 
         [0052]    Tangible, physical hardware storage devices that are suitable for embodying computer program instructions and data include all forms of non-volatile storage, including by way of example, semiconductor storage area devices, e.g., EPROM, EEPROM, and flash storage area devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks and volatile computer memory, e.g., RAM such as static and dynamic RAM, as well as erasable memory, e.g., flash memory. 
         [0053]    In addition, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desirable results. In addition, other actions may be provided, or actions may be eliminated, from the described flows, and other components may be added to, or removed from, the described systems. Likewise, actions depicted in the figures may be performed by different entities or consolidated. 
         [0054]    Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Elements may be left out of the processes, computer programs, Web pages, etc. described herein without adversely affecting their operation. Furthermore, various separate elements may be combined into one or more individual elements to perform the functions described herein. 
         [0055]    Other implementations not specifically described herein are also within the scope of the following claims.