CN105491414B - 一种图像同步显示方法及装置 - Google Patents

一种图像同步显示方法及装置 Download PDF

Info

Publication number
CN105491414B
CN105491414B CN201510801936.9A CN201510801936A CN105491414B CN 105491414 B CN105491414 B CN 105491414B CN 201510801936 A CN201510801936 A CN 201510801936A CN 105491414 B CN105491414 B CN 105491414B
Authority
CN
China
Prior art keywords
data
image
message
user terminal
compression
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
Application number
CN201510801936.9A
Other languages
English (en)
Other versions
CN105491414A (zh
Inventor
卢启伟
刘胜强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Eaglesoul Technology Co Ltd
Original Assignee
Shenzhen Eaglesoul Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to CN201510801936.9A priority Critical patent/CN105491414B/zh
Application filed by Shenzhen Eaglesoul Technology Co Ltd filed Critical Shenzhen Eaglesoul Technology Co Ltd
Priority to CA2973405A priority patent/CA2973405C/en
Priority to JP2017544023A priority patent/JP6430653B2/ja
Priority to DE112015007134.2T priority patent/DE112015007134T5/de
Priority to PCT/CN2015/099057 priority patent/WO2017084174A1/zh
Priority to KR1020177023247A priority patent/KR102050865B1/ko
Priority to US15/567,937 priority patent/US10522049B2/en
Publication of CN105491414A publication Critical patent/CN105491414A/zh
Application granted granted Critical
Publication of CN105491414B publication Critical patent/CN105491414B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/64Addressing
    • H04N21/6405Multicasting
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/08Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations
    • G09B5/10Electrically-operated educational appliances providing for individual presentation of information to a plurality of student stations all student stations being capable of presenting the same information simultaneously
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/065Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/214Specialised server platform, e.g. server located in an airplane, hotel, hospital
    • H04N21/2143Specialised server platform, e.g. server located in an airplane, hotel, hospital located in a single building, e.g. hotel, hospital or museum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64784Data processing by the network
    • H04N21/64792Controlling the complexity of the content stream, e.g. by dropping packets

Abstract

提供一种同步显示的方法和装置,通过定时截取屏幕内容并进行压缩处理,具备了随时可以进行传送的能力,提高了传送的效果,缩短了传送的时间。利用图像压缩过程中解析获得的特征值值实现了截屏图像内容的快速比对,实现了同步图像的智能判断,自动同步传送,无需手动操作,而且由于尽量避免了传送重复的屏幕内容,减轻了学生用户终端存储的压力,又能保证内容的全面性,此外由于对屏幕图像内容进行了标记和判断,有助于提高学生复习的效率,比如在复习时,可以直接看每一板书的最后几个版面。

Description

一种图像同步显示方法及装置
技术领域
本发明涉及一种图像同步显示方法,尤其涉及一种用于同屏显示的图像同步显示的方法,特别是涉及一种由计算机执行的在网络教学领域中使用的同屏显示方法以及使用所述方法的网络教学系统。
背景技术
传统教学方式的教学模式越来越不适应教育发现的需要,由于受场地限制以及课堂的不可重复性,通常会存在以下缺陷:学生座位前后顺序的问题,导致后面的学生无法看清楚黑板或者投影的内容,课后学生只能复习笔记,无法回放上课的过程。
针对传统教学方式,现有技术中已经存在的网络教学方法的基本方式是:将预先录制好的教师的音和/或视频信息存储在用户终端,并对应将这些信息上传到网络教学平台系统的服务器,由学生对应读取所述信息进行学习。通过这样的方法,可以让每个学生获得平等的听课感受,以及课后随时可以回放上课过程的渠道。
这种网络教学方法,需要将教师用户终端上显示的内容以及教师展示的内容或操作需要通过网络同步发送给学生用户终端,实现屏幕显示信息的共享。
现有技术1(《中国图象图形学报》,第8卷第9期,2003年9月,张丽萍等,“一种基于拷屏和压缩技术的屏幕共享方案”)公开了常见的屏幕共享包括两种方式:利用操作系统底层的GUI矢量指令实现;利用拷屏和压缩技术实现屏幕共享,屏幕显示内容不是通过拆解成具体的绘图命令来实现,而是通过先拷贝屏幕图像,然后进行数据压缩处理并传到客户端,最后由客户端解码显示来实现拷屏内容的重现。
可见,现有的网络教学系统通常包括,教学信息提供终端(教师用户终端)、教学信息接收终端(学生用户终端)、服务器(本地服务器或后台远程服务器)、教学设备(电子白板、投影等)、有线或无线互联网络。这些终端主要是台式电子计算机,采用的网络通常是基于网线的有线网络。这导致教学设备需要事先进行安装,一旦安装后又不便于移动。作为参与教和学的人员,都不能带走自己使用的终端,在教学过程完成后不便于再使用,比如学生不方便复习。
现有的网络教学系统在同图像同步显示的处理上还存在以下问题:学生用户终端接收同屏数据的速度缓慢,教学过程不流畅,存在卡顿现象。这是因为现有网络教学系统在传送同屏数据的过程中,多数采用视频流及教师根据自己的判断手动屏幕截图的方式,导致学生用户终端用户数量过多的时候,需要传送大量数据,多并发进行网络传送,经常出现速度缓慢,显示不流畅,数据卡顿的现象,影响到了学生的上课体验,而且教师一边讲课一边还要考虑适时进行截屏操作,有时候会忘记截屏发送给学生,而学生又无法判断有没有获得及时的截屏图像,影响教学效果。
近年来,为了便于图像数据的网络传送,提高传送效率和流畅性,涌现了很多图像压缩算法,使得图像文件的存储节约大量的空间,也使得网络传送更快更有效。图像格式压缩类型通常包括两种,即有损压缩和无损压缩。很多图像和视频压缩标准都使用了离散余弦变换DCT(Discrete Cosine Transform)变换,例如JPEG、MPEG。
现有技术2(《现代计算机》,2006年第5期,黄帆,“基于压缩域的JPEG图像检索技术”)公开了一种图像压缩方法。如图1所示,基于DCT变换的JPEG有损压缩编码步骤通常包括,首先,把图像分成若干个8×8矩阵的块,其中每块由一个直流特征值(DC特征值)和63个交流特征值(AC特征值)组成;第二,进行正向DCT变换处理,把空间域转换成频率域表示,目的是使得能力集中在少数的特征值上;第三,根据量化表对DCT频率特征值进行有损量化,消除视觉冗余;第四,对量化后的特征值进行“Z”型排序,形成一维特征值序列;第五,对DC特征值用差分脉冲编码调制(DPMC)算法进行编码,对AC特征值用行程长度编码(RLE)进行无损压缩;最后,对经过所述处理的DC和AC特征值进行Huffman编码。DC特征值和AC特征值代表了图像中每一块的纹理特征和像素值,是构成图像的主要因素。但是,现有技术中图像的获取如屏幕拷贝(或称截屏)要么人工手动进行,要么根据时间设定自动截屏发送,但是都存在截屏发送的信息是否重复,是否有效的问题,不必要的或者重复图像的发送会增加网络传送的负担,还会影响用户的体验。
在网络教学过程中,为了模拟与实际教学方式相同的效果,提高网络教学质量,需要及时将教师用户终端上显示的电子板书、以及其他教学内容同屏显示到学生用户终端上。这需要高效智能的图像和操作指令的获取、压缩和传送以及相应的网络教学方法和系统。
发明内容
针对现有技术存在的问题,本发明旨在提供一种图像同步显示方法,使用计算机可执行的本发明的所述方法,可以实现学生用户终端与教师用户终端实时智能的图像同步显示效果。
需要说明的是,本发明中的网络教学并不局限于学生和教师的教学形式,其可以包括以教师用户和学生用户、或培训用户为参与主体的在线网络教学、远程网络教学、本地网络教学,和以企事业单位员工等为参与主体的在线网络会议、远程网络会议、本地网络会议,以及其他的利用网络进行在线交流和/或文件内容展示的交流/交互形式,比如远程协同工作等。
根据本发明的目的之一,提供一种图像同步显示方法,用于包括教师用户终端、学生用户终端、服务器和网络的网络教学系统,包括以下步骤:
-教师用户终端启动步骤,准备获取用于同步显示的数据;
-同屏显示数据获取步骤,获取用于同步显示的同屏显示图像数据;
-同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据;
-图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
-图像发送判断步骤,判断经过所述压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
-确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像数据和所述应用数据,形成发送数据包;
-数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包;
-线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
-过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
-同步显示步骤,用于在接收数据的所述学生用户终端上实现同步显示。
所述同屏显示数据是教师用户终端的屏幕上显示的内容,包括电子白板、投影输入装置、手写输入装置、黑板或白板及图像采集装置包括照相机和摄像机采集的图像数据;
所述采集的图像数据是BMP格式的,或者需要转换成BMP格式。
通过教师用户终端上的客户端或者APP记录传送指令及坐标点数据包括Path路径坐标数据的方式获得需要的同屏应用数据。
所述Path路径坐标数据的记录过程如下:
A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行从写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的Canvas,包括temptCanvas.drawPoint,temptCanvasRect;
A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而Canvas负责将tempBitmap绘制到屏幕上。
在执行所述图像压缩步骤前,将未压缩的所述图像数据进行备份,形成原始图像备份数据库,当用户收到压缩的图像而需要查看更精细的图像时,可以通过点击操作从所述原始图像备份数据库中下载原始图像。
在执行完所述图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
所述图像压缩步骤进一步包括JPEG图像一次压缩和图像二次压缩。
在所述JPEG图像一次压缩过程中,在对所述图像进行压缩处理时,将每幅所述图像的DC特征值和AC特征值复制另存为独立的数据文件;
根据所述复制另存的数据文件,依次计算前后两幅相邻图像的所述DC和AC特征值的差异值,即DC和AC特征向量各分量之差的总和,差异值越大说明前后两幅图像的差别越大,差异值越小或者没有差异说明前后两幅图像的差别越小或者没有差别,判断为这幅图像无需传送到学生用户终端进行同步显示。
所述特征值的差异值的计算方法为:
将前后相邻两幅图像的DC和AC特征值值进行对比,
对于DC特征值值,对比其分量的正负号,如果分量同号标记为1,否则标记为0;
对于AC特征值值,根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1;
由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值;其中,
0的数目越多表明特征向量的差异越大,图像的差异越大。
设置多个存储复制另存的DC和AC特征值存储文件,存储满一个文件夹,就使用另一个存储文件,之后系统清空所述存储满的文件夹备用。
当长时间检测到前后截屏的内容没有变化时,逐步自动延长截取屏幕图像内容的时间。
当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记;
当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始。
所述图像二次压缩步骤,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
If(image.getBytes()>maxSize)
{压缩比率=image.getBytes()/maxSize*系统定义偏移量}
Else,
{压缩比率=1};
根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
如果图像的大小大于最大值,
压缩比率=图像大小/最大值*系统定义偏移量,否则,压缩比率=1;其中,
所述偏移量设置为0.4~0.6之间。
所述压缩获得的JPEG图像以及同屏应用数据包大于报文的限制长度时,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,即
分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
根据数据长度,动态计算并拆分数据,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
所述学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;
在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息;
学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。
所述线程监控步骤具体包括:
线程监控步骤B1、数据报文发送处理步骤:
教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址;
B2、自守护线程启动步骤:
在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包;
B3、反馈守护线程启动步骤:
教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程;
B4、报文反馈步骤:
学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
所述过期数据处理步骤具体过程如下:
C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文;
C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
所述同步显示步骤,在学生用户终端上的客户端或APP中,
内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用的目的。
学生用户终端将实时接收到的图像进行本地显示,并将一系列接收到的同步图像数据保存成可再现的视频流;
将所述视频流的播放与有关教师的音频录音根据时间特征匹配起来,形成带有语音的视频流。
根据本发明的另一目的,提供一种图像同步显示装置,用于包括教师用户终端、学生用户终端、服务器和网络的网络教学系统,包括处理器;以及
计算机可读存储介质,具有由所述处理器执行用于执行操作的计算机可读程序代码,所述操作包括:
-教师用户终端启动步骤,准备获取用于同步显示的数据;
-同屏显示数据获取步骤,获取用于同步显示的同屏显示图像数据;
-同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据;
-图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
-图像发送判断步骤,判断经过所述压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
-确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像数据和所述应用数据,形成发送数据包;
-数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包;
-线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
-过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
-同步显示步骤,用于在接收数据的所述学生用户终端上实现同步显示。
所述同屏显示数据是教师用户终端的屏幕上显示的内容,包括电子白板、投影输入装置、手写输入装置、黑板或白板及图像采集装置包括照相机和摄像机采集的图像数据;
所述采集的图像数据是BMP格式的。
通过教师用户终端上的客户端或者APP记录传送指令及坐标点数据包括Path路径坐标数据的方式获得需要的同屏应用数据。
所述Path路径坐标数据的记录过程如下:
A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行从写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的Canvas,包括temptCanvas.drawPoint,temptCanvasRect;
A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而Canvas负责将tempBitmap绘制到屏幕上。
在执行所述图像压缩步骤前,将未压缩的所述图像数据进行备份,形成原始图像备份数据库,当用户收到压缩的图像而需要查看更精细的图像时,可以通过点击操作从所述原始图像备份数据库中下载原始图像。
在执行完所述图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
所述图像压缩步骤进一步包括JPEG图像一次压缩和图像二次压缩。
在所述JPEG图像一次压缩过程中,在对所述图像进行压缩处理时,将每幅所述图像的DC特征值和AC特征值复制另存为独立的数据文件;
根据所述复制另存的数据文件,依次计算前后两幅相邻图像的所述DC和AC特征值的差异值,即DC和AC特征向量各分量之差的总和,差异值越大说明前后两幅图像的差别越大,差异值越小或者没有差异说明前后两幅图像的差别越小或者没有差别,判断为后面的这幅图像无需传送到学生用户终端进行同步显示。
所述特征值的差异值的计算方法为:
将前后相邻两幅图像的DC和AC特征值值进行对比,
对于DC特征值值,对比其分量的正负号,如果分量同号标记为1,否则标记为0;
对于AC特征值值,根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1;
由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值;其中,
0的数目越多表明特征向量的差异越大,图像的差异越大。
设置多个存储复制另存的DC和AC特征值存储文件,存储满一个文件夹,就使用另一个存储文件,之后系统清空所述存储满的文件夹备用。
当长时间检测到前后截屏的内容没有变化时,逐步自动延长截取屏幕图像内容的时间。
当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记;
当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始。
所述图像二次压缩步骤,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
If(image.getBytes()>maxSize)
{压缩比率=image.getBytes()/maxSize*系统定义偏移量}
Else,
{压缩比率=1};
根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
如果图像的大小大于最大值,
压缩比率=图像大小/最大值*系统定义偏移量,否则,压缩比率=1;其中,
所述偏移量设置为0.4~0.6之间。
所述压缩获得的JPEG图像以及同屏应用数据包大于报文的限制长度时,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,即
分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
根据数据长度,动态计算并拆分数据,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
所述学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;
在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息;
学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。
所述线程监控步骤具体包括:
线程监控步骤B1、数据报文发送处理步骤:
教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址;
B2、自守护线程启动步骤:
在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包;
B3、反馈守护线程启动步骤:
教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程;
B4、报文反馈步骤:
学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
所述过期数据处理步骤具体过程如下:
C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文;
C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
所述同步显示步骤,在学生用户终端上的客户端或APP中,
内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用的目的。
学生用户终端将实时接收到的图像进行本地显示,并将一系列接收到的同步图像数据保存成可再现的视频流;
将所述视频流的播放与有关教师的音频录音根据时间特征匹配起来,形成带有语音的视频流。
根据本发明的又一目的,提供一种网络教学系统,包括服务器和多个用户终端,其特征在于,可以执行上述的方法或者包括上述图像同步显示装置,用于将所述多个用户终端之一的屏幕上显示的图像内容发送到其他所述终端上实现同步显示。
通过使用本发明的方法和装置,由于系统定时截取屏幕内容并进行压缩处理,具备了随时可以进行传送的能力,提高了传送的效果,缩短了传送的时间。利用图像压缩过程中解析获得的特征值值实现了截屏图像内容的快速比对,实现了同步图像的智能判断,自动同步传送,无需手动操作,而且由于尽量避免了传送重复的屏幕内容,减轻了学生用户终端存储的压力,又能保证内容的全面性,此外由于对屏幕图像内容进行了标记和判断,有助于提高学生复习的效率,比如在复习时,可以直接看每一板书的最后几个版面,一般就是比较全面的板书内容,无需一一浏览前面的过程板书图像,提高了复习效率,而如果想看讲解的过程和进度,又不会错过有关内容。
本发明的网络教学系统摆脱了由固定课室、讲台、教案、课本、黑板、粉笔等组成的传统教学系统及方式,实现现代化的互联网互动式的教学方式,摆脱了时空的限制,通过数据库储存电子课本,实现减轻了携带沉重的教材课本的负担,提高了教学效率,互动性和趣味性。
本发明的用户终端设计轻便、小巧方便携带,有效地解决了现有电教室教学系统,原有台式电脑机柜笨重、占用空间大、设备多、布线复杂、操作不便、排除故障难的问题。
同屏教学使得学生在课堂上能随时精准的看到教师对于重点知识的标注,教师也可以在讲解的过程中对教案随时进行标注,让每个学生在自己的教学设备上看到教师的批注,更清楚的了解相关的知识点。免去了之前学生在课堂上跟不上教师的教学速度,跟不上教师的讲解的问题。
通过高比率的图像压缩方法,缩小传送的视频流及图像的数量大小学生回家以后,可以通过课堂回放,查看自己遗漏的、拿不准的知识点,巩固学习效果。
本发明的核心在于,在现有技术的基础上,以有机的系统化的方式解决了网络教学系统中显示图像和应用图像数据同步显示的问题,在有些技术的使用上,个别现有技术中可能有独立的应用,但是没有任何启示或公开将这些技术有机结合起来系统化的并进行改进的创造性应用,而且取得了本发明的意想不到的技术效果。
附图说明
图1是现有技术中的JPEG图像压缩步骤;
图2是根据本发明的网络教学系统的基本构成示意图;
图3是根据本发明的网络教学系统的具体示例图;
图4是根据本发明的网络教学系统的用户终端示意图;
图5是根据本发明的同步显示方法的基本步骤示意图;
图6-1至6-3是根据本发明的获取路径坐标数据过程的示意图;
图7是根据本发明的图片压缩流程示意图;
图8是根据本发明的JPEG亮度和色度量化表;
图9是根据本发明的经Z字形扫描后DCT特征值的序号;
图10是根据本发明的基于UDP协议的数据发送架构示意图;
图11是根据本发明的线程监控示意图;
图12是根据本发明的学生用户端同屏显示示意图;和
图13是根据本发明的学生用户端反馈机制示意图。
具体实施方式
如图2所示,根据本发明的图像同步显示方法所涉及的网络教学系统示意图,所述网络教学系统包括:后台服务器、多个用户终端(学生终端、老师用教学终端)以及互联网,所述服务器可以是本地服务器和/或部署在远程主机上的远程服务器或网络云端的云端服务器,所述网络教学系统的客户端运行在所述用户终端上。此外,还可以包括放映设备等。所述网络为互联网,可以是局域网(如校园网)和广域互联网,可以是有线互联网,也可以是无线互联网,或者这些网络的任意组合。所述客户端可以是各种软件客户端或者手机APP。
如图3所示,根据本发明的图像同步显示方法所涉及的网络教学系统的具体示例图,所述网络教学系统示例包括云数据中心部分、校园内网模式部分、互联网直连模式部分。所述云数据中心包括至少一台服务器,其上可以包括图书资源、课程资源、教学软件、视频资源。所述校园内网模式部分包括接入交换机、校园本地服务器、校园AC接入点、以及通过分支VLAN连接的设置于教室的多个班级AP,在每个教室内包括多台学生终端、投影设备、电子白板和教师终端。所述互联网直连模式部分可以通过互联网直接与元数据中心连接,无需校园服务器。
需要再次说明的是,本发明中所述的网络教学并不局限于学生和教师的教学形式,其可以包括以教师用户和学生用户、或培训用户为参与主体的在线网络教学、远程网络教学、本地网络教学,和以企事业单位员工等为参与主体的在线网络会议、远程网络会议、本地网络会议,以及其他的利用网络进行在线交流和/或文件内容展示的交流/交互形式,比如远程协同工作等。
如图4所示,根据本发明的网络教学系统的用户终端的结构示意图。作为本发明的网络教学系统可以采用的典型的用户终端,但本发明不限于这种用户终端。有关这种典型终端的具体描述请参见中国发明专利申请201410553620.8,有关其结构的具体介绍在此不再赘述。简单描述如下:
所述用户终端包括主机1,该主机1包括有底壳11和中框14,底壳11和中框14之间固定安装有主板12、液晶屏13和触控屏15,所述主板12上设置有主板电路,该主板电路包括有上述音频降噪电路和CPU芯片,所述CPU与所述音频降噪电路中CM6571芯片通过USB接口连接。所述触控屏15为电容电磁复合式双层触摸屏,上层为电容屏,下层为电磁屏。
主板12上还设置有电池121、3G模块、SIM卡槽、IC卡插槽124和磁卡磁头123,所述3G模块、SIM卡槽、IC卡插槽124和磁卡磁头123均与主板电路连接,主板电路与电池121连接,通过电池121供电;磁卡磁头123用于读取磁卡磁条信息,IC卡插槽124用于插IC卡,读取IC卡信息。本发明通过IC卡插槽和磁卡磁头可实现银行卡的刷卡,便于教学培训机构的现场缴费,同时也可通过发放会员卡,实现刷卡签到、会员管理目的。
主板12上设置有FPC连接器122,通过该FPC连接器122可与液晶屏13连接。
底壳11后端设置有一个开口槽111,中框14的后端设置有一个容置槽2,该容置槽2对应位于所述开口槽111中,且在所述开口槽111中还设置有一个可翻转打开的翻转盖板3,所述翻转盖板3翻转后可与容置槽2对应形成一个密封腔。底壳11的后端还设置有一个插孔112,该插孔112中可对应固定电磁笔7,该电磁笔7内置有控制电路、电磁笔感应模块和供电电池,所述控制电路与电磁笔感应模块及供电电池电连接,一端为电磁笔尖,另一端激光笔端,电磁笔中部设有降噪话筒,降噪话筒连接控制电路,所述控制电路设有蓝牙模块,用于传输声音信号,该电磁笔不仅可以直接在触摸屏上书写,同时拿在手里可充当话筒和激光遥控器使用。
在底壳11的底部还设置有一个用于固定3G模块的卡盖115,另外为了达到较好的视角,在底壳11后端底部设置有一个后支撑垫114,前端底部设置有一个前支撑垫113,以使整个主机1处于一定倾斜角度,方便用户观看使用。
高拍仪,设置于上述容置槽2中,其包括有主支架4、副支架5和拍照杆6,所述主支架4一端通过转轴件41与固定安装在容置槽2中的连接件42转动连接,另一端则通过第一垂直转轴54与副支架5一端活动连接。
副支架5包括副支架上盖51、副支架下盖52以及安装在副支架上盖51、副支架下盖52之间的线路板53,该线路板53通过设置于主支架4内的线路与主板12上的主板电路连接。
概括来说,可以采用的用户终端,包括:处理器、网络模块、控制模块和显示模块以及智能操作系统;所述用户终端上可以设有通过数据总线连接各种拓展类设备和配件的多种数据接口;所述智能操作系统包括Windows、Android及其改进、iOS为运行平台,在其上可以安装、运行应用软件,实现在智能操作系统下的各种应用软件、服务和应用程序商店/平台的功能。
所述用户终端可以使用满足相应性能要求的用户个人的各种移动可接入设备,如平板电脑、智能手机、笔记本电脑等,只要这些设备安装有基于本发明的方法或装置的应用软件即可。例如,可以使用定制的10.1英寸的Android平板电脑。所述用户终端需要使用登陆账号进入系统的客户端。用户终端可以包括教师用户终端、学生用户终端以及家长用户终端等,不同用户使用不同身份登陆相应的用户终端的客户端,设备进入相对应的系统界面,实现相应的功能。
本发明中,所述用户终端可以通过RJ45/Wi-Fi/蓝牙/2G/3G/4G/G.hn/Zigbee/Z-ware/RFID等网络连接方式连接到互联网,并借助互联网连接到其它的终端或其它电脑及设备,通过1394/USB/串行/SATA/SCSI/PCI-E/Thunderbolt/数据卡接口等多种数据接口或者总线方式,通过HDMI/YpbPr/SPDIF/AV/DVI/VGA/TRS/SCART/Displayport等音视频接口等连接方式,来连接各种拓展类设备和配件,可以组成了一个会议/教学设备互动平台系统。
所述用户终端可以带有软件形式的声音捕捉控制模块和动作捕捉控制模块,或通过数据总线板载硬件形式的声音捕捉控制模块和动作捕捉控制模块,来实现声控和形控功能;通过音视频接口连接显示/投影模块、麦克风、音响设备和其它音视频设备,来实现显示、投影、声音接入、音视频播放,以及数字或模拟的音视频输入和输出功能;通过数据接口连接摄像头、麦克风、电子白板、RFID读取设备,实现影像接入、声音接入、电子白板的使用控制和录屏,RFID读取功能,并通过相应的接口可接入和管控移动存储设备、数字设备和其它设备;通过DLNA/IGRS技术和互联网络技术,来实现的包括多屏设备之间的操控、互动和甩屏等功能。
本发明中,所述处理器定义为包括但不限于:指令执行系统,如基于计算机/处理器的系统、专用集成电路(ASIC)、计算设备、或能够从非暂时性存储介质或非暂时性计算机可读存储介质取得或获取逻辑并执行非暂时性存储介质或非暂时性计算机可读存储介质中包含的指令的硬件和/或软件系统。所述处理器还可以包括任意控制器,状态机,微处理器,基于互联网络的实体、服务或特征,或它们的任意其它模拟的、数字的和/或机械的实现方式。
本发明中,计算机可读存储介质定义为包括但不限于:能够包含、存储或保持程序、信息及数据的任意介质。计算机可读存储介质包括许多物理介质中的任一种,如电子介质、磁性介质、光介质、电磁介质或半导体介质。合适计算机可读存储介质以及用户终端和服务器使用的存储器的更具体示例包括但不限于:磁性计算机盘(如软盘或硬驱)、磁带、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘(CD)或数字视频光盘(DVD)、蓝光存储盘、固态硬盘(SSD)、闪存。
所述后台服务器可存储教师用户终端录制上传的课程信息,并通过录制课程的ID和时间戳与所述课程信息进行匹配。所述后台服务器上部署有Cent OS 6.4或以上系统,使用MQL数据库,用于终端互动数据包括音频、视频和文本文件的存储,形成目录和索引,用于读取及调用,还储存系统运行产生的包括事件信息、登录信息、日志信息,用于课件编辑管理系统对课件的上传、管理。
所述教师用户终端、学生用户终端及后台服务器之间通过网络连接,三者之间可通过RJ45接口实现有线通信,或通过WIFI模块、3GPCI-E模块及2G、3G、4G、5G模块等各种可使用商用无线通信方式实现无线网络通信。所述模块中可以插入有SIM卡。所述教师用户终端用于对教师课程进行录制,并对应以数据流和音频流的方式上传保存在后台服务器中;所述学生用户终端用于获取录制课程的ID,并对应从后台服务器中读取与时间戳对应的数据流和音频流。所述数据流为教师用户终端在教师多媒体课堂中录制的讲课时间和动作信息;所述音频流为教师用户终端在教师多媒体课堂中录制的课堂时间和语音信息。
所述网络教学系统还包括有与所述教师用户终端通信连接的放映设备。所述放映设备采用投影仪和屏幕或者是宽屏显示器,用于课堂教学时,教师控制终端通过HDMI接口连接所述放映设备,将终端的触摸屏内容放映出来。
教师用户通过教师用户终端登录所述后台服务器,下载安装课件编辑器,所述编辑器源码采用C&C++方式进行开发,基于Office 2010 Word版本进行多选题、单选题、判断题的添加和编辑,然后上传至后台服务器,形成试题课件和课件解析结果以XML文档保存在服务器;所述用户终端利用课件解析的信息对课件进行分割并生成SWF题目文件,在触摸屏上进行显示,而答案的智能评判则是学生做完后的答案和服务器端预存的答案进行比对,在答题结束后可自动进行成绩统计,以方便随堂练习或测试。学生用户通过学生用户终端登录后台服务器,下载课程使用的电子文件资料,并存储在终端本地。
本发明的图像同步显示方法,是将某一用户终端上显示的内容同步显示到其他用户终端上,通常这样的用户终端是教师用户终端,接受显示内容的终端通常是学生用户终端。
以下详细描述根据本发明的图像同步显示方法的各步骤的具体操作流程,所述图像同步显示方法基于包括具有教师用户终端、学生用户终端、服务器和网络的网络教学系统,其步骤包括:
-启动教师用户终端步骤,准备获取用于同步显示的数据;
-同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据;
-同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据;
-图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
-图像发送判断步骤,判断经过所述步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
-确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像,形成发送数据包;
-数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包;
-线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
-过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
-同步显示步骤,用于在接收数据的所述学生用户终端上实现同步显示。
如图5所示,其中示意性的表示出了同步数据的获取和同步显示的基本数据传输方式。使用本发明的同步显示方法,教师在上课时从教学终端和教学多媒体课堂分别获取讲课时间和动作数据流以及课堂时间和语言数据流,通过校园局域网与互联网相连,智慧教育云端服务器通过互联网获取和处理这些数据,并且将其通过互联网和校园局域网分发给学生端,用于为学生听课提供服务。
对于上述各个步骤:
启动教师用户终端步骤,用于准备获取用于同步显示的数据。本发明的图像同步显示方法是所述基于网络教学系统的,当教师用户终端的客户端激活进入工作状态后,系统启动图像同步显示程序。
所述同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据。
获取图像数据的渠道可以是多方面的,包括截屏图像、摄像或摄影装置获取的图像、扫描仪获取的图像等,图像上的内容包括教师书写的板书,可以是从电子白板上获得的截图或者拍摄图像,可以是从普通黑板上获得的拍摄图像,可以是通过手写板输入的并在屏幕上显示的截屏图像或者拍摄图像,可以是通过扫描仪输入的文字照片等的图像,还可以是教师用户终端上集成显示图像的截图图像等。
常用的图像格式包括JPEG、BMP、GIF、PNG、TIFF等,相对而言JPEG(JointPhotographic Experts Group,联合图像专家小组)和BMP(Bitmap)使用最广泛。
BMP是一种与硬件设备无关的图像文件格式,可以称之为与设备无关的位图,其采用映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此BMP文件占用的存储空间相对较大,属于Windows环境下的标准图像格式,但是其体积过大,不利于网络传送。
典型的BMP图像文件包括四部分:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息,其结构长度通常是固定的14字节;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法及定义颜色等信息,其结构长度通常是固定的40字节;调色板,这个部分是可选的;位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB。
BMP作为通用格式的位图,如果原始获得的图像不是BMP格式的,需要先将格式转换为BMP格式,然后再进行压缩处理,将BMP图像压缩成JPEG图像。
本发明的网络教学系统可以根据规则自动实时截取或者获得,如每隔几秒自动截取屏显内容或者拍摄需要同步显示的内容,或者教师根据自我判断和/或教学需要手动随机截取屏显内容或者拍摄有关内容,由此获得需要同步显示的BMP图像。
典型地,这些BMP图像的内容是教师用户终端上显示的内容,这些内容典型的是以各种形式获得的教师板书内容,比如可以是电子白板上的板书图像,可以是拍摄的普通白板上的板书内容。
根据本发明,获得截图的方式包括:
(a)通过重写android系统的截图组件截取当前操作页面的截取得BMP图像;
(b)通过高拍仪,拍摄教师选定区域的场景,截取得BMP图像;
(c)通过电子白板笔书写的板书,通过指令控制,进行截取得BMP图像;
所述同屏应用数据获取步骤,获取用于同步显示的同屏应用操作指令数据。
对于可以不用直接同屏显示的数据,可以通过传送指令及坐标点数据的方式获得需要同步显示的同屏应用操作信息,然后通过操作再现实现图像同步显示。
具体地,对于教师用户终端描绘的板书等内容,通过教师用户在终端上的APP书写板书,把书写的板书的轨迹的路径坐标数据,学生用户终端获得这些路径坐标数据后,可以通过指令对坐标进行重新描绘,实现回显,而不必获取整个显示的图像信息。
关于指令萃取及机器学习:首先构建系统机器学习能力,字典表记录各种文件操作指令,并通过索引配对,指向操作指令对应的实际执行语言。具体地,针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
这种方法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
指令萃取剂机器学习让更多的有效的指令通过系统自动判断保存到数据库中,而把无效指令删除掉,使得上课过程更加完整,数据库存储的数据更为有效。
如图6-1至6-3所示,根据本发明的获取路径坐标数据过程的示意图。路径坐标数据获取时,可以使用以下步骤:屏幕步距初始化,申请创建一个临时画板,解析path路径坐标数据,判断是否是画笔,如果是,回放画笔动作,如果不是,取得下一个指令,完成所述回放画笔动作后,判断是否有后续指令,如果有,继续取得下一个指令,如果没有,完成回放,在终端设备显示结果。具体地,
所述Path路径坐标数据的记录过程如下:
A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
优先判断是否是画笔(可能是橡皮擦),如果是画笔,将当前的轨迹路径保存到轨迹结果集合中。
//如果是画笔,将当前的记录路径保存到list
this.mPathPaintlist.add(this.mPathPaint);
//保存画笔和路径履历
PathAndPaint pap=new PathAndPaint();
pap.setPath(new Path(this.mPath));
pap.setPaint(new Paint(this.mPaint));
this.mPathAndPaintlist.add(pap);
A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行重写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的Canvas,如temptCanvas.drawPoint,temptCanvasRect等等;
A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而Canvas负责将tempBitmap绘制到屏幕上。
所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(float x,floaty)参数分别为横纵轴坐标:
通过通过连续传入的两个坐标点的中间位置,设置为贝塞尔曲线的基准点,再利用贝塞尔算法进行平滑处理,把多个点描绘成一条平滑曲线;将最后的的坐标点,作为后续的操作基准点的起点,将路径保存path集合中。
所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(float x,floaty)参数分别为横纵轴坐标:
如图7所示,所述图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据,进一步包括图像一次压缩和图像二次压缩,二次压缩的基本步骤包括:抓取同步图像,根据图片大小判断是否需要压缩,如果需要压缩动态计算压缩比率,如果需要,压缩成JPEG格式,如果不需要,直接进入图片拆分判断步骤,如果需要拆分,就进行图片拆包处理,如果不拆分就直接进入同步数据发送步骤。具体的,
1、图像一次压缩
由于组播转单播中每次发送的数据报文有最大长度限制,因此需要先将图像解码转换成JPEG特定格式的图像,在转换时根据图像大小,动态计算压缩比率,进行图像的一次压缩。用Bitmap类型对象接收,转换成碎片用于局域网内组播传送。
通常,图像压缩包括差分脉冲编码DPCM、DCT、矢量量化编码VQ等技术。目前,基于DCT等技术的国际图像压缩标准,包括JPEG、MPEG、H261等。
在现有DCT技术的基础上,经进一步改进,本发明的图像压缩可以缩小传送的视频流、封装有多个图像的图像文件或者图像文件的大小。
所述图像一次压缩进一步包括步骤:
首先,在图像进行压缩前,先将未压缩的所述图像进行备份,形成原始图像备份数据库,当用户收到压缩的图像而需要查看更精细的图像时,可以点击从原始图像备份数据库中下载原始图像。
此外,在执行完后续的图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
(1)正向离散余弦变换(FDCT)
RGB色彩系统是最常用的表示颜色的方式,BMP位图采用的就是RGB色彩系统,R、G、B三个分量分别表示红绿蓝三种基色。而将要变换的JPEG是采用的YCbCr色彩系统,Y、Cb和Cr三个图像分量分别表示亮度、色度和饱和度。在处理全彩色图像时,需要首先把RGB颜色模式图像数据转化为YCbCr颜色模式数据。
离散余弦变换(DCT)是将一组光强数据转化为频率数据,以获取强度变换情况,其属于无损变换。DCT变换将图像中各个频率的信息区分开来,再将对视觉敏感的高频部分信息保留下来,而对视频无法觉察的低频部分在数值上设为零,从而达到对图像压缩的目的。通过DCT变换,可以把能量集中在少数几个特征值上,通常为DC特征值和AC特征值。
在进行DCT变换时,先将图像分解成N×N像素块(或称子图像块),优选的N=4、8或16,最优选的是,N=8,对每一子图像块进行单独的二维DCT变换。本发明中优选采用8×8的分解方式,当原始图像的长度不是8的倍数时,需要先补为8的倍数。由此,其64个像素的二维空间频率分量的幅值称为DCT特征值,也就是每个子图像块可以用1个DC特征值和63个AC特征值表示。
对于采用像素矩阵(方阵)表示的数字图像,二维DCT正变换使用下列公式:
二维DCT的逆变换(IDCT变换)使用下列公式:
在上面两式中,
u,v是DCT变换后矩阵内某个数值的坐标位置,即频率域采样值,u=0,1,....N-1,v=0,1,...N-1;
F(u,v)是DCT变换后矩阵内(u,v)位置上的频率特征值;
(x,y)是图像数据中某个数值的坐标位置,即空间域采样值,x=0,1,...,N-1,y=0,1,...,N-1;
f(x,y)是图像数据内(x,y)位置上的像素值;
当u=0且v=0时,
当u>0或v>0时,c(u),c(v)=1。
经过DCT变换后的矩阵数据自然数为频率特征值,这些特征值以F(0,0)的值最大,即DC特征值,其余的63个频率特征值多是接近于0的正负浮点数,统称AC特征值。
二维DCT变换是可以分离的,即二维变换可以分解为串联的两次一维变换,这是因为一维DCT的变换速度效率优于二维DCT变换,因此通过分离计算可以提升运算处理的效率,由此对于所述正向变换公式,可以改写成:
即先沿图像的每一列进行一维DCT变换,得到
再沿f(u,y)的每一行进行第二次一维DCT变换,得到
这样二维DCT变换可以利用一维DCT变换快速进行运算。
(2)量化(Quantization)
量化是在保持一定图像质量的情况下,去除图像中对视觉效果影响不大的冗余信息,针对经过FDCT变换后的频率特征值,其目的是减小非“0”特征值的幅度以及增加“0”值特征值的数量。量化处理是图像质量下降的最主要原因。
对于JPEG有损压缩,使用线性均匀量化器进行量化,具体地,对于64个DCT特征值除以量化步距并四舍五入取整来实现。量化步距是按照特征值所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色度量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
如图8所示,其中的亮度量化表和色度量化表的数值对于CCIR 601标准电视图像是最佳的。如果不使用这两种表,也可以根据需要使用其他的量化表替换它们。如果每一子图像块都采用相同的量化表,会减少计算量,但是由于不同子图像块的情况不同,可能不能达到最佳的压缩效果。
(3)Z字形编码(Zigzag Scan)
量化AC特征值通常有许多零值,需要以Z字路径重新编排,目的是为了增加连续“0”特征值的个数,也就是“0”的行程长度。这样就把一个8×8的矩阵变成一个1×64的矢量,频率较低的特征值放在矢量的顶部。
如图9所示,经Z字形扫描后DCT特征值的序号。0表示零频DC特征值,而剩下的1-63为AC特征值,特征值越大表示所述位置所对应的频率成分的频率越高,后续的量化编码就是在这些特征值的基础上进行的。
(4)使用差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)对量化DC特征值进行编码
在进行Z字形编码以后,量化DC特征值有两个特点,一是特征值的数值比较大,二是相邻8×8图像块的DC特征值值变化不大。根据这个特点,使用DPCM技术,对相邻图像块之间的量化后的DC特征值的差值(Delta)进行编码:Delta=DC(0,0)k-DC(0,0)k-1
(5)使用行程长度编码(Run Length Encoding,RLE)对量化AC特征值进行编码
RLE是一种典型的无损压缩技术。当图像中有很多相同颜色的模块时,模块中的每一行显示的颜色都相同,这种图像一般不提倡进行每一像素颜色值的存储,而只是单纯存储相同颜色的像素数量和颜色值即可。例如,表示颜色像素值的字符串RRRRRGGGBBBBB,用RLE压缩后可用5R3G5B代替。
在进行Z字形编码以后,量化AC特征值的特点是1×64矢量中包含有许多“0”特征值,并且许多“0”是连续的,因此使用非常简单且直观的RLE对它们进行编码。
JPEG标准使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”特征值所需位数,跟在它后面的是量化AC特征值的数值。
编码格式为(符号1)(符号2),其中,符号1表示2条信息,即行程和长度。行程是Z字形矩阵中位于非“0”AC特征值前的连续“0”值AC特征值的个数,长度是对AC特征值的幅度编码所用位数。符号2表示AC特征值幅度值。
(6)熵编码(Entropy Eoding)
熵编码是基于量化特征值统计特性的无损编码。常见的编码有行程长度编码、霍夫曼(Huffman)编码和算术编码。而行程-霍夫曼编码(RL-VLC)是JPEG图像压缩编码国际标准中常用的编码方法,主要用来对AC特征值进行熵编码。JPEG标准霍夫曼编码表是根据8×8图像块经二维DCT、Zigzag扫描后,非“0”AC特征值的幅值尺寸Level和所述AC特征值前“0”行程长度Run,即(Run,Level)数对的联合分布概率生成的。
在JPEG有损压缩方法中,使用霍夫曼编码来减少熵。使用霍夫曼编码的理由是可以使用简单的查表(Lookup Table)方法进行编码,所查的表是霍夫曼编码表。编码时,每个矩阵数据的一个DC值和63个AC值分别使用不同的霍夫曼编码表,亮度和色度也需要不同的霍夫曼编码表。压缩数据符号时,霍夫曼编码对出现频率较高的符号分配比较短的代码,而对出现频率较低的符号分配较长的代码。这种可变长度的霍夫曼编码表可以事先进行定义。在本发明中,使用熵编码可以对DPCM编码后的DC特征值和RLE编码后的AC特征值进行进一步压缩。
对差分DC特征值和每个AC特征值采用两个符号进行编码,即符号1和符号2。对于DC特征值,符号1表示的信息称为长度,即DC特征值的幅度进行编码所用的位数,符号2表示DC特征值的幅度。对于AC特征值,符号1表示了两条信息,称为行程和长度。行程是在Z字形矩阵中位于非零AC特征值前的连续零值AC特征值的幅度进行编码所用的位数。符号2表示AC特征值的幅度。
教师用户终端传送的图片可能清晰度很高,如果学生用户终端按照原图进行传输,势必导致网络资源需求过高,甚至网络拥堵,导致无法传输其他数据,所以进行的一系列变换,得到适合屏幕大小的,而且在有限的带宽进行传递文件,使得上课过程更为流畅
2、图像二次压缩(拆包处理)
如果一次压缩以后,还超过协议规定大小,则需要进行二次压缩或者称拆包处理。
经过所述处理获得的位数据流构成压缩后的图像,再进行进一步的差异化处理。在接下来进一步的差异化处理中,考虑差异化方法,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
If(image.getBytes()>maxSize)
{压缩比率=image.getBytes()/maxSize*系统定义偏移量}
Else,
{压缩比率=1}。
在此,所述差异化方法是指:由于系统处理的各个图像大小不一,但是在基于UDP协议进行数据传送过程中,每个报文长度有限制(一般为1500字节左右)。因此,在处理大小不一图像的过程,需要考虑各图像文件大小间的差异化,在系统中指定图像的maxSize,如果图像大小大于所述字节数,那么启动进一步的压缩处理,也就是通过所述公式计算出的压缩比,对图像进一步压缩处理。
所述1500字节是指在UDP传输数据时,单个数据报文的大小,不同的网络设备会略有不同,在实际传输过程中,每个图片会被按照这个大小进行自动分包并发送传输,客户端收到相应报文后会对数据进行组合处理;此外,如果UDP协议发送的原始数据包长度过于长的话,超过65K左右,UDP协议无法正常拆分数据包,这里需要我们手动对数据进行一下二次拆包,保证UDP协议每次都能够正常发送数据报文。根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
如果图像的大小大于最大值,
压缩比率=图像大小/最大值*系统定义偏移量,对于本发明使用的硬件平台显示分辨率,所述偏移量设置为0.4~0.6之间,其对应关系参考下表一否则,压缩比率=1。
分辨率 偏移量
1920*1080以上 0.6
1280*720 0.5
800*600以下 0.4
表1
因为根据移动设备分辨率的不同,其显示图像质量亦可不同,分辨率低的移动设备可显示质量稍差的图像,因此按照上表1给出的数据,偏移量与分辨率大小成正比。压缩比率的执行是通过以下步骤体现的:
(a)教师用户终端应用程序抓取教师上课的电子板书截图;
(b)根据教师用户终端的分辨率计算出合适的压缩比率;
(c)根据压缩比率进行图像格式转换,即一次压缩。
所述通过图像的两次压缩,实现了快速高效的压缩、对比和传送。
在所述图像一次压缩步骤中,在FDCT变换过程中,经过DCT变换后的矩阵数据自然数为频率特征值,这些特征值以F(0,0)的值最大,即DC特征值,其余的63个频率特征值多是接近于0的正负浮点数,统称AC特征值。
本发明的方法,在进行所述图像压缩处理的过程中,将构成图像主要因素的DC特征值值和AC特征值值复制提取出来,并存保到独立于正在进行压缩处理的图像文件的其他文件中,而不影响图像的一次压缩处理。
通常,图像对比要综合考虑图像的轮廓分布、颜色分布、以及DC和AC值等,但是本发明中利用JPEG压缩过程中获得的图像DC和AC特征值值,不但影响图像的压缩处理,又能通过前后两幅相邻图像的特征值值的简单对比,判断前后两幅图像是否发生了变化,根据判断结果决定是否发将已经完成压缩的图像发送给学生用户终端。
这样简化的判断方法,减少了系统的运算量,这是因为教师在授课时屏幕显示的内容特别是电子板书内容通常是连续变化的,在相邻时间比如几秒内,板书的内容可能不变的或者变化持续增加的,而获取图像的设备、图像显示的环境、背景轮廓等信息又基本是不变的这样的特点。
通过这样简化对比即可发现前后两幅图像是否发生了变化,是否应该将图像同步发送给学生用户终端,如果图像内容没有发生变化,就不必发送。
由于图像的屏幕拷贝获取以及压缩处理是在固定时间间隔内正常进行的,一旦根据对比判断结果确定需要发送这幅图像,不会存在时间上的延迟,直接将压缩好的图像数据分割发送即可,而一旦根据判断结果确定不需要发送,就不会占用网络资源,同时学生用户终端上也不必重复更新前后相同的显示内容,影响用户的体验。
当然,本发明并不是排斥对两幅前后连续获得的图像进行全面的对比和判断,从而获得更加全面的对比结果。
具体地,通过计算两幅图像之间的距离,即DC和AC特征向量各分量之差的总和,来判断两幅图像的差异值。所述的差是指将每前后相邻两幅图像的DC和AC特征值值(特征向量值)进行对比,对于DC特征值值,对比其分量的正负号,如果分量同号标记为1,否则标记为0。
对于AC特征值值,可以根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1。
由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值。
0的数目越多表明特征向量的差异越大,图像的差异越大。
进一步的,如果两幅图像之间没有差异,说明前后两个截屏的图像是相同的或者基本相同的,不需要进行同屏传送;如果存在差异值,说明前后两幅截图内容已经发生变化,教师用户终端将相应的已经压缩好的图像同屏传送给学生用户终端。
所述是否有差异的判断可以根据设定的阈值进行比较判断,也可以不设定阈值,只要有不同就进行同步传送。
可设置多个临时复制提取的DC和AC特征值存储文件夹,存储满一个文件夹后,就使用另一个存储文件夹,系统再去清空当前的文件夹备用。
当长时间检测到前后截屏的内容没有变化时,逐步自动延长自动截取屏幕图像内容的时间。比如由每隔几秒延长为每隔几十秒,甚至几分钟。
将一段时间内例如是一节课连续的多个前后两幅图像的差异值做成曲线,根据教学过程特别是板书的基本特点,当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记,当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始了。
学生用户终端可以将接收到的同步图像数据保存成可再现的视频流,从而可以随时复习学习的内容,更优选的,视频流的播放与教师的音频录音根据时间特征(如由教学系统生成的时间戳)匹配起来,形成带有语音流与视频流的匹配播放。
通过所述判断步骤,实现了需要同步显示的图像的自动判别和实时发送,达到了同步截屏、实时压缩、同步判断、自动发送的目的。
注意,在执行完后续的图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像,形成发送数据包。
经过所述压缩获得的JPEG图像以及同屏应用数据,如果所述JPEG图像以及同屏应用数据包大于报文的限制长度,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,比如分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
具体地,在发送UDP数据报文时,会根据发送的数据包长度对组播报文自动进行分包,避免由于数据包过大导致发送失败。但如果将UDP数据拆分过小,会导致短时间内会广播大量的数据,对局域网内网络带来较大的压力。根据数据长度,会动态计算并拆分数据,按照单个数据报文长度不超过16,000个Byte。根据本发明,根据反复调试尝试的结果,评定无限AP带宽占用率和响应速度,得到的最优的值为16,000Byte,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
所述同步数据分割步骤的具体操作流程如下:
如图10所示,所述数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包。待转发的消息由组播地址经过无线AP转发是,转成单播的形式逐一发送,教师端应用通过组播地址,234.5.10.200,通过订制AP发送给各个终端。
无线接入点即无线AP(Access Point)是用于无线网络的无线交换机,也是无线网络的核心。无线AP是移动计算机用户接入有限网路的接入点。
组播(Multicast,多播)技术作为一种与单播(Unicast)和广播(Broadcast)并列的通信方式,有效地解决了单点发送、多点接收的问题,在实时数据传送、多媒体会议、数据仿真等领域有着广泛的应用。组播是将IP数据包向“一组”地址传送,使得数据包可以达到Internet上同一组的所有成员,其中“组”是一个特殊的IP地址标识。TCP、IP的IGMP协议中包含了组播的内容,协议规定组播使用的地址是从224.0.0.0到239.255.255.255。从224.0.0.0到239.0.0.255的多路广播地址是用于储存组播路由信息,这个范围以外的多路广播地址是为应用程序设定的。
UDP(User Data-gram Protocol,用户数据报协议)是建立在一种IP协议上的无连接协议,主要用来支持那些需要在计算机之间传送数据的网络应用,由于不提供数据的重传和确认,其优点是传送速度比较快,缺点是可靠性不高。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都使用UDP协议。一条UDP报文分为两部分:报头和数据区。UDP报头有四个域组成,每个域各占两个字节:源端口号、目标端口号、数据报长度、校验值。数据发送方将UDP数据报通过源端口发送出去,而数据接收方则通过目标端口接收数据。
UDP每次发送的数据包的大小一般不超过2048字节。在发送端和接收端确定一个传送缓冲区,大小为65,536字节,发送端首先把一帧视频数据写入缓冲区,将其分解成若干数据包,使得每个数据包的大小不超过2048字节,称为一个分组数据,对每个分组数据的每个数据包加上一个包头结构,包头结构定义了序列号、传送通道号、视频压缩格式、时间戳。数据报的长度域主要用来计算可变长度的数据部分,理论上包含报头在内的数据报的最大长度为65,536字节,在实际应用中通过会选择一个较低值,比如可以1024字节。
UDP建立在IP协议之上,但相对于IP协议,其增加可以提供协议端口以保证进程通信,整个UDP报文封装在IP数据报中传送。但是,UDP协议的问题是协议自身没有错误重传机制,对于错误的检测和处理在应用程序中进行。
根据接收者对组播源处理方式的不同,组播模型包括下列三种:ASM模型(Any-Source Multicast,任意信源组播)、SFM模型(Source-Filtered Multicast,信源过滤组播)、SSM模型(Source-Specific Multicast,指定信源组播)。
(A)ASM模型
简单地说,ASM模型就是任意源组播模型。在ASM模型中,任意一个发送者都可以成为组播源,向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。
(B)SFM模型
SFM模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。同时,SFM模型在功能上对ASM模型进行了扩展。在SFM模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。
(C)SSM模型
在现实情况中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM模型为用户提供了一种能够在用户终端指定组播源的传送服务。SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其他手段预先知道了组播源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者和其指定的组播源之间建立专用的组播转发路径。
局域网传送无需使用服务器,本发明中教师用户终端与学生用户终端通过AC路由(802.11AC,第五代无线网络标准,俗称5G WIFI)连接在同一网段。当然,也可以使用P2P技术进行同屏数据传送。
如图11所示,所述线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作。基本步骤如下:使用序列化工具对mData进行分片处理,按照顺序读取分片数据对象,将数据片段封装成Datagram Package,通过UDP组播控制Handler发送报文,发送控制器休眠60毫秒,释放网络压力,启动数据报文定时重传监听,判断当前发送的数据报文是否过期,如果过期,则判断为结束当前操作,如果未过期,继续判断是否有后续数据片段,继续获取数据。
本发明使用无线AP基于SSM模型通过UDP协议传送分割好的数据包,SSM模型的优点在于:降低网络流量,减轻服务器和CPU负荷;减少冗余流量;使多点应用成为可能;其缺点也比较明显,由于通过UDP协议通信,导致非长连接,存在丢包现象。
为了去除冗余的同屏指令信息,保证同屏程序高速率、稳定的执行;以及从网络通信上行(设备至AP)的角度出发,保证上行数据推送的可靠性,对数据准确、高效传送到学生用户终端提供双重的保障,本发明采用线程监控的方式解决上述问题。
具体操作流程如下:
B1、数据报文发送处理步骤:教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址。
B2、自守护线程启动步骤:在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包。该处理能够有效的避免在教师用户终端向无线AP进行上行发送UDP数据报文时网络不稳定而带来的数据丢失问题。
B3、反馈守护线程启动步骤:教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程。反馈守护线程的好处是能够以最小的网络消耗的代价完成数据报文的补发操作,能够以较短的等待时间快速的对单个数据报文进行包装重传处理。有效的解决了从无线AP将组播报文发送至学生用户终端时,发生的数据丢失而导致数据不统一的问题。
B4、报文反馈步骤:学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
如图12所示,虚线框部分,所述过期数据处理步骤,用于丢弃系统中的过期数据,保证网络传输的畅通。对于学生端同屏处理方式,首先判断同屏处理方式,如果是指令同屏,则接受同屏指令,查找同屏资源,加载同屏画面,合并指令坐标数据,然后描绘图片;如果是图像同屏,接受图片序列碎片,判断图片是否过期,如果过期,则放弃处理,如果没有过期,判断图片序列是否接受完全,如果接受不完全,则等待下一序列碎片,当完全接受后,将碎片合并成图片对象,在本地描绘出图片。
所述过期数据是指在网络传送的数据包进行实时监控过程中,当数据包正在网络中传送时,教师用户终端又发送了新的数据包,教学系统检测到新数据包的存在,这时检测到的旧数据被视为过期数据。
教学系统会将过期数据进行丢弃处理,在教师用户终端、学生用户终端、无线AP等设备同时对处理过程中的过期数据进行丢弃,用以减轻数据在网络中传送给网络带来的压力,保证学生用户终端实时显示教师用户终端传送过来的最新数据。
如图13所示,学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。具体的,教师端发送数据包,学生端获取数据包,教师端实时监控5秒内是否收到学生端数据反馈,如果没有,则重新补发数据包,如果是,则确认本条数据包发送成功。
学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。教师端通过判断学生端反馈的信息,进行判断学生是否完整的收到了教师之前发送的命令,当教师端判断学生端已经完整的收到了指令,教师端进行下一步处理(例如,发送指令,声音等);当教师端判断学生端没有完整的收到指令,则进行重新发送指令的处理,直到学生端完整的收到。
基于此,所述过期数据处理步骤具体过程如下:
C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文。
C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
如图12所示,所述同步显示步骤,用于在数据接收用户终端上实现同步显示。
在学生用户终端上的软件客户端或APP中,内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用的目的。
构建系统服务器学习能力,系统中字典表(数据库表)记录各种文件操作指令,并通过数据库索引配对,把操作指令指向操作指令对应的实际执行语言,终端通过读取实际执行语言,完成模拟操作的执行。
通过应用本发明的方法,使得同屏数据信息不局限于图像等,通过传送指令及坐标点数据的方式进行同屏信息推送,大大减少了网络的并发数据量,使得同屏速率在质上有了大幅度的提升、节省大量的存储空间及使用流量,取代了传统视频流录制的方式。
以上描述是基于网络教学系统,围绕学生用户和教师用户之间的交流的同屏显示进行的,可以理解的是,本发明中所谓的学生用户和教师用户在其他类似的基于网络的交流系统可以是网络会议的参与者和会议主持人、发言人等,他们之间可以是平等的关系,也可以是主从的关系,而且这样的关系是可以切换的或者对换的,所谓的学生用户和教师用户以及网络教学系统并不是为了限定本发明的用途,只是作为一种典型现象进行的示例性描述,任何基于网络的需要将某终端上显示的内容和/或操作的内容发送到网络另一端的其他至少一个终端的应用,均适用于本发明。
以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求概况的保护范围之内。

