首页 / 专利库 / 物理 / 指向性 / 一种具有语音识别功能的网络教学方法及系统

一种具有语音识别功能的网络教学方法及系统

阅读:904发布:2022-04-01

专利汇可以提供一种具有语音识别功能的网络教学方法及系统专利检索,专利查询,专利分析的服务。并且本 发明 提供一种网络教学方法及系统,实现了 人脸识别 和 语音识别 的双识别身份验证,教学过程和口语训练、测试和考试过程中对于语音 信号 采集的精准度,采用多模型打分测评,提高了测评的准确度,使得网络教学更加自主有效,特别是在涉及朗读、听 力 及背诵等教学时,可以通过系统的这些功能提高学习的真实性和有效性。本发明的方法把人脸识别 和声 纹识别结合起来,在用户进行口语测试前或系统登录时,检查用户的身份,可以更好的鼓励用户在使用过程中真人发音测试。,下面是一种具有语音识别功能的网络教学方法及系统专利的具体信息内容。

1.一种具有语音识别功能的网络教学方法,其特征在于,包括以下步骤:
用户语音和用户图像采集步骤,用于在用户登陆网络教学系统时采集用户的音频数据和图像数据;
前端处理:用于对上述采集的音频数据和图像数据进行处理:
对于音频数据:送到前端处理模进行语音增强,得到较为干净清晰的语音信号
对于图像数据:使用图像变换、灰度变换、直方图变换、空间域图像平滑、同态滤波处理光照的影响,进行图像增强,清晰图像的特征,得到高质量的人脸图像;
特征比对步骤:前端处理后提取图像特征和声纹特征,然后与所述网络教学系统保存的用户模板特征进行比对,检测是否为用户本人;
身份验证:通过声纹识别和人脸识别双重验证判断是否验证通过,如果验证通过,进入口语打分步骤;
口语打分步骤:采用语音识别方法对用户的口语进行打分。
2.如权利要求1所述的网络教学方法,其特征在于,
所述音频数据的采集采用宽带语音信号作为输入,默认为16kHz采样,16-bit量化的WAV格式语音,音频数据的采集模块利用单麦克或多麦克风阵列采集语音信号;
所述用户头像的采集采用摄像头,先定位人脸,然后拍照的方式来采集。
3.如权利要求2所述的网络教学方法,其特征在于,
单麦克风采集的单通道语音利用维纳滤波器来做语音增强,其中的噪声功率谱由单通道语音中被端点检测模块判别为噪声的部分或者无线局域网内其他终端上同步采集的环境噪声来进行估计得到;
麦克风阵列采集的多通道语音利用波束成形技术做声源定位,具有指向性的采集目标说话人的声音。
4.如权利要求1所述的网络教学方法,其特征在于,
对于音频数据的前端处理进一步包括:
端点检测,得到多个单句片段,端点检测即提取出有效语音片段,去掉静音片段及无效语音片段的过程,采取了时域能量变化曲线双限判别,频域基频及谐波结构能量判别和音素解码器输出结果相结合的融合方法提高区分度。
5.如权利要求1所述的网络教学方法,其特征在于,
对于图像数据的前端处理进一步包括:
人脸扶正:得到一个端正的人脸图像,并抠出人脸图像,去除其余图像;
归一化处理:取得尺寸一致,灰度取值范围相同的标准化人脸图像。
6.如权利要求1所述的网络教学方法,其特征在于,
所述口语打分步骤包括语音采集、特征提取和模型训练,其中:
语音采集步骤与前述语音采集方式相同;
特征提取步骤:
在非强噪声情况下,采用基于短时频谱的梅尔频率倒谱系数特征;
在强噪声情况下,采用功率归一化倒谱系数(PNCC)、Gammatone频率倒谱系数(GFCC)、或时频Gabor滤波特征;
模型训练步骤:
包括声学模型训练和发音模型训练。
7.如权利要求6所述的网络教学方法,其特征在于,
所述声学模型训练采用深度神经网络方法训练。
8.如权利要求7所述的网络教学方法,其特征在于,
利用大规模音频训练数据进行训练:
首先对大规模的语料进行特征提取,采用40维滤波器组能量向量作为特征;
神经网络训练最终输出三音素声学模型,为了得到特征到三音素的对应关系,需要先训练一个传统的基于隐尔可夫模型的系统,然后用这个系统在训练数据上解码,从而得到训练音频数据与文本标注之间的对应关系,得到每一语音所对应的是哪一个音素,哪一个三音素聚类决策树节点,这个信息被作为神经网路输出层信息加入进后面的深度神经网络训练;
然后采用基于6-9层深度神经网络的深度学习算法输入层是每一帧语音上面提取出的40维滤波器能量向量,输出是这一帧对应的三音素聚类决策树叶节点(senode)相关参数。
9.如权利要求6所述的网络教学方法,其特征在于,
所述发音模型训练是由发音字典来预先得到的,对于语言模型训练数据分词后得到的且不在发音字典上的词,需要利用单字的发音拼接完成,此时需要把汉语多音字考虑进去。
10.如权利要求6所述的网络教学方法,其特征在于,
所述口语打分步骤进一步包括:
解码处理:也就是识别过程,根据事先训练的模型,识别用户说的是什么话,用来语音识别,即识别出文本,然后识别文本与给定模板文本比对,进行打分;
对齐打分:主要用来打分,即将所述音频数据与给定文本强行对齐的打分方法,这里的打分是后验概率,是声学层面上的打分。
11.如权利要求6所述的网络教学方法,其特征在于,
所述口语打分步骤进一步包括:
大语言模型训练步骤:
首先对文本内容进行分词,英文分词简单,可直接按空格分词,中文分词,采用后向最大匹配的字符串匹配分词方法进行分词;
分词之后训练N-gram语言模型,其中以N=3和N=4即3元和4元语言模型为主;
小语言模型训练步骤:
小语言模型训练跟上面的大语言模型训练方法完全一样,不一样的只是所用训练预料不同,小语言模型仅仅针对某一学科,限定了识别结果的范围,使得识别结果更加准确。
12.如权利要求10或11所述的网络教学方法,其特征在于,
进一步包括以下步骤:
重新打分步骤:
利用训练得到的小语言模型,对上述得到的中间词图进行重新打分,去掉或替换得分较低的识别结果,最终得到更加准确的识别文本;或者
比对打分步骤:
通过语音识别将用户的朗读语音识别为相应文本,然后通过比对识别文本和给定的朗读文本,通过动态规划的编辑距离算法(Levenshtein距离)进行比对并打分。
13.如权利要求1-12之一所述的网络教学方法,其特征在于,所述网络教学方法用于包括多个用户终端和服务器的网络教学系统,它们通过网络进行通信,进一步包括以下步骤:
数据采集步骤,用于采集网络教学过程中的图像数据、应用数据和/或音频数据,所述采集的数据用于同步显示、实时录制和/或语音识别,所述图像数据和音频数据的采集步骤包括前述的用户语音和用户图像的采集;
—同步显示步骤,用于将所述采集的数据自动同步显示或者传送至学生用户终端上;
—实时录制步骤,用于将所述采集的数据分别保存至数据库,使得用户可以点播回放教学过程;和
—点播回放步骤,用于根据用户的请求,将保存的采集数据传送给用户并且在用户终端上组合以再现教学过程。
14.如权利要求13所述的网络教学方法,其特征在于,
所述数据采集步骤包括:
—启动用户终端步骤,准备获取用于同步显示的数据以及教学过程中产生的音频数据,所述用于同步显示的数据包括同屏显示数据和同屏应用数据;
—同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据;
—同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据,其包括对于屏幕上显示的电子文档的各种应用操作;
—音频数据获取步骤,获取教学过程中产生的用于同步传输、实时录制和语音识别的音频数据;
—图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
—图像发送判断步骤,判断经过所述图像压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
—确定发送图像分割步骤,分割确定要发送的且文件大小超过UDP协议数据包的经过压缩的所述图像数据和所述音频数据,与符合协议大小要求的图像数据一起,形成待发送数据包。
15.如权利要求14所述的网络教学方法,其特征在于,
在执行所述图像压缩步骤前,将未压缩的所述图像数据进行备份,形成原始图像备份数据库,当用户收到压缩的图像而需要查看更精细的图像时,通过点击操作从所述原始图像备份数据库中下载原始图像。
16.如权利要求14所述的网络教学方法,其特征在于,
在执行完所述图像发送判断步骤后,将确定不同步显示给用户终端的压缩图像的原始备份数据从所述数据库中删除。
17.如权利要求14所述的网络教学方法,其特征在于,
所述图像压缩步骤进一步包括一次压缩和二次压缩。
18.如权利要求17所述的网络教学方法,其特征在于,
在所述JPEG图像一次压缩过程中,在对所述图像进行压缩处理时,将每幅所述图像的DC特征值和AC特征值复制另存为独立的数据文件;
根据所述复制另存的数据文件,依次计算前后两幅相邻图像的所述DC和AC特征值的差异值,即DC和AC特征向量各分量之差的总和,差异值越大说明前后两幅图像的差别越大,差异值越小或者没有差异说明前后两幅图像的差别越小或者没有差别,判断为后面的这幅图像无需传送到学生用户终端进行同步显示。
19.如权利要求18所述的网络教学方法,其特征在于,
所述特征值的差异值的计算方法为:
将前后相邻两幅图像的DC和AC特征值值进行对比,
对于DC特征值值,对比其分量的正负号,如果分量同号标记为1,否则标记为0;
对于AC特征值值,根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1;
由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值;
其中,0的数目越多表明特征向量的差异越大,图像的差异越大。
20.如权利要求19所述的网络教学方法,其特征在于,
设置多个存储复制另存的DC和AC特征值存储文件,存储满一个文件夹,就使用另一个存储文件,之后系统清空所述存储满的文件夹备用。
21.如权利要求17所述的网络教学方法,其特征在于,
所述图像二次压缩步骤,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
If(image.getBytes()>maxSize)
{压缩比率=image.getBytes()/maxSize*系统定义偏移量}
Else,
{压缩比率=1};
根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
如果图像的大小大于最大值,
压缩比率=图像大小/最大值*系统定义偏移量,否则,压缩比率=1;
其中,
所述偏移量设置为0.4~0.6之间。
22.如权利要求21所述的网络教学方法,其特征在于,
所述压缩获得的JPEG图像以及同屏应用数据包大于报文的限制长度时,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,即
分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,用于当学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
23.如权利要求14所述的网络教学方法,其特征在于,
所述同步显示步骤包括:
—数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述待发送数据包;
—线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
—过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
—同步再现步骤,用于在接收数据的所述学生用户终端上实现同步再现。
24.如权利要求23所述的网络教学方法,其特征在于,
所述学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;
在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息;
学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。
25.如权利要求24所述的网络教学方法,其特征在于,
所述线程监控步骤具体包括:
线程监控步骤B1、数据报文发送处理步骤:
教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址;
B2、自守护线程启动步骤:
在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包;
B3、反馈守护线程启动步骤:
教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程;
B4、报文反馈步骤:
学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
26.如权利要求23所述的网络教学方法,其特征在于,
所述过期数据处理步骤具体过程如下:
C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文;
C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
27.如权利要求13所述的网络教学方法,其特征在于,
所述实时录制步骤包括:
—系统生成文件标识ID;
—系统生成时间戳标识;
—将文件标识ID和时间戳标识Timestamp分别与以上所述数据流以及所述电子文档结合绑定,并按照设定格式分别保存至数据库。
28.如权利要求27所述的网络教学方法,其特征在于,
将至少一种所述数据流分割成片段,每个数据流片段的标识ID由所述文件标识ID和随机分配的片段编码组成;
建立所述数据流片段标识ID与所述时间戳的映射关系表,用于根据所述映射关系表顺序组合所述数据流片段,实现数据流的正常播放。
29.如权利要求28所述的网络教学方法,其特征在于,
所述点播回放步骤包括用户终端通过网络分别获取这些数据流,利用安装在所述用户终端上的客户端或APP根据时间标识Timestamp播放录制的内容。
30.如权利要求29所述的网络教学方法,其特征在于,
在执行首次播放请求时,服务器根据映射关系表的时间顺序,向用户终端传送数据流片段,用户终端顺序组合这些片段即可进行播放,不将所述映射关系表发送给用户终端;
在执行播放请求时,根据需要播放的录制文件的文件标识ID,检查是否使用了电子文档,如果使用了电子文档,首先在用户终端的本地缓存中查找是否已经下载了所述电子文档,如果有,则无需下载,如果没有,先通过网络将所述电子文档下载到用户终端,所述电子文档是由教师用户上传到服务器的。
31.如权利要求30所述的网络教学方法,其特征在于,
当数据流分割成片段而需要映射关系表才能播放录制文件时,如果网络用户终端的本地缓存中已经保存了所述数据流时,只需要下载所述映射关系表,即可实现复原播放。
32.一种网络教学系统,其特征在于:用于执行权利要求1-31所述的网络教学方法。
33.一种计算机程序,包括被加载至计算机系统并被执行时执行如权利要求1-31中任一项所述的方法的步骤的计算机程序代码。
34.一种计算机可读存储介质,包含权利要求33的计算机程序。

说明书全文

一种具有语音识别功能的网络教学方法及系统

技术领域

[0001] 本发明涉及一种具有语音识别功能的网络教学系统及系统。

背景技术

