Method for adding video streams from on-demand cameras that are made available to a video surveillance system by third parties
The integration of system and on-demand cameras in a video surveillance system with dynamic activation/deactivation and resource management addresses inefficiencies, enhancing operational efficiency and reducing costs.
Patent Information
- Application Number
- GB2023010519
- Authority / Receiving Office
- GB · GB
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2022-07-15
- Filing Date
- 2023-07-10
- Publication Date
- 2025-04-02
- Estimated Expiration
- 2043-07-10
AI Technical Summary
Existing video surveillance systems face challenges in efficiently integrating and managing video streams from both native and on-demand cameras, particularly in terms of resource allocation and user interface management, which can lead to inefficiencies and increased operational costs.
A video surveillance system architecture that allows for the integration of both system and on-demand cameras, enabling dynamic activation and deactivation of on-demand cameras based on user selection, with server resource management and bulk activation/deactivation capabilities, along with a user interface that distinguishes between different types of cameras.
Enhances the efficiency of video stream management by optimizing server resource utilization and providing a user-friendly interface for operators, thereby reducing operational costs and improving system performance.
Smart Images

Figure 00000001_0000 
Figure 00000002_0000 
Figure 00000003_0000
Abstract
Description
[0026] The following description should be read with reference to the drawings, in which like elements in different drawings are numbered in like fashion. The drawings, which are not necessarily to scale, depict examples that are not intended to limit the scope of the disclosure. Although examples are illustrated for the various elements, those skilled in the art will recognize that many of the examples provided have suitable alternatives that may be utilized.
[0027] All numbers are herein assumed to be modified by the term “about”, unless the content clearly dictates otherwise. The recitation of numerical ranges by endpoints includes all numbers subsumed within that range (e.g., I to 5 includes 1, 1.5, 2, 2.75, 3, 3.80, 4, and 5).
[0028] As used m this specification and the appended claims, the singular forms “a”, “an”, and “the” include the plural referents unless the content clearly dictates otherwise. As used in this specification and the appended claims, the term “or” is generally employed in its sense including “and / or” unless the content clearly dictates otherwise.
[0029] It is noted that references in the specification to “an embodiment”, “some embodiments”, “other embodiments”, etc., indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is contemplated that the feature, structure, or characteristic may be applied to other embodiments whether or not explicitly described unless clearly stated to the contrary.
[0030] Figure 1 is a schematic block diagram of an illustrative video surveillance system 10. The illustrative video surveillance system 10 includes a number of system cameras 12, individually labeled as 12a, 12b and 12c. While a total of three system cameras 12 are shown, it will be appreciated that this is merely illustrative, as the video surveillance system 10 may include any number of system cameras 12, and in some instances may include a large number of system cameras 12, such as hundreds or even thousands of system cameras 12. A system camera 12 is a camera such as a video camera that is native to the video surveillance system and commissioned as part of the video surveillance system 10. The system cameras are typically owned and maintained by the entity owning and operating the video surveillance system 10.
[0031] The video surveillance system 10 utilizes a number of community or on-demand cameras 14, individually labeled as 14a, 14b and 14c. While a total of three on-demand cameras 14 are shown, it will be appreciated that this is merely illustrative, as the video surveillance system 10 may utilize any number of on-demand cameras 14, and in some instances may utilize a large number of on-demand cameras 14, such as hundreds or even thousands of on-demand cameras 14. An on-demand camera 14 is a camera such as a video camera that is made available to the video surveillance system 10, but is not native to or commission as part of the video surveillance system 10. An on-demand camera 14 is a camera such as a video camera that is typically owned and maintained by a third party that is separate from the entity that owns and operates the video surveillance system 10. As an example, an on-demand camera 14 may be a video camera that is part of a private video surveillance system that is distinct from the video surveillance system 10, where the private video surveillance system has voluntarily decided to share the video camera with the video surveillance system 10.
[0032] The video surveillance system 10 may include a network 16 by which the system cameras 12 and the on-demand cameras are able to communicate with other components of the video surveillance system 10. The video surveillance system 10 includes a number of servers 18, individually labeled as 18a, 18b and 18c. This is merely illustrative, as the video surveillance system 10 may have any number of servers 18. For example, the video surveillance system 10 may have only one server 18, or two servers 18. The video surveillance system 10 may have four, five, six or more servers 18. In some instances, the video surveillance system 10 may be configured to load balance between the individual servers 18 so that each server 18 is not overwhelmed by a large number of video streams from video cameras (both system cameras 12 and on-demand cameras 14) that are currently assigned to that particular server 18. At least some of the servers 18 may be cloud-based servers, for example.
[0033] The servers 18 may receive video streams from the system cameras 12 and the on-demand cameras 14 via the network 16. In some cases, the network 16 may include two or more distinct networks. For example, the system cameras 12 may be operably coupled to a video surveillance system network while the on-demand cameras 14 may be operably coupled to a public network, such as the Internet. Together, the video surveillance system network and the public network, and possibly others, constitute the network 16.
[0034] The illustrative video surveillance system 10 includes a surveillance system controller 20. The surveillance system controller 20 may be configured to control which system cameras 12 and which on-demand cameras 14 are assigned to each of the servers 18. The surveillance system controller 20 may be configured to onboard on-demand cameras 14 as the cameras are proffered by one or more third parties. In some cases, the surveillance system controller 20 may be configured to communicate with a user interface 22 that includes a display 24. The user interface 22 may be a personal computer, for example, with a keyboard and mouse, and one or more monitors that collectively function as the display 24. In some cases, the surveillance system controller 20 may be part of that same personal computer. In some instances, the surveillance system controller 20 may be part of a separate computer, which may be local or remote from where the system cameras 12 and the on-demand cameras 14 are located. The surveillance system controller 20 may be manifested within a cloud-based server, as an example.
[0035] In some cases, the surveillance system controller 20 may be operably coupled with, and control operation of, a video recorder 26. The video recorder 26 may be used to record at least some of the video streams incoming from the system cameras 12 and / or the on-demand cameras 14. In some cases, the video recorder 26 may be used only to record at least some of the video streams incoming from the system cameras 12, as in some jurisdictions video streams from the on-demand cameras 14 may not be recorded. In other jurisdictions, it may be permissible to record video streams from the on-demand cameras 14, for example. The video streams may pass through the surveillance system controller 20. In some cases, at least some of the video streams being recorded may pass directly to the video recorder 26 via the network 16. In some cases, the video recorder 26 may be a DVR (digital video recorder) or an NVR (network video recorder).
[0036] Figure 2 is a flow diagram showing an illustrative method 28 for operating a video surveillance system (such as the video surveillance system 10) that includes both system cameras (such as the system cameras 12) and registered on-demand cameras (such as the on-demand cameras 14), wherein the system cameras are commissioned as part of the video surveillance system and the registered on-demand cameras are voluntarily made available to the video surveillance system by third parties for use in conjunction with the video surveillance system. The illustrative method 28, which may be carried out by the surveillance system controller 20, includes displaying on a display (such as the display 24) a representation of available cameras including both system cameras and registered on-demand cameras, wherein the system cameras are represented using a first style of icon and the on-demand cameras are represented using a second style of icon different from the first style of icon, as indicated at block 30. A selection of two or more cameras from the representation of available cameras is selected for display, as indicated at block 32. In some cases, the selected two or more cameras may include both system cameras and on-demand cameras. Video streams from each of the selected two or more cameras are displayed on the display 24 viewable by an operator of the video surveillance system 10, as indicated at block 34. In some cases, the method 28 may further include accepting a selection of two or more system cameras from the representation of available cameras for recording, as indicated at block 36. The method 28 may further include recording video streams from each of the selected two or more system cameras for recording, as indicated at block 38.
[0037] In some cases, the video surveillance system may include a server having server resources. The registered on-demand cameras are made available for subsequent activation and deactivation by the operator of the video surveillance system 10. When a registered on-demand camera is deactivated (e.g. set in a deactivated state in the video surveillance system 10), the camera server does not apply server resources to intake the video stream from the deactivated camera. When the registered on-demand camera is activated (e.g. set in an activated state in the video surveillance system 10), the camera server applies server resources to intake the video stream from the activated camera. In some cases, intake of the video stream may include one or more of receiving the video stream, processing the video stream, display the video stream and / or recording the video stream.
[0038] In some cases, intake of the video stream may include receiving and storing the video stream, and when the registered on-demand camera is deactivated by the operator, the camera server does not apply server resource to receive and possibly store the video stream from the deactivated camera. In some cases, the selected two or more cameras include two or more on-demand cameras, and wherein the method 28 may include activating and / or deactivating the two or more on-demand cameras in a bulk fashion. That is, the operator may designate two or more on-demand cameras for activation (or deactivation) in bulk, and once initiated, the video surveillance system may activate (or deactivate) all of the designed on-demand cameras in bulk without further operating input.
[0039] Figure 3 is a flow diagram showing an illustrative method 40 for operating a video surveillance system (such as the video surveillance system 10) that includes both system cameras (such as the system cameras 12) and registered on-demand cameras (such as the on-demand cameras 14), wherein the system cameras are commissioned as part of the video surveillance system and the registered on-demand cameras are voluntarily made available to the video surveillance system by third parties for use in conjunction with the video surveillance system. The illustrative method 40, which may be carried out by the surveillance system controller 20, includes displaying on a display (such as the display 24) a representation of available cameras including both system cameras and registered on-demand cameras, wherein the system cameras are represented using a first style of icon and the on-demand cameras are represented using a second style of icon different from the first style of icon, as indicated at block 42. A selection of two or more cameras from the representation of available cameras is selected for display, as indicated at block 44. hi some cases, this selection is made by an operator of the video surveillance system via the user interface 22. In some cases, the selected two or more cameras may include both system cameras and on-demand cameras. Video streams from each of the selected two or more cameras are displayed on the display viewable by an operator of the video surveillance system, as indicated at block 46. In some cases, the method 40 may further include accepting a selection of two or more cameras from the representation of available cameras for video analytics, as indicated at block 48. The method 40 may further include performing video analytics on each of the video streams of the selected two or more cameras for video analytics, as indicated at block 50.
[0040] In some cases, the video surveillance system may include a server having server resources. The registered on-demand cameras are available for subsequent activation and deactivation by the operator of the video surveillance system. When a registered on-demand camera is deactivated by the operator, the camera server does not apply server resources to intake the video stream from the deactivated camera. When the registered on-demand camera is activated by the operator, the camera server applies server resources to intake the video stream from the activated camera. In some cases, intake of the video stream may include one or more of receiving the video stream, processing the video stream and / or displaying the video stream. In some cases, intake of the video stream may include receiving and possibly storing the video stream, and when the registered on-demand camera is deactivated by the operator, the camera server does not apply server resource to receive and possibly store the video stream from the deactivated camera. The deactivated on-demand cameras remain available for subsequent activation by the operator, but present little or no load to the camera server(s). In some cases, the selected two or more cameras include two or more on-demand cameras, and wherein the method 40 may include activating and / or deactivating the two or more on-demand cameras in bulk.
[0041] Figure 4 is a flow diagram showing an illustrative method 52 for operating a video surveillance system (such as the video surveillance system 10) that includes both system cameras (such as the system cameras 12) and registered on-demand cameras (such as the on-demand cameras 14), wherein the system cameras are commissioned as part of the video surveillance system and the registered on-demand cameras are voluntarily made available to the video surveillance system by third parties for use in conjunction with the video surveillance system. The illustrative method 52, which may be carried out by the surveillance system controller 20, includes allowing third parties to register one or more of their camera(s) for use in conjunction with the video surveillance system 10, as indicated at block 54. The registered on-demand camera(s) are onboarded, as indicated at block 56. The onboarded on-demand camera(s) are validated by an operator of the video surveillance system, and once validated, made available to the video surveillance system as on-demand camera(s), as indicated at block 58.
[0042] The illustrative method 52 includes displaying on a display (such as the display 24) a representation of available cameras including both system cameras and registered on-demand cameras, wherein the system cameras are represented using a first style of icon and the on-demand cameras are represented using a second style of icon different from the first style of icon, as indicated at block 60. A selection of two or more cameras from the representation of available cameras is selected for display, as indicated at block 62. In some cases, the selected two or more cameras may include both system cameras and on-demand cameras. Video streams from each of the selected two or more cameras are displayed on the display viewable by an operator of the video surveillance system, as indicated at block 64.
[0043] In some cases, the video surveillance system may include a server having server resources. The registered on-demand cameras are available for subsequent activation and deactivation by an operator of the video surveillance system. When a registered on-demand camera is deactivated by the operator, the camera server does not apply server resources to intake the video stream from the deactivated camera. When the registered on-demand camera is activated by the operator, the camera server applies server resources to intake the video stream from the activated camera. In some cases, intake of the video stream may include one or more of receiving the video stream, processing the video stream and / or displaying the video stream. In some cases, intake of the video stream may include receiving the video stream, and when the registered on-demand camera is deactivated by the operator, the camera server does not apply server resource to receive the video stream from the deactivated camera. In some cases, the selected two or more cameras include two or more on-demand cameras, and wherein the method 52 may include activating and / or deactivating the two or more on-demand cameras in bulk.
[0044] Figure 5 is a flow diagram showing an illustrative method 66 for operating a video surveillance system (such as the video surveillance system 10) that includes both system cameras (such as the system cameras 12) and registered on-demand cameras (such as the on-demand cameras 14). The video surveillance system is configured to provide video streams from cameras within each of a plurality of surveillance areas. The illustrative method 66 includes allowing private owners to register their camera(s) with the video surveillance system, as indicated at block 68. The registered camera(s) are onboarded, as indicated at block 70. The onboarded camera(s) are validated by an operator of the video surveillance system, and once validated, made available to the video surveillance system as on-demand cameras, as indicated at block 72. A selection of a particular surveillance area out of the plurality of surveillance areas is accepted from an operator of the video surveillance system, as indicated at block 74. A graphical representation of cameras within the operator-selected surveillance area is displayed, where the cameras including both system cameras and registered on-demand cameras, as indicated at block 76. A selection of two or more cameras from the graphical representation of cameras is selected, as indicated at block 78. The selected two or more cameras may include both system cameras and registered on-demand cameras.
[0045] Video streams from the selected two or more cameras are displayed on a display viewable by the operator, as indicated at block 80. In some cases, the illustrative method 66 may further include finding processing resources for streaming video streams from each of the selected two or more cameras. Finding processing resources may include, for example, selecting two or more cameras outside of the selected surveillance area to deactivate, thereby freeing up some processing resources of the server(s). In some cases, the method 66 may further include automatically load balancing the servers by moving one or more of the selected two or more cameras between two or more servers.
[0046] Figure 6 is a flow diagram showing an illustrative method 84 for operating a video surveillance system (such as the video surveillance system 10) that includes both system cameras (such as the system cameras 12) and registered on-demand cameras (such as the on-demand cameras 14). The video surveillance system is configured to provide video streams from cameras within each of a plurality of surveillance areas. The illustrative method 84 includes accepting from an operator a selection of a particular surveillance area out of the plurality of surveillance areas, as indicated at block 86. In some cases, this may include an operator drawing a boundary of a desired surveillance area on a map view of an area covered by the video surveillance system. In other cases, an operator may select a predefined surveillance area out of a plurality of predefined surveillance areas. These are just examples.
[0047] A graphical representation of cameras within the operator-selected surveillance area is displayed. The cameras may include both system cameras that are represented using a first style of icon and registered on-demand cameras that are represented using a second style of icon different from the first style of icon, as indicated at block 88. In some cases, the graphical representation of cameras may include a map view, where each camera is represented as a corresponding icon placed at the respective geographical location of the camera on the map view. In some cases, the graphical representation of cameras may include a list view, where each camera is represented as a corresponding icon in the list view. In some cases, the graphical representation of cameras may include both a map view and a list view. A selection of two or more cameras from the graphical representation of cameras is accepted, as indicated at block 90. The selected two or more cameras are activated, as indicated at block 92. Video streams from the selected two or more cameras are displayed on a display viewable by the operator, as indicated at block 94.
[0048] In some cases, the graphical representation of cameras within the operator-selected surveillance area may be displayed concurrently with one or more video streams produced by currently selected cameras. The first style of icon used to represent system cameras may include an icon indicating a dome camera, where appropriate. In some cases, the method 84 may further include automatically load balancing the selected cameras between two or more servers to provide adequate processing resources to the selected two or more cameras, as indicated at block 96.
[0049] Figure 7 is a schematic block diagram of an illustrative architecture 98 for a video surveillance system (such as the video surveillance system 10). The illustrative architecture 98 may be implemented within the video surveillance system 10. Step 1, as generally indicated at 100, includes private citizens or third parties registering their camera or cameras for use by the video surveillance system 10. Step 2, as generally indicated at 102, includes onboarding the cameras registered at 100. Step 3, as generally indicated at 104, includes validating and approving the cameras registered at 100 by an operator of the video surveillance system. Step 4, as generally indicated at 106, includes viewing the approved community or on-demand cameras.
[0050] The architecture 98 includes system cameras 108 and community or on-demand cameras 110. The system cameras 108 communicate with a DVM camera server 112 while the on-demand cameras 110 communicate with a DVM camera server 114. The DVM camera server 112 and the DVM camera server 114 are both part of a DVM system 116. The architecture 98 includes an HCS 118. The HCS 118 includes a camera onboarding portal 120 that is used to register and onboard third party cameras, and a community camera validator 122 that is used to validate registered on-demand cameras before they are made available for use on the video surveillance system.
[0051] Figure 8 is a schematic block diagram of an illustrative architecture 124. The illustrative architecture 124 may include a DVM Client Machine 126 and a DVM Database Server Machine 128. The DVM Client Machine 126 includes an on-demand configuration user interface 130, an on-demand camera MAP configuration block 132, a DVM studio block 134 and a DVM console 136. The on-demand configuration user interface 130, the on-demand camera MAP configuration block 132 and the DVM console 136 each communicate with the DVM Database Server Machine 128.
[0052] The DVM Database Server Machine 128 includes an on-demand configuration business logic block 138, a Ranking Service 140, an Event Service block 142 and a database 144. The DVM Database Server Machine 128 communicates with a camera server 146 and a camera server 148 in order to rank the cameras and determine which cameras should be assigned to the camera server 146 and which cameras should be assigned to the camera server 148. While two camera servers 146 and 148 are shown, it will be appreciated that this is merely illustrative. In some cases, the camera servers 146 and 148 may be on separate machine hardware, while in other cases, the camera server 146 and 148 may be on separate virtual machines. These are just example implementations.
[0053] Figure 9 is a flow diagram showing an illustrative method 150 for registering an on-demand camera. The method 150 begins with starting registration, as indicated at block 162. The camera IP address is obtained, as indicated at block 154. The camera type is obtained, as indicated at block 156. The camera location is obtained, as indicated at block 158. Other configuration details are obtained, as indicated at block 160. The camera is added to a validation queue, as indicated at block 162. The validation queue is read, as indicated at block 164. In the example shown, a determination is made whether the camera supports one or more supported communication and / or streaming standards (e g. Onvif, RTSP), as indicated at decision blocks 166 and 268. A determination is made whether basic bandwidth requirements are met, as indicated at decision block 170. A determination is made whether the camera owner agreed to usage and privacy terms, as indicated at decision block 172. If the answer to all of those question is yes, then control passes to block 174 and the registered camera is added to the community or on-demand camera pool. If the answer to any of the questions is no, control passes to block 176 and the camera is rejected.
[0054] Figure 10 is a flow diagram showing an illustrative method 178 for configuring a camera. The method 178 starts with a user login, as indicated at block 180. A determination is made at a decision block 182 whether the user has permission to configure on-demand cameras. If not, control passes to block 184 where the configuration menu is hidden from the user. If yes, control passes to block I 86, where the configuration menu is displayed for the user. The user navigates to the on-demand configuration page, as indicated at block 188. Cameras are fetched and displayed based upon the areas that the user has access to, as indicated at block 190. A list of cameras to activate or deactivate is selected, as indicated at block 192.
[0055] At decision block 194, a determination is made as to whether a camera server has been selected. If yes, on-demand cameras are assigned and / or unassigned to specific camera servers, as indicated at block 196. An indication that all impacted camera servers should refresh their camera cache is provided, as indicated at block 198. The updated information is shown as indicated at block 200. Back to decision block 194, if the answer was no, control passes to block 202 where a camera server is automatically assigned. Camera server and ranking information is obtained, as indicated at block 204. At decision block 206, a determination is made as to whether ranked camera servers are available. If not, control passes to block 208 and an error is displayed. If yes, control passes to block 210, where the cameras are assigned. Notifications are transmitted, as indicated at block 212.
[0056] Figure 11 is a flow diagram showing an illustrative method 214 for a ranking service. The method 214 begins at block 216, where the camera server periodically publishes its telemetry information. Telemetry information is received from the camera server, as indicated at block 218. The number of cameras associated and cameras being viewed is fetched, as indicated at block 220. At decision block 222, a determination is made as to whether the camera server threshold limit has been reached. If so, control passes to block 224 and the camera server is removed from the ranked list. If not, control passes to decision block 226, where a determination is made as to whether the camera server is on the ranked list. If not, control passes to block 228 and the camera server is added to the ranked list. Otherwise, control passes to block 230, where the camera server rankings are recalculated and updated. In some cases, when an on-board camera is activated by an operator, the camera is assigned to one of the camera servers based on the camera server rankings. For example, a newly activated camera may be assigned to the camera server with the highest ranking (e.g. lowest current server load).
[0057] Figure 12 is a flow diagram showing an illustrative method 232. The method 232 begins with a camera server receiving a notification to add or remove cameras, as indicated at block 234. An updated listing of activated on-demand cameras are fetched from a database server, as indicated at block 236. The updated telemetry information is sent to the ranking service, as indicated at block 238, and an updated ranking is calculated. When necessary, some or all of the activated on-demand cameras may be automatically re-assigned to a different camera server to achieve a level of load balancing between the camera servers.
[0058] Figure 13 is a flow diagram showing an illustrative method 240 for automatically removing on-demand cameras to free up camera server resources to, for example, handle newly activated on-demand cameras. The illustrative method 240 includes selecting a camera to be activated, as indicated at block 242. At decision block 244, a determination is made as to whether an active camera threshold has been exceeded. If yes, control passes to block 246 where cameras that can be replaced (deactivated) are identified. The list is shown to the user, and selections of which cameras to removed (deactivate) is approved, as indicated at block 248. At block 250, the selected cameras are deactivated and the new camera is activated in the camera server. An event notification is raised, as indicated at block 252. Control passes to block 254, wherein updated information is provided. Back to decision block 244, if the active camera threshold has not been exceeded, control passes to block 256 and the camera is assigned to the camera server. Control then passes to block 252.
[0059] In the claimed invention, the cameras are ranked to help identify which camera(s) to remove (deactivate) when making room for a newly activated camera. Camera rank can be based on various criteria. For example, in some cases, camera rank may be based at least in part upon the number of times that a camera has been pulled into the console workspace and viewed by an operator, as this is an indication of usefulness of the camera. Camera rank may be based at least in part upon the number of times a camera has been activated or deactivated. In some cases, camera rank may be based at least in part upon how recently a particular camera was added, with recently added cameras having a higher or even highest ranking. The higher the camera rank, the more the camera is used. The lower the camera rank, the less the camera is used. Least used cameras (lowest rankings) are candidates for deactivation.
[0060] Figure 14 is a flow diagram showing an illustrative method 258 for camera onboarding. The method 258 begins at block 260, where a single new on-demand camera is added. At block 262, the camera is successfully added, although its status is deactivated until such time as the camera is subsequently activated. No notifications are sent, as indicated at block 264.
[0061] Figure 15 is a flow diagram showing an illustrative method 266 of bulk onboarding of cameras. The method 266 begins with updating a template with camera parameters, as indicated at decision block 268. The template file is imported, as indicated at block 270. At decision block 272, a determination is made as to whether the camera parameters are valid. If yes, control passes to block 274 where the cameras are added but deactivated. Control passes to block 276, where no notification is sent. However, if the camera parameters are determined to not be valid at decision block 272, control passes to block 278, where the invalid parameter or parameters are displayed.
[0062] Figure 16 is a flow diagram showing an illustrative method 280 for activating or deactivating a camera from a map. The method 280 starts with selecting an area of a map with multiple cameras, as indicated at block 282. Multiple camera control options are selected, as indicated at block 284. For example, the user can select activate, as indicated at block 286. The user can select deactivate, as indicated at block 288. The user can select auto enable, as indicated at block 290. If the user selects activate or deactivate, control passes to block 292, where specific cameras in the selected area of the map are activated or deactivated, respectively. An event notification is raised notifying all impacted camera servers to refresh the camera cache, as indicated at block 294. Updates are published to the operator consoles with an updated camera tree showing the new on-demand camera line up, as indicated at block 296.
[0063] If the user selected auto enable, control passes to decision block 298, where a determination is made as to whether the camera server threshold limit has been reached. If yes, control passes to decision block 300 where cameras to be removed are identified (sometimes using a camera ranking). At decision block 302, a determination is made as to whether all of the on-demand cameras are associated with a camera server. If not, control reverts to decision block 300. In some cases, least used on-demand cameras are deactivated, as indicated at block 304. If the answer is no at decision block 298, control passes to block 306, where a suitable camera server is identified based on ranking and the camera(s) is assigned to that camera server. Then, the camera server rank is updated as shown at block 308.
[0064] Figures 17 through 20 are views of illustrative screen shots. Figure 17 shows an illustrative screen 310. The illustrative screen 310 includes a listing 312 of available cameras, both system cameras shown in section 312a and on-demand cameras shown in section 312b. It will be appreciated that the camera icons used to represent the system cameras are different from the camera icons used to represent the on-demand cameras. Some of the on-demand cameras are dome cameras, as shown for example at 314. The screen 310 also includes several video streams 316, 318, 320 and 322. In some cases, at least some of the video streams 316, 318, 320 and 322 may not be video streams, but may instead be screen captures, or still images. While a total of four video streams 316, 318, 320 and 322 are shown, it will be appreciated that this is merely illustrative, as the video surveillance system 10 may display any number of video streams simultaneously, depending on bandwidth, available screen space and the particular area of interest, such as how many cameras are even available in that area.
[0065] Figure 18 shows an illustrative screen 324 demonstrating activation and deactivation of cameras. A user can select on-demand cameras in bulk and can associate them with a camera server. The screen 324 includes a listing 326 of cameras that may encompass available cameras. The screen 324 includes a pull-down menu 328 listing all of the available camera servers. If none are selected, cameras are auto-assigned. The screen 324 includes a menu section 330 that provides options. As shown, the On-Demand Cameras button 332 has been selected. The screen 324 includes a pull-down menu 334 that allows a user to select between activating and deactivating, although deactivating is selected as shown. An APPLY button 336 allows the user to proceed.
[0066] Figure 19 shows an illustrative screen 338 that shows a map view and a number of available cameras on the map view. On-demand cameras that have been activated are highlighted within a particular area of interest 340. In some cases, a user may manually define the area of interest 340 on the map, and in response, all or some of the available on-demand cameras that are within the area of interest 340 may be activated. In some cases, the area of interest 340 may be automatically identified around a particular location, such as a location where an event of interest has been detected. In some cases, the area of interest 340 may be automatically defined as a circle about the particular location with a pre-defined radius, such as ten blocks or one-half of a mile. In some cases, some or all of the on-demand cameras inside of the area of interest 340 may be activated, and some or all of the on-demand cameras outside of the area of interest 340 may be deactivated. These are just examples.
[0067] Figure 20 shows an illustrative screen 360 providing an example of bulk import of on-demand cameras. The screen 360 includes a menu 362 that provides for a variety of different tasks. As shown, an Import cameras from Excel™ button 364 has been selected. As a result, the screen 360 includes a source workbook text box 366 including a browse button 366a and a source worksheet pulldown menu 368. The screen 360 includes an Import new cameras button 370 and an Import camera changes button 372.
[0068] The source workbook may be an Excel™ spreadsheet that includes a plurality of rows each corresponding to a respective camera, and a plurality of columns for specifying different camera parameters for each of the respective cameras. The different camera parameters represented in the plurality of columns may include, for example, a camera name, a desired camera server, a camera location (e.g. GPS coordinates), a camera description, a camera IP address, a camera stream format, a camera communication protocol and / or any other suitable camera parameter. In some cases, and to facilitate the collection of required and optional information for registration of third party cameras, a template may be created and distributed to interested third parties, where the template includes fields for required and optional camera parameters. Once populated by a third party, the template may be returned and used to on-board the on-demand cameras of the third party for use with the video surveillance system.
[0069] Having thus described several illustrative embodiments of the present disclosure, those of skill in the art will readily appreciate that yet other embodiments may be made and used 5 within the scope of the claims hereto attached. It will be understood, however, that this disclosure is, in many respects, only illustrative. Changes may be made in details, particularly in matters of shape, size, arrangement of parts, and exclusion and order of steps, without exceeding the scope of the disclosure. The disclosure’s scope is, of course, defined in the language in which the appended claims are expressed. 10
Claims
11 11 241. A method for operating a video surveillance system that includes both system cameras and registered on-demand cameras, wherein the system cameras are commissioned as part of the video surveillance system and the registered on-demand cameras are voluntarily made available to the video surveillance system by third parties for use in conjunction with the video surveillance system, the method comprising:registering third party camera(s) with the video surveillance system making the registered camera(s) available to the video surveillance system as registered on-demand cameras, wherein the registered on-demand cameras are available for subsequent activation and deactivation, wherein: when a registered on-demand camera is deactivated, a camera server does not apply server resources to intake the video stream from the deactivated camera;when the registered on-demand camera is activated, the camera server applies server resources to intake the video stream from the activated camera;displaying on a display a representation of available cameras including both system cameras and registered on-demand cameras, wherein the system cameras are represented using a first style of icon and the on-demand cameras are represented using a second style of icon different from the first style of icon;ranking the activated on-demand cameras based at least in part on how much each of the activated on-demand cameras are used;accepting a selection of two or more cameras from the representation of available cameras for display including one or more deactivated on-demand cameras;activating the selected one or more deactivated on-demand cameras, including:finding server resources on one or more camera servers for streaming video streams from each of the selected one or more deactivated on-demand cameras, and when sufficient camera server resources are determined to not be currently available, deactivating one or more currently activated on-demand cameras before activating the selected one or more deactivated on-demand cameras to free up camera server resources, wherein the one or more currently activated on-demand cameras that are deactivated have the lowest camera ranking(s) of the currently activated on-demand cameras; and11 11 24displaying video streams from each of the selected two or more cameras on the display viewable by an operator of the video surveillance system.
2. The method of claim 1, wherein the selected two or more cameras include both system cameras and registered on-demand cameras.
3. The method of claim 1, further comprising:accepting a selection of two or more system cameras from the representation of available cameras for recording; andrecording video streams from each of the selected two or more system cameras.
4. The method of claim 1, further comprising:accepting a selection of two or more cameras from the representation of available cameras for video analytics; andperforming video analytics on each of the selected two or more cameras for video analytics.
5. The method of claim 1, wherein the intake of the video stream includes one or more of receiving the video stream, processing the video stream and / or displaying the video stream.
6. The method of claim 1, wherein the intake of the video stream includes receiving the video stream, and wherein when the registered on-demand camera is deactivated by the operator, the camera server does not apply camera server resources to receive the video stream from the deactivated on-demand camera.
7. The method of claim 1, comprising:accepting a selection of two or more on-demand cameras for activation by the operator; and activating the selected two or more on-demand cameras in bulk.
8. The method of claim 1, comprising:accepting a selection of two or more on-demand cameras for deactivation by the operator; anddeactivating the two or more on-demand cameras in bulk.11 11 249. The method of claim 1, comprising:accepting from the operator of the video surveillance system a selection of a particular surveillance area out of a plurality of surveillance areas;displaying a graphical representation of cameras within the operator-selected surveillance area, the cameras including both system cameras and registered on-demand cameras; andwherein accepting the selection of two or more cameras from the representation of available cameras includes accepting a selection of two or more cameras from the graphical representation of cameras.
10. The method of claim 1, further comprising load balancing by automatically moving one or more of the selected two or more cameras between two or more camera servers.
11. The method of claim 10 comprising:ranking the two or more camera servers based at least in part on current server load on each of the two or more camera servers; andmoving one or more activated cameras between the two or more camera servers based on the current ranking of each of the two or more camera servers.
12. The method of claim 11 comprising assigning a newly activated on-demand camera to a camera server of the two or more camera servers that has a ranking that correspond to the lowest current server load.
13. The method of claim 1, wherein ranking the activated on-demand cameras comprises ranking the activated on-demand cameras based at least in part on one or more of:the number of times that the video stream from the activated on-demand camera has been selected to be viewed by the operator;the number of times that the activated on-demand camera has been activated or deactivated; andhow recently has the activated on-demand camera been activated or deactivated.
Citation Information
Patent Citations
Obtaining camera device image data representing an event
US20180041685A1
Surveillance system with fixed camera and temporary cameras
US20180192006A1
Apparatus and method for displaying control information of cameras connected to a network
US6002995A
Method and system for display of visual information
WO2015173272A1