Claims (15)

1.一种图像同步显示方法,用于包括教师用户终端、学生用户终端、服务器和网络的网络教学系统,包括以下步骤:
—教师用户终端启动步骤,准备获取用于同步显示的数据;
—同屏显示数据获取步骤,获取用于同步显示的同屏显示图像数据;
—同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据;
—图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
—图像发送判断步骤,判断经过所述压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
—确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像数据和所述应用数据,形成发送数据包;
—数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包;
—线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
—过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
—同步显示步骤,用于在接收数据的所述学生用户终端上实现同步显示;
所述同屏应用数据获取步骤进一步包括:通过教师用户终端上的客户端或者APP记录传送指令及坐标点数据包括Path路径坐标数据的方式获得需要的所述同屏应用数据;
所述Path路径坐标数据的记录过程如下:
A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
A2、新建一个Bitmap,并以此Bitmap生成一个临时画布(temptCanvas);
A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布(temptCanvas)的目标,定位在新建的tempBitmap上;
A4、通过构造后,提取指令堆栈中的坐标指令,一一还原,通过临时画布(temptCanvas)进行从写,临时画布(temptCanvas)的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点、画线调用临时画布(temptCanvas)而不是原先屏幕上的Canvas画布,包括临时画布(temptCanvas).drawPoint,temptCanvasRect;
A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);临时画布(temptCanvas)负责的是将各种画笔痕迹画在tempBitmap上,而Canvas画布负责将tempBitmap绘制到屏幕上;
所述图像压缩步骤进一步包括JPEG图像一次压缩和图像二次压缩;
在所述JPEG图像一次压缩过程中,在对所述图像进行压缩处理时,将每幅所述图像的DC特征值和AC特征值复制另存为独立的数据文件;
根据所述复制另存的数据文件,依次计算前后两幅相邻图像的所述DC和AC特征值的差异值,即DC和AC特征向量各分量之差的总和,差异值越大说明前后两幅图像的差别越大,差异值越小或者没有差异说明前后两幅图像的差别越小或者没有差别,判断为后面的这幅图像无需传送到学生用户终端进行同步显示;
所述特征值的差异值的计算方法为:
将前后相邻两幅图像的DC和AC特征值值进行对比,
对于DC特征值值,对比其分量的正负号,如果分量同号标记为1,否则标记为0;
对于AC特征值值,根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1;
由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值;其中,
0的数目越多表明特征向量的差异越大,图像的差异越大。
2.根据权利要求1的图像同步显示方法,其特征在于,
所述同屏显示数据是教师用户终端的屏幕上显示的内容,包括电子白板、投影输入装置、手写输入装置、黑板或白板及图像采集装置包括照相机和摄像机采集的图像数据;
所述采集的图像数据是BMP格式的。
3.根据权利要求1的图像同步显示方法,其特征在于,
在执行所述图像压缩步骤前,将未压缩的所述图像数据进行备份,形成原始图像备份数据库,当用户收到压缩的图像而需要查看更精细的图像时,可以通过点击操作从所述原始图像备份数据库中下载原始图像。
4.根据权利要求3的图像同步显示方法,其特征在于,
在执行完所述图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
5.根据权利要求1的图像同步显示方法,其特征在于,
设置多个存储复制另存的DC和AC特征值存储文件,存储满一个文件夹,就使用另一个存储文件,之后系统清空所述存储满的文件夹备用。
6.根据权利要求1的图像同步显示方法,其特征在于,
当长时间检测到前后截屏的内容没有变化时,逐步自动延长截取屏幕图像内容的时间。
7.根据权利要求1的图像同步显示方法,其特征在于,
当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记;
当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始。
8.根据权利要求1的图像同步显示方法,其特征在于,
所述图像二次压缩步骤,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
If(image.getBytes()>maxSize)
{压缩比率=image.getBytes()/maxSize*系统定义偏移量}
Else,
{压缩比率=1};
根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
如果图像的大小大于最大值,
压缩比率=图像大小/最大值*系统定义偏移量,否则,压缩比率=1;其中,
所述偏移量设置为0.4~0.6之间。
9.根据权利要求1的图像同步显示方法,其特征在于,
所述压缩获得的JPEG图像以及同屏应用数据包大于报文的限制长度时,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,即
分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
10.根据权利要求9的图像同步显示方法,其特征在于,
根据数据长度,动态计算并拆分数据,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
11.根据权利要求1的图像同步显示方法,其特征在于,
所述学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;
在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息;
学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。
12.根据权利要求11的图像同步显示方法,其特征在于,
所述线程监控步骤具体包括:
线程监控步骤B1、数据报文发送处理步骤:
教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址;
B2、自守护线程启动步骤:
在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包;
B3、反馈守护线程启动步骤:
教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程;
B4、报文反馈步骤:
学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
13.根据权利要求1的图像同步显示方法,其特征在于,
所述过期数据处理步骤具体过程如下:
C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文;
C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
14.根据权利要求1的图像同步显示方法,其特征在于,
所述同步显示步骤,在学生用户终端上的客户端或APP中,
内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用显示的目的。
15.根据权利要求1-14任意一项所述的图像同步显示方法,其特征在于,
学生用户终端将实时接收到的图像进行本地显示,并将一系列接收到的同步图像数据保存成可再现的视频流;
将所述视频流的播放与有关教师的音频录音根据时间特征匹配起来,形成带有语音的视频流。
CN201510801936.9A 2015-11-19 2015-11-19 一种图像同步显示方法及装置 Active CN105491414B (zh)