[0002] 近年来,随着移动互联网的普及和网络教学系统的快速发展,传统教学模式已逐渐不能满足用户对于多媒体信息化教学方式的需求。在网络教学过程中,教学过程的实时同步显示、教学过程的实时录制以及快速有效的点播回放,越来越为广大用户所关注。现有技术中,为了满足上述需要,在同步显示和录制等方面,提出了很多方案:
[0003] 现有技术1(《中国图象图形学报》,第8卷第9期,2003年9月,张丽萍等,“一种基于拷屏和压缩技术的屏幕共享方案”)公开了常见的屏幕共享包括两种方式:利用操作系统底层的GUI矢量指令实现;利用拷屏和压缩技术实现屏幕共享,屏幕显示内容不是通过拆解成具体的绘图命令来实现,而是通过先拷贝屏幕图像,然后进行数据压缩处理并传到客户端,最后由客户端解码显示来实现拷屏内容的重现。
[0004] 如图1所示,现有技术2(《现代计算机》,2006年第5期,黄帆,“基于压缩域的JPEG图像检索技术”)公开了一种图像压缩方法。所述方法基于DCT变换的JPEG有损压缩编码步骤通常包括:首先,把图像分成若干个8×8矩阵的,其中每块由一个直流特征值(DC特征值)和63个交流特征值(AC特征值)组成;第二,进行正向DCT变换处理,把空间域转换成频率域表示,目的是使得能集中在少数的特征值上;第三,根据量化表对DCT频率特征值进行有损量化,消除视觉冗余;第四,对量化后的特征值进行“Z”型排序,形成一维特征值序列;第五,对DC特征值用差分脉冲编码调制(DPMC)算法进行编码,对AC特征值用行程长度编码(RLE)进行无损压缩;最后,对经过所述处理的DC和AC特征值进行Huffman编码。DC特征值和AC特征值代表了图像中每一块的纹理特征和像素值,是构成图像的主要因素。
[0005] 但是,类似这种图像的获取如屏幕拷贝(或称截屏)要么人工手动进行,要么根据时间设定自动截屏发送,但是都存在截屏发送的信息是否重复,是否有效的问题,不必要的或者重复图像的发送会增加网络传送的负担,还会影响用户的体验。
[0006] 如图2所示,现有技术3(CN101141271A,公开日2008年3月12日)公开了一种网络教学系统,包括:录制器100、处理器200、第一网络300、第二网络350,服务器400、数据库500及三个客户端600。其中,录制器100主要包括摄像头(图未示出)及无线数字话筒(图未示出)以录制课件的视频信息及音频信息。第一网络300用于将所述课件信息传送至服务器400。服务器400一方面用于进一步处理所述课件信息,产生课件数据,另一方面用于在数据库
500中搜寻并调用所述课件数据,进而将所述课件数据转换回所述课件信息。数据库500用于存储所述课件数据。第二网络350用于连接客户端600与服务器400。客户端600用于方便用户查询课件信息及调用课件信息。
[0007] 如图3所示,现有技术4(CN103067683A,公开日2013年4月24日)公开了一种用于远程教学的全自动录播系统,包括:视频信号采集模块1、音频信号采集模2块、自动录播编辑模块3和图形工作站4,视频信号采集模块1包括教师摄像机、学生摄像和板书摄像机,均采用采用带有旋转台的快速球形摄像机,分别用于拍摄教师、学生和板书的影像。使用时,视频信号采集模块1和音频信号采集模块2均与自动录播编辑模块3连接,将采集的视频及音频信号传输至自动录播编辑模块3。自动录播编辑模块3与图形工作站4连接,将视频及音频信号编辑成音视频文件后传输至图形工作站4,通过图形工作站4对音视频文件进行压缩编码,生成流媒体文件。整个授课录制过程无需专人操作控制,而且生成的流媒体文件可以上传至互联网。
[0008] 如图4所示,现有技术5(CN101043469A,公开日2007年9月26日)公开了一种手机在多媒体教室中通过无线网络录制个性化多媒体课件的方法,通过课件服务中心、课件发送中心、手机之间信息交互实现,课件服务中心具有外部IP地址,为教学楼中的所有多媒体教室服务;课件发送中心采集教师授课电脑的屏幕信号、教师的视频和音频信号,经数字化后将屏幕、视频和音频数据发送到服务中心;手机通过无线网络连接到课件服务中心,在需要的时候将其中一路或几路流媒体数据保存到手机存储卡中,录制结束后保存为AVI文件,能在手机或电脑上直接观看。
[0009] 如图5所示,现有技术6(CN103646573A公开日:2014年3月19日)公开了一种全景模式教学系统的专用格式文件的生成方法,所述教学系统包括全景课件制作系统,全景课件制作系统获取老师或互动者的动作、音频、课程资料以及上述数据被获取时对应的时间数据;所述的动作包括:插入文字或图片、实验过程演示、绘制线条、绘制几何图形、板擦工具或小黑板工具,教学系统通过麦克获取老师或互动者的即时音频,同时通过鼠标键盘、写字板或电子白板采集老师或互动者在当前系统界面的动作,并将动作进行数据分析,获取动作产生的时间、动作所产生的路径、动作所携带的附加数据和动作类型数据,并按时间顺序记录,所述动作分为笔迹型、媒体型和数据型,笔迹型、媒体型和数掘型数据都包括两个部分:路径部分和数据部分;笔迹型动作,则路径部分完整记录动作路径的物理坐标序列,数据部分不启用;媒体型动作,则路径部分记录多媒体文件出现在课件中的坐标,数据部分则记录多媒体文件的物理地址;数据型动作,则路径部分记录数据在课件中使用时的坐标,数据部分写入该文件的完整二进制数据流。
[0010] 综上所述,现有的网络教学方法和系统在实时同步显示和录制点播方面还存在以下不足:
[0011] 学生用户终端接收同屏数据的速度缓慢,教学过程不流畅,存在卡顿现象。这是因为现有网络教学系统在传送同屏数据的过程中,多数采用视频流及教师根据自己的判断手动屏幕截图的方式,导致学生用户终端用户数量过多的时候,需要传送大量数据,多并发进行网络传送,经常出现速度缓慢,显示不流畅,数据卡顿的现象,影响到了学生的上课体验,而且教师一边讲课一边还要考虑适时进行截屏操作,有时候会忘记截屏发送给学生,而学生又无法判断有没有获得及时的截屏图像,影响教学效果。
[0012] 具体来讲,存在的不足包括:1、录制过程繁琐,有些需要专人进行现场录制;2、视频文件庞大,需要牺牲课件质量多次格式转换降低文件大小;3、服务器存储系统要求高;4、本地录制要求用户端机器配置和性能较高,上传速度慢,实现回放困难;5、模拟系统色耗费服务器资源高,无法满足课堂的大并发网络录制要求;6、对点播回放流媒体服务器集群性能要求高;7、点播回放要求服务器带宽高;8、点播回放要求用户自身带宽高(文件过大);9、使用2G/3G/4G等无线网络观看时,卡顿严重,不够流畅,而且耗费流量高。
[0013] 进一步的,当用户将文件下载到本地观看时,不仅占用大量存储空间,又不能保护教学资源提供方的版权,造成教学资源的肆意传播,而如果进行复杂的加密处理又会占用网络带宽资源和设备处理器资源,影响用户的体验。
[0014] 此外,现有技术已有的商业软件可以实现对于屏幕操作一举一动的记录,并保存为AVI或Microsoft Real Networks数据流格式,但是这同样会占据大量的存储空间而且其提供的数据格式也是流媒体的。
[0015] 而现有技术6尽管提出了教学过程录制一些想法,但是却没有给出具体实现的途径,也没有公开系统化的各种不同数据单独获取单独存取,特别是没考虑由教学系统统一产生时间戳,通过统一的时间戳和课件的统一标识存储和读取等管理各种数据流的构思。
[0016] 此外,在现有网络教学过程中,利用基于语音识别技术的口语打分方式大多用于口语考试,没有用声纹识别和人脸识别来验证说话人是否就是这个用户。可能会存在这样的问题,比如,通过让其他用户来代替他朗读获得高分,或者把其他同学的声音录下来播放欺骗系统等。
[0017] 现有的语音采集方法,在课堂等嘈杂环境下,端点检测模块的正确率下降,影响到了系统的可用性。因为环境噪声和干扰对语音识别有严重影响,致使识别率低。尤其是在网络课堂的场景下,可能要面对回声、环境噪声、用户的说话声和写板书或操作电教设备本身带来的噪声。而且,这种传统的基于语音识别的教师上课声音转文本或用户朗读课文口语打分应用,只是使用一个相对固定的语言模型。
[0018] 为此,希望提供一种有效的同步显示、实时录制和点播回放并且具备语音识别功能的网络教学方法及系统,希望在网络教学或在线会议过程中,可以实现教师用户终端与学生用户终端之间的实时同步显示、教学过程的实时有效录制、以及事后的顺畅点播回放以及可能用到的语音识别功能。
[0019] 比如,对于用户使用多媒体白板的功能操作、讲话/说话音频、与其他用户的交流和/或辅导等的交流音频进行自动判断同步传送、录制,分别形成不同的数据流,而不是完全以流媒体的格式将整个事件记录下来,使得网络用户可随时随地方便的通过网络从云端服务器或局域网服务器进行点播回放。

发明内容

