掌桥专利:专业的专利平台
掌桥专利
首页

一种基于ARM的多路PAL视频采集系统及其控制方法

文献发布时间:2023-06-19 18:27:32


一种基于ARM的多路PAL视频采集系统及其控制方法

技术领域

本发明涉及视频数据采集领域,尤其涉及一种基于ARM的多路PAL视频采集系统及其控制方法。

背景技术

PAL是一种广泛采用的视频制式,对于相位失真不敏感,对于传输设备和接收机的技术指标要求较低,因此适用于多路视频监控的场景。

为保证视频数据安全性,一些监控平台不通过公用网络接入摄像头,要求在本地采集监控多个摄像头,视频本地保存,且保证直播效果,对于图像的清晰度、流畅度及对带宽的占用大小、对设备的负载情况同时提出了要求。

发明内容

本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种基于ARM的多路PAL视频采集系统及其控制方法,能够在视频传输质量、网络环境和设备负载之间取得有效平衡。

为解决上述技术问题,本发明提出的技术方案为:

一种基于ARM的多路PAL视频采集系统,包括上位机和ARM片上系统,所述上位机和ARM片上系统的数据传输模块连接,所述数据传输模块还连接有视频数据采集模块、视频数据处理模块和视频数据发送模块,其中:

所述视频数据采集模块用于获取至少两路PAL视频信号数据,将每一路PAL视频信号数据解码为对应的原始视频流数据,并通过数据传输模块发送给视频数据处理模块;

所述视频数据处理模块用于根据上位机的指令得到需求目标,并将每一路原始视频流数据编码为所述需求目标的属性对应的目标视频流,将所述目标视频流通过数据传输模块发送给视频数据发送模块,并且在编码过程中实时根据原始视频流数据质量调整视频码率模式,根据带宽使用情况调整视频码率大小,实时根据ARM片上系统硬件状况调整视频编码方式;

所述视频数据发送模块用于将所述目标视频流分别加入对应需求目标的消息队列,将数据大小达到预设阈值的消息队列发送给对应的需求目标。

进一步的,所述视频数据采集模块包括至少两个与PAL视频源一一对应的PAL视频接口,所述视频数据采集模块通过所述PAL视频接口与对应的PAL视频源连接,所述系统还包括状态数据上报模块,所述状态数据上报模块通过数据传输模块和视频数据采集模块、视频数据发送模块分别连接,用于获取各PAL视频接口的连接状态以及各消息队列的数据发送状态,并将所述连接状态以及数据发送状态通过数据传输模块上报上位机。

进一步的,所述视频数据处理模块将每一路原始视频流数据编码为所述需求目标的属性对应的目标视频流时,对原始视频流数据的属性进行检查,然后查看需求目标的视频流属性,若原始视频流数据的属性和需求目标的视频流属性不一致,调整原始视频流数据的属性为需求目标视频流属性。

进一步的,所述视频数据处理模块实时根据原始视频流数据质量调整视频码率模式时,针对每一路原始视频流数据,统计当前时刻至之前预设时段内该路原始视频流数据的平均码率,若当前时刻该路原始视频流数据的码率相比所述平均码率之差大于第一阈值,调整该路原始视频流数据编码的视频码率模式为可变码率模式,若当前时刻该路原始视频流数据的码率相比所述平均码率之差小于第一阈值,调整该路原始视频流数据编码的视频码率模式为固定码率模式。

进一步的,所述视频数据处理模块根据带宽使用情况调整视频码率大小时,获取当前时刻网络带宽占用情况,若当前时刻空闲网络带宽占比大于上一时刻空闲网络带宽占比,则增大视频码率,若当前时刻空闲网络带宽占比小于上一时刻空闲网络带宽占比,则减小视频码率。

进一步的,所述目标视频流为H264视频数据流,所述视频数据处理模块实时根据ARM片上系统硬件状况调整视频编码方式时,实时获取ARM片上系统的温度和计算资源占用率,若所述温度和计算资源占用率大于第二阈值,视频编码方式采用MP-Main profile或者BP-Baseline Profile,若所述温度和计算资源占用率小于第二阈值,视频编码方式采用HP-High profile。

进一步的,所述视频数据处理模块还根据需求目标调整视频码率模式,若所述需求目标为直播模式,调整每一路原始视频流数据编码的视频码率模式为固定码率模式,若所述需求目标为文件存储模式,调整每一路原始视频流数据编码的视频码率模式为可变码率模式。

本发明还提出任一所述的基于ARM的多路PAL视频采集系统的控制方法,包括以下步骤:

S1)上位机向ARM片上系统发出指令;

S2)若所述指令为开始视频采集的指令,ARM片上系统的视频数据采集模块获取至少两路PAL视频信号数据,将每一路PAL视频信号数据解码为对应的原始视频流数据,并通过ARM片上系统的数据传输模块发送给视频数据处理模块;

