CN114327325B - 多窗口处理方法、系统、可读存储介质和电子设备 - Google Patents
多窗口处理方法、系统、可读存储介质和电子设备 Download PDFInfo
- Publication number
- CN114327325B CN114327325B CN202110458297.6A CN202110458297A CN114327325B CN 114327325 B CN114327325 B CN 114327325B CN 202110458297 A CN202110458297 A CN 202110458297A CN 114327325 B CN114327325 B CN 114327325B
- Authority
- CN
- China
- Prior art keywords
- window
- data
- windows
- server
- window data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种多窗口处理方法,每个窗口用于显示一个信号源,其特征在于,所述多窗口处理方法包括:获取第一时刻的第一窗口数据;获取第二时刻的第二窗口数据;将所述第一窗口数据和所述第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口;以及响应于所述调整窗口为删除一个目标窗口,获取所述目标窗口,将所述目标窗口从场景中移除,将所述目标窗口放入窗口池,作为初始窗口,暂停所述初始窗口内的信号源解码,保持所述初始窗口内的解码线程运行。通过本发明的实施例,可以实现终端与指挥屏的快速同步,避免因窗口频繁增删而导致终端的运行和显示出现卡顿。
Description
技术领域
本发明涉及人机交互领域,具体涉及多窗口处理方法、系统、可读存储介质和电子设备。
背景技术
现有的通用计算机设备用于处理上百路视频流时,软件的运行速率明显下降,此时,对某一路或某几路视频进行删除时会发生明显的卡顿。根据调度指令,有些视频流在被删除后又会被重新加载,此时,也存在卡顿的情况。在现有指挥室或控制中心,指挥屏上呈现的各视频内容通常会根据使用者的调度指令增加或消失或更新。指挥屏与服务器通信连接,由服务器接收调度指令并对指挥屏显示的界面进行调整,服务器的硬件运算能力较高,其采用的专用的视频、音频解码设备的运算能力也比较高,由此,在删除视频、增加视频、和/或更新视频时,服务器不会出现卡顿。而指挥室或控制中心的终端通常是通用的计算机设备,其运算能力往往低于专用的设备。终端为了获得与指挥屏同步的视频界面需要不断的和服务器通信,当视频流较多的情况下,例如几百路视频流,对某一路或某几路视频流进行删除时,在终端上会发生明显的卡顿。即使采用更高配置的通用设备也难以解决这一问题。
发明内容
有鉴于此,本发明实施例的目的是提供了一种多窗口处理方法、系统、计算机可读存储介质和电子设备。
第一方面,本发明实施例提供了一种窗口处理方法,包括:
获取第一时刻的第一窗口数据;
获取第二时刻的第二窗口数据;
将所述第一窗口数据和所述第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口;以及
响应于所述调整窗口为删除一个目标窗口,获取目标窗口,将所述目标窗口从场景中移除,将所述目标窗口放入窗口池,作为初始窗口,暂停所述初始窗口内的信号源解码,保持所述初始窗口内的解码线程运行。
根据本发明的一些实施例,在获取所述第一窗口数据之前,所述窗口处理方法还包括:
创建预定数量的所述初始窗口,将所述预定数量初始窗口保存到窗口池。
根据本发明的一些实施例,创建预定数量的所述初始窗口,将所述预定数量的初始窗口保存到窗口池之后,所述窗口处理方法还包括:
根据所述第一窗口数据解析所述窗口个数,将解析出的所述窗口个数作为第一数量;
从所述窗口池中取出第一数量的所述初始窗口;
为所述第一数量的初始窗口设置第一窗口数据获得所述窗口。
根据本发明的一些实施例,所述为所述初始窗口设置第一窗口数据获得所述窗口之后,所述窗口处理方法还包括:
将所述窗口添加到场景中。
根据本发明的一些实施例,所述调整窗口包括删除所述窗口、增加所述窗口和更新所述窗口。
根据本发明的一些实施例,所述将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口,包括:
获取第一窗口数据中第一子窗口数据的第一个数;
获取第二窗口数据中第二子窗口数据的第二个数;
响应于第一个数大于第二个数,删除窗口;或者
响应于第一个数小于第二个数,增加窗口;或者
响应于第一个数等于第二个数,更新窗口。
根据本发明的一些实施例,所述增加所述窗口包括:
根据所述差异窗口数据解析出需要增加的所述窗口的第二数量;
从所述窗口池中取出所述第二数量的所述初始窗口;
将所述第二数量的初始窗口设置第二窗口数据获得新增窗口;
将所述新增窗口添加到所述场景中;以及
启动所述新增窗口的信号源解码线程。
根据本发明的一些实施例,所述更新所述窗口包括:
将所述窗口设置第二窗口数据。
根据本发明的一些实施例,第一窗口数据包括第一时刻的各窗口的位置,以及各窗口内对应的信号源信息;第二窗口数据包括第二时刻的各窗口的位置,以及各窗口内对应的信号源信息。
根据本发明的一些实施例,第一窗口数据还包括第一时刻的各窗口的叠放次序;第二窗口数据包括第二时刻的各窗口的叠放次序。
根据本发明的一些实施例,第一窗口数据还包括第一时刻的各窗口的窗口标识;第二窗口数据包括第二时刻的各窗口的窗口标识。
第二方面本发明实施例提供一种多窗口处理系统包括:
服务器,其与指挥屏通过视频线连接,以及与信号源通信连接,服务器控制窗口布局以及在各窗口内绘制对应的信号源,并将绘制结果输出供指挥屏进行显示;
指挥屏,用于显示服务器输出的绘制结果;以及
终端,其与服务器通信连接,用于获取服务器中的窗口数据以及各窗口对应的信号源的信息,以使得终端上的窗口以及窗口内显示的信号源与指挥屏保持同步,并执行上述方法,其中用于获取服务器中的窗口数据包括从服务器获取第一时刻的第一窗口数据和从服务器获取第二时刻的第二窗口数据。
第三方面本发明实施例提供一种多窗口处理系统包括:
拼接处理器,其与信号源连接;
服务器,其与拼接处理器通信连接以及与信号源通信连接,服务器通过控制拼接处理器,以控制窗口布局以及在各窗口内绘制对应的信号源并将绘制结果输出供拼接指挥屏进行显示;
拼接指挥屏,用于显示拼接处理器输出的绘制结果;以及
终端,其与服务器通信连接,用于获取服务器中的窗口数据以及各窗口对应的信号源的信息以使得终端上的窗口以及窗口内显示的信号源与拼接指挥屏保持同步,并执行上述任一项所述的方法,其中用于获取服务器中的窗口数据包括从服务器获取第一时刻的第一窗口数据和从服务器获取第二时刻的第二窗口数据。
第四方面本发明实施例提供一种计算机可读存储介质,用于存储计算机程序指令,所述计算机程序指令在被处理器执行时实现如上述任一项所述的方法。
第五方面本发明实施例提供一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现上述方法。
通过本发明的实施例,可以实现终端与指挥屏的快速同步,避免因窗口频繁增删而导致终端的运行和显示出现卡顿。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其它目的、特征和优点将更为清楚,在附图中:
图1a是根据本发明的一些实施例的多窗口交互系统的示意图;
图1b是根据本发明的一些实施例的多窗口交互系统的示意图;
图2是本发明实施例的窗口处理方法的流程图;
图3是本发明实施例的第一窗口数据和第一子窗口数据的示意图;
图4是本发明实施例的窗口布局示意图;
图5是本发明实施例的视频流通道的示意图;
图6a是本发明实施例的第二窗口数据的示意图;
图6b是本发明实施例的第二窗口数据的示意图;
图6c是本发明实施例的第二窗口数据的示意图;
图7是本发明实施例的窗口处理系统的示意图;
图8是本发明实施例的场景示意图;
图9是本发明实施例窗口池的示意图;
图10是本发明实施例窗口池的示意图;
图11是本发明实施例的窗口处理装置的示意图;
图12是本发明实施例的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
此外,本领域普通技术人员应当理解,在此提供的附图都是为了说明的目的,并且附图不一定是按比例绘制的。
除非上下文明确要求,否则在说明书的“包括”、“包含”等类似词语应当解释为包含的含义而不是排他或穷举的含义;也就是说,是“包括但不限于”的含义。
在本发明的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1a是根据本发明的一些实施例的多窗口交互系统的示意图。
如图1a所示,根据本发明的一些实施例的多窗口交互系统包括:指挥屏10、服务器20和终端40。
根据本发明的一些实施例的服务器20可以是一台服务器、也可以是服务器集群,还可以是云服务器。
终端40可以是手机、平板电脑、多媒体播放器、可穿戴设备、个人计算机等电子设备。
服务器20与信号源通信连接,例如通过网络连接,具体地,服务器20能够接收信号源210、信号源211……信号源n等。服务器20接收指令接收设备 (未示出)解析的调度指令或者可以接收其他来自网络的指令。指令接收设备用于解析调度指令,包括:鼠标、键盘、体感传感器、触控设备、激光设备、语音转换设备、可穿戴设备等。服务器20与指挥屏10通过视频线连接,服务器20根据调度指令调整窗口布局,以及在各窗口内绘制对应的信号源210、211,并将绘制结果输出供指挥屏10进行显示。所述调整窗口布局包括调整各窗口在指挥屏上的大小、位置和叠放次序等。根据本发明的一些实施例,服务器20可以包括拼接处理器21,服务器根据调度指令控制拼接处理器21,以控制指挥屏 10上各窗口的呈现方式,以及使信号源210、211在对应的窗口内显示。根据本发明的一些实施例,所述拼接处理器可以以软件的方式运行在服务器中,或者也可以以硬件的方式存在。
终端40与服务器20通信连接,例如通过网络连接,用于获取服务器20中的窗口信息(或称窗口数据,或窗口布局信息),以及各窗口对应的信号源信息,以使得终端上的窗口以及窗口内显示的信号源与指挥屏10保持同步。当服务器 20根据指令接收设备解析的调度指令调整窗口布局时,终端40需要与服务器 20建立连接,并接收服务器20上的窗口数据,使终端40的各窗口与指挥屏10 上的各窗口保持同步,同时使各信号源输出到相应的窗口中。
指挥屏10上显示的窗口经常根据使用者的要求(或根据调度指令)改变,例如删除、增加和更新。对应的,终端40上的窗口也要同步更新。本发明实施例的终端40通常采用通用的计算机设备,通用的计算机设备成本低、兼容性好,然而,当本发明实施例的终端40对上百路的视频流操作时,也即,当视频流的数量很多时,会出现卡顿的现象。通过对硬件设备进行升级不能完全消除卡顿的现象。通常对硬件的升级成本高、解决效果差。为此,本发明实施例的终端 40还能够独立地对窗口进行处理,例如,根据本发明的一些实施例,终端40能执行如下窗口多处理方法(具体见下文描述),以避免与指挥屏同步时,出现的开窗和视频播放卡顿现象。
图1b是根据本发明的一些实施例的多窗口交互系统的示意图,该多窗口交互系统包括:拼接指挥屏10'、服务器20'、终端40'和拼接处理器21'。此处的拼接指挥屏可以包括多块小的显示屏幕,或者也可以为一整块大屏幕。
根据本发明的一些实施例的服务器20'可以是一台服务器、也可以是服务器集群,还可以是云服务器。
终端40'可以是手机、平板电脑、多媒体播放器、可穿戴设备、个人计算机等电子设备。
拼接处理器21'与信号源连接,例如通过图示交换机连接,或者可以通过视频线连接。
服务器20'通过交换机50与信号源连接,能够接收信号源210'、信号源 211'……信号源n'等。服务器20'接收指令接收设备(未示出)解析的调度指令或者可以接收其他来自网络的指令。指令接收设备用于解析调度指令,包括:鼠标、键盘、体感传感器、触控设备、激光设备、语音转换设备、可穿戴设备等。
服务器20'与拼接处理器21'通信连接,如,服务器20'通过交换机50与拼接处理器21'连接,服务器20'可以根据调度指令控制拼接处理器21',以调整窗口布局以及在各窗口内绘制对应的信号源并将绘制结果输出供拼接指挥屏进行显示。所述调整窗口布局包括调整各窗口在指挥屏上的大小、位置和叠放次序等。
拼接指挥屏10'用于显示拼接处理器21'输出的绘制结果。
终端40'与服务器20'通信连接,如,终端40'通过交换机50与服务器20'连接,获取服务器20'中的窗口布局信息,以及各窗口对应的信号源信息,以使得终端上的窗口以及窗口内显示的信号源与指挥屏10'保持同步。当服务器20'根据指令接收设备解析的调度指令控制拼接处理器21',以调整窗口布局时,终端40' 需要与服务器20'建立连接,并接收服务器20'上的窗口布局信息,使终端40'的各窗口与指挥屏10'上的各窗口保持同步,同时使各信号源输出到相应的窗口中。
指挥屏10'上显示的窗口经常根据使用者的要求(或根据调度指令)改变,例如删除、增加和更新。对应的,终端40'上的窗口也要同步更新。本发明实施例的终端40'通常采用通用的计算机设备,通用的计算机设备成本低、兼容性好,然而,当本发明实施例的终端40'对上百路的视频流操作时,也即,当视频流的数量很多时,会出现卡顿的现象。通过对硬件设备进行升级不能完全消除卡顿的现象。通常对硬件的升级成本高、解决效果差。为此,本发明实施例的终端 40'还能够独立地对窗口进行处理,例如,根据本发明的一些实施例,终端40' 能执行如下窗口多处理方法(具体见下文描述),以避免与指挥屏同步时,出现的开窗和视频播放卡顿现象。
图2是本发明实施例的多窗口处理方法的流程图。
参照图2,本发明实施例的多窗口处理流程包括步骤1000、步骤1001、步骤1002和步骤1003。本发明实施例的多窗口处理流程在终端执行。
步骤1000,获取第一时刻的第一窗口数据。
第一窗口数据包括至少一个第一子窗口数据。所述第一窗口数据包括各窗口(或称子窗口)位置,各窗口叠放次序,以及各窗口内对应的信号源信息。
图3是本发明实施例的第一窗口数据和第一子窗口数据的示意图。
参照图3,第一窗口数据200包括第一子窗口数据201、第一子窗口数据202 和第一子窗口数据203。
其中,第一子窗口数据包括位置数据,第一子窗口叠放次序,以及第一子窗口内对应的信号源信息。
图4是本发明实施例的窗口布局示意图。
参照图4,第一子窗口111、第一子窗口112和第一子窗口113的显示位置不同。这是由于第一子窗口111、第一子窗口112和第一子窗口113对应的第一子数据不同,例如,各个第一子窗口的第一子数据的位置数据不同。
其中,位置数据包括左顶点位置、窗口宽度和窗口高度。
第一子窗口数据还包括窗口标识。
表1是窗口标识与位置数据的示意值。
窗口标识 | 左顶点位置 | 窗口宽度 | 窗口高度 |
窗口111 | P1 | W1 | H1 |
窗口112 | P2 | W2 | H2 |
窗口113 | P3 | W3 | H3 |
表1
通过获得窗口标识和窗口位置数据,能够获得各第一子窗口数据,通过获得各第一子窗口数据,将多个第一子窗口数据汇总获得第一窗口数据。
第一子窗口数据还包括视频流通道(或称第一子窗口对应的信号源信息)。
图5是本发明实施例的视频流通道的示意图。
参照图5,第一子窗口数据201的视频流通道为视频流210,此时,窗口标识为窗口111的窗口播放视频流210;第一子窗口数据202的视频流通道为视频流211,此时,窗口标识为窗口112的窗口播放视频流211;第一子窗口数据203 的视频流通道为视频流212,此时,窗口标识为窗口113的窗口播放视频流212。
通过获得视频流通道,能够获得各窗口显示的视频流。
步骤1001,获取第二时刻的第二窗口数据;
当根据调度指令使各窗口发生变化时,获取第二窗口数据。
本发明实施例的第二窗口数据包括至少一个第二子窗口数据,前面对第一子窗口数据的描述也适用于第二子窗口数据,此处从略。
图6a是本发明实施例的第二窗口数据的示意图。
当调度指令为增加窗口114,则终端获得的第二窗口数据为第二子窗口数据301、第二子窗口数据302、第二子窗口数据303和第二子窗口数据304。
图6b是本发明实施例的第二窗口数据的示意图。结合图5,具体地,当调度指令为删除窗口113,服务器更新了指挥屏上的各窗口,服务器的第二窗口数据包括第二子窗口数据301、第二子窗口数据302。则终端获得的第二窗口数据为第二子窗口数据301、第二子窗口数据302。
图6c是本发明实施例的第二窗口数据的示意图。
当调度指令为更新窗口113,则第二窗口数据为第二子窗口数据301、第二子窗口数据302、第二子窗口数据303。
本发明实施例的技术方案通过获得第二窗口数据能够获得指挥屏各窗口根据调度指令发生的变化,从而能够根据第二窗口数据与第一窗口数据的差异数据调整终端上的窗口,使终端上的窗口与指挥屏上各窗口保持同步。
步骤1002,将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口。
根据本发明的一些实施例,所述调整窗口包括删除所述窗口、增加所述窗口和更新所述窗口。
将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口。
请参照图3、图4和图6b,交互指令为删除窗口113(或称目标窗口113),那么,获取的第一子窗口的第一个数为3,获取的第二子窗口的第二个数为2。第一个数大于第二个数时,则在场景中删除窗口。在本申请中,场景由各窗口和窗口内的信号源构成。
当第一个数小于第二个数时,在场景中增加窗口。
当第一个数等于第二个数时,在场景中更新窗口。例如,调整了窗口112 的位置数据,具体地,将窗口宽度调小,则在场景中更新窗口112的显示效果。
步骤1003,响应于所述调整窗口为删除所述目标窗口113,获取目标窗口 113,将所述目标窗口113从场景中移除,将所述目标窗口放入窗口池作为初始窗口,暂停所述初始窗口对信号源的解码,保持所述初始窗口解码线程运行。
根据本发明一些实施例,具体地,将删除窗口(目标窗口)标记为回收窗口,将回收窗口恢复默认值后放入窗口池。默认值可以是初始值,可以根据需要设定。所述回收窗口进入窗口池后转换为初始窗口。暂停所述初始窗口内的信号源解码,也就是说解码暂停。参考图5和图6b,删除了窗口113,窗口113 的解码暂停,也即,窗口标识为窗口113的窗口不对视频流212进行解码。此时,保持所述初始窗口的解码线程运行,也就是说,在本发明实施例的窗口处理方法在终端并不是直接将删除窗口(目标窗口)删除,而是将其恢复默认值后放入窗口池作为窗口池中的初始窗口,初始窗口的解码线程还在内存中。
本发明实施例的技术方案通过响应于所述调整窗口为删除所述窗口,获取删除窗口,将所述删除窗口从场景中移除,将所述删除窗口标记为回收窗口放入窗口池,将其恢复默认值后放入窗口池作为窗口池中的初始窗口,暂停所述初始窗口的解码线程,保持所述初始窗口解码线程运行,由此,当终端与指挥同步时,对于指挥屏中删除的窗口,终端仅仅将删除窗口从场景中移除,将删除窗口恢复默认值后作为窗口池中的初始窗口,暂停初始窗口的解码线程,保持初始窗口解码线程运行,初始窗口的解码线程还在内存中。通过本发明的实施例,可以实现终端与指挥屏的快速同步,避免因窗口频繁增删而导致终端的运行和显示出现卡顿。
图7是本发明实施例的窗口处理系统的示意图。
参照图7,在本发明实施例的窗口处理系统中包括指挥屏、服务器和终端,以执行本发明实施例的窗口处理方法。指挥屏(图中未示出)请参考图1,指挥屏作为服务器的输出设备根据服务器调度指令显示窗口。
步骤2000,终端创建预定数量的初始窗口,将所述预定数量的初始窗口保存到窗口池。
步骤2001,服务器根据请求,发送第一窗口数据。第一窗口数据包括至少一个第一子窗口数据。其中,第一子窗口数据包括位置数据,以确定该窗口在场景中的左顶点位置、该窗口的窗口宽度和窗口高度。第一子窗口数据还包括窗口标识以区分不同的窗口。第一子窗口数据还包括视频流通道,以使窗口与视频流对应。例如,如图5所示,将第一子窗口数据203设置到初始窗口上,经设置后得到窗口,该窗口的窗口标识设置为窗口113,根据第一子窗口数据的视频流通道,该窗口的视频流通道为视频流212,则该窗口用于播放“视频流212”所表征的视频。
图8是本发明实施例的场景示意图。
参照图8,场景11包括三个窗口,根据步骤2001,服务器将其对应的第一窗口数据发送到终端。
服务器向终端发送的数据为第一窗口数据。参照图5,例如,其中第一子窗口数据包括:位置数据、窗口标识、视频流通道。服务器的场景中有三个窗口,由此,服务器发送三个第一子窗口数据,分别为第一子窗口数据201、第一子窗口数据202和第一子窗口数据203。其中,第一子窗口数据201包括:位置数据 (P1、W1、H1),窗口标识(窗口111),视频流通道(视频流210);第一子窗口数据202包括:位置数据(P2、W2、H2),窗口标识(窗口112),视频流通道(视频流211);第一子窗口数据203包括:位置数据(P3、W3、H3),窗口标识(窗口113),视频流通道(视频流212)。
继续参照图7。
步骤2002,根据第一窗口数据的个数获取初始窗口个数,从窗口池中取出对应个数的初始窗口,将第一窗口数据对应设置到初始窗口上。
具体地,终端接收来自步骤2001的第一窗口数据后,解析出其中窗口的个数。例如,根据步骤2001获得的第一窗口数据包括三个第一子窗口数据,由此,解析出窗口的个数为三个。
终端从窗口池中取出三个初始窗口,将接收的第一窗口数据设置到终端的初始窗口上。具体地,终端将第一子窗口数据201设置到一个初始窗口上,经设置该窗口的窗口标识对应改变为窗口111,该窗口的左上顶点为P1,该窗口的窗口宽度为W1,该窗口的窗口高度为H1,该窗口的视频流通道为视频流210。同样的方法,终端将第一子窗口数据202设置到又一个初始窗口上,类似地,终端将第一子窗口数据203设置到再一个初始窗口上。由此,终端上获得了三个窗口。
通过步骤2002,终端能够获得与服务器同步的第一窗口数据,使得终端能够获得指挥屏的布局和显示内容。
步骤2003,终端将窗口添加到场景中。
具体地,将所述窗口添加到场景中。终端根据步骤2002对初始窗口设置得到窗口之后,将各窗口添加到终端的场景中。终端的场景示意图请参考图8,终端将场景在显示设备上显示,由此,使用者在终端上能够看到与指挥屏同步的内容。
通过步骤2003,终端能够将与指挥屏同步的内容输出到终端的显示设备上。
步骤2004,服务器根据调度指令调整窗口。
具体地,服务器根据使用者的需求调整窗口。例如,服务器根据使用者的需求删除窗口,由此,服务器的场景中的窗口改变;或者服务器根据使用者的需求添加窗口,由此,服务器的场景中的窗口改变;或者服务器根据使用者的需求更新窗口,由此,服务器的场景中的窗口改变。上述窗口改变包括窗口个数的改变、窗口的第二窗口数据相对于第一窗口数据的改变和/或各窗口之间布局关系的改变。
通过步骤2004,能够使得指挥屏的显示内容根据使用者的需求进行调整。
步骤2005,服务器发送更新后的第二窗口数据。
具体地,服务器根据使用者的调度指令调整窗口后,窗口改变,服务器根据终端的请求,向终端发生更新后的第二窗口数据。
通过步骤2005,服务器能够将更新后的第二窗口数据发送到终端,以使得终端能够获得和指挥屏同步的显示内容。
步骤2006,终端判断场景中的窗口是否与服务器同步。
具体的,终端通过实时与服务器通信,获取服务器中最新显示内容,也即获取第二窗口数据。终端将第二窗口数据与终端上的第一窗口数据进行比较,判断是否与服务器同步。如果在预定的时间间隔内第二窗口数据与第一窗口数据相同,则终端的场景与服务器的场景相同;反之,则终端的场景与服务器的场景不同。
通过步骤2006,终端能够判断本地的显示内容是否与服务器同步。
步骤2007,终端将第一窗口数据和第二窗口数据比较得到需要增加的窗口、需要删除的窗口以及需要更新的窗口。
步骤2007的具体方法与步骤1002相同,在此不再赘述。
通过步骤2007,本发明实施例的终端能够获得需要增加的窗口、需要删除的窗口或者需要增加的窗口,以使本发明实施例的终端与指挥屏10保持同步。
步骤2008,终端删除窗口。
删除窗口的步骤可以参考步骤1003。
具体地,响应于所述调整窗口为删除所述窗口,获取删除窗口,将所述删除窗口从场景中移除,将所述删除窗口标记为初始窗口放入窗口池,暂停所述初始窗口的解码线程,保持所述初始窗口解码线程运行。
图9是本发明实施例窗口池的示意图。
具体地,根据步骤2008删除窗口,将删除窗口放入窗口池400获得初始窗口401。暂停所述初始窗口的解码线程,也就是说解码线程暂停,初始窗口的解码线程运行。在本发明实施例的窗口处理方法中,在窗口池400中的初始窗口 401的解码线程还在内存中。
本发明实施例通过将删除窗口放入窗口池获得初始窗口,暂停初始窗口的解码线程,所述解码线程在内存中。对于删除指令,当终端的显示与指挥屏保持同步时,不会影响终端的运行速度,由此,改善了当指挥屏上删除窗口,终端为了与指挥屏10同步也需要删除窗口而造成终端运行卡顿。
步骤2009,终端增加窗口。
图10是本发明实施例窗口池的示意图。
具体的,响应于所述调整窗口为增加窗口,参照图10,通过窗口池400将初始窗口从窗口池400中取出并标记为增加窗口,启动增加窗口的解码线程。将增加窗口添加到场景中,以使得终端上能够显示增加窗口,以使终端与指挥屏保持同步。
本发明实施例响应于调整窗口为增加窗口,增加窗口与删除窗口共用相同的窗口池,通过窗口池将初始窗口取出并标记为新增窗口,启动新增窗口的解码线程,由此可以快速增加新的窗口,而新增窗口是从窗口池中取出的,不需要在内存中重新创建,不会造成终端卡顿。
步骤2010,终端更新窗口。
具体的,响应于所述调整窗口为更新窗口,将第二子窗口数据设置到窗口上。例如调整了窗口112的位置数据,具体地,将窗口宽度调小,则在场景中更新窗口112的显示效果。
本发明实施例通过创建预定数量的初始窗口,将所述预定数量的初始窗口保存到窗口池,接收第一窗口数据,根据第一窗口数据获取初始窗口个数,将窗口添加到场景中,通过与服务器通信获取第二窗口数据,判断场景中的窗口是否与服务器同步,将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据差异窗口数据确定需要增加的窗口、需要删除的窗口以及需要更新的窗口,对于删除窗口,将删除窗口放入窗口池,不结束解码线程,对于增加窗口,与删除窗口公用相同的窗口池,由此,当本发明实施的终端与指挥屏同步显示时能够明显消除卡顿现象。
图11是本发明实施例的窗口处理装置的示意图。
参照图11,本发明实施例的窗口处理装置包括获取模块401、同步模块402 和处理模块403。
获取模块401执行步骤1000和步骤1001以获取第一窗口数据和第二窗口数据。
同步模块402执行步骤1002,以将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口,所述调整窗口包括删除所述窗口、增加所述窗口和更新所述窗口。
处理模块403执行步骤1003,响应于所述调整窗口为删除所述窗口,将所述删除窗口(即目标窗口)从场景中移除,将所述删除窗口标记为回收窗口放入窗口池后生成初始窗口,暂停所述初始窗口的解码线程,保持所述初始窗口解码线程运行。
图12是本发明实施例的电子设备的示意图。
本发明实施的电子设备可以在专用的设备上运行,也可以在通用的设备上运行。当本发明实施例的电子设备在通用设备上运行时,本发明实施例的电子设备如图12所示的电子设备12,其包括通用的硬件结构以执行本发明一些实施例的多窗口处理方法,其至少包括处理器121和存储器122。处理器121和存储器122通过总线123连接。存储器122适于存储处理器121可执行的多窗口处理方法中对应的指令或数据。处理器121可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器121通过执行存储器122所存储的指令,从而执行如上所述的本发明实施例的多窗口处理方法。总线123将上述多个组件连接在一起,同时将上述组件连接到显示控制器124和显示装置以及输入/输出(I/O)装置125。输入/输出(I/O)装置125可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出装置125通过输入/输出(I/O)控制器126 与系统相连。
本领域的技术人员应明白,本申请的实施例可提供方法、装置(设备)或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、 CD-ROM、光学存储器等)上实施的计算机程序产品。
本申请是参照根据本申请实施例的方法、装置(设备)和计算机程序产品的流程图来描述的。应理解可由计算机程序指令实现流程图中的每一流程。
这些计算机程序指令可以存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现流程图一个流程或多个流程中指定的功能。
也可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程中指定的功能的装置。
本发明的另一实施例涉及一种非易失性可读存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部方法的实施例。
即,本领域技术人员可以理解,实现上述实施例的方法中的全部或部分步骤是可以通过程序来指定相关的硬件来完成,该程序存储在一个可读存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器 (processor)执行本申请各实施例所述方法的全部或部分步骤。而前述的可读存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (15)
1.多窗口处理方法,每个窗口用于显示一个信号源,其特征在于,所述多窗口处理方法包括:
获取第一时刻的第一窗口数据;
获取第二时刻的第二窗口数据;
将所述第一窗口数据和所述第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口;以及
响应于所述调整窗口为删除一个目标窗口,获取所述目标窗口,将所述目标窗口从场景中移除,将所述目标窗口放入窗口池,作为初始窗口,暂停所述初始窗口内的信号源解码,保持所述初始窗口内的解码线程运行。
2.根据权利要求1所述的多窗口处理方法,其特征在于,在获取所述第一窗口数据之前,所述窗口处理方法还包括:
创建预定数量的所述初始窗口,将所述预定数量初始窗口保存到窗口池。
3.根据权利要求2所述的多窗口处理方法,其特征在于,创建预定数量的所述初始窗口,将所述预定数量的初始窗口保存到窗口池之后,所述窗口处理方法还包括:
根据所述第一窗口数据解析所述窗口个数,将解析出的所述窗口个数作为第一数量;
从所述窗口池中取出第一数量的所述初始窗口;
为所述第一数量的初始窗口设置第一窗口数据获得所述窗口。
4.根据权利要求3的多窗口处理方法,其特征在于,所述为所述初始窗口设置第一窗口数据获得所述窗口之后,所述窗口处理方法还包括:
将所述窗口添加到场景中。
5.根据权利要求1所述的多窗口处理方法,其特征在于,所述调整窗口包括删除所述窗口、增加所述窗口和更新所述窗口。
6.根据权利要求1所述的多窗口处理方法,其特征在于,所述将第一窗口数据和第二窗口数据比较得到差异窗口数据,根据所述差异窗口数据调整窗口,包括:
获取第一窗口数据中第一子窗口数据的第一个数;
获取第二窗口数据中第二子窗口数据的第二个数;
响应于第一个数大于第二个数,删除窗口;或者
响应于第一个数小于第二个数,增加窗口;或者
响应于第一个数等于第二个数,更新窗口。
7.根据权利要求6所述的多窗口处理方法,其特征在于,所述增加所述窗口包括:
根据所述差异窗口数据解析出需要增加的所述窗口的第二数量;
从所述窗口池中取出所述第二数量的所述初始窗口;
将所述第二数量的初始窗口设置第二窗口数据获得新增窗口;
将所述新增窗口添加到所述场景中;以及
启动所述新增窗口的信号源解码线程。
8.根据权利要求6所述的多窗口处理方法,其特征在于,所述更新所述窗口包括:
将所述窗口设置第二窗口数据。
9.根据权利要求1所述的多窗口处理方法,其特征在于,第一窗口数据包括第一时刻的各窗口的位置,以及各窗口内对应的信号源信息;第二窗口数据包括第二时刻的各窗口的位置,以及各窗口内对应的信号源信息。
10.根据权利要求9所述的多窗口处理方法,其特征在于,第一窗口数据还包括第一时刻的各窗口的叠放次序;第二窗口数据包括第二时刻的各窗口的叠放次序。
11.根据权利要求9或10所述的多窗口处理方法,其特征在于,第一窗口数据还包括第一时刻的各窗口的窗口标识;第二窗口数据包括第二时刻的各窗口的窗口标识。
12.一种多窗口处理系统,其特征在于,所述多窗口处理系统包括:
服务器,其与指挥屏通过视频线连接,以及与信号源通信连接,服务器控制窗口布局以及在各窗口内绘制对应的信号源,并将绘制结果输出供指挥屏进行显示;
指挥屏,用于显示服务器输出的绘制结果;以及
终端,其与服务器通信连接,用于获取服务器中的窗口数据以及各窗口对应的信号源的信息,以使得终端上的窗口以及窗口内显示的信号源与指挥屏保持同步,并执行上述权利要求1-11任一项所述的方法,其中用于获取服务器中的窗口数据包括从服务器获取第一时刻的第一窗口数据和从服务器获取第二时刻的第二窗口数据。
13.一种多窗口处理系统,其特征在于,所述多窗口处理系统包括:
拼接处理器,其与信号源连接;
服务器,其与拼接处理器通信连接以及与信号源通信连接,服务器通过控制拼接处理器,以控制窗口布局以及在各窗口内绘制对应的信号源并将绘制结果输出供拼接指挥屏进行显示;
拼接指挥屏,用于显示拼接处理器输出的绘制结果;以及
终端,其与服务器通信连接,用于获取服务器中的窗口数据以及各窗口对应的信号源的信息以使得终端上的窗口以及窗口内显示的信号源与拼接指挥屏保持同步,并执行上述权利要求1-11任一项所述的方法,其中用于获取服务器中的窗口数据包括从服务器获取第一时刻的第一窗口数据和从服务器获取第二时刻的第二窗口数据。
14.一种计算机可读存储介质,用于存储计算机程序指令,其特征在于,所述计算机程序指令在被处理器执行时实现如权利要求1-11中任一项所述的方法。
15.一种电子设备,包括存储器和处理器,其特征在于,所述存储器用于存储一条或多条计算机程序指令,其中,所述一条或多条计算机程序指令被所述处理器执行以实现如权利要求1-11中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458297.6A CN114327325B (zh) | 2021-04-27 | 2021-04-27 | 多窗口处理方法、系统、可读存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110458297.6A CN114327325B (zh) | 2021-04-27 | 2021-04-27 | 多窗口处理方法、系统、可读存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114327325A CN114327325A (zh) | 2022-04-12 |
CN114327325B true CN114327325B (zh) | 2022-06-07 |
Family
ID=81044336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110458297.6A Active CN114327325B (zh) | 2021-04-27 | 2021-04-27 | 多窗口处理方法、系统、可读存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114327325B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707622A (zh) * | 2009-10-30 | 2010-05-12 | 深圳市深视音电子技术有限公司 | 实现远程数据监控的方法 |
EP2555517A1 (en) * | 2011-08-01 | 2013-02-06 | Hunt Electronic Co., Ltd. | Network video server and video control method thereof |
CN104298417A (zh) * | 2013-07-19 | 2015-01-21 | 北京三星通信技术研究有限公司 | 移动终端管理应用程序的视图的方法及装置 |
WO2015062616A1 (de) * | 2013-10-30 | 2015-05-07 | Barco Control Rooms Gmbh | Synchronisieren von videos in einer displaywand |
CN106412518A (zh) * | 2016-10-20 | 2017-02-15 | 重庆邮电大学 | 基于td‑lte应急通信的无线视频传输系统 |
CN110399186A (zh) * | 2018-04-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备及计算机可读存储介质 |
CN111343409A (zh) * | 2020-02-13 | 2020-06-26 | 北京翼鸥教育科技有限公司 | 多个视频窗口动态排布的发起、同步方法及系统 |
CN111831245A (zh) * | 2020-07-14 | 2020-10-27 | 北京仁光科技有限公司 | 显示控制系统中的开窗控制方法、装置及存储介质 |
-
2021
- 2021-04-27 CN CN202110458297.6A patent/CN114327325B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101707622A (zh) * | 2009-10-30 | 2010-05-12 | 深圳市深视音电子技术有限公司 | 实现远程数据监控的方法 |
EP2555517A1 (en) * | 2011-08-01 | 2013-02-06 | Hunt Electronic Co., Ltd. | Network video server and video control method thereof |
CN104298417A (zh) * | 2013-07-19 | 2015-01-21 | 北京三星通信技术研究有限公司 | 移动终端管理应用程序的视图的方法及装置 |
WO2015062616A1 (de) * | 2013-10-30 | 2015-05-07 | Barco Control Rooms Gmbh | Synchronisieren von videos in einer displaywand |
CN106412518A (zh) * | 2016-10-20 | 2017-02-15 | 重庆邮电大学 | 基于td‑lte应急通信的无线视频传输系统 |
CN110399186A (zh) * | 2018-04-24 | 2019-11-01 | 阿里巴巴集团控股有限公司 | 消息处理方法、装置、电子设备及计算机可读存储介质 |
CN111343409A (zh) * | 2020-02-13 | 2020-06-26 | 北京翼鸥教育科技有限公司 | 多个视频窗口动态排布的发起、同步方法及系统 |
CN111831245A (zh) * | 2020-07-14 | 2020-10-27 | 北京仁光科技有限公司 | 显示控制系统中的开窗控制方法、装置及存储介质 |
Non-Patent Citations (2)
Title |
---|
数字视频监控与防盗报警联动系统的设计与实现;罗万杰;《中国人民公安大学学报(自然科学版)》;20030220(第01期);全文 * |
视频监控系统和即时回放功能的研究与实现;鲍峰;《中国优秀硕士学位论文全文数据库》;20110930;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114327325A (zh) | 2022-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10798271B2 (en) | Detecting errors in the timing between subtitles and shot changes | |
EP3890294A1 (en) | Method and apparatus for extracting hotspot segment from video | |
EP3179735A1 (en) | Display device and method for controlling the same | |
CN114297436A (zh) | 一种显示设备及用户界面主题更新方法 | |
US10419828B2 (en) | Modifying subtitles to reflect changes to audiovisual programs | |
CN112947815B (zh) | 多窗口交互方法、系统、可读存储介质和电子设备 | |
CN113010075B (zh) | 多信号源窗口交互方法、系统、可读存储介质和电子设备 | |
US20180366089A1 (en) | Head mounted display cooperative display system, system including dispay apparatus and head mounted display, and display apparatus thereof | |
CN111556350A (zh) | 一种智能终端及人机交互方法 | |
CN114640874A (zh) | 字幕同步方法、装置、机顶盒及计算机可读存储介质 | |
CN114327325B (zh) | 多窗口处理方法、系统、可读存储介质和电子设备 | |
US11513937B2 (en) | Method and device of displaying video comments, computing device, and readable storage medium | |
US20210073479A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP4270117B2 (ja) | 視聴者間コミュニケーション方法及び装置及びプログラム | |
CN111405337A (zh) | 安卓系统的双屏异声的实现的方法、装置、设备和介质 | |
CN113312125B (zh) | 多窗口调整方法、系统、可读存储介质和电子设备 | |
US20220191556A1 (en) | Method for processing live broadcast information, electronic device and storage medium | |
CN114925656A (zh) | 富文本显示方法、装置、设备和存储介质 | |
EP4220417A1 (en) | Comic reproduction system, method therefor, computer software program therefor, and comic data used therefor | |
US11711328B2 (en) | Message output apparatus, learning apparatus, message output method, learning method, and program | |
KR101537281B1 (ko) | 웹뷰 기반의 인터랙티브 콘텐츠 제공방법 및 이를 위한 컴퓨터로 판독가능한 기록매체 | |
US20190179919A1 (en) | Methods, systems, and media for updating a webpage rendered with cached content | |
US20220180904A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP6780077B2 (ja) | プログラム及び情報配信装置 | |
WO2022121436A1 (zh) | 一种字幕调整方法及显示设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |