一种多终端同屏教学系统及教学方法与流程

文档序号:20079095发布日期:2020-03-10 10:17阅读:470来源:国知局
一种多终端同屏教学系统及教学方法与流程

本发明属于同屏教学领域,特别涉及一种多终端同屏教学系统及教学方法。



背景技术:

随着智能终端的普及,教学模式正发生转变,智能终端在课堂中的应用成为研究热点。越来越多的学校开始使用智能终端借助投影仪或电子白板进行课堂教学。这种教学模式虽然相对于传统的黑板教学已经大大提高了教学的多样性和互动性,但是由于场地的限制,通常会存在以下缺陷;座位靠后的同学因为前面同学的遮挡,难以看清白板或投影的内容。因此,如何让每个学生获得平等的听课感受成为亟待解决的问题。

智能终端设备能力的增强,使得终端设备间的屏幕共享和互动成为可能。多屏互动是指将一台终端设备屏幕所显示的内容利用无线传输等技术传输到另一终端设备上进行显示,同时通过发送端设备对接收端设备的屏幕进行控制等操作。现有技术中,多屏互动技术主要应用在一对一的场景,比如将手机屏幕内容投放到电视或者投影上。

现有的技术方案:dlna、wifidisplay(miracast)、airplay等,其中,dlna:基于upnp进行组网,可以无线播放现有的多媒体资源或文件,不支持屏幕投射;wifidisplay:可实现无线投屏,但建立连接过程比较缓慢,不易操作,体验不好;airplay:支持文件播放和投屏,但更多的只适用于认证过的苹果设备和一些苹果授权的合作伙伴的设备。

此外,以上技术方案,主要应用在一对一的投屏场景,不能承载多个终端,在网络环境不稳定的场景,断线后不能自动重连,也不支持屏幕操控。



技术实现要素:

本发明要解决的技术问题是如何实现一对多分享屏幕、小大屏之间的切换,对此本发明提供一种多终端同屏教学系统及其教学方法,

本发明的技术方案为:一种多终端同屏教学系统,包括教师终端、学生终端、加速器、无线ap、大屏显示装置以及后台服务器,无线ap通过无线或有线的方式接入校园局域网或者广域互联网,教师终端、学生终端与无线ap建立无线连接,无线ap与加速器间通过有线连接;

后台服务器为本地服务器或网络云端的云端服务器,用于存储教师终端上传的开课信息,开课信息包括科目、课本、章节、加速器ip在内的参数,教师终端开启时,后台服务器将开课信息推送到学生终端,学生终端根据接收到的开课信息,自动进入课堂连接加速器;

加速器用于教师终端与学生终端之间屏幕内容和音频数据的同屏传送和大屏输出,作为独立的终端播放其内部存储的各种文件,并将屏幕内容与音频数据同屏传送到教师终端和学生终端;

各个终端与加速器之间的视频传输采用动态分块算法进行传输,终端包括教师终端和学生终端;

各个终端、后台服务器、大屏显示装置以及加速器之间的底层通信采用异步输入输出系统,通信协议采用tcp协议。

一种采用上述系统的多终端同屏教学方法,步骤如下:

步骤1,加速器启动,进入就绪状态,等待教师终端和各学生终端与加速器连接;

步骤2,教师终端和各学生终端与加速器建立连接;

步骤3,教师终端投屏处理;

步骤4,加速器显示投屏处理和分享屏幕处理;

步骤5,各学生终端显示分享屏幕以及进行屏幕作答;

步骤6:教师终端内嵌文件服务;

步骤7:教师终端屏幕操控处理。

本发明的有益效果:

1.通过有线\无线网络结合的方式,采用异步输入输出系统,运用动态分块算法、帧频控制、流量控制等手段,实现了无线局域网内的一对多同屏显示;

2.一对多同屏,支持断线重连,具有高实时性、可靠性,画质、分辨率可控,实现平等教育。通过扩展指令,可提供更丰富的互动体验;

3.屏幕控制,解除束缚,老师不必束缚于讲台或一体机旁,可以在教室随意移动,操控加速器大屏,与学生进行更多的互动和交流;

4.兼容各类课件资源,如exe、flash、教辅工具等。

附图说明

图1为本发明的系统架构图;

图2为本发明的教师终端的结构框图;

图3为本发明的加速器的结构框图;

图4为本发明的学生终端的结构框图;

图5为本发明的前摄模型构成原理图。

具体实施方式

下面结合附图1-5对本发明作进一步的说明。

一种多终端同屏教学系统包括教师终端、学生终端、加速器、无线ap、大屏显示装置以及后台服务器,无线ap通过无线或有线的方式接入校园局域网或者广域互联网,教师终端、学生终端与无线ap建立无线连接,无线ap与加速器间通过有线连接;

