基于微信的视频会议实现方法与流程

文档序号:12696630阅读:482来源:国知局
基于微信的视频会议实现方法与流程

本发明属于通讯技术领域,涉及视频会议,尤其涉及基于微信的视频会议方法。



背景技术:

视频会议系统是指处于不同地理位置上的多个参与者,通过信号传输线路、信号采集设备和多媒体设备,将视频图像和声音互相即时传送,达到面对面交谈会议效果的系统。

视频会议与传统会议相比,削弱了地域上的限制,参与者在网络稳定的地方即可进行。与电话会议相比,视频会议系统不仅仅传输语音信息,同时传输图像信息,参与者可以更直观地获取会议内容,有身临其境的感觉。

根据视频会议实现方式的不同,现有视频会议系统大致可以分为两类:借助会议电视及电视线路的会议电视系统和借助互联网络的网络视频会议系统。会议电视系统需要专门的会议室,同时配备相应的摄像机、电视监视器、扩音器、液晶显示器或投影仪,造成会议成本高昂且会议地点受到局限。现有的网络视频会议系统,需要搭建专门的服务器以提供用户终端连接,视频、音频信号整合和转发等服务。由于现有网络视频会议系统必须搭建并维护服务器,服务器管理的开销和在服务器中新增用户的不便是现有网络视频会议系统的主要弊端。

微信是目前最流行的移动端即时通讯软件。在现有技术条件下,多人视频时,每位参与者拥有自由发言的权限。如果多人视频直接用于视频会议,会造成会议流程混乱,会议进程滞缓。



技术实现要素:

针对上述存在的问题,本发明提供一种方便高效且经济的视频会议组织管理和实现方法。

本发明降低了视频会议的成本,削弱了会议地点限制,提供一种即时的视频会议方法,同时控制了网络流量。

为达到上述目的,本发明采用了下列技术方案,其特征在于,本方法包括:

步骤一、配备微信视频会议系统的硬件

每个参会成员配备移动终端一个,移动终端配有版本在Android4.0.3及之上的操作系统,参会成员的微信号已预先驻入会议组织者的移动终端;

步骤二、微信视频会议参会成员相互连接

微信视频会议由某一微信用户作为会议组织者主动发起,称为请求方;这里,任意微信用户均可作为请求方;参加会议的n个微信用户作为被组织者,称为接受方;参会成员及参会成员数n+1(n>=1)由请求方定义,接受方可以接受或拒绝请求方的邀请;所述的参会成员为包括请求方和接受方成员的集合;

步骤三、管理微信视频会议

在视频会议的过程中,同时间只有一位参会成员发言,称为该参会成员处于x状态,即活动状态;其他参会成员收听发言处于y状态,即收听状态;申请等待发言的参会成员处于q状态,即申请状态;暂时退出会议的参会成员处于z状态,即休眠状态;

每一位参会成员任何时候均处在上述四种状态中;每一位参会成员任何时候均可在这四种状态中转换;

步骤四、分屏显示视频图像

步骤五、图像声音信号管理

除去参会成员,不向其他微信用户和处于z状态的用户发送图像声音信号;

除去x状态的发言人,不开启其他参会成员移动终端的话筒,不获取信号;

步骤六、映射参会成员视频图像到各自对应视区

一幅原始视频图像为矩形,原始视频图像的宽度为p,原始视频图像的长度为q,则原始视频图像记为p×q;该原始视频图像试图被完整地映射到映射视区b×d内;

步骤七、会议结束及断开连接

微信视频会议满足以下条件之一则会议结束,视频连接断开。

条件1:请求方主动结束会议;

条件2:处于y状态的参会成员数量为0。

上述的基于微信的视频会议实现方法,步骤三中每一位参会成员状态转换,具体规则为:

四种状态之间的转换遵循如下几个规则进行;

规则1:会议开始时,请求方进入状态x,接受方进入状态y;

规则2:当处于状态x的参会成员发言结束后,该参会成员转换到状态y,记为x->y;

规则3:当处于状态y的参会成员向请求方提出发言申请后,该参会成员的状态则转换到状态q,记为y->q;参会成员在转换到状态q之后,进入发言申请队列Q中排队等待;

规则4:当处于休眠状态z的参会成员向请求方提出发言申请后,参会成员进入参会申请队列Z中排队等待,一旦请求方同意申请,则该参会成员的状态转换到状态y,记为z->y;

规则5:当处于申请发言状态q的参会成员被请求方同意发言,则该参会成员的状态转换到状态x,记为q->x;

规则6:当处于参会状态y的参会成员向请求方提出退出会议,请求方同意后,该参会成员的状态转换到状态z,记为y->z;

规则7:系统中处于x状态的参会成员在同一时刻只能有一个;

