一種視頻通話方法、裝置和系統的制作方法
【技術領域】
[0001 ]本發明涉及視頻領域,特別涉及一種視頻通話方法、裝置和系統。
【背景技術】
[0002]由于視頻通話的實時性以及較高的交互體驗,使得越來越多的用戶選擇即時視頻來實現自身的交互需求。
[0003]但是現有的即時視頻交互技術中,用戶間的視頻通話是建立在網絡環境基礎上的。傳統的視頻通話在網絡環境不通暢或者視頻通話用戶的視頻通話裝置運行不流暢時,視頻通話畫面會出現模糊、卡頓甚至直接視頻通話斷開的情況,從而降低了用戶體驗,尤其是用戶在視頻通話過程中的交互體驗。
【發明內容】
[0004]為了滿足用戶在即時視頻交互過程中的交互體驗,尤其是網絡環境較差或者視頻通話裝置運行不流暢的場景下的交互體驗,本發明實施例提供了一種視頻通話方法、裝置和系統。所述技術方案如下:
[0005]第一方面,提供了一種視頻通話方法,所述方法包括:
[0006]在視頻通話過程中第一視頻通話裝置檢測是否發生第一默認事件,若是,則:
[0007]所述第一視頻通話裝置獲取當前視頻幀和虛擬形象的標識符及虛擬形象標識符對應的虛擬形象;
[0008]所述第一視頻通話裝置根據所述虛擬形象對所述當前視頻幀進行裁剪,得到裁剪后的當前視頻幀;
[0009]所述第一視頻通話裝置向所述第二視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符;
[0010]所述第二視頻通話裝置接收所述裁剪后的當前視頻幀和虛擬形象的標識符,并根據所述虛擬形象的標識符獲取對應的虛擬形象;以及
[0011]所述第二視頻通話裝置對所述裁剪后的當前視頻幀和所述虛擬形象進行匹配,得到匹配后的當前視頻幀,并顯示所述匹配后的當前視頻幀。
[0012]結合第一方面,在第一種可能的實現方式中,所述第一默認事件包括網絡參數大于第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0013]結合第一方面,在第二種可能的實現方式中,所述第一默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0014]結合第一方面至第一方面的第二種任意一種可能的實現方式,在第三種可能的實現方式中,所述方法包括:
[0015]在視頻通話過程中第一視頻通話裝置檢測是否發生第二默認事件,若是,則:所述第一視頻通話裝置獲取虛擬形象的動作和/或表情的標識符;
[0016]所述第一視頻通話裝置向第二視頻通話裝置發送所述虛擬形象的動作和/或表情的標識符;
[0017]所述第二視頻通話裝置接收所述虛擬形象的動作和/或表情的標識符;
[0018]所述第二視頻通話裝置根據接收的虛擬形象的動作和/或表情的標識符,獲取對應的虛擬形象的動作和/或表情;以及
[0019]所述第二視頻通話裝置顯示所述虛擬形象的動作和/或表情。
[0020]結合第一方面的第三種可能的實現方式,在第四種可能的實現方式中,所述第二默認事件包括網絡參數大于第二預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動,其中,所述第二預設閾值大于所述第一預設閾值。
[0021]結合第一方面的第三種可能的實現方式,在第五種可能的實現方式中,所述第二默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0022]結合第一方面至第一方面的第五種任意一種可能的實現方式,在第六種可能的實現方式中,所述第一視頻通話裝置向所述第二視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符之后,所述方法還包括:
[0023]所述第一視頻通話裝置檢測是否發生第三默認事件,若是,則:所述第一視頻通話裝置向所述第二視頻通話裝置發送所述當前視頻幀;以及
[0024]所述第二視頻通話裝置接收并顯示所述當前視頻幀。
[0025]結合第一方面的第六種可能的實現方式,在第七種可能的實現方式中,所述第三默認事件包括網絡參數小于或者等于所述第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0026]結合第一方面的第六種可能的實現方式,在第八種可能的實現方式中,所述第三默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0027]第二方面,提供了一種視頻通話裝置,所述裝置包括:
[0028]默認事件檢測模塊,用于在視頻通話過程中檢測是否發生第一默認事件;
[0029]視頻幀獲取模塊,用于在所述默認事件檢測模塊檢測到發生所述第一默認事件后,獲取當前視頻幀;
[0030]虛擬形象標識符獲取模塊,用于在所述默認事件檢測模塊檢測到發生所述第一默認事件后,獲取虛擬形象的標識符;
[0031]第一虛擬形象獲取模塊,用于根據所述虛擬形象的標識符獲取對應的第一虛擬形象;
[0032]裁剪模塊,用于根據所述第一虛擬形象對所述當前視頻幀進行裁剪,得到裁剪后的當前視頻幀;以及
[0033]發送模塊,用于向其他視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符;
[0034]結合第二方面,在第一種可能的實現方式中,所述裝置還包括:
[0035]接收模塊,用于接收來自所述其他視頻通話裝置的裁剪后的當前視頻幀和虛擬形象的標識符;
[0036]第二虛擬形象獲取模塊,用于根據接收的虛擬形象的標識符獲取對應的第二虛擬形象;
[0037]匹配模塊,用于對所述裁剪后的當前視頻幀和所述第二虛擬形象進行匹配,得到匹配后的當前視頻幀;以及
[0038]顯示模塊,用于顯示所述匹配后的當前視頻幀。
[0039]結合第二方面,在第二種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第一默認事件,所述第一默認事件包括網絡參數大于第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0040]結合第二方面,在第三種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第一默認事件,所述第一默認事件包括用戶晃動所述視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0041]結合第二方面至第二方面的第三種任意一種可能的實現方式,在第四種可能的實現方式中,所述默認事件檢測模塊還用于在視頻通話過程中檢測是否發生第二默認事件;
[0042]所述虛擬形象標識符獲取模塊還用于在所述默認事件檢測模塊檢測到發生所述第二默認事件后,獲取第一虛擬形象的動作和/或表情的標識符;
[0043]所述發送模塊還用于向其他視頻通話裝置發送所述第一虛擬形象的動作和/或表情的標識符;
[0044]所述接收模塊還用于接收來自其他視頻通話裝置的第二虛擬形象的動作和/或表情的標識符;以及
[0045]所述第二虛擬形象獲取模塊還用于根據接收的所述來自其他視頻通話裝置的所述第二虛擬形象的動作和/或表情的標識符獲取對應的第二虛擬形象的動作和/或表情;
[0046]所述顯示模塊還用于顯示所述第二虛擬形象的動作和/或表情。
[0047]結合第二方面的第四種可能的實現方式,在第五種可能的實現方式中,所述默認事件檢測模塊具體用于檢測所述第二默認事件,所述第二默認事件包括網絡參數大于第二預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動,其中,所述第二預設閾值大于所述第一預設閾值。
[0048]結合第二方面的第四種可能的實現方式,在第六種可能的實現方式中,所述默認事件檢測模塊具體用于檢測所述第二默認事件,所述第二默認事件包括用戶晃動所述視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0049]結合第二方面至第二方面的第六種任意一種可能的實現方式,在第七種可能的實現方式中,所述默認事件檢測模塊還用于檢測是否發生第三默認事件,若是,則所述發送模塊還用于向其他視頻通話裝置發送所述當前視頻幀;
[0050]所述接收模塊還用于接收來自其他視頻通話裝置的所述當前視頻幀;以及[0051 ]所述顯示模塊還用于顯示接收的所述當前視頻幀。
[0052]結合第二方面的第七種可能的實現方式,在第八種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第三默認事件,所述第三默認事件包括網絡參數小于或者等于所述第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0053]結合第二方面的第七種可能的實現方式,在第九種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第三默認事件,所述第三默認事件包括用戶晃動所述視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0054]第三方面,提供了一種視頻通話裝置,所述裝置包括存儲器、觸摸顯示屏、攝像頭、發送/接收模塊以及與所述存儲器、所述觸摸顯示屏、所述攝像頭、所述發送/接收模塊連接的處理器,其中,所述存儲器用于存儲一組程序代碼,所述處理器調用所述存儲器所存儲的程序代碼用于執行以下操作:
[0055]在視頻通話過程中第一視頻通話裝置檢測是否發生第一默認事件,若是,則:
[0056]所述第一視頻通話裝置通過攝像頭獲取當前視頻幀和虛擬形象的標識符及虛擬形象標識符對應的虛擬形象;
[0057]所述第一視頻通話裝置根據所述虛擬形象對所述當前視頻幀進行裁剪,得到裁剪后的當前視頻幀;
[0058]所述第一視頻通話裝置通過發送/接收模塊向所述第二視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符;
[0059]所述第二視頻通話裝置通過發送/接收模塊接收所述裁剪后的當前視頻幀和虛擬形象的標識符,并根據所述虛擬形象的標識符獲取對應的虛擬形象;以及
[0060]所述第二視頻通話裝置對所述裁剪后的當前視頻幀和所述虛擬形象進行匹配,得到匹配后的當前視頻幀,并通過觸摸顯示屏顯示所述匹配后的當前視頻幀。
[0061]結合第三方面,在第一種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0062]所述第一默認事件包括網絡參數大于第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0063]結合第三方面,在第二種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0064]所述第一默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0065]結合第三方面至第三方面的第二種任意一種可能的實現方式,在第三種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼還用于執行以下操作:
[0066]在視頻通話過程中第一視頻通話裝置檢測是否發生第二默認事件,若是,則:所述第一視頻通話裝置獲取虛擬形象的動作和/或表情的標識符;
[0067]所述第一視頻通話裝置通過發送/接收模塊向第二視頻通話裝置發送所述虛擬形象的動作和/或表情的標識符;
[0068]所述第二視頻通話裝置通過發送/接收模塊接收所述虛擬形象的動作和/或表情的標識符;
[0069]所述第二視頻通話裝置根據接收的虛擬形象的動作和/或表情的標識符,獲取對應的虛擬形象的動作和/或表情;以及
[0070]所述第二視頻通話裝置通過觸摸顯示屏顯示所述虛擬形象的動作和/或表情。
[0071]結合第三方面的第三種可能的實現方式,在第四種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0072]所述第二默認事件包括網絡參數大于第二預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動,其中,所述第二預設閾值大于所述第一預設閾值。
[0073]結合第三方面的第三種可能的實現方式,在第五種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0074]所述第二默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0075]結合第三方面至第三方面的第五種任意一種可能的實現方式,在第六種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼還用于執行以下操作:
[0076]所述第一視頻通話裝置向通過發送/接收模塊所述第二視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符之后,所述方法還包括:
[0077]所述第一視頻通話裝置檢測是否發生第三默認事件,若是,則:所述第一視頻通話裝置向所述第二視頻通話裝置通過發送/接收模塊發送所述當前視頻幀;以及
[0078]所述第二視頻通話裝置通過發送/接收模塊接收并通過觸摸顯示屏顯示所述當前視頻幀。
[0079]結合第三方面的第六種可能的實現方式,在第七種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0080]所述第三默認事件包括網絡參數小于或者等于所述第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0081]結合第三方面的第六種可能的實現方式,在第八種可能的實現方式中,所述處理器調用所述存儲器所存儲的程序代碼具體用于執行以下操作:
[0082]所述第三默認事件包括用戶晃動所述第一視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0083]第四方面,提供了一種視頻通話系統,所述系統包括第一視頻通話裝置和第二視頻通話裝置,其中,
[0084]所述第一視頻通話裝置包括:
[0085]默認事件檢測模塊,用于在視頻通話過程中檢測是否發生第一默認事件;
[0086]視頻幀獲取模塊,用于在所述默認事件檢測模塊檢測到發生所述第一默認事件后,獲取當前視頻幀;
[0087]虛擬形象標識符獲取模塊,用于在所述默認事件檢測模塊檢測到發生所述第一默認事件后,獲取虛擬形象的標識符;
[0088]第一虛擬形象獲取模塊,用于根據所述虛擬形象的標識符獲取對應的虛擬形象;
[0089]裁剪模塊,用于根據所述虛擬形象對所述當前視頻幀進行裁剪,得到裁剪后的當前視頻幀;
[0090]發送模塊,用于向第二視頻通話裝置發送所述裁剪后的當前視頻幀和所述虛擬形象的標識符;
[0091 ]所述第二視頻通話裝置包括:
[0092]接收模塊,用于接收來自所述第一視頻通話裝置的所述裁剪后的當前視頻幀和虛擬形象的標識符;
[0093]第二虛擬形象獲取模塊,用于根據所述虛擬形象的標識符獲取對應的虛擬形象;
[0094]匹配模塊,用于對所述裁剪后的當前視頻幀和所述虛擬形象進行匹配,得到匹配后的當前視頻幀;以及
[0095]顯示模塊,用于顯示所述匹配后的當前視頻幀。
[0096]結合第四方面,在第一種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第一默認事件,所述第一默認事件包括網絡參數大于第一預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動。
[0097]結合第四方面,在第二種可能的實現方式中,所述默認事件檢測模塊具體用于檢測第一默認事件,所述第一默認事件包括用戶晃動所述視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0098]結合第四方面至第四方面的第二種任意一種可能的實現方式,在第三種可能的實現方式中,所述默認事件檢測模塊還用于在視頻通話過程中檢測是否發生第二默認事件;
[0099]所述虛擬形象標識符獲取模塊還用于在所述默認事件檢測模塊檢測到發生所述第二默認事件后,獲取虛擬形象的動作和/或表情的標識符;
[0100]所述發送模塊還用于向所述第二視頻通話裝置發送所述虛擬形象的動作和/或表情的標識符;
[0101]所述接收模塊還用于接收來自所述第一視頻通話裝置的所述虛擬形象的動作和/或表情的標識符;
[0102]所述第二虛擬形象獲取模塊還用于根據接收的所述虛擬形象的動作和/或表情的標識符獲取對應的虛擬形象的動作和/或表情;以及
[0103]所述顯示模塊還用于所述第二視頻通話裝置顯示所述虛擬形象的動作和/或表
*卜主1同O
[0104]結合第四方面的第三種可能的實現方式,在第四種可能的實現方式中,所述默認事件檢測模塊具體用于檢測所述第二默認事件,所述第二默認事件包括網絡參數大于第二預設閾值,其中,所述網絡參數包括丟包率、往返時延以及抖動,其中,所述第二預設閾值大于所述第一預設閾值。
[0105]結合第四方面的第三種可能的實現方式,在第五種可能的實現方式中,所述默認事件檢測模塊具體用于檢測所述第二默認事件,所述第二默認事件包括用戶晃動所述視頻通話裝置所在的物理設備、預設的用戶手勢、預設的語音和點擊預設的按鍵中的任意一個或多個。
[0106]結合第四方面至第四方面的第五種任意一種可能的實現方式,在第六種可能的實現方式中,所述默