Video surveillance system, video management method, and digital device

By configuring a computer-based digital device to simulate a physical video camera, the challenge of adapting video surveillance systems to different hardware devices is solved, enabling flexible video stream processing and storage, and supporting a variety of application needs.

CN114554140BActive Publication Date: 2026-02-17MILESTONE SYSTEMS
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202111332001.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-11-11
Filing Date
2021-11-11
Publication Date
2026-02-17
Estimated Expiration
2041-11-11

AI Technical Summary

Technical Problem

Modern video surveillance systems face the challenge of supporting and adapting to a variety of hardware devices from different vendors, and struggle to flexibly adapt to changes in different needs and hardware components.

Method used

By configuring a computer-implemented digital device to simulate a physical video camera, an interface is provided to communicate with a video receiving system, and video streams are processed and stored on a computer network, allowing the video management system to flexibly switch and expand between different hardware components.

Benefits of technology

It achieves flexibility and adaptability in video surveillance systems, enabling seamless switching between different hardware components, expanding video processing capabilities, reducing hardware limitations, and supporting a variety of application needs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114554140B_ABST
    Figure CN114554140B_ABST
Patent Text Reader

Abstract

One aspect of the present disclosure relates to a video surveillance system, a video management method and a digital device, the video surveillance system comprising a video management system and one or more digital devices, each of the one or more digital devices being configured to emulate at least one physical video camera and to send video streams and / or video metadata to a video receiving system via a computer network, wherein the video management system comprises: an input interface for receiving one or more video streams from respective one or more video cameras and / or other video sources; a processing unit configured to receive the one or more input video streams from the input interface and to store the input video streams in a video repository, each input video stream corresponding to a respective one of the received video streams; and an output interface configured to send one or more of the input video streams and / or one or more of the stored video streams to one or more of the digital devices via the computer network.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present disclosure relates generally to video surveillance systems. BACKGROUND

[0002] Modern video surveillance systems have evolved into highly complex and often heterogeneous systems comprising a large number of different peripheral devices and computer hardware elements that are tied together via a networking infrastructure and controlled by means of advanced management software. One important component of modern video surveillance systems is a video recording and processing system that allows receiving, storing and processing video streams from one or more video cameras.

[0003] For example, US 2015 / 0215583 discloses a video surveillance system comprising Internet Protocol (“IP”) cameras, a network and cloud computing resources having management resources, video storage resources, and viewing and control resources. The IP cameras and the cloud computing resources are connected via the network. The IP cameras independently access the individual cloud computing resources. Application software of a device connected to the network recognizes one or more objects of interest from video data of the IP cameras for extraction.

[0004] A video management system (also referred to as video management software or video management server) is a component of a camera surveillance system that provides video management services such as one or more of the following: collecting one or more video streams from one or more video cameras; storing the received one or more video streams to a storage device; and providing an interface to view the received one or more live video streams and / or to access one or more stored video streams.

[0005] In this fast evolving field, surveillance systems, in particular video management systems, are thus faced with the continuous challenge of supporting, coping with and leveraging a large variety of different hardware devices from a large number of different vendors, wherein the individual hardware devices often have their own driver components and / or interfaces, such as their own Application Programming Interfaces (APIs).

[0006] Furthermore, it is often desirable that surveillance systems, in particular video management systems, are versatile and can be used in different types of applications that can impose different requirements or demands. Moreover, the requirements and demands imposed in surveillance systems can change over time.

[0007] Against this background, it is generally desirable to provide a video management system for a video surveillance system that is flexible and facilitates the ability of the video surveillance system to easily adapt to different needs and / or to different hardware components. SUMMARY

[0008] It is an object of at least some aspects described in this disclosure to address one or more of the problems identified above and / or other issues associated with existing video surveillance systems, or to at least provide a useful alternative to known systems.

[0009] According to one aspect, embodiments of a video surveillance system comprising a video management system and one or more digital devices implemented on a computer are disclosed herein. Each of the one or more digital devices is configured to emulate at least one physical video camera for transmitting a video stream and / or video metadata to a video receiving system via a computer network, which can be remote from the digital device. According to the present disclosure, each of the one or more digital devices is configured to emulate the physical video camera by providing one or more interfaces that allow the video receiving system to communicate with the digital device by retrieving the video stream and / or making camera settings as if the digital device were the physical video camera. Each of the one or more digital devices is also configured to output the video stream and / or video metadata to the video receiving system via the one or more interfaces. The video management system comprises:

[0010] an input interface for receiving one or more video streams from a respective one or more video cameras and / or from one or more other video sources;

[0011] a processing unit configured to receive the one or more input video streams from the input interface and store the input video streams in a video repository, each input video stream corresponding to a respective one of the received video streams; and

[0012] an output interface configured to transmit one or more of the input video streams and / or one or more of the stored video streams to one or more of the digital devices via a computer network.

[0013] Thus, even for video streams captured by video cameras without advanced capabilities, the surveillance system allows creating customized processing of video streams and / or metadata in a flexible manner. Moreover, when the digital device provides an execution environment for the user to install applications, the type of video processing can be easily adapted at any time, in particular by installing the desired application on the digital device. Furthermore, embodiments of the digital device can be implemented by a digital device data processing system that is separate from and remote from the physical video camera. In particular, some embodiments of the digital device can be integrated into the video management system, while other embodiments of the digital device can be implemented by a digital device data processing system that is remote from a video management data processing system implementing the video management system. For example, some embodiments of the digital device can be executed on a remote computing infrastructure that is remote from the video management system data processing system, such as on a cloud infrastructure. Thus, the number of digital devices as well as the number and complexity of applications hosted by the digital devices are easily scalable and are not limited by the hardware of the video cameras or by the available computing power of the video management data processing system executing the video management software. Typically, the video cameras can be surveillance cameras, such as IP surveillance cameras, networked surveillance cameras, etc., or other types of video cameras.

[0014] The video management system can be implemented as a video management computer program executed on a video management data processing system. In particular, the video management system can comprise a video recording server, which can be implemented as a recording server process executed by the video management data processing system, wherein the recording server is configured to receive and store input video streams and to send input video streams to at least one of the one or more digital devices.

[0015] To this end, the video management data processing system can comprise one or more processing units and a memory having stored program code configured to implement the video management system, in particular the recording server process, when executed by the one or more processing units. The data processing system implementing the video management system is typically, but not necessarily, installed on premises of the facility where the video cameras are located, thereby avoiding the need to transmit video streams from the video cameras over a public communication network. In some embodiments, the video management data processing system is connected to the one or more video cameras via a local computer network, such as a local area network, thereby facilitating the video management system to efficiently receive large data volumes, in particular without relying on external internet connections.

