预监输入视频信号的方法、装置和设备与流程

文档序号:23795425发布日期:2021-02-02 08:53阅读:189来源:国知局
预监输入视频信号的方法、装置和设备与流程

[0001]
本发明实施例涉及视频监控技术领域,尤其涉及一种预监输入视频信号的方法、装置和设备。


背景技术:

[0002]
在视频监控领域,对于监控中心的电视墙操作人员,由于电视墙规模的限制,除了通过解码控制设备将视频信号解码上墙显示外,往往还需要能够在操作客户端软件上也能预览视频信号,一方面便于操作人员查看点位有无异常,另一方面也能提前识别某些点位是否存在需要关注的信息。
[0003]
现有的方案是通过pc客户端直接预览输入视频信号码流来显示。具体的方案是,pc客户端与电视墙控制设备建立网络连接,电视墙控制设备内部对线缆接入的视频信号先进行编码压缩,得到编码流,然后将编码流通过实时流传输协议(real time streaming protocol,以下简称rtsp)实时传输给pc客户端,pc客户端得到编码流后调用客户端自带的播放库对编码流进行解码,然后在pc客户端上进行播放。
[0004]
现有方案存在的缺点是输入视频信号要进行编码压缩,pc客户端要进行解码,pc客户端显示的图像与实际会存在一定时间差,另外该方案对客户端的要求较高,需要依赖pc客户端自带的图像解码播放功能。


技术实现要素:

[0005]
本发明实施例提供一种预监输入视频信号的方法、装置和设备,以解决现有方案在客户端显示的图像与实际输入视频信号时间差较大,且对客户端要求较高的问题。
[0006]
第一方面,本发明实施例提供一种预监输入视频信号的方法,应用于电视墙控制设备,所述方法包括:
[0007]
获取客户端发送的预览请求,所述预览请求中携带有所述客户端预览配置的分辨率信息;
[0008]
根据所述预览请求对输入视频信号进行处理,得到多帧缩略图,所述输入视频信号是从视频输入设备获取的;
[0009]
将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图。
[0010]
在一种可能的实现方式中,所述根据所述预览请求对输入视频信号进行处理,得到多帧缩略图,包括:
[0011]
根据第一预设时间间隔从所述输入视频信号中获取多帧视频图像;
[0012]
根据所述分辨率信息对多帧所述视频图像进行缩放处理,得到多帧待处理缩略图;
[0013]
对多帧所述待处理缩略图进行配置处理,得到多帧所述缩略图。
[0014]
在一种可能的实现方式中,所述根据所述分辨率信息对多帧所述视频图像进行缩
放处理,得到多帧待处理缩略图,包括:
[0015]
根据所述分辨率信息获取客户端预览配置的宽高信息,所述宽高信息用于指示客户端预览配置的显示画面的尺寸;
[0016]
根据所述宽高信息对多帧所述视频图像进行缩放处理,得到多帧所述待处理缩略图。
[0017]
在一种可能的实现方式中,所述缩略图为位图格式的图像,所述对多帧所述待处理缩略图进行配置处理,得到多帧所述缩略图,包括:
[0018]
对于每一帧所述待处理缩略图,根据所述宽高信息,组装对应的位图信息头数据结构和位图文件头数据结构,得到对应的位图格式的所述缩略图;
[0019]
将每一帧位图格式的所述缩略图依次存储,得到多帧所述缩略图。
[0020]
在一种可能的实现方式中,将多帧所述缩略图依次发送给所述客户端,包括:
[0021]
确认与所述客户端之间保持网络连接;
[0022]
读取多帧所述缩略图,将多帧所述缩略图按照所述第一预设时间间隔依次发送给所述客户端。
[0023]
在一种可能的实现方式中,所述确认与所述客户端之间保持网络连接,包括:
[0024]
建立与所述客户端之间的网络心跳线程;
[0025]
根据第二预设时间间隔向所述客户端发送心跳包;
[0026]
接收所述客户端发送的心跳包响应,根据所述心跳包响应确认与所述客户端之间保持网络连接。
[0027]
第二方面,本发明实施例提供一种预监输入视频信号的装置,所述装置包括:
[0028]
获取模块,用于获取客户端发送的预览请求,所述预览请求中携带有客户端预览配置的分辨率信息;
[0029]
处理模块,用于根据所述预览请求对输入视频信号进行处理,得到多帧缩略图,所述输入视频信号是从视频输入设备获取的;
[0030]
发送模块,用于将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图。
[0031]
在一种可能的实现方式中,所述处理模块具体用于:
[0032]
根据第一预设时间间隔从所述输入视频信号中获取多帧视频图像;
[0033]
根据所述分辨率信息对多帧所述视频图像进行缩放处理,得到多帧待处理缩略图;
[0034]
对多帧所述待处理缩略图进行配置处理,得到多帧所述缩略图。
[0035]
在一种可能的实现方式中,所述处理模块具体用于:
[0036]
根据所述分辨率信息获取客户端预览配置的宽高信息,所述宽高信息用于指示客户端预览配置的显示画面的尺寸;
[0037]
根据所述宽高信息对多帧所述视频图像进行缩放处理,得到多帧所述待处理缩略图。
[0038]
在一种可能的实现方式中,所述缩略图为位图格式的图像,所述处理模块具体用于:
[0039]
对于每一帧所述待处理缩略图,根据所述宽高信息,组装对应的位图信息头数据
结构和位图文件头数据结构,得到对应的位图格式的所述缩略图;
[0040]
将每一帧位图格式的所述缩略图依次存储,得到多帧所述缩略图。
[0041]
在一种可能的实现方式中,所述发送模块具体用于:
[0042]
确认与所述客户端之间保持网络连接;
[0043]
读取多帧所述缩略图,将多帧所述缩略图按照所述第一预设时间间隔依次发送给所述客户端。
[0044]
在一种可能的实现方式中,所述发送模块具体用于:
[0045]
建立与所述客户端之间的网络心跳线程;
[0046]
根据第二预设时间间隔向所述客户端发送心跳包;
[0047]
接收所述客户端发送的心跳包响应,根据所述心跳包响应确认与所述客户端之间保持网络连接。
[0048]
第三方面,本发明实施例提供一种预监输入视频信号的设备,包括:至少一个处理器和存储器;
[0049]
所述存储器存储计算机执行指令;
[0050]
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如第一方面任一项所述的预监输入视频信号的方法。
[0051]
第四方面,本发明实施例提供一种预监输入视频信号的设备,包括:arm处理器、fpga、第一内存以及第二内存,其中:
[0052]
所述arm处理器用于获取客户端发送的预览请求,并根据所述预览请求配置fpga对输入视频信号进行处理,所述预览请求中携带有所述客户端预览配置的分辨率信息;
[0053]
所述fpga用于根据所述预览请求对输入视频信号进行处理,得到多帧待处理缩略图;将多帧所述待处理缩略图依次存入所述第一内存中,并向所述arm处理器发送中断指令,其中,所述第一内存为所述arm处理器和所述fpga均可访问的内存;
[0054]
所述arm处理器还用于在接收到所述中断指令后,从所述第一内存中获取多帧所述待处理缩略图,对多帧所述待处理缩略图进行配置处理,得到多帧缩略图;将多帧所述缩略图存入所述第二内存中;从所述第二内存中依次读取多帧所述缩略图,并将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图,其中,所述第二内存为所述arm处理器可以访问的内存。
[0055]
在一种可能的实现方式中,所述fpga具体用于:
[0056]
根据所述分辨率信息获取客户端预览配置的宽高信息,所述宽高信息用于指示客户端预览配置的显示画面的尺寸;
[0057]
根据所述宽高信息对多帧所述视频图像进行缩放处理,得到多帧所述待处理缩略图,并将多帧所述待处理缩略图存入所述第一内存中。
[0058]
在一种可能的实现方式中,所述缩略图为位图格式的图像,所述arm处理器具体用于:
[0059]
对于每一帧所述待处理缩略图,根据所述宽高信息,组装对应的位图信息头数据结构和位图文件头数据结构,得到对应的位图格式的所述缩略图;
[0060]
将每一帧位图格式的所述缩略图依次存储至所述第二内存中,得到多帧所述缩略图。
[0061]
在一种可能的实现方式中,所述arm处理器具体还用于:
[0062]
确认与所述客户端之间保持网络连接;
[0063]
从所述第二内存中读取多帧所述缩略图,将多帧所述缩略图按照所述第一预设时间间隔依次发送给所述客户端。
[0064]
在一种可能的实现方式中,所述arm处理器具体还用于:
[0065]
建立与所述客户端之间的网络心跳线程;
[0066]
根据第二预设时间间隔向所述客户端发送心跳包;
[0067]
接收所述客户端发送的心跳包响应,根据所述心跳包响应确认与所述客户端之间保持网络连接。
[0068]
第五方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如第一方面任一项所述的预监输入视频信号的方法。
[0069]
本发明实施例提供的预监输入视频信号的方法、装置和设备,在电视墙控制设备获取到客户端发送的预览请求后,根据预览请求对输入视频信号进行处理,得到多帧缩略图,然后根据缩略图中携带的时间信息,将多帧缩略图依次发送给客户端,以供客户端依次显示每一帧缩略图。本发明实施例提供的方法,在预监输入视频信号时,无需对输入视频信号进行编码压缩,因此客户端收到信号后无需进行解码,减小了实际输入视频信号和客户端显示的图像之间的时间差,同时本发明实施例提供的方案对客户端的要求较低,无需客户端具备图像解码播放功能,适用性更广,通过依次显示多帧缩略图,在客户端呈现出动态视频图像的效果,从而实现对输入视频信号的预览监控。
附图说明
[0070]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0071]
图1为本发明实施例提供的预监输入视频信号的应用场景示意图;
[0072]
图2为本发明实施例提供的预监输入视频信号的方法的流程示意图;
[0073]
图3为本发明实施例提供的电视墙控制设备的结构示意图;
[0074]
图4为本发明实施例提供的各设备部署示意图;
[0075]
图5为本发明实施例提供的电视墙控制设备内部的通信流示意图;
[0076]
图6为本发明实施例提供的获取缩略图的流程示意图;
[0077]
图7为本发明实施例提供的电视墙控制设备内部arm处理器的处理流程示意图;
[0078]
图8为本发明实施例提供的电视墙控制设备内部fpga的处理流程示意图;
[0079]
图9为本发明实施例提供的电视墙控制设备与客户端之间的网络心跳线程图;
[0080]
图10为本发明实施例提供的电视墙控制设备与客户端之间的图像传输线程图;
[0081]
图11为本发明实施例提供的客户端对输入视频信号的预监显示示意图;
[0082]
图12为本发明实施例提供的输入视频信号当前时刻显示示意图;
[0083]
图13为本发明实施例提供的预监输入视频信号的装置的结构示意图;
[0084]
图14为本发明实施例提供的预监输入视频信号的设备的硬件结构示意图;
[0085]
图15为本发明又一实施例提供的预监输入视频信号的设备的硬件结构示意图。
具体实施方式
[0086]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0087]
图1为本发明实施例提供的预监输入视频信号的应用场景示意图,如图1所示,包括电视墙控制设备11、客户端12、电视墙13和视频输入设备14,其中,电视墙控制设备11和客户端12之间通过无线网络连接,视频输入设备14和电视墙控制设备11之间通过线缆连接,上述设备之间的连接方式仅为举例,不造成连接方式的限定,例如,电视墙控制设备12和客户端12之间通过有线网络连接等。
[0088]
视频输入设备14可以为电脑、服务器或网络摄像机等实体设备,用于向电视墙控制设备11传输输入视频信号。电视墙13具体可以为一个显示屏或投影幕布,电视墙控制设备11可以将ipc/nvp信号图像解码之间放到电视墙13上进行显示,通常,电视墙13的尺寸较大,能够方便的对视频进行监控。客户端12可以为电脑、手机或平板等终端,用于提前预览输入视频信号,以便查阅接入的视频信号的显示情况。
[0089]
在具体实现中,操作人员可以在客户端12下载一个app,通过app建立与电视墙控制设备11的连接,然后通过app向电视墙控制设备11发送预览请求,电视墙控制设备11在接收到客户端12发送的预览请求后,将视频输入设备14发送的输入视频信号进行处理,得到多帧缩略图,然后依次发送给客户端12进行显示。可以理解的是,此处客户端12通过app建立与电视墙控制设备11的连接,并通过app与电视墙控制设备11进行交互,只是一种可能的实现方式,并不构成对客户端12和电视墙控制设备11之间的连接和交互方式的限制,例如,客户端12和电视墙控制设备11之间可以通过无线网络连接,并通过网页来进行数据交互等。
[0090]
下面以具体的实施例对本发明的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本发明的实施例进行描述。
[0091]
图2为本发明实施例提供的预监输入视频信号的方法的流程示意图,如图2所示,该方法应用于电视墙控制设备,该方法包括:
[0092]
s21,获取客户端发送的预览请求,所述预览请求中携带有所述客户端预览配置的分辨率信息。
[0093]
客户端需要对输入视频信号进行预监时,会向电视墙控制设备发送预览请求。其中,预监即为预览监控,在进行视频监控时,通常是由电视墙控制设备将输入视频信号投到电视墙进行显示。在电视墙上显示之前,需要在客户端上预览输入视频信号,方便操作人员查看点位有无异常等。
[0094]
具体实现中,客户端可以通过一个app应用来向电视墙控制设备发送预览请求,在预览请求中,会包括该客户端的相关信息,包括客户端预览配置的分辨率信息。其中,在客
户端上对输入视频信号进行预览时,客户端上会有一个对应的预览框,客户端预览配置的分辨率信息指的是在客户端上的预览框的分辨率信息,其与预览框的大小和长宽比例相关。在实际操作中,用户可以根据需要调整预览框的大小和长宽比例,因此在客户端进行预览时,会根据预览框的大小,对图像进行相应的缩放处理。
[0095]
s22,根据所述预览请求对输入视频信号进行处理,得到多帧缩略图,所述输入视频信号是从视频输入设备获取的。
[0096]
视频输入设备是向电视墙控制设备发送输入视频信号的,视频输入设备可以为电脑、服务器或摄像机等可以存储输入视频信号的设备。在对电视墙控制设备发送输入视频信号时,是通过视频接口协议发送的。在电视墙控制设备内部,会配置有fpga和arm处理器,视频输入设备通过视频接口协议发送输入视频信号,fpga根据视频接口协议接收输入视频信号,并将其进行处理,得到多帧待处理缩略图。具体的,fpga会根据一定的时间间隔从输入视频信号中获取多帧视频图像,然后根据预览框的大小对多帧视频图像进行缩放,即可得到多帧待处理缩略图。然后由arm处理器对多帧待处理缩略图进行配置处理,得到多帧缩略图,并进行存储。
[0097]
s23,将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图。
[0098]
在对输入视频信号进行处理,得到多帧视频图像时,由于是根据一定的时间间隔先后获取的,因此得到的多帧视频图像是按照时间先后顺序排列的。每得到一帧缩略图,都会由arm处理器发送给客户端,将多帧缩略图依次发送给客户端显示时,由于两帧相邻的缩略图之间相隔的时间较短,且客户端一直在依次接收缩略图,并依次进行显示,因此在客户端显示出的效果类似于一个动态视频图像,从而实现对输入视频信号的预监。
[0099]
本发明实施例提供的预监输入视频信号的方法,在电视墙控制设备获取到客户端发送的预览请求后,根据预览请求对输入视频信号进行处理,得到多帧缩略图,然后将多帧缩略图依次发送给客户端,以供客户端依次显示每一帧缩略图。本发明实施例提供的方法,在预监输入视频信号时,无需对输入视频信号进行编码压缩,因此客户端收到信号后无需进行解码,减小了实际输入视频信号和客户端显示的图像之间的时间差,同时本发明实施例提供的方案对客户端的要求较低,无需客户端具备图像解码播放功能,适用性更广,通过依次显示多帧缩略图,在客户端呈现出动态视频图像的效果,从而实现对输入视频信号的预览监控。
[0100]
下面结合图3,并采用具体的实施例,对本申请的方案进行详细说明。
[0101]
首先对电视墙控制设备的结构进行说明,电视墙控制设备是一款专业的视频处理和控制设备,主要功能是把一路视频信号分割为多个显示单元,将分割后的显示单元信号输出到多个显示终端,并完成用多个显示屏拼接组成一个完整的图像。图3为本发明实施例提供的电视墙控制设备的结构示意图,如图3所示,包括arm处理器31、fpga32、第一内存33和第二内存34,其中:
[0102]
arm处理器31是一个32位元精简指令集处理器架构。arm即adcanced risc machines的简称,是一个32位元精简指令集(reduced instruction set computing,risc)处理器架构,arm处理器广泛使用在许多嵌入式系统设计中,其特点是体积小、低功耗、低成本、高性能。本申请中的arm表示运行在arm处理器上的linux系统c/c++应用程序。
[0103]
fpga32,现场可编辑门阵列(field-programmable gate array,以下简称fpga),是作为专用集成电路(application specific integrated circuit,asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点;主要利用verilog或者vhdl语言编写逻辑,能进行视频图像处理,由于其高速使得fpga在通信领域广泛应用。本申请中arm处理器31通过配置fpga寄存器实现对fpga32的控制。
[0104]
第一内存33是一个arm处理器31和fpga32均可访问的内存,可存储fpga32得到的待处理缩略图,然后由arm处理器31从第一内存33中读取待处理缩略图,将其进行配置处理,得到多帧缩略图并存入第二内存34中。其中,第二内存34是仅arm处理器31可以访问的内存,而fpga32不能够访问第二内存34。
[0105]
由于电视墙控制设备中可能存在多个通道,每个通道的输入视频信号各不一样,因此,在客户端上,可以对电视墙控制设备中的多个通道进行预监。同样的,可能存在多个客户端对电视墙控制设备中的一个通道进行预监的情况。
[0106]
例如,若同时存在第一客户端和第二客户端对电视墙控制设备中的一个通道进行预监,由于第一客户端和第二客户端预监的通道一致,因此对应的输入视频信号也应一致。可以由电视墙控制设备中的fpga32通过视频接口协议接收视频输入设备传输的输入视频信号,并每根据一定的时间间隔获取一帧视频图像,根据客户端的分辨率信息将其进行缩放处理,得到多帧待处理缩略图,存入第一内存33。然后arm处理器31从第一内存33中得到多帧待处理缩略图,将其进行配置处理,得到多帧缩略图,存入第二内存34中。
[0107]
当第一客户端和第二客户端的预览配置的分辨率信息一致时,得到的对应的多帧缩略图应当是一致的,因此,此时arm处理器31可以从第二内存34中读取缩略图,并分别发送给第一客户端和第二客户端,而无需对视频输入信号进行两次处理,只需要进行一次,能够节约资源。此时第一客户端和第二客户端上的预览框,显示的内容应当是一致的。
[0108]
下面结合电视墙控制设备的内部硬件结构以及电视墙控制设备和客户端之间的交互流程,来详细说明本申请的方案。本申请的方案实现过程中,包括两个主要方面的流程,一个是通信流程,一个是图像处理流程。下面结合图4-图5对这两个流程进行详细说明。
[0109]
通信流程主要指在电视墙控制设备内部的流程。图4为本发明实施例提供的各设备部署示意图,如图4所示,包括电视墙控制设备41、视频输入设备42、客户端43和监控中心44,其中视频输入设备42将输入视频信号发送给电视墙控制设备41,电视墙控制设备41一方面可以将输入视频信号发送给监控中心44的电视墙上进行显示,另一方面对输入视频信号进行处理,得到多帧按时间先后顺序排列的缩略图,然后依次发送给客户端43进行显示。
[0110]
在电视墙控制设备41内部,包括arm处理器、fpga、第一内存和第二内存,在将输入视频信号处理得到多帧缩略图的过程中,需要电视墙控制设备41内部的各个部分协调合作。图5为本发明实施例提供的电视墙控制设备内部的通信流示意图,如图5所示,硬件上主芯片arm(应用)+fpga的架构,fpga完成视频信号的接入处理工作,arm处理器完成基于网络接口的sdk命令控制及其他外围设备的多种控制功能,arm处理器与fpga之间存在基于硬件架构的通讯信道,有着一套完整的通信协议,使得arm处理器能够按照控制协议通过配置fpga寄存器控制其对输入视频信号进行缩放处理,fpga处理完成后可通过中断的方式通知arm处理器处理完毕,视频图像存储在arm处理器和fpga均可访问的第一内存中,fpga负责
更新第一内存中的数据,arm处理器负责取走第一内存中的数据。
[0111]
图像处理流程主要包括两个部分,一部分是多帧缩略图的获取,另一部分是多帧缩略图的传输,下面分别对这两个部分进行描述。
[0112]
图6为本发明实施例提供的获取缩略图的流程示意图,如图6所示,包括:
[0113]
s61,根据第一预设时间间隔从所述输入视频信号中获取多帧视频图像。
[0114]
输入视频信号是一段连续的信号,而本发明实施例最终是需要得到多帧缩略图,每一帧缩略图都是独立的。因此,fpga首先根据第一预设时间间隔从输入视频信号中提取视频图像,每一帧视频图像经过处理能够得到对应的缩略图。第一预设时间间隔可以根据实际需要设定,例如可以设定为500ms或1s等,同时第一预设时间间隔可以为定值,也可以变化,具体的数值此处不作特别限定。
[0115]
s62,根据所述分辨率信息对多帧所述视频图像进行缩放处理,得到多帧待处理缩略图。
[0116]
由于不同的客户端预览配置画面的尺寸各有差异,因此需要根据客户端预览配置的分辨率信息对多帧视频图像进行缩放处理,将视频图像的分辨率调整到适应客户端预览配置画面的尺寸。通常,在客户端对输入视频信号时,是通过在客户端的预览框进行显示的,预览框的大小以及尺寸可以根据用户的实际需要调整,当客户端向电视墙控制设备发送预览请求之前,会首先获取客户端预览配置的分辨率信息,即预览框的分辨率信息。
[0117]
根据分辨率信息对多帧视频图像进行缩放处理,一种可能的实现方式是,直接将视频图像转换成分辨率为客户端预览配置的分辨率的图像,即待处理缩略图,从而能够直接在客户端的预览框进行显示。例如,若视频图像的分辨率为1600*1200,而客户端预览配置的分辨率为640*480,则fpga将分辨率为1600*1200的视频图像进行缩放处理,转换为分辨率640*480的待处理缩略图。
[0118]
另一种可能的实现方式是,根据所述分辨率信息获取客户端预览配置的宽高信息,所述宽高信息用于指示客户端预览配置的显示画面的尺寸;然后根据所述宽高信息对多帧所述视频图像进行缩放处理,得到多帧所述待处理缩略图。
[0119]
具体的,不同的客户端的预览配置画面都不同,在客户端上,针对预览配置画面会有一个对应的预览框,实际预览时,预览画面会显示在预览框上。本发明实施例通过预览请求获取分辨率信息,然后根据分辨率信息来获取客户端预览配置的宽高信息,从而得到客户端预览配置的显示画面的尺寸,即预览框的尺寸。可以理解的是,预览框的大小和尺寸可以根据用户的需要调节。
[0120]
fpga会根据预览框的宽高信息,对每一帧视频图像进行缩放处理,使得得到的每一帧待处理缩略图能够适应客户端的预览框的显示要求。得到待处理缩略图后,fpga会将其存入第一内存中,并向arm处理器发送中断指令,告知arm处理器对这一帧视频图像处理完毕。对于每一帧视频图像,fpga都会进行这样的处理。每处理完一帧视频图像,得到一帧待处理缩略图后,都会向arm处理器发送中断指令,arm处理器收到中断指令后,从第一内存中获取待处理缩略图,并对其进行后续的处理。
[0121]
在客户端向电视墙控制设备发送预览请求之后,若客户端的预览框的尺寸发生变化,客户端会向电视墙控制设备发送新的分辨率信息,使得电视墙控制设备能够根据新的分辨率信息来对视频图像进行处理,从而使得视频图像能够适应预览框的调整,提高预监
效果。
[0122]
s63,对多帧所述待处理缩略图进行配置处理,得到多帧所述缩略图。
[0123]
得到多帧待处理缩略图后,若想对其进行传输,首先需要确定对应的图像文件格式,并根据对应的图像文件格式对多帧待处理缩略图进行配置处理。图像文件格式是记录和存储图像信息的格式,对数字图像进行存储、处理和传输,必须采用一定的图像格式,把图像按照一定的方式进行组织和存储,得到图像文件。图像文件格式有多种,包括位图(bitmap,以下简称bmp)格式、标记图像文件(tag image file format,以下简称tiff)格式、图像交换(graphics interchange format,以下简称gif)格式等。
[0124]
例如,一个tiff文件的结构包括三个部分,分别是图像文件头、图像文件目录和图像数据,图像文件头位于tiff图像文件的开始部分,包含了tiff图像文件的其他部分所需的必要信息。图像文件目录是tiff图像文件的第二个数据结构,是一个名为标记的用于区分一个或多个可变长度数据块的表,标记中包含了有关于tiff图像的所有信息。图像数据能够根据图像文件目录所指向的地址,存储相关的图像信息。在对待处理缩略图进行配置处理时,需要根据缩略图需要的图像文件格式进行相应的配置,例如若需要配置tiff图像格式的缩略图,则需要根据tiff图像的图像文件头、图像文件目录和图像数据对待处理缩略图进行配置,得到tiff图像格式的缩略图。上述tiff图像格式仅仅为多种图像格式中的一种,对于其他的图像格式,均有对应的数据结构。在对待处理缩略图进行配置处理时,需要根据对应的图像文件格式来进行配置。
[0125]
下面以bmp图像格式为例进行详细说明。bmp是windows操作系统中的标准图像文件格式,采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩。
[0126]
bmp图像文件由4部分组成:
[0127]
第一部分-位图文件头数据结构,包含bmp图像文件的类型,显示内容等信息;
[0128]
第二部分-位图信息头数据结构,它包含有bmp图像的宽、高、压缩方法,以及定义颜色等信息;
[0129]
第三部分-调色板,这部分是可选的,有些位图需要调色板,有些位图,比如真彩色图(24位的bmp)就不需要调色板;
[0130]
第四部分-位图数据,这部分的内容根据bmp位图使用的位数不同而不同,在24位图中直接使用rgb,而其他的小于24位的使用调色板中的颜色索引值。
[0131]
具体的,arm处理器对于每一帧待处理缩略图,根据宽高信息,组装对应的位图信息头数据结构和位图文件头数据结构,得到对应的位图格式的缩略图;
[0132]
然后将每一帧位图格式的缩略图依次存储至第二内存中,得到多帧缩略图。
[0133]
本申请中,电视墙控制设备在获取bmp图像时需要完成:将位图数据根据图像的宽、高等信息组装位图信息头数据结构和位图文件头信息数据结构,得到完整的bmp格式的图像。
[0134]
针对上述获取缩略图的过程,电视墙控制设备内部各个部分进行了不同的处理,下面对其进行说明。
[0135]
图7为本发明实施例提供的电视墙控制设备内部arm处理器的处理流程示意图,如图7所示,包括:
[0136]
s71,arm处理器配置fpga对输入通道提取输入视频信号。
[0137]
当电视墙控制设备接收到客户端发送的预览请求后,arm处理器根据预览请求配置fpga对输入通道提取输入视频信号。其中,输入通道为电视墙控制设备和视频输入设备之间的通道,通常通过线缆连接。
[0138]
s72,arm处理器判断是否停止预览,若是,则结束流程,若否,则执行s73。
[0139]
当客户端需要对输入视频信号进行预览时,arm处理器会配置fpga对输入视频信号进行处理,若客户端不需要对输入视频信号进行预览时,则电视墙控制设备不对输入视频信号进行处理并发送给客户端。
[0140]
s73,等待通用输入/输出口(general-purpose input/output,以下简称gpio)中断。
[0141]
gpio中断为fpga向处理器发送的中断指令。在fpga根据一帧视频图像进行缩放处理,得到一帧待处理缩略图并存储至第一内存后,会向arm处理器发送该中断指令,表明fpga对一帧视频图像处理完毕。
[0142]
s74,arm处理器从第一内存中获取待处理缩略图。
[0143]
arm处理器接收到中断指令后,会从第一内存中获取待处理缩略图。fpga每处理完一帧视频图像后,都会向arm处理器发送中断指令,arm处理器根据每一次接收到的中断指令,依次从第一内存中获取待处理缩略图。
[0144]
s75,arm处理器组装bmp头部信息。
[0145]
arm处理器在获取到待处理缩略图后,根据宽高信息,组装对应的位图信息头数据结构和位图文件头数据结构,得到对应的bmp格式的缩略图。
[0146]
s76,arm处理器存储bmp格式的缩略图。
[0147]
arm处理器根据每一帧待处理缩略图,得到对应的bmp格式的缩略图,并依次存储至第二内存中。
[0148]
s77,arm处理器休眠500ms,执行s72。
[0149]
在任意相邻的两帧图像之间,相差第一预设时间间隔,此处的500ms即为第一预设时间间隔。arm处理器将缩略图存储至第二内存后,会依次读取缩略图,并将缩略图依次发送给客户端。进一步的,发送给客户端时,任意两帧缩略图之间的间隔,与两帧缩略图对应的视频图像在输入视频信号中的间隔是一样的,这样发送给客户端显示时,其效果更佳逼真。
[0150]
例如,arm处理器向客户端发送第一缩略图a和第二缩略图b,a和b是相邻的两帧缩略图,a对应的视频图像为a',b对应的视频图像为b'。若a'和b'在输入视频信号中相隔500ms,即fpga在获取了一帧视频图像a'后,在500ms后获取另一帧视频图像b',则arm处理器向客户端发送了第一缩略图a后,会在500ms后,再向客户端发送第二缩略图b,以此类推。
[0151]
可以理解的是,此处的500ms仅仅是一个可能的数值,实际的取值可以根据需要确定。从s72-s77的步骤,是针对一帧视频图像的处理,在间隔500ms后,再次执行s72及其以后的步骤,对下一帧图像数据进行处理,直至所有的图像数据处理完毕并存储至第二内存。
[0152]
图8为本发明实施例提供的电视墙控制设备内部fpga的处理流程示意图,如图8所示,包括:
[0153]
s81,fpga收到预监配置信息。
[0154]
客户端向arm处理器发送预览请求后,arm处理器根据预览请求获取预监配置信
息,来配置fpga对输入视频信号进行处理,其中预监配置信息包括客户端预览配置的分辨率信息。
[0155]
s82,fpga从输入视频信号中提取一帧视频图像。
[0156]
fpga根据视频接口协议接收输入视频信号,并从中提取一帧视频图像。
[0157]
s83,fpga将视频图像按照客户端预览配置的分辨率信息进行缩放处理。
[0158]
在客户端上包括一个预览框,输入视频信号即在预览框里进行显示,因此,客户端预览配置的分辨率信息即为该预览框的分辨率信息。用户可以根据需要调整预览框的大小和形状,fpga需要将视频图像进行缩放处理,从而使得图像能够在预览框里显示。缩放处理后,得到待处理缩略图。
[0159]
s84,fpga将待处理缩略图存入第一内存中。
[0160]
s85,fpga向arm处理器发送中断指令,执行s82。
[0161]
fpga将待处理缩略图存入第一内存后,会发送中断指令通知arm处理器,arm处理器会从第一内存中获取待处理缩略图,并对其进行配置处理,得到对应的缩略图。上述s81-s85是fpga对一帧视频图像处理的过程,在处理完毕并发送中断指令后,fpga会重复执行s82-s85。
[0162]
在获取到多帧缩略图后,还需要将其传输到客户端,具体的,首先要确认电视墙控制设备与客户端之间保持网络连接,然后读取多帧缩略图,根据时间信息将多帧缩略图按照第一预设时间间隔依次发送给客户端。确认电视墙控制设备与客户端之间保持网络连接有多种方式,例如,可以获取电视墙控制设备与客户端的ip地址,若两个电视墙控制设备与客户端的ip地址属于同一个网络,则同属于一个网络的电视墙控制设备与客户端之间可以直接进行通信。
[0163]
本发明实施例中,确认电视墙控制设备与客户端之间保持网络连接是通过建立与客户端之间的网络心跳线程来实现的,图9为本发明实施例提供的电视墙控制设备与客户端之间的网络心跳线程图,如图9所示,包括:
[0164]
s91,电视墙控制设备与客户端之间建立网络连接。
[0165]
s92,电视墙控制设备select侦听套接字。
[0166]
s93,电视墙控制设备接收客户端心跳,若失败则停止预览,若成功则执行s94。
[0167]
s94,电视墙控制设备发送心跳,若失败则停止预览,若成功则执行s95。
[0168]
s95,电视墙控制设备接收客户端发送的心跳回应,若成功则执行s92,若失败则停止预览。
[0169]
网络心跳线程的目的是判断对方是否存活,对于电视墙控制设备,判断客户端是否存活时,会根据第二预设时间间隔向客户端发送心跳包,若接收到客户端发送的心跳包响应,则确认与客户端之间保持网络连接。而通过客户端判断电视墙控制设备是否存活的方法与之类似,此处不再赘述。
[0170]
在电视墙控制设备建立与客户端之间的网络心跳线程,确定与客户端之间保持网络连接后,会创建图像传输线程,向客户端发送缩略图。图10为本发明实施例提供的电视墙控制设备与客户端之间的图像传输线程图,如图10所示,包括:
[0171]
s101,arm处理器判断是否停止预览,若是,则停止预览,若否,则执行s102。
[0172]
s102,arm处理器读取bmp格式的缩略图。
[0173]
arm处理器在得到bmp格式的缩略图后,会先将其存入第二内存中,第二内存为仅arm处理器可访问的内存,fpga不可访问第二内存。然后arm处理器会从第二内存中读取bmp格式的缩略图。
[0174]
s103,arm处理器将缩略图发送到客户端。
[0175]
arm处理器会将读取到的一帧缩略图发送给客户端。
[0176]
s104,arm处理器休眠500ms,执行s101。
[0177]
s101-s104针对的是一帧缩略图,由于缩略图是依次得到的,而本发明实施例的方案是将输入视频信号处理得到多帧缩略图,发送给客户端显示,在多帧缩略图依次显示时,呈现出动态视频的效果。每传输完一帧缩略图,会根据两帧缩略图的时间信息差,在经过第一预设时间间隔后,再传输下一帧缩略图。
[0178]
图11和图12为本申请的方案的效果图,其中,图11为本发明实施例提供的客户端对输入视频信号的预监显示示意图,如图11所示,包括预览框111,预览框111中为预监的显示画面,图12为本发明实施例提供的输入视频信号当前时刻显示示意图,如图11、12所示,可看到,根据本发明实施例提供的方案对输入视频信号进行预监时,在客户端的预览框111中显示的图像和输入视频信号当前时刻显示的图像是一致的,即,实际输入视频信号和客户端显示的图像之间的时间差很小。
[0179]
本发明实施例提供的预监输入视频信号的方法,在电视墙控制设备中包括arm处理器、fpga和存储器,在arm处理器获取到客户端发送的预览请求后,fpga根据预览请求对输入视频信号进行处理,得到多帧缩略图,存入存储器,然后arm处理器根据缩略图中携带的时间信息,将多帧缩略图依次发送给客户端,以供客户端依次显示每一帧缩略图。本发明实施例提供的方案,通过对输入视频信号提取一帧图像组装成bmp格式的图像,然后将bmp格式的图像传递给客户端,完全不需要压缩和解码即可直接预览,解决了现有方案中设备端采用编码压缩,客户端采用解码的方案带来的时间误差问题,而且还降低了对客户端软件的要求,不再依赖客户端自带解码库播放功能,适用性更广,通过依次显示多帧缩略图,在客户端呈现出动态视频图像的效果,从而实现对输入视频信号的预览监控。
[0180]
图13为本发明实施例提供的预监输入视频信号的装置的结构示意图,如图13所示,包括获取模块131、处理模块132和发送模块133,其中:
[0181]
获取模块131用于获取客户端发送的预览请求,所述预览请求中携带有客户端预览配置的分辨率信息;
[0182]
处理模块132用于根据所述预览请求对输入视频信号进行处理,得到多帧缩略图,所述输入视频信号是从视频输入设备获取的;
[0183]
发送模块133用于将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图。
[0184]
在一种可能的实现方式中,所述处理模块132具体用于:
[0185]
根据第一预设时间间隔从所述输入视频信号中获取多帧视频图像;
[0186]
根据所述分辨率信息对多帧所述视频图像进行缩放处理,得到多帧待处理缩略图;
[0187]
对多帧所述待处理缩略图进行配置处理,得到多帧所述缩略图。
[0188]
在一种可能的实现方式中,所述处理模块132具体用于:
industry standard architecture,eisa)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
[0209]
图15为本发明又一实施例提供的预监输入视频信号的设备的硬件结构示意图,如图15所示,该预监输入视频信号的设备150包括arm处理器151、fpga152、第一内存153以及第二内存154,其中:
[0210]
所述arm处理器151用于获取客户端发送的预览请求,并根据所述预览请求配置fpga152对输入视频信号进行处理,所述预览请求中携带有所述客户端预览配置的分辨率信息;
[0211]
所述fpga152用于根据所述预览请求对输入视频信号进行处理,得到多帧待处理缩略图;将多帧所述待处理缩略图依次存入所述第一内存153中,并向所述arm处理器151发送中断指令,其中,所述第一内存513为所述arm处理器151和所述fpga152均可访问的内存;
[0212]
所述arm处理器151还用于在接收到所述中断指令后,从所述第一内存513中获取多帧所述待处理缩略图,对多帧所述待处理缩略图进行配置处理,得到多帧缩略图;将多帧所述缩略图存入所述第二内存154中;从所述第二内存154中依次读取多帧所述缩略图,并将多帧所述缩略图依次发送给所述客户端,以供所述客户端依次显示每一帧所述缩略图,其中,所述第二内存154为所述arm处理器151可以访问的内存。
[0213]
在一种可能的实现方式中,所述fpga152具体用于:
[0214]
根据所述分辨率信息获取客户端预览配置的宽高信息,所述宽高信息用于指示客户端预览配置的显示画面的尺寸;
[0215]
根据所述宽高信息对多帧所述视频图像进行缩放处理,得到多帧所述待处理缩略图,并将多帧所述待处理缩略图存入所述第一内存153中。
[0216]
在一种可能的实现方式中,所述缩略图为位图格式的图像,所述arm处理器151具体用于:
[0217]
对于每一帧所述待处理缩略图,根据所述宽高信息,组装对应的位图信息头数据结构和位图文件头数据结构,得到对应的位图格式的所述缩略图;
[0218]
将每一帧位图格式的所述缩略图依次存储至所述第二内存154中,得到多帧所述缩略图。
[0219]
在一种可能的实现方式中,所述arm处理器151具体还用于:
[0220]
确认与所述客户端之间保持网络连接;
[0221]
从所述第二内存154中读取多帧所述缩略图,将多帧所述缩略图按照所述第一预设时间间隔依次发送给所述客户端。
[0222]
在一种可能的实现方式中,所述arm处理器151具体还用于:
[0223]
建立与所述客户端之间的网络心跳线程;
[0224]
根据第二预设时间间隔向所述客户端发送心跳包;
[0225]
接收所述客户端发送的心跳包响应,根据所述心跳包响应确认与所述客户端之间保持网络连接。
[0226]
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上所述的预监输入视频信号的方法。
[0227]
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
[0228]
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(application specific integrated circuits,简称:asic)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。
[0229]
所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0230]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0231]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0232]
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0233]
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
[0234]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1