[0020] 需要说明的是,尽管说明书中主要以网络教学系统或者网络会议系统的名义描述了本发明的实施,但是可以理解的是,本发明的方法和系统还可以用作其他基于网络的在线交流过程的录制和播放。
[0021] 也就是说,本发明的网络教学不但包括传统意义的网络教学,还涉及在线培训、应急指挥(地图标注和音频录制)、金融系统或者在线会议系统的教学活动或者会议过程,并且在网络教学、在线培训、应急指挥(地图标注及音频录制)、金融系统(操盘讲解)或者在线会议过程中,实现了对多媒体课堂或者会议内容的实时录制和点播回放。
[0022] 此外,本发明的网络教学也不局限于学生和教师的形式,可以包括以教师用户和学生用户、或培训用户为参与主体的在线网络教学、远程网络教学、本地网络教学,和以企、事业单位员工等各种团体成员为参与主体的在线网络会议、远程网络会议、本地网络会议,以及其他的利用网络进行在线交流和/或文件内容展示的交流/交互形式,比如远程协同工作等。
[0023] 本发明的目的之一针对上述问题,提供一种网络教学方法及系统,实现了人脸识别和语音识别的双识别身份验证,教学过程和口语训练、测试和考试过程中对于语音信号采集的精准度,采用多模型打分测评,提高了测评的准确度,使得网络教学更加自主有效,特别是在涉及朗读、听力及背诵等教学时,可以通过系统的这些功能提高学习的真实性和有效性。
[0024] 本发明的方法把人脸识别和声纹识别结合起来,在用户进行口语测试前或系统登录时,检查用户的身份,可以更好的鼓励用户在使用过程中真人发音测试。
[0025] 本发明的方法,首先,利用多通道语音增强系统,麦克风阵列定位声源指向性采集数据等模块来提升声音的质量,降低噪声对识别结果的影响。其次,在语音特征提取过程中,采用有噪声鲁棒性好的特征。第三,还采取了时域能量变化曲线双限判别,频域基频及谐波结构能量判别和音素解码器输出结果相结合的融合方法提高了语音识别的区分度。
[0026] 本发明的具有语音识别功能的网络教学方法,包括以下步骤:
[0027] 用户语音和用户图像采集步骤,用于在用户登陆网络教学系统时采集用户的音频数据和图像数据;
[0028] 前端处理:用于对上述采集的音频数据和图像数据进行处理:
[0029] 对于音频数据:送到前端处理模块进行语音增强,得到较为干净清晰的语音信号;
[0030] 对于图像数据:使用图像变换、灰度变换、直方图变换、空间域图像平滑、同态滤波处理光照的影响,进行图像增强,清晰图像的特征,得到高质量的人脸图像;
[0031] 特征比对步骤:前端处理后提取图像特征和声纹特征,然后和系统保存的用户模板特征进行比对,检测是否为用户本人;
[0032] 身份验证:通过声纹识别和人脸识别双重验证判断是否验证通过;如果验证通过,进入口语打分步骤;
[0033] 口语打分步骤:采用语音识别方法对用户的口语进行打分。
[0034] 所述音频数据的采集采用宽带语音信号作为输入,默认为16kHz采样,16-bit量化的WAV格式语音,语音数据的采集模块利用单麦克风或多麦克风阵列采集语音信号;
[0035] 所述用户头像的采集采用摄像头,先定位人脸,然后拍照的方式来采集。
[0036] 单麦克风采集的单通道语音利用维纳滤波器或和谱减来做语音增强,其中的噪声功率谱可以由单通道语音中被端点检测模块判别为噪声的部分或者无线局域网内其他终端上同步采集的环境噪声来进行估计得到;
[0037] 麦克风阵列采集的多通道语音可以利用波束成形技术做声源定位,具有指向性的采集目标说话人的声音。
[0038] 对于语音数据的前端处理进一步包括:
[0039] 端点检测,得到多个单句片段,端点检测即提取出有效语音片段,去掉静音片段及无效语音片段的过程,采取了时域能量变化曲线双门限判别,频域基频及谐波结构能量判别和音素解码器输出结果相结合的融合方法提高了区分度。
[0040] 对于图像数据的前端处理进一步包括:
[0041] 人脸扶正:得到一个端正的人脸图像,并抠出人脸图像,去除其余图像;
[0042] 归一化处理:取得尺寸一致,灰度取值范围相同的标准化人脸图像;
[0043] 所述口语打分步骤包括语音采集、特征提取和模型训练,其中:
[0044] 语音采集步骤与前述语音采集方式相同;
[0045] 特征提取步骤:
[0046] 在非强噪声情况下,采用基于短时频谱的梅尔频率倒谱系数特征;
[0047] 在强噪声情况下,采用功率归一化倒谱系数(PNCC)、Gammatone频率倒谱系数(GFCC)、或时频Gabor滤波特征;
[0048] 模型训练步骤:包括声学模型训练和发音模型训练。
[0049] 所述声学模型训练采用深度神经网络的方法训练。
[0050] 利用大规模音频训练数据进行训练,音频数据要求数据的采集信道非常符合实际测试语音的信道;首先对大规模的语料进行特征提取,具体的采用40维滤波器组能量向量作为特征;神经网络训练最终输出三音素声学模型,为了得到特征到三音素的对应关系,需要先训练一个传统的基于隐尔可夫模型的系统,然后用这个系统在训练数据上解码,从而得到训练语音数据与文本标注之间的对应关系,得到每一语音所对应的是哪一个音素,哪一个三音素聚类决策树节点,这个信息被作为神经网路输出层信息加入进后面的深度神经网络训练;然后采用基于6-9层深度神经网络的深度学习算法,输入层是每一帧语音上面提取出的40维滤波器能量向量,输出是这一帧对应的三音素聚类决策树叶节点(senode)相关参数。
[0051] 所述发音模型训练是由发音字典来预先得到的,对于语言模型训练数据分词后得到的且不在发音字典上的词,需要利用单字的发音拼接完成,此时需要把汉语多音字考虑进去。
[0052] 所述口语打分步骤进一步包括:
[0053] 两种打分方式各自不同的步骤:
[0054] 解码处理:也就是识别过程,根据事先训练的模型,识别用户说的是什么话,用来语音识别,即主要是识别出文本,然后识别文本与给定模板文本比对,进行打分;
[0055] 对齐打分:主要用来打分,即将所述音频数据与给定文本强行对齐的打分方法,这里的打分是后验概率,是声学层面上的打分。
[0056] 所述口语打分步骤进一步包括:
[0057] 大语言模型训练步骤:采用大规模的文本数据进行训练,文本数据要求非常贴合实际应用;首先对文本内容进行分词,英文分词简单,可直接按空格分词,中文分词,采用后向最大匹配的字符串匹配分词方法进行分词;分词之后训练N-gram语言模型,其中以N=3和N=4即3元和4元语言模型为主;
[0058] 小语言模型训练步骤:小语言模型训练跟上面的大语言模型训练方法完全一样,不一样的只是所用训练预料不同;之前语言模型训练语料规模大,涉及范围广;小语言模型仅仅针对某一学科,限定了识别结果的范围,使得识别结果更加准确。
[0059] 所述网络教学方法进一步包括
[0060] 重新打分步骤:
[0061] 利用训练得到的小语言模型,对上述得到的中间词图进行重新打分,去掉或替换得分较低的识别结果,最终得到更加准确的识别文本;或者
[0062] 比对打分步骤:
[0063] 通过语音识别将用户的朗读语音识别为相应文本,然后通过比对识别文本和给定的朗读文本,通过动态规划的编辑距离算法(Levenshtein距离)进行比对并评分。
[0064] 本发明在声纹识别过程中采用了广义全差异空间因子的方法,提出了多种计算零阶统计量的不同表征方法和表征单元以及用来计算一阶二阶统计量的特征。把每一帧对应的音素后验概率向量经过对数和主成份分析后得到的tandem特征与MFCC特征在特征层融合得到了新的特征。根据应用和复杂度要求的不同,MFCC特征可以投影到不同的音素层表征单元(包括状态、单因素、音素类、n-gram多音素等)上去求得零阶统计量。同理,多种不同的特征(韵律层、声学层)都可以根据已求得的零阶统计量来计算相应的一阶和二阶统计量用于后端因子分析。由此,经过因子分析之后就得到了用于声纹识别的I-Vector特征。这种方法可以降低声纹识别错误率相对50%。
[0065] 本发明还增加了针对不同主题和上下文的竞争性语言模型同步打分以及在线语言模型自适应的模块。针对不同学科,不同课程难度,独立单独训练语言模型。在测试的时候,通过课程信息自动匹配最适合的语言模型或者同时利用多个学科多个课程难度的语言模型对测试数据的词图信息进行多语言模型的不同重新打分,输出概率最高的那个结果。对于中小学教学等应用,教师和用户的语言高度与课文课件相关联,利用当次上课提交的课件和课文,重新训练一个小型语言模型,并将这个语言模型与本学科本年级的通用语言模型进行插值,得到为本次上课定制的语言模型,提高识别准确率。
[0066] 本发明的网路教学方法,用于包括教师用户终端、学生用户终端、服务器和通信网络的网络教学系统,包括数据采集步骤、同步显示步骤、实时录制步骤、点播回放步骤和语音识别步骤。所述语音识别采用上述的语音识别方法。
[0067] 所述数据采集步骤,用于采集网络教学过程中的图像数据、应用数据和/或音频数据,采集的这些数据可以用于同步显示步骤和实时录制步骤。所述图像数据和音频数据的采集步骤包括前述的用户语音和用户图像的采集。
[0068] 所述数据采集步骤包括:
[0069] —启动用户终端步骤,准备获取用于同步显示的数据以及教学过程中产生的音频数据;
[0070] —同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据;
[0071] —同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据,其包括对于屏幕上显示的电子文档的各种应用操作;
[0072] —音频数据获取步骤,获取教学过程中产生的用于同步传输和实时录制的音频数据;
[0073] —图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
[0074] —图像发送判断步骤,判断经过所述图像压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
[0075] —确定发送图像分割步骤,分割确定要发送的且文件大小超过UDP协议数据包的经过压缩的所述图像数据和音频数据,与符合协议大小要求的图像数据一起,形成待发送数据包。
[0076] 其中,
[0077] 这些数据来源包括用户终端上显示的图像、各种操作的应用数据、与所述用户终端连接的其他辅助显示或展示设备的图像、通过用户终端采集的或者通过与用户终端连接的音频采集设备采集的音频数据。所述的用户终端通常以教师用户终端为主,也可以从包括通过网络或其他方式获得的学生用户终端上的各种内容。
[0078] 所述音频数据包括从第一音频源采集的第一音频数据流,以及从至少一个第二音频源采集的第二音频数据流;所述第一音频源为教学活动中的教师用户、在线会议的主讲人或者交互交流活动的主要发言人;所述第二音频源为教学活动中的学生用户、在线会议的其他讲话人或者交互交流活动的其他发言人。
[0079] 所述同步显示步骤,用于将在网络教学过程中教师用户终端上显示的内容或者展示的内容,自动同步显示或者传送至学生用户终端上。
[0080] 所述同步显示步骤包括:
[0081] —数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述待发送数据包;
[0082] —线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
[0083] —过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
[0084] —同步再现步骤,用于在接收数据的所述学生用户终端上实现同步再现。
[0085] 所述实时录制步骤,用于将所述获取的待发送数据流分别保存至数据库,使得用户可以点播回放教学过程。
[0086] 所述实时录制步骤包括:
[0087] —系统生成文件标识ID;
[0088] —系统生成时间戳标识;
[0089] —将文件标识ID和时间戳标识Timestamp分别与以上所述数据流以及所述电子文档结合绑定,并按照设定格式分别保存至数据库。
[0090] 其中,所述数据库为本地服务器Server数据库或者网络服务器Server数据库,[0091] 当数据流保存至本地服务器Server数据库时,可以再由本地服务器Server上传至网络服务器Server。
[0092] 所述数据流传输时通过Socket通信接口进行,并且对所述数据流进行SSL加密处理。这样的数据流传输包括数据流保存时的传输和用户点播时由服务器向用户终端的传输。
[0093] 进一步的,
[0094] 在保存数据流时,将至少一种所述数据流分割成片段,每个数据流片段的标识ID由所述文件标识ID和随机分配的片段编码组成;
[0095] 建立所述数据流片段标识ID与所述时间戳的映射关系表,用于根据所述映射关系表顺序组合所述数据流片段,实现数据流的正常播放。
[0096] 所述点播回放步骤用于根据用户的请求,将录制的数据传送给用户终端并且在用户终端上组合再现教学过程。
[0097] 所述点播回放步骤包括:
[0098] —用户终端通过网络分别获取这些数据流,利用安装在所述用户终端上的客户端根据时间标识Timestamp播放录制的内容。
[0099] 具体的,
[0100] 在执行首次播放请求时,服务器根据映射关系表的时间顺序,向用户终端传送数据流片段,用户终端顺序组合这些片段即可进行播放,不将所述映射关系表发送给用户终端;
[0101] 在执行播放请求时,根据需要播放的录制文件的文件标识ID,检查是否使用了电子文档,如果使用了电子文档,首先在用户终端的本地缓存中查找是否已经下载了所述电子文档,如果有,则无需下载,如果没有,先通过网络将所述电子文档下载到用户终端。
[0102] 所述网络用户的播放请求是通过Socket加密信道发送给系统服务器Server,系统服务器Server再根据文件标识ID获取所述数据流。
[0103] 当数据流分割成片段而需要映射关系表才能播放录制文件时,如果网络用户终端的本地缓存中已经保存了所述数据流时,只需要下载所述映射关系表,即可实现复原播放。
[0104] 映射关系表可以设置有效时间,比如24小时,或48小时,或者任何适当的合法授权时间,映射关系表下载到终端后,网络教学系统的计时模块开始计时,时间终止时映射关系表自动失效,删除或粉碎映射关系表数据。
[0105] 对于所述数据采集步骤,其中,
[0106] 所述同屏应用数据包括从多媒体白板上获取的动作数据。
[0107] 所述多媒体白板包括在其上可以书写内容并可以输出所述书写动作数据的电子白板、触屏输入装置或手写输入装置。所述动作数据包括在所述多媒体白板上进行书写操作时书写内容的坐标位置数据。
[0108] 还可以获取所述多媒体白板的屏幕显示的坐标系参数数据,并保存至所述数据库,用于在用户终端的屏幕上重现多媒体白板上的显示内容时使用。
[0109] 对于子步骤中的所述电子文档,包括WPS文档、WORD文档、PPT文档、EXCEL文档、PDF文档、TXT文档或图片文档;
[0110] 所述应用操作包括所述电子文档的打开、关闭、翻页、前进、后退、以及使用者在所述电子文档上的标注动作的位置信息。
[0111] 所述同屏显示数据包括教师用户终端的屏幕上显示的内容、以及电子白板、投影输入装置、手写输入装置、黑板或白板及图像采集装置包括照相机和摄像机采集的图像数据;
[0112] 所述采集的图像数据是BMP格式的,或者需要转换成BMP格式。
[0113] 通过教师用户终端上的客户端或者APP记录传送指令及坐标点数据,包括Path路径坐标数据的方式获得需要的同屏应用数据。
[0114] 所述Path路径坐标数据的记录过程如下:
[0115] A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
[0116] A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
[0117] A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
[0118] A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行从写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的Canvas,包括temptCanvas.drawPoint,temptCanvasRect;
[0119] A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而Canvas负责将tempBitmap绘制到屏幕上。
[0120] 在执行子步骤的所述图像压缩步骤前,进一步包括原始图像数据备份步骤,用于将未压缩的所述图像数据进行备份,形成原始图像备份数据库,当用户终端收到压缩的图像时,如果需要查看更精细的图像时,可以通过点击操作从所述原始图像备份数据库中下载获取原始图像。
[0121] 进一步的,在执行完所述图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述原始数据库中删除。
[0122] 所述图像压缩步骤进一步包括,JPEG图像一次压缩和图像二次压缩。
[0123] 在所述JPEG图像一次压缩过程中,在对所述图像进行压缩处理时,将每幅所述图像的DC特征值和AC特征值复制另存为独立的数据文件;
[0124] 根据所述复制另存的数据文件,依次计算前后两幅相邻图像的所述DC和AC特征值的差异值,即DC和AC特征向量各分量之差的总和,差异值越大说明前后两幅图像的差别越大,差异值越小或者没有差异说明前后两幅图像的差别越小或者没有差别,判断为这幅图像无需传送到学生用户终端进行同步显示。
[0125] 所述特征值的差异值的计算方法为:
[0126] 将前后相邻两幅图像的DC和AC特征值进行对比,
[0127] 对于DC特征值,对比其分量的正负号,如果分量同号标记为1,否则标记为0;
[0128] 对于AC特征值,根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1;
[0129] 由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值;其中,
[0130] 0的数目越多表明特征向量的差异越大,图像的差异越大。
[0131] 设置多个存储复制另存的DC和AC特征值存储文件,存储满一个文件夹,就使用另一个存储文件,之后系统清空所述存储满的文件夹备用。
[0132] 当长时间检测到前后截屏的内容没有变化时,逐步自动延长截取屏幕图像内容的时间。
[0133] 当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记;
[0134] 当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始。
[0135] 对于所述图像二次压缩步骤,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
[0136] If(image.getBytes()>maxSize)
[0137] {压缩比率=image.getBytes()/maxSize*系统定义偏移量}
[0138] Else,
[0139] {压缩比率=1};
[0140] 根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
[0141] 如果图像的大小大于最大值,
[0142] 压缩比率=图像大小/最大值*系统定义偏移量,否则,压缩比率=1;其中,[0143] 所述偏移量设置为0.4~0.6之间。
[0144] 所述压缩获得的JPEG图像以及同屏应用数据包大于报文的限制长度时,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,即
[0145] 分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
[0146] 根据数据长度,动态计算并拆分数据,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
[0147] 对于所述同步显示步骤,其中,
[0148] 所述学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;
[0149] 在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息;
[0150] 学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。
[0151] 对于子步骤的所述线程监控步骤,具体包括:
[0152] 线程监控步骤B1、数据报文发送处理步骤:
[0153] 教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址;
[0154] B2、自守护线程启动步骤:
[0155] 在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包;
[0156] B3、反馈守护线程启动步骤:
[0157] 教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程;
[0158] B4、报文反馈步骤:
[0159] 学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
[0160] 所述过期数据处理步骤具体过程如下:
[0161] C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
[0162] C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
[0163] C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
[0164] C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文;
[0165] C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
[0166] 对于子步骤中的所述同步再现步骤,其中,
[0167] 在学生用户终端上的客户端或APP中,内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
[0168] 内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用的目的。
[0169] 学生用户终端将实时接收到的图像进行本地显示,并将一系列接收到的同步图像数据保存成可再现的视频流;
[0170] 将所述视频流的播放与有关教师的音频数据流根据时间特征匹配起来,形成带有音频的视频流。
[0171] 根据本发明的又一目的,提供一种网络教学系统,包括处理器;以及计算机可读存储介质,具有由所述处理器执行用于执行操作的计算机可读程序代码,所述操作为上述的网络教学方法的有关操作,用于将所述多个用户终端之一的屏幕上显示的图像内容发送到其他所述终端上实现同步显示。
[0172] 根据本发明的再一目的,提供一种计算机程序,包括被加载至计算机系统并被执行时执行上述所述方法的步骤的计算机程序代码。
[0173] 根据本发明的另一目的,提供一种计算机可读存储介质,包含上述计算机程序。
[0174] 使用本发明的网络教学方法和系统,由于系统定时截取屏幕内容并进行压缩处理,具备了随时可以进行传送的能力,提高了传送的效果,缩短了传送的时间。利用图像压缩过程中解析获得的特征值实现了截屏图像内容的快速比对,实现了同步图像的智能判断,自动同步传送,无需手动操作,而且由于尽量避免了传送重复的屏幕内容,减轻了学生用户终端存储的压力,又能保证内容的全面性,此外由于对屏幕图像内容进行了标记和判断,有助于提高学生复习的效率,比如在复习时,可以直接看每一板书的最后几个版面,一般就是比较全面的板书内容,无需一一浏览前面的过程板书图像,提高了复习效率,而如果想看讲解的过程和进度,又不会错过有关内容。而讲解画面、音频实时同步录制,录制数据上传带宽仅5-10kB/s即可满足需要,所有数据存储至数据库中,更加安全和便捷,整个课程以数据流形式存储至数据库,存储空间缩小百倍,点播回放要求带宽低,一般的网络可实现流畅网络点播回放。
[0175] 本发明的网络教学系统摆脱了由固定课室、讲台、教案、课本、黑板、粉笔等组成的传统教学系统及方式,实现现代化的互联网互动式的教学方式,摆脱了时空的限制,通过数据库储存电子课本,实现减轻了携带沉重的教材课本的负担,提高了教学效率,互动性和趣味性。
[0176] 同屏教学使得学生在课堂上能随时精准的看到教师对于重点知识的标注,教师也可以在讲解的过程中对教案随时进行标注,让每个学生在自己的教学设备上看到教师的批注,更清楚的了解相关的知识点。免去了之前学生在课堂上跟不上教师的教学速度,跟不上教师的讲解的问题。
[0177] 本发明的核心在于,在现有技术的基础上,以有机的系统化的方式解决了网络教学系统中显示图像和应用图像数据同步显示、实时录制和语音识别的问题,在有些技术的使用上,有些现有技术中可能有独立的应用,但是没有任何启示或公开将这些技术有机结合起来系统化的并进行改进的创造性应用,而且取得了本发明的意想不到的技术效果。
[0178] 本发明的上述和进一步的目的以及特征,根据结合附图的以下详细说明就会更加清楚和完整。

