CN114079801A - 按需将元数据叠加到视频流上以进行智能视频分析 - Google Patents

按需将元数据叠加到视频流上以进行智能视频分析 Download PDF

Info

Publication number
CN114079801A
CN114079801A CN202110914385.2A CN202110914385A CN114079801A CN 114079801 A CN114079801 A CN 114079801A CN 202110914385 A CN202110914385 A CN 202110914385A CN 114079801 A CN114079801 A CN 114079801A
Authority
CN
China
Prior art keywords
metadata
video
frames
data
cloud computing
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.)
Pending
Application number
CN202110914385.2A
Other languages
English (en)
Inventor
M·纳法德
P·史利南
F·阿格达西
王硕
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.)
Nvidia Corp
Original Assignee
Nvidia Corp
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 Nvidia Corp filed Critical Nvidia Corp
Publication of CN114079801A publication Critical patent/CN114079801A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06V20/54Surveillance or monitoring of activities, e.g. for recognising suspicious objects of traffic, e.g. cars on the road, trains or boats
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19665Details related to the storage of video surveillance data
    • G08B13/19671Addition of non-video data, i.e. metadata, to video stream
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19665Details related to the storage of video surveillance data
    • G08B13/19671Addition of non-video data, i.e. metadata, to video stream
    • G08B13/19673Addition of time stamp, i.e. time metadata, to video stream
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/11Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information not detectable on the record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/30Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording
    • G11B27/3081Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on the same track as the main recording used signal is a video-frame or a video-field (P.I.P)
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/34Indicating arrangements 
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics
    • 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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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
    • 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/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/10Recognition assisted with metadata
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B13/00Burglar, theft or intruder alarms
    • G08B13/18Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength
    • G08B13/189Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems
    • G08B13/194Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems
    • G08B13/196Actuation by interference with heat, light, or radiation of shorter wavelength; Actuation by intruding sources of heat, light, or radiation of shorter wavelength using passive radiation detection systems using image scanning and comparing systems using television cameras
    • G08B13/19602Image analysis to detect motion of the intruder, e.g. by frame subtraction
    • G08B13/19608Tracking movement of a target, e.g. by detecting an object predefined as a target, using target direction and or velocity to predict its new position

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Television Signal Processing For Recording (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

公开了按需将元数据叠加到视频流上以进行智能视频分析。在各个示例中,云计算系统可以将视频流的帧和从帧生成的元数据存储在单独的数据存储中,其中使用共享时间戳对每种类型的数据进行索引。因此,可以跨云计算系统的任意数量的设备(例如,边缘设备和/或核心设备)存储和/或处理视频流的帧并且可以存储和/或生成这些帧的对应元数据,同时由时间戳链接。客户端设备可以提供使用元数据的特定子集动态注释视频流的请求或查询。在处理该请求或查询时,时间戳可用于检索表示视频流的帧的视频数据以及从跨数据存储的那些帧中提取的元数据。检索到的元数据和视频数据可用于注释这些帧,以用于在客户端设备上显示。

Description

按需将元数据叠加到视频流上以进行智能视频分析
背景技术
智能视频分析(IVA)系统可用于分析视频流并实时提供分析结果。例如,IVA系统可以帮助用户识别和跟踪视频流中出现的特定对象,例如人或车辆。为此,IVA系统可以从视频流中提取关于对象的元数据,并用相应的视觉指示符(例如标签、包围盒、警报和/或颜色)注释视频流。当使用具有边缘和云的分布式计算架构来实现IVA系统时,处理视频流并生成元数据的模块可跟随着也生成额外元数据的其他模块。在使用此元数据对视频流的帧进行注释时,注释应与被分析以生成元数据的帧相匹配。在对视频流进行注释时会出现一挑战,因为分析可能会分布在可能不在同一位置的许多设备上,并且用户可能对一次观看所有元数据的注释不感兴趣。
为了应对这些挑战,常规的IVA系统生成视频流的多个副本,其中不同的注释被烘焙(baked)到用于处理源视频数据的每种类型的分析引擎的帧中。当用户希望观看特定类型的注释时,可以向用户提供视频流的适当副本。这些副本是存储的预处理、预注释和预标记的,考虑视频流的每个变体,这会产生显著的存储需求,其中可能需要不同的注释。通过在同一视频中包括更多的注释,可以创建更少的带注释的视频,但是由于可以包括在视频帧内的视觉指示符的数量,这会导致视觉上杂乱的图像。这会降低带注释的视频的有用性。
发明内容
本公开的实施例涉及按需在视频流上叠加元数据以进行智能视频分析。公开了可以将视频流的视频数据和视频流的元数据存储在单独的数据存储中(例如,在不同的云设备上)的系统和方法,其中时间戳将视频流的帧与元数据的对应部分相关联。在处理(例如,来自客户端)观看用元数据注释的视频流的请求时,可以使用时间戳来跨数据存储检索相关帧和元数据,并且元数据可以叠加在帧上以供观看。
与常规系统相比,本公开提供了云计算系统,其可以将视频流的帧和从这些帧生成的元数据存储在单独的数据存储中,使用共享时间戳对每种类型的数据进行索引。因此,可以跨云计算系统的任意数量的设备(例如,边缘设备和/或核心设备)存储和/或处理视频流的帧并且存储和/或生成这些帧的对应元数据,同时由时间戳链接。客户端设备可以提供使用元数据的特定子集(例如,由一个或更多个元数据属性指示)动态注释视频流(例如,实况视频或历史视频)的请求或查询。在处理请求或查询时,时间戳可用于跨数据存储检索表示视频流的帧的视频数据以及从那些帧中提取的元数据。检索到的元数据和视频数据可用于注释用于在客户端设备上显示的帧。
所公开的方法提供了关于使用具有边缘和/或云组件的分布式计算架构实现的智能视频分析(IVA)系统如何以及在何处可以分析视频流以生成元数据并存储元数据和视频流的视频数据的灵活性。例如,可以使用云计算系统的任意数量的边缘设备和/或核心设备,来分析视频流以及来用时间戳生成和/或存储元数据。可以使用云计算系统的任意数量的边缘设备和/或核心设备来用时间戳处理和存储相应的视频数据,边缘设备和/或核心设备中的一个或更多个可以不同于处理元数据的那些。在处理请求或查询中,可以使用时间戳从数据存储(例如,由核心设备和/或边缘设备)检索对应的元数据和视频数据,并且可以由边缘设备、核心设备和/或客户端设备执行注释。其中视频数据是注释在云设备上,注释的视频可以提供给客户端设备用于显示。
附图说明
下面参考所附附图详细描述本发明的用于对视频流上的元数据进行按需注释的本系统和方法,其中:
图1是根据本公开的一些实施例的视频注释系统的示例的图;
图2A是根据本公开的一些实施例的示例视频流的图示;
图2B是根据本公开的一些实施例的用叠加呈现的可以对应于图2A的视频流的示例注释的视频流的图示;
图3是示出根据本公开的一些实施例的可以用于使用查询来请求视频注释的界面的示例的图;
图4是示出根据本公开的一些实施例的可以用于请求和观看视频注释的界面的示例的图;
图5是示出根据本公开的一些实施例的可以用于请求和观看视频注释的界面的示例的图;
图6是示出根据本公开的一些实施例的涉及客户端设备和云计算系统的通信的示例的流程图,其中边缘设备检索元数据和视频数据以生成视频流的叠加;
图7是示出根据本公开的一些实施例的涉及客户端设备和云计算系统的通信的示例的流程图,其中云计算系统检索和发送用于在视频流上生成叠加的元数据;
图8是示出根据本公开的一些实施例的涉及客户端设备和云计算系统的通信的示例的流程图,其中客户端设备检索用于叠加在视频流上的元数据;
图9是示出根据本公开的一些实施例的生成视频叠加的方法的流程图,边缘设备可以使用该方法来检索用于生成视频流的叠加的元数据和视频数据;
图10是示出根据本公开的一些实施例的生成视频叠加的方法的流程图,云计算系统可以使用该方法来检索和发送用于生成视频流的叠加的元数据;
图11是示出根据本公开的一些实施例的生成视频叠加的方法的流程图,客户端设备可以使用该方法来检索用于生成视频流的叠加的元数据;
图12是适合用于实现本公开的一些实施例的示例计算设备的框图;
图13是适合用于实现本公开的一些实施例的示例数据中心的框图。
具体实施方式
公开了涉及按需将元数据叠加在视频流上以用于智能视频分析的系统和方法。公开了可以将视频流的视频数据和视频流的元数据存储在单独的数据存储中(例如,在不同的云设备上)的系统和方法,其中时间戳将视频流的帧与元数据的对应部分相关联。在处理观看用元数据注释的视频流的请求时,时间戳可用于跨数据存储检索相关帧和元数据,并且元数据可用于生成帧的叠加以供观看。
可以使用各种不同的系统来实现所公开的实施例,例如汽车系统、机器人、航空系统、航船系统、智能区域监控、模拟和/或其他技术领域。所公开的方法可用于任何基于感知或更一般地基于图像的分析、监视和/或对象和/或环境的跟踪。
对于智能区域监控,可以将各种公开的实施例并入于2019年3月26日提交的标题为“使用人工智能进行智能区域监控(Smart Area Monitoring with ArtificialIntelligence)”的美国非临时申请第16/365,581号中描述的系统和/或方法中,其通过引用整体并入本文。
与常规系统相比,可以响应于请求生成视频的注释版本,其中请求提供(例如,隐式地、显式地或固有地)一个或更多个时间戳,其用于检索相关视频数据和在视频分析过程中生成的相应元数据。结果,可以使用与请求(例如,只注释人,不注释其他对象,颜色代码书包、标记车辆牌照等)相关的并且对应于由检索到的视频数据表示的帧中所描绘的内容的元数据来注释使用时间戳检索的视频数据(例如,仅从下午1点到下午4点的视频)。
在一些示例中,请求可以由客户端设备提供给云计算系统。例如,云计算系统的核心设备可以接收请求。当要用于注释的视频数据和/或元数据的一个或更多个部分位于核心网络中时,核心设备可以检索该部分并(直接或间接地)将数据提供给用于生成视频数据的一个或更多个叠加的视频注释器(例如,边缘设备和/或客户端设备)。
要用于注释的视频数据和/或元数据的一个或更多个部分可以附加地或替代地位于核心网络的外部,例如位于云计算系统的一个或更多个边缘设备和/或外部存储系统处(例如,在可以在外部云存储系统上实现的远程网络或视频管理系统上)。在这些情况下,核心设备可以为其他设备提供足够的信息来检索所请求的数据。
在一些非限制性实施例中,用于注释的数据可以跨任何数量的设备、系统和/或位置分布,而注释可以发生在单个设备、系统和/或位置。在一些示例中,使用检索到的信息来注释视频的设备、系统和/或位置将注释的数据发送(例如,流传输)到客户端设备以在其上显示。
例如,如果视频数据的一部分位于边缘设备处和/或由边缘设备管理,则核心设备可以提供一个或更多个时间戳,边缘设备可以使用该时间戳来检索相应的视频数据。在一些示例中,核心设备可以使用索引和/或搜索系统来定位适当的边缘设备。然后,边缘设备可以将视频数据的检索到的部分提供给客户端设备、核心设备和/或执行注释的另一个边缘设备。在其他示例中,检索视频数据的边缘设备可以执行注释。
类似地,如果元数据的一部分位于边缘设备处和/或由边缘设备管理,则核心设备可以提供一个或更多个时间戳,边缘设备可以使用该时间戳来检索相应的元数据。此外,可以提供一个或更多个元数据标准(例如,属性的标识和/或元数据的其他指示符)(例如,描述帧中人物对象的元数据的指示符、描述蓝色皮卡车的元数据等)。在一些示例中,核心设备可以使用索引和/或搜索系统基于时间戳和/或元数据标准或指示符来定位适当的边缘设备。例如,找到“下午2点到下午2点30分之间在车库摄像机上蓝色皮卡车”的请求或查询可能会导致用时间戳检索对应于下午2点到下午3:30之间的时间范围的元数据,但只有该时间戳范围内包括归类为蓝色皮卡车的对象的元数据部分(元数据的其他部分可能存储在相同或不同的元数据存储中)。然后,边缘设备可以将元数据的检索到的部分提供给客户端设备、核心设备和/或执行注释的另一个边缘设备。在其他示例中,检索元数据的边缘设备可以执行注释。
因此,可以接收指定或以其他方式指示用于识别视频流的多个帧之一的时间戳的请求。每个时间戳可以对应于视频流的一帧(例如,具有30fps的帧率的视频流可以具有带有时间戳的第一帧并且随后的帧可以具有33ms之后的时间戳)。存储视频流的视频数据的设备和/或系统(例如,边缘设备)可以存储索引的或以其他方式与时间戳相关联的视频数据(例如,本地,例如现场或远程到外部位置),例如在生成视频数据时实时进行。在一些示例中,设备(例如,边缘设备)可以是捕获视频流的摄像机,并且共享地理位置中的摄像机可以将对应的视频流存储到公共存储系统。
可以跨云计算系统的设备实现时间同步,以便跨云计算系统同步时间戳和视频数据。例如,存储和/或处理视频数据以用于存储的设备(例如,相机设备)可以连接到互联网协议(IP)网络并运行网络时间协议(NTP)守护进程,以与其他连接的设备同步时间并确定传入的视频数据的同步时间戳)。当视频数据被处理和/或生成时,时间戳可以与相应的帧相关联以用于存储。
类似地,分析、存储和/或生成视频流的用于注释的元数据的设备和/或系统(例如,边缘设备)可以将元数据与时间戳相关联,使得元数据被索引或以其他方式与存储(例如,本地存储,例如现场或在外部位置处远程地)中的时间戳相关联。用于视频数据的时间同步系统可以类似地在用于元数据的设备上实现。这也可以在生成、接收和/或分析视频数据时实时地发生。在一些示例中,从视频数据分析和生成元数据的设备(例如,边缘设备)可以是生成或捕获视频数据的相同设备(或共享地理位置中的设备),例如捕获视频流的摄像机。共享地理位置中的摄像机可以将视频流的相应元数据存储到公共存储系统中。
当分析视频流数据时(例如,分析引擎执行对象跟踪、面部识别、对象分类等),可以创建指示所执行的分析过程的结果的元数据。可以关于在视频的一个或更多个帧中识别的对象或方面来生成元数据。例如,元数据可以表示对象的包围盒的位置和/或尺寸(例如,几何形状,其位置和尺寸可以逐帧改变,指示对对象的时间跟踪)和/或可以表示视频中已识别出的对象的其他属性。元数据可以表示视频帧的任何可检测方面,例如视频帧的视觉特征。元数据的每个部分可以与视频数据的帧相关联,例如通过使用与元数据的该部分描述的视频帧同步的时间戳。
因此,与常规系统相比,匹配视频数据的时间戳和元数据可以实现跨多个设备和/或位置存储每个的能力。视频流的视频数据可以驻留在一个或更多个视频数据存储中,该视频数据存储可以位于与驻留在一个或更多个元数据存储中的元数据不同的位置(例如,地理位置)或设备中。这可以使视频流的视频分析和元数据生成与视频存储解耦合,从而在如何实现分布式计算架构方面提供显著的灵活性。例如,视频数据存储和/或视频生成可以位于边缘设备上,而元数据存储和/或元数据生成和视频分析可以位于云计算系统的核心设备或其他边缘设备上。元数据存储可以与视频数据存储位于同一位置,也可以驻留在别处,因为存储的视频数据的时间戳与相应存储的元数据的时间戳同步。
可以使用检索到的视频数据和检索到的元数据来构建对视频的一个或更多个叠加,以显示具有元数据的视觉指示的视频帧的版本。由于检索到的元数据可能限于反映请求的元数据,因此在生成的叠加中可以仅反映所指示的或以其他方式与请求相关的元数据。生成的叠加层可以被烘焙到视频帧中或者与相应的视频数据一起发送和/或与相应的视频数据相关联地发送,以与视频数据一起显示。因此,与常规系统相比,视频流的副本不需要针对每种类型的注释或每组注释被存储预处理、预注释和预标记。作为本文描述的系统和方法的一些实施例的结果,在支持要为视频流生成的多种叠加的同时,可以减少置于IVA系统上的存储需求。
参考图1,图1是根据本公开的一些实施例的视频注释系统100的示例系统图。应当理解,本文描述的这种和其他布置仅作为示例阐述。除了或代替所示的那些,还可以使用其他布置和元件(例如,机器、接口、功能、顺序、功能分组等),并且可以完全省略一些元件。此外,本文描述的许多元件是功能实体,它们可以被实现为离散或分布式组件或与其他组件结合,并且以任何合适的组合和位置来实现。本文描述为由实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。
视频注释系统100可包括客户端设备102、云计算系统108、边缘设备104和/或核心设备106等。在任何示例中,可以有任意数量的客户端设备102、边缘设备104和/或核心设备106。可以使用一个或更多个计算设备实现视频注释系统100(及其组件和/或特征),例如下面更详细地描述的图12的计算设备1200。
客户端设备102可以包括智能电话、膝上型计算机、平板计算机、台式计算机和/或能够请求和/或呈现带注释的视频流(例如带注释的视频流140)的另一种类型的设备。作为示例而非限制,客户端设备102可以体现为个人计算机(PC)、膝上型计算机、移动设备、智能电话、平板计算机、智能手表、可穿戴计算机、个人数字助理(PDA)、MP3播放器、虚拟现实头戴式显示装置、全球定位系统(GPS)或设备、视频播放器、虚拟机、摄像机、监控设备或系统、娱乐系统、车辆计算机系统、嵌入式系统控制器、遥控器、电器、消费电子设备、工作站、边缘设备、这些描述的设备的任何组合,或任何其他合适的设备。
客户端设备102可以包括注释请求器122B、元数据存储118C、视频注释器120C、通信管理器136C和呈现管理器138。虽然只有客户端设备102的少数组件和/特征在图1中示出,但这不意图是限制性的。例如,客户端设备102可以包括附加的或替代的组件,例如关于图12的计算设备1200描述的那些。
云计算系统108可以包括一个或更多个边缘设备104、一个或更多个核心设备106和/或一个或更多个网络110B。尽管图1中仅示出了云计算系统108的少数组件和/或特征,但这不意图是限制性的。例如,云计算系统108可以包括附加的或替代的组件,例如下面关于图12的计算设备1200描述的那些。在至少一个实施例中,云计算系统108可以至少部分地在图13的数据中心1300中实现。
边缘设备104可以包括具有一个或更多个视频管理器112和一个或更多个视频数据存储116的视频管理系统150、一个或更多个流分析器114、一个或更多个元数据存储118A,和/或一个或更多个通信管理器136A。尽管在图1中仅示出了边缘设备104的少数组件和/或特征,但这不意图是限制性的。例如,边缘设备104可以包括附加的或替代的组件,例如关于图12的计算设备1200描述的那些。
视频注释系统100的组件可以通过网络110A和110B(本文统称为或单独称为“网络110”)进行通信。网络110可以包括广域网(WAN)(例如,互联网、公共交换电话网(PSTN)等)、局域网(LAN)(例如,Wi-Fi、ZigBee、Z-Wave、蓝牙、低功耗蓝牙(BLE)、以太网等)、低功耗广域网(LPWAN)(例如LoRaWAN、Sigfox等)、全球导航卫星系统(GNSS)网络(例如,全球定位系统(GPS))和/或其他网络类型。在任何示例中,视频注释系统100的每个组件可以经由网络110中的一个或更多个网络与其他组件中的一个或更多个组件通信。在一些示例中,网络110B包括云计算系统108的一个或更多个核心和/或边缘网络,网络110A包括因特网。
视频管理器112可以包括用于管理视频流数据的一个或更多个组件和特征。视频管理器112可以使用一个或更多个边缘设备104来实现或实例化。在至少一些实施例中,视频管理器112可以至少部分地使用视频或成像设备(例如,相机设备、传感器设备等)来实例化。视频管理器112可以将视频流数据存储在一个或更多个视频数据存储116中,使得使用与视频流数据的帧相关联的时间戳指示跨任意数量的设备同步视频流数据。例如,视频管理器112可以连接到互联网协议(IP)网络并运行网络时间协议(NTP)守护进程以跨云计算系统与其他连接设备(例如,其他视频管理器112和/或一个或更多个流分析器114,用于将元数据存储在一个或更多个元数据存储118中)同步时间。作为示例,视频管理器可以处理和/或生成具有与视频的相应帧相关联的时间戳的视频。具有相关联的时间戳的视频数据可以被存储在视频管理器112的边缘设备104上的一个或更多个视频数据存储116A中或者存储在可以位于任意数量的连接的边缘设备104或客户端设备102上(或在云计算系统108外部的云计算系统上)的一个或更多个视频数据存储116中。
在至少一些实施例中,视频管理器112可以包括视频流服务器,例如实时流协议(RTSP)服务器,其可以用于建立和控制视频注释系统100的各个端点中任意端点之间的媒体会话。例如,视频注释器120可以与流服务器通信,以便接收用于注释的图像数据和/或视频数据(例如,使用表述性状态转移应用程序接口)。在各种示例中,可以通过开放网络视频接口论坛(ONVIF)桥在设备之间提供通信,ONVIF桥可以定义软件应该如何向设备查询其名称、设置、流等的规则。ONVIF“呼叫”或消息可以被发送到符合ONVIF的设备,并且设备可以返回RTSP地址,以经由RTSP服务器检索相应的视频和/或图像数据。在一些实施例中,视频管理器112还可以使用RTSP通信向流分析器114提供视频数据。
流分析器114可以包括用于分析视频流数据的一个或更多个组件和特征(例如,执行对象跟踪、面部识别、对象分类等的分析引擎)。
流分析器114可以被配置为接收和处理视频数据。例如,流分析器114可以从视频管理器112和/或从视频数据存储116接收视频数据。流分析器114可以被配置为处理视频数据以检测来自视频数据的对象,例如在视频流的一个或更多个帧中描绘的对象。流分析器可以被配置为确定对象属性,例如可以使用流分析器114检测到的对象的属性。流分析器114可以被配置为跟踪在视频数据中表示的对象。在存在多个流分析器114的实施例中,不同的流分析器114可以对视频数据执行不同的分析过程并且可以使用不同的分析过程生成不同的元数据。例如,一个流分析器114可以使用一个或更多个机器学习模型(MLM)来检测视频帧中的车辆和/或车辆位置,并将相应的元数据存储在元数据存储118中。另一个流分析器114可以使用一个或更多个MLM提取检测到的车辆的特征并将相应的元数据存储在元数据存储118中。又一流分析器114可以使用一个或更多个MLM来检测视频帧中的行人和/或行人位置并将相应的元数据存储在元数据存储118中。这些流分析器114可以串行和/或并行地对相同或不同的视频流进行操作。如本文所述,MLM可以使用(例如图13的数据中心1300的)一个或更多个GPU和/或vGPU来实现。
流分析器114可以包括用于生成元数据的一个或更多个组件和特征。可以关于在视频流数据的一个或更多个帧中识别出的对象或方面来生成元数据。例如,元数据可以表示对象的包围盒的位置和/或尺寸(例如,几何形状,其位置和尺寸可以逐帧改变,指示对象的时间跟踪)和/或可以表示视频中已识别出的对象的其他属性。流分析器114生成的元数据可以表示视频帧的任何可检测方面,例如视频帧的视觉特征。流分析器114可以使用时间戳生成可以与视频数据的帧相关联的元数据。例如,流分析器114可以为具有特定时间戳的视频数据帧生成元数据,并且可以通过将该元数据与该时间戳相关联来同步帧和元数据。作为示例,与元数据相关联的时间戳可以源自视频流数据和/或可以源自流分析器114(例如,通过IP网络、NTP守护进程等)。在各个示例中,视频数据和元数据的时间戳可以跨视频管理器112和流分析器114中的每一个同步(例如,使用相同的时间同步系统或方法)。流分析器114可以向一个或更多个元数据存储118发送已与时间戳相关联的为每一帧(例如,具有时间戳)生成的元数据以用于存储在其中。
元数据存储118A、元数据存储118B和元数据存储118C(本文统称为或单独称为“元数据存储118”)可以位于边缘设备104、核心设备106和/或客户端设备102上。在一些非限制性实施例中,用于注释的元数据可以分布在跨任意数量的设备、系统和/或位置的任意数量的元数据存储118中。例如,对应于视频流的元数据可以位于边缘设备104上的元数据存储118A和一个或更多个核心设备106上的元数据存储118B的组合上。元数据可以基于任意数量的方法在一个或更多个元数据存储118上被索引,这些方法可以包括但不限于元数据的时间戳、元数据描述的对象的分类、生成元数据的位置、相关视频数据的属性或任何方法的组合。作为示例,描述在相应视频数据中描绘的车辆对象的元数据可以被索引并位于第一元数据存储中,而描述人物对象的元数据可以被索引并位于第二元数据存储中。
注释请求器122A和注释请求器122B(本文统称为或单独称为“注释请求器122”)可以生成请求,其中该请求提供用于检索相应视频数据的一个或更多个时间戳(例如,仅下午1点到4点的视频)以及在视频分析过程中生成的相应元数据。例如,注释请求器112可以生成请求,该请求被发送到一个或更多个视频注释器120,如本文所述,其可以使用所提供的时间戳来从一个或更多个视频数据存储116中检索视频数据并从一个或更多个元数据存储118中检索元数据。例如,请求可以指示与多个视频数据存储116之一中的视频数据相对应的隐式或显式时间戳。注释请求器122还可以生成提供与一个或更多个元数据存储118中的元数据相对应的元数据(例如,仅指示人而不是其他对象的元数据、描述车辆的元数据等)的一个或更多个标准或指示符的请求。在一些示例中,可以响应于可以从其确定(例如,搜索时间窗口内的对象以找到描绘对象的帧)一个或更多个时间戳的查询来生成请求。在一些示例中,可以在无需用户提供查询的情况下预先确定或以其他方式导出请求。例如,云计算系统108的一个或更多个设备可以包括用于使用WebRTC提供带注释的视频数据的媒体服务器。云计算系统108的一个或更多个设备还可以提供视频管理系统API,其可以用于请求带注释的视频数据。
在实施例中,注释请求器122和/或呈现管理器138可以与云计算系统108的一个或更多个设备通信,以使用REST API和/或Web实时通信(WebRTC)API来请求和/或呈现带注释的视频数据。
视频数据存储116可以位于一个或更多个边缘设备104上。在一些非限制性实施例中,视频数据可以分布在跨任意数量的设备、系统和/或位置的任意数量的视频数据存储116中。例如,对应于一个或更多个视频流的视频数据可以位于多个边缘设备104上的视频数据存储116的组合上。来自视频流的视频可以基于任意数量的因素在一个或更多个视频数据存储116中被索引,这些因素可以包括但不限于视频数据的时间戳、视频流的源、视频数据的属性或其任何组合。作为示例,从第一相机或成像设备生成的视频数据可以被索引并位于第一视频数据存储116中,而从第二相机或成像设备生成的视频数据可以被索引并位于第二视频数据存储116中。
视频注释器120A和视频注释器120C(在本文中共同或单独地称为“视频注释器120”)可以被配置为生成与视频数据的帧相关联的叠加数据(例如,使用一个或更多个GPU和/或vGPU)。视频注释器120可以使用来自一个或更多个元数据存储118的元数据和来自一个或更多个视频数据存储116的视频数据来构建对视频帧的一个或更多个叠加。在一些示例中,叠加数据可以被合并到与视频数据相关联的视频帧中并且可以采用元数据的视觉指示的形式(例如,包围盒、包围形状、颜色高亮、视频帧的像素的改变等等)。在其他示例中,叠加数据可以与相应的视频数据一起和/或以其他方式与相应的视频数据相关联地发送到一个或更多个客户端设备102上的呈现管理器138,以与视频数据一起显示。如示例所示,叠加数据可以表示包围盒144或用于注释相应视频数据的其他视觉指示符。在各个示例中,叠加数据可以包括表示至少一个或更多个视觉指示符的图像数据并且可以或可以不与正被注释的视频数据一起存储。
在各个实施例中,视频注释器120可以从注释请求器122接收一个或更多个请求,其指示元数据的一个或更多个时间戳和指示。元数据的时间戳和指示可用于从元数据存储118和视频数据存储116中检索相关视频数据和元数据。在一些实施例中,仅可从元数据存储118中检索反映请求的元数据,并且只有被指示或以其他方式与该请求相关的元数据可以反映在由视频注释器120生成的叠加中。在一些示例中,在生成的叠加中反映的元数据可以是从元数据存储118检索的元数据的子集。
通信管理器136A、通信管理器136B和通信管理器136C(在本文中统称为或单独称为“通信管理器136”),可以包括用于跨一个或更多个网络(例如网络110)进行通信的一个或更多个组件和特征。通信管理器136可以被配置为经由本文所述的任意数量的网络110进行通信。例如,为了在图1的视频注释系统100中进行通信,客户端设备102可以通过路由器使用以太网或Wi-Fi连接来访问互联网,以便与边缘设备104、核心设备106、其他客户端设备102和/或云计算系统108内的任何其他设备通信。在一些示例中,云计算系统108的核心设备106和边缘设备104可以与位于云计算系统108内的其他核心设备106和/或边缘设备104通信。
通信管理器136可以被配置为管理由其各自的系统接收的通信(例如,请求、查询、视频数据和/或元数据、叠加数据等)和/或由各自的系统提供的通信(例如,请求、视频数据和/或元数据、叠加数据等),例如在客户端设备102、边缘设备104、核心设备106和/或可以被包括在视频注释系统100中的其他组件的任何一个中。另外或替代地,通信管理器136可以管理各自系统内的通信。
客户端设备102的呈现管理器138可以包括一个或更多个组件和特征,用于管理视频流的帧的呈现,例如带注释的视频流140的帧140A。带注释的视频流140的帧可以在视频数据中表示并且可以与叠加数据相关联。例如,呈现管理器138可以管理从视频注释器120发送的叠加数据的呈现,其中可以将叠加数据合并到与元数据的视觉指示相关联的视频帧中(例如,视频数据中)。在一些示例中,呈现管理器138可以使用视频数据和叠加数据的组合来呈现和生成带注释的视频流140的帧。
现在参考图2A,图2A是根据本公开的一些实施例的示例视频流200的图示。视频流200的帧202可以包含任何数量的对象,例如可以由图1的流分析器114跟踪、分类、检测和/或识别的对象210、220和230(例如,跟踪移动对象、颜色检测、面部识别、来自车辆牌照等的文本)以从中提取元数据。
现在参考图2B,图2B是根据本公开的一些实施例的可以对应于图2A的呈现为具有叠加的视频流200的带注释的视频流140的示例的图示。带注释的视频流140的帧,例如帧140A,可以采用由被合并到视频数据中和/或作为元数据提供的叠加数据表示的可视化呈现。例如,由图1的视频注释器120提供的叠加数据可以由图1的呈现管理器138使用,以呈现具有对应于元数据的可视化(诸如包围盒144和文本信息232)的带注释的视频流140的一个或更多个帧。虽然示出了包围盒144和文本信息232,但可视化可以被呈现为几何形状、边界、文本数据、颜色和/或元数据的任何其他合适的视觉指示。
现在参考图3,图3是示出根据本公开的一些实施例的可以用于使用查询来请求和可视化视频注释的界面300的示例的图。用户可以使用界面300来使客户端设备102请求带注释的视频,例如通过使用图1的注释请求器122提供查询以使得生成带注释的视频。作为特定且非限制性的示例,该查询可以要求找到在过去7天内在一个或更多个视频流中识别出的所有蓝色车辆。用户可以使用任意数量的方法向界面300提供查询。例如,用户可以向搜索栏320和/或时间间隔选择器310提供查询和/或用于生成查询的信息的一个或更多个部分。响应于查询,界面300可以提供显示330,其指示满足查询的视频数据和相关联的元数据(例如,作为查询结果)。例如,显示器330可以显示在哪些天(或其他时间间隔)和在哪些时间(例如,对应于开始时间、结束时间等)已经找到了在视频流数据中已识别出蓝色车辆(例如,如元数据所指示)的查询结果。查询结果可以包括视频剪辑和/或时间指示符,其能够回放对应于查询结果的视频流的至少一部分。在一些示例中,界面300可以在视频显示区域340中显示生成的带注释的视频(例如,基于对查询结果指示符332的选择)。界面300还可包括允许用户控制视频显示区域340的回放的视频控件350。
现在参考图4,图4是示出根据本公开的一些实施例的可以用于请求和观看视频注释的界面400的示例的图。用户可以使用界面400来观看带注释的视频和相关信息。例如,用户可以使用界面400在视频显示区域410中观看生成的带注释的视频。界面400可以包括视频控件420A、420B、420C、420D和/或420E,其允许用户控制视频显示区域410的回放。在各种示例中,用户可以使用视频控件420A、420B、420C、420D和/或420E中的一个或更多个来提供对带注释的视频数据的请求或查询。
在一些示例中,视频显示区域410可以呈现检测到的对象(例如对象210)的视频。在一些示例中,视频显示区域410可以呈现响应于从图1的注释请求器122发送的请求和/或查询而生成的叠加数据。如本文所述,叠加数据可以以多种方式可视化,例如包围形状440或其他指示符,其可以在视觉上强调在视频流中识别出的并由关联的元数据捕获的对象。在一些示例中,对应于视频流中的对象的信息可以从元数据存储118的一个或更多个中检索并且可以被提供给视频注释器120以用于生成带注释的视频数据。带注释的视频数据可由视频注释器120提供给呈现管理器138,以在界面400上显示该带注释的视频数据。如本文所述,呈现管理器138可接收烘焙到视频数据的帧中的叠加数据的一个或更多个部分,和/或叠加数据的一个或更多个部分可以是用于生成可视化的元数据的形式。作为示例,元数据可用于生成可与视频显示区域410分离或包括在视频显示区域410中的文本信息450。
现在参考图5,图5是根据本公开的一些实施例的示出可以用于请求和观看视频注释的界面400的示例的图。图5的界面400可以类似于图4的界面400,但来自车辆视图而不是走廊视图。例如,用户可能已经使用视频控件420E来选择对象210的车辆视图,而不是图4中的走廊视图。作为示例而非限制,包围盒144显示在对象210周围。可为其他请求的对象显示包围盒,例如具有包围盒544的车辆510。同样作为示例而非限制,文本信息450的至少一部分被示为在对应于包围盒144的位置的位置处显示。
现在参考图6,图6是根据本公开的一些实施例的示出涉及客户端设备和云计算系统的通信的示例的流程图,在其中边缘设备检索元数据和视频数据以用于生成视频流的叠加。应当理解,本文描述的这种和其他布置仅作为示例提出。在高级别,通信600可以涉及客户端设备102、注释请求器122、元数据存储118、视频管理系统150、视频管理器112、视频数据存储116和/或在一个或更多个边缘设备104上执行和/或使用一个或更多个边缘设备104实例化的视频注释器120A中的一个或更多个。虽然某些数据被示为由客户端设备102和边缘设备104发送或接收,但这并不意味着所示的一个或更多个其他组件不能包括在客户端设备102和/或边缘设备104中。在示例中,任何数量的边缘设备104和/或核心设备106可以被用于实现通信600并且可以涉及设备之间的附加通信,这些未示出。
在一些示例中,通信600可以包括在一个或更多个设备之间发送时间戳数据610。例如,注释请求器122可以将时间戳数据610发送到位于边缘设备104上的视频注释器120A。时间戳数据610可以表示一个或更多个时间戳的任何指示,该一个或更多个时间戳可以用于识别视频流的一个或更多个帧。例如,时间戳数据610可以表示对应于视频流的帧的至少一个时间戳。作为另一示例,时间戳数据610可以表示用于导出或确定至少一个时间戳的信息。例如,该信息可以包括指示至少一个时间戳的请求类型和/或查询,或者可以包括被请求进行注释的视频流的开始时间戳。在一些示例中,时间戳数据610可以是来自客户端设备102的注释请求器122A的对带注释的视频的请求的一部分,如本文所述。例如,该请求可以指示用于注释的元数据、一个或更多个时间戳、一个或更多个视频流等。
在接收到从注释请求器122发送的时间戳数据610后,视频注释器120A可以使用时间戳数据610来生成表示一个或更多个请求的请求数据612,该请求可以被发送到元数据存储118,以便可以检索对应于时间戳数据610所指示的至少一个时间戳的元数据616。在一些示例中,该请求还可以基于包括在来自注释请求器122的请求中的元数据(例如,包括在请求中的一个或更多个属性)的指示。视频注释器120A还可以使用至少时间戳数据610来生成表示一个或更多个请求的请求数据614,该请求可以被发送到视频数据存储116,使得可以检索对应于至少一个时间戳的图像数据618(例如,视频数据)。请求数据612和614被示为被传送的顺序并非旨在进行限制。
在接收到从视频注释器120A发送的请求数据612后,元数据存储118可以检索对应于至少时间戳数据610的元数据616。元数据存储118可以存储索引的或以其他方式与时间戳数据610指示的至少一个时间戳相关联的元数据。元数据存储118可以进一步存储基于指示或元数据的其他属性(其可以包括在请求数据612中)索引的元数据。检索到的元数据616可以由元数据存储118发送到视频注释器120A。
在接收到从视频注释器120A发送的请求数据614后,视频管理系统150可以访问视频数据存储116,以检索与时间戳数据610所指示的至少一个时间戳相对应的图像数据618。视频数据存储116可以存储索引或以其他方式与至少一个时间戳相关联的图像数据618(或视频数据)。检索到的图像数据618可以由视频管理系统150发送到视频注释器120A。在各种示例中,请求数据614可以由视频管理器112接收并且图像数据618可以被检索并由视频管理器112从视频数据存储116提供。
在接收到从元数据存储118发送的元数据616和从视频管理系统150发送的图像数据618时,视频注释器120A可以使用元数据616和图像数据618生成叠加数据622。叠加数据622可以由视频注释器120A发送到一个或更多个客户端设备102,以供呈现管理器138显示。
现在参考图7,图7是根据本公开的一些实施例的示出涉及客户端设备和云计算系统的通信的示例的流程图,其中云计算系统检索和发送元数据以在视频流上生成叠加。应当理解,本文描述的这种和其他布置仅作为示例提出。在高级别,通信700可以涉及位于客户端设备102上的注释请求器122B和呈现管理器138。通信700还可以涉及元数据存储118、视频管理系统150、视频管理器112、视频数据存储116、视频注释器120和云计算系统108。虽然某些数据被示为由客户端设备102和云计算系统108发送或接收,但这并不意味着所示的一个或更多个其他组件不能包括在客户端设备102和/或云计算系统108中。在示例中,任何数量的边缘设备104和/或者核心设备106可以用于实现通信700并且可以涉及设备之间的附加通信,这些未示出。
在一些示例中,通信700可以包括在一个或更多个设备之间发送时间戳数据710。例如,注释请求器122B可以将表示一个或更多个时间戳的时间戳数据710发送到云计算系统108。时间戳数据710可以类似于关于图6描述的时间戳数据610。
在接收到从注释请求器122B发送的时间戳数据710后,云计算系统108可以使用时间戳数据710来生成请求数据712,该请求数据712可以被发送到元数据存储118,以便可以检索对应于至少一个时间戳的元数据714。请求数据712可以类似于图6的请求数据612。
在接收到从云计算系统108发送的请求数据712后,元数据存储118可以检索对应于时间戳数据710的元数据714。元数据存储118可以存储索引的或以其他方式与至少一个时间戳相关联的元数据。元数据存储118还可以存储基于指示和/或元数据的其他属性索引的元数据,该元数据的其他属性可以由来自客户端设备102的用于注释的请求指示。检索到的元数据714可以由元数据存储118发送到云计算系统108。
在接收到从元数据存储118发送的元数据714后,云计算系统108可以将元数据716和时间戳数据718发送到视频注释器120。视频注释器120可以位于例如边缘设备104或核心设备106上。时间戳数据718可以对应于时间戳数据710。例如,时间戳数据718可以指示由时间戳数据710指示的至少一个时间戳。
在从云计算系统108接收到时间戳数据718时,视频注释器120可以生成表示一个或更多个请求的请求数据720,该请求可以发送到视频数据存储116和/或视频管理器112,以便可以检索对应于时间戳数据718的图像数据722。
在从视频注释器120接收到请求数据720后,视频管理系统150可以访问视频数据存储116以检索与时间戳数据718指示的至少一个时间戳相对应的图像数据722。视频数据存储116可以存储索引的或与以其他方式与至少一个时间戳相关联的图像数据722。检索到的图像数据722可以由视频管理系统150发送到视频注释器120。
在接收到图像数据722和元数据716之后,视频注释器120可以生成叠加数据726,其可以类似于图6的叠加数据622。叠加数据726可以由视频注释器120发送到客户端设备102以供呈现管理器138呈现。
现在参考图8,图8是根据本公开的一些实施例的示出涉及客户端设备和云计算系统的通信的示例的流程图,在云计算系统中,客户端设备检索用于叠加在视频流上的元数据。应当理解,本文描述的这种和其他布置仅作为示例提出。在高级别,通信800可以涉及位于客户端设备102上的注释请求器122B和呈现管理器138。通信800可以进一步涉及元数据存储118、视频注释器120、以及云计算系统108,其具有视频管理系统150、视频管理器112和视频数据存储116A。虽然某些数据被示为由客户端设备102和云计算系统108发送或接收,但这并不意味着所示的一个或更多个其他组件不能包括在客户端设备102中和/或云计算系统108。在示例中,可以使用任意数量的边缘设备104和/或核心设备106来实现通信800并且可以涉及设备之间的附加通信,这些未示出。
在一些示例中,通信800可以包括在一个或更多个设备之间发送时间戳数据810。例如,注释请求器122B可以将时间戳数据810发送到云计算系统108。时间戳数据810可以表示至少一个时间戳,并且可以由云计算系统108的视频管理系统150用来从云计算系统108的视频数据存储116A检索相应的图像数据812。在各种示例中,时间戳数据810可以类似于图7的时间戳数据710(例如,在对注释的请求中接收到的)。
在接收到从注释请求器122B发送的时间戳数据810后,云计算系统108的视频管理系统150可以使用时间戳数据810从对应于时间戳数据810的视频数据存储116检索图像数据812。视频数据存储116A可以位于边缘设备104和/或核心设备106中的一个或更多个上。例如,时间戳数据810可以由核心设备106接收,并且图像数据812可以由相同或不同的核心设备106和/或边缘设备104检索。视频数据存储116可以存储被索引的或以其他方式与时间戳数据810所指示的至少一个时间戳相关联的图像数据812。检索到的图像数据812可以由视频管理系统150发送到注释请求器122B。
在一些示例中,注释请求器122B可以将表示至少一个时间戳的时间戳数据814发送到元数据存储118,从而可以检索对应于至少一个时间戳的元数据816。时间戳数据814还可以具有一个或更多个标准或属性指示符,其用于识别或选择要从元数据存储118检索的元数据816。在元数据存储118位于云计算系统108上的实施例中,时间戳数据814可以不被发送到元数据存储118,因为时间戳数据810可能就足够了。在元数据存储118包括位于客户端设备102上的元数据存储118C的示例中,时间戳数据814的发送可以至少部分地在客户端设备102内。
在进一步的示例中,注释请求器122B可以将图像数据818发送到视频注释器120。注释请求器122B可以附加地将元数据820发送到视频注释器120。图像数据818可以对应于(例如,包括)图像数据812以及元数据820可以对应于(例如,包括)元数据816。在视频注释器120对应于客户端设备102的视频注释器120C的实施例中,元数据820和图像数据818可以至少部分地在客户端设备102内发送。在视频注释器120位于云计算系统108上的实施例中,时间戳数据820和/或图像数据818可以不被发送到视频注释器120,因为元数据816和图像数据812可能就足够了。
使用图像数据818和元数据820,视频注释器120可以生成叠加数据822,其可以类似于图7的叠加数据726。叠加数据822可以由视频注释器120发送到位于客户端设备102上的呈现管理器138。
现在参考图9,方法900的每个框以及本文描述的其他方法包括可以使用硬件、固件和/或软件的任何组合来执行的计算过程。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。该方法还可以体现为存储在计算机存储介质上的计算机可用指令。该方法可以由独立应用程序、服务或托管服务(独立地或与另一托管服务组合)或另一产品的插件提供,仅举几例。此外,通过示例的方式,关于图1和图6的系统描述了方法900。然而,该方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文描述的那些。
图9是根据本公开的一些实施例的示出用于生成视频叠加的方法900的流程图,边缘设备可以使用该方法来检索元数据和视频数据以生成视频流的叠加。在框B902,方法900包括接收一个或更多个时间戳和元数据的至少一个指示符。例如,视频注释器120A可以接收指示一个或更多个时间戳的时间戳数据610,并且还可以从注释请求器122接收元数据616的指示符。
在框B904,方法900包括使用一个或更多个时间戳检索表示一个或更多个帧的图像数据。例如,视频注释器120A可以使用时间戳来请求图像数据618,所述图像数据618表示来自一个或更多个视频数据存储116的一个或更多个帧。视频数据存储116可以使用一个或更多个设备来执行和/或实例化。例如,可以使用一个或更多个边缘设备104、核心设备106和/或客户端设备102来执行和/或实例化视频数据存储116。
在框B906,方法900包括基于元数据的至少一个指示符使用一个或更多个时间戳来检索元数据。例如,视频注释器120A基于一个或更多个时间戳和元数据616的至少一个指示符从一个或更多个元数据存储118请求元数据616。元数据存储118可以位于一个或更多个更多设备上。例如,元数据存储118可以位于一个或更多个边缘设备104、核心设备106和/或客户端设备102上。
在框B908,方法900包括生成表示一个或更多个叠加的图像数据。例如,视频注释器120A可以使用从一个或更多个元数据存储118检索的元数据616和来自一个或更多个视频数据存储116的图像数据618来生成叠加数据622,其可以包括表示叠加的图像数据。
在框B910,方法900包括发送表示一个或更多个叠加的图像数据。例如,视频注释器120A可以将包括表示一个或更多个叠加的图像数据的叠加数据622发送到客户端设备102。
图10是根据本公开的一些实施例的示出用于生成视频叠加的方法1000的流程图,云计算系统可以使用该方法1000来检索和发送用于生成视频流的叠加的元数据。方法1000以示例的方式参照图1和图7的系统来描述。然而,该方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文描述的那些。
在框B1002,方法1000包括接收指示一个或更多个时间戳和元数据的请求。例如,云计算系统108可以接收时间戳数据810,其可以被包括在来自注释请求器122B的请求中。该请求可以包括表示一个或更多个时间戳和元数据816的指示符的数据。在一些示例中,注释请求器122B可以位于客户端设备102上或者可以对应于位于云计算系统108的一个或更多个核心设备106或边缘设备104上的注释请求器122。
在框B1004,方法1000包括使用一个或更多个时间戳检索元数据。例如,视频注释器120可以使用时间戳数据710来使用请求数据712从一个或更多个元数据存储118请求元数据714。在一些示例中,元数据存储118可以位于一个或更多个设备上。例如,元数据存储118可以位于一个或更多个边缘设备104、核心设备106和/或客户端设备102上。
在框B1006,方法1000发送表示元数据和一个或更多个时间戳的数据,以使至少一个远程设备检索表示一个或更多个帧的图像数据并生成表示一个或更多个叠加的图像数据。例如,可以使用云计算系统108的组件来执行或实例化的视频注释器120可以将时间戳数据718和元数据716发送到视频注释器120,从而使得视频注释器120从一个或更多个视频数据存储116检索图像数据722并生成叠加数据726,该叠加数据726可以包括表示一个或更多个叠加的图像数据。在一些示例中,可以使用一个或更多个设备来执行或实例化元数据存储118。例如,可以使用一个或更多个边缘设备104、核心设备106和/或客户端设备102来执行或实例化元数据存储118。此外,可以使用一个或更多个设备来执行或实例化视频数据存储116。例如,可以使用一个或更多个边缘设备104、核心设备106和/或客户端设备102来执行或实例化视频数据存储116。
图11是根据本公开的一些实施例的示出用于生成视频叠加的方法1100的流程图,客户端设备可以使用该方法来检索用于生成视频流的叠加的元数据。例如,参照图1和图8的系统描述方法1100。然而,该方法可以附加地或替代地由任何一个系统或系统的任何组合来执行,包括但不限于本文所述的那些。在框B1102,方法1100包括发送一个或更多个时间戳和元数据的至少一个指示符。例如,使用客户端设备102执行或实例化的注释请求器122B可以向云计算系统108发送包括时间戳数据810和元数据816的至少一个指示符的请求。
在框B1104,方法1100包括使用一个或更多个时间戳接收表示一个或更多个帧的图像数据。例如,使用客户端设备102执行或实例化的注释请求器122B可以从云计算系统108的一个或更多个视频数据存储116A接收表示视频流的一个或更多个帧的图像数据812。
在框B1106处,方法1100包括基于至少一个指示符使用一个或更多个时间戳来检索元数据。例如,使用客户端设备102执行或实例化的注释请求器122B可以将包括时间戳数据814的请求传送到一个或更多个元数据存储118,以使用一个或更多个时间戳来检索表示一个或更多个帧的元数据816的数据。
在框B1108,方法1100包括生成表示一个或更多个叠加的图像数据。例如,视频注释器120可以使用图像数据818和元数据820生成叠加数据822,该叠加数据可以包括表示对视频流的一个或更多个帧的一个或更多个叠加的图像数据。
在框B1110,方法1100包括显示表示一个或更多个叠加的图像数据。例如,使用客户端设备102执行或实例化的呈现管理器138可以使得显示具有使用叠加数据822的一个或更多个叠加的一个或更多个帧。
示例计算设备
图12是适合用于实现本公开的一些实施例的示例计算设备1200的框图。计算设备1200可以包括直接或间接耦合以下设备的互连系统1202:存储器1204、一个或更多个中央处理单元(CPU)1206、一个或更多个图形处理单元(GPU)1208、通信接口1210、输入/输出(I/O)端口1212、输入/输出组件1214、电源1216、一个或更多个呈现组件1218(例如,显示器)和一个或更多个逻辑单元1220。
在至少一个实施例中,计算设备1200可以包括一个或更多个虚拟机,和/或其任何组件可以包括虚拟组件(例如,虚拟硬件组件)。例如,一个或更多个GPU 1208可以包括一个或更多个vGPU,一个或更多个CPU 1206可以包括一个或更多个vCPU,和/或一个或更多个逻辑单元1220可以包括一个或更多个虚拟逻辑单元。
尽管图12的各个框被示为经由具有线路的互连系统1202连接,但是这并不意图是限制性的,并且仅仅为了清楚起见。例如,在一些实施例中,诸如显示设备之类的呈现组件1218可以被认为是I/O组件1214(例如,如果显示器为触摸屏)。作为另一个示例,CPU 1206和/或GPU 1208可以包括存储器(例如,存储器1204可以表示除了GPU 1208、CPU 1206和/或其他组件的存储器以外的存储设备)。换言之,图12的计算设备仅仅是说明性的。在诸如“工作站”、“服务器”、“膝上型电脑”、“台式机”、“平板电脑”、“客户端设备”、“移动设备”、“手持式设备”、“游戏控制台”、“电子控制单元(ECU)”、“虚拟现实系统”和/或其他设备或系统类型之类的类别之间不进行区分,因为所有这些都被考虑在图12的计算设备的范围内。
互连系统1202可以表示一条或更多条线路或总线,例如地址总线、数据总线、控制总线或者其组合。互连系统1202可以包括一种或更多种总线或链路类型,诸如行业标准架构(ISA)总线、扩展行业标准架构(EISA)总线、视频电子标准协会(VESA)总线、外围组件互连(PCI)总线、外围组件互连快速(PCIe)总线,和/或另一种类型的总线或线路。在一些实施例中,组件之间存在直接连接。作为示例,CPU 1206可以直接连接到存储器1204。此外,CPU1206可以直接连接到GPU 1208。在组件之间存在直接或点对点连接的情况下,互连系统1202可以包括PCIe链路以执行连接。在这些示例中,计算设备1200中不需要包括PCI总线。
存储器1204可以包括各种各样的计算机可读介质中的任何介质。计算机可读介质可以是可以由计算设备1200访问的任何可用介质。计算机可读介质可以包括易失性和非易失性介质以及可移除和不可移除介质。举例而言且非限制性地,计算机可读介质可以包括计算机存储介质和通信介质。
计算机存储介质可以包括以用于存储信息(诸如计算机可读指令、数据结构、程序模块和/或其他数据类型)的任何方法或技术实现的易失性和非易失性介质和/或可移除和不可移除介质。例如,存储器1204可以存储计算机可读指令(例如,其表示程序和/或程序元素,例如操作系统)。计算机存储介质可以包括但不限于RAM、ROM、EEPROM、闪存或者其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备,或者可以用来存储想要的信息且可以由计算设备1200访问的任何其他介质。当在本文使用时,计算机存储介质并不包括信号本身。
计算机存储介质可以在诸如载波之类的调制数据信号或其他传输机制中包含计算机可读指令、数据结构、程序模块和/或其他数据类型,并且包括任何信息输送介质。术语“调制数据信号”可以指这样的信号,该信号使它的特性中的一个或更多个以这样的将信息编码到该信号中的方式设置或改变。举例而言且非限制性地,计算机存储介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声音、RF、红外和其他无线介质之类的无线介质。任何以上所述的组合也应当包含在计算机可读介质的范围内。
CPU 1206可以被配置为执行至少一些计算机可读指令,以便控制计算设备1200的一个或更多个组件执行本文描述的方法和/或过程中的一个或更多个。CPU 1206中的每一个可以包括能够同时处理大量软件线程的一个或更多个核心(例如一个、两个、四个、八个、二十八个、七十二个等等)。CPU 1206可以包括任何类型的处理器,并且可以包括不同类型的处理器,这取决于实现的计算设备1200的类型(例如具有用于移动设备的较少核的处理器以及具有用于服务器的更多核的处理器)。例如,取决于计算设备1200的类型,处理器可以是使用精简指令集计算(RISC)实现的高级RISC机器(ARM)处理器或者使用复杂指令集计算(CISC)实现的x86处理器。除了一个或更多个微处理器或者诸如数学协处理器之类的补充协处理器之外,计算设备1200还可以包括一个或更多个CPU 1206。
除了或替代CPU 1206,GPU 1208可以被配置为执行至少一些计算机可读指令以控制计算设备1200的一个或更多个组件来执行本文描述的一种或更多种方法和/或过程。一个或更多个GPU 1208可以是集成GPU(例如,具有一个或更多个CPU 1206)和/或一个或更多个GPU 1208可以是分立的GPU。在实施例中,一个或更多个GPU 1208可以是一个或更多个CPU1206的协处理器。计算设备1200可以使用GPU 1208来渲染图形(例如,3D图形)或执行通用计算。例如,GPU 1208可用于GPU上的通用计算(GPGPU)。GPU 1208可以包括能够同时处理成百上千个软件线程的成百上千个核心。GPU 1208可以响应于渲染命令(例如,通过主机接口从CPU1206接收的渲染命令)生成用于输出图像的像素数据。GPU 1208可以包括图形存储器,例如显示存储器,用于存储像素数据或任何其他合适的数据,例如GPGPU数据。显示存储器可以作为存储器1204的一部分被包括。GPU 1208可以包括并行操作(例如,经由链路)的两个或更多个GPU。链路可以直接连接GPU(例如,使用NVLINK),也可以通过交换机(例如,使用NVSwitch)连接GPU。当组合在一起时,每个GPU 1208可以为输出的不同部分或不同的输出(例如,用于第一图像的第一GPU和用于第二图像的第二GPU)生成像素数据或GPGPU数据。每个GPU可包括自己的存储器,也可与其他GPU共享存储器。
除了或替代CPU 1206和/或GPU 1208,逻辑单元1220可以被配置为执行至少一些计算机可读指令以控制计算设备1200的一个或更多个组件来执行本文所述的一种或更多种方法和/或过程。在实施例中,CPU 1206、GPU 1208和/或逻辑单元1220可以分立地或联合地执行方法、过程和/或其部分的任何组合。一个或更多个逻辑单元1220可以是CPU 1206和/或GPU1208中的一个或更多个的一部分和/或与CPU 1206和/或GPU 1208中的一个或更多个集成,和/或一个或更多个逻辑单元1220可以是分立的组件或以其他方式在CPU 1206和/或GPU 1208的外部。在实施例中,一个或更多个逻辑单元1220可以是一个或更多个CPU1206和/或一个或更多个GPU 1208的协处理器。
逻辑单元1220的示例包括一个或更多个处理核心和/或其组件,例如张量核心(TC)、张量处理单元(TPU)、像素视觉核心(PVC)、视觉处理单元(VPU)、图形处理集群(GPC)、纹理处理集群(TPC)、流式多处理器(SM)、树遍历单元(TTU)、人工智能加速器(AIA)、深度学习加速器(DLA)、算术逻辑单元(ALU)、专用集成电路(ASIC)、浮点单元(FPU)、输入/输出(I/O)元件、外围组件互连(PCI)或外围组件互连快速(PCIe)元件等。
通信接口1210可以包括一个或更多个接收器、发送器和/或收发器,其使得计算设备1200能够经由电子通信网络与其他计算设备通信,包括有线和/或无线通信。通信接口1210可以包括使能通过若干不同网络中的任何网络进行通信的组件和功能,所述网络例如无线网络(例如Wi-Fi、Z波、蓝牙、蓝牙LE、ZigBee等等)、有线网络(例如通过以太网或无限带宽通信)、低功率广域网(例如LoRaWAN、SigFox等等)和/或因特网。
I/O端口1212可以使得计算设备1200能够逻辑地耦合到包括I/O组件1214、呈现组件1218和/或其他组件的其他设备,其中一些可以内置到(例如集成到)计算设备1200中。说明性I/O组件1214包括麦克风、鼠标、键盘、操纵杆、游戏垫、游戏控制器、碟形卫星天线、扫描仪、打印机、无线设备等等。I/O组件1214可以提供处理用户生成的空中手势、语音或其他生理输入的自然用户接口(NUI)。在一些实例中,输入可以发送至适当的网络元件以便进一步处理。NUI可以实现语音识别、手写笔识别、面部识别、生物特征识别、屏幕上和邻近屏幕的手势识别、空中手势、头部和眼睛跟踪以及与计算设备1200的显示器关联的触摸识别(如下文更详细地描述的)的任意组合。计算设备1200可以包括诸如立体相机系统、红外相机系统、RGB相机系统之类的深度相机,触摸屏技术以及这些的组合,以用于手势检测和识别。此外,计算设备1200可以包括使能运动检测的加速度计或陀螺仪(例如作为惯性测量单元(IMU)的部分)。在一些示例中,加速度计或陀螺仪的输出可以由计算设备1200用来渲染沉浸式增强现实或者虚拟现实。
电源1216可以包括硬接线电源、电池电源或者其组合。电源1216可以向计算设备1200供电以使得计算设备1200的组件能够操作。
呈现组件1218可以包括显示器(例如监视器、触摸屏、电视屏幕、平视显示器(HUD)、其他显示器类型或者其组合)、扬声器和/或其他呈现组件。呈现组件1218可以接收来自其他组件(例如GPU 1208、CPU 1206等等)的数据,并且输出该数据(例如作为图像、视频、声音等等)。
示例数据中心
图13示出了其中可以使用至少一个实施例的示例数据中心1300。在至少一个实施例中,数据中心1300包括数据中心基础设施层1310、框架层1320、软件层1330和应用程序层1340。
在至少一个实施例中,如图13所示,数据中心基础设施层1310可以包括资源协调器1312、分组的计算资源1314和节点计算资源(“节点C.R.”)1316(1)-1316(N),其中“N”表示任何整个的正整数。在至少一个实施例中,节点C.R.1316(1)-1316(N)可以包括但不限于任何数量的中央处理单元(“CPU”)或其他处理器(包括加速器、现场可编程门阵列(FPGA))、图形处理器等)、存储器设备(例如,动态只读存储器)、存储设备(例如,固态或磁盘驱动器)、网络输入/输出(“NW I/O”)设备、网络交换机、虚拟机(“VM”)、电源模块和冷却模块等。在至少一个实施例中,节点C.R.1316(1)-1316(N)中的一个或更多个节点C.R.可以是具有上面提到的计算资源中的一个或更多个计算资源的服务器。
在至少一个实施例中,分组的计算资源1314可以包括容纳在一个或更多个机架(未示出)内的节点C.R.的单独分组或容纳在位于不同地理位置的数据中心中的许多机架(也未示出)。分组的计算资源1314内的节点C.R.的单独分组可以包括可以被配置或分配以支持一个或更多个工作负载的分组的计算、网络、存储器或存储资源。在至少一个实施例中,包括CPU或处理器的若干节点C.R.可在一个或更多个机架内分组,以提供计算资源来支持一个或更多个工作负载。在至少一个实施例中,一个或更多个机架还可以包括任意组合的任意数量的电源模块、冷却模块和网络交换机。
在至少一个实施例中,资源协调器1322可以配置或以其他方式控制一个或更多个节点C.R.1316(1)-1316(N)和/或分组的计算资源1314。在至少一个实施例中,资源协调器1322可以包括用于数据中心1300的软件设计基础设施(“SDI”)管理实体。在至少一个实施例中,资源协调器可以包括硬件、软件或其某种组合。
在至少一个实施例中,如图13所示,框架层1320包括作业调度器1332、配置管理器1334、资源管理器1336和分布式文件系统1338。在至少一个实施例中,框架层1320可以包括用于支持软件层1330的软件1332和/或应用程序层1340的一个或更多个应用程序1342的框架。在至少一个实施例中,软件1332或应用程序1342可分别包括基于网络的服务软件或应用程序,例如由亚马逊网络服务、谷歌云和微软Azure提供的那些。在至少一个实施例中,框架层1320可以是但不限于一种类型的免费和开源软件网络应用程序框架,例如ApacheSparkTM(以下称为“Spark”),其可以将分布式文件系统1338用于大规模数据处理(例如,“大数据”)。在至少一个实施例中,作业调度器1332可以包括Spark驱动器以促进由数据中心1300的各个层支持的工作负载的调度。在至少一个实施例中,配置管理器1334可以能够配置不同的层,例如软件层1330和框架层1320,包括用于支持大规模数据处理的Spark和分布式文件系统1338。在至少一个实施例中,资源管理器1336可能够管理映射到或分配用于支持分布式文件系统1338和作业调度器1332的集群的或分组的计算资源。在至少一个实施例中,集群的或分组的计算资源可以包括数据中心基础设施层1310处的分组的计算资源1314。在至少一个实施例中,资源管理器1336可以与资源协调器1312协调,以管理这些映射或分配的计算资源。
在至少一个实施例中,包括在软件层1330中的软件1332可以包括由节点C.R.1316(1)-1316(N)、分组的计算资源1314和/或框架层1320的分布式文件系统1338的至少部分使用的软件。一种或更多种类型的软件可以包括但不限于互联网网页搜索软件、电子邮件病毒扫描软件、数据库软件和流视频内容软件。
在至少一个实施例中,应用程序层1340中包括的应用程序1342可以包括由节点C.R.1316(1)-1316(N)、分组的计算资源1314、和/或框架层1320的分布式文件系统1338的至少部分使用的一种或更多种类型的应用程序。一种或更多种类型的应用程序可以包括但不限于任何数量的基因组学应用程序、认知计算和机器学习应用程序,包括训练或推理软件,机器学习框架软件(例如,PyTorch、TensorFlow、Caffe等)或与一个或更多个实施例结合使用的其他机器学习应用程序。
在至少一个实施例中,配置管理器1334、资源管理器1336和资源协调器1312中的任何一个可以基于以任何技术上可行的方式获取的任何数量和类型的数据来实现任何数量和类型的自修改动作。在至少一个实施例中,自修改动作可以使数据中心1300的数据中心运营商免于做出可能糟糕的配置决定并且可能避免数据中心的未充分利用和/或性能不佳的部分。
在至少一个实施例中,数据中心1300可以包括工具、服务、软件或用于训练一个或更多个机器学习模型或者根据本文描述的一个或更多个实施例使用一个或更多个机器学习模型预测或推理信息的其他资源。例如,在至少一个实施例中,机器学习模型可以通过使用上文关于数据中心1300描述的软件和计算资源根据神经网络架构计算权重参数来训练。在至少一个实施例中,对应于一个或更多个神经网络的经训练的机器学习模型可用于通过使用通过本文描述的一种或更多种训练技术计算的权重参数,使用上文关于数据中心1300描述的资源来推理或预测信息。
本公开可以在由计算机或者诸如个人数字助理或其他手持式设备之类的其他机器执行的、包括诸如程序模块之类的计算机可执行指令的机器可用指令或者计算机代码的一般上下文中进行描述。通常,包括例程、程序、对象、组件、数据结构等的程序模块指的是执行特定任务或者实现特定抽象数据类型的代码。本公开可以在各种各样的系统配置中实践,这些配置包括手持式设备、消费电子器件、通用计算机、更专业的计算设备等等。本公开也可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。
如在本文中使用的,关于两个或更多元素对“和/或”的叙述应当解释为仅指一个元素或者元素的组合。例如,“元素A、元素B和/或元素C”可以包括仅元素A,仅元素B,仅元素C,元素A和元素B,元素A和元素C,元素B和元素C,或者元素A、B和C。此外,“元素A或元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。进一步地,“元素A和元素B中的至少一个”可以包括元素A中的至少一个,元素B中的至少一个,或者元素A中的至少一个和元素B中的至少一个。
本文详细地描述了本公开的主题以满足法定要求。然而,描述本身并非意在限制本公开的范围。相反地,本发明人已经设想到,要求保护的主题也可以以其他的方式具体化,以包括与本文中结合其他当前或未来技术描述的步骤不同的步骤或者相似步骤的组合。而且,尽管术语“步骤”和/或“框”在本文中可以用来隐含采用的方法的不同元素,但是这些术语不应当被解释为暗示本文公开的各个步骤之中或之间的任何特定顺序,除非明确描述了各步骤的顺序。

Claims (20)

1.一种计算机实现的方法,包括:
接收对应于视频流的一个或更多个帧的一个或更多个时间戳以及所述一个或更多个帧的元数据的至少一个标准;
从视频数据存储中检索表示与所述一个或更多个时间戳相对应的所述一个或更多个帧的第一图像数据;
从元数据存储中检索所述一个或更多个帧的与所述元数据的至少一个标准相对应的元数据;以及
生成第二图像数据,所述第二图像数据表示对来自所述元数据和所述第一图像数据的一个或更多个帧的一个或更多个叠加。
2.如权利要求1所述的方法,其中由云计算系统的至少一个边缘设备从所述云计算系统的至少一个核心设备执行所述接收。
3.如权利要求1所述的方法,其中所述元数据的至少一个标准包括以下至少之一:
一个或更多个元数据属性的标识;或
一个或更多个元数据标识符的标识。
4.如权利要求1所述的方法,还包括:
分析所述视频流以生成所述元数据;以及
将所述元数据存储在所述元数据存储中。
5.如权利要求1所述的方法,还包括:
由至少一个相机设备捕获所述视频流的一个或更多个帧;
分析所述一个或更多个帧以生成所述元数据;以及
使用所述至少一个相机设备将所述元数据存储在所述元数据存储中。
6.如权利要求1所述的方法,其中所述接收由云计算系统的至少第一边缘设备执行,并且检索表示所述一个或更多个帧的所述第一图像数据包括:使用所述云计算系统的至少第二边缘设备检索所述第一图像数据。
7.如权利要求1所述的方法,其中使用所述云计算系统的至少第一边缘设备来执行所述接收,并且所述检索所述元数据包括:使用所述云计算系统的至少第二边缘设备来检索所述元数据,所述至少第二边缘设备包括所述元数据存储。
8.如权利要求1所述的方法,其中所述检索所述元数据包括:从云计算系统的包括所述元数据存储的至少一个核心设备中检索所述元数据。
9.如权利要求1所述的方法,其中至少一些所述元数据对应于在所述视频流的一个或更多个帧中检测到的一个或更多个对象。
10.一种计算机实现的方法,包括:
使用云计算系统接收来自客户端设备的请求,所述请求指示视频流的一个或更多个帧的一个或更多个时间戳以及所述一个或更多个帧的元数据;
使用所述云计算系统,基于所述元数据的至少一个指示符,使用所述一个或更多个时间戳检索所述一个或更多个帧的元数据;以及
使用所述云计算系统,向至少一个远程设备发送第一数据,所述第一数据表示所述一个或更多个帧的元数据和所述一个或更多个时间戳,所述发送使所述至少一个远程设备执行操作,所述操作包括:
从视频数据存储中检索第一图像数据,所述第一图像数据使用所述一个或更多个时间戳表示所述一个或更多个帧,以及
生成表示对应于所述一个或更多个帧的一个或更多个叠加的第二图像数据。
11.如权利要求10所述的方法,其中使用所述云计算系统的至少一个核心设备来执行所述请求的所述接收,其中所述至少一个远程设备包括所述云计算系统的至少一个边缘设备。
12.如权利要求10所述的方法,其中使用所述云计算系统的至少一个边缘设备来执行所述发送,其中所述至少一个远程设备包括所述客户端设备。
13.如权利要求10所述的方法,其中使用所述云计算系统的至少一个核心设备来执行所述元数据存储,并且使用所述云计算系统的至少一个边缘设备来执行所述视频数据存储。
14.如权利要求10所述的方法,其中所述至少一个远程设备包括所述云计算系统的组件,并且所述方法还包括:发送所述第二图像数据,所述发送使得使用所述客户端设备显示具有所述一个或更多个叠加的所述一个或更多个帧。
15.一种计算机实现的系统,包括:
一个或更多个处理设备;和
一个或更多个存储器设备,其通信地耦合到所述一个或更多个处理设备,在其上存储有程序指令,所述程序指令在由所述一个或更多个处理设备执行时,使得执行方法,所述方法包括:
向云计算系统发送请求,所述请求指示视频流的一个或更多个帧的一个或更多个时间戳;
响应于所述请求,从所述云计算系统的视频数据存储接收第一图像数据,所述第一图像数据表示所述一个或更多个帧;
基于所述一个或更多个时间戳从元数据存储中检索元数据,所述元数据对应于所述一个或更多个帧;以及
生成第二图像数据,所述第二图像数据表示对所述一个或更多个帧的一个或更多个叠加。
16.如权利要求15所述的方法,其中至少部分地使用一个或更多个虚拟机来执行所述方法。
17.如权利要求15所述的方法,其中由客户端设备执行所述方法。
18.如权利要求15所述的方法,其中所述请求包括所述一个或更多个帧的所述元数据的至少一个指示符。
19.如权利要求15所述的方法,其中所述请求包括从所述客户端设备的用户界面接收的查询。
20.如权利要求15所述的方法,其中所述元数据表示对象位置数据、对象分类数据或对象分割数据中的一个或更多个。
CN202110914385.2A 2020-08-12 2021-08-10 按需将元数据叠加到视频流上以进行智能视频分析 Pending CN114079801A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/991,770 2020-08-12
US16/991,770 US11683453B2 (en) 2020-08-12 2020-08-12 Overlaying metadata on video streams on demand for intelligent video analysis