根据上述规则1-7,可以得出以下推论:

推论1:当处于状态q的参会成员集合为空或处于状态z的成员集合为空时,会议正常进行;

推论2:在会议的全过程中,会议主持人不能处于状态z;

上述规则中两个队列,等待发言队列Q和休眠队列Z;两个队列均采用先来先服务算法,即先进入队列的参会成员先得到服务。

在上述步骤四中,按照如下方法实现视频图像分屏显示;

主屏视区为所用移动终端的满屏视区;

设移动终端显示屏满屏宽度为B,长度为L;则每个附屏视区区域定义为宽度:B/4,长度:1.2*B/4;

附屏透明显示在主屏之上;

根据在上述权利要求1步骤二和步骤三中,参会成员数n+1的不同和参会成员所处状态的不同,使用两种不同的显示屏区域划分算法,方案一和方案二;

方案一:n<=4时,处于x状态的参会成员的视频图像显示在主屏视区,处于y状态的参会成员的视频图像分别在显示屏四角的附屏视区显示;

方案二:n>4时,处于x状态的参会成员的视频图像显示在主屏视区,处于y状态的参会成员的视频图像在显示屏右侧附屏视区列表显示;附屏视区列表滑动显示。

在上述步骤五中,按照如下算法实现图像声音信号管理;

参会成员的视频图像采用如下多视频流刷新算法:

视频流段在多窗口中采用轮流刷新算法;将一秒分为30个时间片,每个时间片占时1/30秒,每个时间片刷新一个视频流;

为确保x状态的发言者视频图像流畅,保证其视频流刷新率为15fps;本发明采取主屏附屏交替刷新,各个附屏依次刷新的算法;即刷新顺序为:

主屏->附屏1->主屏->附屏2->……->主屏->附屏n。

在上述步骤六中,图像映射算法具体表示如下;

在系统中,使用如下算法将原始视频图像完整地映射在指定的移动终端屏幕视区内显示;

将原始视频图像p×q放在坐标系XOY的第1象限的原点,则可由原始视频图像左上和右下两点坐标(0,0)及(p,q)唯一地确定该原始视频图像的区域;

将映射视区b×d放在与原始视频图像同一坐标系第一象限内,则映射视区可用映射视区两点坐标(x1,y1)(x2,y2)来唯一确定;

原始视频图像是由一组像素点组成的,记为W={w(x,y)},x,y分别表示这个像素点的横纵坐标;原始视频图像映射后的映射图像由另一组像素点W’={w’(x’,y’)}组成,x’和y’表示x,y映射后的横纵坐标;设原始视频图像的视区水平宽度为Vx个显示单位,显示单位通常为像素,垂直高度为Vy个显示单位;则:

对任一像素点横坐标x,使用映射α:

x’=VxRx/(p√(1+((y2-y1)/(x2-x1))2))+a

其中R为余量系数,a为水平位移量;

对其纵坐标y使用映射β:

y’=VyRy/q+b

其中R为余量系数,b为垂直位移量;

使用上述映射算法将当前发言者的原始视频图像显示到主屏视区内,将收听者各自的原始视频图像分别显示到其对应的附屏视区内;即:

发言者视频图像——>主屏视区

参会者1原始视频图像——>附屏视区1

参会者2原始视频图像——>附屏视区2

……

参会者n原始视频图像——>附屏视区n。

在上述步骤四中,视频图像分屏显示,各个视区关系表示为:

在同一时间,主屏视区内显示了n+1幅视频图像,即在主屏发言者的图像上将参会者的视频图像重叠显示在附屏视区1,……,n中;这些重叠图像之间的关系使用的是异或(⊕)的关系;⊕表示两个图像重叠透明显示;即:

主屏视区图像⊕附屏视区1图像⊕附屏视区2图像⊕……⊕附屏视区n图像;

主屏视区与所有附屏视区之间的图像是透明可见的。

本发明具有有益效果。

本发明调用现有的微信程序接口,通过微信视频通讯建立参会成员的连接,提高了视频会议的便利性和易用性。

本发明的图像声音信号由现有的微信服务器转发,无需搭建专门的服务器,降低了视频会议的成本。

本发明在获取图像声音信号流后,根据会议需要对图像声音信号整合,有选择地向用户发送,减少了网络资源的开销。

附图说明

图1:本发明的系统模块示意图

图2:本发明的视频图像分屏显示方案一示意图

图3:本发明的视频图像分屏显示方案二示意图

图4:本发明的参会成员状态转换示意图

图5:本发明的图像映射示意图

具体实施方式

以下结合附图和具体实施例对本发明作进一步详细说明。

本发明充分考虑了现有的视频会议技术,针对其费用昂贵,部署繁琐的缺点和微信功能的不完善。在微信的基础上,通过整合管理多人视频时的图像声音信号,构建视频会议环境。

