CRpre(j—pB—frame (CR|JU—Current CRcurrent—I—frame)丨(^^Base n5^ 八 ^j prame) 1),CR(^urrent j frame 為 ξ!ξ|
前分辨率當(dāng)前幀率F—下I幀的平均速率,ACIV幀碼率補(bǔ)償值,AFConpensate為幀率補(bǔ)償值,F(xiàn)Max—n為預(yù)先設(shè)置的當(dāng)前移動速率對應(yīng)的最大幀率。
[0032]較佳地,所述移動設(shè)備通過編解碼器的SPS機(jī)制或SIP信令將所述目標(biāo)分辨率格式、目標(biāo)碼率和目標(biāo)幀率發(fā)送給所述傳輸視頻的接收端。
[0033]較佳地,該方法進(jìn)一步包括:在傳輸視頻之前,所述移動設(shè)備向所述接收端發(fā)送自身支持的分辨率格式和幀率,并接收所述接收端反饋的接收端支持的分辨率格式和幀率。
[0034]由上述技術(shù)方案可見,本申請中,預(yù)先針對每種分辨率格式設(shè)置相應(yīng)的基準(zhǔn)碼率和最低碼率,針對不同級別的移動速率設(shè)置相應(yīng)的基準(zhǔn)幀率和最小幀率。周期性監(jiān)測當(dāng)前空口支持的最大業(yè)務(wù)速率CRm—eumnt,并在無法滿足CRm—eumnt當(dāng)前碼率的需求時,根據(jù)當(dāng)前視頻格式下的最低碼率、當(dāng)前碼率與CR,,—eumnt的關(guān)系,對分辨率、碼率和幀率進(jìn)行綜合調(diào)整,從而使視頻傳輸適應(yīng)于當(dāng)前空口支持的最大業(yè)務(wù)速率CRW—eumnt。從而最大限度利用空口的剩余帶寬,對視頻傳輸進(jìn)行適當(dāng)調(diào)整,以盡量減少對于所傳輸視頻的影響。
【附圖說明】
[0035]圖1為本申請中視頻傳輸方法的基本流程示意圖。
【具體實(shí)施方式】
[0036]為了使本申請的目的、技術(shù)手段和優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖對本申請做進(jìn)一步詳細(xì)說明。
[0037]無線傳輸環(huán)境下,當(dāng)空口的剩余帶寬無法支持當(dāng)前視頻流的目標(biāo)碼率時,需要進(jìn)行視頻傳輸?shù)恼{(diào)整,該調(diào)整需要節(jié)約并適配空口資源,同時保證視頻傳輸質(zhì)量。本申請中,調(diào)整過程遵循以下原則:
[0038]-根據(jù)用戶當(dāng)前的實(shí)際移動速率確定當(dāng)前的幀率調(diào)整范圍;
[0039]-優(yōu)先降低幀率,達(dá)到不影響流暢性,適配空口能力,保證清晰度;
[0040]-幀率降到最小時,維持分辨率,優(yōu)先調(diào)整碼率,適配空口能力;
[0041]-幀率降到最小、調(diào)整碼率仍不足以匹配空口能力,降低分辨率,并同時調(diào)整幀率和碼率;
[0042]-空口能力提升,優(yōu)先提高幀率,保證穩(wěn)定傳輸;
[0043]-空口能力提升,幀率達(dá)到最大,提升分辨率。
[0044]下面對本申請中的視頻傳輸方法進(jìn)行詳細(xì)描述。
[0045]圖1為本申請中視頻傳輸方法的基本流程示意圖。如圖1所示,該方法包括:
[0046]步驟101,預(yù)先針對每種分辨率格式設(shè)置相應(yīng)的基準(zhǔn)碼率和最低碼率,針對不同級別的移動速率設(shè)置相應(yīng)的基準(zhǔn)幀率和最小幀率。
[0047]本步驟中,對移動速率進(jìn)行分級,設(shè)置不同級別移動速率下對應(yīng)的基準(zhǔn)幀率及最小幀率要求。具體地,可以設(shè)置Nv^lty級移動速率門限VThrad—n,速率門限逐級增大VThrad—n !< =VThred n ;對應(yīng)每一級別內(nèi)的移動用戶,設(shè)置基準(zhǔn)幀率FBaM—n,即為本級移動速率下允許調(diào)整至的最大幀率,基準(zhǔn)幀率逐級增大FBaM—n i < = FBase n ;對應(yīng)每一級別內(nèi)的移動用戶,設(shè)置最小幀率FMin—n,即本級移動速率下允許調(diào)整至的最小幀率,最小幀率逐級增大FMin—n i < =FMin—n,同一級的最小幀率應(yīng)不超過基準(zhǔn)幀率FMin—n < = FB_—n。對于所有移動速率定義一個初始幀率為FInit。其中,ne [l,NVel0Clty]0另外,優(yōu)選地,還可以進(jìn)一步對應(yīng)每個級別的移動速率設(shè)置對應(yīng)的最大幀率FMax—n,通常,F(xiàn)Base n <= FMax—n。
[0048]根據(jù)當(dāng)前場景要求及設(shè)備能力(通過SIP信令協(xié)商獲取)確認(rèn)可用的分辨率格式,并設(shè)置各格式下的基準(zhǔn)碼率及最小碼率要求。其中,可用的分辨率格式可以通過視頻發(fā)送端和接收端間的信令協(xié)商來確定。假定確定出MR_lutlcin個視頻分辨率格式,從1至MResolutlon,分辨率逐漸增大;在初始幀率FInit下,定義每個分辨率格式m的基準(zhǔn)碼率CRBaM—?以及滿足該分辨率清晰度需求的最小碼率CRMinni,其中me [l,MR_lutlJ。這里,基準(zhǔn)碼率可以是滿足相應(yīng)分辨率清晰度、且不會出現(xiàn)方塊效應(yīng)的碼率。分辨率格式從1至I—m越大對應(yīng)的視頻清晰度越高,碼率要求越高;同一分辨率下,CRMin n<= CRBase n0其中,場景可以根據(jù)實(shí)際需要進(jìn)行分類。
[0049]在視頻傳輸開始時,需要對視頻傳輸?shù)南嚓P(guān)參數(shù)進(jìn)行初始化。初始分辨率可以為當(dāng)前場景指定的分辨率,初始碼率為當(dāng)前移動速率對應(yīng)的基準(zhǔn)碼率,即CRInit—? = CRBaM—?,初始幀率為FInit幀/s。初始I幀間隔的時間長度Δ'—Franres,優(yōu)選地,在調(diào)整過程中維持I幀間隔時長不變。
[0050]在初始條件下,無法獲知空口條件,這時非I幀平均碼率估計(jì)如下:
[0051]I幀間隔的時間長度Λ TI Franes不變的情況下,降幀率主要是減少P幀和B巾貞,則近似計(jì)算非I幀的單視頻幀平均速率約為:
[0052]CRpre(j—pB—frame (CR^urrent CRcurrent—i—frame) / ( (Fcurrent5^ A Tj prame) 1),中,CRcurrent—i—frame
為當(dāng)前分辨率當(dāng)前幀率下I幀的平均速率,可以通過數(shù)據(jù)統(tǒng)計(jì)獲得。
[0053]接下來,在實(shí)時視頻傳輸中,可以通過步驟102?107的處理,根據(jù)當(dāng)前空口條件周期性地進(jìn)行視頻傳輸?shù)恼{(diào)整。
[0054]步驟102,周期監(jiān)測移動設(shè)備的當(dāng)前移動速率、移動設(shè)備上傳輸視頻的當(dāng)前碼率、當(dāng)前分辨率格式m及空口支持的最大業(yè)務(wù)速率CRm—eumnt。
[0055]在進(jìn)行視頻傳輸?shù)倪^程中,周期性監(jiān)測發(fā)送視頻的移動設(shè)備的當(dāng)前移動速率Vc—、當(dāng)前空口可用帶寬CR,,—eumnt’、當(dāng)前視頻分辨率格式及該分辨率格式下的業(yè)務(wù)碼率
CRcurrent—m °
[0056]進(jìn)一步地,根據(jù)步驟101中設(shè)置的對應(yīng)關(guān)系和當(dāng)前移動速率,確定當(dāng)前移動速率所在級別對應(yīng)的基準(zhǔn)碼率和最低碼率。對空口可用帶寬CRW—eumnt’進(jìn)行折算確定當(dāng)前空口支持的最大業(yè)務(wù)速率CIV— = CIV*(1-1/K),其中κ為折算因子。
[0057]在確定出空口支持的最大業(yè)務(wù)速率后,可能會發(fā)現(xiàn)該速率CRW—eumnt無法支持傳輸視頻的當(dāng)前碼率CR-—?,即CIV _Current〈CR
Current—m,
則表示空口出現(xiàn)惡化,需要進(jìn)行調(diào)整。根據(jù)CR?—eumnt與當(dāng)前視頻格式m下的最低碼率CRMin—?的關(guān)系,可以采用步驟103和104的處理進(jìn)行調(diào)整。
[0058]步驟103,當(dāng)CRMin—? ( CRUU Current<CRCurrent n時,降低傳輸視頻的目標(biāo)幀率直到當(dāng)前移動速率對應(yīng)的最小幀率FMin—n,并將目標(biāo)碼率設(shè)定為CRW—eumnt,維持分辨率格式不變。
[0059]在具體進(jìn)行調(diào)整時,首先根據(jù)當(dāng)前狀況確定目標(biāo)碼率、目標(biāo)幀率和目標(biāo)分辨率格式,然后發(fā)送端與接收端協(xié)商,是否能夠支持相應(yīng)的目標(biāo)值,如果接收端同意,則雙方按照目標(biāo)值進(jìn)行當(dāng)前視頻傳輸?shù)恼{(diào)整;如果接收端拒絕,則單獨(dú)調(diào)整碼率。因此,本步驟及步驟104中的處理是確定目標(biāo)值的處理。
[0060]在本步驟103 中,CIVCu?ent 滿足條件 CRMin—? ( CR^ _Current〈CR
Current—m, 則表明當(dāng)前空口速率雖然不能支持當(dāng)前碼率,但是可以支持當(dāng)前分辨率格式下的最低碼率,在這種條件下,可以保持分辨率格式不變,設(shè)置目標(biāo)碼率為空口支持的最大業(yè)務(wù)速率CRW—eumnt,降低目標(biāo)幀率。具體地,可以優(yōu)先降低目標(biāo)幀率,保持不影響流暢性的前提下,適配空口傳輸能力,即將碼率設(shè)置為CRW—Cumnt,保證清晰度;當(dāng)空口不斷惡化,即CR,,—Cumnt繼續(xù)降低時,可以繼續(xù)降低目標(biāo)幀率,直到將目標(biāo)幀率調(diào)整到當(dāng)前移動速率對應(yīng)的最小幀率。優(yōu)選地,在降低目標(biāo)幀率時,保持I幀的幀率不變,降低非I幀的幀率。
[0061]更詳細(xì)地,降低