Priority Applications (7)

Application Number Priority Date Filing Date Title
CN201510801936.9A CN105491414B (zh) 2015-11-19 2015-11-19 一种图像同步显示方法及装置
JP2017544023A JP6430653B2 (ja) 2015-11-19 2015-12-25 画像同期表示方法及び装置
DE112015007134.2T DE112015007134T5 (de) 2015-11-19 2015-12-25 Verfahren und Gerät zur synchronen Bildanzeige
PCT/CN2015/099057 WO2017084174A1 (zh) 2015-11-19 2015-12-25 一种图像同步显示方法及装置
CA2973405A CA2973405C (en) 2015-11-19 2015-12-25 Method and apparatus for image synchronous displaying
KR1020177023247A KR102050865B1 (ko) 2015-11-19 2015-12-25 이미지에 대한 동기화 디스플레이 방법 및 장치
US15/567,937 US10522049B2 (en) 2015-11-19 2015-12-25 Image synchronous display method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510801936.9A CN105491414B (zh) 2015-11-19 2015-11-19 一种图像同步显示方法及装置

Publications (2)

Publication Number Publication Date
CN105491414A CN105491414A (zh) 2016-04-13
CN105491414B true CN105491414B (zh) 2017-05-17

Family

ID=55678077

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510801936.9A Active CN105491414B (zh) 2015-11-19 2015-11-19 一种图像同步显示方法及装置

