一种多画面显示选择截取画面的方法及系统
技术领域
本发明涉及终端领域,特别的涉及一种多画面显示选择截取画面的方法及系统。
背景技术
随着多核心、低功耗处理器技术和高带宽无线网络通信技术的发展,各种便携式的高性能、可远距离进行高速数据传输的设备出现于我们的生活中,比如像手机、平板电脑等移动终端。便携式现场管控终端就是这样的一种设备,可以用其搭建一个小型化的指挥中心,在屏幕上实时显示多个远程现场点的数据,比如音视频。指挥人员通过获取这些数据对现场的情况进行分析或者对现场人员进行指导。典型的应用场景如多人现场音视频会议、多点施工指挥、交通监控等。
在上述这些应用场景中,指挥人员通常需要实时关注现场的情况,并在必要的情况下,获取现场的显示截图,以便会同本领域专业人员或者专家进行分析,为后续的操作提供指导。但我们发现,现有的技术中,只能对当前显示的一个画面进行截取,或者通过切换操作切换到需要截取的画面,待显示该画面时再进行截取操作,并没有提供一种多个现场点画面同时截取的方法,虽然现有的截取方法能够实现单一画面的截取,但是通过这种方法截取画面,对实时多点业务的分析很不利,存在很明显的缺点:
一是对关键时间点的把握不准确:实时业务随着时间在不断发生变化,如果不能在观察到现象发生的同时即刻进行保留,而是通过其他信息提示后再进行操作或者操作步骤过多,就很可能使得获取的画面丢失关键的信息,无法满足实时性要求;
二是关联性不够强:现场多点业务之间很可能存在关联性,如果不能对多个关联的画面同时进行保留,就会导致获取的结果关联性差,这样对后期的分析也很不利,无法做到全局掌控。
发明内容
本发明目的是提供一种多画面显示选择截取画面的方法及系统,能够实时显示多个现场点的画面,能够在观察到现象的第一时间点快速保留现场画面,能够对多个显示画面同时进行截图保存,指挥人员可以快速、灵活、按需抓取多个现场的画面,可保证画面的实时性、关联性,为技术分析、指挥调度提供高效、科学的依据。
本发明的技术解决方案:
一种多画面显示选择截取画面的方法,包括以下步骤:
1)配置触摸方式与对应的响应方式;配置视频显示区域、列表显示区域以及显示区域信息所对应的缓存区;
2)获取触摸信息;
3)对触摸信息进行初步过滤;
4)接收来自远端节点的数据,同时对过滤后的触摸信息进行分析整合,得到触摸数据后确定对应的响应方式,然后进行对应操作;所述触摸数据包括显示信息、操作信息和触摸方式;所述显示信息包括存在映射关系的视频显示区域、列表显示区域的远端节点及缓冲区;所述操作信息包括操作时间点和操作区域。
进一步的,所述触摸信息包括触摸方式、每一个触摸点按下的时间和抬起的时间以及每一个触摸点的坐标;
所述触摸方式包括单点的单次点击、单点快速双击、单点长按、滑动操作及多点对应的组合操作。
进一步的,对触摸信息进行初步过滤,具体为:
一、对有效的触摸操作进行识别;
二、对无效的触摸操作进行识别。
进一步的,步骤4)具体为:
4.1)接收来自远端节点发送的数据;
4.2)缓存远端数据;
依据显示信息缓存当前需要显示内容时间点和该点之前某一个时间点之间的时间段内的数据,该时间段大于触摸的最大有效果时间;
4.3)依据显示信息从缓存数据中读取数据并显示在对应的视频显示区域;
4.4)根据操作信息响应用户触摸请求,通过操作区域获取对应显示区域的缓冲区;通过操作时间点,获取缓冲区中相应时间点的缓冲数据,使用JPEG图像编码压缩算法,对获取的YUV格式的帧数据进行编码压缩处理,最终生成JPEG格式的图片文件。
进一步的,显示信息为:用户根据需求从列表显示区域将选择对象显示到视频显示区域。
一种多画面显示选择截取画面的系统,其特殊之处在于:包括触摸屏驱动模块、系统进程模块以及应用进程模块,
所述触摸屏驱动模块:用于获取触摸信息,将触摸信息传递给系统进程模块;
所述系统进程模块:用于对触摸信息进行初步过滤后再将过滤后的触摸信息传递给应用进程模块;
所述应用进程模块:用于对过滤后的触摸信息进行分析整合,得到触摸数据,进行具体的画面截取和保存操作。
进一步的,所述应用进程包括触摸数据分析模块、远端数据接收模块、数据缓冲模块、数据显示模块、数据处理模块以及配置管理模块;
配置管理模块:配置触摸方式与对应的响应方式,配置视频显示区域、列表显示区域以及显示区域信息所对应的缓存区;
触摸数据分析模块:用于对触摸信息进行分析整合得到触摸数据,根据触摸数据确定对应的响应方式;所述触摸数据包括显示信息、操作信息和触摸方式;所述显示信息包括存在映射关系的视频显示区域、列表显示区域的远端节点及缓冲区;所述操作信息包括操作时间点和操作区域;
远端数据接收模块:用于接收远端节点发送的数据,并存储在数据缓冲模块;
数据缓冲模块:依据显示信息缓存当前需要显示内容时间点和其之前某一个时间点之间的时间段内的数据,该时间段大于触摸的最大有效果时间;
数据显示模块:依据显示信息从缓存数据中读取数据并显示在对应的视频显示区域;
数据处理模块:根据操作信息响应用户触摸请求,通过操作区域获取对应显示区域的缓冲区;通过操作时间点,获取缓冲区中相应时间点的缓冲数据后,通过编码压缩处理,将其保存为图片,从而完成画面截取工作。
进一步的,所述触摸信息包括触摸方式、每一个触摸点按下的时间和抬起的时间以及每一个触摸点的坐标;
所述触摸方式包括单点的单次点击、单点快速双击、单点长按、滑动操作及多点对应的组合操作。
进一步的,用户发出的显示信号为:用户根据需求从显示列表区域将选择对象拖拉到视频显示区域。
进一步的,还包括本地数据发送模块:用于将本地数据发送给其他设备。
本发明所具有的有益效果:
1、本发明提供一种多画面显示选择截取画面的方法及系统,能够实时显示多个现场点的画面,能够在观察到现象的第一时间点快速保留现场画面,能够对多个显示画面同时进行截图保存。
2、本发明通过缓存触摸开始并延展一段时间的数据,保证截图数据不被遗漏。指挥人员可以快速、灵活、按需抓取多个现场的画面,可保证画面的实时性、关联性,为技术分析、指挥调度提供高效、科学的依据。
附图说明
图1为本发明硬件终端的原理示意图;
图2为本发明配置后的显示模块示意图;
图3为本发明多画面显示选择截取画面的系统原理框图;
图4为本发明多画面显示选择截取画面的流程图;
图5为本发明触摸信息分析流程图。
具体实施方式
实施例1:
如图1所示,终端设备具备终端设备技术领域设备通常所具有的一些模块,包括处理器、存储器、显示模块、音频采集设备、视频采集设备、无线网络传输模块(WIFI)、输入输出模块(I/O)以及电源管理模块。特别的,该终端设备的显示屏为触摸屏,支持多点触摸操作。
实施例2:
正常工作时,设备通过无线网络接收多个现场点的数据,将其显示在显示屏上。其中无线网络包括WIFI或者3G或者4G;现场点可能是另外一台本设备,也可能是单纯的音视频采集设备;数据可能是现场的音视频,也可能是地图位置或者文档等其他类型数据。设备显示屏被配置为多个区域,一个区域显示一个现场点的关联数据。如图2所示:在图2中,区域1、区域2、区域3、区域4为本设备或者其他远端现场点的数据显示区域。右侧为现场点用户列表(包括本设备),操作人员可在该处通过拖动操作,选择需要展示的现场点,如将某个用户拖入左侧四个区域的某一个之中,则该用户的数据就展示在该区域中,如果该区域中之前已展示了别的用户的数据,则其数据会被隐藏起来。
当指挥人员需要获取某一个现场点的画面时,只需要将手指按在屏幕上该显示区域范围内的任何位置一定时长(该时长可通过配置界面进行修改,另外触摸方式也可以配置,比如可以是快速连续点击两次等),设备将自动保存触摸该区域时显示的画面。比如将手指按在区域2一定时长,区域2中显示的画面就被设备自动截取并保存起来,其他区域也类似。当指挥人员需要获取多个现场点的画面时(前提为该现场点的画面当前在某一个区域中),可通过多点触摸方式实现,比如要获取区域1、区域3、区域4区域的画面,可用三个手指同时触摸区域1、区域3、区域4一定时长,设备将自动保存这三个区域当前触摸时的画面。其他多个区域组合也是类似操作方式。截图成功后通过声音和缩略图提示操作成功。
实施例3:
如图3所示,一种多画面显示选择截取画面的系统,包括触摸屏驱动模块、系统进程模块以及应用进程模块,触摸屏驱动模块:用于获取触摸信息,将触摸信息传递给系统进程;系统进程模块:用于对触摸信息进行初步过滤后再将触摸信息传递给应用进程模块;应用进程模块:用于对过滤后的触摸信息进行分析,得到触摸数据,进行具体的画面截取和保存操作。
应用进程包括触摸数据分析模块、远端数据接收模块、数据缓冲模块、数据显示模块、数据处理模块以及配置管理模块;配置管理模块:配置触摸方式与对应的响应方式,配置视频显示区域、列表显示区域以及显示区域信息所对应的数据缓冲模块的缓存区;触摸数据分析模块:用于对触摸信息进行分析整合得到触摸数据,以便确定对应的响应方式。触摸信息包括触摸方式、每一个触摸点按下的时间和抬起的时间以及每一个触摸点的坐标;触摸方式包括单点的单次点击、单点快速双击、单点长按、滑动操作及多点对应的组合操作。触摸数据包括显示信息、操作信息和触摸方式;显示信息包括存在映射关系的视频显示区域、列表显示区域的远端节点及缓冲区;操作信息包括操作时间点和操作区域;远端数据接收模块:用于接收远端节点发送的数据,并存储在数据缓冲模块;数据缓冲模块:依据显示信息缓存当前需要显示内容时间点和其之前某一个时间点之间的时间段内的数据,该时间段大于触摸的最大有效果时间;数据显示模块:依据显示信息从缓存数据中读取数据并显示在对应的视频显示区域;数据处理模块:根据操作信息响应用户触摸请求,通过操作域获取对应显示区域的缓冲区;通过操作时间点,获取缓冲区中相应时间点的缓冲数据后,通过编码压缩处理,将其保存为图片,从而完成画面截取工作。
如图4所示,触摸屏驱动模块获取触摸信息,将其传递给系统进程模块,系统进程模块进行初步过滤后再将触摸信息传递给应用进程模块。应用进程模块分析过滤后的触摸信息,得到触摸数据,进行具体的画面截取和保存操作。
实施例4:
当用户在界面上进行触摸操作时,触摸屏驱动模块会获取到触摸的详细信息,包括单点触摸还是多点触摸,每一个触摸点按下的时间和抬起的时间,每一个触摸点的坐标等,特别的,对于滑动操作,该坐标是不断变化的。一旦屏幕上有触摸操作,这些信息就会被驱动模块周期性的获取到,然后传递到系统进程模块。
系统进程模块收到触摸信息后,对数据进行初步过滤。过滤进行两方面的处理:一方面,对于具有系统优先级的有效触摸操作进行识别,比如特定的应用返回操作,特定的显示系统桌面的操作、特定的显示系统菜单的操作等。如果是这类触摸信息,系统进程将直接响应该触摸操作,并进行对应处理,同时停止该触摸信息的进一步分发。这也就意味着应用不会收到这类触摸信息。另一方面,系统进程对无效的触摸操作进行识别,比如在状态区域的触摸操作,这类操作不会触发任何处理动作,系统会将该类触摸信息剔除掉,同样也不会再将其进行进一步的分发。如果触摸信息不属于上述任何一方面,系统将该触摸信息传递到应用进程。
应用进程模块包括触摸数据分析模块、远端数据接收模块、本地数据发送模块、数据缓冲模块及数据显示模块,数据处理模块以及配置管理模块。
触摸数据分析模块用于分析整合用户的触摸动作等的触摸信息得到触摸数据,触摸数据确定做何响应;远端数据接收模块接收远端节点的数据,将其送给数据缓冲模块。数据显示模块根据显示信息从数据缓冲模块读取远端节点的数据,将其显示到显示界面的对应显示区域中。数据处理模块响应用户请求,对数据进行处理,比如保存为图片等。本地数据发送模块用于将本地的数据发送给其他远端节点。配置管理模块用于对应用进行配置管理,配置触摸方式与对应的响应方式,配置视频显示区域、列表显示区域以及显示区域信息所对应的缓存区。
实施例5:
应用进程模块截取画面的整体工作流程是:接收到过滤后的触摸信息后,调用触摸数据分析模块进行分析,完成后确定画面截取的区域和时间点。通过区域信息,可以确定需要获取那个远端点的数据,从而确定该远端点的缓冲区域;通过时间点信息,可以确定所需数据在该缓冲区的什么位置。之后发送命令给数据处理模块,数据处理模块从缓冲区该位置读取数据,通过编码压缩处理,将其保存为图片,从而完成画面截取工作。
其中,应用进程模块对触摸数据的分析并获取区域和时间点的过程的具体描述如下:
应用进程模块收到过滤后的触摸信息后,会进行分析处理,以便对当前的触摸操作进行识别确认。整个分析处理过程如下图5所示:
首先,应用进程模块读取配置管理模块,确定当前画面截取的触摸方式,比如说是长按还是双击亦或是其他方式。
接着,应用进程模块获取系统进程模块传递过来的所有触摸点信息,分析其触摸方式。对于每一个触摸点,其生命周期包括接触、移动、分离三个阶段,如果移动范围很小,一般会忽略,认为没有移动。因此,相应的就有点击、滑动两种触摸方式。同时这两种方式的一些组合,我们也认为是新的触摸方式,比如快速的两次点击,认为是有效的双击触摸方式,接触后不移动一小段时长,认为是有效的长按触摸方式。应用进程模块会对所有触摸点分析,将其归入某一种触摸方式。进一步的,触摸方式的匹配会按照最长有效时间原则进行匹配。比如当某个位置检测到一次点击操作,根据点击方式的组合,很可能有双击操作,因此该点击操作并不会被立即归类为点单击操作,而是要根据最长有效时间原则进行等待,如果在有效时间范围内再次检测到点击操作,则会归类为双击操作,否则归类为单击操作。一旦一个触摸点的触摸方式被归类,该触摸点的分析即告完成,当在同样的位置有新的触摸点信息到来时,会进行下一次触摸方式的分析和归类。一种例外是长按操作,当一个触摸点被归为长按触摸方式后,如果该触摸点没有立即进入分离阶段,其后续产生的触摸点信息会被忽略,直到分离后再接触,才算产生新的有效触摸点信息。通过触摸方式的分析,触摸点划分为两类,一类是暂不能确定归类的触摸点,一类是已经确定归类的触摸点。
应用进程模块将已完成归类的触摸点的触摸方式,与配置管理模块设定的截取画面的触摸方式进行比较,如果不符合,则移除该触摸点的信息,否则,保存该触摸点的信息。
应用进程模块继续分析保存的所有符合截取画面触摸方式的触摸点的坐标信息,如果该触摸点的坐标范围不在任何一个显示区域内,则移除该触摸点的信息,否则,将该触摸点划分到属于其所在显示区域的分类中。
应用进程模块分析每一个显示区域的触摸点信息。如果该显示区域没有触摸点,则跳过该显示区域,继续进行下一显示区域的分析。如果该显示区域有一个触摸点信息,则保存该区域信息及触摸点首次接触屏幕时的时间点。如果该显示区域有多余一个的触摸点信息,则保存该区域信息及所有触摸点中最早接触屏幕时的时间点。
到此,应用进程模块完成了触摸操作的策略匹配过程。最终获取了需要截取画面的区域和时间点。
下一步进行截取操作。触摸数据分析模块将处理后得到的截取区域和时间点信息发送给数据处理模块。对于界面上每一个显示区域中显示的内容,在应用进程模块的数据缓冲模块中都有一个缓冲区与其对应。通常惯用的缓冲区技术可以保存其显示区域当前显示画面的内容的时间点和其未来一个时间点之间的一段时间内的数据。这主要是为了避免网络抖动等因素可能导致的画面卡顿等现象。在本发明中,为了能够保存触摸点时的画面数据,缓冲区进行了改进,在常用缓冲区技术基础上,加大缓冲内存,并保存当前显示内容时间点和其之前某一个时间点之间的一段时间内的数据。该时间段大于双击触摸方式和长按触摸方式的最大有效时间,从而保证缓冲区中有触摸时间点的数据。数据处理模块通过区域信息获取对应显示区域的缓冲区,通过时间点信息,获取缓冲区中对应时间点的缓冲数据,使用JPEG图像编码压缩算法,对获取的YUV格式的帧数据进行编码压缩处理,最终生成JPEG格式的图片文件。最后,将该图片保存到本地存储中,以供后续调取分析用。