这种有线\无线网络相结合的方式能很好地解决纯无线网络环境下,视频源发送端带宽瓶颈的问题(由于学生终端数量较多,如果直接通过教师终端进行同屏投放,则由于教师终端处理能力有限以及网络带宽等问题,难以做到低延迟以及流畅的同屏播放),充分发挥有线网络的带宽负债能力。

后台服务器为本地服务器或网络云端的云端服务器,用于存储教师终端上传的开课信息,开课信息包括科目、课本、章节、加速器ip在内的参数,教师终端开启时,后台服务器将开课信息推送到学生终端,学生终端根据接收到的开课信息,自动进入课堂连接加速器;

加速器用于教师终端与学生终端之间屏幕内容和音频数据的同屏传送和大屏输出,作为独立的终端播放其内部存储的各种文件,并将屏幕内容与音频数据同屏传送到教师终端和学生终端。

其中,教师终端包括投屏部分、控屏部分、教师端控制模块以及内嵌文件服务模块,教师端控制模块与投屏部分、控屏部分以及内嵌文件服务模块分别连接,进行数据传输,

投屏部分包括扫面模块、鼠标模拟器、录屏模块、帧频控制模块、编码模块、断线重连模块以及通信模块;

控屏部分包括手势检测模块、视频播放模块、解码模块、断线重连模块以及通信模块;

其中,学生终端包括控屏部分、学生端控制模块以及文件管理模块,学生端控制模块与控屏部分以及文件管理模块分别连接,进行数据传输,

控屏部分包括手势检测模块、视频播放模块、解码模块、断线重连模块以及通信模块;

其中,加速器包括同屏加速器模块、文件管理模块、投屏部分和分屏部分,同屏加速器模块与文件管理模块、投屏部分以及分屏部分分别连接,进行数据传输,

投屏部分包括鼠标检测模块、视频播放模块、解码模块以及通信模块;

分屏部分包括二维码生成模块、鼠标模拟器、录屏模块、编码模块、流量控制模块以及通信模块;

其中,加速器为在教室内的智能设备,例如计算机或者平板电脑。

其中,各个终端与加速器之间的视频传输采用动态分块算法进行传输,终端包括教师终端和学生终端,在传输过程中,只需传输变化的像素点所在的位图分块,动态分块算法具体步骤如下:

步骤1,终端缓存视频上一个扫描时刻的位图,在当前时刻,截取新的位图,以位图左上角为原点,行扫描方向为x轴正方向,扫描行递增方向为y轴正方向,建立直角坐标系,;

步骤2,从原点开始,沿x、y轴正方向扫描,在第i行扫描结束时,判定扫描情况,如果第i行发现像素变化点,记录每一个像素变化点(pix,piy),如果第i行未发现像素变化点,进入分块阶段,并记录该行数if;

步骤3,通过像素变化点(pix,piy)求出传输矩形的对角坐标(rlx,rly)和(rrx,rry),其中,

rlx=min(p1x,p2x,...,pix,...),

rly=min(p1y,p2y,...,piy,...),

rrx=max(p1x,p2x,...,pix,...),

rly=max(p1y,p2y,...,piy,...)

其中,min(),max()分别代表最小值函数和最大值函数;

步骤4,在完成传输矩形的选择后,从第if行起,间隔n行开始扫描,i=if+n,返回步骤2,生成相应的传输矩形,当i≥m时,m为位图整体行数,则整个位图扫面完毕;

步骤5,根据对角坐标在指定位置绘制传输矩形,其他区域显示上一个扫描时刻缓冲位图,在终端显示的过程中,将接收的传输矩形渲染到指定区域,对于无变化区域,与上一时刻显示相同。

该方法可以根据变化区域自行判定传输矩形,传输数据量得到了极大的降低,降低了对网络带宽及硬件资源的要求,保证教学过程中同屏传输的实时性与流畅性。

其中,各个终端、后台服务器、大屏显示装置以及加速器之间的底层通信采用异步输入输出系统,通信协议采用tcp协议,异步输入输出系统包括通道、缓冲区、选择器以及前摄模型,

缓冲区是数据容器,缓冲区对象由存储数据的数组和数据读写属性组成,所有数据的传输都是通过缓冲区完成,缓冲区都具有四个属性来提供关于其所包含的数据元素的信息,属性包括:

容量:缓冲区能够容纳的数据元素的最大数量,容量在缓冲区创建时被设定,并且不能被改变;

上限:缓冲区的第一个不能被读或写的元素,其表示缓冲区中现存元素的计数;

位置:下一个要被读或写的元素的索引,位置会自动由相应的方法更新;

标记:备忘位置,通过调用标记来设定位置;

通道提供与i/o服务的直接连接,用于在缓冲区和位于通道另一侧的文件之间有效地传输数据,通道是双向的,通道能够更好地反映底层系统的真实情况;

