CN116847104A - 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置 - Google Patents

一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置 Download PDF

Info

Publication number
CN116847104A
CN116847104A CN202310930006.8A CN202310930006A CN116847104A CN 116847104 A CN116847104 A CN 116847104A CN 202310930006 A CN202310930006 A CN 202310930006A CN 116847104 A CN116847104 A CN 116847104A
Authority
CN
China
Prior art keywords
video
decoding
data
processing module
video data
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
CN202310930006.8A
Other languages
English (en)
Inventor
蔡荣华
刘庆良
杨阳
岳明
陶洋
刘刚
董建武
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.)
Beijing Scistor Technologies Co ltd
Original Assignee
Beijing Scistor Technologies Co ltd
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 Beijing Scistor Technologies Co ltd filed Critical Beijing Scistor Technologies Co ltd
Priority to CN202310930006.8A priority Critical patent/CN116847104A/zh
Publication of CN116847104A publication Critical patent/CN116847104A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置,涉及音视频处理技术领域。该视频实时分析处理装置包括CPU单元、解码单元和分析单元;CPU单元包括资源初始化模块、视频数据预处理模块和调度处理模块,解码单元上承载解码处理模块,分析单元承载分析处理模块。视频数据预处理模块对原始视频数据进行格式过滤,传输给调度处理模块,调度处理模块给视频数据分配固定的解码处理模块;解码处理模块对视频数据进行解码,并筛选关键帧,最后通过基于PCIE总线的视频数据直接传输技术传送给分析处理模块;分析处理模块对视频数据进行计算处理,输出最终视频分析结果。本发明有效降低了CPU的资源消耗,达到高并发高通量的效果。

Description

一种基于分布式多芯片解码的高通量视频实时分析处理方法 及装置
技术领域
本发明涉及音视频处理技术领域,具体涉及一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置。
背景技术
随着视频编解码技术的发展,视频显示分辨率步入8k时代,未来甚至到16k,在保证图像质量的情况下,传输带宽和视频存储空间始终存在平衡需求,随着硬件层面计算芯片技术发展,通过芯片技术来加速视频的编解码将成为趋势。
以H.264/H.265为代表的新一代视频编码标准渐渐成为了主流,该视频编码标准采用了复杂度较高的压缩算法,虽然获得了很好的视频压缩效果,但是其压缩效率的提高是以压缩算法复杂度的提高为代价的。高清晰度视频使用软件来实现解码,难以达到低延时高通量的效果,必须通过芯片技术才能实现视频的高通量解码和实时播放。
随着高清视频的广泛应用,视频数据量的剧增对计算机中央处理器(CPU)造成了巨大的计算压力,仅通过提高CPU的时钟频率或者使用单芯片来解决这个问题,效果已经不明显或不可能。因此充分利用分布式架构和多芯片来加速视频处理过程,减轻CPU的计算负担已成为趋势。利用分布式架构和多解码芯片强大的并行运算能力,能够大幅度提高系统协作的计算性能,从而将CPU从海量的解码运算中解放出来,更好地完成系统的管理控制工作。
发明内容
本发明针对上述情况,提出了一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置,实现了视频处理的加速,极大提高了视频解码的并发力度,以及视频实时处理的吞吐量,并有效降低了CPU的资源消耗。
所述基于分布式多芯片解码的高通量视频实时分析装置,包括CPU单元、解码单元和分析单元;其中CPU单元包括资源初始化模块、视频数据预处理模块和调度处理模块,解码单元包括若干解码装置,解码装置上承载解码处理模块;分析单元包括若干AI计算卡,AI计算卡上承载分析处理模块。
资源初始化模块负责申请内存资源并初始化,具体包括:对AI计算卡资源进行初始化,对解码芯片资源进行初始化,在AI计算卡上申请基于PCIE总线的视频数据直接传输技术所需要的设备内存,并将内存地址传送给解码芯片;
视频数据预处理模块负责从视频数据源端接收视频数据并存储在缓存队列中,依次读取视频数据进行压缩格式解析,对非H.264/H.265压缩格式的视频过滤处理;
调度处理模块负责视频解码分布式系统统一调度,对经过过滤处理的视频数据,根据解码处理模块的实时状态进行负载均衡的算法调度,将同一个视频文件的视频数据调度到同一个解码处理模块;
解码装置包括PCI金手指硬件装置(pcie finger)、PCIE交换器芯片(pcieswitch)和解码芯片,其中解码芯片是集成了高性能图像处理引擎的专业音视频处理的SoC芯片。每个解码装置含有多个解码芯片,每个解码芯片都运行一个解码处理模块软件。解码处理模块负责将视频数据通过硬件电路加速解码,输出NV12格式的视频解码数据,并筛选视频关键帧,然后将其通过基于PCIE总线的视频数据直接传输技术传送给分析处理模块。
分析处理模块负责通过基于PCIE总线的视频数据直接传输技术接收视频解码数据,对视频解码数据进行图像预处理操作,然后对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算以及后处理计算,最后得到视频分析结果并将结果存储到本地文件。
所述的基于分布式多芯片解码的高通量视频实时分析处理方法,具体步骤如下:
步骤一:从视频数据源端接收原始视频数据,将原始视频数据存储在原始视频缓存队列。
步骤二:从原始视频缓存队列读取原始视频数据,使用视频预处理模块对其进行格式解析,并判断原始视频压缩格式是否为H.264/H.265,如果是,跳转步骤三;否则,对非H.264/H.265压缩格式的原始视频进行过滤处理,视频处理流程结束。
步骤三:调度处理模块对视频解码分布式系统进行统一调度,给原始视频数据分配空闲节点,直至调度算法返回的空闲节点编号不为0。
解码装置、解码芯片和调度处理模块组成一个视频解码分布式系统。
具体为:
调度处理模块首先根据原始视频编号查询视频调度信息表,如果查询到原始视频编号对应的节点编号,说明原始视频编号已经分配了空闲节点编号,依据同一个视频文件的视频数据调度到同一个解码处理模块的原则,调度算法返回已经分配的空闲节点编号;
如果查询不到原始视频编号对应的节点编号,则调度处理模块根据已经注册并且激活状态的解码芯片和AI计算卡的实时状态信息,并利用负载均衡的调度算法计算出优先级最高的空闲的包含解码芯片和AI计算卡的节点,如果有空闲的解码芯片和AI计算卡,调度算法返回空闲节点编号(非0正整数),同时在视频调度信息表记录该原始视频的调度信息;如果没有空闲的解码芯片和AI计算卡,那么调度算法返回空闲节点信息为0,并继续执行调度处理,直至空闲节点编号不为0。
步骤四:调度处理模块根据获取的空闲节点编号,结合解码芯片编号和AI计算芯片编号,对原始视频数据进行封装,将封装后的原始视频数据经过PCIE通道发送给指定的解码芯片。
步骤五:解码处理模块对原始视频数据进行解码,得到视频解码数据,并拷贝到解码芯片的系统内存中。
具体为:
首先,解码处理模块接收调度处理模块发送过来的原始视频数据,将原始视频数据存储到视频待解码缓冲队列。
然后,解码处理模块从视频待解码缓冲队列读取原始视频数据,利用视频解码引擎对原始视频数据进行解码,并输出NV12格式的视频解码数据。
最后,解码处理模块从视频解码引擎的输出通道获取每一帧视频解码数据,并将视频解码数据拷贝到解码芯片的系统内存。
步骤六:解码处理模块利用视频关键帧提取算法对一帧视频解码数据进行关键帧的筛选,并判断筛选结果是否为关键帧,如果是,将视频解码数据存储到视频解码数据缓冲队列,并跳转步骤七;否则,继续获取下一帧视频解码数据的筛选结果,直至所有视频解码数据的关键帧筛选完毕;
根据视频关键帧筛选算法返回的筛选结果来判断否为关键帧,若返回的结果数值是1,则表明该帧视频解码数据是关键帧;若返回的结果数值是0,则表明该帧视频解码数据是非关键帧。
步骤七:解码处理模块从视频解码数据缓冲队列读取视频解码数据,利用基于PCIE总线的视频数据直接传输技术将视频解码数据传输到调度信息指定的AI计算卡。
具体过程为:
将解码芯片设备内存的物理地址设置为DMA控制器的数据传输源地址,将AI计算卡设备内存的物理地址设置为DMA控制器的数据传输目标地址,在解码芯片中的DMA控制器的控制下,解码芯片中的解码芯片设备内存中视频数据经过解码芯片PCIE驱动、解码芯片的pcie finger、pcie总线、AI计算卡的pcie finger和AI计算卡的PCIE驱动等路径传输,直接传输到AI计算卡中的AI计算卡设备内存。
步骤八:在AI计算卡上承载的分析处理模块,利用基于PCIE总线的视频数据直接传输技术接收解码处理模块发送过来的视频解码数据,并将视频解码数据存储到视频待分析缓冲队列。
步骤九,分析处理模块从视频待分析缓冲队列获取视频解码数据,并对视频解码数据进行预处理操作,对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算,输出计算结果。
步骤十:分析处理模块利用后处理算法对计算结果进行后处理计算,并输出最终视频分析结果,存储到文件,视频处理流程结束。
本发明的优点和积极效果在于:
(1)本发明基于分布式多芯片解码的高通量视频实时分析处理装置,引入了解码装置,组建了视频解码分布式系统,并利用了硬件电路加速解码能力和分布式系统的并行计算能力,实现了分布式多芯片的并行视频解码,相对于CPU解码,极大提高了视频解码的并发力度,极大地提升了视频实时处理的吞吐量,有效降低了CPU的资源消耗,达到高并发高通量的效果。视频解码分布式系统每个物理节点都是相互独立的,也极大提升了系统的稳定性。
(2)本发明基于分布式多芯片解码的高通量视频实时分析处理方法,在解码芯片与AI计算卡之间实现了基于PCIE总线的视频数据直接传输技术的视频数据传输,相比于传统的PCIE设备到CPU到PCIE设备的数据传输,不需要宿主机的CPU和系统内存参与,极大提升了解码芯片与AI计算卡之间视频解码数据传输性能,有效降低了CPU的资源消耗,达到高并发高通量的效果。
附图说明
图1为本发明基于分布式多芯片解码的高通量视频实时分析处理装置的总体框架结构示意图;
图2为本发明基于分布式多芯片解码的高通量视频实时分析处理装置中的解码装置结构示意图;
图3为本发明基于分布式多芯片解码的高通量视频实时分析处理方法的基于PCIE总线的视频数据直接传输技术的流程示意图;
图4为本发明基于分布式多芯片解码的高通量视频实时分析处理方法的视频实时分析处理的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图和实施例,对本发明的技术方案作进一步详细说明。
本发明提供一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置,引入了解码装置,组建了视频解码分布式系统,支持H.264/H.265视频的分布式多芯片的高并行高通量解码;在解码芯片与AI计算卡之间实现了基于PCIE总线的视频数据直接传输技术,提升了视频处理的效率,有效降低CPU占用率。
一种基于分布式多芯片解码的高通量视频实时分析处理装置的总体框架结构,如图1所示,包括CPU单元、解码单元和分析单元;CPU单元包括资源初始化模块、视频数据预处理模块和调度处理模块,解码单元包括若干解码装置,解码装置上承载解码处理模块;分析单元包括若干AI计算卡,AI计算卡上承载分析处理模块。
资源初始化模块负责申请原始视频缓存队列等内存资源并初始化,对AI计算卡资源进行初始化,对解码芯片资源进行初始化,在AI计算卡上申请基于PCIE总线的视频数据直接传输技术所需要的设备内存,并将内存地址传送给解码芯片;
视频预处理模块负责从视频数据源端接收视频数据并存储在缓存队列中,依次读取视频数据进行压缩格式解析,对非H.264/H.265压缩格式的视频过滤处理;
调度处理模块负责视频解码分布式系统统一调度,对经过过滤处理的视频数据,根据解码处理模块的实时状态进行负载均衡的算法调度,将同一个视频文件的视频数据调度到同一个解码处理模块;
解码处理模块承载于解码芯片,负责将视频数据通过硬件电路加速解码,输出NV12格式的视频解码数据,并筛选视频关键帧,然后将其通过基于PCIE总线的视频数据直接传输技术传送给分析处理模块;
分析处理模块承载于AI计算卡,负责通过基于PCIE总线的视频数据直接传输技术接收视频解码数据,对视频解码数据进行图像预处理操作,然后对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算以及后处理计算,最后得到分析结果并将结果存储到本地文件。AI计算卡是指专门用于处理人工智能应用中的大量计算任务的模块,例如GPU(图形处理器)卡。
解码装置结构如图2所示,包括pcie finger、pcie switch和多个解码芯片,其中pcie finger是PCI金手指硬件装置,pcie switch是PCIE交换器芯片,解码芯片是集成了高性能图像处理引擎的专业音视频处理的SoC芯片。每个解码装置含有多个解码芯片,每个解码芯片都运行一个解码处理模块软件。
解码装置、解码芯片和调度处理模块组成一个视频解码分布式系统,实现了分布式多芯片的高并行高通量的视频解码。假如系统包含N个解码装置,每个解码装置包含K个解码芯片,那么系统一共包含N×K个解码芯片。每个解码芯片都是视频解码分布式系统的一个物理节点,视频解码分布式系统一共包含N×K个物理节点。每个芯片节点都运行一个解码处理模块软件,都能独立进行H.264/H.265压缩格式的视频解码并输出NV12格式的视频解码数据。
在视频解码时,为了保证解码数据的完整性和正确性,将同一个视频文件的视频数据送到同一个解码芯片进行处理。
为了保证视频解码分布式系统高效处理,在调度处理模块采用负载均衡的调度算法对所有的物理节点进行统一调度,尽可能让N×K个物理节点都能同时并行进行视频解码并达到最大的处理性能,实现分布式多芯片的高并发高通量解码效果。
本发明提供的基于PCIE总线的视频数据直接传输技术的流程,如图3中的虚线所示,是在解码芯片与AI计算卡之间视频数据传输流程,具体为:
资源初始化时,在AI计算卡上申请一块连续的设备内存,并获取设备内存的物理地址(AIPhyAddr),将AIPhyAddr通过PCIE的BAR空间传送给解码芯片上运行的解码处理模块。
在解码芯片上,首先申请一块连续地址的DMA内存(dmaAddr)。设置DMA控制器,将dmaAddr设置为DMA控制器的数据传输源地址,将AIPhyAddr设置为DMA控制器的数据传输目标地址。
在解码芯片解码时,输出NV12格式的视频解码数据,将视频解码数据拷贝到dmaAddr。创建DMA传输任务,开始DMA数据传输。在数据传输结束时,DMA控制器触发数据传输结束的中断信号,一次视频解码数据的DMA传输结束。同时解码处理模块将DMA传输结束消息通过PCIE的BAR空间传输给AI计算卡上运行的分析处理模块。
在AI计算卡上,申请一块内存作为解码数据缓冲区。分析处理模块通过PCIE的BAR空间接收到DMA传输结束消息,将AIPhyAddr的内存数据拷贝到解码数据缓冲区,同时将AIPhyAddr的内存空闲的消息通过PCIE的BAR空间传输给解码处理模块。
将解码芯片设备内存的物理地址设置为DMA控制器的数据传输源地址,将AI计算卡设备内存的物理地址设置为DMA控制器的数据传输目标地址,在解码芯片中的DMA控制器的控制下,解码芯片中的解码芯片设备内存中视频数据经过解码芯片PCIE驱动、解码芯片的pcie finger、pcie总线、AI计算卡的pcie finger和AI计算卡的PCIE驱动等路径传输,直接传输到AI计算卡中的AI计算卡设备内存。整个视频数据传输过程,不需要宿主机的CPU和系统内存参与,极大提升了解码芯片与AI计算卡之间视频解码数据传输性能,有效降低了CPU的资源消耗。
本发明的视频实时分析处理流程,如图4所示,下面结合图4进行详细说明:
步骤一:从视频数据源端接收原始视频数据,将原始视频数据存储在原始视频缓存队列。
步骤二:从原始视频缓存队列读取原始视频数据,使用视频预处理模块对其进行格式解析,并判断原始视频压缩格式是否为H.264/H.265,如果是,跳转步骤三;否则,对非H.264/H.265压缩格式的原始视频进行过滤处理,视频处理流程结束。
步骤三:调度处理模块对视频解码分布式系统进行统一调度,给原始视频数据分配空闲节点,直至调度算法返回的空闲节点编号不为0。
调度处理模块首先根据原始视频编号查询视频调度信息表,如果查询到原始视频编号对应的节点编号,说明原始视频编号已经分配了空闲节点编号,依据同一个视频文件的视频数据调度到同一个解码处理模块的原则,调度算法返回已经分配的空闲节点编号;
如果查询不到原始视频编号对应的节点编号,则调度处理模块根据已经注册并且激活状态的解码芯片和AI计算卡的实时状态信息,并利用负载均衡的调度算法计算出优先级最高的空闲的包含解码芯片和AI计算卡的节点,如果有空闲的解码芯片和AI计算卡,调度算法返回空闲节点编号(非0正整数),同时在视频调度信息表记录该原始视频的调度信息;如果没有空闲的解码芯片和AI计算卡,那么调度算法返回空闲节点信息为0,继续执行调度处理,直至空闲节点编号不为0。
步骤四:调度处理模块根据获取的空闲节点编号,结合解码芯片编号和AI计算芯片编号,对原始视频数据进行封装,将封装后的原始视频数据经过PCIE通道发送给指定的解码芯片。
步骤五:解码处理模块接收调度处理模块发送过来的原始视频数据,并将原始视频数据存储到视频待解码缓冲队列。
步骤六:解码处理模块从视频待解码缓冲队列读取原始视频数据,利用视频解码引擎对视频原始数据进行解码,并输出NV12格式的视频解码数据。
步骤七:解码处理模块从视频解码引擎的输出通道获取每一帧视频解码数据,并将视频解码数据拷贝到解码芯片的系统内存。
步骤八:解码处理模块利用视频关键帧提取算法对一帧视频解码数据进行关键帧的筛选,并返回关键帧筛选结果,判断关键帧筛选结果是否为关键帧,如果是,将视频解码数据存储到视频解码数据缓冲队列,并跳转步骤九;否则,返回步骤七,继续获取下一帧视频解码数据,直至所有视频解码数据的关键帧筛选完毕;
判断关键帧筛选结果的过程如下:
根据视频关键帧筛选算法返回的筛选结果来判断,若返回的结果数值是1,则表明该帧视频解码数据是关键帧;若返回的结果数值是0,则表明该帧视频解码数据是非关键帧。
步骤九:解码处理模块从视频解码数据缓冲队列读取视频解码数据,利用基于PCIE总线的视频数据直接传输技术将视频解码数据传输到调度信息指定的AI计算卡。
步骤十:在AI计算卡上承载的分析处理模块,利用基于PCIE总线的视频数据直接传输技术接收解码处理模块发送过来的视频解码数据,并将视频解码数据存储到视频待分析缓冲队列。
步骤十一:分析处理模块从视频待分析缓冲队列获取视频解码数据,并对视频解码数据进行图像变换等预处理操作。
步骤十二:分析处理模块对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算,并输出计算结果。
步骤十三:分析处理模块利用后处理算法对计算结果进行后处理计算,并输出最终视频分析结果。
步骤十四:分析处理模块将视频解码数据的最终视频分析结果存储到文件,视频处理流程结束。
应该注意到并理解,在不脱离后附的权利要求所要求的本发明的精神和范围的情况下,能够对上述详细描述的本发明做出各种修改和改进。因此,要求保护的技术方案的范围不受所给出的任何特定示范教导的限制。

