基于Internet的视频会议共享白板实现方法

文档序号:6420872阅读:300来源:国知局
专利名称:基于Internet的视频会议共享白板实现方法
技术领域
本发明涉及视频会议系统技术,具体是一种基于Internet的视频会议共享白板实现方法。
背景技术
面对面的交谈是人类表达思想最丰富的一种方式,人们会充分调动眼睛、表情和动作来渲染话语。对于商业事务来说,电话交谈无法表达图表、文件、数据表格之类有说服力和感染力的东西。一个企业或团体需要召开会议时,经常遇到其各个部门或人员无法集中的情况(甚至分布在世界各地)。对此,人们提出了利用通信媒体开视频会议的需求。所谓视频会议,就是利用通信线路把两个或多个会议室连接起来,以电视方式召开会议的一种图像通信手段。视频会议的主要特征是能实时传送与会者的形象、声音以及会议资料图表和相关事物的图像等,身居不同地点的与会者可以闻声见影,如同坐在同一间会议室中开会一样。
目前的视频会议系统大都采用模拟方式传输图像,由于占用频带宽,设备昂贵(需要很多专有硬件设备),升级不便,运营费用很高,难以普及。
数字式视频和音频技术的进步导致了计算机和网络的革命,并为计算机系统的应用开拓了新的设计空间。高速网络技术、分布式处理技术、多媒体信息处理技术、多媒体工作站技术等的进步为分布式多媒体系统的发展奠定了基础。美国In-Stat/MDR公布的关于视频会议系统的调查结果显示,到2006年为止,视频会议系统的全球市场将从2001年的7亿7200万美元增长为22亿美元的规模。
目前数字视频会议的研究主要集中于LAN和ATM网。带宽在视频会议应用中是一个比较大的问题。LAN通常能提供足够带宽,因而不存在带宽问题,而Internet就不一样了。如今的企业LAN和ATM网已能提供足够带宽,并具备相关QoS控制机制,而对基于Internet的视频会议应用来说,这些因素往往是不可预知的。对于LAN视频会议白板系统来说,图形可以位图方式保存并传输,但在Internet上,通信量在一天中的不同时段变化很大,因此需要引入某种通信压缩机制,以降低视频会议的带宽需求。

发明内容
为了克服现有技术的存在的上述不足,本发明提供一种基于Internet的视频会议共享白板实现方法,以满足数字视频会议系统的市场需求。
本发明基于Internet的视频会议共享白板实现方法,包括以下步骤a、启动安装于服务器和客户机中的白板系统,在服务器和客户机的显示屏上出现画板、绘图工具栏和控制面板,客户机登录所述服务器,并向服务器发出连接请求,服务器接受客户机的连接请求,同时产生一个响应该请求客户机的套接字,并将套接字加入套接字链表的尾部;b、客户机在其画板上绘制一个或几个图形,将所绘图形进行矢量序列化处理,存档,最后通过其套接字端口发送到Internet上;c、所述服务器通过其套接字端口侦听、接收到客户机上传的图形序列化数据后,首先进行存档,并记录接收顺序,然后通过反序列化处理将图形再现于它的画板上;同时所述服务器遍历(即依次轮流查询)套接字链表,将图形序列化数据通过相应的套接字端口转发给所有参加会议的客户机;d、所有登录的客户机接收到图形序列化数据后,通过反序列化处理将图形再现于各自的画板上,从而实现共享白板的目的。
在步骤b中,客户机将其画板上绘制的图形进行矢量序列化处理的方法如下①、客户机对应于白板系统的每一种绘图工具,创建一个数组;②、将采用各绘图工具所绘图形元素的特征值添加到对应的数组中;③、将各数组的数组元素按指定顺序序列化,形成图形序列化数据。
在步骤c中,服务器将图形序列化数据进行反序列化处理的步骤如下①、服务器对应于白板系统的每一种绘图工具,创建一个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建图形元素,同时将该图形元素加入服务器白板系统的相应数组中。
在步骤d中,客户机对接收的图形序列化数据进行反序列化处理的步骤如下①、客户机对应于白板系统的每一种绘图工具,创建一个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建图形元素,同时将该图形元素加入客户机白板系统的相应数组中。
本发明使数字视频会议系统的白板图形可以在Internet上高速可靠传输,从而实现基于Internet的数字视频会议系统,克服了传统视频会议系统占用频带宽、设备昂贵、升级不便、运营费用高的缺点。
具有多种绘图工具和用于设置画笔、画刷、背景的风格及颜色的控制面板,通过TrackBar滑杆条微调颜色,画笔不但可以设置线宽,而且可以设置为多种虚线。不但可以设置实心或空心两种画刷,还可以设置阴影画刷,而且有6种阴影图形可供选择,可以选择背景模式,极大地丰富了白板的表现能力。
本系统记录绘图的顺序,可以实现回撤和恢复操作,在错误绘图时和实验绘图时,能够方便地修改。


