一种网络教学方法及系统的制作方法_4

文档序号:9647255阅读:来源:国知局
值,这些特征值以F(0,0)的值最 大,即DC特征值,其余的63个频率特征值多是接近于0的正负浮点数,统称AC特征值。
[0270] 二维DCT变换是可以分离的,即二维变换可以分解为串联的两次一维变换,这是 因为一维DCT的变换速度效率优于二维DCT变换,因此通过分离计算可以提升运算处理的 效率,由此对于所述正向变换公式,可以改写成:
[0272] 即先沿图像的每一列进行一维DCT变换,得到
[0274] 再沿f(u,y)的每一行进行第二次一维DCT变换,得到
[0276] 这样二维DCT变换可以利用一维DCT变换快速进行运算。
[0277] (2)量化(Quantization)
[0278] 对于经过FDCT变换的图像,进行量化处理。量化是在保持一定图像质量的情况 下,去除图像中对视觉效果影响不大的冗余信息,针对经过FDCT变换后的频率特征值,其 目的是减小非"〇"特征值的幅度以及增加"〇"值特征值的数量。量化处理是图像质量下降 的最主要原因。
[0279] 对于JPEG有损压缩,使用线性均匀量化器进行量化,具体地,对于64个DCT特征 值除以量化步距并四舍五入取整来实现。量化步距是按照特征值所在的位置和每种颜色分 量的色调值来确定。因为人眼对亮度信号比对色差信号更敏感,因此使用了两种量化表:亮 度量化值和色度量化值。此外,由于人眼对低频分量的图像比对高频分量的图像更敏感,因 此图中的左上角的量化步距要比右下角的量化步距小。
[0280] 如图10所示,其中的亮度量化表和色度量化表的数值对于CCIR601标准电视图 像是最佳的。如果不使用这两种表,也可以根据需要使用其他的量化表替换它们。如果每 一子图像块都采用相同的量化表,会减少计算量,但是由于不同子图像块的情况不同,可能 不能达到最佳的压缩效果。
[0281] (3)Z字形编码(ZigzagScan)
[0282] 对于经过量化处理的图像,进行编码处理。量化AC特征值通常有许多零值,需要 以Z字路径重新编排,目的是为了增加连续"0"特征值的个数,也就是"0"的行程长度。这 样就把一个8X8的矩阵变成一个1X64的矢量,频率较低的特征值放在矢量的顶部。
[0283] 如图11所示,经Z字形扫描后DCT特征值的序号。0表示零频DC特征值,而剩下 的1-63为AC特征值,特征值越大表示所述位置所对应的频率成分的频率越高,后续的量化 编码就是在这些特征值的基础上进行的。
[0284] (4)DPCM编码处理
[0285] 对于经过Z字形编码处理的图像,使用差分脉冲编码调制(DifferentialPulse CodeModulation,DPCM)对量化DC特征值进行编码。
[0286] 在进行Z字形编码以后,量化DC特征值有两个特点,一是特征值的数值比较大,二 是相邻8X8图像块的DC特征值变化不大。根据这个特点,使用DPCM技术,对相邻图像块 之间的量化后的DC特征值的差值(Delta)进行编码:Delta=DC(0, 0)k-DC(0, 0)kρ
[0287] (5)RLE编码处理
[0288] 对于经过Z字形编码处理的图像,使用行程长度编码(RunLengthEncoding,RLE) 对量化AC特征值进行编码。
[0289] RLE是一种典型的无损压缩技术。当图像中有很多相同颜色的模块时,模块中的每 一行显示的颜色都相同,这种图像一般不提倡进行每一像素颜色值的存储,而只是单纯存 储相同颜色的像素数量和颜色值即可。例如,表示颜色像素值的字符串RRRRRGGGBBBBB,用 RLE压缩后可用5R3G5B代替。
[0290] 在进行Z字形编码以后,量化AC特征值的特点是1X64矢量中包含有许多"0"特 征值,并且许多"0"是连续的,因此使用非常简单且直观的RLE对它们进行编码。
[0291] JPEG标准使用了 1个字节的高4位来表示连续"0"的个数,而使用它的低4位来 表示编码下一个非"〇"特征值所需位数,跟在它后面的是量化AC特征值的数值。
[0292] 编码格式为(符号1)(符号2),其中,符号1表示2条信息,即行程和长度。行程 是Z字形矩阵中位于非"0"AC特征值前的连续"0"值AC特征值的个数,长度是对AC特征 值的幅度编码所用位数。符号2表示AC特征值幅度值。
[0293] (6)熵编码(EntropyEoding)
[0294] 对于经过上述处理的图像,进行熵编码。熵编码是基于量化特征值统计特性的无 损编码。常见的编码有行程长度编码、霍夫曼(Huffman)编码和算术编码。而行程-霍夫 曼编码(RL-VLC)是JPEG图像压缩编码国际标准中常用的编码方法,主要用来对AC特征 值进行熵编码。JPEG标准霍夫曼编码表是根据8X8图像块经二维DCT、Zigzag扫描后,非 "0"AC特征值的幅值尺寸Level和所述AC特征值前"0"行程长度Run,即(Run,Level)数 对的联合分布概率生成的。
[0295] 在JPEG有损压缩方法中,使用霍夫曼编码来减少熵。使用霍夫曼编码的理由是可 以使用简单的查表(LookupTable)方法进行编码,所查的表是霍夫曼编码表。编码时,每 个矩阵数据的一个DC值和63个AC值分别使用不同的霍夫曼编码表,亮度和色度也需要不 同的霍夫曼编码表。压缩数据符号时,霍夫曼编码对出现频率较高的符号分配比较短的代 码,而对出现频率较低的符号分配较长的代码。这种可变长度的霍夫曼编码表可以事先进 行定义。在本发明中,使用熵编码可以对DPCM编码后的DC特征值和RLE编码后的AC特征 值进行进一步压缩。
[0296] 对差分DC特征值和每个AC特征值采用两个符号进行编码,即符号1和符号2。对 于DC特征值,符号1表示的信息称为长度,即DC特征值的幅度进行编码所用的位数,符号2 表示DC特征值的幅度。对于AC特征值,符号1表示了两条信息,称为行程和长度。行程是 在Z字形矩阵中位于非零AC特征值前的连续零值AC特征值的幅度进行编码所用的位数。 符号2表示AC特征值的幅度。
[0297] 经过上述几个系列步骤处理得到的图像编码或称位数据流形成一次压缩后的图 像。
[0298] 2、图像二次压缩
[0299] 如果一次压缩以后,图像大小还超过协议规定数值,则需要进行二次压缩或者称 拆包处理。在接下来进一步的差异化处理中,考虑差异化方法,根据图像大小与结合系统指 定的文件字节数的{最小值、最大值} :{minSize,maxSize},设置进一步的压缩比率:
[0300] If(image.getBytes() >maxSize)
[0301] {压缩比率=image.getBytes()/maxSize* 系统定义偏移量}
[0302] Else,
[0303] {:压缩比率=1}。
[0304] 在此,所述差异化方法是指:由于系统处理的各个图像大小不一,但是在基于UDP 协议进行数据传送过程中,每个报文长度有限制(一般为1500字节左右)。因此,在处理大 小不一图像的过程,需要考虑各图像文件大小间的差异化,在系统中指定图像的maxSize, 如果图像大小大于所述字节数,那么启动进一步的压缩处理,也就是通过所述公式计算出 的压缩比,对图像进一步压缩处理。
[0305] 所述1500字节是指在UDP传输数据时,单个数据报文的大小,不同的网络设备会 略有不同,在实际传输过程中,每个图片会被按照这个大小进行自动分包并发送传输,客户 端收到相应报文后会对数据进行组合处理。
[0306] 此外,如果UDP协议发送的原始数据包长度过于长的话,超过65K左右,UDP协 议无法正常拆分数据包,这里需要我们手动对数据进行一下二次拆包,保证UDP协议每次 都能够正常发送数据报文。根据由压缩图像构成的图像的大小与指定的文件字节数的 {minSize,maxSize}获得图像压缩比率:
[0307] 如果图像的大小大于最大值,
[0308] 压缩比率=图像大小/最大值*系统定义偏移量,对于本发明使用的硬件平台显 不分辨率,所述偏移量设置为〇. 4~0. 6之间,其对应关系参考下表,否则,压缩比率=1。
[0309]
[0310]表1
[0311] 因为根据设备显示分辨率的不同,其显示图像质量亦可不同,分辨率低的设备可 显示质量稍差的图像,因此按照上表1给出的数据,偏移量与分辨率大小成正比。所述压缩 比率的执行是通过以下步骤体现的:
[0312] (a)教师用户终端应用程序抓取教师上课的电子板书截图;
[0313] (b)根据教师用户终端的分辨率计算出合适的压缩比率;
[0314] 所述通过图像的两次压缩,实现了快速高效的压缩、对比和传送。
[0315] 本发明的方法,在进行所述图像压缩处理的过程中,将构成图像主要因素的DC特 征值和AC特征值复制提取出来,并存保到独立于正在进行压缩处理的图像文件的其他文 件中,而不影响图像的一次压缩处理。
[0316] 通常,图像对比要综合考虑图像的轮廓分布、颜色分布、以及DC和AC值等,但是本 发明中利用JPEG压缩过程中获得的图像DC和AC特征值,不但影响图像的压缩处理,又能 通过前后两幅相邻图像的特征值的简单对比,判断前后两幅图像是否发生了变化,根据判 断结果决定是否发将已经完成压缩的图像发送给学生用户终端。
[0317] 这样简化的判断方法,减少了系统的运算量,这是因为教师在授课时屏幕显示的 内容特别是电子板书内容通常是连续变化的,在相邻时间比如几秒内,板书的内容可能不 变的或者变化持续增加的,而获取图像的设备、图像显示的环境、背景轮廓等信息又基本是 不变的这样的特点。
[0318] 通过这样简化对比即可发现前后两幅图像是否发生了变化,是否应该将图像同步 发送给学生用户终端,如果图像内容没有发生变化,就不必发送。
[0319] 由于图像的屏幕拷贝获取以及压缩处理是在固定时间间隔内正常进行的,一旦根 据对比判断结果确定需要发送这幅图像,不会存在时间上的延迟,直接将压缩好的图像数 据分割发送即可,而一旦根据判断结果确定不需要发送,就不会占用网络资源,同时学生用 户终端上也不必重复更新前后相同的显示内容,影响用户的体验。
[0320]当然,本发明并不是排斥对两幅前后连续获得的图像进行全面的对比和判断,从 而获得更加全面的对比结果。
[0321] 具体地,通过计算两幅图像之间的距离,即DC和AC特征向量各分量之差的总和, 来判断两幅图像的差异值。所述的差是指将每前后相邻两幅图像的DC和AC特征值(特征 向量值)进行对比,对于DC特征值,对比其分量的正负号,如果分量同号标记为1,否则标记 为0〇
[0322] 对于AC特征值,可以根据设定的对比阈值,如果分量之差超过对比阈值标记为0, 否则标记为1。
[0323] 由此,求出0或1的数目,相加求和,可以得出前后相邻两幅图像之间的差异值。
[0324] 0的数目越多表明特征向量的差异越大,图像的差异越大。
[0325] 进一步的,如果两幅图像之间没有差异,说明前后两个截屏的图像是相同的或者 基本相同的,不需要进行同屏传送;如果存在差异值,说明前后两幅截图内容已经发生变 化,教师用户终端将相应的已经压缩好的图像同屏传送给学生用户终端。
[0326] 所述是否有差异的判断可以根据设定的阈值进行比较判断,也可以不设定阈值, 只要有不同就进行同步传送。
[0327] 可设置多个临时复制提取的DC和AC特征值存储文件夹,存储满一个文件夹后,就 使用另一个存储文件夹,系统再去清空当前的文件夹备用。
[0328] 当长时间检测到前后截屏的内容没有变化时,逐步自动延长自动截取屏幕图像内 容的时间。比如由每隔几秒延长为每隔几十秒,甚至几分钟。
[0329] 将一段时间内例如是一节课连续的多个前后两幅图像的差异值做成曲线,根据教 学过程特别是板书的基本特点,当检测到差异值保持在一定范围内基本平稳时,将当前屏 幕的内容作为第一版板书内容进行标记,当检测到差异值出现较大变化时,判断为新的一 个版面的板书或新的显示内容开始了。
[0330] 学生用户终端可以将接收到的同步图像数据保存成可再现的视频流,从而可以随 时复习学习的内容,更优选的,视频流的播放与教师的音频录音根据时间特征(如由教学 系统生成的时间戳)匹配起来,形成带有音频数据流与视频流的匹配播放。
[0331] 通过所述判断步骤,实现了需要同步显示的图像的自动判别和实时发送,达到了 同步截屏、实时压缩、同步判断、自动发送的目的。
[0332] 注意,在执行完后续的图像发送判断步骤后,将确定不同步显示给学生用户终端 的压缩图像的原始备份数据从所述数据库中删除。
[0333] 确定发送图像分割步骤,分割确定要发送的经过压缩的所述图像,形成发送数据 包。
[0334] 经过所述压缩获得的JPEG图像以及同屏应用数据,如果所述JPEG图像以及同屏 应用数据包大于报文的限制长度,会按照报文等比,将所述JPEG图像以及同屏应用数据包 分割成若干子数据包,比如分割成若干临时TMP文件,这些分割的临时TMP文件通过网络以 组播方式进行传送,学生用户终端获得所有的分割TMP文件后,对分割TMP文件进行合并, 形成完整的JPEG图像,并在学生用户终端本地显示。
[0335] 具体地,在发送UDP数据报文时,会根据发送的数据包长度对组播报文自动进行 分包,避免由于数据包过大导致发送失败。但如果将UDP数据拆分过小,会导致短时间内会 广播大量的数据,对局域网内网络带来较大的压力。根据数据长度,会动态计算并拆分数 据,按照单个数据报文长度不超过16, 000个Byte。根据本发明,根据反复调试尝试的结果, 评定无限AP带宽占用率和响应速度,得到的最优的值为16,OOOByte,并且最大的拆分数量 不超过5个这样两组条件进行综合计算,从而得到一个较优的报文数组进行发送。
[0336] 图12是根据本发明的网络教学系统的组播发送示意图。
[0337] 如图所示,所述数据包发送步骤,基于UDP协议以组播模式向多个用户终端发送 所述数据包。待转发的消息由组播地址经过无线AP转发是,转成单播的形式逐一发送,教 师端应用通过组播地址,234. 5. 10. 200,通过订制AP发送给各个终端。
[0338] 无线接入点即无线AP(ACCeSSPoint)是用于无线网络的无线交换机,也是无线网 络的核心。无线AP是移动计算机用户接入有限网路的接入点。
[0339] 组播(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的多路广播地址是用于储存组播路由信息,这个范围以外的 多路广播地址是为应用程序设定的。
[0340] UDP(UserData-gramProtocol,用户数据报协议)是建立在一种IP协议上的无 连接协议,主要用来支持那些需要在计算机之间传送数据的网络应用,由于不提供数据的 重传和确认,其优点是传送速度比较快,缺点是可靠性不高。包括网络视频会议系统在内 的众多的客户/服务器模式的网络应用都使用UDP协议。一条UDP报文分为两部分:报头 和数据区。UDP报头有四个域组成,每个域各占两个字节:源端口号、目标端口号、数据报长 度、校验值。数据发送方将UDP数据报通过源端口发送出去,而数据接收方则通过目标端口 接收数据。
[0341]UDP每次发送的数据包的大小一般不超过2048字节。在发送端和接收端确定一个 传送缓冲区,大小为65, 536字节,发送端首先把一帧视频数据写入缓冲区,将其分解成若 干数据包,使得每个数据包的大小不超过2048字节,称为一个分组数据,对每个分组数据 的每个数据包加上一个包头结构,包头结构定义了序列号、传送通道号、视频压缩格式、时 间戳。数据报的长度域主要用来计算可变长度的数据部分,理论上包含报头在内的数据报 的最大长度为65, 536字节,在实际应用中通过会选择一个较低值,比如可以1024字节。
[0342] UDP建立在IP协议之上,但相对于IP协议,其增加可以提供协议端口以保证进程 通信,整个UDP报文封装在IP数据报中传送。但是,UDP协议的问题是协议自身没有错误 重传机制,对于错误的检测和处理在应用程序中进行。
[0343] 根据接收者对组播源处理方式的不同,组播模型包括下列三种:ASM模型 (Any-SourceMulticast,任意信源组播)、SFM模型(Source-FilteredMulticast,信源过 滤组播)、SSM模型(Source-SpecificMulticast,指定信源组播)。
[0344] (A)ASM模型
[0345] 简单地说,ASM模型就是任意源组播模型。在ASM模型中,任意一个发送者都可以 成为组播源,向某组播组地址发送信息。众多接收者通过加入由该组播组地址标识的组播 组以获得发往该组播组的组播信息。在ASM模型中,接收者无法预先知道组播源的位置,但 可以在任意时间加入或离开该组播组。
[0346] (B)SFM模型
[0347] SFM模型继承了ASM模型,从发送者角度来看,两者的组播组成员关系完全相同。 同时,SFM模型在功能上对ASM模型进行了扩展。在SFM模型中,上层软件对收到的组播报 文的源地址进行检查,允许或禁止来自某些组播源的报文通过。因此,接收者只能收到来自 部分组播源的组播数据。从接收者的角度来看,只有部分组播源是有效的,组播源被经过了 筛选。
[0348] (C)SSM模型
[03
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1