一种AI视频处理方法与装置与流程

文档序号:20781873发布日期:2020-05-19 21:19阅读:456来源:国知局
一种AI视频处理方法与装置与流程

本发明涉及计算机领域,更具体地,特别是指一种ai视频处理方法与装置。



背景技术:

由于大数据产业的发展,数据量呈现爆炸性增长态势,而传统的计算架构又无法支撑深度学习的大规模并行计算需求,于是研究界对ai(人工智能)芯片进行了新一轮的技术研发与应用研究。ai芯片是人工智能时代的技术核心之一,决定了平台的基础架构和发展生态。按照技术架构分类,现在主流的ai芯片有gpu(图形处理器)、全定制化(例如asic)芯片、半定制化(例如fpga)芯片等。而除了gpu这样的通用计算芯片之外,按照性能和支持的算法应用来说,ai芯片的种类更是多种多样,不同的ai芯片在不同的应用算法和场景下,实际的性能表现也会差异很大。

目前的ai算法应用中,商业化前景最看好、实际应用算法最多的就是视频相关的ai应用,包括图像检测、图像识别、图像处理等等。相应的,不同的应用类型,需要进行的数据处理模式都会有所区别。比如,图像检测需要的视频分别率可以很低,可以对视频数据尽量压缩;又比如,图像处理往往需要将数据传回,对于数据通路有双向的带宽要求。在不同的应用场景下,对于ai处理要求的侧重点也有所不同,比如在自动驾驶与在线直播中,对于实时性要求都很高,但在线直播中对于数据处理的准确性,要求可能会比较低,而对在线视频的处理,往往对实时性没有要求。即便是在同一应用类型,同一应用场景下,由于采用的算法和实现方式不同,实际中对于数据的处理,比如矩阵计算的规模、缓存数据的频率都可能会有很大差别。

在现在的视频处理技术中,视频编解码是必不可少的技术。因为现在的视频流太多,单个视频流也太大(跟分辨率有关),yuv是原始的视频流格式,一个1920x1080分辨率,yuv420格式,帧率50,帧数500的视频,只有10秒,其大小为:1920x1080x3/2x500≈1.45gb。可以想象,如果视频以原始格式传输的话,现有的各种接口带宽都无法满足海量视频的传输和处理。视频编解码本质上就是对视频的压缩和解压缩,现在主流的h.264编解码标准,能将数据传输最低压缩到1/150(最极端的情况,压缩率越高,视频解码出来的清晰度和准确地越低,以上面的例子来说,人眼观看的话,1.45gb的视频流压缩到6mb左右是合适的),能极大地提高数据传输带宽的利用率,从而也使海量视频传输到云端统一处理成为可能。

对视频的ai处理进行芯片级的加速,一般有两种架构。一种是传统的,用已有的ai芯片和视频编解码芯片,放在一块或两块子板上,通过板级的连接,而一个ai芯片对应的数据处理能力,决定了要放多高性能,放多少个的视频编解码芯片。另一种就是最近一些互联网公司在研究的,将视频编解码模块放入到ai芯片中,形成专用的视频处理ai芯片,同样的,为了实现效率最高,ai计算能力与视频编解码能力也必须做匹配。无论是两种架构中的哪一种,都是将视频编解码和ai处理匹配到一起。在应用、场景和算法都比较单一或者相似的时候,这样的设计是最简单直接的。但在ai领域发展迅速,新的应用和算法层出不穷的现在,单一的架构往往会限制应用和算法的升级,造成性能的浪费。而无论是哪种架构,都无法在现有已经生产出来的产品上再做定制化的修改,只能重新设计生产或者忍受效率的降低。

针对现有技术中ai计算能力与视频编解码能力固定分配导致无法高效地适应不同应用场景算法的问题,目前尚无有效的解决方案。



技术实现要素:

有鉴于此,本发明实施例的目的在于提出一种ai视频处理方法与装置,能够根据需要灵活分配和扩展ai处理能力和视频编解码能力,从而高效地适应不同应用场景算法。