图1为本发明一典型实施案例的系统结构图;图2为其白板图形的传输流程图;图3为其绘图工具栏的示意图;图4为其控制面板的示意图。
具体实施例方式
下面结合附图进一步说明。
图1为本发明一典型实施案例的系统结构图,本实施案例由一台服务器和若干台客户机共同构成,系统采用星型的Client/Server结构和TCP传输协议,服务器和客户机之间通过套接字进行通信。本实施案例的具体配置如下服务器配置CPUIntel P4 1.4GHz
内存256M操作系统Windows 2000 Server客户端配置CPUIntel PIII 800MHz内存256M操作系统Windows 2000 Professional参照图1、图2说明本发明基于Internet的视频会议共享白板实现过程1、首先启动服务器,使之处于监听状态。客户机后启动,登录服务器,向服务器发出连接请求。服务器接受客户机的连接请求,同时创建一个新的套接字(socket+port),专门对应客户机套接字的连接,这样就在两者之间建立了一对可相互通信的套接字。
由于服务器与客户机之间是一对多的星型连接结构,服务器产生多个套接字与多个客户机一一对应,服务器设置了一个套接字链表来管理这些套接字。每当一个客户机发出连接请求时,服务器接受其请求,产生一个新套接字,同时将这个套接字加入套接字链表的尾部。
2、客户机在其画板上可绘制一个或几个图形,将所绘图形进行矢量序列化处理,存档,最后通过其套接字端口通过Internet发送给服务器;3、所述服务器通过其套接字端口侦听、接收到客户机上传的图形序列化数据后,首先进行存档,并记录接收顺序,然后通过反序列化处理将图形再现于它的画板上;并且遍历记录着连接关系的套接字链表,将图形序列化数据通过相应的套接字端口一一转发给所有参加会议的客户机。
4、所有参加会议的客户机接收到服务器转发的图形序列化数据后,通过反序列化处理将图形再现于各自的画板上,这样就实现了绘制图形元素的共享。
本发明在客户端启动后,出现画板,在画板的旁边显示12种绘图工具的工具栏(见图3),以及设置画笔、画刷、背景风格的控制面板(见图4)。工具栏的12种绘图工具按次序依次是直线、矩形、圆角矩形、多边形、椭圆、圆、画笔轨迹曲线、内切椭圆、圆弧、椭圆弧、贝赛尔曲线以及文字输入,另外三个按钮是选择和移动图形元素、取消对绘图工具的选择、关闭绘图工具框。
如果服务器已先启动,正在监听,客户端可以向服务器程序发出连接申请。点击主工具栏的连接图标。如果服务器没有启动,客户端连接不成功,提示,等待再次连接。选择“是”,再次尝试连接;选择“否”,取消连接申请。如果已经和服务器连接,要断开这个连接,选择主工具栏的断接图标点击,完成断开操作。
客户端选择某一绘图工具后,就可以在画板中画出相应图形。将其画板上绘制的图形进行矢量序列化处理。矢量序列化处理过程为①、对应于白板系统的12种绘图工具,创建12个数组;②、将各绘图工具所绘图形元素的特征值添加到对应的数组中;③、将各数组的数组元素按指定顺序序列化。
绘制的图形通过序列化(Serialize)保存,序列化按照属性顺序保存数据特征值,(相当于一种压缩方式,)所以通过Serialize保存的数据文件,占用磁盘空间很小,读写很快。例如本程序的画板文件,一般不超过100K,如果保存为.bmp格式文件,需要nM的空间。序列化后的图形数据通过套接字端口传到网络上并发往服务器。
本发明在服务器端实现了文档类的序列化,它由多达12种图形元素的序列化组成。在整个白板中,每种图形元素的数量可能从0到任意多个。对应每种图形元素,使用了一个数组进行管理。共12个数组,每个数组中有0到任意多个元素。
服务器通过其套接字端口侦听、接收到客户机上传的图形序列化数据后,首先进行存档,并记录接收顺序,然后通过反序列化处理将图形再现于它的画板上。服务器将图形序列化数据进行反序列化处理的步骤如下①、服务器对应于白板系统的每一种绘图工具,创建一个数组,共12个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定上传请求的客户端使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建相应的图形元素,同时将该图形元素加入服务器白板系统的相应数组中。
服务器在接收到客户绘图的同时,将这个图形元素转发给其它的共享客户。服务器中保存有一个套接字链表,记录着和客户端的所有连接。服务器遍历这个套接字链表,将图元元素转发给其它客户端,转发通过套接字端口完成。
本发明在服务器端实现了系统托盘功能。白板服务器正常启动后,将在系统托盘中显示一个小图标。实现系统托盘功能,分5步执行1)建立一个处理托盘通知消息的窗口对象2)建立一个结构体3)建立相应的托盘通知消息映射机制4)调用脚本方法
5)在窗口对象中编写事件响应方法。
在共享的客户端也通过套接字端口接收服务器转发来的上述图形序列化数据,对接收的图形序列化数据进行如下反序列化处理,①、对应于白板系统的每一种绘图工具,创建一个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建图形元素,同时将该图形元素加入共享的客户机白板系统的相应数组中。
然后采用循环遍历的方法将各图形数组中的元素一个不漏地显示出来。
如图3所示绘图工具栏中的按钮从左到右依次为直线、矩形、圆角矩形、多边形、椭圆形、圆形、画笔轨迹曲线、内切椭圆、圆弧、椭圆弧、贝赛尔曲线和文字输入12种绘图工具,另外三个按钮是选择和移动图形元素、取消对绘图工具的选择、关闭绘图工具框。所述12种绘图工具的具体实现原理如下直线在画板上取2个点,在两点间绘制一条直线。
矩形在画板上取2个点,以两点为对角线,绘制一个矩形。
圆角矩形在画板上取2个点,以两点为对角线,绘制一个圆角矩形。
多边形利用链表记录绘图过程中所取的各点,这些点是多边形的顶点。在相邻点之间绘制直线,就完成了多边形的绘制。
椭圆形在画板上取3个点,确定椭圆长短轴半径。这种方法可以绘制倾斜的椭圆,比内切法灵活。先取两点,确定横轴的半径及角度,再取第三点,确定椭圆纵轴的半径。椭圆的中心为前两点的中点。
圆形在画板上取两个点,调用绘内切椭圆的方法,从中心点向左上和右下偏移相等的距离。这个距离等于所取的两点间的距离,即圆的半径。
画笔轨迹曲线系统设置一个记录轨迹曲线的点的链表,当画笔在画板上移动时,不断发送轨迹点的数据,将轨迹点的数据不断加入链表中,同时在相邻两点间画直线,将轨迹显示出来。系统封装了一个绘制直线的方法,在相邻两点间画直线。由于两点间的直线很细小,不会影响到曲线的外观。
内切椭圆与绘制圆形的原理相同,只是外切的不是正方形而是矩形。
圆弧在画板上取三个点,三个点构成一个三角形,求其外接圆,再显示第一点和第三点之间外接圆逆时针方向上的圆弧。三角形三条边的中点垂线必交于一点,这一点称为“外心”,实际上就是外接圆的圆心。可以求出两条边中点垂线的斜率,进而求出两条边中点垂线的焦点,这个交点就是外接圆的圆心。
椭圆弧绘制椭圆弧分两步,首先是绘制椭圆,然后取其中的椭圆弧。椭圆弧的取向是顺时针方向。
贝赛尔曲线贝赛尔样条曲线是由两个终点和两个起“牵拉”作用的中间点确定的一条光滑曲线,最初是帮助工程师给汽车车身建立数学模型的,如今从字体到弹头的设计都使用这样的样条曲线。绘制贝赛尔样条曲线,使用两个参数,一个是Point数组指针,另一个nCount表示数组点的个数。nCount必须是一个3的倍数加1的整数(3n+1),如4、7、11......,因为绘制一条贝赛尔曲线需要4个点,如果绘制连续的两条,则前一条的终点将作为后一条的起点,这样需要7个点的数组。
文字输入当选择文本输入工具时,显示文本框,同时显示文字输入工具栏。
如图4所示的控制面板包括画笔、画刷、背景的颜色设置和风格设置。其中,进行画笔、画刷或背景颜色设置时,可以通过滑杆选择多达16,777,216种颜色,而且设置方法简单直观。通过滑杆条取色,在窗口显示配制的颜色,这种功能还没有在其它系统中使用。
在风格设置中,可以设置画笔的线宽,还可以将画笔设为实线或各种虚线,画刷的风格可以设为空心、实心或阴影画刷,而且有6种阴影图形可供选择。
本发明白板系统可以查看本机的IP地址和其它性能参数,如内存大小、硬盘空间大小等,这对于网络通信时发出正确的连接请求,以及系统的移植很有帮助。如果一个用户将本系统移植在一台陌生的机器上使用,那么他可以很快知道这台机器的IP地址和机器性能参数,如内存大小、硬盘空间大小。
本白板系统记录有绘图的顺序,可以回撤和恢复,在错误绘图时和实验绘图时,能够方便地修改,这也是其它白板没有出现的功能。
权利要求
1.一种基于Internet的视频会议共享白板实现方法,其特征在于包括以下步骤a、启动安装于服务器和客户机中的白板系统,在服务器和客户机的显示屏上出现画板、绘图工具栏和控制面板,客户机登录所述服务器,并向服务器发出连接请求,服务器接受客户机的连接请求,同时产生一个响应该请求客户机的套接字,并将套接字加入套接字链表的尾部;b、客户机在其画板上绘制一个或几个图形,将所绘图形进行矢量序列化处理、存档,最后通过其套接字端口发送到Internet上;c、所述服务器通过其套接字端口侦听、接收到客户机上传的图形序列化数据后,首先进行存档,并记录接收顺序,然后通过反序列化处理将图形再现于服务器的画板上;同时,所述服务器遍历套接字链表,将所述图形序列化数据通过相应的套接字端口转发给所有参加会议的客户机;d、所有登录的客户机接收到图形序列化数据后,通过反序列化处理将图形再现于各自的画板上。
2.根据权利要求1所述的基于Internet的视频会议共享白板实现方法,其特征在于,在步骤b中,客户机将其画板上绘制的图形进行矢量序列化处理的方法如下①、客户机对应于白板系统的每一种绘图工具,创建一个数组;②、将各绘图工具所绘图形元素的特征值添加到对应的数组中;③、将各数组的数组元素按指定顺序序列化。
3.根据权利要求1所述的基于Internet的视频会议共享白板实现方法,其特征在于在步骤c中,服务器将图形序列化数据进行反序列化处理的步骤如下①、服务器对应于白板系统的每一种绘图工具,创建一个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建图形元素,同时将该图形元素加入服务器白板系统的相应数组中。
4.根据权利要求1所述的基于Internet的视频会议共享白板实现方法,其特征在于在步骤d中,登录的客户机对接收的图形序列化数据进行反序列化处理的步骤如下①、客户机对应于白板系统的每一种绘图工具,创建一个数组;②、从收到的图形序列化数据中找出当前绘图工具名字信息,从而确定使用的绘图工具;③、根据所确定的绘图工具,并按照图形序列化数据中对应的图形元素的特征值创建图形元素,同时将该图形元素加入客户机白板系统的相应数组中。
5.根据权利要求1所述的基于Internet的视频会议共享白板实现方法,其特征在于客户机之白板系统记录有绘图的顺序,能够进行回撤和恢复操作。
6.根据权利要求1所述的基于Internet的视频会议共享白板的方法,其特征在于客户机在其画板上绘制椭圆形的步骤是,在画板上先取两点,确定横轴的半径及角度,再取第三点,确定椭圆纵轴的半径。
7.根据权利要求1所述的基于Internet的视频会议共享白板的方法,其特征在于客户机在其画板上绘制画笔轨迹曲线的步骤是,设置一个记录轨迹曲线的点的链表,当画笔在画板上移动时,不断发送轨迹点的数据,将轨迹点的数据不断加入链表中,同时在相邻两点间画直线,将轨迹显示出来。
8.根据权利要求1所述的基于Internet的视频会议共享白板的方法,其特征在于所述绘图工具栏包含直线、矩形、圆角矩形、多边形、椭圆形、圆形、画笔轨迹曲线、内切椭圆、圆弧、椭圆弧、贝赛尔曲线以及文字输入工具。
9.根据权利要求1所述的基于Internet的视频会议共享白板实现方法,其特征在于所述控制面板包括画笔、画刷、背景的颜色设置和风格设置。
10.根据权利要求9所述的基于Internet的视频会议共享白板实现方法,其特征在于所述背景的颜色设置采用滑杆条取色。
全文摘要
一种基于Internet的视频会议共享白板实现方法,包括a.客户机向服务器发连接请求,服务器产生响应该请求客户机的套接字,将套接字加入链表的尾部;b.客户机在其画板上绘制图形,将所绘图形进行矢量序列化处理,通过其套接字端口发送到Internet上;c.服务器接收到上传的所述数据后,通过反序列化处理将图形再现于它的画板上;同时遍历所述链表,将所述数据通过相应的套接字端口转发给所有共享客户机;d.共享客户机接收所述数据,通过反序列化处理将图形再现于画板上。本发明实现了白板图形在互联网上高速可靠传输,具有多种绘图工具,避免了传统系统占用频带宽、设备昂贵、升级不便、运营费用高的缺点。
文档编号G06K11/06GK1555197SQ20031011761
公开日2004年12月15日 申请日期2003年12月24日 优先权日2003年12月24日
发明者刘晓冬, 吴标 申请人:清华大学深圳研究生院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1