S3)视频数据处理模块根据所述指令得到需求目标,并将每一路原始视频流数据编码为所述需求目标的属性对应的目标视频流,将所述目标视频流通过数据传输模块发送给ARM片上系统的视频数据发送模块,并且在编码过程中实时根据原始视频流数据质量调整视频码率模式,根据带宽使用情况调整视频码率大小,实时根据ARM片上系统硬件状况调整视频编码方式。

进一步的,所述步骤S1)之后还包括:

S4)视频数据发送模块将所述目标视频流分别加入对应需求目标的消息队列,将数据大小达到预设阈值的消息队列发送给对应的需求目标。

进一步的,所述步骤S1)之后还包括:

S5)ARM片上系统的状态数据上报模块获取视频数据采集模块的各PAL视频接口的连接状态以及视频数据发送模块的各消息队列的数据发送状态,并将所述连接状态以及数据发送状态通过数据传输模块上报上位机。

与现有技术相比,本发明的优点在于:

本发明在ARM中设置视频数据处理模块,检测输入视频质量的波动程度来调整视频码率模式,检查带宽使用情况来控制视频码率大小,检查本设备硬件状况来控制视频编码方式,并且针对不同的视频流采取不同码率模式,从而能够根据网络的带宽负载情况、本设备负载情况、视频质量波动情况这些影响因子采取合适的码率以及编码方式,有效保证了视频传输质量。

附图说明

图1为本发明实施例的系统结构图。

图2为本发明实施例的步骤示意图。

图例说明:1-上位机、2-ARM片上系统、21-数据传输模块、22-视频数据采集模块、23-视频数据处理模块、24-视频数据发送模块、25-状态数据上报模块。

具体实施方式

以下结合说明书附图和具体优选的实施例对本发明作进一步描述,但并不因此而限制本发明的保护范围。

针对目前一些多路PAL视频采集系统的视频质量不佳的问题,我们发现有以下原因:一是输入设备输入视频质量波动比较大,在一段时间内有剧烈波动,导致视频在这段时间内画质降低,画面模糊。其二,长时间多路传输高质量、高码率的视频,会持续占用网络带宽,导致如果网络有其他需求时,影响整体功能性。其三,长时间多路传输高质量、高码率的视频,会导致视频编码设备长时间负载过高,导致性能下降,视频质量和速度都得不到保障。并且目前的多路PAL视频采集系统主要以FPGA为核心,没有系统能够实现任务调度的功能来解决上述问题。

为了解决上述问题,本实施例提出一种基于ARM的多路PAL视频采集系统,如图1所示,包括上位机1和ARM片上系统2,上位机1和ARM片上系统2的数据传输模块21连接,数据传输模块21还连接有视频数据采集模块22、视频数据处理模块23、视频数据发送模块24和状态数据上报模块25,其中:

上位机1运行windows系统,并且搭载管理软件,与ARM片上系统2的数据传输模块21通过千兆网接口连接,管理软件通过千兆网向ARM片上系统2发送指令,以实现与ARM片上系统2之间的命令输入输出和数据导出功能,包括连接、自检、视频数据采集、视频数据停止采集、视频直播、文件查询、文件下载、文件删除、设备格式化、接口状态信息显示等操作,另外管理软件还可以将存储的视频文件进行压缩,转换成其他视频格式,能够在线播放,而不必使用其他视频播放设备,且在直播时能够随意调整播放时窗口大小,以提高观看体验;

数据传输模块21是ARM片上系统2的处理中间部分,同时是连接上位机1和视频数据采集模块22、视频数据处理模块23、状态数据上报模块25之间的桥梁;

视频数据采集模块22包括与PAL视频源一一对应的PAL视频接口,还包括PAL视频模拟信号处理芯片,PAL视频模拟信号处理芯片输入端通过PAL视频接口连接PAL视频源,且输出端连接数据传输模块21,本实施例的PAL视频源为PAL摄像头,视频数据采集模块22能够连接最多16路PAL摄像头,通过配置PAL视频模拟信号处理芯片的寄存器,调整芯片功能,视频数据采集模块22将收到的每一路PAL视频信号数据解码为对应的原始视频流数据,即YUV数据,然后将每一路原始视频流数据通过数据传输模块21发送给视频数据处理模块23;

