一种软硬协同的多路视频处理装置及系统的制作方法

文档序号:18633426发布日期:2019-09-11 21:55
一种软硬协同的多路视频处理装置及系统的制作方法

本发明涉及信号处理领域,特别涉及一种软硬协同的多路视频处理装置及系统。



背景技术:

随着5G的高速发展,视频会议、电视广播系统、在线教学、视频监控、视频人脸识别等等关于视频通信的使用日益广泛。有关于视频的实时操作,首先需要的是对视频的采集,但是由于视频的清晰度越来越大,对于视频的处理速度要求越来越高。如果直接使用软件处理,其处理速度远比硬件慢;而常用的硬件处理方法中,传统的嵌入式设计方法过于死板,设计周期长,开发成本高,FPGA(Filed-Programmable Gate Array,现场可编程门阵列)可以进行硬件设计,并且具备强大的灵活性,并行计算能力强,运行速度快,适合于设计硬件,但是控制管理能力又比较差。

因此,如何提供一种解决上述技术问题的方案是目前本领域技术人员需要解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种软硬协同的多路视频处理装置及系统,以便能以灵活高效的方法处理视频。其具体方案如下:

一种软硬协同的多路视频处理装置,包括PS系统和PL系统,其中所述PS系统包括ARM模块和DDR模块,所述PL系统包括拼接模块和多组转换模块,其中:

所述ARM模块与所有所述转换模块和所述拼接模块均连接,输出相应的配置信号;

每组所述转换模块均与一个摄像头相连,获取该摄像头的输出信号并将其转换为AXI总线格式的目标数据;

所述DDR模块与所有所述转换模块相连,获取所有所述目标数据并存储;

所述拼接模块与所有所述转换模块相连,获取所有所述目标数据并拼接后向显示器输出。

优选的,所述转换模块包括:

与对应的所述摄像头相连的采集单元,用于采集该摄像头的输出信号并将所述输出信号转换为预设格式;

与所述采集模块相连的转换单元,用于将所述输出信号转换为AXI-stream格式;

与所述转换单元相连的VDMA单元,用于将所述输出信号转换为所述AXI总线格式的目标数据。

优选的,所述VDMA单元具体还用于进行所述目标数据的帧缓存。

优选的,所述拼接模块包括:

时序生成单元,用于生成与所述目标数据和所述显示器的分辨率均对应的时序;

拼接单元,用于拼接多个所述目标数据;

与显示器相连的输出单元,用于将拼接的多个所述目标数据转换为所述显示器对应的格式并输出。

优选的,所述输出单元具体用于将拼接的多个所述目标数据转换为HDMI格式并输出。

优选的,所述拼接单元具体为IP核video on screen display。

优选的,每个所述摄像头的输出信号包括像素数据、场同步信号、行同步信号和时钟信号。

相应的,本发明还公开了一种软硬协同的多路视频处理系统,包括:

多个摄像头、显示器、如上文任一项所述软硬协同的多路视频处理装置。

本发明公开了一种软硬协同的多路视频处理装置,包括PS系统和PL系统,其中所述PS系统包括ARM模块和DDR模块,所述PL系统包括拼接模块和多组转换模块,其中:所述ARM模块与所有所述转换模块和所述拼接模块均连接,输出相应的配置信号;每组所述转换模块均与一个摄像头相连,获取该摄像头的输出信号并将其转换为AXI总线格式的目标数据;所述DDR模块与所有所述转换模块相连,获取所有所述目标数据并存储;所述拼接模块与所有所述转换模块相连,获取所有所述目标数据并拼接后向显示器输出。本发明将PS系统的ARM模块的软件程序与PL系统的硬件程序结合使用,开发周期短,工作时由ARM模块快速配置参数,且能够保证多个摄像头输出数据互不干扰、没有传输错误和拼接错误,工作效率远高于现有技术。

附图说明

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

图1为本发明实施例中一种软硬协同的多路视频处理装置的结构分布图;

图2为本发明实施例中一种软硬协同的多路视频处理系统的结构分布图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如果视频直接使用软件处理,其处理速度远比硬件慢;而常用的硬件处理方法中,传统的嵌入式设计方法过于死板,设计周期长,开发成本高,FPGA(Filed-Programmable Gate Array,现场可编程门阵列)可以进行硬件设计,并且具备强大的灵活性,并行计算能力强,运行速度快,适合于设计硬件,但是控制管理能力又比较差。本发明将PS系统的ARM模块的软件程序与PL系统的硬件程序结合使用,开发周期短,工作时由ARM模块快速配置参数,且能够保证多个摄像头输出数据互不干扰、没有传输错误和拼接错误,工作效率远高于现有技术。

本发明实施例公开了一种软硬协同的多路视频处理装置,参见图1所示,包括PS(Processing System,处理系统)系统1和PL(Programmable Logic,可编程逻辑)系统2,其中PS系统1包括ARM(Advanced RISC Machine)模块11和DDR(Double Data Rate,双倍速率同步动态随机存储器)模块12,PL系统2包括拼接模块21和多组转换模块22,其中:

ARM模块11与所有转换模块22和拼接模块21均连接,输出相应的配置信号;

每组转换模块22均与一个摄像头相连,获取该摄像头的输出信号并将其转换为AXI总线格式的目标数据;

DDR模块12与所有转换模块22相连,获取所有目标数据并存储;

拼接模块21与所有转换模块22相连,获取所有目标数据并拼接后向显示器输出。

可以理解的是,ARM模块11内部为软件程序,通过轻量级的AXI总线AXI-lie输出配置信号,以配置转换模块22、拼接模块21和多个摄像头的相关参数,其中最主要的参数为每个模块的输出分辨率。

其中,摄像头通过DVP接口与多路视频处理装置通信,通信通常按照IIC(Inter-Integrated Circuit,集成电路总线)总线协议,传输相关的数据、时钟时都需要依照摄像头的通信规定。具体的,每个摄像头的输出信号包括像素数据、场同步信号、行同步信号和时钟信号。

由于摄像头可以被配置成多种输出格式,例如RGB565、YCbCr等等,每种输出格式对应不同的数据形式和时序,因此每个转换模块22对输出信号进行转码统一、转换格式等,最终得到AXI总线格式的目标数据。

对于目标数据而言,其传输途径包括两种,一是从转换模块22传输到DDR模块12中进行存储,二是由DDR模块12中取出经过转换模块22传输到拼接模块21中,拼接模块21对所有目标数据进行破解后输出给显示器。

可以理解的是,多路视频处理装置中转换模块22的数量与摄像头的数量均对应视频源的个数,通常选择四路视频处理拼接,达到处理效率与显示效果的较好平衡。除了四路外,还可以选择六路、八路等其他视频源数量进行处理拼接,此处不作限制。

可以理解的是,本实施例中的软硬协同,主要以PS系统1的ARM模块11和PL系统2的结合为主,其中PL系统2实际上是以可编程硬件实现的,通常选择FPGA,因此本实施例可采用FPGA+ARM的SOC(System on chip,片上系统)芯片实现。它可以使软件设计和硬件设计作为一个整体进行设计,找到软硬件的最佳结合点,从而使系统高效工作。其中,ZYNQ是Xilinx公司研制出的SOC开发板,具有ARM+FPGA的软硬件同时可编程特性,可直接应用于本实施例中。

本发明实施例公开了一种软硬协同的多路视频处理装置,包括PS系统和PL系统,其中所述PS系统包括ARM模块和DDR模块,所述PL系统包括拼接模块和多组转换模块,其中:所述ARM模块与所有所述转换模块和所述拼接模块均连接,输出相应的配置信号;每组所述转换模块均与一个摄像头相连,获取该摄像头的输出信号并将其转换为AXI总线格式的目标数据;所述DDR模块与所有所述转换模块相连,获取所有所述目标数据并存储;所述拼接模块与所有所述转换模块相连,获取所有所述目标数据并拼接后向显示器输出。本发明将PS系统的ARM模块的软件程序与PL系统的硬件程序结合使用,开发周期短,工作时由ARM模块快速配置参数,且能够保证多个摄像头输出数据互不干扰、没有传输错误和拼接错误,工作效率远高于现有技术。

本发明实施例公开了一种具体的软硬协同的多路视频处理装置,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的参见图2内最大的框图所示,图2以4个摄像头为例表示。

其中,转换模块22包括:

与对应的摄像头3相连的采集单元221,用于采集该摄像头3的输出信号并将输出信号转换为预设格式;

与采集模块相连的转换单元222,用于将输出信号转换为AXI-stream格式;

与转换单元222相连的VDMA单元223,用于将输出信号转换为AXI总线格式的目标数据。

可以理解的是,摄像头3的输出信号的格式由ARM模块11配置,可以是RGB565、YCbCr等格式,每种格式的输出信号需要进行不同的解码并转换为预设格式,这一步骤由采集单元221实现。

转换单元222将预设格式的输出信号转换为AXI-stream格式,这是一种总线数据格式,同时会生成相关的AXI总线信号、时序等。转换单元222的内部程序可以自定义编写,但是为了缩短研发周期,本实施例中使用了Xilinx官方的IP核,Video in to AXI-Stream。

进一步的,VDMA单元223具体还用于进行目标数据的帧缓存。

可以理解的是,VDMA(Video Direct Memory Access,视频直接存储器存取)单元223通过Xilinx官方提供的IP核实现,具备两种功能:首先是传输转换功能,VDMA单元223能够用于将转换单元222中的AXI-Stream格式的输出信号转化成AXI总线格式,然后通过AXI总线存储到PS系统1中的DDR模块12,以及从DDR模块12里面读取数据;其次是帧缓存功能,VDMA单元223能够进行高效的数据存取,同时大幅提高视频显示效果。