选择器用于维护注册过的通道的集合,其内部的选择键封装了特定的通道与特定的选择器的注册关系,选择键被返回并提供注册关系的标记,选择键包含了两个比特集,指示了注册关系所关心的通道操作以及通道已经准备好的操作,每个选择器对象维护三个键的集合:已注册键的集合、已选择键集合、已取消的键的集合,选择器提供就绪选择,就绪选择和多元执行使得单线程能够有效率地同时管理多个通道;

前摄模型为异步i/o模型,在前摄模型中,终端发起i/o操作,操作系统将网络i/o数据由内核缓存区复制到终端区,当事件分离器监听到i/o操作读写完成后,通知终端线程来处理编码解码,前摄模型可以更好的做到i/o操作和业务操作的分离,具有更高的性能。

前摄模型由处理器、接口以及线程池构成,

其中,处理器包括:

(1)前摄发起器:前摄发起器是应用中任何发起异步操作的实体,将需要执行异步操作的异步通道登记到异步操作处理器中,异步操作处理器在操作完成后回调完成异步操作处理器的方法,实现业务逻辑处理;

(2)完成处理器:完成处理器接口用于接收异步操作处理器的调用;

(3)异步操作处理器:异步操作处理器负责管理注册到其上面的多个通道,绑定线程池,根据实际应用状况发起下一步操作和下达完成通知。

其中接口包括:

(1)前摄接收接口,用于绑定端口,开启监听,当客户端向服务器发起连接时,接收请求,注册客户端通道感兴趣的操作,同时注册异步操作处理器;

(2)前摄连接接口,构成客户端的主动连接接口;

(3)前摄通道接口,前摄通道接口为网络i/o中的实际读写通道提供接口,前摄接收接口接受客户端的连接请求,用于终端到服务器的读写操作;

(4)前摄群处理接口,管理注册到其上面的通道,更新兴趣事件,绑定线程池,用于任务派发,当i/o操作执行完毕后,回调完成异步操作处理器中相应的方法。

其中,异步输入输出系统的异步连接、读写的建立步骤如下:

步骤1,服务器的前摄发起器监听端口,并注册前摄群处理接口;

步骤2,终端发起连接请求,前摄群处理接口发起异步接收操作接受来自终端的请求,接收操作执行完毕后,调用完成处理器中的接收完成方法;

步骤3,完成处理器初始化一个前摄通道接口,前摄通道接口封装含有链接所有属性的异步通道实体,通过异步通道实体来完成链接两端的读写操作;

步骤4,前摄通道将其所感兴趣的事件注册到前摄群处理接口上,当事件完成后再次回调完成处理器中的读取完成方法,完成业务逻辑的处理;

步骤5,当链接建立后,链接对应的前摄通道向前摄群处理接口注册感兴趣的读取事件;

步骤6,终端发送数据;

步骤7,前摄群处理接口监听到i/o事件准备就绪,调用线程去执行i/o读取操作;

步骤8,i/o读取事件完成后前摄群处理接口调用完成处理器的读取完成方法执行解码、编码以及业务逻辑处理;

步骤9,重新注册前摄通道所感兴趣的事件;

步骤10,业务逻辑处理完毕后,将要发送给终端的数据带回完成处理器;

步骤11,将数据返回完成处理器,执行前摄通道的写入操作;

步骤12,前摄群处理接口监听到i/o写操作执行完毕后,调用完成处理器的写入完成方法,执行接下来的逻辑。

异步输入输出系统通过块的方式来进行数据读写,每一次操作都消费一个数据块,比一个一个字节的读写数据要快得多,异步输入输出系统支持非阻塞i/o操作,实现了单线程能够有效率地同时管理多个i/o通道。

异步输入输出系统保证通信的实时性、高并发和可靠性,同时加速器还设有流量控制模块,根据各学生终端通信通道的负荷情况,动态调节发送数据的频率,有效抑制了网路拥堵问题。

一种采用上述系统的多终端同屏教学方法,步骤如下:

步骤1,加速器启动,进入就绪状态,等待教师终端和各学生终端与加速器连接,

加速器启动后,生成包含加速器ip信息的二维码进行展示,固定监听两个服务端口(51666、51667),等待教师终端与各学生终端的连接,进入就绪状态。

其中,投屏端口(51666端口)用于展示教师终端的投屏内容,分屏端口(51667端口)用于分享加速器自身的屏幕内容。

步骤2,教师终端和各学生终端与加速器建立连接,

教师终端通过扫描二维码,获取到加速器ip信息,然后连接至加速器的投屏端口,同时,教师终端将包含加速器ip信息的开课信息通过后台服务器推送到各学生终端(教师终端与学生终端之间可通过其他的网络连通),学生终端自动连接至加速器的分屏端口,教师终端和各学生终端上报终端设备设备信息至加速器,加速器根据收集到的设备信息,与之通信通道关联,建立会话管理。