Country Status (7)

Country Link
US (1) US10522049B2 (zh)
JP (1) JP6430653B2 (zh)
KR (1) KR102050865B1 (zh)
CN (1) CN105491414B (zh)
CA (1) CA2973405C (zh)
DE (1) DE112015007134T5 (zh)
WO (1) WO2017084174A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423407A (zh) * 2017-07-27 2017-12-01 广州视源电子科技股份有限公司 教学信息记录方法、装置、终端和计算机可读存储介质

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105405325B (zh) * 2015-12-22 2017-04-26 深圳市鹰硕技术有限公司 一种网络教学方法及系统
CN106375804A (zh) * 2016-05-30 2017-02-01 深圳市美贝壳科技有限公司 移动端同步模拟智能设备界面的改良方法
CN107800729B (zh) * 2016-08-30 2021-02-05 中国移动通信集团广东有限公司 一种信息查询方法和系统
CN106230704B (zh) * 2016-08-31 2020-01-14 嘉兴学院 一种远程实验交互方法及系统
CN106803863A (zh) * 2016-12-20 2017-06-06 深圳市金立通信设备有限公司 一种图像共享方法和终端
CN106790621A (zh) * 2016-12-30 2017-05-31 广州幻境科技有限公司 一种动作捕捉数据的云分享控制方法、及其系统
CN108415635A (zh) * 2017-02-10 2018-08-17 广州森成和信息技术有限公司 一种图片分享系统
CN108513149B (zh) * 2017-02-28 2021-04-09 北京新唐思创教育科技有限公司 一种直播延迟测试方法及其装置
CN106981224B (zh) * 2017-03-02 2019-06-28 山西大学 一种电子黑板系统及继承上次授课内容的方法
CN107104947B (zh) * 2017-03-20 2020-05-12 福建天泉教育科技有限公司 多屏互动方法
TWI643185B (zh) * 2017-04-26 2018-12-01 瑞昱半導體股份有限公司 音訊處理裝置及方法
US10895954B2 (en) * 2017-06-02 2021-01-19 Apple Inc. Providing a graphical canvas for handwritten input
CN108154729A (zh) * 2017-12-26 2018-06-12 河南医学高等专科学校 一种基于移动互联网的医学教育师生云平台交互系统
CN108156502A (zh) * 2018-01-05 2018-06-12 创盛视联数码科技(北京)有限公司 一种提高画笔和文字视频直播同步性的方法
CN108322755B (zh) * 2018-01-10 2021-07-09 链家网(北京)科技有限公司 一种图片压缩处理方法及系统
CN108509238A (zh) * 2018-03-06 2018-09-07 珠海爱创医疗科技有限公司 桌面屏幕推送的方法及装置
KR102071975B1 (ko) * 2018-03-20 2020-04-01 주식회사 페이콕 광학적 문자 인식을 사용하는 카드 결제 장치 및 방법
CN108664230A (zh) * 2018-04-18 2018-10-16 青岛海信电器股份有限公司 一种传屏方法、显示设备及其传屏系统
CN110445625B (zh) * 2018-05-02 2022-07-01 鸿合科技股份有限公司 一种大屏广播控制方法及系统
CN110719429B (zh) * 2018-07-12 2022-01-11 视联动力信息技术股份有限公司 一种基于视联网的高拍仪处理方法及装置
CN109377789A (zh) * 2018-10-26 2019-02-22 珠海中电数码科技有限公司 一种组合式智能全面屏黑板
CN109640108B (zh) * 2018-12-13 2020-10-30 广州易方信息科技股份有限公司 基于文档类直播交互数据和音视频数据同步方法和系统
CN109743332A (zh) * 2019-02-01 2019-05-10 中国电信股份有限公司南京分公司 一种多终端同步显示数据的系统
US20220172454A1 (en) * 2019-03-19 2022-06-02 Nec Corporation System, client apparatus, data processing method, computer program and recording medium
CN110022534B (zh) * 2019-03-28 2021-06-08 山东省计算中心(国家超级计算济南中心) 一种基于组播的数据传输方法及装置
CN111355994A (zh) * 2019-04-24 2020-06-30 鸿合科技股份有限公司 一种课件控制方法及终端、电子设备
CN111866484B (zh) * 2019-04-30 2023-06-20 华为技术有限公司 点云编码方法、点云解码方法、装置及存储介质
CN110248235B (zh) * 2019-06-26 2022-06-17 深圳市轱辘车联数据技术有限公司 软件教学方法、装置、终端设备及介质
CN110798672B (zh) * 2019-11-06 2021-11-05 广州炫视智能科技有限公司 一种具有多屏同显功能的视频驱动板卡
CN111045624A (zh) * 2019-11-27 2020-04-21 深圳创维-Rgb电子有限公司 多屏同显方法、显示终端及计算机可读存储介质
AU2020393923A1 (en) * 2019-11-27 2022-06-09 Screenbeam Inc. Methods and systems for reducing latency on a collaborative platform
CN111078171B (zh) * 2019-11-30 2021-05-25 北京城市网邻信息技术有限公司 用于同步显示的方法、终端设备、设备和可读存储介质
CN111124333A (zh) * 2019-12-05 2020-05-08 视联动力信息技术股份有限公司 电子白板显示内容同步的方法、装置、设备以及存储介质
CN111193936B (zh) * 2019-12-27 2021-11-12 腾讯科技(深圳)有限公司 视频流传输方法、装置、电子设备及计算机可读存储介质
CN111240626A (zh) * 2020-01-09 2020-06-05 中瓴智行(成都)科技有限公司 一种基于Hypervisor智能座舱操作系统双屏互动的方法和系统
CN111262920A (zh) * 2020-01-13 2020-06-09 深圳市鸿合创新信息技术有限责任公司 一种数据同步方法及交互式电子白板、服务器
CN111338593B (zh) * 2020-03-25 2021-09-21 掌阅科技股份有限公司 投屏展示信息的方法、阅读终端及存储介质
CN111796893A (zh) * 2020-06-12 2020-10-20 彭程 数据交互方法与电子设备
CN111897461A (zh) * 2020-07-09 2020-11-06 北京国发天元信息技术有限公司 一种基于互联网的互动虚拟实验的实现方法
CN114296675A (zh) 2020-08-05 2022-04-08 腾讯科技(深圳)有限公司 投屏状态确定方法、装置、设备及计算机可读存储介质
CN111951618A (zh) * 2020-08-26 2020-11-17 吕梁学院 一种交互式英语学习系统
CN111813312B (zh) * 2020-09-14 2021-01-29 湖南新云网科技有限公司 数据传输方法、装置、系统、终端设备及可读存储介质
CN112347291A (zh) * 2020-11-06 2021-02-09 湖南新云网科技有限公司 网络课件的生成方法、装置、设备及存储介质
CN112383788B (zh) * 2020-11-11 2023-05-26 成都威爱新经济技术研究院有限公司 一种基于智能ai技术的直播实时图像提取系统及方法
CN112733056B (zh) * 2021-04-02 2021-06-18 北京百家视联科技有限公司 一种文档处理方法、装置、设备及存储介质
CN113379752B (zh) * 2021-04-09 2022-10-25 合肥工业大学 一种用于双层液晶屏显示的图像分割方法
CN113014439B (zh) * 2021-04-19 2021-10-26 广州大一互联网络科技有限公司 一种数据中心带宽的虚拟弹性管理方法
CN113419693B (zh) * 2021-05-17 2023-04-18 广州佰锐网络科技有限公司 一种多用户轨迹的同步显示方法及系统
CN113422933B (zh) * 2021-06-23 2022-10-25 江苏小牛电子科技有限公司 一种基于教学的录播系统及录播方法、介质
CN113259775B (zh) * 2021-06-28 2021-10-12 大学长(北京)网络教育科技有限公司 一种直播的方法以及装置
CN113992885B (zh) * 2021-09-22 2023-03-21 联想(北京)有限公司 一种数据同步方法及装置
CN114173207B (zh) * 2021-11-15 2024-02-23 杭州当虹科技股份有限公司 一种视频帧顺序传输的方法和系统
CN114237940B (zh) * 2021-12-20 2023-06-16 南京首印铭都信息技术科技有限公司 信息管理系统和方法
TWI811148B (zh) * 2022-11-07 2023-08-01 許精一 基於環景影音的減少延遲的一對多通訊方法與計算機程式產品組
CN116204135A (zh) * 2023-04-27 2023-06-02 中科信工创新技术(北京)有限公司 一种数据压缩的方法、装置、设备及介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035262A (zh) * 2007-04-19 2007-09-12 深圳市融合视讯科技有限公司 一种视频信息的传输方法
CN102696052A (zh) * 2009-09-17 2012-09-26 认知建立时机公司 教育内容产生的装置、系统和方法
CN103561277A (zh) * 2013-05-09 2014-02-05 陕西思智通教育科技有限公司 一种用于网络教学的传输方法和系统
CN103927909A (zh) * 2014-04-29 2014-07-16 南京数模微电子有限公司 触摸式移动终端的交互式教学系统与方法
CN103996315A (zh) * 2014-05-30 2014-08-20 杭州华银教育多媒体科技股份有限公司 一种新型的无线多媒体互动教学系统的系统安全设置方法
CN104200710A (zh) * 2014-05-30 2014-12-10 杭州华银教育多媒体科技股份有限公司 一种新型的无线多媒体互动教学系统及故障处理方法
CN104363545A (zh) * 2014-10-17 2015-02-18 深圳市时尚德源文化传播有限公司 音频降噪电路、采用该音频降噪电路的智能终端机及教学方法
CN104540026A (zh) * 2014-12-22 2015-04-22 杭州施强网络科技有限公司 一种课堂内容录像及回放方法及系统
CN104581353A (zh) * 2013-10-24 2015-04-29 深圳习习网络科技有限公司 一种视频的录制/播放方法及录制/播放装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5730602A (en) * 1995-04-28 1998-03-24 Penmanship, Inc. Computerized method and apparatus for teaching handwriting
KR200187183Y1 (ko) * 1997-10-17 2000-07-01 김영환 디지탈카메라
KR20020016509A (ko) * 2000-08-25 2002-03-04 권혁빈 멀티미디어 전자 학습 시스템 및 방법
JP2002118738A (ja) * 2000-10-10 2002-04-19 Canon Inc 画像表示装置及び方法、該画像表示装置を用いた情報処理装置、並びに記憶媒体
KR20010083840A (ko) * 2001-07-04 2001-09-03 최용준 실시간 멀티미디어 프리젠테이션을 위한 서버 비의존캐스팅 기법 및 양방향통신의 구현방법
KR100400947B1 (en) * 2002-11-26 2003-10-08 Coretrust Inc System and method for protecting information of multimedia streaming contents, and recording medium recording the same
JP4444603B2 (ja) * 2003-09-03 2010-03-31 キヤノン株式会社 表示装置、システム、画像表示システム、画像処理方法、表示方法、及びプログラム
JP2006148730A (ja) * 2004-11-24 2006-06-08 Hitachi Omron Terminal Solutions Corp 会議システム及び会議情報提供方法
JP4522835B2 (ja) * 2004-12-07 2010-08-11 三菱電機株式会社 画像伝送装置及び画像監視システム
JP2009267734A (ja) * 2008-04-24 2009-11-12 Sharp Corp 画面データ送信端末、画面データ受信端末、画面データ伝送システム、画面データ送信方法および画面データ送信プログラム
US9049482B2 (en) * 2012-02-19 2015-06-02 Udacity, Inc. System and method for combining computer-based educational content recording and video-based educational content recording
KR102053822B1 (ko) * 2013-06-03 2019-12-09 삼성전자주식회사 휴대 장치 및 휴대 장치의 화면 표시방법
JP2015156173A (ja) * 2014-02-21 2015-08-27 セイコーエプソン株式会社 表示システム、表示装置およびプログラム
CN203870835U (zh) * 2014-04-16 2014-10-08 深圳市时尚德源文化传播有限公司 一种基于电子白板的互动教学系统
TWI616808B (zh) * 2014-06-30 2018-03-01 緯創資通股份有限公司 分享顯示畫面的方法及裝置
CN104158900B (zh) * 2014-08-25 2015-06-10 焦点科技股份有限公司 一种iPad控制课件同步的方法与系统
CN104539436B (zh) * 2014-12-22 2018-08-07 杭州施强教育科技有限公司 一种课堂内容实时直播方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101035262A (zh) * 2007-04-19 2007-09-12 深圳市融合视讯科技有限公司 一种视频信息的传输方法
CN102696052A (zh) * 2009-09-17 2012-09-26 认知建立时机公司 教育内容产生的装置、系统和方法
CN103561277A (zh) * 2013-05-09 2014-02-05 陕西思智通教育科技有限公司 一种用于网络教学的传输方法和系统
CN104581353A (zh) * 2013-10-24 2015-04-29 深圳习习网络科技有限公司 一种视频的录制/播放方法及录制/播放装置
CN103927909A (zh) * 2014-04-29 2014-07-16 南京数模微电子有限公司 触摸式移动终端的交互式教学系统与方法
CN103996315A (zh) * 2014-05-30 2014-08-20 杭州华银教育多媒体科技股份有限公司 一种新型的无线多媒体互动教学系统的系统安全设置方法
CN104200710A (zh) * 2014-05-30 2014-12-10 杭州华银教育多媒体科技股份有限公司 一种新型的无线多媒体互动教学系统及故障处理方法
CN104363545A (zh) * 2014-10-17 2015-02-18 深圳市时尚德源文化传播有限公司 音频降噪电路、采用该音频降噪电路的智能终端机及教学方法
CN104540026A (zh) * 2014-12-22 2015-04-22 杭州施强网络科技有限公司 一种课堂内容录像及回放方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107423407A (zh) * 2017-07-27 2017-12-01 广州视源电子科技股份有限公司 教学信息记录方法、装置、终端和计算机可读存储介质