基于上述目的,本发明实施例的第一方面提供了一种ai视频处理方法,包括由控制设备执行以下步骤:

通过统一高速接口连接到ai处理资源池中的多个ai计算板卡和视频处理资源池中的多个视频编解码板卡以调用ai处理资源和视频处理资源;

响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;

响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;

基于被分配的ai计算板卡或视频编解码板卡来执行处理任务,并响应于处理任务已完成而解除临时协作关系。

在一些实施方式中,每个ai计算板卡上均设置有型号相同的第一数量的ai计算芯片,每个视频编解码板卡均设置有型号相同的第二数量的视频编解码芯片;第一数量和第二数量配置为基于统一高速接口的带宽、以及ai计算板卡和视频编解码板卡的物理连线复杂度确定。

在一些实施方式中,视频编解码芯片支持的视频编解码包括以下至少之一:mpeg、h.264、h.265、avs、avs+。

在一些实施方式中,通过统一高速接口连接包括:控制设备通过主板上的pcie物理接口直接连接、和/或经由具有pcie切换芯片的交换板建立间接连接。

在一些实施方式中,控制设备包括设置在主板上的中央处理器、以及设置在交换板上的单片机和/或arm处理器。

本发明实施例的第二方面提供了一种ai视频处理装置,包括:

ai处理资源池,包括用于执行ai处理的多个ai计算板卡;

视频处理资源池,包括用于执行视频处理的多个视频编解码板卡;

控制设备,通过统一高速接口连接到多个ai计算板卡和多个视频编解码板卡,包括处理器和存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现以下步骤:

响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;

响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;

调用被分配的ai计算板卡或视频编解码板卡作为ai处理资源和视频处理资源来执行处理任务,并响应于处理任务已完成而解除临时协作关系。

在一些实施方式中,每个ai计算板卡上均设置有型号相同的第一数量的ai计算芯片,每个视频编解码板卡均设置有型号相同的第二数量的视频编解码芯片;第一数量和第二数量配置为基于统一高速接口的带宽、以及ai计算板卡和视频编解码板卡的物理连线复杂度确定。

在一些实施方式中,视频编解码芯片支持的视频编解码包括以下至少之一:mpeg、h.264、h.265、avs、avs+。

在一些实施方式中,控制设备通过主板上的pcie物理接口直接连接多个ai计算板卡和多个视频编解码板卡;和/或装置还包括具有pcie切换芯片的交换板,控制设备经由交换板间接连接多个ai计算板卡和多个视频编解码板卡。

在一些实施方式中,控制设备包括设置在主板上的中央处理器、以及设置在交换板上的单片机和/或arm处理器。

本发明具有以下有益技术效果:本发明实施例提供的ai视频处理方法与装置,通过统一高速接口连接到ai处理资源池中的多个ai计算板卡和视频处理资源池中的多个视频编解码板卡以调用ai处理资源和视频处理资源;响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;基于被分配的ai计算板卡或视频编解码板卡来执行处理任务,并响应于处理任务已完成而解除临时协作关系的技术方案,能够根据需要灵活分配和扩展ai处理能力和视频编解码能力,从而高效地适应不同应用场景算法。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的ai视频处理方法的流程示意图;

图2为本发明提供的ai视频处理装置的直接连接形式的结构示意图;

图3为本发明提供的ai视频处理装置的间接连接形式的结构示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。

需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。

基于上述目的,本发明实施例的第一个方面,提出了一种能够高效地适应不同应用场景算法的ai视频处理方法的一个实施例。图1示出的是本发明提供的ai视频处理方法的流程示意图。

所述ai视频处理方法,如图1所示,包括由控制设备执行以下步骤:

步骤s101:通过统一高速接口连接到ai处理资源池中的多个ai计算板卡和视频处理资源池中的多个视频编解码板卡以调用ai处理资源和视频处理资源;

