專利名稱:用于視頻通話的速率調整的制作方法
用于視頻通話的速率調整相關申請該PCT申請要求于2010年10月7日提交的題目為“Real-Time ConversationsThrough Video Calling”的美國臨時專利申請n0.61/390,974的優先權。美國臨時專利申請n0.61/390, 974的全部內容通過引用的方式結合于此。該PCT申請要求于2011年7月22日提交的題目為“Rate Adaptation for VideoCalling”的美國專利申請n0.13/189,281的優先權。美國專利申請n0.13/189,281的全部內容通過引用的方式結合于此。
背景技術:
近年來,電信已經從有線通話發展成無線通話并從電路交換網絡發展成分組交換網絡。除了語音通話,如今 電信設備允許一系列的通信,從電子郵件至文本消息,支持許多應用程序,并提供了很多數據服務,該數據服務包括因特網瀏覽和視頻流。因特網瀏覽和視頻流使得電信設備用戶能夠在其電信設備上從因特網網站查看流入的視頻片段。這些技術和其它的集合已導致通過電信設備及它們相關聯的服務供應方支持視頻通話。視頻通話提供了會話伙伴的實時視頻以伴隨在任何語音或視頻通話中實時交換的音頻。用于使視頻流至電信設備的現有技術不能很好地給出視頻通話的實時需求。在將視頻從網站流出的情況中,接收到內容的緩沖器被建立在接收設備上以使得網絡帶寬中的波動對于電信設備用戶是不透明的。因為當網絡連接中斷或擁塞時內容的緩沖器可以用于回放,對于電信設備用戶來說回放似乎是連續的而不是中斷的。雖然這種連續的回放在視頻通話中很重要,但是任何有意義的緩沖所需的延時不能對實時會話起作用。接收到的視頻和音頻在其被接收到時必須向用戶播放以為了通信具有傳統上與語音通話相關聯的實時品質。在未使用有意義的緩沖的情況中,然而,在網絡上進行的語音通話的視頻幀和音頻幀的傳輸遭受中斷、擁塞,并且使覆蓋的質量和類型不同可能導致以暫停和丟失視頻和音頻幀的形式在視頻通話中出現非常明顯的小故障。
具體的描述將參考附圖進行闡述,其中參考編號的最左邊的數字標識附圖編號,參考編號首先出現在附圖中。不同附圖中相同參考編號的使用指示相似或相同的項目或特征。圖1示出了根據不同實施方式的包括參與視頻通話的多個電信設備和促進視頻通話的服務器的示例性情況。圖2示出了根據不同實施方式的顯示基于鏈路質量調整視頻通話的幀速率的示例性電信設備實施的方法的流程圖。圖3示出了根據不同實施方式的顯示基于鏈路質量調整視頻通話的幀速率的示例性服務器實施的方法的流程圖。圖4示出了根據不同實施方式的示例性電信設備系統架構。
圖5示出了根據不同實施方式的計算設備系統架構的示例。
具體實施例方式于此描述了用于至少基于電信設備的上行鏈路和下行鏈路鏈路質量來調整參與實時視頻通話的電信設備的幀速率的技術。每個電信設備可以調整幀速率(其以該幀速率至少基于上行鏈路鏈路質量傳送視頻通話的視頻和音頻幀),并請求其會話伙伴基于下行鏈路鏈路質量調整其幀速率。在一些實施方式中,鏈路質量確定和速率調整可以至少部分由服務器執行,諸如電信設備供應方的服務器。示例性情況圖1示出了根據不同實施方式的包括參與視頻通話的多個電信設備和促進視頻通話的服務器的示例性情況。如圖1所示,第一電信設備102可以在網絡106上參與與第二電信設備104的視頻通話。在一些實施方式中,電信服務供應方的服務器108可以參與建立視頻通話。視頻通話可以包含使用以第一幀速率傳送視頻和音頻幀110的第一電信設備102和以第二幀速率傳送視頻和音頻幀112的電信設備104進行視頻和音頻的交換。第一電信設備102和第二電信設備104還可以使用控制層114交換信令消息。第一電信設備102和第二電信設備104中的每一者可以包括用于建立視頻通話并交換視頻和音頻幀110/112的視頻通話模塊116、用于確定上行鏈路和下行鏈路鏈路質量的鏈路質量確定模塊118、用于基于上行鏈路和下行鏈路鏈路質量調整第一幀速率和第二幀速率的速率調整模塊120、以及用于在預測上行鏈路和下行鏈路鏈路質量中使用的模型122。在一些實施方式中,服務器108還可以包括視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130。服務器108可以通過信令消息132與電信設備102和104通信以達到視頻通話的建立和幀速率的調整的目的并可以從電信設備102/104中的一個向另一個提供視頻和音頻幀132。在不同的實施方式中,第一電信設備102和第二電信設備104的每一者可以為任何類型的電信設備,諸如智能電話、蜂窩式電話、個人數字助理(PDA)、個人計算機(PC)、便攜式電腦、臺式電腦、工作站、媒體播放器、游戲設備、電視、媒體中心等。為了能夠進行視頻通話,第一電信設備102和第二電信設備104中的每一者可以裝備有前置攝像頭(即,攝像頭與顯示器位于電信設備102/104的同一個表面上)或具有能夠連接至外圍攝像頭的端口。并且,如上所述及于此進一步詳細描述的,每個電信設備102/104可以被配置有視頻通話模塊116、鏈路質量確定模塊118、速率調整模塊120及模型122。示例性電信設備102/104在圖4中將更加詳細地示出并且以下參考該圖詳細地進行描述。在一些實施方式中,網絡106可以包括向電信設備102/104提供多種電信服務(包括視頻通話)的電信服務供應方的電信網絡。電信網絡106可以包括服務器108和多個計算設備(例如,由一個或多個廣域網(WAN)、一個或多個局域網(LAN),和/或一個或多個個人局域網(PAN)連接的)。電信網絡106的這些計算設備之間的通信可以是有線的、無線的或二者的結合。這些通信可以利用本領域已知的任何種類的電信協議來發送和接收消息,諸如,傳輸控制協議/ 因特網協議(TCP/IP)、超文本傳輸協議(HTTP)、可擴展通訊和表示協議(XMPP, Extensible Messaging and Presence Protocol),和 / 或會話發起協議(SIP)。這些協議中的任何一個或多個協議還可以被用于通過電信網絡106的基站或其它接入點與電信設備102/104進行通信并用于進一步地與諸如WAN、LAN、PAN或因特網的一個或多個其它網絡通信。在一些實施方式中,網絡106的基站和接入點可以通過多種類型的網絡與電信設備102/104通信,該多種類型的網絡尤其包括IG網絡、2G網絡、3G網絡、4G網絡、后一代網絡、W1-Fi網絡,或W1-Max網絡。當電信設備102/104在不同位置間移動時,它們可以通過提供不同類型的網絡的不同的基站和接入點來訪問網絡106。例如,第一基站可以提供4G網絡而第二基站可以提供3G網絡。當電信設備102/104從第一基站的小區移動至第二基站的小區時,電信設備102/104從4G網絡連接轉換為3G網絡連接。在一種實施方式中,與第二基站相關聯的小區可以包括與WiFi網絡相關聯的位置。在這種實施方式中,當電信設備102/104到達與WiFi網絡相關聯的位置時,其可以連接至WiFi網絡而不是3G網絡。雖然服務器108被顯示為單個計算設備,但是服務器108可以按照任何一個或多個計算設備來實施,諸如PC、便攜式計算機、工作站、服務器系統、大型計算機、服務器機群,或任何其它計算設備。組成服務器108的一個或多個計算設備還可以通過一個或多個網絡連接,諸如WAN、LAN、PAN或因特網,并且可以利用本領域中已知的任何種類的通信協議來發送和接收消息,諸如TCP/IP、HTTP或任何其它協議。并且,服務器108的視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130可以在單個計算設備中實施或分布在服務器108的多個計算設備中。例如,服務器108的一個計算設備可以實施視頻通話模塊124且另一個可以實施鏈路質量確定模塊126、速率調整模塊128及模型130。示例性服務器108在圖5中被更加詳細地示出并且以下將參考該附圖詳細地進行描述。在不同的實施方式中,第一電信設備102和第二電信設備104可以通過信令消息和交換信令消息來建立視頻通話。在一些實施方式中,負責交換這些消息的第一和第二電信設備102和104的模塊可以是視頻通話模塊116。例如,如果第一電信設備102發起視頻通話,則第一電信設備102的視頻通話模塊116可以通過服務器108或通過電信服務供應方的一些其它設備向第二電 信設備104發送邀請以參與視頻通話。然后,第二電信設備104可以回復應答,在第一電信設備102和第二電信設備104之間建立控制層114。使用控制層114、第一電信設備102和第二電信設備104可以進一步交換用于建立視頻通話的消息。一旦視頻通話被建立,第一電信設備102以第一幀速率向第二電信設備104傳送視頻和音頻幀110,并且第二電信設備104以第二幀速率傳送視頻和音頻幀112。在一些實施方式中,基于網絡、設備或與第一電信設備102和第二電信設備104中每一者相關聯的用戶特性而有條件地建立視頻通話。這種網絡、設備或用戶特性可以包括當前網絡連接類型、當前網絡負載、設備特性(如,設備是否就有前置攝像頭)、或用戶特征(如,用戶是否登錄)。當第一電信設備102發起視頻通話時,第一電信設備102的視頻通話模塊116可以首先確定網絡、設備或第一電信設備102的用戶特性。例如,視頻通話模塊116可以確定第一電信設備102是否被連接至3G網絡、4G網絡、WiFi網絡等,第一電信設備102是否具有前置攝像頭,和/或第一電信設備102的用戶是否登錄。在一些實施方式中,視頻通話模塊116然后基于網絡、設備或用戶特性(諸如基于特定網絡類型)來發起視頻通話。在一個實施方式中,那些一個或多個特定網絡類型包括4G網絡和WiFi網絡。在這類實施方式中,如果第一電信設備102被連接至3G網絡,則視頻通話模塊116將不發起視頻通話。轉而,視頻通話模塊116可以通知第一電信設備102的用戶或應用程序視頻通話當前是無效的。在一個實施方式中,在建立視頻通話之前,發起的電信設備102/104可以接收來自服務器108的通知,該通知告知電信設備102/104WiFi網絡在電信設備102/104的位置處是可用的。當電信設備102/104在WiFi網絡可用的位置處被連接至3G網絡時,電信設備102/104可以接收來自服務器108這種警告。該警告還可以告知電信設備102/104的用戶連接至WiFi網絡將使得用戶能夠參與視頻通話。在不同實施方式中,第一電信設備102和第二電信設備104之間的視頻通話可以為實時會話,該實時會話包含在視頻和音頻幀110和112中傳送的視頻和音頻數據的實時交換。在視頻和音頻數據被接收到時,視頻通話模塊116可以通過電信設備平臺或其它應用程序來提供視頻和音頻數據以用于渲染(rendering)。在一些實施方式中,視頻通話模塊116可以緩沖接收到的視頻和音頻數 據,但是緩沖的數據的數量足夠小以致于在視頻和音頻數據的實時回放中不會引入延遲。在這類實施方式中,緩沖超過時間量閾值的視頻和音頻數據可以被丟棄。在另一實施方式中,參與實時視頻通話的電信設備102和104中的一者或二者可以在視頻通話期間變化位置,這導致了不同的網絡連接類型或不同的網絡負載。例如,電信設備102/104可以從具有4G網絡可用性的小區移動至具有3G網絡可用性的小區。響應于檢測到網絡連接類型的變化,該移動的電信設備102/104的視頻通話模塊116可能使視頻通話掉線,通知該移動的電信設備102/104的用戶必須連接至WiFi網絡或者通話將掉線,或者從視頻通話轉換為語音通話、及時消息會話、文本消息或電子郵件。在不同的實施方式中,第一電信設備102的鏈路質量確定模塊118和第二電信設備104的鏈路質量確定模塊118可以被配置成確定用于它們各自的電信設備102和104的上行鏈路和下行鏈路鏈路質量。鏈路質量指的是鏈路(諸如上行鏈路信道或下行鏈路信道)在特定時間的數據吞吐量的能力。在一些實施方式中,鏈路質量包括信號強度和/或信噪比的測量。上行鏈路鏈路質量是電信設備在傳送數據中所使用的射頻頻譜的上行鏈路信道的鏈路質量。下行鏈路鏈路質量是電信設備在接收數據中所使用的射頻頻譜的下行鏈路信道的鏈路質量。鏈路質量確定模塊118可以響應于諸如視頻通話的建立的事件來確定上行鏈路和下行鏈路鏈路質量,或者可以通過周期性地確定那些鏈路質量來監測上行鏈路和下行鏈路鏈路質量。在一些實施方式中,鏈路質量確定模塊118還可以監測網絡連接類型的變化或接收來自視頻通話模塊116的網絡連接類型變化的通知。在不同的實施方式中,電信設備102/104的鏈路質量確定模塊118可以基于模型122確定上行鏈路和下行鏈路鏈路質量的預測。模型122可以包括歷史數據,該歷史數據用于指示在特定日期和時間時電信設備102/104的位置以及在那些日期和時間時的那些位置處的鏈路質量。在一個實施方式中,模型122還可以或替代(instead)為事件數據。基于這些模型122及當前日期/時間的任意一者或二者或電信設備102/104的位置,鏈路質量確定模塊118可以預測電信設備102/104的上行鏈路和下行鏈路鏈路質量以及那些鏈路質量在時間周期上的變化。這些預測可以被使用以替代確定的鏈路質量或可以用于修改確定的鏈路質量。響應于確定鏈路質量變化,與被確定變化的電信設備102/104相關聯的速率調整模塊120可以被調用以執行調整幀速率或請求另一電信設備102/104調整它的幀速率中的一者或二者。響應于確定上行鏈路鏈路質量已經變化,速率調整模塊120調整幀速率,其電信設備102/104以該幀速率傳送視頻和音頻幀110/112。響應于確定下行鏈路鏈路質量已經變化,速率調整模塊120請求該另一電信設備102/104調整該幀速率,其以該幀速率向請求的電信設備102/104傳送視頻和音頻幀110/120。在一些實施方式中,對幀速率的調整程度直接地與鏈路質量中的變化成比例。該比例可以是線性的、指數的、對數的,或其它種類的比例。因此,鏈路質量的提高可能導致速率調整模塊120增加幀速率或請求另一電信設備102/104增加其幀速率。鏈路質量的降低可能導致速率適用模塊120降低幀速率或者請求另一電信設備102/104降低其幀速率。另夕卜,調整程度可以基于鏈路質量變化和用于實時視頻通話的幀速率范圍二者。例如,如果一個電信設備102/104的鏈路質量確定模塊118確定上行鏈路鏈路質量已經降低且下行鏈路鏈路質量已經提高,則該電信設備102/104的速率調整模塊120可以降低該電信設備102/104的幀速率并請求另一電信設備102/104增加其幀速率。另外,在一些實施方式中,速率調整模塊120在第一電信設備102與第二電信設備104之間的控制層114上傳送請求以調整幀速率。每個請求可以包括作為用于調整幀速率的請求的其本身的標識和請求的電信設備102/104的下行鏈路鏈路質量的指示二者。在不同的實施方式中,速率調整模塊120基于電信設備102/104的上行鏈路鏈路質量和在從電信設備102和104的另一者接收到的速率調整請求中特定的下行鏈路鏈路質量二者來調整其電信設備102/104的幀速率。速率調整模塊120確定那兩個鏈路質量中的較低者并基于該較低的鏈路質量來調整幀速率。例如,如果電信設備102/104的上行鏈路鏈路質量為強而另一電信設備102/104的下行鏈路鏈路質量為弱,則速率調整模塊120基于另一電信設備102/104的下行鏈路鏈路質量來調整幀速率。在一些實施方式中,電信設備102/104的速率調整模塊120可以響應于網絡連接類型變化來調整該電信設備102/104的幀速率并請求另一電信設備102/104調整該幀速率。例如,如果電信設備102/104 從4G網絡變成3G網絡,則該電信設備102/104的速率調整模塊120可以降低該電信設備102/104的幀速率并請求另一電信設備102/104的幀速率降低。在其它實施方式中,如上文所述,電信設備102/104可以響應于這類網絡連接類型變化來替代視頻通話的掉線或轉換成語音通話或其它通信媒體。在一個實施方式中,電信設備102/104的速率調整模塊120接收來自服務器108的指示以調整它們的巾貞速率,而不是接收來自鏈路質量確定模塊118的鏈路質量的指示。然后速率調整模塊120可以根據所接收的指示調整它們的幀速率。在不同的實施方式中,如上文所述,服務器108還可以參與在電信設備102和104之間建立視頻通話。服務器108的視頻通話模塊124可以接收來自發起視頻通話的電信設備102/104的信令消息132并可以向被呼叫(call)的電信設備102/104有條件地提供信令消息132。視頻通話模塊124可以基于網絡、設備或當事者中的一者或二者的用戶特性有選擇地向視頻通話提供信令消息。例如,如果電信設備102和104中的任何一者被連接至不是4G網絡或WiFi網絡的網絡,則視頻通話模塊124可能使視頻通話掉線。在其它實施方式中,除基于網絡、設備或用戶特性調整電信設備102和104的一者或二者的幀速率以夕卜,視頻通話模塊124可以建立通話。
在一些實施方式中,視頻通話模塊124或服務器108的其它模塊可以定期確定在WiFi連接為可用的地方電信設備102/104是否被連接至除了 WiFi以外的網絡。在一個實施方式中,視頻通話模塊124或其它模塊可以基于模型130確定具有WiFi連接的位置,該模塊130可以指示電信設備102和104先前經由WiFi網絡連接至網絡106的位置。響應于確定WiFi可用性,視頻通話模塊124或其它模塊可以警告電信設備102/104WiFi連接為可用的并且至WiFi網絡的連接將使其能夠參與視頻通話。在另一實施方式中,響應于來自想要與當前未連接至WiFi的電信設備102/104進行視頻通話的電信設備102/104的信令消息132,該警告可以通過視頻通話模塊124或其它模塊被發送。在這類實施方式中,該警告還可以提及通話電信設備102/104的身份,開始至WiFi網絡的連接將使能與該通話的電信設備102/104進行視頻通話。在視頻通話期間,服務器108可以從每個電信設備102/104向另一電信設備102/104傳遞視頻和音頻幀132。在整個視頻通話中,視頻通話模塊123可以監測在整個視頻通話中可能變化的電信設備102和104的網絡連接類型。響應于檢測至不是4G網絡或WiFi網絡的網絡變化,視頻通話模塊124可能使視頻通話掉線。在其它實施方式中,視頻通話模塊124可以基于網絡連接類型來調整電信設備102和104中的一者或二者的幀速率。在不同的實施方式中,服務器108的鏈路質量確定模塊126確定電信設備102和104的上行鏈路和下行鏈路鏈路質量。鏈路質量確定模塊126可以基于如視頻通話的建立來執行該確定,或者可以周期性地執行該確定。在一個實施方式中,確定電信設備102和104的上行鏈路和下行鏈路鏈路質量可以簡單地包含接收來自電信設備102和104的那些鏈路質量的指示。在不同的實施方式中,鏈路質量確定模塊126可以基于模型130來確定上行鏈路和下行鏈路鏈路質量的預測。模型 130可以包括歷史數據,該歷史數據指示在特定日期和時間時電信設備102和104的的位置及在那些日期和時間的那些位置處的鏈路質量。在一個實施方式中,模型130還可以或替代為事件數據。基于這些模型130及當前日期/時間的任意一者或二者或電信設備102和104的位置,鏈路質量確定模塊126可以預測電信設備102和104的上行鏈路和下行鏈路鏈路質量以及那些鏈路質量在時間周期上的變化。這些預測可以被使用以替代確定的鏈路質量或者可以被用于修改確定的鏈路質量。響應于確定至鏈路質量的變化或網絡連接類型的變化,速率調整模塊128可以調整電信設備102和104中的一者或二者的幀速率。如上文所述,這種幀速率的調整可以直接與鏈路質量變化成比例。又如上文所提及的,調整程度可以基于鏈路質量變化和用于實時視頻通話的幀速率的范圍二者。速率調整模塊128可以基于用于第一電信設備102的上行鏈路鏈路質量和用于第二電信設備104的下行鏈路鏈路質量中的較低者來調整第一電信設備102的幀速率。速率調整模塊128還可以基于用于第二電信設備104的上行鏈路鏈路質量和用于第一電信設備102的下行鏈路鏈路質量中的較低者調整第二電信設備104的幀速率。速率調整模塊128可以以多種方式中的任何方式來執行調整。在一些實施方式中,速率調整模塊128可以指示電信設備102和104調整它們的幀速率,在指示中指示調整的類型(增加或降低幀速率)及調整的程度。在其它實施方式中,服務器108可以充當中介,接收和傳送在電信設備102和104之間交換的視頻和音頻幀132。在這類實施方式中,速率調整模塊128可以在其接收及傳送的每m個視頻和音頻幀110/112中丟棄(drop) η個,η小于m。η的大小可以基于調整尋求的程度由速率調整模塊128來確定。示例件操作圖2示出了根據不同實施方式的顯示基于鏈路質量調整視頻通話的幀速率的示例性電信設備實施的方法的流程圖。如塊202處所示,諸如第一電信設備102的電信設備建立與諸如第二電信設備104的另一電信設備的視頻通話(call)。響應于電信設備中的一個發起與另一電信設備的視頻通話,這兩個電信設備可以建立視頻通話。在塊202a處,如果被叫電信設備未連接至多個指定網絡類型(諸如4G網絡或WiFi網絡)中的一個網絡,則來自發起的電信設備的通話可以由電信服務供應方終止。如果被叫電信設備被連接至另一個網絡類型(諸如2G或3G網絡),則電信供應方可以終止該通話。在一些實施方式中,在建立視頻通話之后,電信設備中的一者可以切換網絡類型,諸如從4G網絡至3G網絡的連接。如下文所述,在響應中,視頻通話可以被終止或者可以調整幀被傳送時的速率。在塊202b處,視頻通話的建立可以基于電信設備的一者或二者是否被連接至4G網絡或WiFi網絡而被有條件地執行。因此,如果電信設備的用戶未被連接至WiFi或4G網絡,則用戶的電信設備甚至可能不將發起視頻通話的選項呈現給用戶。在塊204處,每個電信設備可以經由顯示鏈路質量的電信設備平臺確定其上行鏈路鏈路質量和下行鏈路鏈路質量。在塊204a處,每個電信設備還可以或替代地基于與電信設備相關聯的歷史模型確定里鏈路質量。該歷史模型可以包括與通話電信設備的用戶在特定日期和時間時的位置相關聯的鏈路質量。結合系統時間及可選擇的位置的使用,每個電信設備可以預測當前及將來的上行鏈路鏈路質量和下行鏈路鏈路質量。在塊206處,在確定鏈路質量之前、期間或之后中的任一時候,電信設備中的一者或二者可以接收來自電信設備的另一者的請求,該請求用于請求調整該一個或多個電信設備傳送視頻通話的視頻和音頻幀的幀速率。
在塊208處,每個電信設備可以調整電信設備傳送視頻通話的視頻和音頻幀的幀速率。例如,在塊208a處,如果電信設備確定上行鏈路鏈路質量已經降低,則電信設備可以基于上行鏈路鏈路質量的降低來降低幀速率。在塊208b處,每個電信設備可以基于其上行鏈路鏈路質量和另一信設備的下行鏈路鏈路質量中的較低者來調整幀速率,下行鏈路鏈路質量在塊206處接收的請求中被指定。在塊210處,每個電信設備還可以或替代請求另一電信設備調整幀速率,另一電信設備以該幀速率傳送視頻通話的視頻和音頻幀。該請求可以指定電信設備的下行鏈路鏈路質量以使得該請求能夠使另一電信設備基于指定的下行鏈路鏈路質量調整其幀速率。例如,在塊210a,如果請求的電信設備確定其下行鏈路鏈路質量已經提高,則電信設備可以請求另一電信設備增加其幀速率。在塊212處,電信設備可以根據調整的幀速率交換視頻通話的視頻和音頻幀。如在塊212a處所注意到的,幀可以被實時交換,且緩沖超過時間量閾值的視頻和音頻幀被丟棄。在塊214處,每個電信設備可以周期性地監測其上行鏈路和下行鏈路鏈路質量,以及在塊216處,響應于上行鏈路和下行鏈路鏈路質量的變化,執行塊208的調整或塊210的請求中的至少一者。
圖3示出了根據不同實施方式的顯示基于鏈路質量調整視頻通話的幀速率的示例性服務器實施的方法的流程圖。在塊302處,電信服務供應方的服務器可以告知其訂購者中的一者WiFi連接是可用的。該訂購者及其電信設備可以位于已知WiFi為可用但是可能僅例如被連接至3G網絡的位置。基于檢測這些情況,服務器可以經由通過WiFi可用的電信設備提供的警告或其它消息來告知訂購者。服務器還可以告知訂購者WiFi連接將使得訂購者能夠參與視頻通話。在一個實施方式中,該警告可以響應于來自期望使用WiFi可用性進行視頻通話的另一訂購者的請求而被提供。在塊304處,服務器接收來自電信設備的視頻通話的發起,該電信設備可以為接收上述警告的相同設備的或另一電信設備。在塊306處,響應于發起,服務器基于這些電信設備的網絡連接類型在發起視頻通話的電信設備與被指定為被叫方的另一電信設備之間有條件地建立視頻通話。在塊306a處,如果設備中的一者或二者未連接至4G或WiFi網絡,則服務器可以終止視頻通話。然后服務器可以充當中介,進行從每個電信設備至另一電信設備的視頻和音頻幀的通信。在塊308處,服務器確定電信設備的鏈路質量,該電信設備為建立的視頻通話的當事人。這些鏈路質量可以包括每個設備的上行鏈路和下行鏈路鏈路質量。在塊308a處,鏈路質量的確定包括基于電信設備中的一者或二者的位置預測信號強度。在塊310處,服務器基于確定的鏈路質量來調整至少一個電信設備的幀速率,該幀速率為每個電信設備傳 送視頻通話的視頻和音頻幀所使用的速率。服務器可以基于一電信設備的上行鏈路鏈路質量和另一電信設備的下行鏈路鏈路質量中的較低者調整每個電信設備的幀速率。在塊310a處,服務器可以通過指示電信設備中的一者或二者調整它們的幀速率來調整幀速率。可替代的,在塊310b處,服務器可以通過從每m個從每個電信設備接收的視頻和音頻幀中丟棄η個視頻和音頻幀以調整幀速率,其中η小于m。示例件系統圖4示出了根據不同實施方式的示例性電信設備系統架構,諸如第一電信設備102或第二電信設備104中的一者或二者的系統架構。如圖所示,第一電信設備102或第二電信設備104可以包括存儲器402,該存儲器用于存儲視頻通話模塊116、鏈路質量確定模塊118、速率調整模塊120、模型122及其它模塊和數據404。第一電信設備102或第二電信設備104還可以包括處理器406、接口 408、顯示器410、收發信機412、輸出設備414、輸入設備416及包括機器可讀介質420的驅動單元418。在不同的實施方式中,存儲器402通常包括易失性存儲器和非易失性存儲器(如,RAM、ROM、EEPR0M、閃存、微型硬盤、存儲卡、光存儲(storage)、盒式磁帶、磁帶、磁盤存儲或其它磁存儲設備、或任何其它介質)。另外,在一些實施方式中,存儲器402包括SIM (用戶身份識別模塊)卡,其是用于識別對于諸如網絡106的電信網絡的第一電信設備102或第二電信設備104的用戶的可移動的存儲卡。存儲器402還可以被描述為計算機存儲介質并可以包括以用于信息的存儲(諸如計算機可讀指令、數據結構、程序模塊或其它數據)的任何方法或技術實施的易失性和非易失性、可移動和不可移動介質。以上更加具體地描述了如存儲在存儲器402中顯示的視頻通話模塊116、鏈路質量確定模塊118、速率調整模塊120和模型122。其它模塊和數據404可以由第一電信設備102或第二電信設備104用于執行或使能執行由第一電信設備102或第二電信設備104進行的任何行為。其它模塊和數據404可以包括電信設備平臺和應用程序,以及由平臺和應用程序使用的數據。在一些實施方式中,一個或多個處理器406為中央處理單元(CPU)、圖形處理單元(GPU)、或者CPU和GPU 二者、或者任何種類的處理單元。在不同的實施方式中,接口 408為任何種類的接口。接口 408包括無線LAN接口、或者近場接口中的一者或多者。無線LAN接口可以包括使用例如IEEE802.1U802.16和/或802.20標準執行傳送和接收無線通信的功能的W1-Fi接口或W1-Max接口、或者Bluetooth (藍牙 )接口。例如,第一電信設備102或第二電信設備104可以使用W1-Fi接口來直接與附近設備通信。近場接口可以使用W1-Fi接口直接與附近設備通信。近場接口可以包括用于經由近場天線進行傳送和接收近場無線電通信的Bluetooth 接口或RFID。例如,如本領域已知的,近場接口可以用于諸如與附近設備直接通信的功能,該附近設備也是例如Bluetooth 或RFID使能的。閱讀器/詢問機可以與第一電信設備102或第二電信設備104結合。在不同的實施方式中,顯示器410為液晶顯示器或普遍地用于電信設備的任何其它類型的顯示器。例如,顯示器410可以為觸摸顯示屏,并且然后還能夠充當輸入設備或按鍵,諸如用于提供軟鍵盤、導航按鈕等。在一些實施方式中,收發信機412包括本領域已知的任何種類的收發信機。例如,收發信機412可以包括無線電收發信機和執行經由天線傳送和接收射頻通信的功能的接口。這類通信可以包括在與上行鏈路和下行鏈路通信相關聯的射頻上傳送和接收視頻通話的視頻和音頻幀110/112。該無線電接口促進了第一電信設備102或第二電信設備104與各種發射塔、基站和/或接入點之間的無線連接。在一些實施方式中,輸出設備414包括本領域已知的任何種類的輸出設備,諸如顯示器(如顯示器410的描述)、揚聲器、振動機構或觸覺反饋機構。輸出設備414還包括用于一個或多個外圍設備的端口,諸`如耳機、外圍揚聲器、或外圍顯不器。在不同的實施方式中,輸入設備416包括本領域已知的任何種類的輸入設備。例如,輸入設備416可以包括麥克風、鍵盤/按鍵、或者觸摸顯示器(諸如上文所述的觸摸顯示屏)。鍵盤/按鍵可以是下壓按鈕數字撥號盤(諸如在典型電信設備上的)、多鍵鍵盤(諸如傳統的QWERTY鍵盤)、或者一個或多個其它類型的鍵或按鈕,并且還可以包括類似操縱桿的控制器和/或設計的導航按鈕等。如上文所述,電信設備102和104還可以每個包括前置攝像頭或用于至外圍攝像頭的連接物的端口。前置攝像頭和外圍攝像頭也是輸入設備416的示例。機器可讀介質420存儲體現于此描述的所述一個或多個方法或功能的一組或多組指示(如,軟件)。在由第一電信設備102或第二電信設備104執行這些指令期間,這些指令還可以完全或至少部分地位于存儲器402中和一個或多個處理器406中。存儲器402和一個或多個處理器406還可以構成機器可讀介質420。圖5示出了根據不同實施方式的計算設備系統構架的示例,諸如電信服務供應方的服務器108的系統構架。如所示,服務器108包括系統存儲器502。系統存儲器502可以存儲視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128、模型130及其它模塊和數據504。另外,服務器108包括一個或多個處理器506、可移動存儲(Storage)508和不可移動存儲510、一個或多個輸入設備512、一個或多個輸出設備514、以及用于與其它計算設備518進行通信的電信連接516。在不同的實施方式中,系統存儲器502為易失性(諸如RAM)、非易失性(諸如ROM、閃存等)或二者的一些結合。示例性的系統存儲器502可以包括RAM、R0M、EEPR0M、閃存、微型硬盤驅動器、存儲卡、光存儲、盒式磁帶、磁帶、磁盤存儲或其它磁存儲設備、或者任何其它介質中的一者或多者。以上更具體地描述了如存儲在存儲器502中示出的視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130。盡管視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128和模型130如圖5所示為存儲在單個服務器108上,但是它們可以被存儲在云服務的多個計算設備上,每個計算設備實施視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130中的一者,視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130的全部,或者視頻通話模塊124、鏈路質量確定模塊126、速率調整模塊128及模型130中一者或多者的一部分。其他模塊和數據504可以由服務器108使用以執行或使能執行服務器108進行的任何行為。其它模塊和數據504可以包括平臺和應用程序,以及由平臺和應用程序使用的數據。在一些實施方式中,一個或多個處理器506為中央處理單兀(CPU)、圖形處理單兀(GPU)、或CPU和GPU 二者、或本領域已知的其它處理單元或組件。服務器108還 包括附加的數據存儲設備(可移動的和/或不可移動的),諸如,例如磁盤、光盤或磁帶。這類附加存儲由可移動存儲508和不可移動存儲510在圖5中示出。計算機存儲介質可以包括以用于存儲信息(諸如計算機可讀指令、數據結構、程序模塊或其它數據)的任何方法或技術實施的易失性和非易失性、可移動和不可移動介質。系統存儲器502、可移動存儲508和不可移動存儲510都為計算機可讀存儲介質的示例。計算機可讀存儲介質包括,但不限于RAM、ROM、EEPR0M、閃存或其它存儲技術、CD-ROM、數字通用盤(DVD)或其它光存儲、盒式磁帶、磁帶、磁盤存儲或其它磁存儲設備、或者可以用于存儲期望信息并可以被服務器108存取的任何其它介質。任何這類計算機可讀存儲介質可以為服務器108的一部分。在不同的實施方式中,任何或所有的系統存儲器502、可移動存儲508和不可移動存儲510存儲程序指令,當被執行時,這些指令實施服務器108的上述操作中的一些或全部。服務器108還具有一個或多個輸入設備512,諸如鍵盤、鼠標、觸摸顯示器、語音輸入設備等,以及一個或多個輸出設備514,諸如顯示器、揚聲器、打印機等。這些設備為本領域眾所周知的且無需于此再次進行詳細討論。服務器108還包含通信連接516,該通信連接516允許服務器與其它計算設備518(諸如第一電信設備102和第二電信設備104)進行電信。雖然已經針對結構特性和/或方法論行為用語言對主旨進行了描述,但是應該理解的是在所附權利要求中限定的主旨不必被限制于所描述的特定特性或行為。相反,公開的是實施權利要求的特定特性和行為。
權利要求
1.一種方法,包括: 由第一電信設備建立與第二電信設備的視頻通話; 由所述第一電信設備確定所述第一電信設備的上行鏈路和下行鏈路鏈路質量;以及 由所述第一電信設備執行以下步驟中的至少一者: 至少基于所述上行鏈路鏈路質量來調整第一幀速率,所述第一電信設備以該第一幀速率傳送所述視頻通話的視頻和音頻巾貞;或者 請求所述第二電信設備至少基于所述下行鏈路鏈路質量來調整第二幀速率,所述第二電信設備以該第二幀速率傳送所述視頻通話的視頻和音頻幀。
2.根據權利要求1所述的方法,其中所述確定是基于與所述第一電信設備相關聯的歷史模型。
3.根據權利要求2所述的方法,其中所述歷史模型包括與位置相關聯的鏈路質量,在特定日期和時間所述第一電信設備的用戶或所述第二電信設備的用戶位于所述位置處。
4.根據權利要求1所述方法,其中所述調整包括響應于上行鏈路鏈路質量的降低而降低所述第一幀速率。
5.根據權利要求1所述的方法,該方法還包括,響應于確定弱的上行鏈路鏈路質量和強的下行鏈路鏈路質量,降低所述第一幀速率并請求所述第二幀速率的增加。
6.根據權利要求1所述的方法,該方法還包括周期性地監測所述上行鏈路和下行鏈路鏈路質量并響應于所述上行鏈路或下行鏈路鏈路質量的變化而執行所述調整或所述請求中的至少一者。
7.根據權利要求1所述的方法,該方法還包括確定所述第一電信設備或所述第二電信設備中的一者的網絡、設備或用戶特性已經變化,并做出終止所述視頻通話的響應。
8.根據權利要求1所述的方法,其中所述視頻通話的建立至少基于所述第一電信設備和所述第二電信設備是否連接至4G網絡或WiFi網絡而被有條件地執行。
9.根據權利要求1所述的方法,該方法還包括根據所述第一幀速率和所述第二幀速率來交換視頻和音頻幀。
10.根據權利要求9所述的方法,其中所述交換被實時執行,且緩沖超過時間量閾值的視頻和首頻巾貞被丟棄。
11.根據權利要求1所述的方法,該方法還包括: 接收來自所述第二電信設備的用于對所述第一幀速率進行調整的請求,該用于對所述第一幀速率進行調整的請求指定所述第二電信設備的下行鏈路鏈路質量;以及 基于所述第一電信設備的所述上行鏈路鏈路質量和所述第二電信設備的所述下行鏈路鏈路質量中的較低者來調整所述第一幀速率。
12.—種或多種計算機存儲介質,包括存儲在其上的計算機可執行指令,當所述指令被電信服務供應方的服務器設備執行時,執行以下操作: 基于第一電信設備和第二電信設備的網絡、設備或用戶特性,在所述第一電信設備和所述第二電信設備之間有條件地建立視頻通話; 確定與所述第一電信設備和所述第二電信設備中的每一者相關聯的鏈路質量;以及 基于所確定的鏈路質量來調整所述第一電信設備和所述第二電信設備中的至少一者的幀速率,所述幀速率為所述第一電信設備或所述第二電信設備傳送所述視頻通話的視頻和音頻幀的速率。
13.根據權利要求12所述的一種或多種計算機存儲介質,其中所述鏈路質量包括上行鏈路鏈路質量或下行鏈路鏈路質量中的一者或二者。
14.根據權利要求12所述的一種或多種計算機存儲介質,其中所述操作還包括確定電信設備具有WiFi網絡可用但是未被連接至所述WiFi網絡,并通知所述電信設備至所述WiFi網絡的連接能夠使所述電信設備參與視頻通話。
15.根據權利要求12所述的一種或多種計算機存儲介質,其中所述有條件地建立包括:當所述第二電信設備未被連接至4G網絡或WiFi網絡時或者當網絡負載超出閾值時,終止所述視頻通話。
16.根據權利要求12所述的一種或多種計算機存儲介質,其中所述確定鏈路質量包括基于所述第一電信設備和所述第二電信設備中的一者或二者的位置預測信號強度。
17.根據權利要求12所述的一種或多種計算機存儲介質,其中調整所述幀速率還包括: 基于所述第一電信設備的上行鏈路鏈路質量和所述第二電信設備的下行鏈路鏈路質量中的較低者來調整所述第一電信設備的所述幀速率;以及 基于所述第二電信設備的上行鏈路鏈路質量和所述第一電信設備的下行鏈路鏈路質量中的較低者來調整所述第二電信設備的所述幀速率。
18.根據權利要求12所述的一種或多種計算機存儲介質,其中調整所述幀速率還包括以下一者: 指示所述第一電信設備和所述第二電信設備中的一者或二者調整它們的幀速率;或者 從所述第一電信設備或所述第二電信設備接收的每m個視頻和音頻幀中丟棄η個視頻和音頻巾貞,其中η小于m。
19.一種電信設備,該電信設備包括: 處理器; 視頻通話模塊,被配置成由所述處理器操作以建立與另一電信設備的視頻通話并與其它電信設備交換視頻和音頻幀,以及實時渲染所述視頻和音頻幀;以及 速率調整模塊,被配置成由所述處理器操作以: 確定所述電信設備的上行鏈路和下行鏈路鏈路質量; 至少基于所述上行鏈路鏈路質量來調整第一幀速率,所述電信設備以該第一幀速率傳送所述視頻通話的視頻和音頻幀;以及 請求所述其它電信設備至少基于所述下行鏈路鏈路質量來調整第二幀速率,所述其它電信設備以該第二幀速率傳送所述視頻通話的視頻和音頻幀。
20.根據權利要求19所述的系統,其中所述速率調整模塊通過使用與所述視頻通話相關聯的控制層來向所述其它電信設備傳送請求并接收來自所述其它電信設備的請求。
全文摘要
于此描述了電信設備,該電信設備被配置成建立視頻通話并調整幀速率,視頻通話的視頻和音頻幀以該幀速率被傳送。電信設備至少基于每個電信設備的上行鏈路和下行鏈路鏈路質量來調整幀速率。通過調整幀速率,電信設備實時參與視頻通話的視頻和音頻幀的交換。于此還描述了一種服務器,該服務器被配置成在電信設備之間有條件地建立視頻通話,確定電信設備的鏈路質量,以及至少基于鏈路質量調整幀速率。
文檔編號H04N7/14GK103229499SQ201180057164
公開日2013年7月31日 申請日期2011年10月4日 優先權日2010年10月7日
發明者K·劉, A·A·奧貝迪 申請人:T移動美國公司