專利名稱:一種視頻通信畫面顯示控制裝置及方法
技術領域:
本發(fā)明涉及通信技術,特別涉及視頻通信技術,公開一種視頻通信畫面顯示控制裝置及方法。
背景技術:
現有的視頻通信應用中,視頻聊天是一項非常廣泛的應用,隨著視頻聊天的普及,用戶對視頻聊天的各種需求越來越多,其中,畫中畫視頻圖像模式就是一項非常重要的功能。
畫中畫的概念最早出現在電視機的功能中,是利用數字技術在同一屏幕上顯示兩套節(jié)目,即在正常觀看的主畫面上,同時插入一個或多個經過壓縮的子畫面,以便在欣賞主畫面的同時,監(jiān)視其它頻道。而在視頻聊天的視頻圖像中,為了滿足用戶的需求,也能夠實現同樣的效果,所不同的只是畫中畫的內容不再是電視頻道,而是視頻聊天雙方的攝像頭所捕獲的內容。所以在視頻聊天中的畫中畫視頻圖像模式就是指在一個視頻窗口中顯示視頻聊天雙方的視頻圖像,一方顯示為視頻窗口尺寸的主畫面,另一方顯示為覆蓋于主畫面之上指定尺寸的子畫面,這樣用戶可以在同一個視頻窗口中同時看到對方和自己的視頻圖像。
如圖1所示,視頻聊天過程中,一般會出現兩個視頻窗口,一個是遠程窗口,用于顯示對方視頻圖像,一個是本地窗口,用于顯示本地視頻圖像,圖中用不同的箭頭方向標識。從網絡中獲取的對方視頻數據就會顯示在遠程窗口上,而從本地攝像頭獲取的視頻數據則會顯示在本地窗口上。
如圖2所示,現在有些主流視頻聊天軟件提供了畫中畫的功能,而在功能實現上,所采用的是窗口疊加的方式實現畫中畫,將其中一個視頻顯示窗口縮小到指定尺寸,另一個窗口大小不變,把縮小的窗口疊加到另一個窗口上,此時大小不變的窗口則作為畫中畫模式中的主畫面,縮小的窗口則作為子畫面,在視覺上可以呈現出畫中畫的效果。
如圖3所示,現有視頻通信控制器1中設置管理軟件,管理軟件中包括兩個獨立控制模塊,遠程視頻顯示控制模塊101和本地視頻顯示控制模塊102,視頻通信控制器1中還包括用戶操作指令接收模塊103和用戶操作指令解析模塊104,用戶操作指令接收模塊103接收到用戶操作時,送入用戶操作指令解析模塊104,用戶操作指令解析模塊104解析用戶的操作,具體包括如下幾種1、普通雙畫面顯示遠程視頻顯示過程為打開遠程視頻數據獲取單元從終端連接的網絡中獲取遠程視頻數據幀,并緩存遠程視頻數據緩存單元,同時指示遠程視頻數據傳輸控制單元逐幀從緩存單元中獲取視頻數據幀并發(fā)送給遠程視頻主畫面控制單元,遠程視頻主畫面控制單元創(chuàng)建遠程視頻視窗、解碼視頻數據幀并通過遠程視窗顯示單元顯示。
本地視頻顯示過程和遠程顯示類似,獲取本地視頻圖像為與終端連接的攝像頭,本地視頻數據傳輸控制單元還包括將本地視頻數據幀通過網絡傳輸給對端。
2、畫中畫顯示以在遠程視頻中顯示本地子畫面為例,遠程視頻顯示過程的控制和普通顯示相同,本地視頻畫面控制單元將在遠程顯示視窗上疊加創(chuàng)建縮小到指定尺寸的本地視窗并顯示。
上述窗口疊加方式實現畫中畫的缺點在于1、只能顯示單一的畫中畫模式,無法進行更多的擴展,如子畫面變形等特殊效果;2、由于是窗口疊加,有可能出現其他程序的窗口疊加在主畫面和子畫面之間的情況,造成用戶的不良體驗;3、由于其中一個窗口已被縮小用于實現畫中畫模式,這就意味著在此模式無法再看到子畫面原始大小的視頻圖像內容。
發(fā)明內容
本發(fā)明提供一種視頻通信畫面顯示控制裝置及方法,以解決現有視頻聊天畫中畫顯示模式單一、用戶體驗較差的問題。
一種視頻通信畫面顯示控制裝置,包括遠程視頻顯示控制模塊和本地視頻顯示控制模塊,所述遠程視頻顯示控制模塊包括依次連接的第一遠程視頻數據緩存單元、第一遠程視頻數據傳輸控制單元和第一遠程視頻畫面控制單元;所述本地視頻顯示控制模塊中包括依次連接的第一本地視頻數據緩存單元、第一本地視頻數據傳輸控制單元和第一本地視頻畫面控制單元;所述遠程視頻顯示控制模塊中還包括第二本地視頻數據緩存單元和第二本地視頻數據接收控制單元,所述第一本地視頻數據傳輸控制單元復制本地視頻數據并傳輸給所述第二本地視頻數據緩存單元,由第二本地視頻數據接收控制單元從所述第二本地視頻數據緩存單元中獲取該本地視頻數據并發(fā)送給第一遠程視頻畫面控制單元;和/或所述本地視頻顯示控制模塊中還包括第二遠程視頻數據緩存單元和第二遠程視頻數據接收控制單元,所述第一遠程視頻數據傳輸控制單元復制遠程視頻數據并傳輸給所述第二遠程視頻數據緩存單元,由第二遠程視頻數據接收控制單元從所述第二遠程視頻數據緩存單元中獲取該遠程視頻數據并發(fā)送給第一本地視頻畫面控制單元。
所述遠程視頻顯示控制模塊中還包括遠程視頻數據獲取單元,從網絡獲取遠程視頻數據后送入所述第一遠程視頻數據緩存單元;以及所述本地視頻顯示控制模塊中還包括本地視頻數據獲取單元,獲取本地視頻數據后送入所述第一本地視頻數據緩存單元。
所述遠程視頻顯示控制模塊中還包括連接所述第一遠程視頻數據傳輸控制單元的遠程視窗顯示單元;以及所述本地視頻顯示控制模塊中還包括連接所述第一本地視頻數據傳輸控制單元的本地視窗顯示單元。
所述視頻通信控制裝置還包括用戶操作指令接收模塊和用戶操作指令解析模塊,所述用戶操作指令解析模塊解析用戶操作指令并根據解析結果向所述遠程視頻顯示控制模塊和/或所述本地視頻顯示控制模塊輸入控制信號。
所述第一遠程視頻數據傳輸控制單元或所述第一本地視頻數據傳輸控制單元分別包括視窗創(chuàng)建子單元、視頻數據解碼子單元和視頻數據處理子單元。
所述視頻數據解碼子單元和視頻數據處理子單元并行設置為兩套。
一種用于所述裝置的視頻通信畫面顯示控制方法,包括如下步驟A、遠程視頻顯示控制模塊同步獲取用戶遠程視頻數據幀和本地視頻數據幀,并在遠程視窗中將遠程視頻圖像和本地視頻圖像中的一個顯示為主畫面,另一個同步顯示為子畫面;和/或B、本地視頻顯示控制模塊同步獲取用戶遠程視頻數據幀和本地視頻數據幀,并在本地視窗中將遠程視頻圖像和本地視頻圖像中的一個顯示為主畫面,另一個同步顯示為子畫面。
所述步驟A中,所述遠程視頻顯示控制模塊復制用戶遠程視頻數據幀并傳輸給所述本地視頻顯示控制模塊;和/或所述步驟B中,所述本地視頻顯示控制模塊復制用戶本地視頻數據幀并傳輸給所述遠程視頻顯示控制模塊。
所述步驟A之前還包括如下步驟獲取并解析用戶操作指令;以及根據用戶操作指令控制執(zhí)行步驟A和/或步驟B。
所述的同步顯示具體包括如下步驟預先設定視窗中的主畫面位置和子畫面位置;以及同步解碼遠程視頻數據幀和本地視頻數據幀后,在視窗的主畫面位置和子畫面位置上分別繪制遠程視頻圖像或本地視頻圖像并顯示。
所述方法還包括預先設置子畫面的形狀變化和/或位置變化信息;以及根據所述變化信息控制子畫面的顯示。
所述方法還包括遠程視頻顯示控制模塊僅獲取用戶遠程視頻數據幀并顯示到遠程視窗上;和/或本地視頻顯示控制模塊僅獲取用戶本地視頻數據幀并顯示到本地視窗上。
本發(fā)明的有益效果如下1、本發(fā)明所述裝置實現了遠程視頻數據和本地視頻數據在遠程顯示控制模塊和本地顯示控制模塊中的同步傳輸,通過數據的同步處理,分別在遠程視窗或本地視窗中同步顯示遠程視頻圖像和本地視頻圖像,實現多種畫中畫模式的控制顯示,滿足用戶不同的需求;2、本發(fā)明所述方法的在顯示畫中畫效果時,兩個視頻圖像通過數據處理顯示在一個視窗中,避免了視窗疊加造成的不良影響;3、本發(fā)明所述方法可以對子畫面進行特效處理,避免了子畫面在變形或漂移過程對主畫面視頻圖像的影響。
圖1為視頻聊天畫面普通顯示模式示意圖,其中兩個箭頭方向分別標識遠程畫面和本地畫面;圖2為現有視頻聊天畫中畫顯示模式示意圖,其中兩個箭頭方向分別標識遠程畫面和本地畫面;圖3為現有視頻聊天畫面控制模塊結構示意圖;圖4a~圖4e分別為本發(fā)明所述方法控制的視頻聊天畫中畫顯示模式示意圖,其中兩個箭頭方向分別標識遠程畫面和本地畫面;圖5為本發(fā)明所述視頻聊天畫面控制模塊結構示意圖;圖6為視頻畫面控制單元的結構示意圖;圖7為非畫中畫顯示的處理流程;圖8為在遠程視頻窗口中顯示畫中畫處理流程。
具體實施例方式
為了在視頻通信中,為用戶提供多種畫中畫模式,以及更好的畫中畫視頻圖像體驗,本發(fā)明提供了一種實現多種畫中畫模式的視頻通信控制器,有效控制畫中畫模式下網絡視頻數據和本地視頻數據之間的交換和顯示,以達到如圖4a~圖4e所示的多種畫中畫顯示效果,并可以對子畫面進行方便的變形等特效處理。
如圖5所示,與現有技術相同,本發(fā)明所述實現多模式畫中畫效果的視頻通信管理器2中包括兩個控制模塊,遠程視頻顯示控制模塊201和本地視頻顯示控制模塊202,視頻通信控制器2中還包括用戶操作指令接收模塊203和用戶操作指令解析模塊204,用戶操作指令接收模塊203接收到用戶操作時,送入用戶操作指令解析模塊204,用戶操作指令解析模塊204解析用戶的操作并輸出相應的控制指令。
由于本發(fā)明要實現的畫中畫模式在一個窗口中同時顯示對方和本地的視頻的同時,保持另外一個窗口的完全顯示,所以,與現有技術不同的是,遠程視頻顯示控制模塊201和本地視頻顯示控制模塊202分別需要同時獲取對方的視頻數據,這就需要有效的控制視頻數據的傳輸,以實現各種畫中畫模式,由此首先,在遠程視頻顯示控制模塊201和本地視頻顯示控制模塊202分別增加相應的數據緩存區(qū)以及邏輯控制。在遠程顯示控制模塊201中,增加本地視頻數據緩存單元,并設立一個數據接收控制單元,控制其是否接收本地視頻數據;同時在數據傳輸控制單元中增加數據傳輸控制功能,控制其是否向本地顯示控制模塊202傳輸復制的遠程視頻數據;在遠程主畫面控制單元中增建本地視頻子畫面的控制功能,控制在遠程視頻畫面中顯示畫中畫模式,并且可以靈活控制以遠程視頻圖像為主畫面還是以本地視頻圖像為主畫面;同理,在本地顯示控制模塊202中,增加遠程視頻數據緩存單元,并設立一個遠程視頻數據接收控制,控制其是否接收遠程視頻數據;坐在本地視頻數據緩存單元中增建設立一個數據傳輸控制,控制其是否向遠程顯示控制模塊201傳輸復制的本地視頻數據;同時在本地視頻主畫面控制單元中增建設立控制顯示畫中畫模式,是以遠程視頻圖像為主畫面還是以本地視頻圖像為主畫面。這樣就可以通過這些邏輯控制實現數據的傳輸,從而實現畫中畫視頻圖像。
接著,還需要在操作指令解析模塊中建立模式操作指令以及各邏輯控制跟操作指令的對應關系,從而實現通過操作指令完成對數據的控制以及不同畫中畫模式的切換。這里的操作指令就是指用戶向系統(tǒng)傳達的所需要的畫中畫模式類型,比如非畫中畫,畫中畫模式1,畫中畫模式2......等等。
當切換非畫中畫模式時,需要將所有邏輯控制禁用,這樣就不會有數據傳輸,則顯示原始畫面。當切換到畫中畫模式中時,如果需要在遠程窗口顯示,則開啟遠程顯示控制模塊201中的數據接收控制和本地顯示控制模塊202中的數據傳輸控制,那么遠程顯示控制模塊201就可以從本地顯示控制模塊202中獲取本地視頻數據,再加上從網絡獲取的遠程視頻數據,就可以在遠程窗口中同步顯示雙方的視頻圖像了。再通過主畫面控制來選擇遠程或是本地作為主畫面,就可以顯示出其中一種畫中畫模式了。
如圖6所示,遠程視頻主畫面控制單元或本地視頻主畫面控制單元分別包括視窗創(chuàng)建子單元、視窗存儲子單元、視頻數據解碼子單元和視頻數據處理子單元;其中視頻數據解碼子單元和視頻數據處理子單元并行設置為兩套,分別用于主畫面顯示和子畫面顯示。
在遠程視窗和本地視窗中,主畫面和子畫面的位置信息實現設定到處理流程中,并且如果需要對子畫面進行變形、漂移等特效處理,處理流程中預先設定有相關變形處理的子流程。
圖5所示結構為本發(fā)明的較佳實施方式,根據本發(fā)明實現原理,也可以僅在遠程視頻顯示控制模塊201或本地顯示控制模塊202中增加相應的功能單元,從而在其中一個視窗上實現畫中畫顯示控制,這樣,可以相應減少模式指令的種類。
如圖4a~圖4e所示,在畫中畫的窗口選擇中,可以設置三種模式,包括在遠程窗口中顯示畫中畫、在本地窗口中顯示畫中畫或同時在遠程窗口和本地窗口中顯示畫中畫。在顯示畫中畫模式時還可以選擇主畫面為遠程方、子畫面為本地方,或者主畫面為本地方、子畫面為遠程方。
除了上述畫中畫實現模式,還應該包括如圖1所示的普通顯示模式的控制。
具體各畫中畫模式的指令對應關系可以如表1所示表1.畫中畫模式指令對應表
表1所反映出的是數據的流向,遠程顯示控制模塊201可以獲取遠程視頻數據,此時讓本地視頻數據從本地顯示控制模塊202流向遠程顯示控制模塊201,就可以在遠程窗口實現畫中畫;本地顯示控制模塊202可以獲得本地視頻數據,此時讓遠程視頻數據從遠程顯示控制模塊201流向本地顯示控制模塊202,就可以在本地窗口實現畫中畫。但是由于此數據流向涉及兩個線程的數據接收,無法通過一個簡單的控制完成,所以需要建立模式指令,用戶操作指令解析模塊解析用戶指令并根據設定的模式同時對兩個控制模塊中的相關功能單元下發(fā)邏輯控制命令,從而完成數據傳輸和處理。
上述視頻通信控制器2中,遠程視頻主畫面控制模塊201和本地視頻主畫面控制模塊202中在同時獲得遠程視頻數據幀和本地視頻數據幀后,同步解碼遠程視頻數據幀和本地視頻數據幀,并根據預先設定的流程,將其中的一個顯示為主畫面。另一個顯示為子畫面,子畫面直接繪制到主畫面視窗的設定位置并與主畫面同步顯示。當用戶打開視頻控制器時,默認為非畫中畫顯示,遠程視頻主畫面控制模塊或本地視頻主畫面控制模塊的控制流程如圖7所示,這時,僅啟動主畫面視頻數據解碼模塊和處理模塊開始逐幀處理視頻數據,具體包括如下步驟S101、在顯示內存的設定位置創(chuàng)建視頻顯示視窗;S102、接收數據接收控制模塊發(fā)送的視頻數據幀;S103、解碼視頻數據幀;S104、將解碼后的數據根據設定的放大倍數繪制到顯示視窗上并顯示;S105、返回步驟S102。
上述步驟循環(huán)進行,由視窗創(chuàng)建子單元、主畫面視頻數據幀解碼子單元和處理子單元配合,在本地視窗和遠程視窗中同步顯示為完整的主畫面,當收到用戶的顯示模式切換指令時,如果遠程視頻主畫面控制模塊或本地視頻主畫面控制模塊控制顯示畫中畫模式,下面以控制指令類型為在遠程視窗中主畫面顯示遠程視頻、子畫面顯示本地視頻為例進行說明,控制流程如圖8所示,具體包括如下步驟S201、主畫面解碼視頻數據解碼子單元和子畫面視頻解碼子單元接收相應控制指令;S202、主畫面解碼視頻數據解碼子單元逐幀獲取遠程視頻數據幀;子畫面視頻解碼子單元同步逐幀獲取本地視頻數據幀;S203、主畫面解碼視頻數據解碼子單元和子畫面視頻解碼子單元同步解碼本地視頻數據幀和遠程視頻數據幀;S204、主畫面解碼視頻數據處理子單元和子畫面視頻數據處理子單元分別在視窗的指定位置分別繪制主畫面和子畫面,然后同步顯示;S205、返回步驟S202。
主畫面視窗的大小和位置信息以及子畫面的位置信息、以及實現子畫面的各種變形、漂移等特殊效果控制流程都預先設置在處理流程中,由于在一個視窗中同步顯示,子畫面的各種變形、漂移等特殊效果不會影響主畫面的顯示效果。
如果預先設定了子畫面的變形處理流程,則在步驟S204中,啟動該流程對子畫面的視頻數據進行相應處理。步驟S204中所述的子畫面和主畫面同步顯示技術以及子畫面的變形處理技術可以采用DirectX視頻圖像處理技術或其他視頻圖像處理技術,為本領域技術人員所熟知,這里不再贅述。
當再次收到用戶切換回非畫中畫模式時,返回步驟S102進行循環(huán)控制。
以上僅以一個畫中畫的顯示處理流程為例進行說明,其他畫中畫模式的處理流程完全相同,這里不再贅述。
顯然,本領域的技術人員可以對本發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包含這些改動和變型在內。
權利要求
1.一種視頻通信畫面顯示控制裝置,包括遠程視頻顯示控制模塊和本地視頻顯示控制模塊,所述遠程視頻顯示控制模塊包括依次連接的第一遠程視頻數據緩存單元、第一遠程視頻數據傳輸控制單元和第一遠程視頻畫面控制單元;所述本地視頻顯示控制模塊中包括依次連接的第一本地視頻數據緩存單元、第一本地視頻數據傳輸控制單元和第一本地視頻畫面控制單元;其特征在于所述遠程視頻顯示控制模塊中還包括第二本地視頻數據緩存單元和第二本地視頻數據接收控制單元,所述第一本地視頻數據傳輸控制單元復制本地視頻數據并傳輸給所述第二本地視頻數據緩存單元,由第二本地視頻數據接收控制單元從所述第二本地視頻數據緩存單元中獲取該本地視頻數據并發(fā)送給第一遠程視頻畫面控制單元;和/或所述本地視頻顯示控制模塊中還包括第二遠程視頻數據緩存單元和第二遠程視頻數據接收控制單元,所述第一遠程視頻數據傳輸控制單元復制遠程視頻數據并傳輸給所述第二遠程視頻數據緩存單元,由第二遠程視頻數據接收控制單元從所述第二遠程視頻數據緩存單元中獲取該遠程視頻數據并發(fā)送給第一本地視頻畫面控制單元。
2.如權利要求1所述的裝置,其特征在于,所述遠程視頻顯示控制模塊中還包括遠程視頻數據獲取單元,從網絡獲取遠程視頻數據后送入所述第一遠程視頻數據緩存單元;以及所述本地視頻顯示控制模塊中還包括本地視頻數據獲取單元,獲取本地視頻數據后送入所述第一本地視頻數據緩存單元。
3.如權利要求1所述的裝置,其特征在于,所述遠程視頻顯示控制模塊中還包括連接所述第一遠程視頻數據傳輸控制單元的遠程視窗顯示單元;以及所述本地視頻顯示控制模塊中還包括連接所述第一本地視頻數據傳輸控制單元的本地視窗顯示單元。
4.如權利要求1所述的裝置,其特征在于,所述視頻通信控制裝置還包括用戶操作指令接收模塊和用戶操作指令解析模塊,所述用戶操作指令解析模塊解析用戶操作指令并根據解析結果向所述遠程視頻顯示控制模塊和/或本地視頻顯示控制模塊輸入控制信號。
5.如權利要求1所述的裝置,其特征在于,所述第一遠程視頻畫面控制單元或所述第一本地視頻畫面控制單元分別包括視窗創(chuàng)建子單元、視窗存儲子單元、視頻數據解碼子單元和視頻數據處理子單元。
6.如權利要求5所述的裝置,其特征在于,所述視頻數據解碼子單元和視頻數據處理子單元并行設置為兩套。
7.一種視頻通信畫面顯示控制方法,其特征在于,包括如下步驟A、遠程視頻顯示控制模塊獲取用戶遠程視頻數據幀和本地視頻數據幀,并在遠程視窗中將遠程視頻圖像和本地視頻圖像中的一個顯示為主畫面,另一個同步顯示為子畫面;和/或B、本地視頻顯示控制模塊獲取用戶遠程視頻數據幀和本地視頻數據幀,并在本地視窗中將遠程視頻圖像和本地視頻圖像中的一個顯示為主畫面,另一個同步顯示為子畫面。
8.如權利要求7所述的方法,其特征在于,所述步驟A中,所述遠程視頻顯示控制模塊復制用戶遠程視頻數據幀并傳輸給本地視頻顯示控制模塊;和/或所述步驟B中,所述本地視頻顯示控制模塊復制用戶本地視頻數據幀并傳輸給遠程視頻顯示控制模塊。
9.如權利要求7或8所述的方法,其特征在于,所述步驟A之前還包括如下步驟獲取并解析用戶操作指令;以及根據用戶操作指令控制執(zhí)行步驟A和/或步驟B。
10.如權利要求9所述的方法,其特征在于,所述的同步顯示具體包括如下步驟預先設定視窗中的主畫面位置和子畫面位置;以及同步解碼遠程視頻數據幀和本地視頻數據幀后,在視窗的主畫面位置和子畫面位置上分別繪制遠程視頻圖像或本地視頻圖像并顯示。
11.如權利要求10所述的方法,其特征在于,所述方法還包括預先設置子畫面的形狀變化和/或位置變化信息;以及根據所述變化信息控制子畫面的顯示。
12.如權利要求7所述的方法,其特征在于,所述方法還包括遠程視頻顯示控制模塊僅獲取用戶遠程視頻數據幀并顯示到遠程視窗上;和/或本地視頻顯示控制模塊僅獲取用戶本地視頻數據幀并顯示到本地視窗上。
全文摘要
本發(fā)明涉及通信技術,特別涉及視頻通信技術,公開一種視頻通信畫面顯示控制裝置及方法。本發(fā)明所述控制裝置,包括遠程視頻顯示控制模塊和本地視頻顯示控制模塊,其中,遠程視頻顯示控制模塊中包括本地視頻數據緩存單元和本地視頻數據接收控制單元,和/或本地視頻顯示控制模塊中包括遠程視頻數據緩存單元和遠程視頻數據接收控制單元;所述方法包括遠程視頻顯示控制模塊和/或本地視頻顯示控制模塊獲取用戶遠程視頻數據幀和本地視頻數據幀,并在視窗中將遠程視頻圖像和本地視頻圖像中的一個顯示為主畫面,另一個同步顯示為子畫面。應用本發(fā)明所述裝置及方法,實現了多種畫中畫模式的顯示控制,并提高了用戶體驗。
文檔編號H04N5/45GK1972402SQ200510123948
公開日2007年5月30日 申請日期2005年11月24日 優(yōu)先權日2005年11月24日
發(fā)明者龔毅 申請人:騰訊科技(深圳)有限公司