Publications (1)

Publication Number Publication Date
CN114079801A true CN114079801A (zh) 2022-02-22

Family

ID=80000737

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110914385.2A Pending CN114079801A (zh) 2020-08-12 2021-08-10 按需将元数据叠加到视频流上以进行智能视频分析

Country Status (3)

Country Link
US (1) US11683453B2 (zh)
CN (1) CN114079801A (zh)
DE (1) DE102021119725A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230142015A1 (en) * 2020-11-11 2023-05-11 Milestone Systems A/S Video surveillance system, computer-implemented video management process, and non-transitory computer readable storage medium
GB2625570A (en) * 2022-12-20 2024-06-26 Milestone Systems As Video surveillance system, computer-implemented video management process, computer program and storage medium
US20220292819A1 (en) * 2021-03-10 2022-09-15 Rutgers, The State University Of New Jersey Computer Vision Systems and Methods for Acceleration of High-Resolution Mobile Deep Vision With Content-Aware Parallel Offloading

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103380619A (zh) * 2010-12-30 2013-10-30 派尔高公司 搜索记录的视频
CN104982039A (zh) * 2013-02-07 2015-10-14 汤姆逊许可公司 用于在视频的图像帧中提供定向内容的方法及相应的设备
CN106375793A (zh) * 2016-08-29 2017-02-01 东方网力科技股份有限公司 一种视频结构化信息的叠加方法、用户终端及叠加系统
US20170161382A1 (en) * 2015-12-08 2017-06-08 Snapchat, Inc. System to correlate video data and contextual data
US20180139260A1 (en) * 2016-11-15 2018-05-17 Genvid Technologies, Inc. Systems and methods for utilizing client-side synchronization of video and overlay
US10021458B1 (en) * 2015-06-26 2018-07-10 Amazon Technologies, Inc. Electronic commerce functionality in video overlays
CN109120885A (zh) * 2017-06-26 2019-01-01 杭州海康威视数字技术股份有限公司 视频数据获取方法及装置
US20200082851A1 (en) * 2018-09-11 2020-03-12 Avigilon Corporation Bounding box doubling as redaction boundary
US20200186454A1 (en) * 2018-12-09 2020-06-11 Spot AI, Inc. System and method for distributed image processing

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130128050A1 (en) * 2011-11-22 2013-05-23 Farzin Aghdasi Geographic map based control
EP3087732A4 (en) * 2013-12-23 2017-07-26 Pelco, Inc. Smart shift selection in a cloud video service
US20160292511A1 (en) * 2015-03-31 2016-10-06 Gopro, Inc. Scene and Activity Identification in Video Summary Generation
EP3229174A1 (en) * 2016-04-06 2017-10-11 L-1 Identity Solutions AG Method for video investigation
US11856331B1 (en) * 2017-05-10 2023-12-26 Waylens, Inc. Extracting and transmitting video analysis metadata for a remote database
WO2019191002A1 (en) * 2018-03-26 2019-10-03 Nvidia Corporation Object movement behavior learning
US11294965B2 (en) * 2018-07-31 2022-04-05 Marvell Asia Pte Ltd Metadata generation for multiple object types
US10885755B2 (en) * 2018-09-14 2021-01-05 International Business Machines Corporation Heat-based pattern recognition and event determination for adaptive surveillance control in a surveillance system
US11244162B2 (en) * 2018-10-31 2022-02-08 International Business Machines Corporation Automatic identification of relationships between a center of attention and other individuals/objects present in an image or video
US10771763B2 (en) * 2018-11-27 2020-09-08 At&T Intellectual Property I, L.P. Volumetric video-based augmentation with user-generated content
US20200029086A1 (en) * 2019-09-26 2020-01-23 Intel Corporation Distributed and parallel video stream encoding and transcoding
JP7205457B2 (ja) * 2019-12-23 2023-01-17 横河電機株式会社 装置、システム、方法およびプログラム
US20210409792A1 (en) * 2020-06-29 2021-12-30 Seagate Technology Llc Distributed surveillance system with distributed video analysis

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103380619A (zh) * 2010-12-30 2013-10-30 派尔高公司 搜索记录的视频
CN104982039A (zh) * 2013-02-07 2015-10-14 汤姆逊许可公司 用于在视频的图像帧中提供定向内容的方法及相应的设备
US10021458B1 (en) * 2015-06-26 2018-07-10 Amazon Technologies, Inc. Electronic commerce functionality in video overlays
US20170161382A1 (en) * 2015-12-08 2017-06-08 Snapchat, Inc. System to correlate video data and contextual data
CN106375793A (zh) * 2016-08-29 2017-02-01 东方网力科技股份有限公司 一种视频结构化信息的叠加方法、用户终端及叠加系统
US20180139260A1 (en) * 2016-11-15 2018-05-17 Genvid Technologies, Inc. Systems and methods for utilizing client-side synchronization of video and overlay
CN109120885A (zh) * 2017-06-26 2019-01-01 杭州海康威视数字技术股份有限公司 视频数据获取方法及装置
US20200082851A1 (en) * 2018-09-11 2020-03-12 Avigilon Corporation Bounding box doubling as redaction boundary
US20200186454A1 (en) * 2018-12-09 2020-06-11 Spot AI, Inc. System and method for distributed image processing

Also Published As

Publication number Publication date
US20220053171A1 (en) 2022-02-17
DE102021119725A1 (de) 2022-02-17
US11683453B2 (en) 2023-06-20

Similar Documents

Publication Publication Date Title
US20210256320A1 (en) Machine learning artificialintelligence system for identifying vehicles
US11615524B2 (en) Product defect detection method and apparatus, electronic device and storage medium
US11683453B2 (en) Overlaying metadata on video streams on demand for intelligent video analysis
JP6410930B2 (ja) 拡張現実及び物体認識を用いた実世界物体でのコンテンツ項目の検索及び関連付けスキーム
US20190213443A1 (en) Detecting objects in images
KR20220009393A (ko) 이미지 기반 로컬화
US11842514B1 (en) Determining a pose of an object from rgb-d images
US11315340B2 (en) Methods and systems for detecting and analyzing a region of interest from multiple points of view
WO2020062493A1 (zh) 图像处理方法和装置
US10620981B2 (en) Network error detection using virtual reality display devices
US20230326351A1 (en) Data sharing method and apparatus applied to vehicle platoon
CN110222641A (zh) 用于识别图像的方法和装置
CN114764896A (zh) 适于视频游戏的直播中的自动内容辨识和信息
CN113010805A (zh) 指标数据的处理方法、装置、设备及存储介质
CN115774774A (zh) 使用自然语言处理从游戏日志中提取事件信息
JP2024502516A (ja) データ注釈方法、装置、システム、デバイスおよび記憶媒体
CN112740283A (zh) 增强现实映射系统和相关方法
US12086920B1 (en) Submesh-based updates in an extended reality environment
WO2023184278A1 (en) Method for semantic map building, server, terminal device and storage medium
WO2023091131A1 (en) Methods and systems for retrieving images based on semantic plane features
US20240184814A1 (en) Determining intents and responses using machine learning in conversational ai systems and applications
US20240176808A1 (en) Query response generation using structured and unstructured data for conversational ai systems and applications
WO2022178239A1 (en) Mesh retexturing in an extended reality environment
CN118113823A (zh) 使用用于会话ai系统和应用的结构化和非结构化数据的查询响应生成
WO2023111843A1 (en) System and method for defining a virtual data capture point

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