步骤s103:响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;

步骤s105:响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;

步骤s107:基于被分配的ai计算板卡或视频编解码板卡来执行处理任务,并响应于处理任务已完成而解除临时协作关系。

本发明针对通用的ai视频处理加速需求,提出一种通用的ai芯片与视频解码芯片板级的架构和系统形态,在完成ai视频处理加速功能的前提下,用资源池化的方式保持ai处理能力和视频编解码能力的灵活扩展性,从而实现在不同应用场景和算法下的使用和升级。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。

在一些实施方式中,每个ai计算板卡上均设置有型号相同的第一数量的ai计算芯片,每个视频编解码板卡均设置有型号相同的第二数量的视频编解码芯片;第一数量和第二数量配置为基于统一高速接口的带宽、以及ai计算板卡和视频编解码板卡的物理连线复杂度确定。

在一些实施方式中,视频编解码芯片支持的视频编解码包括以下至少之一:mpeg、h.264、h.265、avs、avs+。

在一些实施方式中,通过统一高速接口连接包括:控制设备通过主板上的pcie物理接口直接连接、和/或经由具有pcie切换芯片的交换板建立间接连接。

在一些实施方式中,控制设备包括设置在主板上的中央处理器、以及设置在交换板上的单片机和/或arm处理器。

根据本发明实施例公开的方法还可以被实现为由cpu(中央处理器)执行的计算机程序,该计算机程序可以存储在计算机可读存储介质中。在该计算机程序被cpu执行时,执行本发明实施例公开的方法中限定的上述功能。上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储介质实现。

下面根据具体实施例来进一步阐述本发明的具体实施方式。

首先对于选用的ai芯片和视频编解码芯片,要有统一的高速接口,在本发明中,考虑到兼容性,选用目前最主流的pcie3.0接口,目前市场上除了应用在设备端的低功耗芯片,绝大部分芯片都支持pcie接口。并且pcie接口具备向前兼容的特性,即便之后pcie4.0成为市场主流,现有芯片也能兼容使用。如果芯片不兼容pcie3.0,可以在板级设计中加入接口的转换模块。

为了最大限度地保持通用性,视频编解码芯片应支持尽可能多的视频标准,包括mpeg、h.264、h.265、avs、avs+等等。现有技术的部分产品不支持某些标准,无非是为了功耗和面积的考量,放弃了主要应用场景之外的视频标准,但本发明对单颗芯片的功耗面积没有那么敏感。

将ai芯片和视频编解码芯片分开放在不同的子板上,独立进行板级设计。一方面,单块板子上放置几颗芯片可以根据板级的功耗和物理连线的复杂度进行评估,另一方面,需要考虑ai芯片和视频编解码芯片之间数据传输量,如果放置芯片过多,可能接口带宽会成为整体性能的瓶颈。在本发明中,子板与主机端通过pcie3.0/4.0连接,以主流的pcie卡半高半长的规格,一般是放置两颗或四颗芯片。相对于异构多核心芯片以及异构多颗芯片的板级设计,在同一块子板上只放置同一款芯片的方案,更容易布局和设计也更加稳定。

ai芯片子卡与视频编解码子卡,并不是一一对应的关系,而是各自构建资源池。也就是说,可以有多块子卡,如果子卡数量较少,可以直接使用主板的pcie接口连接。如果数量较多,需要加入带有pcie交换芯片的交换卡进行连接。

对于ai处理和视频编解码两个资源池之间的数据传输,需要一个控制器。在资源池较小的系统中,可以直接由cpu控制,两个资源池用中断的方式和cpu通信,cpu根据规则发送控制信号完成传输。在资源池较大的系统中,为了保证效率和减少对cpu时间的占用,可以在pcie交换芯片的交换板上加入一个微控制器(嵌入式的单片机、arm处理器都可以),用于管理资源池数据传输。这两种情况分别如图2和图3所示。

