CN113938642A - 具有抽象化功能层的分布式监视系统 - Google Patents

具有抽象化功能层的分布式监视系统 Download PDF

Info

Publication number
CN113938642A
CN113938642A CN202110702472.1A CN202110702472A CN113938642A CN 113938642 A CN113938642 A CN 113938642A CN 202110702472 A CN202110702472 A CN 202110702472A CN 113938642 A CN113938642 A CN 113938642A
Authority
CN
China
Prior art keywords
video data
camera
video
storage
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110702472.1A
Other languages
English (en)
Other versions
CN113938642B (zh
Inventor
G·D·拉鲁
M·A·拉潘斯
M·哈宾斯基
M·E·鲍姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN113938642A publication Critical patent/CN113938642A/zh
Application granted granted Critical
Publication of CN113938642B publication Critical patent/CN113938642B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/222Secondary servers, e.g. proxy server, cable television Head-end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • G06F16/738Presentation of query results

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Library & Information Science (AREA)
  • Closed-Circuit Television Systems (AREA)
  • Computational Linguistics (AREA)

Abstract

本申请公开了具有抽象化功能层的分布式监视系统。一种分布式视频管理系统,其用于捕获的视频数据的分布式处理和存储。所述分布式视频管理系统包括各自将视频数据传达到多个摄像头节点中的相应摄像头节点的多个视频摄像头。每个摄像头节点包括用于处理在所述摄像头节点处接收到的视频数据的摄像头管理器。所述摄像头节点与存储资源操作性通信以根据存储策略将所述视频数据存储在所述系统的逻辑存储卷中。所述存储策略可包括利用数据修剪以对盘上存储的视频数据的大小进行受控减小的多个阶段。所述分布式系统还可生成和维持关于捕获和存储的所述视频数据的分类账或数据库,以使所述视频数据与关于所述视频数据的系统元数据和/或分析性元数据相关。

Description

具有抽象化功能层的分布式监视系统
相关申请的交叉引用
本申请涉及日期提交的[案卷编号STL 074916.00]标题为“分布式监测系统中基于参数的负载均衡(PARAMETER BASED LOAD BALANCING IN A DISTRIBUTED SURVEILLANCESYSTEM)”的第___号美国专利申请、日期提交的[案卷编号STL 074919.00]标题为“监测系统中摄像头的选择性使用(SELECTIVE USE OF CAMERAS IN ASURVEILLANCE SYSTEM)”的第___号美国专利申请、日期提交的[案卷编号STL 074921.00]标题为“用于分布式监测系统的基于低时延浏览器的客户端接口(LOW LATENCY BROWSER BASED CLIENT INTERFACEFOR A DISTRIBUTED SURVEILLANCE SYSTEM)”的第___号美国专利申请以及日期提交的[案卷编号STL 074923.00]标题为“具有分布式视频分析的分布式监测系统(DISTRIBUTEDSURVEILLANCE SYSTEM WITH DISTRIBUTED VIDEO ANALYSIS)”的第___号美国专利申请,所有所述美国专利申请同时在此提交并以引用的方式将其公开和教示的所有内容纳入其中。
技术领域
背景技术
视频监视系统对于许多设施来说是宝贵的安全资源。特别是,摄像技术的进步使得以经济上可行的方式安装视频摄像头成为可能,以为设施提供稳健的视频覆盖,从而协助安保人员维护现场安全。此类视频监视系统还可包括记录允许存储视频数据的特征。存储的视频数据还可帮助实体提供更稳健的安全性,从而允许有价值的分析或协助调查。实时视频数据馈送也可以作为设施安全的一部分在设施处实时监控。
虽然视频监视技术的进步增大了此类系统的能力和普及率,但限制这些系统的价值的诸多缺点仍然存在。例如,虽然摄像技术已大幅改进,但由此类系统生成的数据量不断加大。这产生了如何以易于检索或另外处理的方式有效地存储大量视频数据的问题。继而,视频监视数据的有效管理也变得越来越困难。
提出的用于管理视频监视系统的方法包括使用网络视频录像机来捕获和存储视频数据,或使用企业服务器进行视频数据管理。如下文将更详细地解释,此类方法各自呈现出独特的挑战。因此,对于具有稳健视频数据管理和访问的改进的视频监视系统的需求仍然存在。
发明内容
本公开大体上涉及一种用于视频监视系统的分布式视频管理系统,其使用多个分布式摄像头节点以用于接收和处理从多个视频摄像头接收的视频数据。所述分布式视频管理系统包括抽象化硬件功能,这包括抽象化存储。如此,所述视频管理系统在摄像头、摄像头节点和存储之间无静态映射的情况下是高度动态和可配置的。这促进冗余和改进的性能,尤其与视频数据的存储相关的性能。视频数据的存储可根据具有基于一个或多个触发事件的选择性存储修剪的存储策略,其允许在提供视频数据的稳健存档的同时高效使用存储。
本公开的一方面包括一种用于在分布式视频监视系统中存储视频数据的方法。所述方法包括经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据。所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理。所述方法还包括基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中,并且经由通信网络将呈选择的视频数据格式的视频数据传达到逻辑存储卷。
本发明内容被提供来以简化形式引入在下面在具体实施方式中进一步描述的一些构思。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
本文还描述并叙述了其它实施方案。
附图说明
图1描绘了现有技术视频监视系统的两个示例。
图2描绘了根据本公开的分布式视频监视系统的示例。
图3描绘了分布式视频监视系统的示例主节点的示意图。
图4描绘了分布式视频监视系统的示例摄像头节点的示意图。
图5描绘了分布式视频监视系统的抽象摄像头层、处理层和存储层的示例。
图6描绘了与分布式视频监视系统可操作地通信以接收实时数据以用于在客户端的原生浏览器界面中呈现的客户端的示例。
图7描绘了分布式视频监视系统的分布式视频分析的示例。
图8描绘了分布式视频管理系统的多个视频摄像头和摄像头节点的第一摄像头分配配置的示例。
图9描绘了响应于检测到摄像头节点不可用而对分布式视频管理系统的多个视频摄像头和摄像头节点进行的第二摄像头分配配置的示例。
图10描绘了响应于在摄像头节点中的一个处分配参数的变化而对分布式视频管理系统的多个视频摄像头和摄像头节点进行的第二摄像头分配配置的示例。
图11描绘了分布式视频管理系统的多个视频摄像头和摄像头节点的第二摄像头分配配置的示例,在所述分布式视频管理系统中,基于视频摄像头的优先级将视频摄像头与任何摄像头节点断开。
图12描绘用于根据存储策略将视频数据存储在分布式视频管理系统中的方法的示例操作。
图13描绘用于通过记录关于视频数据的元数据来存储所述视频数据的方法的示例操作。
图14描绘可促进本公开的各方面的处理装置。
具体实施方式
虽然以下公开内容中的示例易受各种修改和替代形式的影响,但具体示例在附图中示出并且在本文中详细描述。然而,应当理解,并非旨在将本公开的范围限于所公开的特定形式,而是本公开将涵盖落入权利要求所限定的范围内的所有修改、等同方案和替代方案。
图1描绘了视频监视系统的系统架构和管理的两种现有技术方法。这两种方法包括图1的顶部部分所示的基于设备的系统1和图1的底部部分中的基于企业服务器的方法20。在基于设备的系统1中,视频摄像头10与网络15可操作地通信。设备12也与网络15通信。设备12从视频摄像头10接收视频数据,并在连接到设备12的监控器14上显示视频数据。
鉴于实现系统1所需的硬件的简单性,基于设备的系统1通常提供成本相对较低的解决方案。然而,由于大多数设备12的处理能力有限,因此基于设备的系统所支持的摄像头的数目可能受到限制,因为所有视频摄像头10都仅向设备12提供视频数据以用于在监控器14上处理和显示。此外,系统不可扩展,因为一旦达到设备12的处理能力(例如,由于系统1中的摄像头数目),就不可再提供额外摄像头的扩展。相反,为了补充系统1,必须在不与现有设备12集成的情况下将全新设备12实现为单独的独立系统。此外,由于设备12的处理能力相对有限,因此基于设备的系统1为视频数据分析或存储容量提供有限的能力。另外,此类系统1通常促进在任何给定时间查看和/或存储来自视频摄像头10的有限数目的实时视频数据馈送,并且通常允许仅在单个监控器14或连接到设备12的有限数目的监控器上呈现此类视频。也就是说,为了回看实时或存档视频数据,用户必须物理上存在于设备12和监控器14的位置处。
基于企业服务器的系统20通常包括多个与网络15可操作地通信的视频摄像头10。服务器实例16还与网络15通信,并且从所有视频摄像头10接收所有视频数据以用于处理和存储数据。服务器16通常包括存储阵列,并且充当数字视频录像机(DVR)以存储从视频摄像头10接收的视频数据。客户端18可以连接到网络15。客户端18可以允许远离服务器16的物理位置查看来自服务器16的视频数据(例如,与其中监控器14直接连接到设备12的基于设备的系统1相反)。然而,服务器16通常包括平台依赖专有软件,所述平台依赖专有软件用于消化来自摄像头10的视频数据以供存储在服务器16的存储阵列中。
此外,服务器16和客户端18包括平台依赖专有软件,以促进服务器16与客户端18之间的通信。因此,用户或企业必须在期望用于访问视频数据和/或控制系统20的任何客户端18上购买并安装平台依赖客户端软件包。这限制了用户从系统20访问视频数据的能力,因为任何用户必须能够访问配备有适当平台依赖专有软件的预配置客户端18,这需要额外的费用来许可此类软件。
与基于设备的系统1相比,基于企业服务器的系统20通常是可以针对大型企业安装的相对昂贵的实施方案。例如,当单个服务器16处理来自系统的所有视频数据的所有处理和存储时,此类系统20通常需要非常强大的服务器16来促进对来自摄像头10的视频数据的管理。此外,服务器16和客户端18的平台依赖专有软件需要支付许可费用,许可费用可以基于用户可用的摄像头10的数量和/或特征(例如,数据分析特征)。更进一步地,允许客户端18的功能性的专有软件必须作为独立的软件包进行安装和配置。继而,在客户端18处安装和维护软件可能会增加系统1的复杂性。更进一步地,如果用户希望使用不同的客户端18装置,则必须首先向任何此类装置提供操作所需的软件资源。因此,访问和管理系统1的能力受到限制。
虽然这种基于企业服务器的系统20可以被缩放,但系统20的扩展的资本成本很高。具体地,尽管相对于设备12计算复杂性增加,服务器16确实对其可支持的摄像头10的数目有所限制,但此限制通常高于设备12可支持的摄像头10的数目。在任何方面,一旦达到摄像头10的最大数目,任何额外的摄像头10实际上都需要利用额外的服务器16或通过增加服务器16的容量以及增加额外的服务器16或容量的许可费用支付来购买新系统20。此外,需要在客户端18处安装的专有软件通常是平台依赖的,并且对于希望与系统20交互的任何客户端18都是必需的。这增加了任何客户端18的复杂性和成本,并且限制了系统20的功能性。更进一步地,基于企业服务器的系统20包括静态摄像头到服务器映射,使得在服务器不可用或发生故障的情况下,映射到服务器16的所有摄像头10对于实时视频流或视频数据的存储变得不可用,因此使得系统20在这种故障的情况下无效。
因此,本公开涉及一种包括分布式架构的分布式视频管理系统(VMS)100。此VMS100的一个示例描绘于图2中。VMS 100的分布式架构有助于实现优于上述基于设备的系统1或基于服务器的系统20的许多益处。通常,VMS 100包括可相对于彼此抽象的三个功能层,以提供动态地重新配置视频摄像头110、用于处理视频数据的摄像头节点120和VMS 100内的存储容量150/152之间的映射的能力。虽然下文更详细地论述了这一点,但VMS 100的功能层的抽象促进了高度动态和可配置的系统,所述系统易于扩展、对组件故障稳健、能够适应给定事件且可经济有效地进行安装和操作。因为功能层是抽象的,所以不需要利用静态组件到组件映射。也就是说,任何一个或多个视频摄像头110可以与多个摄像头节点120中的任一个相关联,所述多个摄像头节点可以从相关联的视频摄像头110接收视频数据以处理来自相关联的视频摄像头110的视频数据。继而,摄像头节点120处理视频数据(例如,用于存储在存储卷150/152中或用于实时流式传输到客户端装置130以实时观看视频数据)。摄像头节点110可操作以对相关联摄像头110的视频数据或从(例如,相关联视频摄像头100或非相关联视频摄像头110的)存储的视频数据执行视频分析。更进一步地,当系统100的存储资源也从摄像头节点120提取时,视频数据可以以允许由系统的任何摄像头节点120检索的灵活方式存储。
在这方面,在系统中的任何给定节点发生故障时,指派给故障摄像头节点的摄像头可以被重新指派(例如,自动地)给另一个摄像头节点,使得视频数据的处理实际上是不间断的。此外,可以响应于节点处的实际处理状况动态地修改摄像头到节点的关联(例如,摄像头可以从执行复杂视频分析的节点关联到另一节点)。类似地,因为摄像头节点120可以是相对便宜的硬件组件,所以可以容易地将额外摄像头节点120添加(例如,以即插即用的方式)到系统100以提供高度微粒化扩展能力(例如,相对于必须在仅提供低微粒化扩展的基于服务器的系统20的情况下部署全新的服务器实例)。
VMS系统100的灵活性延伸到系统中的客户端130。客户端130可以指递送到装置以在装置处执行的客户端装置或软件。在任何方面,客户端130可以用来查看VMS 100的视频数据(例如,实时地或从系统100的存储装置150/152)。具体地,本公开设想了在各种计算装置上通常可用且可执行的标准web浏览器应用程序的使用。如下文更详细地描述,VMS 100可以利用每个摄像头节点120处的处理能力将视频数据处理到适当的传输机制中,所述传输机制可以至少部分地基于对视频数据的请求的上下文。作为一个示例,来自客户端130的用于从摄像头110实时地查看实时视频数据的请求可导致摄像头节点120将摄像头110的视频数据处理成实时、低延时格式以递送到客户端130。具体地,这种低延时协议可以包括以下传输机制:允许使用标准web浏览器、仅使用标准web浏览器的本机功能或通过由发送到客户端130以供在标准web浏览器中呈现的网页提供的可执行指令来在客户端接收和呈现数据(例如,无需在客户端以第三方应用程序、浏览器插件、浏览器扩展等形式安装外部软件)。继而,执行标准web浏览器的任何计算装置都可以用作客户端130来访问VMS 100,无需任何专有或平台依赖软件,也无需对客户端130进行任何预配置。这可以允许由操作任何操作系统的任何计算系统访问,只要计算装置能够执行标准web浏览器即可。因此,台式计算机、笔记本电脑、平板电脑、智能手机或其它装置可以充当客户端130。
VMS 100的抽象架构还可以允许灵活处理数据。例如,VMS 100的摄像头节点120可以将分析模型应用于在摄像头节点120处处理的视频数据以对视频数据执行视频分析。分析模型可以生成关于视频数据的分析元数据。分析方法的非限制性示例包括对象检测、对象跟踪、人脸识别、图案识别/检测或任何其它适当的视频分析技术。考虑到VMS 100的视频摄像头110与摄像头节点120之间的抽象化,对视频数据的处理的配置可以是灵活且可适应的,这可以允许将甚至相对复杂的分析模型应用于一些或所有视频数据,从而响应于峰值分析负载而进行动态预配置。
继续参考图2,示意性地描绘了根据本公开的用于管理监视系统中的边缘监视装置的VMS 100。VMS 100包括多个摄像头110,每个摄像头与网络115可操作地通信。例如,如图2所示,示出了摄像头110a到110g。然而,应当理解,可以不受限制地在根据本公开的VMS100中提供额外或更少的摄像头。
摄像头110可以是互联网协议(IP)摄像头,所述IP摄像头能够提供来自摄像头110的分组化视频数据以供在网络115上传输。网络115可以是局域网(LAN)。在其它示例中,网络115可以是任何适当的通信网络,包括公共交换电话网(PSTN)、内联网、广域网(WAN)(诸如互联网)、数字用户线(DSL)、光纤网络或不受限制的其它适当网络。视频摄像头110可各自独立地可与多个摄像头节点120中的给定一个相关联(例如,可指派给所述多个摄像头节点中的给定一个)。
因此,VMS 100还包括多个摄像头节点120。例如,在图2中,示出了三个摄像头节点120,包括第一摄像头节点120a、第二摄像头节点120b和第三摄像头节点120c。然而,应当理解,在不脱离本公开的范围的情况下,可以提供额外或更少的摄像头节点120。此外,摄像头节点120可以在任何时间添加到系统100或从所述系统移除,在这种情况下,可以自动地重新配置摄像头到节点的指派或映射。每个摄像头节点120还可以与网络115可操作地通信,以促进从与每个相应节点120相关联的摄像头110中的一个或多个接收视频数据。
VMS 100还包括至少一个主节点140。主节点140可操作以管理摄像头节点120的操作和/或配置,以从摄像头110接收和/或处理视频数据,协调VMS 100的存储资源,生成和维护与VMS 100的捕获视频数据有关的数据库,和/或促进与客户端130的通信以用于访问系统100的视频数据。
虽然示出并描述了单个主节点140,但主节点140可包括负责某些系统管理功能的摄像头节点120。并不是主节点140的所有管理功能都需要由单个摄像头节点120执行。在这方面,虽然出于简单目的而描述单个主节点140,但可以理解的是,本文关于单个主节点140描述的主节点功能实际上可以分布在摄像头节点120中的不同摄像头节点之间。因此,给定摄像头节点120可以充当主节点140,以用于协调摄像头节点120的摄像头指派,而另一个摄像头节点120可以充当主节点140,以用于维护关于系统的视频数据的数据库。因此,如下文将更详细地描述,主节点140的各种管理功能可以分布在摄像头节点120中的各种摄像头节点之间。因此,虽然示出了单个给定主节点140,但可以理解的是,摄像头节点120中的任一个可以充当主节点140以用于系统100的不同的相应功能。
此外,主节点140的各种管理功能可以经受主导选择以将此类功能分配到摄像头节点120中的不同摄像头节点以执行主节点功能。例如,可以使用主导选择技术将主节点140的作用分配给给定摄像头节点120,使得主节点140的所有管理功能都分配给给定摄像头节点120。或者,管理功能中的个别管理功能可以使用主导选择单独地分配到一个或多个摄像头节点120。这提供了稳健的系统,其中甚至执行一些管理功能的主节点140或摄像头节点120的不可用性也可以通过应用主导选择来选择系统中的新的主节点140或将管理功能性重新分配到新的摄像头节点120来容易地纠正。
摄像头节点120和主节点140的硬件可以相同。在其它示例中,可以提供可具有与其它摄像头节点120不同的处理容量(例如,在处理器和/或存储器容量方面能力更强或更弱的硬件)的专用主节点140。此外,并非所有摄像头节点120都包括相同的处理能力。例如,某些摄像头节点120可以包括相对于其它摄像头节点120增加的计算规格,包括例如增加的存储器容量、增加的处理器容量/速度和/或增加的图形处理能力。
如可以理解的,VMS 100可以将来自视频摄像头110的视频数据存储在VMS 100的存储资源中。在一个实施方案中,可以在一个或多个不同示例配置中提供存储容量。具体地,在一个示例中,每个摄像头节点120和/或主节点140在每个相应节点处可具有附接的存储装置152。在这方面,每个相应节点可将由节点处理的视频数据元数据和在节点处生成的任何元数据存储在每个相应节点处的对应附接存储装置152处,以用于在节点120处处理的视频数据。在替代布置中,在每个摄像头节点120和主节点140处本地附接的存储装置152可包括抽象成逻辑存储单元150的物理驱动器。在这方面,可能的情况是,在节点中的第一节点处处理的视频数据可以至少部分地传送到节点中的另一节点以用于存储数据。在这方面,逻辑存储单元150可以呈现为可由系统100的任何节点120访问的抽象存储装置或存储资源。逻辑存储单元150的实际物理形式可以采用任何适当形式或形式组合。例如,与每个节点相关联的物理驱动器可包括存储阵列,诸如RAID阵列,其形成可由任何摄像头节点120或主节点140寻址的单个虚拟卷。附加地或可替代地,逻辑存储单元150可以与摄像头节点120和主节点140也与之通信的网络115可操作地通信。在这方面,逻辑存储单元150可包括能够从任何摄像头节点120接收数据的网络附接存储(NAS)装置。逻辑存储单元150可包括摄像头节点120本地的存储装置,或可包括远程存储装置,诸如基于云的存储资源等。在这方面,虽然逻辑存储单元150和本地附接的存储装置152两者都示出在图2中,但本地附接的存储装置152可包括逻辑存储单元150的至少一部分。此外,VMS 100不必包括两种类型的存储装置,这仅出于说明在图2中示出。
进一步参考图3,示出了说明主节点140的示例的示意图。主节点140可包括用于管理VMS 100的功能性的多个模块。如上文所描述,虽然示出了包括主节点模块的单个主节点140,但应理解,任何摄像头节点120都可以充当主节点140以用于主节点模块的任何单独的功能性。也就是说,主节点140对于主节点功能性中的任何一个或多个的作用可以分布在摄像头节点120之间。在任何方面,对应于主节点140的模块可包括web服务器142、摄像头分配器144、存储管理器146和/或数据库管理器148。另外,主节点140可包括网络接口126,所述网络接口促进VMS 100的主节点140与视频摄像头110、摄像头节点120、存储装置150、客户端130或其它组件之间的通信。
主节点140的web服务器142可以协调与客户端130的通信。例如,web服务器142可以将用户界面(例如,限定浏览器如何呈现用户界面的HTML代码)传送到客户端130,这允许客户端130在标准浏览器应用程序中呈现用户界面。用户界面可包括用于以下文更详细地描述的方式检索和显示来自VMS 100的视频数据的设计元件和/或代码。
关于摄像头分配器144,主节点140可以促进摄像头分配或指派,使得摄像头分配器144创建并执行摄像头到节点的映射,以确定哪个摄像头节点120负责处理来自视频摄像头110的视频数据。也就是说,与基于设备的系统1或基于企业服务器的系统50相比,VMS100的视频摄像头110的子集可以被指派给不同的摄像头节点120。例如,摄像头分配器144可操作以与视频摄像头110通信,以向视频摄像头110提供关于摄像头节点120的指令,视频摄像头110将发送其视频数据。或者,摄像头分配器144可以指示摄像头节点120与视频摄像头110中的特定视频摄像头建立通信并从中接收视频数据。摄像头分配器144可以创建此类摄像头到节点的关联,并在数据库或其它数据结构中记录所述关联。在这方面,系统100可以是分布式系统,因为摄像头节点120中的任一个可以接收和处理来自视频摄像头110中的任何一个或多个的视频数据。
此外,摄像头分配器144可操作以在负载平衡过程中动态地重新配置摄像头到节点的映射。在这方面,摄像头分配器144可以监控每个摄像头节点120处的分配参数,以确定是否修改摄像头到节点的映射。在这方面,可以监控VMS 100的变化,并且摄像头分配器144可以响应于将摄像头分配从第一摄像头分配配置修改成第二摄像头分配配置以改进或维持系统性能。分配参数可以是被监控并用于确定摄像头分配的多个参数中的任何一个或多个。因此,分配参数可以响应于VMS 100中可能发生的许多事件而改变,如下文更详细地描述。
例如,在故障、功率损失或导致摄像头节点120不可用的另一事件的情况下,摄像头分配器144可以检测到或以其它方式被通知摄像头节点不可用。继而,摄像头分配器144可以将先前与不可用节点相关联的视频摄像头重新指派给另一个节点120。摄像头分配器144可以与重新指派的摄像头110通信以更新与新的摄像头节点120通信的指令。或者,新指派的摄像头节点可以假定与来自视频摄像头110的视频数据建立联系并处理来自视频摄像头的视频数据的作用,所述视频摄像头先前与不可用的摄像头节点120通信以基于由摄像头分配器144提供的新指派而更新指令并建立新的摄像头到节点的指派。在这方面,系统100提供与处理来自摄像头100的视频数据有关的增加的冗余和灵活性。更进一步地,即使在不存在摄像头节点120故障的情况下,摄像头110的视频数据馈送也可以负载平衡到摄像头节点120以允许应用不同的分析模型等。
给定摄像头节点120可以与摄像头110的子集配对,所述子集包括摄像头110中的一个或多个。作为一个示例,在图2中,摄像头110a-110c可以与摄像头管理器120a配对,使得摄像头管理器120a从摄像头110a-110c接收视频数据。摄像头110d-110f可以与摄像头管理器120b配对,使得摄像头管理器120b从摄像头110d-110f接收视频数据。摄像头110g可以与摄像头管理器120c配对,使得摄像头管理器120c从摄像头100g接收视频数据。然而,此配置可响应于负载平衡操作、给定摄像头节点的故障、网络状况或任何其它参数而改变。
例如,参考图8,示出了第一摄像头分配配置。摄像头节点120a和摄像头节点120b这两个摄像头节点可以经由网络115处理来自视频摄像头110a-110e的数据。图9是用于说明的示意性表示。因此,虽然摄像头110示出为与节点120直接通信,但摄像头110可以经由网络连接与节点120通信。类似地,虽然主节点140示出为与摄像头节点120直接通信,但此通信也可以经由网络115(图8中未示出)。在任何方面,在图8所示的第一摄像头分配配置中,视频摄像头110a、视频摄像头110b和视频摄像头110c将视频数据传送到第一摄像头节点120a,以供第一摄像头节点120a处理和/或存储视频数据。此外,视频摄像头110d和视频摄像头110e将视频数据传送到第二摄像头节点120b,以供第一摄像头节点120b处理和/或存储视频数据。第一摄像头分配可以由主节点140的摄像头分配器144以将视频摄像头110的映射分布在可用摄像头节点120之间以平衡摄像头节点120之间的分配参数的方式建立。
在检测到分配参数的变化时,摄像头分配器144可以响应于检测到监控到的分配参数的变化而修改第一摄像头分配。例如,这种改变可以响应于在摄像头节点120处的计算负载改变时、在来自视频摄像头110的视频数据改变时或在导致操作参数改变的任何其它改变时,从VMS 100添加或移除摄像头节点120。例如,进一步参考图9,描绘了其中摄像头节点120b变得不可用(例如,由于在摄像头节点120b处的通信损失、在摄像头节点120b处的功率损失或导致摄像头节点120b丧失处理和/或存储视频数据的能力的任何其它故障或状况)的情境。作为响应,主节点140可以检测到此类改变,并将第一摄像头分配配置从图8所示的摄像头分配配置修改为第二摄像头分配配置,如图9所示。
在图9所示的第二摄像头分配配置中,所有摄像头110a-110e被映射以与摄像头节点120a通信。然而,应当理解,其它摄像头节点120(图9中未示出)还可以具有分配给VMS100中的任何可用节点120的视频摄像头110d和视频摄像头110e中的一个或多个。因此,仅为了解释的简单而示出两个摄像头节点120a和120b。在这方面,摄像头分配配置的修改可以至少部分地基于分配参数。也就是说,摄像头分配参数可用于基于摄像头110在所有可用摄像头节点120上的视频数据来负载平衡系统(例如,基于分配参数)。因此,虽然所有视频摄像头110重新分配给图9中的第一摄像头节点120a,但摄像头110d和110e可以以其它方式分配给替代摄像头节点,以平衡所有可用节点120上的计算负载和存储负载或其它分配参数。
此外,虽然摄像头节点120在图9中示出为不可用,但其中可能发生负载平衡的另一情境是将一个或多个摄像头节点120添加到系统,使得一个或多个额外摄像头节点可以变得可用。在此情境下,可以生成新的摄像头分配配置,以基于由摄像头110生成的视频数据来平衡VMS 100中所有摄像头110的关于分配参数的视频数据处理。在这方面,可以理解的是,由主节点140的摄像头分配器144监控的操作参数的改变可以响应于任何数目的条件而发生,并且这种改变可以导致现有摄像头分配配置的修改。
因此,分配参数可以与正被分配的摄像头节点110的视频数据有关。例如,分配参数可以与基于时间的参数、摄像头的空间覆盖范围、处理摄像头的视频数据的计算负载、摄像头的指派类别、摄像头的指派优先级有关。分配参数可至少部分地受给定摄像头的视频数据的性质影响。例如,给定摄像头可以呈现与另一摄像头相比计算要求更高的视频数据。例如,第一摄像头可以朝着建筑物的主入口。第二摄像头可以位于人流量不大的内部走廊中。视频分析可以应用于来自第一摄像头和第二摄像头的两组视频数据以执行人脸识别。与来自第二摄像头的视频数据相比,来自第一摄像头的视频数据对摄像头节点的计算要求可能更高,这仅仅是因为第一摄像头的性质/位置位于主入口处并且与第二摄像头相比包括许多人脸。在这方面,摄像头分配参数可至少部分地基于将分配到摄像头节点的特定摄像头的视频数据。
在这方面,图10描绘了其中检测到摄像头分配参数的改变,并且响应于所述改变而修改摄像头分配配置的另一情境。图10可以将来自图8的第一摄像头分配配置修改为图10中所示的第二摄像头分配配置。在图10中,视频摄像头110e可以开始捕获导致摄像头模块120b上的计算负载增加超过阈值的视频数据。继而,主节点140的摄像头分配器144可以检测到此改变,并将第一摄像头分配配置修改为第二摄像头分配配置,使得摄像头110d与摄像头节点120a相关联。也就是说,摄像头节点120b可以专用于响应于视频的改变而处理来自摄像头110e的视频数据,所述改变增大了用于处理此视频数据的计算负载。示例可以是包括显著增加的检测到的对象(例如,将使用人脸识别处理的额外人脸)或待处理的运动的视频数据。在图10所示的此示例中,摄像头节点120a可具有足够的容量来处理来自摄像头110d的视频数据。
图11进一步示出了其中超过了基于可用摄像头节点120的VMS100的总计算容量的示例。在图11所描绘的情境中,摄像头110d可与任何摄像头节点120断开连接,使得摄像头110d可以不由VMS 100处理其视频数据。也就是说,如果超过总VMS 100容量,则可以选择性地“放弃”摄像头。摄像头可以具有指派的优先级值,其可以部分地基于如上所述的分配参数。例如,如果提供具有重叠空间覆盖范围的两个摄像头(例如,一个摄像头从第一方向监控区域,而另一个摄像头从不同方向监控同一区域),则具有重叠空间覆盖范围的摄像头中的一个可具有相对低的优先级。继而,在断开其中一个摄像头时,可以保持对由摄像头覆盖的区域进行监控的连续性,同时降低系统的计算负载。在恢复可用计算负载时(例如,由于其它摄像头的计算负载的变化或通过将另一节点添加到系统),可以使用负载平衡方法将断开连接的摄像头重新分配给摄像头节点。在其它情况下,其它分配参数可用于确定优先级,包括建立摄像头类别。例如,可以基于摄像头的位置/视野在设施内部或设施外部而将摄像头分配到“内部摄像头”类别或“周围摄像头”类别。在这种情况下,基于发生的特定场景,一类摄像头可以优先于另一类摄像头,所述特定场景可以与VMS 100(例如,VMS 100的计算容量/负载)或外部事件(例如,设施处的警报、设施处的换班等)相关。
主节点140还可包括存储管理器146。由摄像头110捕获的视频数据由摄像头节点120处理,并且一旦被处理就可以存储在持久性存储装置中。由VMS 100生成的视频数据可包括相对大量的用于存储的数据。因此,VMS 100通常可以执行由VMS 100捕获和/或存储视频数据的存储策略。如下文将更详细地描述,VMS 100的抽象存储资源促进摄像头节点120以任何摄像头节点120都可能能够访问存储的视频数据而不管处理视频数据的摄像头节点120如何的方式持久存储视频数据。因此,任何摄像头节点120都可能能够根据存储策略检索和重新处理视频数据。
例如,存储策略可以指示预定义流通性的视频数据(例如,在VMS100操作的最后24小时内捕获的视频数据)可以以视频数据的最初分辨率整体存储。然而,以全分辨率和全帧速率长期存储此类视频数据可能不切实际或不可行。因此,存储策略可包括全数据保留的初始时段,其中所有视频数据以全分辨率存储,并且在初始时段之后对视频数据进行后续处理以减少磁盘上的视频数据的大小。
为此,存储策略可以规定控制如何存储视频数据或是否保留此类数据的其它参数。存储管理器146可以基于存储策略关于所存储视频数据的参数来执行存储策略。例如,基于存储策略中定义的参数,视频数据可以减小的大小(例如,通过降低视频分辨率、帧速率或其它视频参数以减少磁盘上的视频数据的整体大小)删除或存储。减少磁盘上存储的视频数据的大小可被称为“修剪”。管理视频数据的修剪的一个此类参数可以与自捕获视频数据以来经过的时间量有关。例如,早于给定时段(例如,大于24小时)的数据的大小可能会被删除或减小。更进一步地,可以执行多个修剪阶段,使得随着视频变得不那么新,数据的大小进一步减小或删除。
此外,由于任何摄像头节点120都可操作以从存储装置检索任何视频数据以供重新处理,所以视频数据可由与最初处理并存储来自视频摄像头的视频数据的摄像头节点不同的摄像头节点重新处理(例如,修剪)。因此,重新处理或修剪可以由任何摄像头节点120执行。摄像头节点对视频数据的重新处理可以在摄像头节点120的空闲时段期间或在确定摄像头节点120具有备用计算容量时执行。这可以在不同的摄像头节点的不同时间发生,但是可以在低处理负载的时间期间发生,诸如在工作时间之后或设施关闭或活动减少的时间期间。
更进一步,用于修剪的参数可以与视频数据的分析元数据有关。如在本申请中其它地方更详细地描述,摄像头节点120可包括分析模型,以将视频分析应用于由摄像头模块处理的视频数据。此类视频分析可包括生成关于视频的分析元数据。例如,分析模型可以包括对象检测、对象跟踪、人脸识别、图案检测、运动分析或在使用分析模型进行分析时从视频数据提取的其它数据。分析元数据可以提供用于数据修剪的参数。例如,可以在初始保留期限之后删除任何没有运动的视频数据。在另一示例中,可仅保留包括特定分析元数据的视频数据(例如,可仅存储其中检测到给定对象的视频数据)。更进一步地,可仅保留来自特定摄像头110的数据超过初始保留期限。因此,可以在不减小大小的情况下维持非常有价值的视频数据馈送(例如,与诸如建筑物入口或设施的高度安全区域等关键位置有关的视频数据)。在任何方面,存储管理器146可以管理对由VMS 100存储的视频数据应用这种存储策略。
主节点140还可包括数据库管理器148。如上所述,视频摄像头110可以与用于处理和存储来自视频摄像头120的视频数据的任何摄像头节点120相关联。此外,视频数据可以以抽象方式存储在逻辑存储单元150中,所述逻辑存储单元可以或可以不与摄像头节点120在物理上位于同一位置。因此,VMS 100可以有利地维持关于由VMS 100捕获的视频数据的记录,以提供关于视频数据的重要系统元数据。除了其它潜在信息之外,此类系统元数据还可包括:哪个视频摄像头110捕获视频数据、捕获视频数据的时间/日期、哪个摄像头节点120处理视频数据、哪个视频分析应用于视频数据、关于视频数据的分辨率信息、关于视频数据的帧速率信息、视频数据的大小和/或视频数据存储的位置。此类信息可以存储在由数据库管理器148生成的数据库中。数据库可包括视频数据和与视频数据有关的系统元数据之间的相关性。在这方面,视频数据的出处可由数据库管理器148记录并捕获到所得数据库中。数据库可用于管理视频数据和/或跟踪视频数据通过VMS 100的流动。例如,如上所述,存储管理器146可以利用数据库将存储策略应用于数据。此外,对来自客户端130的数据的请求可包括对数据库的引用,以确定针对给定参数(诸如上述任何一个或多个元数据部分)将检索的视频数据的位置。数据库管理器148可生成数据库,但数据库可分布在所有摄像头节点120之间,以在执行数据库管理器148的主节点140故障或不可用的情况下向系统提供冗余。对应于任何给定摄像头节点120处的数据库更新可以由特定事件驱动,或者可以以预定时间间隔发生。
数据库还可以使视频数据与关于视频数据的分析元数据相关。例如,如下文更详细地描述,分析元数据可以通过对视频数据应用视频分析来生成。此类分析元数据可以嵌入到视频数据本身,或者作为与给定视频数据文件相关联的单独元数据文件而提供。在任一方面,数据库可使此类分析元数据与视频数据相关。这可有助于修剪活动或搜索视频数据。关于前者,如上所述,根据存储策略进行的修剪可以包括基于分析元数据(例如,基于存在或不存在移动或检测到的对象)来处理视频数据。此外,由用户进行的搜索可以请求其中检测到特定对象或类似情况的所有视频数据。
进一步参考图4,示出了摄像头节点120的示意性示例。如从前述内容可以理解的,摄像头节点120可包括执行数据库管理器148的主节点140所提供的数据库132的实例。在这方面,摄像头节点120可参考数据库以用于从VMS 100的逻辑存储卷检索和/或提供视频和/或用于重新处理视频数据(例如,根据存储策略)。
摄像头节点120可包括视频分析模块128。视频分析模块128可操作以在从摄像头110接收后将分析模型应用于由摄像头节点120处理的视频数据。视频分析模块128可以将机器学习模型应用于在摄像头节点120处处理的视频数据以生成分析元数据。例如,如上所述,视频分析模块128可以应用机器学习模型来检测对象、跟踪对象、执行人脸识别或对视频数据的其它分析,这继而可导致生成关于视频数据的分析元数据。
摄像头节点120还可包括基于数据的性质或数据的预期用途而适于将视频数据处理到适当传输机制中的模块。在这方面,摄像头节点120包括编码解码器122(即,编码器/解码器),所述编码解码器可解码所接收的数据并将数据重新编码为不同的编码视频格式。编码视频格式可包括分组数据,使得根据所选的编码视频格式对每个数据包进行编码。摄像头节点120还可以包括容器格式化器124,所述容器格式化器可以将编码视频包打包成适当的容器格式。摄像头模块120还包括网络接口126,所述网络接口可操作以确定传输数字容器格式的编码视频包的通信协议。
将视频数据格式化为适当的传输机制可以允许优化视频数据的递送和/或存储。例如,视频数据可以使用实时流协议(RTSP)从摄像头110递送到摄像头节点120。然而,RTSP可能不是用于存储视频数据和/或将视频数据递送至客户端130的最佳协议(例如,RTSP通常不被标准web浏览器支持,并且因此,通常需要特定软件或插件(诸如特定视频播放器)以在浏览器显示器中呈现视频)。摄像头节点120可以基于请求视频数据的上下文将视频数据重新格式化为适当的传输机制。
在选择适当的通信协议后,网络接口126可以使用通信协议将编码视频包传送到客户端装置的标准web浏览器。在一个示例中,客户端130可以请求实时查看来自给定视频摄像头110的视频数据。因此,编码解码器122、容器格式化器124和网络接口126可以分别选择适当的编码视频格式、容器格式和通信协议,以促进传输机制实时地将视频数据提供给客户端130。相比之下,客户端130可以替代地请求来自VMS 100的逻辑存储单元的视频数据。如可以理解的,此类数据的流通性不如实时数据的情况下那样重要。可以选择编码视频格式、容器格式和通信协议中的不同的一个或多个。例如,在数据流通性不太重要的这种情况下,可以选择更具弹性或更具带宽有效性的编码视频格式、容器格式和通信协议,其具有向客户端130提供视频的较高延迟。
出于说明而非限制的目的,传输机制可包括编码视频格式、容器格式和通信协议的任何组合。示例传输机制包括JSMpeg、HTTP实时流式传输(HLS)、MPEG-1和WebRTC。JSMpeg利用MPEG-1编码(例如,MPEG-TS分流器、WebAssembly MPEG-1视频解码器和MPEG-2音频解码器)。在这方面,JSMpeg传输机制使用传输流(TS)容器格式和WebSocket通信协议。继而,可以使用JSMpeg程序在客户端130处解码JSMpeg传输机制,所述程序可以包括在网页中(例如,发送到浏览器的HTML代码等),并且不需要使用插件或除了原生web浏览器之外的其它应用程序。例如,JSMpeg传输机制可以使用WebGL&Canvas2D渲染程序和WebAudio声音输出。JSMpeg传输机制可以为视频数据提供极低的延迟,但相对于本文所述的其它传输机制,利用略高的带宽消耗。
另一个传输机制可以是WebRTC,其可以利用H.264编码、VP8或另一种编码。WebRTC可以利用包括MPEG-4或WebM的容器格式。WebRTC的通信协议可包括RTC对等连接以提供信号传输。可以使用WebSocket递送视频。在WebRTC传输机制中,标准浏览器可包括用于解码编码视频数据的原生解码器。WebRTC为视频数据提供极低的延迟,但通过使用呈RTC对等连接形式的信令服务器来增加系统的复杂性。然而,WebRTC的带宽使用率相对较低。
可以利用的又一个传输机制包括HLS或MPEG-DASH。HLS/MPEG-DASH的编码视频格式可以是MPEG-2、MPEG-4或H.264。容器格式可以是MPEG-4,并且通信协议可以是HTTP。在这方面,解码器可以原生地对编码视频数据进行解码。HLS/MPEG-DASH传输机制具有比所描述的其它传输机制更高的延迟,但具有稳健的浏览器支持和较低的网络带宽使用率。
如上所述,VMS 100可包括抽象系统,其允许捕获视频数据、处理视频数据以及存储将在VMS 100的各个组件之间抽象的视频数据。例如,进一步参考图4,示意性地描述了VMS 100的功能性的三个“层”。具体地,示出了采集层310、处理层320和存储层330。摄像头110可包括采集层310。摄像头节点120和主节点140可包括处理层320。另外,逻辑存储卷可包括存储层330的存储装置150。这些层被称为抽象层,因为采集、处理和存储VMS系统100的视频数据的硬件组件的特定组合可以是可变的且动态相关联的。也就是说,VMS 100的硬件组件之间的网络通信可以允许对采集、处理和存储功能中的每一个进行抽象化。因此,例如,摄像头110中的任一个可以将视频数据提供到摄像头节点120中的任一个,所述摄像头节点可以不受限制地将视频数据存储在存储装置150的逻辑存储卷中。
如上所述,VMS 100还包括可与网络115可操作地通信的客户端130。客户端130可操作以与VMS 100通信以从系统100请求并接收视频数据。在这方面,VMS 100可以不但存储来自视频摄像头110的视频数据,而且提供视频数据的实时流以供一个或多个用户观察。例如,视频监控摄像头通常由安保人员实时监控。通过“实时”或“近实时”,预期所提供的数据具有足够的流通性以用于安全操作。在这方面,实时或近实时不需要瞬时递送视频数据,但可以包括不影响监控视频数据的功效的延迟,诸如小于5秒、小于3秒或小于约1秒的延迟。
本公开的一个目标是帮助客户端130可以使用标准web浏览器应用程序以方便的方式向用户呈现实时视频数据。特别值得注意的是,允许客户端130执行用于访问视频数据的常见且低成本的应用程序(例如,与需要预安装和预配置平台依赖专有软件以与管理系统交互相比)是特别有益的。在这方面,预期在客户端130处使用的特定应用程序类型是标准web浏览器。此类浏览器的示例包括谷歌浏览器、火狐浏览器、微软Edge浏览器、微软IE浏览器、欧朋浏览器和/或苹果浏览器。此类标准web浏览器能够原生地处理经由网络接收的某些数据,以在客户端装置上生成用户界面。例如,此类标准web浏览器通常包括原生应用程序编程接口(API)或其它默认功能,以允许web浏览器呈现用户界面,促进用户与网站等的交互,并在客户端和服务器之间建立通信。
客户端130可包括能够与web服务器142和/或摄像头管理器120中的一个或多个通信以访问VMS 100的视频数据的标准互联网浏览器。与先前提出的依赖于待执行以与服务器通信以用于检索视频数据的专有客户端软件的系统相比,VMS 100的客户端130可以使用任何标准web浏览器应用程序来访问视频数据。标准互联网浏览器应用程序意味着浏览器应用程序可能不需要任何插件、附加组件或浏览器应用程序将安装或执行的其它程序,浏览器中本机提供的功能除外。应当注意,虽然关于用于搜索、检索和显示视频的用户界面的某些功能可以由web服务器142递送到web浏览器作为代码等,但可以在没有用户交互或预配置web浏览器的情况下提供任何此类功能。因此,任何此类功能仍被视为web浏览器的原生功能。在这方面,客户端130可以从VMS 100所服务的网页接收所有必要的数据以促进对VMS 100的视频数据的访问,而不必下载程序、安装插件或以其它方式修改或配置来自本机配置的浏览器应用程序。也就是说,接收和显示用户界面和/或来自VMS 100的视频数据所需的所有必要信息和/或指令可以在本地与标准浏览器一起提供或者从VMS系统100递送以允许执行客户端130。能够执行与网络115可操作地通信的标准web浏览器应用程序的任何适当计算装置都可以用作客户端130以访问VMS 100的视频数据。例如,任何膝上型计算机、台式计算机、平板电脑、智能手机装置、智能电视或能够执行标准互联网浏览器应用程序的另一装置都可以充当客户端130。
进一步参考图6,描绘了VMS 100向客户端130提供视频数据的一个示例。在这种情况下,可以利用反向代理200来促进与客户端130的通信。具体地,反向代理200可以由主节点140的web服务器142促进,如上所述。也就是说,web服务器142可以充当反向代理200。在这方面,客户端130可以连接到反向代理200。可以从反向代理200提供包括HTML或其它网页内容的用户界面400。例如,由反向代理400提供的用户界面400可以包括来自VMS 100的摄像头110的可用视频数据的列表404或可搜索索引。这可包括用于实时递送到客户端130的可用实时视频数据馈送的列表,或者可允许访问存储的视频数据。在后者方面,允许执行搜索的搜索功能(例如,使用任何视频元数据,所述视频元数据包括采集日期/时间、摄像头识别、设施位置和/或分析元数据,所述分析元数据包括从视频数据等识别到的对象)。在这方面,web服务器142可以充当信令服务器,以提供关于可用视频数据的信息。在选择视频数据的给定部分后,可以从客户端130向反向代理200发出对特定视频数据的请求。继而,反向代理200可以与摄像头节点120中的给定一个通信以检索所请求的视频数据。用户界面400还可包括视频显示器402。视频数据可以由web服务器142从适当的摄像头节点120请求,在适当的传输机制中格式化,并且由充当反向代理200的web服务器142递送到客户端130,以在视频显示器402中解码和显示视频数据。因此,使用反向代理200允许从单个服务器提供递送到客户端130的所有数据,所述服务器可具有符合浏览器的许多安全需求的适当安全证书。
在一个示例中,摄像头节点120处理数据的传输机构可以至少部分地基于来自客户端130的请求的特性。在这方面,反向代理200可以确定请求的特性。此类特性的示例包括视频数据的性质(例如,实时或存档视频数据)、捕获视频数据的摄像头110的标识、客户端130相对于反向代理200的网络位置或将提供视频数据的摄像头节点120或其它特性。基于所述特性,适当选择编码视频格式、容器格式和通信协议,以用于由摄像头节点120处理视频数据。摄像头节点120可以将视频数据提供给反向代理200,以传送到客户端130。如上所述,在至少一些情况下,提供给客户端130的视频数据可以是实时或近实时视频数据,实时或近实时视频数据可以由客户端130以标准web浏览器的形式呈现,而不需要在客户端130处安装插件或其它应用程序。
用户可能希望改变用户界面400中显示的视频数据。继而,用户可以选择新的视频数据源。在一个实施方案中,传输机制可以被配置为使得可以从适当的摄像头节点120由网络服务器142请求新的视频数据,并且将其递送到用户界面400,而不需要重新加载页面。也就是说,视频显示器402中的数据通常无需重新加载用户界面400即可改变。这可以允许为尝试使用标准web浏览器来监控多个视频数据源的用户提供更大的效用。
提供给客户端130以在视频显示器402中呈现的视频数据可以包括元数据,诸如分析元数据。如上所述,此类分析元数据可以与应用于视频数据的任何适当视频分析有关,并且可以包括例如突出显示检测到的对象、对象识别、个体识别、对象跟踪等。因此,视频数据可以被注释为包括一些分析元数据。分析元数据可以体现在视频数据中,或者可以经由单独的数据信道提供。在经由单独信道提供分析元数据的示例中,当在用户界面400中呈现时,客户端130可以接收分析元数据并注释视频显示器402中的视频数据。更进一步地,可以理解的是,包括用户界面400的不同类型的数据可以使用不同的传输机制递送到客户端130。例如,传输机制的上述示例可用于递送视频数据以供在视频显示器402中显示。然而,用户界面本身可以使用HTML和安全的TLS安全协议通过标准TCP/IP连接进行通信。更进一步地,元数据(例如,分析元数据)可以作为嵌入数据在视频数据中提供,或者可以作为单独的数据流提供以在用户界面130中呈现,如上所述。在使用单独的数据流递送元数据的情况下,元数据的递送可以借助于与视频数据本身不同的传输机制。
返回参考图5,将VMS 100的功能抽象成各种功能层也可以提供与由摄像头节点120分析视频数据有关的优点。具体地,分析模型(例如,机器学习模块)的应用对于摄像头节点120而言可能在计算上相对繁重。虽然摄像头节点120可配备有图形处理单元(GPU)或辅助执行计算负载的其它特别适配的硬件,但可能存在给定摄像头节点120的处理能力可能无法将分析模型应用于来自给定视频摄像头110的所有视频数据的某些实例。例如,在某些情况下,来自给定摄像头110的视频数据可以有利地分成数据的不同部分,所述数据的不同部分可以被提供到不同的摄像头节点120以用于对数据的不同部分进行单独处理。通过以这种方式“切片”数据,对视频数据的不同部分的分析可以在摄像头节点120中的不同摄像头节点处同时进行,这可以增加对视频数据执行分析的速度和/或吞吐量。
因此,如图7所示,VMS 100的摄像头110可以与网络115可操作地通信。至少第一节点120a和第二节点120b也可以与网络115通信以从摄像头110接收视频数据。第一节点120a可包括第一分析模型210a,并且第二节点120b可包括第二分析模型210b。第一分析模型210a可以与第二分析模型210b相同或不同。
来自视频摄像头110的视频数据可以分成至少第一视频部分212和第二视频部分214。虽然被称为视频数据部分,但应理解,少至单帧的视频数据可以包括视频数据的相应部分212和214。视频数据的第一部分212可以被提供给第一摄像头节点120a,并且视频数据的第二部分214可以被提供给第二摄像头节点120b。
视频数据的第二部分214可响应于由主节点、摄像头节点120a、摄像头节点120b或摄像头110中的任一个检测到的触发而提供给第二摄像头节点120b。触发可以基于任何数目的条件或参数。例如,可以建立周期性触发,使得基于时间、摄像头数据的量或其它周期性触发而将视频数据的第二部分214以周期性方式提供给第二摄像头节点120b。在这方面,相对于第二分析模型210b,第一分析模型210a可能需要相对较低的计算复杂性。因此,将所有视频数据提供给第二摄像头节点120b以使用第二分析模型210b进行处理在计算上可能不是有效的。然而,每个第N部分(例如,包括固定持续时间、磁盘上的视频大小或给定帧数)都可以从摄像头110提供到第二摄像头节点210b,其中N是正整数。在这方面,每百分之一秒视频数据可包括视频数据的第二部分214,每千分之一帧视频数据可包括视频数据的第二部分214,等等。
在另一情况下,可基于视频数据的第一部分212的系统视频元数据或分析视频元数据而将视频数据的第二部分214提供给第二摄像头节点120b。例如,在从视频数据的第一部分212中检测到给定对象后,可以将包括视频数据的第二部分214的视频数据的后续帧提供给第二摄像头节点120b。作为此操作的示例,第一摄像头节点120a可以使用第一分析模型210a从第一视频数据部分212检测到人。继而,视频数据的第二部分214可以被引导到第二摄像头节点120b以供第二分析模型210b处理,所述第二分析模型可以特别适用于人脸识别。在这方面,来自摄像头110的视频数据可以被引导到特定节点进行处理以允许应用不同的分析模型等。
参考图12,用于根据存储策略在分布式视频管理系统中进行存储的方法的示例操作1200。操作1200包括捕获操作1202,其中系统的视频摄像头捕获视频数据。操作1200还包括传达操作1204,其中来自摄像头的视频数据被传达到视频管理系统中的多个摄像头节点中的摄像头节点。操作1200还包括处理操作1206,其中对视频数据进行处理以用于存储。例如,处理操作1206可包括改变关于视频数据的编码、容器格式或其它数据。
在任一方面,操作1200可包括存储操作1208,其中将视频数据存储在与摄像头节点通信的逻辑存储卷中。存储操作1208可包括根据存储策略的第一阶段来存储视频数据。例如,存储策略的第一阶段可包括以全分辨率和帧速率将所有视频数据存储在逻辑存储卷中。第一阶段可适用于给定流通性的数据(例如,在近24小时内捕获的数据)。第一阶段不必涉及全分辨率和帧速率数据的存储。即,第一阶段可包括在存储之前减小视频的大小。
存储策略还可包括发起对存储的视频数据的修剪操作的触发事件。如此,操作1200可包括其中检测触发事件的检测操作1210。如上文所描述,触发事件可以是时间或周期性触发事件,或可涉及视频数据的其它元数据(例如,分析性元数据)。在任一方面,在检测操作1210中检测到触发事件后,操作1200可包括检索操作1212,其中由摄像头节点从逻辑存储卷检索存储数据。操作1200还可包括修剪操作1214,其中响应于在检测操作1210中检测到触发事件,对检索的数据进行修剪。如上文所描述,修剪操作1214可大体上涉及减小存储卷中存储的视频数据的大小。如此,视频数据可从存储卷完全删除或可被处理以占据较少的盘上空间。在这后一方面,可对视频数据进行下采样以降低视频的分辨率,可减小视频数据的帧速率,或可执行最终会减小盘上视频数据的大小的其它操作。
图13描绘用于生成和/或维持用于使视频数据与例如上文所描述的关于视频数据的元数据相关的数据库的示例操作1300。如从前文可了解,给定如本文所描述的视频管理系统的动态和灵活性质,可有利的是记录关于视频数据和/或视频数据的处理的元数据,以维持关于视频数据的出处信息,例如记录数据的摄像头、记录的时间/日期、处理视频数据的摄像头节点、应用于视频数据的任何分析、所得分析性元数据和/或存储信息(例如,数据在逻辑存储卷中的位置)。
因此,操作1300包括捕获操作1302,其中视频数据由分布式视频管理系统的多个视频摄像头捕获。操作1300还包括传达操作1304,其中来自视频摄像头的视频数据被分布到系统的多个摄像头节点中的相应摄像头节点。操作1300还可包括在处理操作1306中在摄像头节点处处理视频数据。如上文所描述,这可包括对视频数据进行编码等,但还可包括减小关于所述视频数据的分辨率和/或帧速率或其它参数。操作1300还可包括存储操作1308,其中视频数据被存储在系统的逻辑存储卷中。
操作1300还可包括记录操作1310,其中以分类账或其它数据库格式记录关于视频数据的元数据。数据库可使视频元数据与视频数据相关,使得例如所述视频数据可与——但不限于——捕获数据的视频摄像头的身份、视频数据捕获时间/日期、用于处于所述视频数据的摄像头节点的身份、视频数据的存储位置、分析性元数据或其它相关元数据相关或以其它方式相关联。操作1300还可包括分布操作1312,其中将记录操作1310中生成的分类账或数据库分布到每个摄像头节点。在这点上,记录操作1310可由主节点的数据库管理器执行,随后分布到每个摄像头节点以实现冗余和/或对数据库的轻松访问。
图14示出适于实施所公开的技术的各方面的处理装置1400的示例示意图。例如,处理装置1400可大体描述摄像头节点120、主节点140和/或客户端130的架构。处理装置1400包括一个或多个处理器单元1402、存储器1404、显示器1406和其它接口1408(例如,按钮)。存储器1404大体上包括易失性存储器(例如,RAM)和非易失性存储器(例如,快闪存储器)。操作系统1410,例如微软
Figure BDA0003130667920000241
操作系统、苹果macOS操作系统或Linux操作系统,驻存在存储器1404中并且由处理器单元1402执行,但应理解,可使用其它操作系统。
一个或多个应用程序1412加载于存储器1404中并且由处理器单元1402在操作系统1410上执行。应用程序1412可从例如麦克风1434、输入附件1435(例如,小键盘、鼠标、触控笔、触摸垫、操纵杆、仪器安装输入等)的各种输入本地装置接收输入。另外,应用程序1412可通过在使用更多的通信收发器1430和天线1438来提供网络连接的有线或无线网络(例如,移动电话网络、
Figure BDA0003130667920000242
)上与远程定位的智能装置等一个或多个远程装置通信来从此类装置接收输入。处理装置1400还可包括各种其它组件,例如定位系统(例如,全球定位卫星收发器)、一个或多个加速度计、一个或多个摄像头、音频接口(例如,麦克风1434、音频放大器和扬声器和/或音频插孔)和存储装置1428。还可使用其它配置。
处理装置1400另外包括由一个或多个电池或其它电源供电并向处理装置1400的其它组件供电的电源1416。电源1416还可连接到覆盖内置电池或其它电源或对内置电池或其它电源充电的外部电源(未示出)。
示例实施方案可包括由指令体现的硬件和/或软件,所述指令存储在存储器1404和/或存储装置1428中并由处理器单元1402处理。存储器1404可以是主机装置的存储器或耦合到主机的附件的存储器。
处理系统1400可包括多种有形处理器可读存储介质和无形处理器可读通信信号。有形处理器可读存储可通过可由处理系统1400访问的任何可用的介质来体现,并且包括易失性存储介质和非易失性存储介质、可移动存储介质和非可移动存储介质两者。有形处理器可读存储介质不包括无形通信信号并且包括以任何方法或技术实现以用于存储诸如处理器可读指令、数据结构、程序模块或其它数据的信息的易失性和非易失性、可移动和非可移动存储介质。有形处理器可读存储介质包括但不限于RAM、ROM、EEPROM、快闪存储器或其它存储器技术、CDROM、数字多功能盘(DVD)或其它光盘存储装置、盒式磁带、磁带、磁盘存储装置或其它磁性存储装置,或可用于存储所要信息并且可由处理系统1400存取的任何其它有形介质。与有形处理器可读存储介质相反,无形处理器可读通信信号可以体现驻留在诸如载波或其它信号传输机制的已调制数据信号中的处理器可读指令、数据结构、程序模块或其它数据。术语“已调制数据信号”意指其特性中的一个或多个以在信号中编码信息的这样一种方式被设定或改变的无形通信信号。作为示例而非限制,无形通信信号包括通过诸如有线网络或直接有线连接的有线介质以及诸如声学、RF、红外和其它无线介质的无线介质传播的信号。
一些实施方案可包括制品。制品可包括用于存储逻辑的有形存储介质。存储介质的示例可以包括能够存储电子数据的一种或多种类型的处理器可读存储介质,包括易失性存储器或非易失性存储器、可移动或非可移动存储器、可擦除或非可擦除存储器、可写或可重写存储器等。逻辑的示例可以包括各种软件元素,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、操作段、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、单词、值、符号或它们的任何组合。在一个实施方案中,例如,制品可以存储可执行计算机程序指令,这些可执行计算机程序指令当由计算机执行时,使计算机执行依照所描述的实施方案的方法和/或操作。可执行计算机程序指令可以包括任何合适类型的代码,诸如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。可以根据预定义计算机语言、方式或语法来实现可执行计算机程序指令,以用于指示计算机执行某个操作段。可以使用任何合适的高级、低级、面向对象的、可视的、编译的和/或解释的编程语言来实现指令。
本公开的一个总体方面包括一种分布式视频监视系统。所述系统包括视频获取硬件层,所述视频获取硬件层包括与通信网络操作性通信的多个视频摄像头。所述系统还包括视频处理硬件层,所述视频处理硬件层包括与通信网络操作性通信的多个摄像头节点。所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的相应子集接收视频数据以对接收到的所述视频数据进行处理。所述系统还包括存储层,所述存储层包括至少一个逻辑存储卷,所述至少一个逻辑存储卷与所述通信网络操作性通信并且操作以从所述多个摄像头节点的每个摄像头管理器接收视频数据。摄像头管理器操作以基于存储策略处理所述视频数据以用于以选择的视频数据格式存储在存储库中。
实施方案可包括以下特征中的一个或多个。例如,存储层可包括与视频处理硬件层中的多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。在示例中,存储层可包括远离视频处理硬件层的远程存储容量。
在示例中,存储策略可针对摄像头管理器对视频数据的存储限定至少两个阶段。第一阶段可包括摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在存储层的所述至少一个逻辑存储卷中。第二阶段可包括摄像头管理器响应于触发事件而从所述存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。所述触发事件可以是视频的分析元数据或视频的流通性中的至少一个。
在示例中,所述多个摄像头节点中的至少一个摄像头节点包括用以维持存储数据库的数据库管理器,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在逻辑存储卷中的逻辑地址相关。所述存储数据库可分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
本公开的另一总体方面包括一种用于在分布式视频监视系统中存储视频数据的方法。所述方法包括经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据。所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理。所述方法还包括基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中,并且经由通信网络将呈选择的视频数据格式的视频数据传达到逻辑存储卷。
实施方案可包括以下特征中的一个或多个。例如,所述方法还可包括将接收到的所述视频数据存储在存储库中,所述存储库包括与所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。所述方法还可包括将接收到的所述视频数据存储在存储库中,所述存储库包括远离视频处理硬件层的远程存储容量。
在示例中,存储策略可针对摄像头管理器对视频数据的存储限定至少两个阶段。第一阶段可包括由摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在所述至少一个逻辑存储卷中。第二阶段可包括由摄像头管理器响应于触发事件而从所述存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。所述触发事件可以是视频的分析元数据或视频的流通性中的至少一个。
在示例中,所述方法还可包括在所述多个摄像头节点中的一个或多个摄像头节点处维持存储数据库,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在逻辑存储卷中的逻辑地址相关。所述方法还可包括将存储数据库分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
本公开的另一总体方面包括通过指令体现的一种或多种有形处理器可读存储介质,所述指令用于在装置的一个或多个处理器和电路上执行将视频数据存储在分布式视频监视系统中的过程。所述过程包括经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据。所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理。所述过程还包括基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中,并且经由通信网络将呈选择的视频数据格式的视频数据传达到逻辑存储卷。
实施方案可包括以下特征中的一个或多个。例如,所述过程可包括将接收到的所述视频数据存储在存储库中,所述存储库可包括与所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。在示例中,所述方法可包括将接收到的所述视频数据存储在存储库中,所述存储库包括远离视频处理硬件层的远程存储容量。
在示例中,存储策略可针对摄像头管理器对视频数据的存储限定至少两个阶段。第一阶段可包括由摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在所述至少一个逻辑存储卷中。第二阶段可包括由摄像头管理器响应于触发事件而从所述存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。所述触发事件可以是视频的分析元数据或视频的流通性中的至少一个。
在示例中,过程可包括在所述多个摄像头节点中的一个或多个摄像头节点处维持存储数据库,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在逻辑存储卷中的逻辑地址相关。过程还可包括将存储数据库分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
本文所描述的实施方案实施为一个或多个计算机系统中的逻辑步骤。逻辑操作可以(1)作为在一个或多个计算机系统中执行的处理器实现的步骤的序列并且(2)作为一个或多个计算机系统内的互连的机器或电路模块被实现。实施方案是选择问题,取决于所利用的计算机系统的性能要求。因此,组成本文描述的实施方案的逻辑操作被不同地称为操作、步骤、对象或模块。此外,应该理解,除非另外显式地要求保护或者权利要求语言固有地需要具体次序,否则可以以任何次序执行逻辑操作。
虽然本发明已在附图和前述描述中详细示出和描述,但此类说明和描述应被视为示例性的,而不是限制性的。例如,上文所述的某些实施例可以与其它描述的实施例组合和/或以其它方式布置(例如,可在其它序列中执行过程元件)。因此,应当理解,仅展示和描述了优选实施例及其变体,并且期望保护在本发明的精神范围内的所有改变和修改。
进一步的示例
示例1.一种分布式视频监视系统,其包括:
视频获取硬件层,其包括与通信网络操作性通信的多个视频摄像头;
视频处理硬件层,其包括与所述通信网络操作性通信的多个摄像头节点,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的相应子集接收视频数据以对接收到的所述视频数据进行处理;以及
存储层,其包括至少一个逻辑存储卷,所述至少一个逻辑存储卷与所述通信网络操作性通信并且操作以从所述多个摄像头节点的每个摄像头管理器接收所述视频数据;
其中所述摄像头管理器操作以基于存储策略处理所述视频数据以用于以选择的视频数据格式存储在存储库中。
示例2.根据示例1所述的分布式视频监视系统,其中所述存储层包括与所述视频处理硬件层中的所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。
示例3.根据示例1所述的分布式视频监视系统,其中所述存储层包括远离所述视频处理硬件层的远程存储容量。
示例4.根据示例1所述的分布式视频监视系统,其中所述存储策略针对所述摄像头管理器对视频数据的存储限定至少两个阶段:
第一阶段,其包括所述摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在所述存储层的所述至少一个逻辑存储卷中;以及
第二阶段,其包括所述摄像头管理器响应于触发事件而从所述存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。
示例5.根据示例4所述的分布式视频监视系统,其中所述触发器包括所述视频的分析元数据或所述视频的流通性中的至少一个。
示例6.根据示例1所述的分布式视频监视系统,其中所述多个摄像头节点中的至少一个摄像头节点包括用以维持存储数据库的数据库管理器,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在所述逻辑存储卷中的逻辑地址相关。
示例7.根据示例6所述的分布式视频监视系统,其中所述存储数据库被分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
示例8.一种用于在分布式视频监视系统中存储视频数据的方法,其包括:
经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理;
基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中;以及
经由所述通信网络将呈所述选择的视频数据格式的所述视频数据传达到逻辑存储卷。
示例9.根据示例8所述的方法,其还包括:
将接收到的所述视频数据存储在所述存储库中,所述存储库包括与所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。
示例10.根据示例8所述的方法,其还包括:
将接收到的所述视频数据存储在所述存储库中,所述存储库包括远离视频处理硬件层的远程存储容量。
示例11.根据示例8所述的方法,其中所述存储策略针对所述摄像头管理器对视频数据的存储限定至少两个阶段:
第一阶段,其包括由所述摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在至少一个逻辑存储卷中;以及
第二阶段,其包括由所述摄像头管理器响应于触发事件而从存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。
示例12.根据示例11所述的方法,其中所述触发事件包括所述视频的分析元数据或所述视频的流通性中的至少一个。
示例13.根据示例8所述的方法,其还包括:
在所述多个摄像头节点中的一个或多个摄像头节点处维持存储数据库,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在所述逻辑存储卷中的逻辑地址相关。
示例14.根据示例13所述的方法,其还包括:
将所述存储数据库分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
示例15.一种或多种通过指令体现的有形处理器可读存储介质,所述指令用于在装置的一个或多个处理器和电路上执行将视频数据存储在分布式视频监视系统中的过程,所述过程包括:
经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理;
基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中;以及
经由所述通信网络将呈所述选择的视频数据格式的所述视频数据传达到逻辑存储卷。
示例16.根据示例15所述的一种或多种有形处理器可读存储介质,所述过程还包括:
将接收到的所述视频数据存储在所述存储库中,所述存储库包括与所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。
示例17.根据示例15所述的一种或多种有形处理器可读存储介质,所述过程还包括:
将接收到的所述视频数据存储在所述存储库中,所述存储库包括远离视频处理硬件层的远程存储容量。
示例18.根据示例15所述的一种或多种有形处理器可读存储介质,其中所述存储策略针对所述摄像头管理器对视频数据的存储限定至少两个阶段:
第一阶段,其包括由所述摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在至少一个逻辑存储卷中;以及
第二阶段,其包括由所述摄像头管理器响应于触发事件而从存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作,所述触发事件包括所述视频的分析元数据或所述视频的流通性中的至少一个。
示例19.根据示例15所述的一种或多种有形处理器可读存储介质,所述过程还包括:
在所述多个摄像头节点中的一个或多个摄像头节点处维持存储数据库,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在所述逻辑存储卷中的逻辑地址相关。
示例20.根据示例19所述的一种或多种有形处理器可读存储介质,所述过程还包括:将所述存储数据库分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。

Claims (10)

1.一种分布式视频监视系统,其包括:
视频获取硬件层,其包括与通信网络操作性通信的多个视频摄像头;
视频处理硬件层,其包括与所述通信网络操作性通信的多个摄像头节点,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的相应子集接收视频数据以对接收到的所述视频数据进行处理;以及
存储层,其包括至少一个逻辑存储卷,所述至少一个逻辑存储卷与所述通信网络操作性通信并且操作以从所述多个摄像头节点的每个摄像头管理器接收所述视频数据;
其中所述摄像头管理器操作以基于存储策略处理所述视频数据以用于以选择的视频数据格式存储在存储库中。
2.根据权利要求1所述的分布式视频监视系统,其中所述存储层包括与所述视频处理硬件层中的所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。
3.根据权利要求1所述的分布式视频监视系统,其中所述存储层包括远离所述视频处理硬件层的远程存储容量。
4.根据权利要求1所述的分布式视频监视系统,其中所述存储策略针对所述摄像头管理器对视频数据的存储限定至少两个阶段:
第一阶段,其包括所述摄像头管理器将来自所述多个视频摄像头中的所有视频摄像头的所有视频数据存储在所述存储层的所述至少一个逻辑存储卷中;以及
第二阶段,其包括所述摄像头管理器响应于触发事件而从所述存储层的所述至少一个逻辑存储卷中检索预先存在的视频数据以应用视频修剪操作。
5.根据权利要求4所述的分布式视频监视系统,其中所述触发器包括所述视频的分析元数据或所述视频的流通性中的至少一个。
6.根据权利要求1所述的分布式视频监视系统,其中所述多个摄像头节点中的至少一个摄像头节点包括用以维持存储数据库的数据库管理器,所述存储数据库使来自所述多个视频摄像头中的相应视频摄像头的视频数据与所述视频数据在所述逻辑存储卷中的逻辑地址相关。
7.根据权利要求6所述的分布式视频监视系统,其中所述存储数据库被分布到所述多个摄像头节点中的每个摄像头节点,以用于在所述多个摄像头节点中的每个摄像头节点处存储所述存储数据库的副本。
8.一种用于在分布式视频监视系统中存储视频数据的方法,其包括:
经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理;
基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中;以及
经由所述通信网络将呈所述选择的视频数据格式的所述视频数据传达到逻辑存储卷。
9.根据权利要求8所述的方法,其还包括:
将接收到的所述视频数据存储在所述存储库中,所述存储库包括与所述多个摄像头节点中的每个摄像头节点操作性通信的多个物理存储驱动器。
10.一种或多种通过指令体现的有形处理器可读存储介质,所述指令用于在装置的一个或多个处理器和电路上执行将视频数据存储在分布式视频监视系统中的过程,所述过程包括:
经由通信网络上的通信接收由多个摄像头节点处的多个视频摄像头捕获的视频数据,所述多个摄像头节点中的每个相应摄像头节点执行摄像头管理器,所述摄像头管理器被配置成通过所述通信网络从所述多个视频摄像头的子集接收所述视频数据以对接收到的所述视频数据进行处理;
基于存储策略处理接收到的所述视频数据以用于以选择的视频数据格式存储在存储库中;以及
经由所述通信网络将呈所述选择的视频数据格式的所述视频数据传达到逻辑存储卷。
CN202110702472.1A 2020-06-29 2021-06-24 具有抽象化功能层的分布式监视系统 Active CN113938642B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/915,905 US11503381B2 (en) 2020-06-29 2020-06-29 Distributed surveillance system with abstracted functional layers
US16/915,905 2020-06-29

Publications (2)

Publication Number Publication Date
CN113938642A true CN113938642A (zh) 2022-01-14
CN113938642B CN113938642B (zh) 2024-10-29

Family

ID=79030746

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110702472.1A Active CN113938642B (zh) 2020-06-29 2021-06-24 具有抽象化功能层的分布式监视系统

Country Status (2)

Country Link
US (1) US11503381B2 (zh)
CN (1) CN113938642B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022134435A (ja) * 2021-03-03 2022-09-15 富士通株式会社 表示制御プログラム、表示制御方法及び表示制御装置
WO2023181783A1 (ja) * 2022-03-24 2023-09-28 ソニーグループ株式会社 センサ装置、センサ制御システム、制御方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031381A1 (en) * 2007-07-24 2009-01-29 Honeywell International, Inc. Proxy video server for video surveillance
US20100066835A1 (en) * 2008-09-12 2010-03-18 March Networks Corporation Distributed video surveillance system
CN102244774A (zh) * 2010-05-13 2011-11-16 霍尼韦尔国际公司 具有直接数据库服务存储器的监视系统
US20160021156A1 (en) * 2014-05-21 2016-01-21 videoNEXT Federal, Inc. System and method for networked video capture, backup, and serving
US20190188042A1 (en) * 2017-12-18 2019-06-20 Gorilla Technology Inc. System and Method of Image Analyses

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6185601B1 (en) 1996-08-02 2001-02-06 Hewlett-Packard Company Dynamic load balancing of a network of client and server computers
AUPP776498A0 (en) 1998-12-17 1999-01-21 Portus Pty Ltd Local and remote monitoring using a standard web browser
US6698021B1 (en) 1999-10-12 2004-02-24 Vigilos, Inc. System and method for remote control of surveillance devices
US6665721B1 (en) 2000-04-06 2003-12-16 International Business Machines Corporation Enabling a home network reverse web server proxy
AU2002226052A1 (en) 2000-11-13 2002-05-21 Warp Solutions, Inc. System and method for discovering, advertising, and finding networked services using dynamic directory
US20110058036A1 (en) 2000-11-17 2011-03-10 E-Watch, Inc. Bandwidth management and control
US7296286B2 (en) 2002-01-31 2007-11-13 Hitachi Kokusai Electric Inc. Method and apparatus for transmitting image signals of images having different exposure times via a signal transmission path, method and apparatus for receiving thereof, and method and system for transmitting and receiving thereof
US7340531B2 (en) 2002-09-27 2008-03-04 Intel Corporation Apparatus and method for data transfer
US8644969B2 (en) 2003-01-02 2014-02-04 Catch Media, Inc. Content provisioning and revenue disbursement
US7697026B2 (en) 2004-03-16 2010-04-13 3Vr Security, Inc. Pipeline architecture for analyzing multiple video streams
US7444287B2 (en) 2004-07-01 2008-10-28 Emc Corporation Efficient monitoring system and method
US8054330B2 (en) 2004-10-12 2011-11-08 International Business Machines Corporation Apparatus and methods for establishing and managing a distributed, modular and extensible video surveillance system
US7366836B1 (en) * 2004-12-23 2008-04-29 Emc Corporation Software system for providing storage system functionality
US9077882B2 (en) 2005-04-05 2015-07-07 Honeywell International Inc. Relevant image detection in a camera, recorder, or video streaming device
US9401080B2 (en) 2005-09-07 2016-07-26 Verizon Patent And Licensing Inc. Method and apparatus for synchronizing video frames
JP4974652B2 (ja) 2006-11-20 2012-07-11 シャープ株式会社 ストリーミング通信システム
WO2008085201A2 (en) 2006-12-29 2008-07-17 Prodea Systems, Inc. Managed file backup and restore at remote storage locations through multi-services gateway device at user premises
WO2008092202A1 (en) * 2007-02-02 2008-08-07 Honeywell International Inc. Systems and methods for managing live video data
WO2008100832A1 (en) 2007-02-16 2008-08-21 Envysion, Inc. System and method for video recording, management and access
US7840130B2 (en) 2007-03-28 2010-11-23 Honeywell International Inc. Mesh communication wireless camera system and method
US8565228B1 (en) 2007-03-28 2013-10-22 Control4 Corporation Systems and methods for selecting and ranking video streams
KR20100030648A (ko) 2007-06-26 2010-03-18 노키아 코포레이션 시간 레이어 스위칭 포인트들을 표시하는 시스템 및 방법
US10116904B2 (en) 2007-07-13 2018-10-30 Honeywell International Inc. Features in video analytics
KR100883065B1 (ko) 2007-08-29 2009-02-10 엘지전자 주식회사 모션 검출에 의한 녹화 제어장치 및 방법
US9325951B2 (en) 2008-03-03 2016-04-26 Avigilon Patent Holding 2 Corporation Content-aware computer networking devices with video analytics for reducing video storage and video communication bandwidth requirements of a video surveillance network camera system
TW200950372A (en) 2008-05-16 2009-12-01 Inventec Appliances Corp System for wireless remote monitoring and method thereof
US9786164B2 (en) 2008-05-23 2017-10-10 Leverage Information Systems, Inc. Automated camera response in a surveillance architecture
US8300098B1 (en) 2008-09-16 2012-10-30 Emc Corporation Techniques for providing access to video data using a network attached storage device
US20100097473A1 (en) 2008-10-20 2010-04-22 Johnson Controls Technology Company Device for connecting video cameras to networks and clients
US8570376B1 (en) 2008-11-19 2013-10-29 Videomining Corporation Method and system for efficient sampling of videos using spatiotemporal constraints for statistical behavior analysis
US20130222587A1 (en) * 2009-02-27 2013-08-29 Barracuda Networks, Inc Self-Connecting Internet Camera With Enhanced Security and Bandwidth Shaping
US8503539B2 (en) 2010-02-26 2013-08-06 Bao Tran High definition personal computer (PC) cam
US8922658B2 (en) 2010-11-05 2014-12-30 Tom Galvin Network video recorder system
CN102571624A (zh) 2010-12-20 2012-07-11 英属维京群岛商速位互动股份有限公司 实时通信系统及相关的计算器可读介质
US20120158894A1 (en) 2010-12-21 2012-06-21 Desgagne Yves Video stream distribution
US9704393B2 (en) 2011-01-11 2017-07-11 Videonetics Technology Private Limited Integrated intelligent server based system and method/systems adapted to facilitate fail-safe integration and/or optimized utilization of various sensory inputs
US9516379B2 (en) 2011-03-08 2016-12-06 Qualcomm Incorporated Buffer management in video codecs
WO2012142508A1 (en) 2011-04-15 2012-10-18 Skyfire Labs, Inc. Real-time video optimizer
KR101302803B1 (ko) 2011-05-26 2013-09-02 주식회사 엘지씨엔에스 네트워크 카메라를 이용한 지능형 감시 방법 및 시스템
US20130322552A1 (en) 2011-12-12 2013-12-05 Animesh Mishra Capturing Multiple Video Channels for Video Analytics and Encoding
US10769913B2 (en) * 2011-12-22 2020-09-08 Pelco, Inc. Cloud-based video surveillance management system
US9204103B1 (en) 2011-12-30 2015-12-01 Emc Corporation Technique for parallel, distributed video processing
US9456236B2 (en) 2013-02-11 2016-09-27 Crestron Electronics Inc. Systems, devices and methods for reducing switching time in a video distribution network
US20150172228A1 (en) 2012-04-17 2015-06-18 George Zalepa Method and system for communicating information over a network
US9805265B2 (en) 2012-05-30 2017-10-31 Hitachi, Ltd. Surveillance camera control device and video surveillance system
US10547693B2 (en) 2012-09-07 2020-01-28 Avigilon Corporation Security device capability discovery and device selection
US10454997B2 (en) 2012-09-07 2019-10-22 Avigilon Corporation Distributed physical security system
US8868964B2 (en) 2012-11-20 2014-10-21 Adobe Systems Incorporated Method and apparatus for supporting failover for live streaming video
US9769527B2 (en) 2013-07-11 2017-09-19 Dejero Labs Inc. Systems and methods for transmission of data streams
US20150055832A1 (en) * 2013-08-25 2015-02-26 Nikolay Vadimovich PTITSYN Method for video data ranking
US9472077B2 (en) * 2014-08-01 2016-10-18 Francis Joseph Coviello Surveillance of a secure area
DE102014012355A1 (de) 2014-08-25 2016-02-25 Unify Gmbh & Co. Kg Verfahren zur Steuerung einer Multimedia-Anwendung, Softwareprodukt und Vorrichtung
DE112015004699B4 (de) 2014-10-15 2024-05-29 Motorola Solutions, Inc. Über mehrere Sites verteiltes Sicherheitssystem
US9736349B2 (en) 2014-12-24 2017-08-15 Intel Corporation Adaptive video end-to-end network with local abstraction
WO2016157327A1 (ja) 2015-03-27 2016-10-06 日本電気株式会社 映像監視システム及び映像監視方法
US20180213267A1 (en) 2015-07-31 2018-07-26 The Khoshbin Company Distributed surveillance
US20170061214A1 (en) 2015-08-31 2017-03-02 General Electric Company Controlling bandwith utilization of video transmissions for quality and scalability
US10616465B2 (en) 2015-09-16 2020-04-07 Microsoft Technology Licensing, Llc Bandwidth efficient video surveillance system
US10853882B1 (en) 2016-02-26 2020-12-01 State Farm Mutual Automobile Insurance Company Method and system for analyzing liability after a vehicle crash using video taken from the scene of the crash
US9818126B1 (en) 2016-04-20 2017-11-14 Deep Labs Inc. Systems and methods for sensor data analysis through machine learning
CN106303442B (zh) 2016-08-26 2020-05-26 浙江大华技术股份有限公司 追踪路径拓扑结构建立方法、目标对象追踪方法及设备
KR20180058019A (ko) 2016-11-23 2018-05-31 한화에어로스페이스 주식회사 영상 검색 장치, 데이터 저장 방법 및 데이터 저장 장치
US10929707B2 (en) 2017-03-02 2021-02-23 Ricoh Company, Ltd. Computation of audience metrics focalized on displayed content
US11108844B1 (en) 2020-06-09 2021-08-31 The Procter & Gamble Company Artificial intelligence based imaging systems and methods for interacting with individuals via a web environment

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090031381A1 (en) * 2007-07-24 2009-01-29 Honeywell International, Inc. Proxy video server for video surveillance
US20100066835A1 (en) * 2008-09-12 2010-03-18 March Networks Corporation Distributed video surveillance system
CN102244774A (zh) * 2010-05-13 2011-11-16 霍尼韦尔国际公司 具有直接数据库服务存储器的监视系统
US20160021156A1 (en) * 2014-05-21 2016-01-21 videoNEXT Federal, Inc. System and method for networked video capture, backup, and serving
US20190188042A1 (en) * 2017-12-18 2019-06-20 Gorilla Technology Inc. System and Method of Image Analyses

Also Published As

Publication number Publication date
CN113938642B (zh) 2024-10-29
US20210409834A1 (en) 2021-12-30
US11503381B2 (en) 2022-11-15

Similar Documents

Publication Publication Date Title
US11343544B2 (en) Selective use of cameras in a distributed surveillance system
CN114125377A (zh) 具有分布式视频分析的分布式监视系统
US11163611B2 (en) Apparatus and method for providing a virtual device
US10171480B2 (en) Cloud-based surveillance with intelligent tamper protection
US10923157B2 (en) System and method for event data collection and video alignment
JP2019033494A (ja) ビデオソースデバイスからストリーム配信されるデータの格納管理
US12051397B2 (en) Audio privacy protection for surveillance systems
CN113938642B (zh) 具有抽象化功能层的分布式监视系统
US11810350B2 (en) Processing of surveillance video streams using image classification and object detection
US11496671B2 (en) Surveillance video streams with embedded object data
US20220417473A1 (en) Parity-Based Redundant Video Storage Among Networked Video Cameras
CN113938641A (zh) 分布式监视系统的基于低延迟浏览器的客户端界面
CN110198475B (zh) 视频处理方法、装置、设备、服务器与可读存储介质
US11741804B1 (en) Redundant video storage among networked video cameras
US20210127165A1 (en) Selective video watching by analyzing user behavior and video content
US20240007744A1 (en) Audio Sensors for Controlling Surveillance Video Data Capture
US11509832B2 (en) Low light surveillance system with dual video streams
CN113938640B (zh) 分布式监视系统中的摄像头的选择性使用
US11463739B2 (en) Parameter based load balancing in a distributed surveillance system
WO2019243961A1 (en) Audio and video multimedia modification and presentation
US11810361B2 (en) Site-based calibration of object detection parameters
CN109886234B (zh) 目标检测方法、装置、系统、电子设备、存储介质
US11736796B1 (en) Workload triggered dynamic capture in surveillance systems
US9542974B2 (en) Video management system and method for event recording using the same
CN109286792B (zh) 一种监控视频存储方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant