云端控制网络化视频图像处理流媒体服务系统及方法

文档序号:7887202阅读:204来源:国知局
专利名称:云端控制网络化视频图像处理流媒体服务系统及方法
技术领域
本发明可为用户提供网络化的视频图像处理服务,具体涉及图像处理、多媒体通信及网络计算技术,属于智能图像处理及网络服务技术领域。
背景技术
目前,视频监控技术已在公共安全、智能交通、工业过程等众多监视监控中得到了广泛应用,随之而来的是各种视频图像处理方法及技术需要相应的处理平台系统提供支撑。目前,所普遍采用的方式是,或者安装通用图像处理平台软件(如matlab、0penCV等), 但是受限制较多,使用不便;或者自己开发相应软件,但费时费力。且这些方式仅仅局限于面向单用户或有限个本地用户。考虑到在internet网络环境下,如果将多台服务器集合起来共同为不同的用户提供视频图像处理和算法验证的服务。这样,用户可以在不需安装各种庞大的视频图像处理软件的情况下,就可通过网络获取服务器集群提供的视频图像处理服务;同时,用户在不了解复杂的视频图像处理过程的情况下,也能获取自己需要的视频图像处理结果。因此,开发一个能够支持网络化、并行、交互式处理的视频图像处理服务系统,具有非常好的前景。

发明内容
本发明目的是针对现有技术存在的缺陷提供一种云端控制网络化视频图像处理流媒体服务系统及方法。本发明为实现上述目的,采用如下技术方案本发明云端控制网络化视频图像处理流媒体服务系统,其特征在于包括由用户集群、服务器集群及云控制台与云数据库三部分构成;多个用户看为是用户集群,系统为每个用户提供了客户端,通过客户端实现与视频图像处理平台之间的交互;服务器集群是具有提供视频图像处理服务功能的若干台服务器的集合,其中,每个服务器提供的视频图像处理功能都是相互独立的,彼此之间互不干涉;云控制台用于调度和分配服务器资源,实现客户端集群与服务器集群之间的通信,使得每个客户端均可以享受独立的服务器提供的图像处理服务,云数据库中包含有服务器集群中各服务器的信息。云端控制网络化视频图像处理流媒体服务系统的方法如下采用云控制台对提供服务的服务器集群资源进行调度和分配,为用户集群提供并行的视频图像处理服务,服务内容主要是将用户提供的算法加载到试验视频中,并将测试结果和数据记录下来;视频图像处理结果通过客户端以VLC流媒体和在线下载的方式反馈给用户。所述客户端、云控制台和服务器之间建立相互通信的主要步骤如下(I)客户端向云控制台发送连接服务器请求的指令;(2)云控制台接收到并解析出连接请求的指令后从云数据库中根据分布式哈希算法获取空闲服务器的信息即地址和端口;
(3)云控制台将空闲服务器的信息发送给客户端;(4)云控制台开启该空闲服务器,准备与客户端建立通信连接后,为其提供视频图像处理的服务;(5)客户端与将为其提供服务的服务器建立通信连接。所述云控制台调度和分配服务器的步骤如下(a)云控制台接收到并解析出客户端的连接请求后,调用调度分配算法;(b)根据随机分布式哈希算法得到键值Value ;(c)在云数据库中查找ID为Value的服务器的信息,判断ID为Value的服务器的状态是否空闲如果空闲,直接将ID为Value的服务器的信息即地址和端口提交给云控制台,并将服务器状态置为“繁忙”;如果繁忙,再重新生成一个整数n,重复执行步骤(2)得到一个新的键值Value,直到获取到空闲的服务器为止;(d)将调度到的服务器的信息即地址和端口发送给客户端;(e)云控制台开启服务器准备为客户端提供视频图像处理的服务;(f)等待客户端与服务器的信息交互,直到客户端发送连接断开请求的指令;(g)接收到并解析出用户的连接断开请求指令后,更新云端数据库,释放服务器资源。所述客户端与服务器信息交互包括用户数据上传、控制处理指令、处理结果反馈三个部分,具体步骤如下I)客户端与服务器建立通信连接;2)用户将需要处理的数据发送给服务器;3)等待服务器端的反馈信息指令;4)根据反馈信息,客户端发送下一步的操作处理指令如果反馈的信息是数据接收成功,则发送处理指令;如果反馈的信息是数据接收失败,则客户端重复步骤2),直至需要处理的数据接收成功为止;5)服务器接收到客户端发送的处理指令后,进行相应的视频图像处理,将处理结束的信息指令发送给客户端,客户端可以根据需求选择不同的方式获取处理结果;6)客户端接收完服务器处理的结果后向云控制台发送连接断开请求的指令;7)退出客户端。所述客户端从服务器下载数据的方法如下A)服务器将处理结束的信息指令发送给客户端,客户端根据需求选择需要的下载方式,将下载方式指令发送给服务器;B)服务器接收到并解析出客户端发送的下载指令;C)如果指令解析为在线下载方式,服务器采用socket文件流分组拆分方式,直接将服务器处理后的数据发送给用户,直到用户接收到服务器发送结束的指令后,才可在客户端查看处理后的结果;如果指令解析为VLC流媒体传输方式,服务器在向客户端发送处理结果的同时,客户端可实时显示,无需下载完成后再显示;D)客户端接收完服务器处理的结果后,向云控制台发送断开连接请求的指令。所述创建VLC流媒体传输的方法如下a)创建 Iibvlc 动态组件即构造异常类 MediaException、MediaHandle、Media、MediaPlayerHandle 和 MediaPlayer ;b)播放参数设置;c)创建并初始化一个Iibvlc实例,并创建一个空的媒体播放器对象;d)设置给予媒体播放器媒体输出的win32/win64窗口句柄;e)回收垃圾等相关操作。目前,云计算网络技术已经成为解决海量数据计算的重要技术,使用“云控制”服务,可以将成千上万的服务器集群集中起来,实现自动管理、任务调度等。基于其技术思想, 本发明设计开发了一种基于“云控制”的网络化视频图像处理服务系统,能够为多用户提供各种视频图像处理算法的运行测试结果的服务。系统具有批量处理、并行处理、可交互性、 快速部署、缩小主机规模、提高资源利用率等特点。