视频数据处理模块23根据上位机1的指令对每一路原始视频流数据进行视频编码操作,本实施例中,上位机1的指令中会包括需求目标,如视频数据采集的需求目标可能是外接的存储设备、视频直播的需求目标可能是外接的显示器等播放设备、文件查询和文件下载的需求目标可能是上位机1自身,因此视频数据处理模块23根据上位机1的指令得到需求目标,并将每一路原始视频流数据编码为需求目标的属性对应的H264视频数据流,作为对应的目标视频流,将目标视频流通过数据传输模块21发送给视频数据发送模块24,并且在编码过程中实时根据原始视频流数据质量调整视频码率模式,根据带宽使用情况调整视频码率大小,实时根据ARM片上系统2硬件状况调整视频编码方式;

视频数据发送模块24针对这些编码后的目标视频流,将目标视频流分别加入对应需求目标的消息队列,这些消息队列包括但不限于直播消息队列、文件存储消息队列、文件下载消息队列,这些消息队列中的数据达到预设的阈值之后,例如1Mbit,则将对应消息队列中的数据打包并加密后发送给对应的需求目标,以保证传输安全,需要说明的是,对于直播消息队列中的数据,视频数据发送模块24通过组播组发送,从而使得用户可以通过多个设备接收这些视频数据并查看和使用;

状态数据上报模块25检测前述的PAL视频接口连接状态,并检测前述消息队列中视频数据的发送状态,并将连接状态以及数据发送状态的信息打包成帧,通过组播组发送到上位机1的管理软件。本实施例的状态数据上报模块25还带有与前述的PAL视频接口一一对应的显示灯,当存在连接状态异常的PAL视频接口,控制对应的显示灯显示异常标识(如红灯),从而帮助工作人员定位故障位置。

本实施例的视频数据处理模块23被配置以执行以下功能:

将原始视频流数据编码为需求目标的属性对应的H264视频数据流时,先是对原始视频流数据的属性进行检查,然后查看需求目标的视频流属性,若原始视频流数据的属性和需求目标的视频流属性不一致,调整原始视频流数据的属性为需求目标视频流属性的对应分辨率以及帧率,之后通过编码通道,将原始视频流数据编码成H264视频流,需要说明的是,具体如何将原始视频流数据编码为H264视频数据流,其过程为本领域技术人员熟知的,也不是本方案所讨论的重点,在此不再赘述;

实时根据原始视频流数据质量调整视频码率模式时,针对每一路原始视频流数据,统计当前时刻至之前预设时段内(如当前时刻至之前的10s,具体可以按照实际情况进行调整)该路原始视频流数据的平均码率,若当前时刻该路原始视频流数据的码率相比平均码率之差大于第一阈值(如3bit,具体可以按照实际情况进行调整),调整该路原始视频流数据编码的视频码率模式为VBR即可变码率模式,若当前时刻该路原始视频流数据的码率相比平均码率之差小于第一阈值,调整该路原始视频流数据编码的视频码率模式为CBR即固定码率模式;

根据带宽使用情况调整视频码率大小时,每隔一段时间,如1小时(具体可以按照实际情况进行调整),获取当前时刻网络带宽占用情况,若当前时刻空闲网络带宽占比大于上一时刻空闲网络带宽占比,则增大视频码率,若当前时刻空闲网络带宽占比小于上一时刻空闲网络带宽占比,则减小视频码率;

实时根据ARM片上系统2硬件状况调整视频编码方式时,实时获取ARM片上系统2的温度和计算资源占用率(如CPU性能及内存使用情况),若温度和计算资源占用率大于第二阈值(如温度大于70℃且CPU性能及内存占用均大于70%,具体可以按照实际情况进行调整),视频编码方式采用MP-Main profile或者BP-Baseline Profile,通过降低视频质量来减小设备负担,若温度和计算资源占用率小于第二阈值,视频编码方式采用HP-Highprofile。

除此之外,本实施例的视频数据处理模块23还可以根据需求目标调整视频码率模式,并跳过实时根据原始视频流数据质量调整视频码率模式的相关操作步骤,以减小设备的性能消耗,具体的,若需求目标为直播模式,调整每一路原始视频流数据编码的视频码率模式为固定码率模式以保证视频传输稳定,若需求目标为文件存储模式,调整每一路原始视频流数据编码的视频码率模式为可变码率模式以保证视频质量。

可以看出,本实施例的基于ARM的多路PAL视频采集系统利用ARM的特性,各模块单独设计,具有灵活、可扩展性等优点,稳定性、安全性好、可定制化程度高,并且相比现有多路PAL视频采集系统,在提高视频播放质量上有较大优势。

本实施例还提出了前述的基于ARM的多路PAL视频采集系统的控制方法,如图2所示,包括以下步骤:

S1)上位机1向ARM片上系统2发出指令;上位机1的管理软件在工作人员进行操作时,生成对应的指令,并通过千兆网接口向ARM片上系统2发送始视频采集、停止视频采集、文件上传、文件下载、文件删除、格式化等操作的指令。