本发明所述的基于微信的视频会议系统主要包括系统交互界面、图像映射模块、图像声音信号管理、用户状态管理等几个组件,系统结构清晰,实现简单。如图1所示,以下将详细介绍本发明所述系统的具体实施过程。

(1)系统交互界面的实现

系统交互界面是负责用户与本视频会议系统交互的模块。用户通过界面中的选择控件完成对系统后台其它模块的控制。同时,系统中的图像和声音信号也通过系统交互界面显示给用户。

本发明的系统交互界面分为方案一和方案二,根据参会人数n+1的不同,系统自动选择界面方案。n<=4时显示方案一,n>4时显示方案二。

设A为请求方,B、C、D为接受方。参会人数为3+1,系统交互界面使用方案一。如图2所示,A显示在主屏视区,B、C、D分别显示在左上,右上,左下附屏区域。

设A为请求方,B、C、D、E、F、G、H、I、J为接受方。参会人数为9+1,系统交互界面使用方案二。如图3所示,A显示在主屏视区,B、C、D、E、F、G、H、I、J显示在右侧附屏视区列表中,附屏视区列表可以滑动显示。

为具有一般性,以下均以A为请求方,B、C、D、E、F、G、H、I、J为接受方的情况说明系统模块。

(2)用户状态管理模块

参会成员的状态转换流向如图4所示。

系统交互界面将请求方A和接受方B、C、D、E、F、G、H、I、J发送给用户状态管理模块。用户状态管理模块为每一个参会成员建立成员数据结构。成员数据结构内容包括:参会成员名称,参会成员ip地址,参会成员状态,请求方或者接受方,显示视区的位置。

根据上述用户状态转换规则,参会成员A进入x状态,参会成员B、C、D、E、F、G、H、I、J进入y状态。

设参会成员B、C、D申请发言,B、C、D进入发言申请队列Q。当A发言结束时,A的状态由x变为y,B的发言申请提交到A处,B离开发言申请队列Q。

A否决B的发言申请,B的状态由q变为y。C的发言申请提交到A处,C离开发言申请队列Q。

A同意C的发言申请,C的状态由q变为x。

设E、F、G得到A同意后离开会议,E、F、G的状态由y变为z。

设E、F申请重新参加会议,E、F进入参会申请队列Z。

E的参会申请提交到A处,E离开参会申请队列,A否决E的参会申请,E保持状态z。

F的参会申请提交到A处,F离开参会申请队列,A同意F的参会申请,F的状态由z变为y。

(3)图像声音信号管理模块

读取用户状态管理模块中每一个参会成员的成员数据结构,判断该参会成员是否处于x状态,若处于x状态则开启该参会成员的话筒。

读取用户状态管理模块中每一个参会成员的成员数据结构,判断该参会成员是否处于z状态,若处于z状态则不向该成员发送图像声音信号。

多视频流刷新算法采用主屏附屏交替刷新,各个附屏依次刷新的算法。

多视频流刷新算法可以表示如下:

1)初始化:

定义附屏视区刷新标记i等于0;

2)主屏视区刷新:

1、执行主屏视区刷新步骤;

2、跳转执行3)附屏视区刷新;

3)附屏视区刷新:

1、执行第i块附屏视区刷新步骤;

2、i的值加1;

3、如果i的值等于接受方的人数n,i的值设置为0;

4、跳转执行2)主屏视区刷新;

其中n为接受方人数。

(4)图像映射模块

图像映射模块读取图像声音信号管理模块发送的图像声音信号及用户状态管理模块的当前会议参与者的用户状态,将每位会议参与者的视频图像通过图像映射算法映射到其对应位置。图像映射模块将映射好的图像和声音发送给系统交互界面。

如附图5所示:

设A处于x状态,A的原始视频图像长为p,宽为q,将A的原始视频图像放入第一象限中,左上角为原点,则A的原始视频图像可以用(0,0),(p,q)两点唯一确定。设A原始视频图像的视区水平宽度为Vx个显示单位,显示单位通常为像素,垂直高度为Vy个显示单位。

设A映射到的视区长为b,宽为d,映射视区可以用(x1,y1),(x2,y2)确定。

A的映射方法如下:

对于A原始视频图像中的每一个像素可以用(x,y)表示。(x’,y’)为(x,y)映射后的坐标,x’,y’通过如下运算得到。

x’=VxRx/(p√(1+((y2-y1)/(x2-x1))2))+a

y’=VyRy/q+b

其中R为余量系数,a为水平位移量,b为垂直位移量。

虽然本发明已以较佳实例揭露如上,然其并非用以限定本发明。本发明所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可做各种的更动与润饰。因此,本发明的保护范围当视权利要求书所界定者为准。

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