Claims (8)

1.一种基于分布式多芯片解码的高通量视频实时分析处理装置,其特征在于,包括CPU单元、解码单元和分析单元;其中CPU单元包括资源初始化模块、视频数据预处理模块和调度处理模块;解码单元包括若干解码装置,解码装置上承载解码处理模块;分析单元包括若干AI计算卡,AI计算卡上承载分析处理模块;
资源初始化模块负责申请内存资源并初始化;
视频数据预处理模块负责从视频数据源端接收视频数据并存储在缓存队列中,依次读取视频数据进行压缩格式解析,对非H.264/H.265压缩格式的视频过滤处理;
调度处理模块负责视频解码分布式系统统一调度,对经过过滤处理的视频数据,根据解码处理模块的实时状态进行负载均衡的算法调度,将同一个视频文件的视频数据调度到同一个解码处理模块;
解码装置包括PCI金手指硬件装置、PCIE交换器芯片和解码芯片,每个解码装置含有多个解码芯片,每个解码芯片运行一个解码处理模块;解码处理模块负责将视频数据通过硬件电路加速解码,输出NV12格式的视频解码数据,并筛选视频关键帧,然后将其通过基于PCIE总线的视频数据直接传输技术传送给分析处理模块;
解码装置、解码芯片和调度处理模块组成一个视频解码分布式系统;
分析处理模块负责通过基于PCIE总线的视频数据直接传输技术接收视频解码数据,对视频解码数据进行图像预处理操作,然后对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算以及后处理计算,最后得到视频分析结果并将结果存储到本地文件;
视频数据预处理模块对原始视频数据进行格式过滤,并将处理后的视频数据传输给调度处理模块,调度处理模块给视频数据分配指定的解码处理模块;解码处理模块对视频数据进行解码,并筛选关键帧,最后通过基于PCIE总线的视频数据直接传输技术传送给分析处理模块;分析处理模块对视频数据进行计算处理,输出最终视频分析结果。
2.根据权利要求1所述的一种基于分布式多芯片解码的高通量视频实时分析处理装置,其特征在于,资源初始化模块具体负责:对AI计算卡资源进行初始化,对解码芯片资源进行初始化,在AI计算卡上申请基于PCIE总线的视频数据直接传输技术所需要的设备内存,并将内存地址传送给解码芯片。
3.根据权利要求1所述的一种基于分布式多芯片解码的高通量视频实时分析处理装置,其特征在于,所述解码芯片是集成了高性能图像处理引擎的专业音视频处理的SoC芯片。
4.基于权利要求1所述的一种基于分布式多芯片解码的高通量视频实时分析处理装置的视频实时分析处理方法,其特征在于,具体步骤如下:
步骤一:从视频数据源端接收原始视频数据,将原始视频数据存储在原始视频缓存队列;
步骤二:从原始视频缓存队列读取原始视频数据,使用视频预处理模块对其进行格式解析,并判断原始视频压缩格式是否为H.264/H.265,如果是,跳转步骤三;否则,对非H.264/H.265压缩格式的原始视频进行过滤处理,视频处理流程结束;
步骤三:调度处理模块对视频解码分布式系统进行统一调度,给原始视频数据分配空闲节点,直至调度算法返回的空闲节点编号不为0;
步骤四:调度处理模块根据获取的空闲节点编号,结合解码芯片编号和AI计算芯片编号,对原始视频数据进行封装,将封装后的原始视频数据经过PCIE通道发送给指定的解码芯片;
步骤五:解码处理模块对原始视频数据进行解码,得到视频解码数据,并拷贝到解码芯片的系统内存中;
步骤六:解码处理模块利用视频关键帧提取算法对一帧视频解码数据进行关键帧的筛选,并判断筛选结果是否为关键帧,如果是,将视频解码数据存储到视频解码数据缓冲队列,并跳转步骤七;否则,继续获取下一帧视频解码数据的筛选结果,直至所有视频解码数据的关键帧筛选完毕;
步骤七:解码处理模块从视频解码数据缓冲队列读取视频解码数据,利用基于PCIE总线的视频数据直接传输技术将视频解码数据传输到调度信息指定的AI计算卡;
步骤八:在AI计算卡上承载的分析处理模块,利用基于PCIE总线的视频数据直接传输技术接收解码处理模块发送过来的视频解码数据,并将视频解码数据存储到视频待分析缓冲队列;
步骤九,分析处理模块从视频待分析缓冲队列获取视频解码数据,并对视频解码数据进行预处理操作,对预处理后的视频解码数据进行AI模型推理或者视频图像算法计算,输出计算结果;
步骤十:分析处理模块利用后处理算法对计算结果进行后处理计算,并输出最终视频分析结果,存储到文件,视频处理流程结束。
5.根据权利要求4所述的视频实时分析处理方法,其特征在于,调度处理模块给原始视频数据分配空闲节点,具体过程为:
调度处理模块首先根据原始视频编号查询视频调度信息表,如果查询到原始视频编号对应的节点编号,说明原始视频编号已经分配了空闲节点编号,依据同一个视频文件的视频数据调度到同一个解码处理模块的原则,调度算法返回已经分配的空闲节点编号;
如果查询不到原始视频编号对应的节点编号,则调度处理模块根据已经注册并且激活状态的解码芯片和AI计算卡的实时状态信息,并利用负载均衡的调度算法计算出优先级最高的空闲的包含解码芯片和AI计算卡的节点,如果有空闲的解码芯片和AI计算卡,调度算法返回空闲节点编号为非0正整数,同时在视频调度信息表记录该原始视频的调度信息;如果没有空闲的解码芯片和AI计算卡,那么调度算法返回空闲节点信息为0,并继续执行调度处理,直至空闲节点编号不为0。
6.根据权利要求4所述的视频实时分析处理方法,其特征在于,所述步骤五中,解码处理模块对原始视频数据进行解码,具体为:
首先,解码处理模块接收调度处理模块发送过来的原始视频数据,将原始视频数据存储到视频待解码缓冲队列;
然后,解码处理模块从视频待解码缓冲队列读取原始视频数据,利用视频解码引擎对原始视频数据进行解码,并输出NV12格式的视频解码数据;
最后,解码处理模块从视频解码引擎的输出通道获取每一帧视频解码数据,并将视频解码数据拷贝到解码芯片的系统内存。
7.根据权利要求4所述的视频实时分析处理方法,其特征在于,所述步骤六中,判断筛选结果是否为关键帧,根据视频关键帧筛选算法返回的筛选结果进行判断,若返回的结果数值是1,则表明该帧视频解码数据是关键帧;若返回的结果数值是0,则表明该帧视频解码数据是非关键帧。
8.根据权利要求4所述的视频实时分析处理方法,其特征在于,所述步骤七中,基于PCIE总线的视频数据直接传输技术将视频解码数据从解码处理模块传输到AI计算卡,具体过程为:
将解码芯片设备内存的物理地址设置为DMA控制器的数据传输源地址,将AI计算卡设备内存的物理地址设置为DMA控制器的数据传输目标地址,在解码芯片中的DMA控制器的控制下,解码芯片中的解码芯片设备内存中视频数据经过解码芯片PCIE驱动、解码芯片的pcie finger、pcie总线、AI计算卡的pcie finger和AI计算卡的PCIE驱动的路径传输,直接传输到AI计算卡中的AI计算卡设备内存。
CN202310930006.8A 2023-07-27 2023-07-27 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置 Pending CN116847104A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310930006.8A CN116847104A (zh) 2023-07-27 2023-07-27 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310930006.8A CN116847104A (zh) 2023-07-27 2023-07-27 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置

Publications (1)

Publication Number Publication Date
CN116847104A true CN116847104A (zh) 2023-10-03

Family

ID=88161729

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310930006.8A Pending CN116847104A (zh) 2023-07-27 2023-07-27 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置

Country Status (1)

Country Link
CN (1) CN116847104A (zh)

Similar Documents

Publication Publication Date Title
US20060161720A1 (en) Image data transmission method and system with DMAC
CN105407356B (zh) 高速实时jpeg2000解码方法
US20230214338A1 (en) Data moving method, direct memory access apparatus and computer system
CN106454354B (zh) 一种avs2并行编码处理系统及方法
US10146468B2 (en) Addressless merge command with data item identifier
CN113568731B (zh) 一种任务调度方法、芯片以及电子设备
CN109451317A (zh) 一种基于fpga的图像压缩系统及方法
CN112235579A (zh) 视频处理方法、计算机可读存储介质及电子设备
CN111694643B (zh) 一种面向图神经网络应用的任务调度执行系统及方法
CN108921289B (zh) 一种fpga异构加速方法、装置及系统
CN107920253B (zh) 一种基于gpu的视频处理方法
WO2022011841A1 (zh) Gpgpu中簇的实现方法、装置、终端及介质
CN113286174A (zh) 视频抽帧方法、装置、电子设备、计算机可读存储介质
WO2023124428A1 (zh) 芯片、加速卡以及电子设备、数据处理方法
CN110502337B (zh) 针对Hadoop MapReduce中混洗阶段的优化系统
CN116847104A (zh) 一种基于分布式多芯片解码的高通量视频实时分析处理方法及装置
CN112559404B (zh) 一种数据调度装置、方法和加速处理芯片
CN112468414B (zh) 一种云计算多级调度方法、系统及存储介质
CN114399034B (zh) 用于直接存储器访问装置的数据搬运方法
WO2020232682A1 (zh) 一种硬件并行压缩的系统及方法
CN212873459U (zh) 一种用于数据压缩存储的系统
US20230214340A1 (en) Data moving method for direct memory access apparatus
CN111274049A (zh) 一种基于异构并行加速的高效多路视频分析方法
CN111382855B (zh) 数据处理装置、方法、芯片及电子设备
CN116502576B (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