Also Published As

Publication number Publication date
JP6430653B2 (ja) 2018-11-28
KR102050865B1 (ko) 2019-12-02
KR20170107027A (ko) 2017-09-22
JP2018514100A (ja) 2018-05-31
US10522049B2 (en) 2019-12-31
DE112015007134T5 (de) 2018-08-09
CN105491414A (zh) 2016-04-13
CA2973405C (en) 2021-03-02
CA2973405A1 (en) 2017-05-26
US20180247550A1 (en) 2018-08-30
WO2017084174A1 (zh) 2017-05-26

Similar Documents

Publication Publication Date Title
CN105491414B (zh) 一种图像同步显示方法及装置
CN105405325B (zh) 一种网络教学方法及系统
CN105578115B (zh) 一种具有语音评估功能的网络教学方法及系统
CN105681920B (zh) 一种具有语音识别功能的网络教学方法及系统
CN105306861B (zh) 一种网络教学录播方法及系统
CN108897507B (zh) 一种基于安卓端智慧课堂的白板同步显示方法及系统
CN108010037B (zh) 图像处理方法、装置及存储介质
CN105637472B (zh) 具有广义屏幕描述的屏幕内容共享系统的框架
WO2022252488A1 (zh) 一种图像压缩方法、装置、电子设备及可读存储介质
CN105025094A (zh) 多屏互动方法及系统
DE102017116177A1 (de) Verfahren und Gerät zum Kombinieren von Videos
CN105898506A (zh) 媒体文件的多屏播放方法和系统
CN109040792A (zh) 一种视频重定向的处理方法、云终端和云桌面服务器
CN112799891A (zh) iOS设备测试方法、装置、系统、存储介质及计算机设备
CN107423407B (zh) 教学信息记录方法、装置、终端和计算机可读存储介质
CN104333732B (zh) 一种分布式视频分析方法和系统
CN110312134A (zh) 一种基于图像处理和机器学习的屏幕视频编码方法
CN104391886A (zh) 一种电子书发送方法及装置
CN107666610A (zh) 桌面视频内容分析方法
WO2023065961A1 (zh) 视频植入方法、装置、设备及计算机可读存储介质
CN108009516A (zh) 视频匹配方法、装置及终端
CN202696785U (zh) 一种新型无纸化视频会议装置
CN112732381B (zh) 一种在线课堂的桌面数据采集方法及系统
TWI636683B (zh) 降低頻寬負載之遠端互動的系統及其方法
WO2024045026A1 (zh) 一种显示方法、电子设备、显示设备、传屏器及介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 518100 Guangdong city of Shenzhen province Baoan District Xin'an three industrial zone 1 road Cantor Fitzgerald building two floor, Room 202

Applicant after: Shenzhen Eagle Technology Co., Ltd.

Address before: 518100 Guangdong city of Shenzhen province Baoan District Xin'an three industrial zone 1 road Cantor Fitzgerald building two floor, Room 202

Applicant before: SHENZHEN SHISHANG DEYUAN CULTURE COMMUNICATION CO., LTD.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant