本發(fā)明屬于通訊技術(shù)領域,涉及視頻會議,尤其涉及基于微信的視頻會議方法。
背景技術(shù):
視頻會議系統(tǒng)是指處于不同地理位置上的多個參與者,通過信號傳輸線路、信號采集設備和多媒體設備,將視頻圖像和聲音互相即時傳送,達到面對面交談會議效果的系統(tǒng)。
視頻會議與傳統(tǒng)會議相比,削弱了地域上的限制,參與者在網(wǎng)絡穩(wěn)定的地方即可進行。與電話會議相比,視頻會議系統(tǒng)不僅僅傳輸語音信息,同時傳輸圖像信息,參與者可以更直觀地獲取會議內(nèi)容,有身臨其境的感覺。
根據(jù)視頻會議實現(xiàn)方式的不同,現(xiàn)有視頻會議系統(tǒng)大致可以分為兩類:借助會議電視及電視線路的會議電視系統(tǒng)和借助互聯(lián)網(wǎng)絡的網(wǎng)絡視頻會議系統(tǒng)。會議電視系統(tǒng)需要專門的會議室,同時配備相應的攝像機、電視監(jiān)視器、擴音器、液晶顯示器或投影儀,造成會議成本高昂且會議地點受到局限。現(xiàn)有的網(wǎng)絡視頻會議系統(tǒng),需要搭建專門的服務器以提供用戶終端連接,視頻、音頻信號整合和轉(zhuǎn)發(fā)等服務。由于現(xiàn)有網(wǎng)絡視頻會議系統(tǒng)必須搭建并維護服務器,服務器管理的開銷和在服務器中新增用戶的不便是現(xiàn)有網(wǎng)絡視頻會議系統(tǒng)的主要弊端。
微信是目前最流行的移動端即時通訊軟件。在現(xiàn)有技術(shù)條件下,多人視頻時,每位參與者擁有自由發(fā)言的權(quán)限。如果多人視頻直接用于視頻會議,會造成會議流程混亂,會議進程滯緩。
技術(shù)實現(xiàn)要素:
針對上述存在的問題,本發(fā)明提供一種方便高效且經(jīng)濟的視頻會議組織管理和實現(xiàn)方法。
本發(fā)明降低了視頻會議的成本,削弱了會議地點限制,提供一種即時的視頻會議方法,同時控制了網(wǎng)絡流量。
為達到上述目的,本發(fā)明采用了下列技術(shù)方案,其特征在于,本方法包括:
步驟一、配備微信視頻會議系統(tǒng)的硬件
每個參會成員配備移動終端一個,移動終端配有版本在Android4.0.3及之上的操作系統(tǒng),參會成員的微信號已預先駐入會議組織者的移動終端;
步驟二、微信視頻會議參會成員相互連接
微信視頻會議由某一微信用戶作為會議組織者主動發(fā)起,稱為請求方;這里,任意微信用戶均可作為請求方;參加會議的n個微信用戶作為被組織者,稱為接受方;參會成員及參會成員數(shù)n+1(n>=1)由請求方定義,接受方可以接受或拒絕請求方的邀請;所述的參會成員為包括請求方和接受方成員的集合;
步驟三、管理微信視頻會議
在視頻會議的過程中,同時間只有一位參會成員發(fā)言,稱為該參會成員處于x狀態(tài),即活動狀態(tài);其他參會成員收聽發(fā)言處于y狀態(tài),即收聽狀態(tài);申請等待發(fā)言的參會成員處于q狀態(tài),即申請狀態(tài);暫時退出會議的參會成員處于z狀態(tài),即休眠狀態(tài);
每一位參會成員任何時候均處在上述四種狀態(tài)中;每一位參會成員任何時候均可在這四種狀態(tài)中轉(zhuǎn)換;
步驟四、分屏顯示視頻圖像
步驟五、圖像聲音信號管理
除去參會成員,不向其他微信用戶和處于z狀態(tài)的用戶發(fā)送圖像聲音信號;
除去x狀態(tài)的發(fā)言人,不開啟其他參會成員移動終端的話筒,不獲取信號;
步驟六、映射參會成員視頻圖像到各自對應視區(qū)
一幅原始視頻圖像為矩形,原始視頻圖像的寬度為p,原始視頻圖像的長度為q,則原始視頻圖像記為p×q;該原始視頻圖像試圖被完整地映射到映射視區(qū)b×d內(nèi);
步驟七、會議結(jié)束及斷開連接
微信視頻會議滿足以下條件之一則會議結(jié)束,視頻連接斷開。
條件1:請求方主動結(jié)束會議;
條件2:處于y狀態(tài)的參會成員數(shù)量為0。
上述的基于微信的視頻會議實現(xiàn)方法,步驟三中每一位參會成員狀態(tài)轉(zhuǎn)換,具體規(guī)則為:
四種狀態(tài)之間的轉(zhuǎn)換遵循如下幾個規(guī)則進行;
規(guī)則1:會議開始時,請求方進入狀態(tài)x,接受方進入狀態(tài)y;
規(guī)則2:當處于狀態(tài)x的參會成員發(fā)言結(jié)束后,該參會成員轉(zhuǎn)換到狀態(tài)y,記為x->y;
規(guī)則3:當處于狀態(tài)y的參會成員向請求方提出發(fā)言申請后,該參會成員的狀態(tài)則轉(zhuǎn)換到狀態(tài)q,記為y->q;參會成員在轉(zhuǎn)換到狀態(tài)q之后,進入發(fā)言申請隊列Q中排隊等待;
規(guī)則4:當處于休眠狀態(tài)z的參會成員向請求方提出發(fā)言申請后,參會成員進入?yún)暾堦犃衂中排隊等待,一旦請求方同意申請,則該參會成員的狀態(tài)轉(zhuǎn)換到狀態(tài)y,記為z->y;
規(guī)則5:當處于申請發(fā)言狀態(tài)q的參會成員被請求方同意發(fā)言,則該參會成員的狀態(tài)轉(zhuǎn)換到狀態(tài)x,記為q->x;
規(guī)則6:當處于參會狀態(tài)y的參會成員向請求方提出退出會議,請求方同意后,該參會成員的狀態(tài)轉(zhuǎn)換到狀態(tài)z,記為y->z;
規(guī)則7:系統(tǒng)中處于x狀態(tài)的參會成員在同一時刻只能有一個;
根據(jù)上述規(guī)則1-7,可以得出以下推論:
推論1:當處于狀態(tài)q的參會成員集合為空或處于狀態(tài)z的成員集合為空時,會議正常進行;
推論2:在會議的全過程中,會議主持人不能處于狀態(tài)z;
上述規(guī)則中兩個隊列,等待發(fā)言隊列Q和休眠隊列Z;兩個隊列均采用先來先服務算法,即先進入隊列的參會成員先得到服務。
在上述步驟四中,按照如下方法實現(xiàn)視頻圖像分屏顯示;
主屏視區(qū)為所用移動終端的滿屏視區(qū);
設移動終端顯示屏滿屏寬度為B,長度為L;則每個附屏視區(qū)區(qū)域定義為寬度:B/4,長度:1.2*B/4;
附屏透明顯示在主屏之上;
根據(jù)在上述權(quán)利要求1步驟二和步驟三中,參會成員數(shù)n+1的不同和參會成員所處狀態(tài)的不同,使用兩種不同的顯示屏區(qū)域劃分算法,方案一和方案二;
方案一:n<=4時,處于x狀態(tài)的參會成員的視頻圖像顯示在主屏視區(qū),處于y狀態(tài)的參會成員的視頻圖像分別在顯示屏四角的附屏視區(qū)顯示;
方案二:n>4時,處于x狀態(tài)的參會成員的視頻圖像顯示在主屏視區(qū),處于y狀態(tài)的參會成員的視頻圖像在顯示屏右側(cè)附屏視區(qū)列表顯示;附屏視區(qū)列表滑動顯示。
在上述步驟五中,按照如下算法實現(xiàn)圖像聲音信號管理;
參會成員的視頻圖像采用如下多視頻流刷新算法:
視頻流段在多窗口中采用輪流刷新算法;將一秒分為30個時間片,每個時間片占時1/30秒,每個時間片刷新一個視頻流;
為確保x狀態(tài)的發(fā)言者視頻圖像流暢,保證其視頻流刷新率為15fps;本發(fā)明采取主屏附屏交替刷新,各個附屏依次刷新的算法;即刷新順序為:
主屏->附屏1->主屏->附屏2->……->主屏->附屏n。
在上述步驟六中,圖像映射算法具體表示如下;
在系統(tǒng)中,使用如下算法將原始視頻圖像完整地映射在指定的移動終端屏幕視區(qū)內(nèi)顯示;
將原始視頻圖像p×q放在坐標系XOY的第1象限的原點,則可由原始視頻圖像左上和右下兩點坐標(0,0)及(p,q)唯一地確定該原始視頻圖像的區(qū)域;
將映射視區(qū)b×d放在與原始視頻圖像同一坐標系第一象限內(nèi),則映射視區(qū)可用映射視區(qū)兩點坐標(x1,y1)(x2,y2)來唯一確定;
原始視頻圖像是由一組像素點組成的,記為W={w(x,y)},x,y分別表示這個像素點的橫縱坐標;原始視頻圖像映射后的映射圖像由另一組像素點W’={w’(x’,y’)}組成,x’和y’表示x,y映射后的橫縱坐標;設原始視頻圖像的視區(qū)水平寬度為Vx個顯示單位,顯示單位通常為像素,垂直高度為Vy個顯示單位;則:
對任一像素點橫坐標x,使用映射α:
x’=VxRx/(p√(1+((y2-y1)/(x2-x1))2))+a
其中R為余量系數(shù),a為水平位移量;
對其縱坐標y使用映射β:
y’=VyRy/q+b
其中R為余量系數(shù),b為垂直位移量;
使用上述映射算法將當前發(fā)言者的原始視頻圖像顯示到主屏視區(qū)內(nèi),將收聽者各自的原始視頻圖像分別顯示到其對應的附屏視區(qū)內(nèi);即:
發(fā)言者視頻圖像——>主屏視區(qū)
參會者1原始視頻圖像——>附屏視區(qū)1
參會者2原始視頻圖像——>附屏視區(qū)2
……
參會者n原始視頻圖像——>附屏視區(qū)n。
在上述步驟四中,視頻圖像分屏顯示,各個視區(qū)關系表示為:
在同一時間,主屏視區(qū)內(nèi)顯示了n+1幅視頻圖像,即在主屏發(fā)言者的圖像上將參會者的視頻圖像重疊顯示在附屏視區(qū)1,……,n中;這些重疊圖像之間的關系使用的是異或(⊕)的關系;⊕表示兩個圖像重疊透明顯示;即:
主屏視區(qū)圖像⊕附屏視區(qū)1圖像⊕附屏視區(qū)2圖像⊕……⊕附屏視區(qū)n圖像;
主屏視區(qū)與所有附屏視區(qū)之間的圖像是透明可見的。
本發(fā)明具有有益效果。
本發(fā)明調(diào)用現(xiàn)有的微信程序接口,通過微信視頻通訊建立參會成員的連接,提高了視頻會議的便利性和易用性。
本發(fā)明的圖像聲音信號由現(xiàn)有的微信服務器轉(zhuǎn)發(fā),無需搭建專門的服務器,降低了視頻會議的成本。
本發(fā)明在獲取圖像聲音信號流后,根據(jù)會議需要對圖像聲音信號整合,有選擇地向用戶發(fā)送,減少了網(wǎng)絡資源的開銷。
附圖說明
圖1:本發(fā)明的系統(tǒng)模塊示意圖
圖2:本發(fā)明的視頻圖像分屏顯示方案一示意圖
圖3:本發(fā)明的視頻圖像分屏顯示方案二示意圖
圖4:本發(fā)明的參會成員狀態(tài)轉(zhuǎn)換示意圖
圖5:本發(fā)明的圖像映射示意圖
具體實施方式
以下結(jié)合附圖和具體實施例對本發(fā)明作進一步詳細說明。
本發(fā)明充分考慮了現(xiàn)有的視頻會議技術(shù),針對其費用昂貴,部署繁瑣的缺點和微信功能的不完善。在微信的基礎上,通過整合管理多人視頻時的圖像聲音信號,構(gòu)建視頻會議環(huán)境。
本發(fā)明所述的基于微信的視頻會議系統(tǒng)主要包括系統(tǒng)交互界面、圖像映射模塊、圖像聲音信號管理、用戶狀態(tài)管理等幾個組件,系統(tǒng)結(jié)構(gòu)清晰,實現(xiàn)簡單。如圖1所示,以下將詳細介紹本發(fā)明所述系統(tǒng)的具體實施過程。
(1)系統(tǒng)交互界面的實現(xiàn)
系統(tǒng)交互界面是負責用戶與本視頻會議系統(tǒng)交互的模塊。用戶通過界面中的選擇控件完成對系統(tǒng)后臺其它模塊的控制。同時,系統(tǒng)中的圖像和聲音信號也通過系統(tǒng)交互界面顯示給用戶。
本發(fā)明的系統(tǒng)交互界面分為方案一和方案二,根據(jù)參會人數(shù)n+1的不同,系統(tǒng)自動選擇界面方案。n<=4時顯示方案一,n>4時顯示方案二。
設A為請求方,B、C、D為接受方。參會人數(shù)為3+1,系統(tǒng)交互界面使用方案一。如圖2所示,A顯示在主屏視區(qū),B、C、D分別顯示在左上,右上,左下附屏區(qū)域。
設A為請求方,B、C、D、E、F、G、H、I、J為接受方。參會人數(shù)為9+1,系統(tǒng)交互界面使用方案二。如圖3所示,A顯示在主屏視區(qū),B、C、D、E、F、G、H、I、J顯示在右側(cè)附屏視區(qū)列表中,附屏視區(qū)列表可以滑動顯示。
為具有一般性,以下均以A為請求方,B、C、D、E、F、G、H、I、J為接受方的情況說明系統(tǒng)模塊。
(2)用戶狀態(tài)管理模塊
參會成員的狀態(tài)轉(zhuǎn)換流向如圖4所示。
系統(tǒng)交互界面將請求方A和接受方B、C、D、E、F、G、H、I、J發(fā)送給用戶狀態(tài)管理模塊。用戶狀態(tài)管理模塊為每一個參會成員建立成員數(shù)據(jù)結(jié)構(gòu)。成員數(shù)據(jù)結(jié)構(gòu)內(nèi)容包括:參會成員名稱,參會成員ip地址,參會成員狀態(tài),請求方或者接受方,顯示視區(qū)的位置。
根據(jù)上述用戶狀態(tài)轉(zhuǎn)換規(guī)則,參會成員A進入x狀態(tài),參會成員B、C、D、E、F、G、H、I、J進入y狀態(tài)。
設參會成員B、C、D申請發(fā)言,B、C、D進入發(fā)言申請隊列Q。當A發(fā)言結(jié)束時,A的狀態(tài)由x變?yōu)閥,B的發(fā)言申請?zhí)峤坏紸處,B離開發(fā)言申請隊列Q。
A否決B的發(fā)言申請,B的狀態(tài)由q變?yōu)閥。C的發(fā)言申請?zhí)峤坏紸處,C離開發(fā)言申請隊列Q。
A同意C的發(fā)言申請,C的狀態(tài)由q變?yōu)閤。
設E、F、G得到A同意后離開會議,E、F、G的狀態(tài)由y變?yōu)閦。
設E、F申請重新參加會議,E、F進入?yún)暾堦犃衂。
E的參會申請?zhí)峤坏紸處,E離開參會申請隊列,A否決E的參會申請,E保持狀態(tài)z。
F的參會申請?zhí)峤坏紸處,F(xiàn)離開參會申請隊列,A同意F的參會申請,F(xiàn)的狀態(tài)由z變?yōu)閥。
(3)圖像聲音信號管理模塊
讀取用戶狀態(tài)管理模塊中每一個參會成員的成員數(shù)據(jù)結(jié)構(gòu),判斷該參會成員是否處于x狀態(tài),若處于x狀態(tài)則開啟該參會成員的話筒。
讀取用戶狀態(tài)管理模塊中每一個參會成員的成員數(shù)據(jù)結(jié)構(gòu),判斷該參會成員是否處于z狀態(tài),若處于z狀態(tài)則不向該成員發(fā)送圖像聲音信號。
多視頻流刷新算法采用主屏附屏交替刷新,各個附屏依次刷新的算法。
多視頻流刷新算法可以表示如下:
1)初始化:
定義附屏視區(qū)刷新標記i等于0;
2)主屏視區(qū)刷新:
1、執(zhí)行主屏視區(qū)刷新步驟;
2、跳轉(zhuǎn)執(zhí)行3)附屏視區(qū)刷新;
3)附屏視區(qū)刷新:
1、執(zhí)行第i塊附屏視區(qū)刷新步驟;
2、i的值加1;
3、如果i的值等于接受方的人數(shù)n,i的值設置為0;
4、跳轉(zhuǎn)執(zhí)行2)主屏視區(qū)刷新;
其中n為接受方人數(shù)。
(4)圖像映射模塊
圖像映射模塊讀取圖像聲音信號管理模塊發(fā)送的圖像聲音信號及用戶狀態(tài)管理模塊的當前會議參與者的用戶狀態(tài),將每位會議參與者的視頻圖像通過圖像映射算法映射到其對應位置。圖像映射模塊將映射好的圖像和聲音發(fā)送給系統(tǒng)交互界面。
如附圖5所示:
設A處于x狀態(tài),A的原始視頻圖像長為p,寬為q,將A的原始視頻圖像放入第一象限中,左上角為原點,則A的原始視頻圖像可以用(0,0),(p,q)兩點唯一確定。設A原始視頻圖像的視區(qū)水平寬度為Vx個顯示單位,顯示單位通常為像素,垂直高度為Vy個顯示單位。
設A映射到的視區(qū)長為b,寬為d,映射視區(qū)可以用(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為余量系數(shù),a為水平位移量,b為垂直位移量。
雖然本發(fā)明已以較佳實例揭露如上,然其并非用以限定本發(fā)明。本發(fā)明所屬技術(shù)領域中具有通常知識者,在不脫離本發(fā)明的精神和范圍內(nèi),當可做各種的更動與潤飾。因此,本發(fā)明的保護范圍當視權(quán)利要求書所界定者為準。