其中,教师终端可通过加速器查询和管理学生终端的会话信息。教师终端和学生终端都包含断线重连模块,在网络不稳定出现掉线的情况时,教师终端和学生终端都可以自动进行重连。

步骤3,教师终端投屏处理,

教师终端连接至加速器后,启动屏幕录制,录制内容包含音频(包括mic和系统声音)和视频(屏幕内容),音频采用aac编码,视频采用h264编码。

由于android原生录屏的帧频具有不可控性,画面动态率较高时,fps(每秒传输帧数(framespersecond))最高可达40帧以上,对带宽造成很大压力,不能满足实时传输播放的要求,教师终端通过surfaceview(android中一个在表层的view对象)作为二级转储,实现有效的帧频控制,从而可在硬件性能允许范围内任意调节帧频,达到在同等带宽条件下,提高画质和流畅度的目的,将录制内容作为投屏内容发送给加速器。

其中,帧频的编码和传输的相关参数可调,例如码率、帧频、分辨率。

步骤4,加速器显示投屏处理和分享屏幕处理,

加速器接收到教师终端发来的投屏内容之后,一方面将投屏内容解码输出到大屏显示装置进行显示;另一方面,在后台将加速器的屏幕进行录制和编码(相对于教师终端的编码质量要低,可通过设置参数来实现),分享发送到各学生终端。

对加速器的屏幕进行录制再编码后分享而非将教师终端发来的投屏内容解码后再编码分享是考虑到课堂教学场景中,存在将加速器桌面展示给学生终端甚至教师终端的场景(比如用pc打开exe,教辅工具等),此时,肯定需要对加速器进行录屏。为了避免处理两个动作(教师端投屏及加速器投屏),将其合并成一种处理方式,即对加速器进行录屏。

一般情况下,由于学生终端数量较多,为了实现低延迟同屏显示,加速器端采取的编码参数与教师终端录屏参数有所不同,如码率设置相对较低。实际应用中,为了适配不同的教学环境,加速器端录屏的编码质量可以通过在同屏软件上设置相关参数来确定(码率、帧频、分辨率)。当学生终端数量较少时,通过选择相关参数可以设置高一点的编码质量,当学生终端数量较多时,通过选择相关参数可以设置低一点的编码质量。

步骤5,各学生终端显示分享屏幕以及进行屏幕作答,

学生终端将实时接收到的视频数据和音频数据进行解码后进行播放,视频流的播放和音频流的播放可根据时间特征匹配起来,例如在录制的时候生成统一的时间戳;

同屏过程中,加速器通过心跳实时检测教师终端和各学生终端与其的连接状态,当有学生终端与其断开连接时,会将不活动的学生终端通道关闭,释放其占用的资源,学生终端也会检测自身与加速器之间的连接状态,出现断线情况时,会关闭自身通道,并在指定的时间间隔后发起重连操作,直至连接成功为止,重连成功后,加速器先将最近保留的关键帧信息发送给学生终端,然后陆续地将实时编码信息发送给学生终端,以使该学生终端断网恢复后能较快地获取到最新的同屏内容。

其中,教师终端通过扩展指令,控制学生终端开启或关闭手势检测,教师终端投放到大屏后,让学生在学生终端上进行作答,作答过程直接投放在大屏上显示。

具体的,教师终端和学生终端之间通过加速器或者不通过加速器相互传递指令,具体指令可根据业务需求随时扩展添加。

例如:老师给指定的学生发送一个gesturedetectenable指令,学生终端收到指令后,启动手势检测,学生在学生终端屏幕上做画笔动作,学生终端把学生的操作指令通过加速器传递到教师终端,教师终端再把学生的操作指令在教师终端进行模拟操作,这样学生的动作,就画到老师端的画板上了,此时大屏上投放的是老师的屏幕,同屏结束时,教师终端向各学生终端发出结束同屏指令后,学生终端自动断开与加速器的通信会话。

步骤6:教师终端内嵌文件服务,

教师终端内嵌有文件服务,将本机上的文件共享给加速器和学生终端,加速器通过文件管理模块下载教师终端上的文件后,进行本机播放。

教师的课件资源多种多样,移动终端支持的文件类型有限,很多时候,移动终端无法播放的文件,可以通过加速器下载后来进行播放展示,大大提高了整个系统对各类文件的兼容性。

步骤7:教师终端屏幕操控处理,

教师终端也可作为加速器分享屏幕的终端,连接至加速器分屏端口(51667),并开启手势检测功能,此时教师终端上播放的是加速器大屏的画面,教师可以通过单击、双击手势,对大屏进行远程操作,如打开文件、播放视频等。

以上所述实施方式仅表达了本发明的一种实施方式,但并不能因此而理解为对本发明范围的限制。应当指出,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1