附图说明

[0179] 图1-5是现有技术的示意图;
[0180] 图6是根据本发明的网络教学系统的拓部结构示意图。
[0181] 图7是根据本发明的网络教学系统的智能终端结构示意图。
[0182] 图8是根据本发明的网络教学方法的同步显示图像数据的处理流程示意图。
[0183] 图9-1至9-3是根据本发明的网络教学方法中获取路径坐标数据的过程示意图。
[0184] 图10是根据本发明的图像压缩过程的亮度量化表和色度量化表。
[0185] 图11是根据本发明的图像压缩过程中经Z字形扫描后DCT特征值的序号。
[0186] 图12是根据本发明的网络教学系统的组播发送示意图。
[0187] 图13是根据本发明的网络教学系统的线程监控示意图。
[0188] 图14是根据本发明的网络教学系统的同步再现示意图。
[0189] 图15是根据本发明的网络教学系统的数据包发送确认示意图。
[0190] 图16是根据本发明的网络教学系统的同步再现示意图。
[0191] 图17和18是根据本发明的网络教学系统获取路径坐标数据的示意图。
[0192] 图19是根据本发明的网络教学系统的数据流片段分割示意图。
[0193] 图20是根据本发明的网络教学系统的点播回放的示意图。
[0194] 图21是根据本发明的网络教学系统的点播回放的另一示意图。
[0195] 图22是根据本发明的网络教学系统的登录应用流程示意图;
[0196] 图23是根据本发明的网络教学系统的人脸识别登录流程示意图;
[0197] 图24是根据本发明的网络教学系统的语音直接与给定文本打分流程示意图;和[0198] 图25是根据本发明的网络教学系统的识别文本与模板文本比对打分方法流程示意图。

具体实施方式

[0199] 以下结合附图,将对本发明的具体实施方式进行详细的描述。
[0200] 本发明的网络教学并不局限于学生和教师的教学形式,其可以包括以教师用户和学生用户、或培训用户为参与主体的在线网络教学、远程网络教学、本地网络教学,和以企、事业单位员工等为参与主体的在线网络会议、远程网络会议、本地网络会议,以及其他的利用网络进行在线交流和/或文件内容展示的交流/交互形式,比如远程协同工作等。
[0201] 如图6所示,根据本发明的网络教学系统的拓扑结构示意图。所述网络教学系统,包括:多个教师用户终端、多个学生用户终端以及云数据中心(智联教育云端服务器),它们之间通过网络(互联网、交换机、校园服务器、校园AC、班级AP、或者VLAN专线)相互进行连接。此外,所述网络教学系统还可以包括各种放映设备如投影仪、展示设备如电子白板、图像采集设备如照相机、录像机或与用户终端相连的摄像头等。
[0202] 使用本发明的网络教学系统,教师在上课时从教学终端和教学多媒体课堂分别获取讲课时间和动作数据流以及课堂时间和语言数据流,通过校园局域网与互联网相连,智联教育云端服务器通过互联网获取和处理这些数据,并且将其通过互联网和校园局域网分发给学生端,用于为学生听课提供服务。此外,通过所述网络教学系统的语音识别方法和评估模块,可以为用户在涉及口语学习或评估时提供口语评估服务。
[0203] 所述服务器可以是本地服务器和/或部署在远程主机上的远程服务器或网络云端的云端服务器。所述网络教学系统的软件客户端或APP在所述用户终端(包括教师用户终端和学生用户终端,还可以包括家长用户终端)上运行。
[0204] 所述网络可以为互联网,可以是局域网(如校园网)和广域互联网,可以是有线的,也可以是无线的,或者这些网络的任意组合。
[0205] 所述用户终端包括:处理器、网络模块、控制模块和显示模块以及智能操作系统。所述用户终端上可以设有通过数据总线连接各种拓展类设备和配件的多种数据接口。所述智能操作系统包括Windows、Android及其改进、iOS等系统,在其上可以安装、运行应用软件,实现在智能操作系统下的各种应用软件、服务和应用程序商店/平台的功能。
[0206] 所述用户终端可以使用满足相应性能要求的用户个人的各种移动可接入设备,如平板电脑、智能手机、笔记本电脑等,只要这些设备安装有基于本发明的方法或装置的应用软件客户端或者APP即可。也可以使用专门定制的10.1英寸的Android平板电脑。所述用户终端需要使用登陆账号进入系统的客户端或者APP。
[0207] 所述用户终端可以包括教师用户终端、学生用户终端以及家长用户终端等,不同用户使用不同身份登陆相应的用户终端的客户端或者APP,设备进入相对应的系统界面,实现相应的功能。
[0208] 所述用户终端可以通过自身的网络模块以RJ45/Wi-Fi/蓝牙/2G/3G/4G/5G/G.hn/Zigbee/Z-ware/RFID等网络连接方式连接到互联网,并借助互联网连接到服务器、其它的用户终端或其它电脑及设备。所述用户终端还具有1394/USB/串行/SATA/SCSI/PCI-E/Thunderbolt/数据卡接口,以及HDMI/YpbPr/SPDIF/AV/DVI/VGA/TRS/SCART/Display port等音视频接口。所述用户终端通过上述各种功能接口使用网络彼此连接,以及连接各种拓展设备和配件,由此可以组成网络教学系统的基础。
[0209] 所述用户终端还可以带有软件形式的声音捕捉控制模块动作捕捉控制模块,或通过数据总线板载硬件形式的声音捕捉控制模块和动作捕捉控制模块,来实现声控和形控功能;通过音视频接口连接显示/投影模块、麦克风、音响设备和其它音视频设备,来实现显示、投影、声音接入、音视频播放,以及数字或模拟的音视频输入和输出功能;通过数据接口连接摄像头、麦克风、电子白板、RFID读取设备,实现影像接入、声音接入、电子白板的使用控制和录屏,RFID读取功能,并通过相应的接口可接入和管控移动存储设备、数字设备和其它设备;通过DLNA/IGRS技术和互联网络技术,来实现的包括多屏设备之间的操控、互动和甩屏等功能。
[0210] 本发明中,所述处理器定义为包括但不限于:指令执行系统,如基于计算机/处理器的系统、专用集成电路(ASIC)、计算设备、或能够从非暂时性存储介质或非暂时性计算机可读存储介质取得或获取逻辑并执行非暂时性存储介质或非暂时性计算机可读存储介质中包含的指令的硬件和/或软件系统。所述处理器还可以包括任意控制器,状态机,微处理器,基于互联网络的实体、服务或特征,或它们的任意其它模拟的、数字的和/或机械的实现方式。
[0211] 本发明中,计算机可读存储介质定义为包括但不限于:能够包含、存储或保持程序、信息及数据的任意介质。计算机可读存储介质包括许多物理介质中的任一种,如电子介质、磁性介质、光介质、电磁介质或半导体介质。合适计算机可读存储介质以及用户终端和服务器使用的存储器的更具体示例包括但不限于:磁性计算机盘(如软盘或硬驱)、磁带、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、光盘(CD)或数字视频光盘(DVD)、蓝光存储盘、固态硬盘(SSD)、闪存。
[0212] 作为典型的用户终端,可以采用中国专利CN104363545B公开的智能终端机。如7图所示,所述智能终端机,包括:内设有音频降噪电路的主机(1)及与该主机(1)连接的高拍仪;其中,
[0213] 所述主机(1)包括底壳(11)和中框(14),底壳(11)和中框(14)之间固定安装有主板(12)、液晶屏(13)和触控屏(15),所述主板(12)和液晶屏(13)通过FPC连接器(122)电性连接;所述底壳(11)后端设置有开口槽(111),中框(14)后端设置有容置槽(2),该容置槽(2)对应位于所述开口槽(111)中,且所述开口槽(111)中还设置有可翻转打开的翻转盖板(3),所述翻转盖板(3)翻转后可与容置槽(2)对应形成密封腔;
[0214] 所述高拍仪,设置于上述容置槽(2)中,其包括有主支架(4)、副支架(5)和拍照杆(6),所述主支架(4)一端通过转轴件(41)与固定安装在容置槽(2)中的连接件(42)转动连接,另一端则通过第一垂直转轴(54)与副支架(5)一端活动连接,所述副支架(5)可绕第一垂直转轴(54)垂直于主支架(4)打开或合拢;所述副支架(5)的另一端通过平转轴(65)和第二垂直转轴(64)与拍照杆(6)活动连接,所述拍照杆(6)可绕第二垂直转轴(64)垂直于副支架(5)打开或合拢,且在拍照杆(6)处于打开状态时绕水平转轴(65)在水平方向翻转;
[0215] 所述主板(12)上设置有电池(121)、3G模块、SIM卡槽和包含音频降噪电路的主板电路,所述3G模块和SIM卡槽通过主板电路与电池(121)连接;
[0216] 所述副支架(5)包括副支架上盖(51)、副支架下盖(52)以及安装在副支架上盖(51)、副支架下盖(52)之间的线路板(53),该线路板(53)通过设置于主支架(4)内的线路与主板(12)电性连接;
[0217] 所述拍照杆(6)包括拍照杆上盖(61)、拍照杆下盖(62)以及安装在拍照杆上盖(61)、拍照杆下盖(62)之间的摄像模块(63)和麦克风,所述摄像模块(63)与所述线路板(53)电性连接,且所述摄像模块(63)上设置有摄像头(631);
[0218] 所述主板(12)上还设置有用于插IC卡的IC卡插槽(124)和用于读取磁卡磁条信息的磁卡磁头(123),所述IC卡插槽(124)和磁卡磁头(123)均与主板电路连接;
[0219] 所述底壳(11)后端还设置有插孔(112),该插孔(112)中固定有电磁笔(7);
[0220] 所述底壳(11)后端底部设置有后支撑垫(114),前端底部设置有前支撑垫(113)。
[0221] 本发明的网路教学方法,用于包括教师用户终端、学生用户终端、服务器和通信网络的网络教学系统,包括以下主要步骤:数据采集步骤、同步显示步骤、实时录制步骤、点播回放步骤和语音识别步骤。
[0222] 所述数据采集步骤,用于采集网络教学系统中教学过程中的图像数据、应用数据和/或音频数据,采集的这些数据可以用于同步显示步骤和实时录制步骤。这些数据来源包括用户终端上显示的图像、各种操作的应用数据、与所述用户终端连接的其他辅助显示或展示设备的图像、通过用户终端采集的或者通过与用户终端连接的音频采集设备采集的音频数据。所述的用户终端通常以教师用户终端为主,也可以从包括通过网络或其他方式获得的学生用户终端上的各种内容。
[0223] 所述数据采集步骤包括:
[0224] —启动用户终端步骤,准备获取用于同步显示的数据以及教学过程中产生的音频数据;
[0225] —同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据;
[0226] —同屏应用数据获取步骤,获取用于同步显示的同屏应用操作数据,其包括对于屏幕上显示的电子文档的各种应用操作;
[0227] —音频数据获取步骤,获取教学过程中产生的用于同步传输、实时录制和/或语音识别的音频数据;
[0228] —图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据;
[0229] —图像发送判断步骤,判断经过所述图像压缩步骤压缩的相邻两幅所述同屏显示图像是否相同,根据判断结果确定是否发送所述图像;
[0230] —确定发送图像分割步骤,分割确定要发送的且文件大小超过UDP协议数据包的经过压缩的所述图像数据和音频数据,与符合协议大小要求的图像数据一起,形成待发送数据包。
[0231] 其中,
[0232] 所述音频数据包括从第一音频源采集的第一音频数据流,以及从至少一个第二音频源采集的第二音频数据流;所述第一音频源为教学活动中的教师用户、在线会议的主讲人或者交互交流活动的主要发言人;所述第二音频源为教学活动中的学生用户、在线会议的其他讲话人或者交互交流活动的其他发言人。
[0233] 所述同步显示步骤,用于将在网络教学过程中教师用户终端上显示的内容或者展示的内容,自动同步显示或者传送至学生用户终端上。
[0234] 所述同步显示步骤包括:
[0235] —数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述待发送数据包;
[0236] —线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作;
[0237] —过期数据处理步骤,用于丢弃所述网络教学系统中的过期数据,保证网络传输的畅通;
[0238] —同步显示步骤,用于在接收数据的所述学生用户终端上实现同步显示。
[0239] 所述实时录制步骤包括:
[0240] —系统生成文件标识ID;
[0241] —系统生成时间戳标识;
[0242] —将文件标识ID和时间戳标识Timestamp分别与以上所述数据流以及所述电子文档结合绑定,并按照设定格式分别保存至数据库。
[0243] 所述点播回放步骤包括:
[0244] —用户终端通过网络分别获取这些数据流,利用安装在所述用户终端上的客户端根据时间标识Timestamp播放录制的内容。
[0245] 在执行首次播放请求时,服务器根据映射关系表的时间顺序,向用户终端传送数据流片段,用户终端顺序组合这些片段即可进行播放,不将所述映射关系表发送给用户终端;
[0246] 在执行播放请求时,根据需要播放的录制文件的文件标识ID,检查是否使用了电子文档,如果使用了电子文档,首先在用户终端的本地缓存中查找是否已经下载了所述电子文档,如果有,则无需下载,如果没有,先通过网络将所述电子文档下载到用户终端,所述电子文档可是教师用户在最初使用时上传到服务器的,也可以是其他用户拷贝或采用其他方式下载或上传到服务器的。
[0247] 所述网络用户的播放请求是通过Socket加密信道发送给系统服务器Server,系统服务器Server再根据文件标识ID获取所述数据流。
[0248] 当数据流分割成片段而需要映射关系表才能播放录制文件时,如果网络用户终端的本地缓存中已经保存了所述数据流时,只需要下载所述映射关系表,即可实现复原播放。
[0249] 映射关系表可以设置有效时间,比如24小时,或48小时,或者任何适当的合法授权时间,映射关系表下载到终端后,网络教学系统的计时模块开始计时,时间终止时映射关系表自动失效,删除或粉碎映射关系表数据。
[0250] 所述音频评估步骤包括,
[0251] 当用户在涉及口语方面的学习或点播回放时,如果需要对用户的语音进行评估或者测试,可以通过以下步骤实现:
[0252] 语音识别方法,包括以下步骤:
[0253] 步骤1),语音信号的采集,形成待评估音频数据,这些语音信号的采集与前述音频数据的采集可以采用相同的设备和方式;
[0254] 步骤2),语音特征序列的提取,提取所述音频数据的3种特征:梅尔倒谱多高斯后验概率MGPP特征、音素后验概率PPP特征和基于音素持续时间的语音特征;
[0255] 步骤3),特征序列层面上的融合:分别融合所述PPP特征和所述基于音素持续时间的语音特征,得到融合后的PPP特征和融合后的基于音素持续时间的特征;由于PPP特征和基于音素持续时间特征都是基于5种不同语言的音素上提取的,所以每个基于音素的特征都会产生5种不同的子特征,最后融合5种子特征,得到最终的PPP特征和基于音素持续时间的语音特征;
[0256] 步骤4),评分层面上的融合:采用两层支持向量回归SVR来进行评分层面的融合;
[0257] 步骤5),性能评估:采用Spearman系数来体现机器评估打分与人类评价打分相关性,以此表示特征对于自动本地口音评估的有效性。
[0258] 图8是根据本发明的网络教学方法的同步显示图像数据的处理流程示意图。如图所示,示意性出了同步图像数据的画面抓取、图像压缩、压缩比率计算、图像拆分、待发送图像拆包处理、同步数据发送等基本步骤。
[0259] 具体地,对于上述有关步骤:
[0260] 启动教师用户终端步骤,用于准备获取用于同步显示的数据。本发明的网络教学方法是所述基于网络教学系统的,当教师用户终端的客户端激活进入工作状态后,系统启动图像同步显示、实时录制等程序。
[0261] 所述同屏显示数据获取步骤,获取用于图像同步显示的同屏显示图像数据。
[0262] 获取图像数据的渠道可以是多方面的,包括截屏图像、摄像或摄影装置获取的图像、扫描仪获取的图像等,图像上的内容包括教师书写的板书,可以是从电子白板上获得的截图或者拍摄图像,可以是从普通黑板上获得的拍摄图像,可以是通过手写板输入的并在屏幕上显示的截屏图像或者拍摄图像,可以是通过扫描仪输入的文字照片等的图像,还可以是教师用户终端上集成显示图像的截图图像等。
[0263] 常用的图像格式包括JPEG、BMP、GIF、PNG、TIFF等,相对而言JPEG(Joint Photographic Experts Group,联合图像专家小组)和BMP(Bitmap)使用最广泛。
[0264] BMP是一种与硬件设备无关的图像文件格式,可以称之为与设备无关的位图,其采用映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此BMP文件占用的存储空间相对较大,属于Windows环境下的标准图像格式,但是其体积过大,不利于网络传送。
[0265] 典型的BMP图像文件包括四部分:位图文件头数据结构,它包含BMP图像文件的类型、显示内容等信息,其结构长度通常是固定的14字节;位图信息数据结构,它包含有BMP图像的宽、高、压缩方法及定义颜色等信息,其结构长度通常是固定的40字节;调色板,这个部分是可选的;位图数据,这部分的内容根据BMP位图使用的位数不同而不同,在24位图中直接使用RGB。
[0266] BMP作为通用格式的位图,在此如果原始获得的图像不是BMP格式的,需要先将格式转换为BMP格式,然后再进行压缩处理,将BMP图像压缩成JPEG图像。
[0267] 本发明的网络教学系统可以根据规则自动实时截取或者获得,如每隔几秒自动截取屏显内容或者拍摄需要同步显示的内容,或者教师根据自我判断和/或教学需要手动随机截取屏显内容或者拍摄有关内容,由此获得需要同步显示的BMP图像。
[0268] 典型地,这些BMP图像的内容是教师用户终端上显示的内容,这些内容典型的是以各种形式获得的教师板书内容,比如可以是电子白板上的板书图像,可以是拍摄的普通白板上的板书内容。
[0269] 根据本发明,获得截图的方式至少包括:
[0270] (a)通过重写Android系统的截图组件截取当前操作页面的截取得BMP图像;
[0271] (b)通过高拍仪,拍摄教师选定区域的场景,截取得BMP图像;
[0272] (c)通过电子白板笔书写的板书,通过指令控制,进行截取得BMP图像;
[0273] 所述同屏应用数据获取步骤,获取用于同步显示的同屏应用操作指令数据。
[0274] 对于可以不用直接同屏显示的数据,可以通过传送指令及坐标点数据的方式获得需要同步显示的同屏应用操作信息,然后通过操作再现实现图像同步显示。
[0275] 具体地,对于教师用户终端描绘的板书等内容,通过教师用户在终端上的APP书写板书,把书写的板书的轨迹的路径坐标数据,学生用户终端获得这些路径坐标数据后,可以通过指令对坐标进行重新描绘,实现回显,而不必获取整个显示的图像信息。
[0276] 关于指令萃取及机器学习:首先构建系统机器学习能力,字典表记录各种文件操作指令,并通过索引配对,指向操作指令对应的实际执行语言。具体地,针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。
[0277] 这种方法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,最后将每次训练得到的分类器最后融合起来,作为最后的决策分类器。
[0278] 指令萃取剂机器学习让更多的有效的指令通过系统自动判断保存到数据库中,而把无效指令删除掉,使得上课过程更加完整,数据库存储的数据更为有效。
[0279] 图9-1至9-3是根据本发明的网络教学方法中获取路径坐标数据的过程示意图。
[0280] 如图所示,路径坐标数据获取时,可以使用以下步骤:屏幕步距初始化,申请创建一个临时画板,解析path路径坐标数据,判断是否是画笔,如果是,回放画笔动作,如果不是,取得下一个指令,完成所述回放画笔动作后,判断是否有后续指令,如果有,继续取得下一个指令,如果没有,完成回放,在终端设备显示结果。具体地,
[0281] 所述Path路径坐标数据的记录过程如下:
[0282] A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的Canvas画布上先设置背景图案;
[0283] 优先判断是否是画笔(可能是橡皮擦),如果是画笔,将当前的轨迹路径保存到轨迹结果集合中。
[0284] //如果是画笔,将当前的记录路径保存到list
[0285] this.mPathPaintlist.add(this.mPathPaint);
[0286] //保存画笔和路径履历
[0287] PathAndPaint pap=new PathAndPaint();
[0288] pap.setPath(new Path(this.mPath));
[0289] pap.setPaint(new Paint(this.mPaint));
[0290] this.mPathAndPaintlist.add(pap);
[0291] A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
[0292] A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
[0293] A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行重写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的Canvas,如temptCanvas.drawPoint,temptCanvasRect等等;
[0294] A5、所有的指令坐标堆栈执行完毕后,执行Canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而Canvas负责将tempBitmap绘制到屏幕上。
[0295] 所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(float x,float y)参数分别为横纵轴坐标:
[0296] 通过通过连续传入的两个坐标点的中间位置,设置为贝塞尔曲线的基准点,再利用贝塞尔算法进行平滑处理,把多个点描绘成一条平滑曲线;将最后的的坐标点,作为后续的操作基准点的起点,将路径保存path集合中。
[0297] 所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(float x,float y)参数分别为横纵轴坐标:
[0298]
[0299] 所述图像压缩步骤,采用JPEG格式压缩获取的所述同屏显示图像数据,具体包括图像一次压缩步骤和图像二次压缩步骤。具体地,
[0300] 1、图像一次压缩
[0301] 由于组播转单播中每次发送的数据报文有最大长度限制,因此需要先将图像解码转换成JPEG格式的图像,在转换时根据图像大小,动态计算压缩比率,进行图像的一次压缩。
[0302] 通常,图像压缩包括差分脉冲编码DPCM、DCT、矢量量化编码VQ等技术。目前,基于DCT等技术的国际图像压缩标准,包括JPEG、MPEG、H261等。
[0303] 在现有DCT技术的基础上,经进一步改进,本发明的图像压缩可以用于缩小传送的视频流、封装有多个图像的图像文件或者图像文件的大小。
[0304] 所述图像一次压缩步骤包括:
[0305] (0)原始图像备份步骤。
[0306] 在执行压缩图像操作前,将未压缩的所述图像进行备份,形成原始图像备份数据库,所述原始图像备份数据库中的图像通过文件编码与其相应的压缩图像一一对应。当用户收到压缩的图像而需要查看更精细的原始图像时,可以点击操作通过网络,从原始图像备份数据库中下载相应的原始图像。
[0307] 进一步的,还可以包括原始图像剔除步骤。在执行完以下所述的后续图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述原始图像备份数据库中删除。
[0308] (1)正向离散余弦变换(FDCT)
[0309] 对于待压缩的图像首先进行FDCT变换。RGB色彩系统是最常用的表示颜色的方式,BMP位图采用的就是RGB色彩系统,R、G、B三个分量分别表示红绿蓝三种基色。而将要变换的JPEG是采用的YCbCr色彩系统,Y、Cb和Cr三个图像分量分别表示亮度、色度和饱和度。在处理全彩色图像时,需要首先把RGB颜色模式图像数据转化为YCbCr颜色模式数据。
[0310] 离散余弦变换(DCT)是将一组光强数据转化为频率数据,以获取强度变换情况,其属于无损变换。DCT变换将图像中各个频率的信息区分开来,再将对视觉敏感的高频部分信息保留下来,而对视频无法觉察的低频部分在数值上设为零,从而达到对图像压缩的目的。通过DCT变换,可以把能量集中在少数几个特征值上,通常为DC特征值和AC特征值。
[0311] 在进行DCT变换时,先将图像分解成N×N像素块(或称子图像块),优选的N=4、8或16,最优选的是,N=8,对每一子图像块进行单独的二维DCT变换。本发明中优选采用8×8的分解方式,当原始图像的长度不是8的倍数时,需要先补为8的倍数。由此,其64个像素的二维空间频率分量的幅值称为DCT特征值,也就是每个子图像块可以用1个DC特征值和63个AC特征值表示。
[0312] 对于采用像素矩阵(方阵)表示的数字图像,二维DCT正变换使用下列公式:
[0313]
[0314]
[0315] 二维DCT的逆变换(IDCT变换)使用下列公式:
[0316]
[0317]
[0318] 在上面两式中,
[0319] u,v是DCT变换后矩阵内某个数值的坐标位置,即频率域采样值,u=0,1,….N-1,v=0,1,…N-1;
[0320] F(u,v)是DCT变换后矩阵内(u,v)位置上的频率特征值;
[0321] (x,y)是图像数据中某个数值的坐标位置,即空间域采样值,x=0,1,…,N-1,y=0,1,…,N-1;
[0322] f(x,y)是图像数据内(x,y)位置上的像素值;
[0323] 当u=0且v=0时,
[0324] 当u>0或v>0时,c(u),c(v)=1。
[0325] 经过DCT变换后的矩阵数据自然数为频率特征值,这些特征值以F(0,0)的值最大,即DC特征值,其余的63个频率特征值多是接近于0的正负浮点数,统称AC特征值。
[0326] 二维DCT变换是可以分离的,即二维变换可以分解为串联的两次一维变换,这是因为一维DCT的变换速度效率优于二维DCT变换,因此通过分离计算可以提升运算处理的效率,由此对于所述正向变换公式,可以改写成:
[0327]
[0328] 即先沿图像的每一列进行一维DCT变换,得到
[0329]
[0330] 再沿f(u,y)的每一行进行第二次一维DCT变换,得到
[0331]
[0332] 这样二维DCT变换可以利用一维DCT变换快速进行运算。
[0333] (2)量化(Quantization)
[0334] 对于经过FDCT变换的图像,进行量化处理。量化是在保持一定图像质量的情况下,去除图像中对视觉效果影响不大的冗余信息,针对经过FDCT变换后的频率特征值,其目的是减小非“0”特征值的幅度以及增加“0”值特征值的数量。量化处理是图像质量下降的最主要原因。
[0335] 对于JPEG有损压缩,使用线性均匀量化器进行量化,具体地,对于64个DCT特征值除以量化步距并四舍五入取整来实现。量化步距是按照特征值所在的位置和每种颜色分量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮度量化值和色度量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因此图中的左上角的量化步距要比右下角的量化步距小。
[0336] 如图10所示,其中的亮度量化表和色度量化表的数值对于CCIR 601标准电视图像是最佳的。如果不使用这两种表,也可以根据需要使用其他的量化表替换它们。如果每一子图像块都采用相同的量化表,会减少计算量,但是由于不同子图像块的情况不同,可能不能达到最佳的压缩效果。
[0337] (3)Z字形编码(Zigzag Scan)
[0338] 对于经过量化处理的图像,进行编码处理。量化AC特征值通常有许多零值,需要以Z字路径重新编排,目的是为了增加连续“0”特征值的个数,也就是“0”的行程长度。这样就把一个8×8的矩阵变成一个1×64的矢量,频率较低的特征值放在矢量的顶部。
[0339] 如图11所示,经Z字形扫描后DCT特征值的序号。0表示零频DC特征值,而剩下的1-63为AC特征值,特征值越大表示所述位置所对应的频率成分的频率越高,后续的量化编码就是在这些特征值的基础上进行的。
[0340] (4)DPCM编码处理
[0341] 对于经过Z字形编码处理的图像,使用差分脉冲编码调制(Differential Pulse Code Modulation,DPCM)对量化DC特征值进行编码。
[0342] 在进行Z字形编码以后,量化DC特征值有两个特点,一是特征值的数值比较大,二是相邻8×8图像块的DC特征值变化不大。根据这个特点,使用DPCM技术,对相邻图像块之间的量化后的DC特征值的差值(Delta)进行编码:Delta=DC(0,0)k-DC(0,0)k-1。
[0343] (5)RLE编码处理
[0344] 对于经过Z字形编码处理的图像,使用行程长度编码(Run Length Encoding,RLE)对量化AC特征值进行编码。
[0345] RLE是一种典型的无损压缩技术。当图像中有很多相同颜色的模块时,模块中的每一行显示的颜色都相同,这种图像一般不提倡进行每一像素颜色值的存储,而只是单纯存储相同颜色的像素数量和颜色值即可。例如,表示颜色像素值的字符串RRRRRGGGBBBBB,用RLE压缩后可用5R3G5B代替。
[0346] 在进行Z字形编码以后,量化AC特征值的特点是1×64矢量中包含有许多“0”特征值,并且许多“0”是连续的,因此使用非常简单且直观的RLE对它们进行编码。
[0347] JPEG标准使用了1个字节的高4位来表示连续“0”的个数,而使用它的低4位来表示编码下一个非“0”特征值所需位数,跟在它后面的是量化AC特征值的数值。
[0348] 编码格式为(符号1)(符号2),其中,符号1表示2条信息,即行程和长度。行程是Z字形矩阵中位于非“0”AC特征值前的连续“0”值AC特征值的个数,长度是对AC特征值的幅度编码所用位数。符号2表示AC特征值幅度值。
[0349] (6)熵编码(Entropy Eoding)
[0350] 对于经过上述处理的图像,进行熵编码。熵编码是基于量化特征值统计特性的无损编码。常见的编码有行程长度编码、霍夫曼(Huffman)编码和算术编码。而行程-霍夫曼编码(RL-VLC)是JPEG图像压缩编码国际标准中常用的编码方法,主要用来对AC特征值进行熵编码。JPEG标准霍夫曼编码表是根据8×8图像块经二维DCT、Zigzag扫描后,非“0”AC特征值的幅值尺寸Level和所述AC特征值前“0”行程长度Run,即(Run,Level)数对的联合分布概率生成的。
[0351] 在JPEG有损压缩方法中,使用霍夫曼编码来减少熵。使用霍夫曼编码的理由是可以使用简单的查表(Lookup Table)方法进行编码,所查的表是霍夫曼编码表。编码时,每个矩阵数据的一个DC值和63个AC值分别使用不同的霍夫曼编码表,亮度和色度也需要不同的霍夫曼编码表。压缩数据符号时,霍夫曼编码对出现频率较高的符号分配比较短的代码,而对出现频率较低的符号分配较长的代码。这种可变长度的霍夫曼编码表可以事先进行定义。在本发明中,使用熵编码可以对DPCM编码后的DC特征值和RLE编码后的AC特征值进行进一步压缩。
[0352] 对差分DC特征值和每个AC特征值采用两个符号进行编码,即符号1和符号2。对于DC特征值,符号1表示的信息称为长度,即DC特征值的幅度进行编码所用的位数,符号2表示DC特征值的幅度。对于AC特征值,符号1表示了两条信息,称为行程和长度。行程是在Z字形矩阵中位于非零AC特征值前的连续零值AC特征值的幅度进行编码所用的位数。符号2表示AC特征值的幅度。
[0353] 经过上述几个系列步骤处理得到的图像编码或称位数据流形成一次压缩后的图像。
[0354] 2、图像二次压缩
[0355] 如果一次压缩以后,图像大小还超过协议规定数值,则需要进行二次压缩或者称拆包处理。在接下来进一步的差异化处理中,考虑差异化方法,根据图像大小与结合系统指定的文件字节数的{最小值、最大值}:{minSize,maxSize},设置进一步的压缩比率:
[0356] If(image.getBytes()>maxSize)
[0357] {压缩比率=image.getBytes()/maxSize*系统定义偏移量}
[0358] Else,
[0359] {压缩比率=1}。
[0360] 在此,所述差异化方法是指:由于系统处理的各个图像大小不一,但是在基于UDP协议进行数据传送过程中,每个报文长度有限制(一般为1500字节左右)。因此,在处理大小不一图像的过程,需要考虑各图像文件大小间的差异化,在系统中指定图像的maxSize,如果图像大小大于所述字节数,那么启动进一步的压缩处理,也就是通过所述公式计算出的压缩比,对图像进一步压缩处理。
[0361] 所述1500字节是指在UDP传输数据时,单个数据报文的大小,不同的网络设备会略有不同,在实际传输过程中,每个图片会被按照这个大小进行自动分包并发送传输,客户端收到相应报文后会对数据进行组合处理。
[0362] 此外,如果UDP协议发送的原始数据包长度过于长的话,超过65K左右,UDP协议无法正常拆分数据包,这里需要我们手动对数据进行一下二次拆包,保证UDP协议每次都能够正常发送数据报文。根据由压缩图像构成的图像的大小与指定的文件字节数的{minSize,maxSize}获得图像压缩比率:
[0363] 如果图像的大小大于最大值,
[0364] 压缩比率=图像大小/最大值*系统定义偏移量,对于本发明使用的硬件平台显示分辨率,所述偏移量设置为0.4~0.6之间,其对应关系参考下表,否则,压缩比率=1。
[0365]分辨率 偏移量
1920*1080以上 0.6
1280*720 0.5
800*600以下 0.4
[0366] 表1
[0367] 因为根据设备显示分辨率的不同,其显示图像质量亦可不同,分辨率低的设备可显示质量稍差的图像,因此按照上表1给出的数据,偏移量与分辨率大小成正比。所述压缩比率的执行是通过以下步骤体现的:
[0368] (a)教师用户终端应用程序抓取教师上课的电子板书截图;
[0369] (b)根据教师用户终端的分辨率计算出合适的压缩比率;
[0370] 所述通过图像的两次压缩,实现了快速高效的压缩、对比和传送。
[0371] 本发明的方法,在进行所述图像压缩处理的过程中,将构成图像主要因素的DC特征值和AC特征值复制提取出来,并存保到独立于正在进行压缩处理的图像文件的其他文件中,而不影响图像的一次压缩处理。
[0372] 通常,图像对比要综合考虑图像的轮廓分布、颜色分布、以及DC和AC值等,但是本发明中利用JPEG压缩过程中获得的图像DC和AC特征值,不但影响图像的压缩处理,又能通过前后两幅相邻图像的特征值的简单对比,判断前后两幅图像是否发生了变化,根据判断结果决定是否发将已经完成压缩的图像发送给学生用户终端。
[0373] 这样简化的判断方法,减少了系统的运算量,这是因为教师在授课时屏幕显示的内容特别是电子板书内容通常是连续变化的,在相邻时间比如几秒内,板书的内容可能不变的或者变化持续增加的,而获取图像的设备、图像显示的环境、背景轮廓等信息又基本是不变的这样的特点。
[0374] 通过这样简化对比即可发现前后两幅图像是否发生了变化,是否应该将图像同步发送给学生用户终端,如果图像内容没有发生变化,就不必发送。
[0375] 由于图像的屏幕拷贝获取以及压缩处理是在固定时间间隔内正常进行的,一旦根据对比判断结果确定需要发送这幅图像,不会存在时间上的延迟,直接将压缩好的图像数据分割发送即可,而一旦根据判断结果确定不需要发送,就不会占用网络资源,同时学生用户终端上也不必重复更新前后相同的显示内容,影响用户的体验。
[0376] 当然,本发明并不是排斥对两幅前后连续获得的图像进行全面的对比和判断,从而获得更加全面的对比结果。
[0377] 具体地,通过计算两幅图像之间的距离,即DC和AC特征向量各分量之差的总和,来判断两幅图像的差异值。所述的差是指将每前后相邻两幅图像的DC和AC特征值(特征向量值)进行对比,对于DC特征值,对比其分量的正负号,如果分量同号标记为1,否则标记为0。
[0378] 对于AC特征值,可以根据设定的对比阈值,如果分量之差超过对比阈值标记为0,否则标记为1。
[0379] 由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值。
[0380] 0的数目越多表明特征向量的差异越大,图像的差异越大。
[0381] 进一步的,如果两幅图像之间没有差异,说明前后两个截屏的图像是相同的或者基本相同的,不需要进行同屏传送;如果存在差异值,说明前后两幅截图内容已经发生变化,教师用户终端将相应的已经压缩好的图像同屏传送给学生用户终端。
[0382] 所述是否有差异的判断可以根据设定的阈值进行比较判断,也可以不设定阈值,只要有不同就进行同步传送。
[0383] 可设置多个临时复制提取的DC和AC特征值存储文件夹,存储满一个文件夹后,就使用另一个存储文件夹,系统再去清空当前的文件夹备用。
[0384] 当长时间检测到前后截屏的内容没有变化时,逐步自动延长自动截取屏幕图像内容的时间。比如由每隔几秒延长为每隔几十秒,甚至几分钟。
[0385] 将一段时间内例如是一节课连续的多个前后两幅图像的差异值做成曲线,根据教学过程特别是板书的基本特点,当检测到差异值保持在一定范围内基本平稳时,将当前屏幕的内容作为第一版板书内容进行标记,当检测到差异值出现较大变化时,判断为新的一个版面的板书或新的显示内容开始了。
[0386] 学生用户终端可以将接收到的同步图像数据保存成可再现的视频流,从而可以随时复习学习的内容,更优选的,视频流的播放与教师的音频录音根据时间特征(如由教学系统生成的时间戳)匹配起来,形成带有音频数据流与视频流的匹配播放。
[0387] 通过所述判断步骤,实现了需要同步显示的图像的自动判别和实时发送,达到了同步截屏、实时压缩、同步判断、自动发送的目的。
[0388] 注意,在执行完后续的图像发送判断步骤后,将确定不同步显示给学生用户终端的压缩图像的原始备份数据从所述数据库中删除。
[0389] 确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像,形成发送数据包。
[0390] 经过所述压缩获得的JPEG图像以及同屏应用数据,如果所述JPEG图像以及同屏应用数据包大于报文的限制长度,会按照报文等比,将所述JPEG图像以及同屏应用数据包分割成若干子数据包,比如分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并,形成完整的JPEG图像,并在学生用户终端本地显示。
[0391] 具体地,在发送UDP数据报文时,会根据发送的数据包长度对组播报文自动进行分包,避免由于数据包过大导致发送失败。但如果将UDP数据拆分过小,会导致短时间内会广播大量的数据,对局域网内网络带来较大的压力。根据数据长度,会动态计算并拆分数据,按照单个数据报文长度不超过16,000个Byte。根据本发明,根据反复调试尝试的结果,评定无限AP带宽占用率和响应速度,得到的最优的值为16,000Byte,并且最大的拆分数量不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
[0392] 图12是根据本发明的网络教学系统的组播发送示意图。
[0393] 如图所示,所述数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送所述数据包。待转发的消息由组播地址经过无线AP转发是,转成单播的形式逐一发送,教师端应用通过组播地址,234.5.10.200,通过订制AP发送给各个终端。
[0394] 无线接入点即无线AP(Access Point)是用于无线网络的无线交换机,也是无线网络的核心。无线AP是移动计算机用户接入有限网路的接入点。
[0395] 组播(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的多路广播地址是用于储存组播路由信息,这个范围以外的多路广播地址是为应用程序设定的。
[0396] UDP(User Data-gram Protocol,用户数据报协议)是建立在一种IP协议上的无连接协议,主要用来支持那些需要在计算机之间传送数据的网络应用,由于不提供数据的重传和确认,其优点是传送速度比较快,缺点是可靠性不高。包括网络视频会议系统在内的众多的客户/服务器模式的网络应用都使用UDP协议。一条UDP报文分为两部分:报头和数据区。UDP报头有四个域组成,每个域各占两个字节:源端口号、目标端口号、数据报长度、校验值。数据发送方将UDP数据报通过源端口发送出去,而数据接收方则通过目标端口接收数据。
[0397] UDP每次发送的数据包的大小一般不超过2048字节。在发送端和接收端确定一个传送缓冲区,大小为65,536字节,发送端首先把一帧视频数据写入缓冲区,将其分解成若干数据包,使得每个数据包的大小不超过2048字节,称为一个分组数据,对每个分组数据的每个数据包加上一个包头结构,包头结构定义了序列号、传送通道号、视频压缩格式、时间戳。数据报的长度域主要用来计算可变长度的数据部分,理论上包含报头在内的数据报的最大长度为65,536字节,在实际应用中通过会选择一个较低值,比如可以1024字节。
[0398] UDP建立在IP协议之上,但相对于IP协议,其增加可以提供协议端口以保证进程通信,整个UDP报文封装在IP数据报中传送。但是,UDP协议的问题是协议自身没有错误重传机制,对于错误的检测和处理在应用程序中进行。
[0399] 根据接收者对组播源处理方式的不同,组播模型包括下列三种:ASM模型(Any-Source Multicast,任意信源组播)、SFM模型(Source-Filtered Multicast,信源过滤组播)、SSM模型(Source-Specific Multicast,指定信源组播)。
[0400] (A)ASM模型
[0401] 简单地说,ASM模型就是任意源组播模型。在ASM模型中,任意一个发送者都可以成为组播源,向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播组以获得发往该组播组的组播信息。在ASM模型中,接收者无法预先知道组播源的位置,但可以在任意时间加入或离开该组播组。
[0402] (B)SFM模型
[0403] SFM模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。同时,SFM模型在功能上对ASM模型进行了扩展。在SFM模型中,上层软件对收到的组播报文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了筛选。
[0404] (C)SSM模型
[0405] 在现实情况中,用户可能只对某些组播源发送的组播信息感兴趣,而不愿接收其它源发送的信息。SSM模型为用户提供了一种能够在用户终端指定组播源的传送服务。SSM模型与ASM模型的根本区别在于:SSM模型中的接收者已经通过其他手段预先知道了组播源的具体位置。SSM模型使用与ASM/SFM模型不同的组播地址范围,直接在接收者和其指定的组播源之间建立专用的组播转发路径。
[0406] 局域网传送无需使用服务器,本发明中教师用户终端与学生用户终端通过AC路由(802.11AC,第五代无线网络标准,俗称5G WIFI)连接在同一网段。当然,也可以使用P2P技术进行同屏数据传送。
[0407] 图13是根据本发明的网络教学系统的线程监控示意图。
[0408] 如图所示,所述线程监控步骤,用于在基于UDP协议传送时对线程进行实时监控,对丢包数据进行补发操作。基本步骤如下:使用序列化工具对mData进行分片处理,按照顺序读取分片数据对象,将数据片段封装成Datagram Package,通过UDP组播控制Handler发送报文,发送控制器休眠60毫秒,释放网络压力,启动数据报文定时重传监听,判断当前发送的数据报文是否过期,如果过期,则判断为结束当前操作,如果未过期,继续判断是否有后续数据片段,继续获取数据。
[0409] 本发明使用无线AP基于SSM模型通过UDP协议传送分割好的数据包,SSM模型的优点在于:降低网络流量,减轻服务器和CPU负荷;减少冗余流量;使多点应用成为可能;其缺点也比较明显,由于通过UDP协议通信,导致非长连接,存在丢包现象。
[0410] 为了去除冗余的同屏指令信息,保证同屏程序高速率、稳定的执行;以及从网络通信上行(设备至AP)的角度出发,保证上行数据推送的可靠性,对数据准确、高效传送到学生用户终端提供双重的保障,本发明采用线程监控的方式解决上述问题。
[0411] 具体操作流程如下:
[0412] B1、数据报文发送处理步骤:教师用户终端对发送的数据报文进行签名编号,确保每次发送的报文组ID统一并且唯一,然后将数据报文发送至无线AP的组播地址,范围在234.5.*.*组播网段间固定组播地址,教师用户终端在启动程序时会自动计算组播地址,确保在一个网络环境内特别是局域网络环境内,每个课堂都独立占用为一个组播地址。
[0413] B2、自守护线程启动步骤:在数据报文发送后,教师用户终端会启动一个自守护线程,启动计时器,并建立补发堆栈,将本次的发送数据、发送目标存入补发堆栈,在到达自守护线程启动时间后,没有收到学生用户终端的数据报文反馈,自守护线程会启动数据报文补发处理,对没有反馈的学生用户终端补充发送数据包。该处理能够有效的避免在教师用户终端向无线AP进行上行发送UDP数据报文时网络不稳定而带来的数据丢失问题。
[0414] B3、反馈守护线程启动步骤:教师用户终端发送完组播UDP数据包后,当第一次收到学生用户终端的反馈消息后,会自动启动反馈守护线程,该线程会按照拆分后的数据包对用户终端的反馈进行保证重传处理,同时停止自守护线程。反馈守护线程的好处是能够以最小的网络消耗的代价完成数据报文的补发操作,能够以较短的等待时间快速的对单个数据报文进行包装重传处理。有效的解决了从无线AP将组播报文发送至学生用户终端时,发生的数据丢失而导致数据不统一的问题。
[0415] B4、报文反馈步骤:学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。
[0416] 图14是根据本发明的网络教学系统的同步再现示意图。
[0417] 如图所示,虚线框部分,所述过期数据处理步骤,用于丢弃系统中的过期数据,保证网络传输的畅通。对于学生端同屏处理方式,首先判断同屏处理方式,如果是指令同屏,则接受同屏指令,查找同屏资源,加载同屏画面,合并指令坐标数据,然后描绘图片;如果是图像同屏,接受图片序列碎片,判断图片是否过期,如果过期,则放弃处理,如果没有过期,判断图片序列是否接受完全,如果接受不完全,则等待下一序列碎片,当完全接受后,将碎片合并成图片对象,在本地描绘出图片。
[0418] 所述过期数据是指在网络传送的数据包进行实时监控过程中,当数据包正在网络中传送时,教师用户终端又发送了新的数据包,教学系统检测到新数据包的存在,这时检测到的旧数据被视为过期数据。
[0419] 教学系统会将过期数据进行丢弃处理,在教师用户终端、学生用户终端、无线AP等设备同时对处理过程中的过期数据进行丢弃,用以减轻数据在网络中传送给网络带来的压力,保证学生用户终端实时显示教师用户终端传送过来的最新数据。
[0420] 图15是根据本发明的网络教学系统的数据包发送确认示意图。
[0421] 如图所示,学生用户终端的客户端在收到了来自教师用户终端的组播数据包时,会先校验收到的数据是否已经接受完全,如果接受完全会将数据报文进行合并还原;在每收到一个数据报文的同时,立刻给教师用户终端发送反馈信息。具体的,教师端发送数据包,学生端获取数据包,教师端实时监控5秒内是否收到学生端数据反馈,如果没有,则重新补发数据包,如果是,则确认本条数据包发送成功。
[0422] 学生用户终端接收到指令信息后,会向教师用户终端发送反馈信息。教师端通过判断学生端反馈的信息,进行判断学生是否完整的收到了教师之前发送的命令,当教师端判断学生端已经完整的收到了指令,教师端进行下一步处理(例如,发送指令,声音等);当教师端判断学生端没有完整的收到指令,则进行重新发送指令的处理,直到学生端完整的收到。
[0423] 基于此,所述过期数据处理步骤具体过程如下:
[0424] C1、教师用户终端上传组播报文到服务器,服务器通过网络传输把组播报文给学生用户终端;
[0425] C2、学生用户终端收到的组播报文时,如果报文签名为当前正在处理的报文组,则将报文信息入栈,并反馈信息发送给教师用户终端;
[0426] C3、如果学生用户终端收到的组播报文签名比当前栈中处理的数据新,则表明栈中的数据已经过期,会将栈中数据清空,同时将新数据入栈,等待报文数据接收完全后进行后续处理;
[0427] C4、如果学生用户终端收到的组播报文签名比当前栈中处理的数据旧,则表明该收到的数据报文已经过期,系统放弃当前接收到的数据报文。
[0428] C5、教师用户终端收到学生用户终端的数据报文反馈信息,如果报文时间戳已经过期,表明学生用户终端延迟收到消息,数据已过期,教师用户终端对该数据报文进行丢弃,不进行其它任何处理,如果收到的数据报文时间戳为当前发送数据包,则对该反馈信息进行接收。
[0429] 图16是根据本发明的网络教学系统的同步再现示意图。
[0430] 如图所示,教学课程开始后,教师在其用户终端即教师平板上上课,讲解PPT,通过SSL加密方式,将教师授课过程的有关数据采集传输至服务器,期间首先建立课堂ID,生成课堂时间戳,数据则包括教师音频流、文件操作指令、使用的电子文档、教师端压缩图像等,通过Socket传输给应用服务器集群,以存储至数据库服务集群,根据课堂ID配对,根据课堂ID及时间戳下发数据,通过Socket传输所述的教师音频流、文件操作指令、教师端压缩图像和使用的电子文档,通过SSL解密在学生平板上再现。
[0431] 在学生用户终端上的软件客户端或APP中,内置有图像子数据包合并显示模块,用于将接收到的若干子数据包如若干临时TMP文件,合并形成完整的JPEG图像,并在学生用户终端上进行显示,完成同屏显示的目的;以及,
[0432] 内置有与教师用户终端同样的文件操作逻辑模块,在同屏应用过程中,学生用户终端事前加载本次课堂的电子文件资源,教师在讲课直播过程中,学生用户终端将通过服务器获得的教师操作电子文档/文件的操作指令数据如指令及坐标点数据,利用已经内置的逻辑模块结合下载的课堂电子文件资源,通过所述逻辑模块自动模拟教师的操作,完成同屏应用的目的。
[0433] 构建系统服务器学习能力,系统中字典表(数据库表)记录各种文件操作指令,并通过数据库索引配对,把操作指令指向操作指令对应的实际执行语言,终端通过读取实际执行语言,完成模拟操作的执行。
[0434] Socket是网络上运行的两个程序之间双向通信的一端,它既可以接受请求,也可以发送请求,属于常用的网络底层通信方式,通常由IP地址和端口号组成。常用的Socket类型有两种,一种是流式Socket,一种是数据报式Socket,流式Socket是面向连接的Socket,针对面向连接的TCP服务应用。本发明在数据传输时可以使用Socket方式。
[0435] 根据本发明的网络教学方法的实时录制过程包括将经过压缩的确定要发送的图像数据、应用数据、可能使用的电子文档(如PPT)和音频数据分别保存至本地服务器或者网络服务器的数据库中,如果首先保存到本地服务器中,还将通过网络上传到网络服务器中。进一步的,还可以将确定要传输给学生用户的原始图像数据保存到服务器上,当用户需要下载更清晰图像时,可以从这个数据库下载。
[0436] 对于应用数据,例如可以使用时间戳标识+动作类型ID+动作内容数据进行课程录制。
[0437] (1)例如:在白板上绘制了一个圈,将记录:14209372114(时间戳)+type:11(画圆标记)+圆心坐标和半径(内容数据),将此记录通过Socket发送至服务器端保存,可以再由服务器分发给其他用户。
[0438] (2)例如:在白板上用画笔绘制一条线或书写一个公式,将记录:多边形:14209372114(时间戳)+type:2(绘制类型)+多边形顶点数组坐标(内容数据),将此记录通过Socket发送至服务器端保存,可以再由服务器分发给其他用户。
[0439] (3)例如:在白板上用画笔绘制一条线或书写一个公式,将记录:画笔:14209372114(时间戳)+type:3(绘制类型)+手指的绘制路径点坐标(内容数据),将此记录通过Socket发送至服务器端保存,可以再由服务器分发给其他用户。
[0440] (4)例如:直线:14209372114(时间戳)+type:4(绘制类型)+直线两点坐标(内容数据),将此记录通过Socket发送至服务器端保存,可以再由服务器分发给课堂用户。
[0441] (5)例如:重绘:14209372114(时间戳)+type:5(绘制类型)。
[0442] (6)例如:清除:14209372114(时间戳)+type:6(绘制类型)。
[0443] 这种方式可以应用于网络教学系统中教师用户使用电子白板讲题、切换题目、文字表情信息和音频信息等记录。
[0444] 除此之外,电子白板进行操作所生成的动作消息,还包括在所述电子白板上绘制直线、矩形、圆形或折线中任意一种的动作消息;或者,在所述电子白板上使用橡皮擦工具进行擦除操作的动作消息;或者,在所述电子白板上加载图片或几何图形的动作消息;或者,在所述电子白板上新建页或上、下翻页的动作消息中的任意一种。
[0445] 教师用户端通过多媒体白板(电子白板、PPT文档操作等)进行标注和实时音频讲解,系统通过Socket通信接口,通过SSL(Security Socket Layer,安全套接协议层)加密,对时间戳标识Timestamp、多媒体白板应用数据流标记Type、实时音频Audio,实时传输至系统Server服务器数据库(Server Database),系统明确定义了数据存储格式,时间戳、应用数据流、实时音频按固定的数据存储格式(这些数据格式可以使用本领域公知的存储格式例如mp3)实时存储至Server服务器数据库(Server Database)及服务器存储单元,实现实时课堂录制。
[0446] 图17和18是根据本发明的网络教学系统获取路径坐标数据的示意图。
[0447] 如图所示,所述Path路径坐标数据的记录过程如下:
[0448] A1、解析记录的Path路径坐标数据,并存放至临时的指令坐标堆栈中,然后对屏幕进行初始布局,在屏幕的canvas画布上先设置背景图案;
[0449] //如果是画笔,将当前的记录路径保存到list
[0450] this.mPathPaintlist.add(this.mPathPaint);
[0451] //保存画笔和路径履历
[0452] PathAndPaint pap=new PathAndPaint();
[0453] pap.setPath(new Path(this.mPath));
[0454] pap.setPaint(new Paint(this.mPaint));
[0455] this.mPathAndPaintlist.add(pap);
[0456] A2、新建一个Bitmap,并以此Bitmap生成一个临时画布temptCanvas;
[0457] A3、将tempBitmap背景设置为透明,这样做的目的是把临时画布temptCanvas的目标,定位在新建的tempBitmap上;
[0458] A4、通过所述构造后,提取指令堆栈中的坐标指令,一一还原,通过temptCanvas进行从写,temptCanvas的一切draw函数,都会把相应的图像画在临时的tempBitmap上,这样在动作回溯的过程中,画点,画线调用temptCanvas而不是原先屏幕上的canvas,如temptCanvas.drawPoint,temptCanvasRect等等;
[0459] A5、所有的指令坐标堆栈执行完毕后,执行canvas.drawBitmap(tempBitmap,0,0,null);temptCanvas负责的是将各种画笔痕迹画在tempBitmap上,而canvas负责将tempBitmap绘制到屏幕上。
[0460] 所述动作描绘的逻辑步骤如下所示,其中touchMove函数传入的(float x,float y)参数分别为横纵轴坐标:
[0461]
[0462]
[0463] 图19是根据本发明的网络教学系统的数据流片段分割示意图。
[0464] 如图所示,为了版权保护或者保密的需要,又不会过多影响用户的体验,还可以采用成本较低并能起到保密作用的方式。也就是说,所有这些录制的数据流,例如教师讲课的实时音频数据流可以根据时间戳生成的周期分割成片段,比如每隔10秒或者30秒分割一个片段,并对这些数据流片段使用课程ID和随机编码进行组合命名,并构建数据流片段名称与时间戳之间的对应关系表。
[0465] 具体的,将所述所有数据流的至少一种分割成数据流片段,这些数据流片段可以以课程标识和随机产生的编码进行标记,数据流的分割可以参照或者根据时间戳标识的生成情况对应进行。在进行数据流片段分割后,构建这些数据流片段与时间戳标识的对应关系表,保存至数据库。在首次点播这些录制课程时,将按照对应关系表顺序传输这些数据流片段至点播用户终端,使得用户终端可以顺序播放这些数据流,正确显示录制的课程。当保存到用户终端本地时,这些数据流片段是杂乱的,需要使用对应关系表才可以正确将这些片段顺序播放出来。
[0466] 也就是说,视频流片段或者音频数据流片段的ID编码采用随机的方式,这些编码与时间戳形成关系映射表,用户浏览时视频片段和音频片段都下载到本地,但是没有对应的关系,无法顺序播放,用户首次浏览之后只要不清空缓存,下次浏览时只需要重新下载关系映射表即可,每次关系映射表的数据被读取以后,将在预定时间后自动与本地时间同步,从而失去映射意义,达到保护版权的目的,而又不会影响用户的体验。可选的,映射关系表可以设置有效时间,比如24小时,或48小时,或者任何适当的合法授权时间,映射关系表下载到终端后,网络教学系统的计时模块开始计时,时间终止时映射关系表自动失效,删除或粉碎映射关系表数据。
[0467] 时课程的录制可以由具备权限的用户终端进行,比如教师终端或者获得授权的学生终端,录制得到的数据流可以先保存到本地数据库或者终端数据库,再由这些数据库通过网络上传到网路服务器,也可以直接保存到远程网络服务器。
[0468] 图20是根据本发明的网络教学系统的点播回放的示意图。
[0469] 可以使用Android平板电脑或智能手机连接WIFI/2G/3G/4G网络登录本发明的网络教学系统,通过课程点播或课程回放列表对录制课程进行点播;点播对应课程获取课程ID,连接网络教学系统数据库,获取课程ID对应的应用数据流、音频数据流等数据,以及该课程可能用到的电子文档等各种文件,下载这些电子文档资料到本地,实现对已录制课程的点播和回放,回放过程支持暂停、播放、结束。
[0470] 各种数据流的存储是单独并且彼此独立的,获取下载的过程也是彼此独立的,还可以根据需要下载相应的数据,比如用户觉得只需下载音频数据即可,无需传播其他的数据,就可以通过用户终端的客户端指令只获取想获取的数据,并且进行播放,特别是在网络状况不佳的情况下。
[0471] 图21是根据本发明的网络教学系统的点播回放的另一示意图。
[0472] 为了版权保护或者保密的需要,又不过多影响用户的体验,可以采用成本较低并能起到一定保密作用的方式。在服务器数据中,将图像数据流、应用数据流和音频数据流的至少一种分割成数据流片段保存,比如将音频数据流分割成音频数据流片段,这些数据流片段以课程标识和随机产生的编码进行标记,形成数据流片段与时间戳标识的对应关系表。数据流的分割可以参照或者根据时间戳标识的生成情况对应进行,用户在首次点播时,系统服务器按照时间顺序发送这些数据流片段,使得用户可以顺序流畅的回放。当这些数据流保存到本地缓存时,如果用户再次回放时,就要向服务器请求下载这些数据流片段与时间戳标识的对应关系表,这样就能正常播放这些数据流。
[0473] 多个学生用户在点播回放某课程ID的录制文件时,系统首先检查本地缓存是否保存了该课程ID的数据,如果没有保存,就通过网络访问服务器端的数据库,根据课程ID分别获取图像数据(或片段)、应用数据(或片段)、可能使用的电子文档(如PPT)、音频数据(或片段)以及对应关系表,这些数据分别以socket加密信道传输并且缓存至学生用户终端上,再由学生用户终端的客户端或APP根据对应关系表将这些数据组合再现实现点播回放;如果本地缓存已经保存,就通过网络访问服务器端的数据库,只需获取对应关系表,再由学生用户终端的客户端或APP根据数据流片段对应关系表将这些本地已经缓存的数据组合再现实现点播回放。
[0474] 对于网络教学系统,当用户在登陆系统或者需要点播回放时,如果需要身份的识别或验证时,利用语音识别和人脸识别可以进行用户登陆的双认证,实时语音的识别及文字内容的保存,以及语音测试或口语考试的打分。
[0475] 图22是根据本发明的网络教学系统的登录应用流程示意图。如图22所示,为用户需要身份验证登陆网络教学系统并参加口语测试的实施例
[0476] 用户在登录网络教学系统时,给定一段文本,让学生用户通过终端设备朗读;
[0477] 此时网络教学系统采集用户语音和用户图像(通常为头像)。
[0478] 对于用户语音的采集,采用宽带语音信号作为输入,默认为16kHz采样,16-bit量化的WAV格式语音。语音信号采集模块利用单麦克风或多麦克风阵列采集语音信号。
[0479] 对于用户图像的采集,采用摄像头,先定位人脸,然后拍照的方式来采集。
[0480] 前端处理:对于上述采集的音频数据和图像数据分别进行处理:
[0481] 对于音频数据:
[0482] 送到前端处理模块进行语音增强,得到较为干净清晰的语音信号。单麦克风采集的单通道语音可以利用维纳滤波器或和谱减来做语音增强,其中的噪声功率谱可以由单通道语音中被端点检测模块判别为噪声的部分或者无线局域网内其他终端上同步采集的环境噪声来进行估计得到。麦克风阵列采集的多通道语音可以利用波束成形技术做声源定位,具有指向性的采集目标说话人的声音。前端处理模块包括端点检测,可以得到多个单句片段,端点检测即提取出有效语音片段,去掉静音片段及无效语音片段的过程,采取了时域能量变化曲线双门限判别,频域基频及谐波结构能量判别和音素解码器输出结果相结合的融合方法提高了区分度。
[0483] 对于图像数据:
[0484] 使用图像变换、灰度变换、直方图变换、空间域图像平滑、同态滤波处理光照等等因素的影响;图像增强,清晰图像的特征,得到高质量的人脸图像;人脸扶正,得到一个端正的人脸图像,并抠出人脸图像,去除其余图像;归一化处理,取得尺寸一致,灰度取值范围相同的标准化人脸图像。
[0485] 身份验证:
[0486] 采用声纹识别和人脸识别双重验证,防作弊性能更好。
[0487] 其中,
[0488] 声纹识别:
[0489] 从语音文本内容来讲,声纹识别又分为文本相关与文本无关两类。本发明可采用文本无关和/或文本相关的声纹识别技术对说话人进行认证。文本相关要求说话人按照固定的文本发音;而文本无关的说话人识别则无此限制。
[0490] 本发明主要有两个应用。一个是文本相关的声纹确认系统。在说话人配合的情况下,文本相关的说话人识别方法要比文本无关的算法更鲁棒,识别率更高,需要的有效语音时长也更短。而且由于有文本内容的限制,使得直接录音回放不相关文本语音的这种攻击方法难以起到作用,进一步加强了安全性,适合作为终端的身份验证手段。同时,在用户参加培训的过程中或者用户提交的口语朗读作业录音,不知道是否是这个用户自己的声音,是否是用户找人冒充他提交的口语作业等,需要对任意文本进行文本无关的说话人声纹验证。
[0491] 人脸识别:
[0492] 摄像头采集的图像,通过人脸检测把人脸部分分离出来,然后进行预处理,消除图像中的无关信息,将有用的信息增强。尽可能去除或者减少外部环境,比如光照、焦距等,还有成像系统带来的影响,为后面的处理提高质量。
[0493] 图23是根据本发明的网络教学系统的人脸识别登录流程示意图。如图23所示,人脸识别过程如下:
[0494] 预处理步骤:为上文提到的图像的前段处理步骤,在此再次描述仅为体现一个完整的人脸识别过程。
[0495] 特征比对步骤:
[0496] 预处理后提取图像特征,然后和用户的模板特征进行比对,检测是否为该用户本人。
[0497] 本发明在声纹识别过程中采用了广义全差异空间因子的方法,提出了多种计算零阶统计量的不同表征方法和表征单元以及用来计算一阶二阶统计量的特征。把每一帧对应的音素后验概率向量经过对数和主成份分析后得到的tandem特征与MFCC特征在特征层融合得到了新的特征。根据应用和复杂度要求的不同,MFCC特征可以投影到不同的音素层表征单元(包括状态、单因素、音素类、n-gram多音素等)上去求得零阶统计量。同理,多种不同的特征(韵律层、声学层)都可以根据已求得的零阶统计量来计算相应的一阶和二阶统计量用于后端因子分析。由此得到I-vector特征向量,最终通过概率形式的线性判别分析(PLDA)方法,进行声纹识别。这种方法可以降低声纹识别错误率相对50%。
[0498] 口语打分方式:
[0499] 对于如图22中所示的口语打分,本发明提供两种打分方式,语音文本直接对齐打分(如图24所示),识别文本与给定文本比较打分(如图25所示)。
[0500] 两种打分方式的公共步骤包括语音采集、特征提取和模型训练,其中:
[0501] 特征提取步骤:
[0502] 特征上来看,在非强噪声情况下,采用基于短时频谱的梅尔频率倒谱系数特征(MFCC)。在强噪声情况下,采用其他一些基于听觉感知的特征,如功率归一化倒谱系数(PNCC),Gammatone频率倒谱系数(GFCC),时频Gabor滤波特征等。
[0503] 模型训练步骤:
[0504] 包括声学模型训练和发音模型训练,而语言模型为另一种打分需要的模型,不是公共的步骤。
[0505] 声学模型训练方法:声学模型训练方法采用深度神经网络的方法训练。具体做法是:利用大规模音频训练数据进行训练,音频数据要求数据的采集信道非常符合实际测试语音的信道;首先对大规模的语料进行特征提取,具体的采用40维滤波器组能量向量作为特征;神经网络训练最终输出三音素声学模型,为了得到特征到三音素的对应关系,需要先训练一个传统的基于隐马尔可夫模型的系统,然后用这个系统在训练数据上解码,从而得到训练语音数据与文本标注之间的对应关系,得到每一帧语音所对应的是哪一个音素,哪一个三音素聚类决策树叶节点,这个信息被作为神经网路输出层信息加入进后面的深度神经网络训练;然后采用基于6-9层深度神经网络的深度学习算法,输入层是每一帧语音上面提取出的40维滤波器能量向量,输出是这一帧对应的三音素聚类决策树叶节点(senode)相关参数。
[0506] 发音模型训练:发音模型是由发音字典来预先得到的,对于语言模型训练数据分词后得到的且不在发音字典上的词(如地名、人名、网络新词等),需要利用单字的发音拼接完成,此时需要把汉语多音字考虑进去。
[0507] 两种打分方式各自不同的步骤:
[0508] 图24是根据本发明的网络教学系统的语音直接与给定文本打分流程示意图,其独特的步骤如下:
[0509] 解码处理:也就是通俗的识别过程,根据事先训练的模型,识别(解码、翻译)用户说的是什么话,主要是用来语音识别的。
[0510] 对齐打分:主要用来打分,它是没有识别过程的。文本是事先给定的,然后用户读了一段语音,我们将这段语音强行与给定的文本“对齐”,比如文本是“床前明月光”,然后用户读了完全不对应的“疑是地上霜”(忽略文本,只管这一段音频),强行对齐到文本的结果肯定是每个字(“床”,“前”,“明”,“月”,“光”)相应的后验概率都低,说明用户说的每个字都不标准(这是当然的,因为用户说的根本不是这句话),当然了,上面的列子是极端的情况,以说明对齐的打分作用,正常来说一个人用方言讲的话跟另一个人讲的标准的普通话语音是有区别的,如果他们都的同一段话,那么将两段语音对齐所读文本,普通话语音每个词的得分高(声学模型是用普通话训练的话),说明说的标准
[0511] 解码处理主要是识别出文本,然后识别文本与给定模板文本比对,进行打分。这里不是后验概率了,为便于理解,一个简单的打分方法就是1减去错误的词数(识别文本与模板文本的不同的词)除以模板文本总词数)。也就是说,解码处理对应识别文本与给定文本比对打分的方法(如图25所示),而对齐处理对应图24中的音频与给定文本强行对齐的打分方法,这里的打分是后验概率,是声学层面上的打分。
[0512] 对于给定的朗读文本,用户的朗读声音通过声学模型,发音模型进行自动化对齐,进而得到每一个词所对应的声学模型后验概率,这个后验概率得分可以作为一个很好的打分特征,如果这个概率低就说明用户这个词的发音不标准。
[0513] 图25是根据本发明的网络教学系统的识别文本与模板文本比对打分方法流程示意图,其独特的步骤如下:
[0514] 大语言模型训练步骤:
[0515] 采用大规模的文本数据进行训练,文本数据要求非常贴合实际应用;首先对文本内容进行分词,英文分词简单,可直接按空格分词,中文分词(没有空格),采用后向最大匹配的字符串匹配分词方法进行分词;分词之后训练N-gram语言模型,其中以N=3和N=4即3元和4元语言模型为主,这取决于不同的应用。
[0516] 小语言模型训练步骤:
[0517] 本发明新增加了针对不同主题和上下文的竞争性语言模型同步打分以及在线语言模型自适应的模块。
[0518] 针对不同学科,不同课程难度,独立单独训练语言模型。在测试的时候,通过课程信息自动匹配最适合的语言模型或者同时利用多个学科多个课程难度的语言模型对测试数据的词图信息进行多语言模型的不同重新打分,输出概率最高的那个结果。
[0519] 小语言模型训练跟上面的大语言模型训练方法完全一样,不一样的只是所用训练预料不同;之前语言模型训练语料规模大,涉及范围广;小语言模型仅仅针对某一学科,限定了识别结果的范围,使得识别结果更加准确。
[0520] 例如:对于中小学教学等应用,教师和用户的语言高度与课文课件相关联,利用当次上课提交的课件和课文,重新训练一个小型语言模型,并将这个语言模型与本学科本年级的通用语言模型进行插值,得到为本次上课定制的语言模型,提高识别准确率。
[0521] 综合以上的声学模型、语言模型、发音字典信息,可以构建一个整体的加权有限状态转换器(WFST)来进行解码,得到词格信息。
[0522] 解码处理步骤:
[0523] 利用训练得到的声学模型、大语言模型和发音模型等信息,对用户语音进行解码,得到语音识别的中间词图。
[0524] 重新打分步骤:
[0525] 利用训练得到的更加具体的小语言模型,此模型具体解释见后文:小语言模型,对上述得到的中间词图进行重新打分,去掉或替换得分较低的识别结果,最终得到更加准确的识别文本。
[0526] 比对打分步骤:
[0527] 通过语音识别将用户的朗读语音识别为相应文本,然后通过比对识别文本和给定的朗读文本,通过动态规划的编辑距离算法(Levenshtein距离)进行比对并评分。
[0528] 在上述实施方式的描述中,用户终端和服务器是可以由与包含互联网在内的通信网络进行连接的构成,所以也可以是以经由通信网络下载程序代码的方式流动地承载程序代码的媒体。在这样从通信网络下载程序代码的情况下,也可以是该下载用的程序预先保存在主体装置中或者从别的记录媒体进行安装的构成。此外,本发明可以通过上述程序代码以电子传输所体现的、被嵌入于载波中的计算机数据信号的形态而得以实现。
[0529] 本发明的网络教学方法及系统区别于视频流录制,主要记录并传输动作/操作产生的坐标触发数据,实时在其他用户端或后期点播中通过触发数据还原课堂内容,具有存储和传输数据流小的特点。特别是在教学过程中如果有闲置时间,将不发送任何数据,或者只发送音频数据流,从而最大程度上提高了传输效率。通过应用本发明的方法,使得同屏数据信息不局限于图像等,通过传送指令及坐标点数据的方式进行同屏信息推送,大大减少了网络的并发数据量,使得同屏速率在质上有了大幅度的提升、节省大量的存储空间及使用流量,取代了传统视频流录制的方式。
[0530] 本发明的网络教学方法及系统,从分类数据的录制和分类单独存储,生成统一的时间戳进行标记,到对需要加密的数据进行简单分割,建立对应关系表,根据需要单独获取录制数据,实现流畅的数据传送,而使用本地的终端上客户端将这些数据有机组合起来,甚至可以根据客户端的需要仅仅获取部分数据进行播放,系统性的解决了教学过程录播问题。
[0531] 本发明的网络教学方法及系统还定义了明确清晰的数据储存、还原格式,过程文件录制和文件回放的所有数据均通过时间戳标识+动作数据流+音频数据流方式从数据库,获取实现网络在线交流过程中比如授课板书及授课音频还原,支持Android/iOS/Windows等操作系统,具有非常良好的可跨平台展示的能力,方便快捷扩展到其他展示平台。
[0532] 以上对于发明的描述是针对网络教学的,围绕学生用户和教师用户之间的交互的同屏显示、实时录制和点播回放进行的,可以理解的是,本发明中所称的学生用户和教师用户在其他类似的基于网络的交流系统可以是网络会议的参与者和/或会议主持人、发言人等,他们之间可以是平等的关系,也可以是主从的关系,而且这样的关系是可以切换的或者对换的,所称的学生用户、教师用户以及网络教学系统并不是为了限制本发明的用途,仅作为一种典型情况进行示例性的描述,任何基于网络的,需要将某终端上显示的内容和/或操作的内容发送到网络的其他至少一个终端的应用,均适用于本发明的方法和系统。
[0533] 以上介绍了本发明的较佳实施方式,旨在使得本发明的精神更加清楚和便于理解,并不是为了限制本发明,凡在本发明的精神和原则之内,所做的修改、替换、改进,均应包含在本发明所附的权利要求书概括的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