[0016] The video streams received by the video management system are digital video streams, e.g. in the form of respective video data streams. The digital video streams can be encoded video streams encoded using a suitable video encoding protocol, such as H.264 or H.265. The video management system can store the input video streams as encoded video streams. Similarly, the output interface can provide the input video streams and / or previously stored video streams as suitably encoded video streams.

[0017] The video repository can be a suitable data storage for storing media content, in particular video content. In particular, the video repository can be a suitable media database, in particular a video database. The video repository can be implemented as part of the video management data processing system, or the video repository can be implemented by a separate data processing system in communicative connection with the video management data processing system, in particular with the recording server.

[0018] In some embodiments, the video management system is configured to transmit the input video streams to at least one of the one or more digital devices, such as at least one of the one or more remote digital devices, and simultaneously store the input video streams in the video repository, i.e. the digital devices can receive and process the video streams as a live video feed in quasi real-time. Thus, the video streams and / or metadata generated by the digital devices can be fed into the video receiving system in quasi real-time, e.g. for quasi real-time or live viewing by an operator.

[0019] According to another aspect, disclosed herein are embodiments of a computer-implemented digital device configured to emulate at least one physical video camera for transmitting video streams and / or video metadata to a video receiving system via a computer network, which can be remote from the digital device. Thus, the digital device is configured to operate as a video source, such as a video server, for transmitting video streams and / or video metadata to a video receiving system via a computer network. The digital device can implement a video pipeline for processing the received video streams. This processing can result in processed video streams and / or video metadata.

[0020] The computer-implemented digital device emulates at least one physical video camera, i.e. the digital device is configured to provide one or more interfaces that allow an external system (e.g. a video receiving system as described above) to communicate with the digital device by retrieving video streams and / or making camera settings as if the digital device was a physical video camera. Thus, the digital device is configured / structured to give the presentation of a physical video camera to a video receiving system. In particular, embodiments of the computer-implemented digital device comprise one or more interfaces that are accessible to a video receiving system (which can be remote from the computer-implemented digital device) so that the video receiving system can interact with the computer-implemented digital device in the same way as with a physical video camera. To the video receiving system, the computer-implemented digital device can be indistinguishable from a physical video camera. For example, the digital device can be identified by the video receiving system as a video camera on a computer network. However, it will be appreciated that the digital device does not comprise any optical system, image sensor, etc. for optically taking video images. Instead, the digital device is configured to receive video streams, in particular from a video management system. The digital device is configured to output the received video streams or processed versions of the received video streams via the one or more interfaces so that the video receiving system receives the optionally processed video streams from the digital device in the same way as it would receive video streams from a physical video camera. Thus, the computer-implemented digital device can be considered a virtual digital device. The digital device can also output video metadata.

[0021] According to the present application, one or more physical video cameras can be tethered to the same digital device. For example, it can be advantageous to provide several physical video cameras that are tethered to the same digital device and that view the same target area (or scene) with different capabilities, e.g. with different fields of view or different resolutions. One of these physical video cameras can for example have a narrower field of view compared to the other physical video cameras connected to the same digital device. More generally, these physical video cameras can operate for independent reasons, such as for displaying different and / or complementary views or details of the target area. In such a case where several physical video cameras are tethered to the same digital device, the digital device can advantageously be configured to provide the same execution environment for one or more user-installed applications, thereby allowing the processing of at least a portion of the received video streams (i.e. obtaining processed video streams and / or video metadata associated with the received video streams) with the same one or more user-installed applications. For example, the digital device can provide an execution environment for a user-installed application that is configured to perform face recognition in video streams received from different physical video cameras tethered to the digital device.

[0022] Conversely, one physical video camera can be tethered to several digital devices. In other words, a physical video camera can be emulated several times. For example, a video stream received from the physical video camera can be processed by a first application on a first digital device to detect human faces in the received video stream, and the same received video stream can be processed by a second application on a second digital device to detect vehicles in the received video stream. Alternatively or additionally, the received video stream can be processed multiple times on the same digital device and / or can be further processed on other digital devices. For example, the processed video stream in which human faces have been detected can be further processed, e.g. on other digital devices and / or with other user-installed applications, to perform facial recognition on the detected human faces.

[0023] Each of the one or more digital devices operates independently of the one or more physical video cameras to which it is tethered (or to which they are tethered). In other words, each digital device has the property of the one or more physical video cameras to which it is tethered (or to which the digital device is tethered), but has its own lifetime. Thus, the one or more digital devices are not confused with virtualized video cameras or virtual video cameras, as they are tethered to physical video cameras.

[0024] Each digital device operates based on one or more video streams received from one or more physical video cameras, and provides one or more interfaces that allow a video receiving system to communicate with the digital device by retrieving video streams and / or making camera settings as if the digital device was that or those physical video cameras. Each of the one or more digital devices is also configured to output the video streams and / or video metadata to the video receiving system via the one or more interfaces.

[0025] The digital device can be configured to emulate at least one App (application) enabled camera. For the purpose of the present specification, the term "App enabled camera" is intended to refer to a video camera, in particular a physical video camera, which comprises a processing unit on which one or more software applications can be installed to provide additional digital capabilities to the video camera. This can allow to extend the life cycle of a physical video camera that would otherwise be considered obsolete. The App enabled camera can be an IP camera. In particular, the term "App enabled camera" includes a camera which can have such applications installed at any time after manufacturing, e.g. by a user of the video camera. To this end, the App enabled camera can comprise a processing unit and a suitable operating system, e.g. an Android based operating system, configured to provide an execution environment to facilitate the execution of applications, in particular configured to cause the processing unit to process video streams recorded by the video camera and / or to provide other functionalities to the camera when executed by the processing unit.

[0026] Thus, the digital device can comprise a suitable operating system, e.g. an Android based operating system, configured to provide an execution environment for facilitating the execution of applications, in particular user installed applications. The applications can be configured to cause the digital device to process video streams received from the video management system, to generate processed video streams and / or video metadata derived from the received and / or processed video streams, when executed by a data processing system, in particular a cloud based processing resource. The digital device is configured to output the processed video streams and / or video metadata to a video receiving system, e.g. to a remote data processing system, such as to the video management system or to other video receiving systems for receiving video streams and / or associated video metadata.

[0027] For the purpose of the present specification, the term digital device used herein is intended to refer to a computer program configured to emulate at least one physical electronic device, in particular to emulate at least one physical video camera, such as at least one physical IP camera or the like, when executed by a digital device data processing system. The digital device can be a cloud based digital device. The term cloud based digital device as used herein is intended to refer to a computer program configured to emulate at least one physical electronic device, in particular to emulate at least one physical video camera, when executed by a cloud based computing resource of a cloud based computing architecture.

[0028] In particular, embodiments of the digital device disclosed herein are configured to emulate at least one App enabled physical video camera. To this end, the digital device is configured to:

[0029] receive a video stream from a video management system,

[0030] providing an execution environment for the one or more users installing applications to process at least a portion of a received video stream, resulting in a processed video stream and / or video metadata associated with the received video stream, and

[0031] outputting the processed video stream and / or the video metadata to the video reception system via the one or more interfaces.

[0032] To this end, the digital device data processing system can comprise a processing unit and a memory having stored program code configured to implement the digital device when executed by the processing unit. It will be appreciated that a single digital device data processing system can implement one or more digital devices. Similarly, it will be appreciated that different digital devices can be implemented by a single data processing system or by respective separate digital device data processing systems. Thus, one or more digital device data processing systems can be communicatively connected to the video management data processing system, e.g. via a computer network. In some embodiments, one or more cloud-based digital devices can be implemented by one or more virtual machines in a cloud infrastructure, for example. The present disclosure relates to applications deployed on or executed by digital devices. It will be appreciated that this is intended to refer to applications executed by a digital device data processing system implementing the digital device, e.g. applications executed by a cloud computing infrastructure implementing a cloud-based digital device.

[0033] In general, the processing unit can comprise a suitably programmed microprocessor or any other circuit and / or device suitably adapted to perform the data and / or signal processing functions described herein. In particular, the processing unit can comprise a general- or special-purpose programmable microprocessor, such as a central processing unit (CPU), a digital signal processing unit (DSP), an application-specific integrated circuit (ASIC), a programmable logic array (PLA), a field-programmable gate array (FPGA), a graphics processing unit (GPU), a special-purpose electronic circuit, etc., or a combination thereof. To this end, the processing unit can be suitably programmed by software and / or firmware configured to be executed by the processing unit. The software and / or firmware can be stored on a suitable memory of the processing unit. In some embodiments, the processing unit is a suitably programmed computer or other data processing system.

[0034] In some embodiments, at least one of the one or more digital devices includes a video decoder module configured to decode the received video stream. The decoder module can be configured to decode a video stream encoded using a suitable video encoding standard, such as the H.264 standard or the H.265 standard, among others. The digital device can be configured to provide an application interface and / or other services that allow one or more application programs deployed by the digital device to receive at least a portion of the decoded video stream (e.g., individual frames). The application interface can also allow one or more application programs executed by the digital device to return a processed video stream, e.g., individual frames of a processed video stream. In some embodiments, at least one of the one or more digital devices includes a video encoder module configured to re-encode the received video stream and / or a processed video stream. The encoder module can be configured to encode a video stream according to a suitable video encoding standard, such as the H.264 standard or the H.265 standard, among others.

[0035] In some embodiments, at least one of the one or more digital devices includes a communication module configured to establish a video tunnel or other suitable communication session with the video management system and receive the video stream via the video tunnel or otherwise within the context of the established communication session. In some embodiments, the digital device is configured to transmit the processed video stream and / or associated video metadata to the video management system, particularly via the established video tunnel or otherwise within the context of the same established communication session in which the digital device has received the original video stream, back to the video management system.

[0036] The digital device is configured to emulate at least one App-enabled camera. Accordingly, the digital device can include a video server component configured to operate as a video server that can be recognized by a video receiving client component (which can be remote from the digital device) and configured to provide a video stream and / or metadata to the video client component. The video server component can be integrated into the communication module. The video server component can be configured to implement a network control protocol, such as the Real Time Streaming Protocol (RTSP), configured to be used in a communication system to control a streaming media server. Alternatively or additionally, the video server component can be configured to operate according to a version of the Open Network Video Interface Forum (ONVIF) Core Specification, such as ONVIF Core Specification Version 2.4. In addition, the server component can be configured to operate according to a version of one or more ONVIF profiles.

[0037] It will be appreciated that the digital device differs from a physical video camera in that the physical video camera includes an image sensor. Thus, any video processing by the physical video camera (e.g., by the App enabling the physical video camera) is performed on a video stream captured by the image sensor. On the other hand, embodiments of the digital device disclosed herein receive a video stream (in particular, an encoded video stream) from an external data processing system via a computer network and process the received video stream, in particular, decode the received video stream and process the decoded video stream.

[0038] The digital device can be configured to host a variety of different applications. Examples of applications include applications that process at least a portion of a video stream (e.g., one or more frames of the video stream) to create metadata associated with the video stream (e.g., metadata indicative of one or more detected properties or features of the video stream) (e.g., to perform object detection, event detection, and / or motion detection, etc.). Some or more of these processing techniques can include the application of machine learning techniques. One example of an application can add GPS location data to places within the field of view depicted in the video, e.g., to identify the location of a crime. Other examples of video processing can include detecting or otherwise adding metadata about a crime, such as creating data from various cameras stitched together. Thus, in some embodiments, the digital device can be configured to receive multiple video streams and generate metadata based on the combination of the multiple videos.

[0039] Other examples of applications include applications that process at least a portion of a video stream to modify the video stream (i.e., to create at least a portion of a processed video stream). Examples of such processing include processing for image / video enhancement, etc. For example, an application can upscale low resolution video to higher resolution video and / or enhance image quality and / or create super resolution from poor quality video. This allows for the use or extension of the life cycle of a previous generation camera, such as a VGA camera, etc.

[0040] Alternatively or additionally, the one or more digital devices can upscale one or more low resolution videos to higher resolution videos and / or enhance image quality and / or create super resolution from poor quality video and then provide the one or more enhanced videos to one or more user installed applications. In other words, the digital device according to the present application can run super resolution on the raw camera data before sending the one or more processed video streams to one or more user installed applications.

[0041] At least some embodiments of the video management system disclosed herein are capable of receiving video streams from a variety of different cameras. Accordingly, in some embodiments, the input interface of the video management system comprises one or more camera drivers, each camera driver being configured to receive a video stream from at least one type of video camera. In some embodiments, each camera driver is configured to add one or more timestamps to the received video stream to provide the input video stream as a timestamped input video stream. The video management system can then be configured to store the input video stream with the added timestamps and use the added timestamps as canonical timestamps for the purposes of subsequent processing.

[0042] In some embodiments, the video management system is configured to selectively feed a currently received input video stream or a previously stored video stream (i.e. a video stream previously stored in the video repository) to the digital device. Feeding a previously stored video stream to the digital device can comprise replacing the canonical timestamps with modified timestamps, the modified timestamps corresponding to the current time, i.e. the time at which the video stream is sent to the digital device. Thus, the video management system allows the digital device to simulate at least one physical video camera taking a video at the current time (i.e. in real-time or quasi real-time).

[0043] In some embodiments, the video management system further comprises an indexing server for indexing the metadata stored in the metadata repository, in particular the metadata database. Thus, efficient subsequent retrieval of stored metadata is facilitated.

[0044] The video management system, in particular the recording server, is configured to receive video streams and / or associated metadata from one or more digital devices. In some embodiments, the video management system is configured to determine whether a received processed video stream is received from a digital device and whether the received processed video stream corresponds to a previously stored video stream (i.e. is a processed version of a previously stored video stream) and selectively add timestamps to the received processed video stream and / or received metadata, the added timestamps corresponding to the canonical timestamps of the previously stored video stream. In particular, detecting whether the received processed video stream corresponds to a previously stored video stream can comprise determining whether processed video and / or metadata is received in response to the video management system having fed a previously stored video stream with modified timestamps to a digital device. The video management system can make this determination, for example, when the video management system has received a processed video stream as part of the same session, e.g. via the same video tunnel via which the previously stored video with modified timestamps has been fed to the digital device.

[0045] It will be appreciated that the video management system and / or the digital device can receive and process additional media streams and / or additional sensor data, such as audio signals, radar signals, LIDAR signals, etc. It will also be appreciated that the video stream can be a video stream of video images indicative of visible light and / or video images indicative of radiation at non-visible wavelengths, such as thermal images, etc., e.g. images taken by a SWIR camera, etc. The digital device can provide such additional media streams and / or sensor data to an application hosted by the digital device to allow the application to process the additional media streams in conjunction with the video stream.

[0046] The video management system can be configured to transmit the video stream to the digital device via a suitable computer network, such as the Internet, etc.

[0047] The present disclosure relates to different aspects, including the video surveillance system described above and below, further methods, systems, devices and product means, each aspect producing one or more of the benefits and advantages described in connection with one or more of the other aspects described herein and having one or more embodiments corresponding to embodiments described in connection with one or more of the other aspects described herein and / or as disclosed in the appended claims.

[0048] In particular, the present disclosure also relates to a computer-implemented video management process, comprising:

[0049] receiving one or more video streams from respective one or more video cameras and / or other video sources,

[0050] storing the one or more input video streams in a video repository, each input video stream corresponding to a respective one of the received video streams, and

[0051] sending one or more of the input video streams and / or one or more of the stored video streams from the video management system to one or more digital devices via a computer network, each of the one or more digital devices being configured to emulate at least one physical video camera and to send the video stream and / or video metadata to a video receiving system via the computer network, the video receiving system being remote from the digital device,

[0052] wherein each of the one or more digital devices is configured to emulate the physical video camera by providing one or more interfaces that allow the video receiving system to communicate with the digital device by retrieving the video stream and / or making camera settings as if the digital device was a physical video camera, and wherein each of the one or more digital devices is further configured to output the video stream and / or video metadata to the video receiving system via the one or more interfaces.

[0053] It is noted that features of the various embodiments of the computer-implemented methods described above and below can be implemented at least partly in software or firmware, and executed on a data processing system or other processing unit, as a result of the execution of program code means such as computer-executable instructions. Herein and below, the term processing unit includes any circuit and / or device suitable for performing the functions described above. In particular, the term includes general or special purpose programmable microprocessors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Programmable Logic Arrays (PLAs), Field Programmable Gate Arrays (FPGAs), Graphics Processing Units (GPUs), dedicated electronic circuits, etc., or a combination thereof.

[0054] The present disclosure also relates to embodiments of a computer program configured to cause a data processing system to perform the actions of the computer-implemented methods described above and below. The computer program can comprise program code means adapted to cause a data processing system to perform the actions of the computer-implemented methods disclosed above and below when the program code means are executed on the data processing system. The computer program can be stored on a computer-readable storage medium (in particular a non-transitory storage medium), or embodied as a data signal. The non-transitory storage medium can comprise any suitable circuit or device for storing data, such as a RAM, a ROM, an EPROM, an EEPROM, a flash memory, a magnetic or optical storage device such as a CD-ROM, a DVD and / or a hard disk, etc. BRIEF DESCRIPTION OF DRAWINGS

[0055] The above and other aspects will become apparent from and elucidated with reference to the embodiments described hereinafter, by way of example, with reference to the accompanying drawings, in which

[0056] Figure 1 An example of a video monitoring system is schematically illustrated.

[0057] Figure 2 An example of a cloud-based digital device with an analog App-enabled video camera is schematically illustrated.

[0058] Figure 3 An example of a computer-implemented video management process is schematically illustrated.

[0059] Figures 4 to 7 An example of a video management and video processing process is schematically illustrated. DETAILED DESCRIPTION

[0060] Figure 1 An example of a video monitoring system is schematically illustrated.

[0061] The video surveillance system includes a plurality of video cameras 100, a video management system 300, and a plurality of digital devices 500. In Figure 1 In the example shown and in some of the following figures, the digital devices are shown as being remote from the video management system, particularly as being executed by a digital device data processing system that is remote from a video management data processing system that executes the video management system. In particular, cloud-based embodiments of the digital devices are described. However, it will be appreciated that in some embodiments one or more or even all of the digital devices can be integrated into the video management system, or otherwise executed on the same data processing system as the video management system. Optionally, the video surveillance system can include additional components, such as a video analytics system 600 and / or other video receiving systems 700. These can be implemented on a data processing system that is remote from the video management system (as shown in Figure 1 ), or they can be executed on the same data processing system as the video management system.

[0062] While Figure 1 a system with three video cameras is shown, it will be appreciated that other examples can include fewer than three or more than three cameras. In general, the video surveillance system can include one or more video cameras. The one or more video cameras are typically distributed throughout an area that is desired to be monitored, e.g., throughout a premises of a facility that is desired to be monitored. The number and location of the cameras, as well as the type of cameras to be installed, can be selected based on factors such as the level of monitoring that is desired, the size of the facility, and / or the complexity of the facility layout.

[0063] The video cameras can be conventional video cameras known in the video surveillance art. It will be appreciated that the video surveillance system can include a plurality of video cameras of the same type, i.e., video cameras having the same capabilities, providing the same type of video output in the same format, etc. Alternatively, many examples of the video surveillance system can include different types of cameras, e.g., video cameras having different capabilities, providing video streams or outputs of different resolutions in different formats, or associating additional metadata with the video. Examples of capabilities of the video cameras can include one or more of the following: audio recording, video recording within a visible wavelength range and / or an infrared wavelength range (such as a near-infrared wavelength range), control functions such as pan or zoom, image processing capabilities, motion detection, etc.

[0064] The video cameras 100 are communicatively connected to a video management system 300. To this end, the video cameras 100 can be connected to the video management system via the local area network 200 or in a different suitable manner (e.g., via point-to-point wired and / or wireless connections, etc.). For example, the video cameras can be connected to the video management system via Ethernet connections. Examples of wireless connections include 5G networks. It will be appreciated that some examples of video surveillance systems can include additional sensors that provide sensor signals and / or media streams (such as audio signals, radar signals, LIDAR signals, etc.) different from video streams.

[0065] The video management system 300 receives video streams from the video cameras 100, and optionally input signals from other sources. The video management system is configured to store the received video streams in a media repository 350, and to provide an interface (I / F) 360 for accessing live video streams, and to access video streams stored in the media repository 350. The media repository 350 can be a media database or other suitable storage for storing media content. The video management system can include a user interface that allows a user to view live video and / or stored video and / or to control the operation of one or more video cameras.

[0066] The video management system 300 can be embodied as a software program executed by a suitable data processing system (e.g., by one or more server computers). The data processing system implementing the video management system is typically (but not necessarily) installed on premises of a facility in which the video cameras are located, thereby avoiding the need to transmit video streams from the video cameras over public or other communication networks.

[0067] The video management system includes one or more camera drivers (CDs) 310 for providing an interface to video cameras of a respective type. Different video cameras can provide their video streams in different formats (e.g., using different encoding schemes and / or different network protocols). Similarly, different cameras can provide different interfaces for camera control (such as zoom or pan, etc.). Accordingly, the video management system 300 can include multiple different camera drivers 310 configured to cooperate with respective camera types. In particular, the camera drivers 310 can implement one or more suitable network protocols and / or other communication standards for communicating with video cameras and / or other surveillance devices. Examples of such protocols and standards include the Open Network Video Interface Forum (ONVIF) standards and the Real-Time Streaming Protocol (RTSP).

[0068] The camera driver 310 also adds one or more time stamps to the received video signals 101 to ensure that the video streams stored by the video management system and subsequently provided comprise uniform time stamps. The added time stamps will also be referred to as canonical time stamps. The canonical time stamps indicate the time at which the video management system received the video stream 101 from the respective video camera 100. Thus, the camera driver provides uniform time stamped input video streams 311, each corresponding to a respective one of the received video streams 101.

[0069] The video management system 300 comprises a recording server (RS) 320. The recording server can be embodied as a software program module executed by a suitable data processing system, e.g. by one or more server computers. The recording server receives the input video streams 311 originating from the respective video cameras 100 from the corresponding camera drivers 310. The recording server stores the received input video streams in a suitable media storage, such as a suitable media database or the like. It will be appreciated that the media repository 350 can be part of the video management system 300 or it can be separate from the video management system but communicatively coupled thereto. The media repository 350 can be implemented as any suitable mass storage device, such as one or more hard disks or the like. The storage of the received input video streams is also referred to as recording the received input video streams. The recording server can receive additional input signals associated with the input video streams, such as audio signals, motion detection signals or the like. The additional input signals can originate from the video cameras 100 and / or from other signal sources, such as from additional surveillance sensors or the like. The video management system can store the additional input signals in the media repository 350 and / or in a separate storage device.

[0070] The recording server 320 is further configured to selectively provide the live input video streams 311 and / or previously stored input video streams retrieved from the media repository 350 to one or more external entities 500, 600, 700 via a suitable interface 360, respectively.

[0071] To this end, the interface 360 can provide a network interface for providing live video streams and / or previously stored video streams to one or more digital devices 500, such as cloud-based digital devices or the like, via a communication network 400. To this end, the interface 360 can be configured to establish respective video tunnels and / or other communication sessions with the digital devices 500. The interface 360 can implement one or more suitable network protocols and / or other communication standards for communicating with other surveillance equipment. Examples of such protocols and standards include the Open Network Video Interface Forum (ONVIF) standard and the Real Time Streaming Protocol (RTSP).

[0072] Reference will be made to the drawings in which Figures 2 to 7 Examples of the operation of the digital device 500 and the interaction between the video management system and the digital device will be described in more detail.

[0073] Optionally, the interface 360 can implement different communication channels to other types of external entities. Examples of external entities include a video reception system 700, which can receive video streams and provide functionality for viewing and / or processing the video streams. Other examples of external entities include a video analysis system 600, which can receive video streams and perform video processing for analyzing the video streams. To this end, the video analysis system can perform object detection, object recognition, motion detection, and / or other types of video analysis. The video analysis system can create video metadata indicative of the results of the performed video analysis. For example, the video analysis system can create video metadata indicative of recognized objects in a video stream. The metadata can include information about the spatial and temporal location of the recognized objects in the video stream and / or information about the identity of the recognized objects. The analysis system can store the generated metadata in a suitable metadata repository. In some embodiments, the analysis system can transmit the generated metadata back to the video management system. The video management system can store the returned metadata in a suitable metadata repository 340, such as a suitable metadata database, which can be separate from or integrated into the media repository 350. To this end, the video management system can include an index server (IS) 330. The index server can be embodied as a software program module executed by a suitable data processing system, e.g., by one or more server computers. The index server can receive metadata and store the received metadata in the metadata repository 340. The index server can also index the stored metadata to allow for faster subsequent searching and retrieval of the stored metadata. Metadata received from the external analysis system 600 can be received by the recording server 320 and forwarded to the index server 330. Alternatively or additionally, the index server can receive metadata directly from one or more analysis systems 600.

[0074] The interface 360 can implement different types of interfaces. For example, the interface can provide an application interface, e.g., in the form of a software development kit and / or one or more communication protocols, such as a suitable messaging protocol (e.g., SOAP, XML, etc.). Thus, the interface can operate as a gateway to different types of systems.

[0075] The communication network 400 can be the Internet or other suitable communication network. However, it will be appreciated that at least some of the other entities 500, 600, and 700 can reside on the same data processing system as the video management system, or alternatively, on a data processing system connected to the video management system via a local area network.

[0076] Figure 2 An example of a cloud-based digital device that emulates an App-enabled video camera is shown schematically.

[0077] The cloud-based digital device 500 can be implemented as a computer program executing on a cloud-based computing platform 800, such as an infrastructure as a service (IaaS) architecture.

[0078] The digital device includes a suitable operating system (O / S) 520 that provides an execution platform for one or more user-installed applications (Apps) 540. The applications 540 can be deployed during runtime of the digital device 500, for example, by obtaining the applications in an App store or similar application repository. In some embodiments, the operating system is an Android-based operating system. To this end, the digital device can include a hardware abstraction layer (HAL) 510 that allows the operating system and / or other software components of the digital device 500 to execute on the cloud computing architecture 800.

[0079] The digital device 500 also includes a service component 530 that is configured to provide various services to the applications 540, for example, allowing the applications to request video streams (e.g., individual frames of a video stream) when the applications are executing on the digital device.

[0080] The digital device also includes a communication module (COM) 550 that allows the digital device to communicate with a video management system using suitable network protocols, such as RTSP, and the like. The digital device 500 includes a decoder module (DEC) 560 that is configured to decode received video streams. For example, the decoder module 560 can be configured to receive and decode video streams encoded according to H.264 and / or H.265 and / or other suitable encoding standards for encoding video streams. Thus, the digital device 500 can allow one or more applications 540 executed by the digital device to access the received and decoded video streams. The applications can process the video streams or individual frames of the video streams. Some applications can process the video streams and generate modified video streams. Alternatively or additionally, one or more applications can process the received video streams to create metadata based on the video streams.

[0081] To this end, the digital device 500 can be configured to host various different applications. Examples of applications include applications that process at least a portion of a video stream (e.g., one or more frames of a video stream) to create metadata associated with the video stream (e.g., metadata indicative of one or more detected properties or features of the video stream) (e.g., to conduct object detection, event detection, motion detection, etc.). Some or more of these processing techniques can include the application of machine learning techniques. One example of an application can add GPS location data to places within the field of view depicted in a video, e.g., to identify the location of a crime. Other examples of video processing can include detecting or otherwise adding metadata about a crime, such as creating data from various cameras stitched together, etc. Thus, in some embodiments, the digital device can be configured to receive multiple video streams and generate metadata based on the combination of the multiple videos.

[0082] Alternatively, the applications on the digital device can call upon one or more physical video cameras that are tethered to the digital device (or the digital device is tethered to the physical video cameras) to query their GPS locations. This allows, for example, the physical video cameras to be searched by GPS coordinates in the application (which would otherwise be lost when searching by GPS location). Knowing the GPS location of the physical video cameras can also allow the applications to create useful correlations, such as GPS correlations to depth of field (or DOP, which can be computed, e.g., by the application or other applications). GPS locations are generally more useful when it comes to outdoor physical video cameras.

[0083] Other examples of applications include applications that process at least a portion of a video stream to modify the video stream (i.e., to create at least a portion of a processed video stream). Examples of such processing include processing for image / video enhancement, etc. For example, an application can upscale low resolution video to higher resolution video and / or enhance image quality and / or create super resolution from poor quality video.

[0084] The communication module is further configured to allow the digital device 500 to operate as a video server on a computer network, i.e., to provide video streams to video stream receiving systems. In particular, the digital device can output video streams received from the video management system and / or it can output processed video streams, i.e., video streams that are based on the received video streams but modified by one or more of the applications 540. To this end, the digital device includes an encoder module (ENC) 570 that is configured to encode video streams to be output by the digital device. For example, the encoder module 570 can be configured to encode video streams according to H.264 and / or H.265 and / or other suitable encoding standards for encoding video streams.

[0085] Thus, the digital device 500 is configured to emulate at least one physical video camera, which can be identified on the computer network as a video camera, and to provide a properly encoded video stream to an external video signal receiving system via the computer network. Typically, an emulated video camera comprises support for APIs, such as APIs defined in RTSP and / or ONVIF, etc., typically APIs supported by the video camera, in particular APIs for retrieving a video stream, for making camera settings, etc. In particular, the digital device 500 is configured to emulate at least one App-enabled video camera, which allows deploying an application and outputting the result of a video processing of the video stream by the application. Instead of operating on a video stream directly obtained by an image sensor, as is the case in a physical video camera, the digital device operates on a video stream received from the video management system disclosed herein.

[0086] Figure 3 An example of a computer-implemented video management process is schematically illustrated. Figure 3 The process of Fig. 1 can for example be performed by a video management system of a video surveillance system. Figure 1 The process of Fig. 1 can for example be performed by a video management system of a video surveillance system.

[0087] In step S1, the process receives a video stream 101 from a video camera 100.

[0088] In step S2, the process adds a timestamp to the received video stream, the timestamp indicating the time at which the video management system receives the video stream, resulting in a timestamped input video stream 311. It will be appreciated that the process can add multiple timestamps to the received video stream, for example to indicate the time of reception of individual portions, for example individual frames of the video stream. In some embodiments, a timestamp is added to some but not all frames, for example only to the initial frame and / or to one or more otherwise selected frames. It will also be appreciated that the received video stream 101 can or can not comprise a timestamp, depending on the type of camera 100. However, as will be described in more detail below, the added timestamp of the input video stream 311 will subsequently be used by the video management system as a canonical timestamp, regardless of whether any timestamp is present in the received video stream 101.

[0089] In step S3, the process stores the timestamped input video stream 311 in a media repository 350.

[0090] In step S4, while storing the timestamped input video stream, the process provides the timestamped input video stream 311 as live video to one or more digital devices as described herein.

[0091] It will be appreciated that some of the embodiments of the video management system can be capable of receiving and processing multiple video streams simultaneously, for example video streams from different video cameras.

[0092] Figure 4 An example of a video management and video processing process performed by a video surveillance system comprising Figure 2 of a digital device 500. Figure 1 of a video surveillance system.

[0093] The camera driver 310 of the video management system 300 receives a video stream 101 from the video camera 100. For example, as described in connection with step S2 of the process of Figure 2 The camera driver 310 adds a timestamp to the received video stream.

[0094] The recording server 320 receives the timestamped input video stream 311 from the camera driver and stores the timestamped input video stream in the media repository 350. At the same time, the recording server 320 feeds the timestamped input video stream 311 as a live video feed to one or more digital devices 500 via the interface 360.

[0095] In step S51, the communication module of the digital device receives the timestamped video stream from the video management system 300 via the communication network 400.

[0096] In step S52, the decoder module of the digital device 500 decodes the video stream.

[0097] In step S53, the digital device provides at least a portion of the decoded video stream (e.g. individual frames of the video stream) to one or more applications deployed on the digital device. It will be appreciated that in some embodiments, the digital device can provide the encoded video stream to the one or more applications, i.e. the digital device can provide the received video stream without prior decoding.

[0098] In step S54, the application processes at least a portion of the video stream and returns a modified (i.e. processed) video stream and / or metadata relating to the video stream.

[0099] In step S55, the encoder module of the digital device 500 encodes the processed video stream. Alternatively, if the application does not return any processed video stream, the encoder module can re-encode the originally received video stream.

[0100] In step S56, the communication module sends the encoded video stream and / or the metadata generated by the application to the external data processing system 700. Thus, the external data processing system can receive the optionally processed video stream from the digital device 500 in the same way as it would otherwise receive the video stream from the video camera, in particular from the App-enabled camera.

[0101] It will be appreciated that some embodiments of the video management system can be capable of receiving and processing multiple video streams simultaneously, for example video streams from different video cameras and / or video streams forwarded to respective digital devices.

[0102] Figure 5 Another example of a video management and video processing process by the video surveillance system comprising Figure 2 the digital device 500 is schematically illustrated. Figure 1

[0103] In addition to the example in which the video management system 300 sends previously stored video streams instead of live video streams currently received from the video cameras to the digital device, Figure 5 the processing is similar to the processing of the example in Figure 5 . Figure 4

[0104] To this end, the recording server 320 retrieves the previously stored video streams from the media repository 350 and forwards the retrieved video streams to the digital device 500 via the communication network 400 via the interface 360, as described in connection with Figure 4 .

[0105] In the present example, since the video streams transmitted are previously stored video streams, the video streams retrieved from the media repository 350 are dated time-stamped according to the recording time of the video streams. The recording server 320 can forward the retrieved video streams to the digital device 500 with the original normative date-stamp. Alternatively, the recording server 320 can replace the normative date-stamp with another modified time-stamp corresponding to the current time at which the recording server forwards the previously stored video streams. Thus, in the latter case, the digital device 500 receives at least one video stream that mimics a live video stream currently taken by at least one physical video camera. The digital device 500 receives, decodes and provides the at least one video stream to one or more applications, and forwards the re-encoded, processed video stream and / or the metadata related to the video stream to the external data processing system, all as described in connection with Figure 4 .

[0106] Thus, the video stream output by the digital device 500 and / or the metadata output by the digital device mimics at least one output of the App-enabled camera currently taking the video.

[0107] ​​Figure 6 Fig. 4 schematically illustrates a further example of a video management and video processing procedure by a video surveillance system comprising Figure 2 Fig. 5 schematically illustrates a digital device 500 according to an example. Figure 1 Fig. 6 schematically illustrates a further example of a video management and video processing procedure by a video surveillance system comprising

[0108] In addition to the example of Fig. 4, in which the digital device 500 returns its output to the video management system 300 instead of transmitting it to an external data processing system, Figure 6 the processing is similar to the processing of Fig. 3. It is to be understood that in other examples, the digital device can forward its output to an external data processing system and simultaneously return the output to the video management system 300. Figure 6 Figure 4 In any case, in the example of Fig. 4, the digital device 500 sends the processed video stream and / or the metadata related to the video stream back to the video management system 300 via the communication network 400. In particular, the digital device can return the processed video stream and / or the metadata during the same communication session used for forwarding the video stream from the video management system 300 to the digital device 500, either through the same video tunnel or otherwise. Thus, upon receiving the processed video stream and / or the metadata from the digital device 500 via the interface 360, the recording server 320 can associate the received processed video stream and / or metadata with the video stream fed to the digital device during the same session. Thus, the recording server can store the metadata and / or the processed video stream in the metadata repository 340 and / or the media repository 350, respectively, in association with the original video stream. In particular, the recording server can synchronize the respective data streams based on the canonical timestamps.

[0109] Similarly, Figure 6 Fig. 6 schematically illustrates a further example of a video management and video processing procedure by a video surveillance system comprising Fig. 5 schematically illustrates a digital device 500 according to an example.

[0110] Fig. 6 schematically illustrates a further example of a video management and video processing procedure by a video surveillance system comprising Figure 7 In addition to the example of Fig. 4, in which the digital device 500 returns its output to the video management system 300 instead of transmitting it to an external data processing system, Figure 2 the processing is similar to the processing of Fig. 3. It is to be understood that in other examples, the digital device can forward its output to an external data processing system and simultaneously return the output to the video management system 300. Figure 1 In any case, in the example of Fig. 4, the digital device 500 sends the processed video stream and / or the metadata related to the video stream back to the video management system 300 via the communication network 400. In particular, the digital device can return the processed video stream and / or the metadata during the same communication session used for forwarding the video stream from the video management system 300 to the digital device 500, either through the same video tunnel or otherwise. Thus, upon receiving the processed video stream and / or the metadata from the digital device 500 via the interface 360, the recording server 320 can associate the received processed video stream and / or metadata with the video stream fed to the digital device during the same session. Thus, the recording server can store the metadata and / or the processed video stream in the metadata repository 340 and / or the media repository 350, respectively, in association with the original video stream. In particular, the recording server can synchronize the respective data streams based on the canonical timestamps.

[0111] Figure 7 Similarly, Figure 7 the processing is similar to the processing of Fig. 3. It is to be understood that in other examples, the digital device can forward its output to an external data processing system and simultaneously return the output to the video management system 300. Figure 5 In any case, in the example of Fig. 4, the digital device 500 sends the processed video stream and / or the metadata related to the video stream back to the video management system 300 via the communication network 400. In particular, the digital device can return the processed video stream and / or the metadata during the same communication session used for forwarding the video stream from the video management system 300 to the digital device 500, either through the same video tunnel or otherwise. Thus, upon receiving the processed video stream and / or the metadata from the digital device 500 via the interface 360, the recording server 320 can associate the received processed video stream and / or metadata with the video stream fed to the digital device during the same session. Thus, the recording server can store the metadata and / or the processed video stream in the metadata repository 340 and / or the media repository 350, respectively, in association with the original video stream. In particular, the recording server can synchronize the respective data streams based on the canonical timestamps.

[0112] Figure 7 ​​In the example of FIG. 4, the digital device 500 transmits the processed video stream and / or metadata related to the video stream back to the video management system via the communication network 400. In particular, the digital device can return the processed video stream and / or metadata through the same video tunnel or otherwise during the same communication session used to forward the video stream from the video management system 300 to the digital device 500. Accordingly, upon receiving the processed video stream and / or metadata from the digital device via the interface 360, the recording server 320 can associate the received processed video stream and / or metadata with the video stream fed to the digital device during the same session. Accordingly, the recording server can store the metadata and / or processed video stream in the metadata repository 340 and / or media repository 350, respectively, in association with the original video stream. In particular, the recording server can synchronize the respective data streams.

[0113] To this end, the recording server 320 retrieves the previously stored video stream from the media repository 350 and forwards the retrieved video to the digital device 500 via the interface 360 via the communication network 400, as described in connection with Figure 5 In particular, the recording server can replace the canonical timestamp of the retrieved video stream with another modified timestamp corresponding to the current time at which the recording server forwards the previously stored video stream. The recording server can maintain information about the relationship, in particular the time lag, between the canonical timestamp and the modified timestamp for use during subsequent resynchronization. Accordingly, the digital device 500 receives a video stream that simulates at least one live video stream currently being captured by a video camera. The digital device 500 receives, decodes and provides the video stream to one or more applications and forwards the re-encoded, processed video stream and / or metadata related to the video stream to an external data processing system, all as described in connection with Figure 5

[0114] Upon receiving the returned processed video stream and / or metadata from the digital device via the same video tunnel or otherwise as part of the same communication session, the recording server can resynchronize the processed video stream and / or metadata with the canonical timestamp based on the known relationship between the modified timestamp and the canonical timestamp. Accordingly, the recording server can again replace the modified timestamp with the canonical timestamp and store the processed video and / or metadata timestamped with the canonical timestamp.

[0115] ​Embodiments of the method steps described herein as being performed by a processing unit can be implemented by means of hardware comprising several distinct elements, and / or at least partly implemented by means of a suitably programmed microprocessor. In the device claim enumerating several means, several of these means can be embodied by one and the same item of hardware, component or hardware item. The mere fact that certain measures are recited in mutually different dependent claims or described in different embodiments does not indicate that a combination of these measures cannot be used to advantage.

[0116] It should be emphasized that the term comprises / comprising, when used in this specification, is taken to specify the presence of stated features, elements, steps or components but does not preclude the presence or addition of one or more other features, elements, steps, components or groups thereof.

Claims

1. A video surveillance system comprising a video management system and one or more digital devices implemented on a computer, each of the one or more digital devices being configured to emulate at least one physical electronic device for transmitting a video stream and / or video metadata to the video management system via a computer network, wherein, Each of the one or more digital devices is configured to emulate at least one physical electronic device by providing one or more interfaces that allow the video management system to communicate with that digital device by retrieving video streams such that the digital device appears to be the at least one physical electronic device, wherein the video management system comprises: an input interface to receive one or more video streams from respective one or more physical electronic devices and / or one or more other video sources; a processing unit configured to receive one or more input video streams from the input interface and store the input video streams in a video repository such that the received video streams are processed by the processing unit prior to the input video streams being transmitted to the one or more digital devices, wherein each input video stream corresponds to a respective one of the received video streams; and an output interface configured to transmit one or more of the input video streams and / or one or more of the stored video streams to the one or more digital devices via a computer network after the one or more of the input video streams and / or the one or more of the stored video streams are stored in the video repository, wherein at least one of the one or more digital devices is configured to: receive one or more of the input video streams and / or one or more of the stored video streams transmitted from the video management system via the computer network; provide an execution environment to one or more user-installed applications that allows the one or more user-installed applications to process at least a portion of the received video streams, resulting in processed video streams and / or video metadata associated with the received video streams; and output the processed video streams and / or the video metadata to the video management system via the one or more interfaces of the digital device and the computer network.

2. The video surveillance system of claim 1, wherein, The video management system is configured to transmit the input video streams to at least one of the one or more digital devices simultaneously and to store the input video streams in the video repository.

3. The video surveillance system of claim 2, wherein, At least one of the one or more digital devices comprises a video decoder module configured to decode the received video streams.

4. The video surveillance system of claim 3, wherein, At least one of the one or more digital devices is configured to provide an application interface that allows each of the applications to receive at least a portion of the decoded video streams.

5. The video surveillance system of claim 3, wherein, At least one of the one or more digital devices comprises a video encoder module configured to re-encode and output the processed video streams.

6. The video surveillance system of claim 1, wherein, At least one of the one or more digital devices comprises a communication module configured to establish a communication session with the video management system and receive video streams via the established communication session.

7. The video surveillance system of claim 6, wherein, At least one of the one or more digital devices is configured to transmit the processed video stream and / or the video metadata to the video management system during the established communication session.

8. The video surveillance system of claim 1, wherein, At least one of the one or more digital devices includes a video server component configured to operate as a video server, the video server being operable to provide video streams and / or video metadata to a video client component using a network control protocol configured to be used in a communication system to control streaming media.

9. The video surveillance system of claim 1, wherein, The input interface includes one or more camera drivers, each camera driver being configured to receive a video stream from at least one type of camera; wherein each camera driver is configured to add one or more timestamps to the received video stream to provide an input video stream as a timestamped input video stream; and wherein the video management system is configured to store the input video stream with the added timestamps as canonical timestamps.

10. The video surveillance system of claim 9, wherein, The video management system is configured to replace the canonical timestamps with modified timestamps corresponding to a current time in the event that a previously stored video stream is fed to a digital device.

11. The video surveillance system of claim 10, wherein, The video management system is configured to determine whether a received processed video stream and / or video metadata corresponds to a previously stored video stream in the event that a processed video stream and / or video metadata is received from a digital device, and to selectively add timestamps to the received processed video stream and / or received video metadata, the added timestamps corresponding to canonical timestamps of the previously stored video stream.

12. The video surveillance system of claim 1, wherein, The video management system and at least one of the one or more digital devices are configured to receive and process one or more additional media streams and / or additional sensor data.

13. The video surveillance system of claim 12, wherein, At least one of the one or more digital devices is configured to provide the one or more additional media streams and / or the additional sensor data to one or more of the applications hosted by the digital device to allow the one or more applications to process the additional media streams in conjunction with the video streams received by the at least one of the one or more digital devices.

14. A computer-implemented video management method comprising: receiving one or more video streams from respective one or more physical electronic devices and / or other video sources; storing one or more input video streams in a video repository such that the received video streams are processed by a video management system prior to being sent to one or more digital devices, wherein each input video stream corresponds to a respective one of the received video streams; and after one or more of the input video streams and / or one or more of the stored video streams are stored in the video repository, sending one or more of the input video streams and / or one or more of the stored video streams from the video management system to the one or more digital devices via the computer network, each of the one or more digital devices configured to emulate at least one physical electronic device and to send video streams and / or video metadata to the video management system via the computer network, wherein each of the one or more digital devices is configured to emulate the at least one physical electronic device by providing one or more interfaces that allow the video management system to communicate with the digital device by retrieving video streams such that the digital device appears to be the at least one physical electronic device, and wherein each of the one or more digital devices is further configured to output the video streams and / or video metadata to the video management system via the one or more interfaces.

Citation Information

Patent Citations

  • Cloud Video Surveillance

    US20150215583A1

  • Video Delivery Systems Using Wireless Cameras

    US20090189981A1

  • Method of creating a media composition and apparatus therefore

    US20150058709A1