本發(fā)明涉及視頻電話,且更明確地說,涉及譯碼和發(fā)射視頻電話會話中的視頻數(shù)據(jù)。
背景技術(shù):
例如移動電話等的通信裝置可包含音頻捕獲裝置,例如麥克風(fēng)或語音合成器;用于產(chǎn)生音頻包(或幀)的音頻編碼器;視頻捕獲裝置,例如,相機;以及用于產(chǎn)生視頻幀的視頻編碼器。通信裝置可使用通信協(xié)議層,例如實時傳輸協(xié)議(rtp)、無線電鏈路協(xié)議(rlp)、媒體接入控制(mac)和物理(phy)層。在視頻電話應(yīng)用中,通信裝置可將視頻和音頻rtp包放置于rlp隊列中。mac層模塊可從rlp隊列的內(nèi)容中產(chǎn)生mac層包。mac層包可轉(zhuǎn)換成phy層包,以在通信信道上發(fā)射到另一通信裝置。
技術(shù)實現(xiàn)要素:
本發(fā)明涉及視頻電話(vt),且更明確地說,設(shè)計用于在vt會話期間實施位速率適應(yīng)的技術(shù)。
在一個實例中,一種視頻電話方法包含:以第一位速率接收視頻數(shù)據(jù),作為作用中視頻電話會話的一部分;發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱?;響?yīng)于使第一位速率改變?yōu)榈诙凰俾实乃稣埱?,接收第一?jīng)幀內(nèi)譯碼的圖片;響應(yīng)于檢測到第二位速率,從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片;以及響應(yīng)于從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片,發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求。
在另一實例中,一種經(jīng)配置以執(zhí)行視頻電話的設(shè)備包含:用于以第一位速率接收視頻數(shù)據(jù)作為作用中視頻電話會話的一部分的裝置;用于發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱蟮难b置;用于響應(yīng)于使第一位速率改變?yōu)榈诙凰俾实乃稣埱蠖邮盏谝唤?jīng)幀內(nèi)譯碼的圖片的裝置;用于響應(yīng)于檢測到所述第二位速率從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片的裝置;以及用于響應(yīng)于從所述圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片而發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求的裝置。
在另一實例中,一種經(jīng)配置以用于視頻電話的設(shè)備包含:接收裝置,其經(jīng)配置以便以第一位速率接收視頻數(shù)據(jù),作為作用中視頻電話會話的一部分;發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱螅豁憫?yīng)于使第一位速率改變?yōu)榈诙凰俾实乃稣埱?,接收第一?jīng)幀內(nèi)譯碼的圖片;響應(yīng)于檢測到第二位速率,從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片;以及響應(yīng)于從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片,發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求。
在另一實例中,一種存儲指令的計算機可讀存儲媒體,所述指令在由一或多個處理器執(zhí)行時致使所述一或多個處理器進行以下操作:以第一位速率接收視頻數(shù)據(jù),作為作用中視頻電話會話的一部分;發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱螅豁憫?yīng)于使第一位速率改變?yōu)榈诙凰俾实乃稣埱蠖邮盏谝唤?jīng)幀內(nèi)譯碼的圖片;響應(yīng)于檢測到所述第二位速率,從圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片;以及響應(yīng)于從所述圖片緩沖器沖洗所述第一經(jīng)幀內(nèi)譯碼的圖片而發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求。
附圖和以下描述中陳述一或多個實例的細(xì)節(jié)。將從所述描述和圖式以及從所附權(quán)利要求書明白其它特征、目標(biāo)和優(yōu)點。
附圖說明
圖1說明可在通信裝置內(nèi)提供以支持視頻電話的視頻和音頻編碼和解碼系統(tǒng)。
圖2描繪經(jīng)由通用包交換(ps)網(wǎng)絡(luò)的雙向vt通話的簡化框圖。
圖3是示出根據(jù)本發(fā)明的技術(shù)的用于vt會話的一部分的信號流的概念圖。
圖4是示出根據(jù)本發(fā)明的技術(shù)的實例視頻電話方法的流程圖。
具體實施方式
本發(fā)明涉及視頻電話(vt),且更明確地說,設(shè)計用于在vt會話期間實施位速率適應(yīng)的技術(shù)。vt通常是指包含視頻和音頻兩者的實時通信,與僅音頻的傳統(tǒng)電話形成對比。在vt會話期間,不同位置處的通信裝置經(jīng)由例如因特網(wǎng)等網(wǎng)絡(luò)發(fā)射和接收運載音頻和視頻數(shù)據(jù)的包。
通信裝置,其可替代地被稱作vt裝置,可經(jīng)裝備以用于有線和/或無線通信。vt裝置可專用于vt應(yīng)用程序,或經(jīng)裝備以支持廣泛多種其它計算應(yīng)用程序中的任一者,例如網(wǎng)絡(luò)瀏覽、游戲、文字處理、圖形處理、視頻和/或音頻娛樂,以及位置跟蹤,例如除vt應(yīng)用程序之外。在一些實例中,vt裝置可為所謂的智能電話、平板計算機或可穿戴智能裝置。
vt裝置所產(chǎn)生的包可例如根據(jù)定義標(biāo)準(zhǔn)化包格式的實時傳輸協(xié)議(rtp)來發(fā)射。此外,vt裝置可根據(jù)rtp控制協(xié)議(rtcp)來發(fā)射和接收信息包,所述協(xié)議定義用于發(fā)射rtp會話的帶外統(tǒng)計和控制信息的標(biāo)準(zhǔn)化包格式。
為了減少需要經(jīng)由網(wǎng)絡(luò)發(fā)射的數(shù)據(jù)的量,vt裝置包含音頻和視頻編碼器和解碼器。第一vt裝置的視頻編碼器通常使用多種視頻壓縮工具來壓縮相機所捕獲的視頻數(shù)據(jù),而第二vt裝置的視頻解碼器通常執(zhí)行與視頻編碼器的那些技術(shù)互逆的技術(shù),以便解碼經(jīng)編碼視頻數(shù)據(jù)以供在第二vt裝置處重放。
vt裝置的視頻編碼器將所捕獲的視頻編碼為一系列圖片,其中圖片可指視頻數(shù)據(jù)幀,或在經(jīng)交錯視頻的情況下,可指視頻數(shù)據(jù)的字段。所述視頻編碼器產(chǎn)生一系列經(jīng)幀內(nèi)譯碼的圖片(i圖片)和所預(yù)測的圖片(p或b圖片)??刹粎⒖计渌鼒D片來解碼i圖片,但通常提供比p和b圖片少的壓縮。相比之下,p和b圖片利用先前經(jīng)解碼圖片的信息,且因此可較容易發(fā)生錯誤,但與i圖片相比提供較多壓縮。相對于另一圖片來預(yù)測p圖片。相對于兩個其它圖片來預(yù)測b圖片。對于編碼p或b圖片,與當(dāng)編碼i圖片時相比,較大數(shù)目的譯碼工具可視頻編碼器供使用。作為一個實例,p圖片的塊可基于已經(jīng)解碼圖片中的塊來預(yù)測,基于p圖片中的其它像素值來預(yù)測,或根本不預(yù)測。因為i圖片并不依靠先前經(jīng)解碼圖片,所以相比之下,無法基于已經(jīng)解碼圖片的塊來預(yù)測i圖片中的塊。實情為,基于i圖片內(nèi)已經(jīng)解碼的像素來解碼i圖片中的塊。較少譯碼工具的可用通常導(dǎo)致與p圖片和b圖片相比,產(chǎn)生提供較少壓縮的i圖片。
連續(xù)p或b圖片可導(dǎo)致錯誤從一個圖片傳播到下一圖片,直到視頻解碼器接收到i圖片為止。此外,因為p或b圖片是使用先前經(jīng)解碼圖片來解碼的,所以如果p或b圖片所依靠的圖片例如歸因于丟包而未恰當(dāng)?shù)亟獯a,那么視頻解碼器可能不能夠恰當(dāng)?shù)亟獯ap或b圖片。在這些情況下,視頻解碼器可在幾秒內(nèi)產(chǎn)生不可辨識的視頻,或可能根本不能夠產(chǎn)生任何視頻直到接收到另一i圖片為止。此較少秒數(shù)的差視頻或無視頻可能削弱用戶體驗。為了改進視頻質(zhì)量且為了改進錯誤恢復(fù)性,視頻編碼器通常經(jīng)配置以在經(jīng)編碼視頻位流中周期性地包含i圖片,其中較多i圖片通常改進視頻質(zhì)量,但減少總視頻壓縮,且較少i圖片降低視頻質(zhì)量,但改進總視頻壓縮。
視頻編碼器通常經(jīng)配置以響應(yīng)于在正編碼的圖片中檢測到大量改變而產(chǎn)生i圖片。圖片中的大量改變可例如在相機移動時出現(xiàn),且一個圖片的整個場景不同于最近譯碼的圖片的場景。相比之下,當(dāng)相機處于聚焦在僅稍微移動的物體上的固定位置時,圖片中可出現(xiàn)較低量的改變。舉例來說,在其中相機聚焦在固定個人或人群的vt會話中,人的移動通常較小,且背景的部分可稍微或根本不改變。在此情形中,vt裝置可增加i圖片之間的時間量。即使在其中圖片中不存在改變或幾乎無改變的情形中,vt裝置仍可周期性地發(fā)送i圖片,以便改進視頻質(zhì)量且改進錯誤恢復(fù)性。
原始設(shè)備制造商(oem)正向市場引入高清視頻電話(hdvt)裝置,其支持比前代vt裝置高分辨率的視頻。為了支持hdvt,這些hdvt裝置通常以與前代vt裝置相比較高的位速率,經(jīng)由網(wǎng)絡(luò)發(fā)送和接收經(jīng)編碼的音頻和視頻數(shù)據(jù)。當(dāng)網(wǎng)絡(luò)條件或其它系統(tǒng)條件并不準(zhǔn)許hdvt所必需的位速率時,hdvt裝置通常經(jīng)配置以實施速率適應(yīng)協(xié)議,其致使所述裝置將作用中vt會話改變?yōu)檩^低位速率。作為切換到較低位速率的一部分,hdvt裝置通常從較高分辨率視頻切換到較低分辨率視頻,以及潛在地降低音頻取樣速率,降低幀速率,或?qū)σ纛l和視頻數(shù)據(jù)執(zhí)行其它此類修改,以便減少正發(fā)射的數(shù)據(jù)的量。
視頻分辨率的實例包含qvga(320x240分辨率)、vga(640x480分辨率)和svga(800x600分辨率),以及高清分辨率,例如hd(1280x720分辨率)和全hd(1920x1080分辨率)。這些僅為廣泛使用的視頻分辨率中的幾個。作為切換到較低位速率的一部分,視頻編碼器可例如停止以svga編碼視頻數(shù)據(jù),且開始以vga或qvga編碼視頻數(shù)據(jù)。hdvt裝置可例如停止以全hd編碼視頻數(shù)據(jù),且開始以hd編碼視頻數(shù)據(jù),或在位速率較大降低的情況下,可開始以svga、vga或qvga分辨率編碼所述視頻數(shù)據(jù)。應(yīng)理解,這些分辨率僅為實例,且經(jīng)配置以實施本發(fā)明的技術(shù)的vt裝置不限于任何特定分辨率。此外,盡管通常參考正被編碼的視頻的分辨率的降低來描述本發(fā)明的技術(shù),但應(yīng)理解,本發(fā)明的技術(shù)也與正被編碼的視頻的分辨率的增加兼容。
如上文所介紹,參與vt會話中的兩個裝置可交換關(guān)于所述vt會話的狀態(tài)的rtcp消息。所述rtcp消息可例如包含具有編碼器-解碼器(“編解碼器”)控制信息的帶反饋視聽簡檔(avpf)消息。avpf是指基于rtcp的反饋的經(jīng)擴展rtp簡檔。編解碼器通常是指經(jīng)配置以實施特定視頻譯碼標(biāo)準(zhǔn)(例如根據(jù)所述標(biāo)準(zhǔn)來編碼和/或解碼視頻數(shù)據(jù))的軟件、硬件或其組合,下文提供其若干實例。因此,具有編解碼器控制信息的rtcp消息可例如影響視頻編碼器編碼視頻數(shù)據(jù)的方式。舉例來說,第一vt裝置可從第二vt裝置接收具有編解碼器控制信息的rtcp消息,且響應(yīng)于接收具有編解碼器控制信息的rtcp消息,第一vt裝置可更改其編碼視頻數(shù)據(jù)的方式。如下文將更詳細(xì)地解釋,具有編解碼器控制信息的rtcp消息的實例包含對經(jīng)幀內(nèi)譯碼的圖片、圖片損失指示(pli)消息和全幀內(nèi)請求(fir)消息的請求。
第一vt裝置可向第二vt裝置發(fā)送指示第一vt裝置已發(fā)送了多少包的發(fā)送器報告,作為一或多個rtcp消息。如果第二vt裝置確定第一vt裝置所發(fā)送的包的數(shù)目與第二vt裝置所接收到的包的數(shù)目之間存在不符,那么第二vt裝置可發(fā)送臨時最大媒體流位速率請求(tmmbr)rtcp消息,其指令第一vt裝置開始以較低位速率發(fā)射。第二vt裝置可將tmmbrrtcp消息發(fā)送到第一vt裝置,以便限制從第一vt裝置接收到的媒體流(包含音頻和視頻數(shù)據(jù)兩者)的最大位速率。響應(yīng)于接收到tmmbrrtcp消息,第一vt裝置可開始以較低位速率產(chǎn)生a/v數(shù)據(jù),且為了實現(xiàn)較低位速率,可降低正作為vt會話的一部分發(fā)送的視頻的分辨率。
當(dāng)從較高位速率切換到較低位速率時,第一vt裝置的視頻編碼器可為視頻編碼器所產(chǎn)生的視頻數(shù)據(jù)產(chǎn)生新的序列參數(shù)集(sps)信息和圖片參數(shù)集(pps)信息,以及新i圖片。pps包含在譯碼與pps相關(guān)聯(lián)的圖片時保持不變的信息,且sps包含在譯碼與sps相關(guān)聯(lián)的圖片序列時保持不變的信息。可包含于pps或sps中的類型的信息的實例是分辨率信息、所啟用的任選譯碼模式、圖片的塊結(jié)構(gòu)信息,以及關(guān)于經(jīng)編碼視頻的其它此類信息。
第一vt裝置可發(fā)送分別來自所述i圖片的新sps和pps,以便改進錯誤恢復(fù)性。當(dāng)?shù)诙t裝置的視頻解碼器剖析在新sps和pps中接收到的信息時,視頻解碼器可確定正接收到的視頻的分辨率將要改變,且響應(yīng)于所述新sps和pps,第二vt裝置的視頻解碼器可執(zhí)行端口重配置。端口重配置可例如涉及沖洗包含分別發(fā)送的i圖片的緩沖器。如果從所述緩沖器沖洗i圖片,那么第二vt裝置可能無法恰當(dāng)?shù)亟獯a隨后發(fā)送的p圖片和b圖片,直到接收到新的i圖片為止,從而產(chǎn)生差視頻或無視頻的周期。差視頻可起因于p圖片和b圖片取決于經(jīng)沖洗的i圖片,歸因于第二vt裝置沖洗經(jīng)譯碼圖片緩沖器,作為端口重配置操作的一部分,第二vt裝置不再將所述i圖片存儲在所述緩沖器中。在此類情形中,第一vt裝置并不知曉第二vt裝置從緩沖器沖洗了i圖片,且因此,第一vt裝置可繼續(xù)發(fā)送b圖片和p圖片持續(xù)若干秒,從而導(dǎo)致那些若干秒期間的不良用戶體驗。
根據(jù)本發(fā)明的技術(shù),為了避免或減少差或無視頻的此周期,第二vt裝置可經(jīng)配置以響應(yīng)于檢測端口重配置來發(fā)送i圖片請求消息。另外或替代地,第二vt裝置可經(jīng)配置以響應(yīng)于檢測到存儲經(jīng)解碼圖片的經(jīng)譯碼圖片緩沖器的沖洗來發(fā)送i圖片請求消息。i圖片請求消息可例如為經(jīng)由rtcp的圖片損失指示(pli)消息、經(jīng)由rtcp的全幀內(nèi)請求(fir)消息,或一些其它此類類型的i圖片請求消息。在不發(fā)送i圖片請求消息的情況下,在第二vt裝置存儲有經(jīng)沖洗的i圖片的假定下,第一裝置將繼續(xù)譯碼視頻數(shù)據(jù),且因此可使用所存儲的i圖片來預(yù)測后續(xù)p和b圖片。因此,第二裝置將不接收另一i圖片,直到第一裝置基于正編碼的視頻中的i圖片或檢測到的改變之間的時間而發(fā)送另一i圖片為止,在一些情況下,所述時間可為若干秒或甚至至多達十秒。通過響應(yīng)于沖洗其經(jīng)譯碼圖片緩沖器而發(fā)送i圖片請求消息,第二vt裝置可減少不具有i圖片的此時間,從而通過減少具有差視頻質(zhì)量的時間量來改進總體用戶體驗。
在本發(fā)明的上下文中,端口是指充當(dāng)?shù)綌?shù)據(jù)流的接口的軟件建構(gòu)。所述端口唯一地識別在vt裝置上運行的不同應(yīng)用程序或進程。端口配置參數(shù)定義將在組件端口上傳送的數(shù)據(jù)的格式。改變這些參數(shù)的過程通常被稱作端口重配置。
圖1說明可利用本發(fā)明的技術(shù)的視頻編碼和解碼系統(tǒng)10。系統(tǒng)10包含在發(fā)射信道16上將數(shù)據(jù)發(fā)送到解碼器系統(tǒng)14的編碼器系統(tǒng)12。編碼器系統(tǒng)12可在第一視頻通信裝置中,且包含音頻源17、視頻源18、視頻編碼器20、音頻編碼器22、ip多媒體子系統(tǒng)(ims)vt應(yīng)用程序模塊24、實時傳輸協(xié)議(rtp)/rtcp/用戶數(shù)據(jù)報協(xié)議(udp)/因特網(wǎng)協(xié)議(ip)/點對點協(xié)議(ppp)轉(zhuǎn)換模塊26、無線電鏈路協(xié)議(rlp)隊列28、mac層模塊30和物理(phy)層模塊32。在其它實例中,代替圖1中所示的元件或除了圖1中所示的元件之外,編碼器系統(tǒng)12可包含其它元件。編碼器系統(tǒng)12的其它實例可包含比圖1中所示的元件少的元件。
解碼器系統(tǒng)14可在另一視頻通信裝置中,且可包含phy層模塊34、mac層模塊36、rlp隊列38、rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊40、imsvt應(yīng)用程序模塊42、視頻解碼器44、音頻解碼器46、音頻輸出單元48和視頻輸出單元50。在其它實例中,代替圖1中所示的元件或除了圖1中所示的元件之外,解碼器系統(tǒng)14可包含其它元件。解碼器系統(tǒng)14的其它實例可包含比圖1中所示的元件少的元件。
系統(tǒng)10可經(jīng)由發(fā)射信道16提供雙向視頻和音頻發(fā)射,例如用于vt會話?;ツ婢幋a、解碼和轉(zhuǎn)換模塊可提供于信道16的相對端上。在一些實施例中,編碼器系統(tǒng)12和解碼器系統(tǒng)14可實施于視頻通信裝置內(nèi),例如經(jīng)裝備以用于視頻流式傳輸、vt或兩者的無線移動終端。移動終端可根據(jù)例如rtp、rtcp、udp、ip或ppp的包交換標(biāo)準(zhǔn)來支持vt。
rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊26將適當(dāng)?shù)膔tp/rtcp/udp/ip/ppp標(biāo)頭數(shù)據(jù)添加到從音頻編碼器22和視頻編碼器20接收到的音頻和視頻數(shù)據(jù),且添加到從imsvt應(yīng)用程序模塊24接收到的控制信息,并將數(shù)據(jù)放入rlp隊列28中。rtp在udp之上運行,而udp在ip之上運行,且ip在ppp之上運行。mac層模塊30從rlp隊列28的內(nèi)容產(chǎn)生macrlp包。phy層模塊32將macrlp包轉(zhuǎn)換成phy層包以經(jīng)由信道16發(fā)射。
解碼系統(tǒng)14的phy層模塊34和mac層模塊36以互逆方式操作。phy層模塊34將從信道16接收到的phy層包轉(zhuǎn)換成macrlp包。mac層模塊36將macrlp包放入rlp隊列38中。rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊40將標(biāo)頭信息從rlp隊列38中的數(shù)據(jù)剝離,并且重新組合視頻和音頻數(shù)據(jù)以分別遞送到視頻解碼器44和音頻解碼器46。rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊40同樣地將標(biāo)頭信息從rlp隊列38中的數(shù)據(jù)剝離,并且重新組合控制信息以遞送到imsvt應(yīng)用程序模塊42。視頻解碼器44和音頻解碼器46可結(jié)合imsvt應(yīng)用程序模塊42,基于所述接收到的控制信息作出視頻和音頻解碼決策。所述控制信息可例如包含發(fā)送者報告,imsvt應(yīng)用程序模塊42可基于此來確定裝置12的發(fā)射位速率是否應(yīng)更改。作為更改位速率的一部分,imsvt應(yīng)用程序模塊42可調(diào)整正編碼視頻數(shù)據(jù)的分辨率。
系統(tǒng)10可經(jīng)設(shè)計以支持一或多個無線通信技術(shù),例如碼分多址(cdma)、頻分多址(fdma)、時分多址(tdma),或正交頻分多路復(fù)用(ofdm)或另一合適的無線技術(shù)。以上無線通信技術(shù)可根據(jù)各種無線電接入技術(shù)中的任一者遞送。舉例來說,可根據(jù)cdma2000、寬帶cdma(wcdma)標(biāo)準(zhǔn)、3g、4g、lte或任何其它基于cdma的空中接口來執(zhí)行無線通信。tdma可根據(jù)全球移動通信系統(tǒng)(gsm)標(biāo)準(zhǔn)來遞送。全球移動電信系統(tǒng)(umts)標(biāo)準(zhǔn)準(zhǔn)許gsm或wcdma操作。對于vt應(yīng)用,系統(tǒng)10可經(jīng)設(shè)計以支持高數(shù)據(jù)速率(hdr)技術(shù),例如cdma20001xev-do、版本0、修訂版a或后續(xù)ev-do版本。
視頻源18可為視頻捕獲裝置,例如一或多個攝像機、一或多個視頻存檔,或攝像機與視頻存檔的組合。視頻源18可進一步包含捕獲、產(chǎn)生和/或包含計算機所產(chǎn)生的圖形的能力。視頻編碼器20根據(jù)視頻壓縮方法產(chǎn)生經(jīng)編碼視頻數(shù)據(jù),所述方法例如為mpeg-4、itu-th.264/avc(高級視頻譯碼(avc))或itu-th.265(高效視頻譯碼(hevc))。還可使用其它視頻壓縮方法,例如國際電信聯(lián)盟(itu)h.263、vp9、mpeg-2,或其它標(biāo)準(zhǔn)化或?qū)S梅椒?。視頻編碼器20可提供大體上codec相關(guān)的視頻源速率控制方案。舉例來說,視頻編碼器20可適用于根據(jù)hevc、mpeg4、ituh.263、ituh.264或另一標(biāo)準(zhǔn)或技術(shù)的視頻編碼。在一個實例中,視頻編碼器20可由dsp或嵌入的邏輯核心實施。
音頻源17可為例如麥克風(fēng)等的音頻捕獲裝置或語音合成器裝置。音頻編碼器22可對音頻數(shù)據(jù)進行編碼以伴隨視頻數(shù)據(jù)。音頻數(shù)據(jù)可根據(jù)例如自適應(yīng)多速率窄帶(amr-nb)或其它技術(shù)等的音頻壓縮方法進行編碼。對于vt應(yīng)用,視頻將準(zhǔn)許一方觀看vt會議,且音頻將準(zhǔn)許該方的說話聲被聽到。
在操作中,rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊26從視頻編碼器20和音頻編碼器22獲得視頻和音頻數(shù)據(jù)包。rtp/udp/ip/ppp轉(zhuǎn)換模塊26將合適的標(biāo)頭信息添加到音頻包,且將所得數(shù)據(jù)插入rlp隊列28內(nèi)。同樣地,rtp/rtcp/udp/ip/ppp轉(zhuǎn)換模塊26將適當(dāng)?shù)臉?biāo)頭信息添加到視頻包,并將所得數(shù)據(jù)插入rlp隊列28內(nèi)。mac層模塊30從rlp隊列28檢索數(shù)據(jù)并且形成mac層包。每一mac層包運載包含于rlp隊列28內(nèi)的rtp/rtcp/udp/ip/ppp標(biāo)頭信息和音頻或視頻包數(shù)據(jù)。
音頻包可獨立于視頻包插入到rlp隊列28中。在一些情況下,從rlp隊列28的內(nèi)容中產(chǎn)生的mac層包將僅運載標(biāo)頭信息和視頻包數(shù)據(jù)。在其它情況下,mac層包將僅運載標(biāo)頭信息和音頻包數(shù)據(jù)。
在一些情況下,mac層包將取決于rlp隊列28的內(nèi)容而運載標(biāo)頭信息、音頻包數(shù)據(jù)和視頻包數(shù)據(jù)。mac層包可根據(jù)無線電鏈路協(xié)議(rlp)進行配置,并且可稱為macrlp包。phy層模塊32將macrlp音頻-視頻包轉(zhuǎn)換成phy層包以經(jīng)由信道16發(fā)射。
信道16將phy層包運載到解碼器系統(tǒng)14。舉例來說,信道16可為有線連接,例如局域或廣域有線網(wǎng)絡(luò)?;蛘撸绫疚乃枋?,信道16可為無線信道,例如蜂窩式、衛(wèi)星或光信道。通道16還可為無線和有線信道的組合。
信道條件可為有線和無線信道的關(guān)注點,但對于在無線信道16上執(zhí)行的移動vt應(yīng)用尤其存在問題,其中信道條件可歸因于衰減或擁塞而受損。舉例來說,信道16的特征可在于具有根據(jù)信道條件變化的吞吐量的反向鏈路(rl)??苫谌缤ㄟ^當(dāng)前無線信道發(fā)射速率、無線基站活動和發(fā)射功率限制中的一或多者表示的信道條件來估計吞吐量。舉例來說,可基于當(dāng)前mac層數(shù)據(jù)速率、反向活動位(rab)和功率放大器(pa)限制來確定信道條件。
視頻編碼器20可保持表示相對于目標(biāo)編碼速率的經(jīng)編碼視頻的量的虛擬視頻緩沖器。目標(biāo)編碼速率可為指定用于經(jīng)由信道16發(fā)射的視頻包的最大編碼速率。視頻編碼器20可控制視頻從視頻源18的實際編碼速率。
解碼器系統(tǒng)14的phy層模塊34從phy層包識別mac層包,并且將內(nèi)容重新組合到macrlp包中。mac層模塊36接著重新組合macrlp包的內(nèi)容,以提供視頻和音頻包以供插入到rlp隊列38內(nèi)。rtp/rtcp/udp/ip/ppp模塊40去除伴隨的標(biāo)頭信息,并且將視頻包提供到視頻解碼器44,且將音頻包提供到音頻解碼器46。
視頻解碼器44對視頻數(shù)據(jù)幀進行解碼,以產(chǎn)生用于驅(qū)動形成視頻輸出裝置50的一部分的顯示裝置的視頻數(shù)據(jù)流。音頻解碼器46對所述音頻數(shù)據(jù)進行解碼,以產(chǎn)生音頻信息以供呈現(xiàn)給用戶,例如經(jīng)由形成音頻輸出裝置48的一部分的音頻揚聲器。
視頻電話是指運載音頻和視頻數(shù)據(jù)的包在至少兩個裝置(例如系統(tǒng)12和14)之間的實時通信。第一vt裝置12包含從可例如為攝像機或視頻存檔的視頻源18中獲得視頻的視頻編碼器20,并且產(chǎn)生視頻包。類似地,vt裝置12中的音頻編碼器22從可例如為麥克風(fēng)或語音合成器等的音頻源17中獲得音頻,并且產(chǎn)生音頻包。將視頻包和音頻包放入rlp隊列28中。mac層模塊30從rlp隊列28的內(nèi)容產(chǎn)生mac層包。將mac層包轉(zhuǎn)換成phy層包,以在通信信道16上發(fā)射到第二vt裝置14。
在移動vt應(yīng)用程序中,vt裝置(無線終端)經(jīng)由無線前向鏈路(fl)(即,“下行鏈路”)從基站接收phy層包。vt裝置經(jīng)由無線反向鏈路(rl)(即,“上行鏈路”)將phy層包發(fā)射到基站。每一vt裝置包含phy和mac層以轉(zhuǎn)換接收到的phy和mac層包,且將包有效負(fù)載重新組合到音頻包和視頻包中。vt裝置內(nèi)的視頻解碼器44對視頻數(shù)據(jù)進行解碼,以經(jīng)由顯示裝置(視頻輸出)50呈現(xiàn)給用戶。vt裝置內(nèi)的音頻解碼器46對音頻數(shù)據(jù)進行解碼,以經(jīng)由音頻揚聲器(音頻輸出)48輸出。
圖2描繪經(jīng)由通用包交換(ps)網(wǎng)絡(luò)52的雙向vt通話的簡化框圖。ps網(wǎng)絡(luò)52可為lte、hspa、(e)hrpd、wifi、衛(wèi)星、同軸電纜、電力線通信,以及其類似物,或以上各者中的任一者的組合。圖2的裝置a和裝置b可通常經(jīng)配置以符合圖1的裝置12和14。在裝置a的發(fā)射側(cè)上,vt通話的音頻/視頻在麥克風(fēng)/揚聲器56和相機/顯示器54處捕獲、通過處理單元58預(yù)處理(如果適用)、編碼/壓縮、rtp/udp/ip包化且傳遞到調(diào)制解調(diào)器。在裝置a的接收側(cè)上,接收到的音頻/視頻包在發(fā)送到麥克風(fēng)/揚聲器56和相機/顯示器54之前,通過處理單元58(如果適用)解調(diào)、去包化、去抖動、解碼、av同步和后處理。
同樣地,在裝置b的發(fā)射側(cè)上,vt通話的音頻/視頻在麥克風(fēng)/揚聲器66和相機/顯示器64處捕獲、通過處理單元68預(yù)處理(如果適用)、編碼/壓縮、rtp/rtcp/udp/ip包化且傳遞到調(diào)制解調(diào)器。在裝置b的接收側(cè)上,接收到的音頻/視頻包在發(fā)送到麥克風(fēng)/揚聲器66和相機/顯示器64之前,通過處理單元68(如果適用)解調(diào)、去包化、去抖動、解碼、av同步和后處理。
音頻/視頻rtcp包也與音頻/視頻rtp包一起發(fā)送,以用于av同步、媒體性能相關(guān)統(tǒng)計、速率適應(yīng)及其類似者。rtcp包與rtp包相比較少出現(xiàn)。也就是說,rtcp包的控制信息通常每隔500毫秒到每隔2秒發(fā)信號通知,而rtp包更頻繁出現(xiàn)。
在典型的兩方vt會話期間,視頻可由于用戶動作在一或兩個方向上暫停一或多次。舉例來說,兩側(cè)上的用戶可將vt應(yīng)用程序移動到裝置上的后臺,以簡單執(zhí)行一些其它任務(wù)。舉例來說,在vt通話當(dāng)中,用戶中的一者可使用手機攝像頭來拍攝圖片、快速檢查電子郵件或執(zhí)行另一任務(wù)。因此,vt通話的相機資源可釋放,且在此情況下,沒有視頻發(fā)送到對等方。也就是說,當(dāng)用戶將vt應(yīng)用程序移動到后臺時,視頻通常不再發(fā)送到vt通話中的另一方。因為后臺中的vt應(yīng)用程序的用戶不再可看到指示傳輸了多少視頻的預(yù)覽窗口,所以視頻可停止。為了提供增加的私密性,且為了避免在不通知的情況下發(fā)送視頻,vt應(yīng)用程序?qū)⑼ǔMV拱l(fā)送視頻rtp包。然而,音頻包將繼續(xù)且vt不終止。視頻流停止在一或多個方向上流動而話音對話持續(xù)的現(xiàn)象通常被稱為視頻暫停。
圖1和2示出可實施本發(fā)明的視頻電話技術(shù)的系統(tǒng)的實例。舉例來說,第一vt裝置(例如圖1的裝置12或裝置14中的一者,或圖2的裝置a或裝置b中的一者)可經(jīng)配置以便以第一位速率從第二vt裝置(例如圖1的裝置12或裝置14中的另一者,或圖2的裝置a或裝置b中的另一者)接收視頻電話數(shù)據(jù)。第一vt裝置可向第二vt裝置發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱?。vt裝置可響應(yīng)于使第一位速率改變?yōu)榈诙凰俾实恼埱螅瑥牡诙t裝置接收第一經(jīng)幀內(nèi)譯碼的圖片。響應(yīng)于檢測到第二位速率,第一vt裝置可從圖片緩沖器沖洗第一經(jīng)幀內(nèi)譯碼的圖片。響應(yīng)于從圖片緩沖器沖洗第一經(jīng)幀內(nèi)譯碼的圖片,第一vt裝置可向第二vt裝置發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求。
圖3是示出根據(jù)本發(fā)明的技術(shù)的用于動態(tài)分辨率改變的信號流的概念圖。將參考裝置a和裝置b描述圖3的實例,其可大體上對應(yīng)于圖2的裝置a和裝置b,以及圖1的裝置12和裝置14。盡管圖3中未明確示出,但裝置a和裝置b可經(jīng)配置以在例如分組交換網(wǎng)絡(luò)等網(wǎng)絡(luò)上通信。在圖3的實例中,裝置a和裝置b已建立了作用中視頻電話會話,且正經(jīng)由rtp交換音頻和視頻數(shù)據(jù),以及經(jīng)由rtcp交換會話信息(圖1中示出為包100)。在事件1處,裝置b檢測正接收到的位速率的降低。裝置b可例如接收發(fā)送器報告rtcp包作為包100的一部分,所述發(fā)送器報告rtcp包包含發(fā)送器信息,例如從開始發(fā)射起,裝置a已經(jīng)發(fā)送了多少rtp包的指示。響應(yīng)于確定裝置b正接收包的速率低于裝置a正發(fā)送包的速率,裝置b可向裝置a發(fā)送tmmbrrtcp消息102,其請求裝置a切換到較低位速率。舉例來說,如果裝置a正以1000kbps發(fā)射,但裝置b僅接收400kbps,那么裝置b可在tmmbrrtcp消息中請求裝置a將其發(fā)射速率降低到400kbps或更低。
在事件2處,裝置a從裝置b接收tmmbrrtcp消息,且作為響應(yīng),裝置a將其發(fā)射位速率降低到例如400kbps。為了實現(xiàn)較低位速率,裝置a可進行以下各項中的一或多者:降低正發(fā)射的視頻的幀速率;降低正發(fā)射的視頻的分辨率;減少正發(fā)射的i圖片的數(shù)目;或減少正發(fā)射的音頻的取樣速率。如果裝置a降低正發(fā)射的視頻的分辨率,那么裝置a可向裝置b發(fā)射i圖片,以及所述視頻的新pps和sps。pps和sps可例如作為rtp包104的一部分發(fā)射,而i圖片單獨地作為rtp包106的一部分發(fā)射。在事件3處,響應(yīng)于接收到指示降低的視頻分辨率的pps和sps,裝置b可執(zhí)行端口重配置,其包含沖洗存儲參考圖片的緩沖器。從所述緩沖器沖洗的參考圖片可包含作為包106的一部分接收的i圖片。裝置b可能無法恰當(dāng)?shù)亟獯a在經(jīng)沖洗的i圖片之后且在另一i圖片之前發(fā)送的p或b圖片,從而潛在地導(dǎo)致差或五視頻質(zhì)量的周期。為樂防止此差視頻質(zhì)量周期,根據(jù)本發(fā)明的技術(shù),裝置b可經(jīng)配置以響應(yīng)于檢測到存儲參考圖片的緩沖器的沖洗,而發(fā)送對第二經(jīng)幀內(nèi)譯碼(i)圖片108的請求。對第二經(jīng)幀內(nèi)譯碼的圖片108的請求可例如為經(jīng)由rtcp的pli消息或經(jīng)由rtcp的fir消息。這些是此類請求的實例??墒褂闷渌愋偷恼埱?。
響應(yīng)于接收到對第二經(jīng)幀內(nèi)譯碼的圖片108的請求,裝置一產(chǎn)生i圖片110,并將其發(fā)射到裝置b。在裝置b接收到i圖片110之后,接著裝置a和裝置b可再次經(jīng)由rtp交換音頻和視頻數(shù)據(jù),且經(jīng)由rtcp但以較低位速率交換會話信息(圖1中示出為包112)。
圖4是示出根據(jù)本發(fā)明的技術(shù)的實例vt方法的流程圖。將參考圖1的裝置14描述圖4的技術(shù),但圖4的技術(shù)不一定限于任何特定類型的vt裝置。裝置14以第一位速率接收視頻數(shù)據(jù),作為作用中視頻電話(vt)會話的一部分(142)。裝置14發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱?144)。使第一位速率改變?yōu)榈诙凰俾实恼埱罂衫鐬榻?jīng)由rtcp的tmmbr消息,且可響應(yīng)于以小于所指示的包發(fā)射速率的速率接收包而發(fā)送使第一位速率改變?yōu)榈诙凰俾实恼埱?。第二位速率可高于或低于第一位速率?/p>
裝置14響應(yīng)于使第一位速率改變?yōu)榈诙凰俾实恼埱蠖邮盏谝唤?jīng)幀內(nèi)譯碼的圖片(即i圖片)(146)。響應(yīng)于檢測到第二位速率,裝置14從圖片緩沖器沖洗第一經(jīng)幀內(nèi)譯碼的圖片(148)。裝置14可例如通過接收指示第二位速率得pps或sps中的一者或兩者,來檢測第二位速率。裝置14可例如從圖片緩沖器沖洗第一經(jīng)幀內(nèi)譯碼的圖片,作為端口重配置操作的一部分。響應(yīng)于從圖片緩沖器沖洗第一經(jīng)幀內(nèi)譯碼的圖片,裝置14發(fā)送對第二經(jīng)幀內(nèi)譯碼的圖片的請求(150)。對經(jīng)幀內(nèi)譯碼的圖片的請求可例如為經(jīng)由rtcp的pli消息或經(jīng)由rtcp的fir消息。
在一或多個實例中,所描述的功能可用硬件、軟件、固件或其任何組合來實施。如果用軟件實施,那么所述功能可作為一或多個指令或代碼在計算機可讀媒體上存儲或傳輸,且由基于硬件的處理單元執(zhí)行。計算機可讀媒體可包含計算機可讀存儲媒體,其對應(yīng)于有形媒體,例如數(shù)據(jù)存儲媒體,或包含促進將計算機程序從一處傳送到另一處(例如,根據(jù)通信協(xié)議)的任何媒體的通信媒體。以此方式,計算機可讀媒體大體上可對應(yīng)于(1)非暫時性的有形計算機可讀存儲媒體,或(2)通信媒體,例如信號或載波。數(shù)據(jù)存儲媒體可為可由一或多個計算機或一或多個處理器存取以檢索用于實施本發(fā)明中描述的技術(shù)的指令、代碼和/或數(shù)據(jù)結(jié)構(gòu)的任何可用媒體。計算機程序產(chǎn)品可包含計算機可讀媒體。
借助于實例而非限制,此類計算機可讀存儲媒體可包括ram、rom、eeprom、cd-rom或其它光盤存儲裝置、磁盤存儲裝置或其它磁性存儲裝置、快閃存儲器或可用來存儲指令或數(shù)據(jù)結(jié)構(gòu)的形式的期望程序代碼并且可由計算機存取的任何其它媒體。并且,任何連接被恰當(dāng)?shù)胤Q作計算機可讀媒體。舉例來說,如果使用同軸纜線、光纖纜線、雙絞線、數(shù)字訂戶線(dsl)或例如紅外線、無線電和微波等無線技術(shù)從網(wǎng)站、服務(wù)器或其它遠程源傳輸指令,那么同軸纜線、光纖纜線、雙絞線、dsl或例如紅外線、無線電和微波等無線技術(shù)包含在媒體的定義中。但是,應(yīng)理解,所述計算機可讀存儲媒體和數(shù)據(jù)存儲媒體并不包括連接、載波、信號或其它暫時媒體,而是實際上針對于非暫時性有形存儲媒體。如本文中所使用,磁盤和光盤包含壓縮光盤(cd)、激光光盤、光學(xué)光盤、數(shù)字多功能光盤(dvd)、軟性磁盤和藍光光盤,其中磁盤通常以磁性方式再現(xiàn)數(shù)據(jù),而光盤利用激光以光學(xué)方式再現(xiàn)數(shù)據(jù)。以上各項的組合也應(yīng)包含在計算機可讀媒體的范圍內(nèi)。
可由例如一或多個數(shù)字信號處理器(dsp)、通用微處理器、專用集成電路(asic)、現(xiàn)場可編程邏輯陣列(fpga)或其它等效集成或離散邏輯電路等一或多個處理器來執(zhí)行指令。因此,如本文中所使用的術(shù)語“處理器”可指前述結(jié)構(gòu)或適合于實施本文中所描述的技術(shù)的任一其它結(jié)構(gòu)中的任一者。另外,在一些方面中,本文中所描述的功能性可在經(jīng)配置用于編碼和解碼的專用硬件和/或軟件模塊內(nèi)提供,或者并入在組合式編解碼器中。而且,所述技術(shù)可完全實施于一或多個電路或邏輯元件中。
本發(fā)明的技術(shù)可在廣泛多種裝置或設(shè)備中實施,包含無線手持機、集成電路(ic)或ic的集合(例如,芯片組)。本發(fā)明中描述各種組件、模塊或單元是為了強調(diào)經(jīng)配置以執(zhí)行所公開的技術(shù)的裝置的功能方面,但未必需要由不同硬件單元實現(xiàn)。實際上,如上文所描述,各種單元可結(jié)合合適的軟件和/或固件組合在編碼解碼器硬件單元中,或者通過互操作硬件單元的集合來提供,所述硬件單元包含如上文所描述的一或多個處理器。
已描述了各種實例。這些和其它實例在所附權(quán)利要求的范圍內(nèi)。