单颗ai芯片与单颗或多颗视频编解码芯片不再是固定的对应的关系,而是两个资源池之间的交互。因此对于处理能力的匹配,只需要考虑整体资源池的处理能力大小,以及数据传输带宽的限制(如果单个交换板上接的子卡太多,子卡间通信又过于频繁,可能造成数据拥塞,在这种情况,需要采用更复杂的总线结构,不过一般对于整个系统的设计不可能在单个服务器上放置如此大规模的资源池)。当应用场景和算法的切换造成对资源池处理能力需求之间比例关系的变换时,可以通过去除或增加子卡来解决。

从上述实施例可以看出,本发明实施例提供的ai视频处理方法,通过统一高速接口连接到ai处理资源池中的多个ai计算板卡和视频处理资源池中的多个视频编解码板卡以调用ai处理资源和视频处理资源;响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;基于被分配的ai计算板卡或视频编解码板卡来执行处理任务,并响应于处理任务已完成而解除临时协作关系的技术方案,能够根据需要灵活分配和扩展ai处理能力和视频编解码能力,从而高效地适应不同应用场景算法。

需要特别指出的是,上述ai视频处理方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于ai视频处理方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

基于上述目的,本发明实施例的第二个方面,提出了一种能够快速检查bios中生效的非默认选项的ai视频处理装置的一个实施例。ai视频处理装置包括:

ai处理资源池,包括用于执行ai处理的多个ai计算板卡;

视频处理资源池,包括用于执行视频处理的多个视频编解码板卡;

控制设备,通过统一高速接口连接到多个ai计算板卡和多个视频编解码板卡,包括处理器和存储器,存储器存储有可在处理器上运行的计算机指令,指令由处理器执行时实现以下步骤:

响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;

响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;

调用被分配的ai计算板卡或视频编解码板卡作为ai处理资源和视频处理资源来执行处理任务,并响应于处理任务已完成而解除临时协作关系。

在一些实施方式中,每个ai计算板卡上均设置有型号相同的第一数量的ai计算芯片,每个视频编解码板卡均设置有型号相同的第二数量的视频编解码芯片;第一数量和第二数量基于统一高速接口的带宽、以及ai计算板卡和视频编解码板卡的物理连线复杂度确定。

在一些实施方式中,视频编解码芯片支持的视频编解码包括以下至少之一:mpeg、h.264、h.265、avs、avs+。

在一些实施方式中,控制设备通过主板上的pcie物理接口直接连接多个ai计算板卡和多个视频编解码板卡;和/或装置还包括具有pcie切换芯片的交换板,控制设备经由交换板间接连接多个ai计算板卡和多个视频编解码板卡。

在一些实施方式中,控制设备包括设置在主板上的中央处理器、以及设置在交换板上的单片机和/或arm处理器。

从上述实施例可以看出,本发明实施例提供的ai视频处理装置,通过统一高速接口连接到ai处理资源池中的多个ai计算板卡和视频处理资源池中的多个视频编解码板卡以调用ai处理资源和视频处理资源;响应于接收到处理任务,而基于完成处理任务所需的资源和带宽从ai处理资源池和视频处理资源池中分别分配指定数量的ai计算板卡和视频编解码板卡构成基于处理任务的临时协作关系;响应于由处理任务变化导致的ai处理资源池或视频处理资源池中资源溢出或不足,而引导ai处理资源池或视频处理资源池接入更多的ai计算板卡或视频编解码板卡、或停用多余的ai计算板卡或视频编解码板卡;基于被分配的ai计算板卡或视频编解码板卡来执行处理任务,并响应于处理任务已完成而解除临时协作关系的技术方案,能够根据需要灵活分配和扩展ai处理能力和视频编解码能力,从而高效地适应不同应用场景算法。

需要特别指出的是,上述ai视频处理装置的实施例采用了所述ai视频处理方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述ai视频处理方法的其他实施例中。当然,由于所述ai视频处理方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述ai视频处理装置也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。

以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1