图I:系统框图2:云控制台的调度图3:客户端、云控制台和服务器之间建立相互通信图
图4:云控制台调度和分配服务器图5:客户端与服务器信息交互图。
具体实施例方式本发明开发了一种网络化视频图像处理服务系统,是一个多用户访问式系统。发明内容包括(I)开发设计了一种能够提供网络化视频图像处理服务的系统模式。即,用户基于客户端通过互联网将需要处理的数据(包括视频图像处理算法和视频图像)提交给视频图像处理平台,视频图像处理平台可按照用户请求进行相应的处理,并将处理结果通过客户端以VLC流媒体或在线下载的方式反馈给用户。(2)采用云控制技术调度和分配多个服务器资源,实现为多用户提供并行的视频图像处理服务。即,通过随机分布式哈希算法从云数据库(数据库中包含有服务器集群的信息如各个服务器的ID、地址、端口以及状态 (空闲或繁忙))中搜索闲置服务器供客户端使用,从而使计算资源得到优化,提高计算效率。(3)设计了交互式客户端,以用户数据的在线上传和以视频图像处理结果的VLC流媒体传输或在线下载的方式为主要特征。VLC流媒体方式无需下载就能实时的显示视频处理的结果。可以满足不同用户查看视频、图像处理结果的需求。网络化视频图像处理服务系统主要由用户集群、服务器集群及云控制台与云数据库三部分构成。将多个用户看作为是用户集群,系统为每个用户提供了客户端,通过客户端实现与视频图像处理平台之间的交互;服务器集群是具有提供视频图像处理服务功能的若干台服务器的集合,其中,每个服务器提供的视频图像处理功能都是相互独立的,彼此之间互不干涉;云控制台用于调度和分配服务器资源,实现客户端集群与服务器集群之间的通信,使得每个客户端均可以享受独立的服务器提供的图像处理服务,云数据库中包含有服务器集群中各服务器的信息,如服务器的ID (编号)、地址、端口以及状态(空闲或繁忙)。 该系统在提供服务的过程中,用户无需关心服务器端具体的实施方式,只需等待下载处理完的结果。整体框架见图I。
本发明在客户端与服务器之间设计了一个云控制台和云数据库,完成服务器集群资源的调度和分配,实现客户端与服务器之间的通信。云控制台根据分布式哈希算法,在云数据库中找到一个空闲的服务器,将调度到的空闲服务器的信息(地址和端口)发给客户端,开启服务器为客户端到服务器之间建立通信通道。云控制台的调度图见图2,例如,用户 A根据云控制台的调度分配到服务器D,用户B分配到服务器C。本发明开发设计了交互式客户端。用户在客户端实现了在线上传用户的视频、图像以及算法等功能;在反馈结果时提供了 VLC流媒体或在线下载的服务。用户不仅能通过网络化视频图像处理平台处理自己的视频和图像,还能在此平台上验证自己的算法;同时在服务器端处理结束后,用户根据不同的需求可选择VLC流媒体实时获取结果或在线下载获取结果。其中,VLC(Videc)Lan Client)是一个跨平台的媒体播放器和流媒体服务器,可以用于播放网络流媒体及本机多媒体文件。VLC流媒体技术支持多媒体数据流通过网络从服务器向客户端传送,客户端边接收边播放的技术。由于它是开放源代码,因此,我们基于 VLC源码封装的接口,在网络化视频图像处理平台设计了流媒体服务,用于在客户端实时显示视频图像处理结果。客户端、云控制台和服务器之间的相互通信连接网络化视频图像处理服务系统主要包括三部分通信连接客户端与云控制台之间、云控制台与服务器之间和客户端与服务器之间。这三部分之间的通信连接都是基于 socket通信完成的,客户端与服务器之间的通信连接需要云控制台的调度和分配。客户端、云控制台和服务器之间建立相互通信的主要步骤如下(I)客户端向云控制台发送连接服务器请求的指令;(2)云控制台接收到并解析出连接请求的指令后从云数据库中根据分布式哈希算法获取空闲服务器的信息(地址和端口);(3)云控制台将空闲服务器的信息发送给客户端;(4)云控制台开启该空闲服务器,准备与客户端建立通信连接后,为其提供视频图像处理的服务;(5)客户端与将为其提供服务的服务器建立通信连接。客户端、云控制台和服务器之间建立相互通信的过程见图3。云控制台本发明设计的云控制台技术主要完成服务器的调度与分配,为每个用户分配一个独立空闲的服务器为其提供服务。它调度和分配空闲服务器主要是根据随机分布式哈希算法搜索云数据库完成的。云控制台调度和分配服务器的步骤如下(I)云控制台接收到并解析出客户端的连接请求后,调用调度分配算法;(2)根据随机分布式哈希算法得到键值Value。分布式哈希算法得到键值Value 的过程如下假设有m台服务器(服务器的ID为0,I. . . m-1),随机生成一个整数n,Value 的值为n除以m取余(即Value = n% m);(3)在云数据库中查找ID为Value的服务器的信息,判断ID为Value的服务器的状态是否空闲。如果空闲,直接将ID为Value的服务器的信息(地址和端口)提交给云控制台,并将服务器状态置为“繁忙”;如果繁忙,再重新生成一个整数n,重复执行步骤(2)得到一个新的键值Value,直到获取到空闲的服务器为止;(4)将调度到的服务器的信息(地址和端口)发送给客户端;(5)云控制台开启服务器准备为客户端提供视频图像处理的服务;(6)等待客户端与服务器的信息交互,直到客户端发送连接断开请求的指令;(7)接收到并解析出用户的连接断开请求指令后,更新云端数据库,释放服务器资源。云控制台内部调度和分配服务器的框图见图4。交互式客户端本发明设计了交互式的客户端,其功能包括用户在线上传数据(图像、视频、算法)技术和反馈结果时在线下载技术和VLC流媒体传输技术。用户通过客户端将需要处理的数据通过互联网发送到服务器,服务器端根据用户的需求进行处理,处理完成后用户可以根据需求选择在线下载或VLC流媒体传输方式查看处理后的结果。客户端与服务器信息交互的主要过程见图5。其交互过程主要包括用户数据上传、 控制处理指令、处理结果反馈三个部分。具体步骤如下(I)客户端与服务器建立通信连接;(2)用户将需要处理的数据(图像、视频、算法等)发送给服务器;(3)等待服务器端的反馈信息指令(接收上传的数据是否成功);(4)根据反馈信息,客户端发送下一步的操作处理指令。如果反馈的信息是数据接收成功,则发送处理指令(视频处理或图像处理);如果反馈的信息是数据接收失败,则客户端重复步骤(2),直至需要处理的数据接收成功为止;(5)服务器接收到客户端发送的处理指令后,进行相应的视频图像处理,将处理结束的信息指令发送给客户端,客户端可以根据需求选择不同的方式获取处理结果(如流媒体在线下载同时实时显示或者在线下载等);(6)客户端接收完服务器处理的结果后向云控制台发送连接断开请求的指令;(7)退出客户端。上述步骤中的(I)⑶⑷(6) (7)为控制处理指令。本发明在客户端下载时设计了两种方式VLC流媒体传输下载方式和在线下载方式。在线下载方式是基于socket的文件流传输和分组的传输机制设计的,反馈的处理结果必须下载完成后才能显示;VLC流媒体传输方式是通过嵌入Iibvlc库实现的,它可以在处理结果没有下载完成的情况下在客户端实时的显示处理的结果。客户端从服务器下载数据主要过程如下(I)服务器将处理结束的信息指令发送给客户端,客户端根据需求选择需要的下载方式,将下载方式指令发送给服务器;(2)服务器接收到并解析出客户端发送的下载指令;(3)如果指令解析为在线下载方式,服务器采用socket文件流分组拆分方式,直接将服务器处理后的数据发送给用户,直到用户接收到服务器发送结束的指令后,才可在客户端查看处理后的结果(视频、图像);如果指令解析为VLC流媒体传输方式,服务器在向客户端发送处理结果的同时,客户端可实时显示,无需下载完成后再显示;(4)客户端接收完服务器处理的结果后,向云控制台发送断开连接请求的指令;
创建VLC流媒体传输主要是通过在网络化视频图像处理平台中内嵌Iibvlc来实现。基于Iibvlc构造异常结构体类,创建并初始化一个Iibvlc实例,然后创建一个空的流媒体播放器对象,实现视频流的输出。具体实现如下a)创建 Iibvlc 动态组件。即构造异常类 MediaException、MediaHandle、Media、 MediaPlayerHandle 和 MediaPlayer ;b)播放参数设置;c)创建并初始化一个Iibvlc实例,并创建一个空的媒体播放器对象;d)设置给予媒体播放器媒体输出的win32/win64窗口句柄;e)回收垃圾等相关操作。
权利要求
1.一种一种云端控制网络化视频图像处理流媒体服务系统,其特征在于包括由用户集群、服务器集群及云控制台与云数据库三部分构成;多个用户看作为是用户集群,系统为每个用户提供了客户端,通过客户端实现与视频图像处理平台之间的交互;服务器集群是具有提供视频图像处理服务功能的若干台服务器的集合,其中,每个服务器提供的视频图像处理功能都是相互独立的,彼此之间互不干涉;云控制台用于调度和分配服务器资源,实现客户端集群与服务器集群之间的通信,使得每个客户端均可以享受独立的服务器提供的图像处理服务,云数据库中包含有服务器集群中各服务器的信息。
2.根据权利要求I所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述方法如下采用云控制台对提供服务的服务器集群资源进行调度和分配,为用户集群提供并行的视频图像处理服务,服务内容主要是将用户提供的算法加载到试验视频中,并将测试结果和数据记录下来;视频图像处理结果通过客户端以VLC流媒体和在线下载的方式反馈给用户。
3.根据权利要求2所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述客户端、云控制台和服务器之间建立相互通信的主要步骤如下(1)客户端向云控制台发送连接服务器请求的指令;(2)云控制台接收到并解析出连接请求的指令后从云数据库中根据分布式哈希算法获取空闲服务器的信息即地址和端口;(3)云控制台将空闲服务器的信息发送给客户端;(4)云控制台开启该空闲服务器,准备与客户端建立通信连接后,为其提供视频图像处理的服务;(5)客户端与将为其提供服务的服务器建立通信连接。
4.根据权利要求2所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述云控制台调度和分配服务器的步骤如下(a)云控制台接收到并解析出客户端的连接请求后,调用调度分配算法;(b)根据随机分布式哈希算法得到键值Value;(c)在云数据库中查找ID为Value的服务器的信息,判断ID为Value的服务器的状态是否空闲如果空闲,直接将ID为Value的服务器的信息即地址和端口提交给云控制台,并将服务器状态置为“繁忙”;如果繁忙,再重新生成一个整数n,重复执行步骤(2)得到一个新的键值Value,直到获取到空闲的服务器为止;(d)将调度到的服务器的信息即地址和端口发送给客户端;(e)云控制台开启服务器准备为客户端提供视频图像处理的服务;(f)等待客户端与服务器的信息交互,直到客户端发送连接断开请求的指令;(g)接收到并解析出用户的连接断开请求指令后,更新云端数据库,释放服务器资源。
5.根据权利要求2所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述客户端与服务器信息交互包括用户数据上传、控制处理指令、处理结果反馈三个部分,具体步骤如下1)客户端与服务器建立通信连接;2)用户将需要处理的数据发送给服务器;3)等待服务器端的反馈信息指令;4)根据反馈信息,客户端发送下一步的操作处理指令如果反馈的信息是数据接收成功,则发送处理指令;如果反馈的信息是数据接收失败,则客户端重复步骤2),直至需要处理的数据接收成功为止;5)服务器接收到客户端发送的处理指令后,进行相应的视频图像处理,将处理结束的信息指令发送给客户端,客户端可以根据需求选择不同的方式获取处理结果;6)客户端接收完服务器处理的结果后向云控制台发送连接断开请求的指令;7)退出客户端。
6.根据权利要求2所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述客户端从服务器下载数据的方法如下A)服务器将处理结束的信息指令发送给客户端,客户端根据需求选择需要的下载方式,将下载方式指令发送给服务器;B)服务器接收到并解析出客户端发送的下载指令;C)如果指令解析为在线下载方式,服务器采用socket文件流分组拆分方式,直接将服务器处理后的数据发送给用户,直到用户接收到服务器发送结束的指令后,才可在客户端查看处理后的结果;如果指令解析为VLC流媒体传输方式,服务器在向客户端发送处理结果的同时,客户端可实时显示,无需下载完成后再显示;D)客户端接收完服务器处理的结果后,向云控制台发送断开连接请求的指令。
7.根据权利要求2所述的云端控制网络化视频图像处理流媒体服务系统的方法,其特征在于所述创建VLC流媒体传输的方法如下a)创建Iibvlc 动态组件即构造异常类 MediaException、MediaHandle、Media、 MediaPlayerHandle 和 MediaPlayer ;b)播放参数设置;c)创建并初始化一个Iibvlc实例,并创建一个空的媒体播放器对象;d)设置给予媒体播放器媒体输出的win32/win64窗口句柄;e)回收垃圾等相关操作。
全文摘要
本发明公布了一种云端控制网络化视频图像处理流媒体服务系统及方法,所述系统包括由用户集群、服务器集群及云控制台与云数据库三部分构成。所述方法采用云控制台对提供服务的若干服务器资源进行调度和分配,为多用户提供并行的视频图像处理服务,服务内容主要是将用户提供的算法加载到试验视频中,并将测试结果和数据记录下来。视频图像处理结果通过客户端以VLC流媒体和在线下载的方式反馈给用户。系统不仅支持多用户的并行操作,而且可实现快速响应。本发明是一种新型的网络化视频图像处理服务系统,极具应用前景。
文档编号H04N21/63GK102595208SQ20121000969
公开日2012年7月18日 申请日期2012年1月13日 优先权日2012年1月13日
发明者吴玉荣, 张丽丽, 徐淑芳, 沈俊雷, 沈洁, 王慧斌, 王鑫, 陈哲 申请人:河海大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1