对于开始视频采集的指令,ARM片上系统2并行的执行视频数据采集及处理、视频数据发送以及状态数据上报这3个步骤,下面对这3个步骤进行具体说明:

视频数据采集及处理的步骤包括:

S2)ARM片上系统2的视频数据采集模块22获取至少两路PAL视频信号数据,将每一路PAL视频信号数据通过PAL视频模拟信号处理芯片解码为对应的原始视频流数据,并通过ARM片上系统2的数据传输模块21发送给视频数据处理模块23;

视频数据处理模块23根据开始视频采集的指令得到需求目标,需求目标一般为外接的存储设备,操作人员也可以按照实际需求更改需求目标,相对应的,上位机1的管理软件变更开始视频采集的指令中目标字段的值,例如,开始视频采集的指令某字段中,外接的存储设备对应的值为0,外接的播放设备对应的值为1,上位机1对应的值为2,因此视频数据处理模块23读取该字段中的值就得到当前需求目标,并将每一路原始视频流数据进行处理,识别图像属性,对视频进行裁剪、封装、加密、编码,最后生成的H264视频流为所述需求目标的属性对应的目标视频流,相类似的,视频数据处理模块23也可以在目标视频流的某字段赋值,以标识该目标视频流对应哪个需求目标,然后视频数据处理模块23将所述目标视频流通过数据传输模块21发送给ARM片上系统2的视频数据发送模块24,并且在编码过程中实时根据原始视频流数据质量调整视频码率模式,根据带宽使用情况调整视频码率大小,实时根据ARM片上系统2硬件状况调整视频编码方式;

如前所述,所述实时根据原始视频流数据质量调整视频码率模式具体包括:针对每一路原始视频流数据,统计当前时刻至之前预设时段内该路原始视频流数据的平均码率,若当前时刻该路原始视频流数据的码率相比所述平均码率之差大于第一阈值,调整该路原始视频流数据编码的视频码率模式为可变码率模式,若当前时刻该路原始视频流数据的码率相比所述平均码率之差小于第一阈值,调整该路原始视频流数据编码的视频码率模式为固定码率模式;

所述根据带宽使用情况调整视频码率大小具体包括:获取当前时刻网络带宽占用情况,若当前时刻空闲网络带宽占比大于上一时刻空闲网络带宽占比,则增大视频码率,若当前时刻空闲网络带宽占比小于上一时刻空闲网络带宽占比,则减小视频码率;

所述目标视频流为H264视频数据流,所述实时根据ARM片上系统2硬件状况调整视频编码方式具体包括:实时获取ARM片上系统2的温度和计算资源占用率,若所述温度和计算资源占用率大于第二阈值,视频编码方式采用MP-Main profile或者BP-BaselineProfile,若所述温度和计算资源占用率小于第二阈值,视频编码方式采用HP-Highprofile。

视频数据发送的步骤包括:

S3)视频数据发送模块24通过数据传输模块21获取目标视频流,并且将所述目标视频流分别加入对应需求目标的消息队列,将数据大小达到预设阈值的消息队列发送给对应的需求目标;

如前所述,视频数据发送模块24可以根据目标视频流中某些字段的值得到目标视频流对应的需求目标,从而将其加入到对应的消息队列中,然后检查这些消息队列数据是否达到发送大小,达到后,将消息队列中的所有数据取出,然后封装成设置好的数据包,添加保密编码,最后打开组播组,将这些数据包以数据帧的形式发送出去,例如需求目标为上位机1,则通过千兆网接口向上位机1发送这些数据帧。本实施例中,从消息队列中读取数据使用零拷贝,显著提高数据传输延迟,增强在直播端的观看效果。

状态数据上报的步骤包括:

S5)ARM片上系统2的状态数据上报模块25获取视频数据采集模块22的各PAL视频接口的连接状态以及视频数据发送模块24的各消息队列的数据发送状态,并将所述连接状态以及数据发送状态通过数据传输模块21上报上位机1。本实施例中,状态数据上报模块25以一定的时间间隔来获取连接状态以及数据发送状态,并且先获取连接状态,确认所有PAL视频接口状态正常,并有信号输入,再获取数据发送状态,并一起打包后封装成帧并通过组播发送给上位机1,由上位机1确定ARM片上系统2是否准确执行了上位机1所下发的指令。

通过上述步骤,本实施例的方法能够同时实现数据采集、数据处理、数据发送以状态上报分析的功能,面向多路PAL视频源的大量视频数据的采集有较好的适应能力。

上述只是本发明的较佳实施例,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。因此,凡是未脱离本发明技术方案的内容,依据本发明技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均应落在本发明技术方案保护的范围内。

相关技术
  • 一种支持多路PAL视频采集、压缩及传输的计算机装置
  • 基于ARM密集多路步进电机控制系统的信号和电源隔离系统
技术分类

06120115574863