如果不进行帧缓存的话,会造成图像的分层错位,显示出错,因此帧缓存及其帧率匹配的问题,需要在配置开发时注意。

具体的,VDMA单元223每传输完一帧数据到DDR模块12,就会产生一次PS系统1对应端口的中断信号,然后在PS系统1会开下一段地址给DMA模块12存储下一帧图片,完成软硬件的协同设计。值得注意的是,在写进数据的同时,还需要将已经缓存好的数据从DDR模块12中读出来以供拼接模块21处理,而这同样也需要经过AXI总线传输,而读出来的数据自然是AXI总线格式的。

具体的,VDMA单元223需要配置多少帧缓存,并不是越高越好,因为需要考虑到硬件资源的使用情况,帧数设置得越高,硬件资源使用得就越多,经过测试,对于720p的视频,缓存3帧就足够了,这样可以节约更多的硬件资源去执行其他功能。

另外,软件部分PS系统1通过软件代码初始化了4个VDMA单元223,配置VDMA单元223时都是直接应用官方的API(Application Programming Interface),可以将API理解为官方给的用于配置的函数,大大缩短了开发周期,可以更好地契合软硬协同的SOC开发板。

进一步的,拼接模块21包括:

时序生成单元211,用于生成与目标数据和显示器4的分辨率均对应的时序;

拼接单元212,用于拼接多个目标数据;

与显示器4相连的输出单元213,用于将拼接的多个目标数据转换为显示器4对应的格式并输出。

可以理解的是,由于不同的输出分辨率对应的时序不相同,因此在输出单元213需要接收时序生成单元211的时序后再生成显示器4对应的时序,最后将目标数据输出到显示器4上。

具体的,输出单元213具体用于将拼接的多个目标数据转换为HDMI格式并输出,显示器4本身为HDMI显示器,能够以1080p分辨率同时显示多个目标数据的视频。

进一步的,用于拼接目标数据的拼接单元212一般有两种,下面分别对这两种拼接单元212进行介绍:

第一种拼接单元212为开发人员自行编写的IP核,以实现多个目标数据的拼接。前提是输入行/列分辨率*2≤输出行/列分辨率,通过4个VDMA单元223分别根据对应的地址从DDR模块12里取出目标数据,然后对待拼接视频对应的目标数据进行拼接,缺少的像素点则用0表示。这样的处理方法需要对最终显示的帧进行计数才能保证完全显示,而且输入输出的分辨率需要满足一定关系才能拼接,还需要自己手动填写空白,这种拼接单元212的开发耗时且不方便。

第二种拼接单元212采用Xilinx官方提供的IP核Video On Screen Display。利用这个IP核,可以对目标数据对应的多路输入视频进行拼接。这种拼接实际上是重叠,多路输入视频本质是多个在显示屏上可挪动的视频源,将这些视频源一个一个放在显示屏上对应的位置,从最上面看的效果就是最终的显示效果。具体操作如下:设置每一路的视频的行分辨率以及列分辨率,以及他们需要在最终帧当中出现的位置。

当然,这一过程中还可以对视频进行裁剪、缩放、色彩转换、选择透明度等等。为了实现在PS系统1就可以选择输入输出的分辨率,在这里需要通过PS系统1来配置拼接单元212中各路目标数据的位置以及输入输出分辨率,还有各路目标数据的优先等级。

需要注意的是,由于视频源是一个一个叠放在最终的画面中的,如果一个画面无法完全“装”下所有视频源,例如视频输出电压213的输出分辨率是1280*720,而转换模块22的输入分辨率是480*640,明显两个输入视频的行加起来要大于720,势必要进行删减。因此优先等级就很重要了,优先等级越高的视频,就会“叠放”在等级低的视频上面,从而显示出来的效果重叠部分将显示为优先等级高的视频。

本实施例提供了一种软硬件协调的视频采集装置,可以提高摄像头3的采集速率,而且还可进行多个摄像头3的采集、存储、缓存、读取以及拼接,再通过显示屏显示,还能够通过软件配置输出视频的分辨率。

相应的,本发明实施例还公开了一种软硬协同的多路视频处理系统,参见图2所示,包括:

多个摄像头3、显示器4、如上文任一项所述软硬协同的多路视频处理装置。

具体的,有关软硬协同的多路视频处理装置的内容,可以参照上文实施例中相关描述,此处不再赘述。

其中,本实施例中软硬协同的多路视频处理系统具有与上文中软硬协同的多路视频处理装置相同的有益效果。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

以上对本发明所提供的一种软硬协同的多路视频处理装置及系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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