述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩 沖數(shù)據(jù)量的3/8,且小于等于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的5/8時(shí),所述一 級(jí)修正因子Ay為0 ;
[0104] 當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù) 據(jù)量的5/8,且小于等于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的6/8時(shí),所述一級(jí)修 正因子Ay為0. 05 ;
[0105] 當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù) 據(jù)量的6/8,且小于等于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的7/8時(shí),所述一級(jí)修 正因子Ay為0. 1 ;
[0106] 當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù) 據(jù)量的7/8,且小于等于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的8/8時(shí),所述一級(jí)修 正因子Ay為0. 15。
[0107] 本發(fā)明的上述方法中,如圖4所示,二級(jí)修正因子是通過(guò)如下過(guò)程進(jìn)行確定的。 [010引步驟al、根據(jù)視頻編碼器的碼率,設(shè)定第H闊值點(diǎn)和第四闊值點(diǎn),其中第H闊值點(diǎn) 小于第四闊值點(diǎn)。
[0109] 參照?qǐng)D5所示,假設(shè)其中陰影區(qū)域?yàn)橐曨l編碼器的碼率,第H闊值點(diǎn)Ps和第四闊 值點(diǎn)P4分別設(shè)置于視頻編碼器的碼率的兩側(cè),且第H闊值點(diǎn)Ps小于第四闊值點(diǎn)P4。作為一 個(gè)具體實(shí)施例,第H闊值點(diǎn)Ps可設(shè)置為視頻編碼器的碼率的3/4,第四闊值點(diǎn)P4可設(shè)置為 視頻編碼器的碼率的5/4,即
[0111] 其中,Ps為第H闊值點(diǎn),P4為第四闊值點(diǎn),T為視頻記錄采樣周期,P。為視頻編碼器 碼率,其中,視頻編碼器碼率在配置視頻編碼器時(shí)進(jìn)行設(shè)定,設(shè)定完視頻編碼器碼率之后, 視頻編碼器才能進(jìn)行工作。
[0112] 例如,視頻編碼器的碼率為2Mbps,則第H闊值點(diǎn)Ps為3/4X2Mbps= 1. 5Mbps,第 四闊值點(diǎn)Pa為 5/4X2Mbps= 2. 5Mbps。
[0113] 步驟a2、統(tǒng)計(jì)當(dāng)前時(shí)間之前2砂鐘到當(dāng)前時(shí)間之前I砂鐘的實(shí)際碼流量,記為第一 實(shí)際碼流量,統(tǒng)計(jì)當(dāng)前時(shí)間之前1砂鐘到當(dāng)前時(shí)間的實(shí)際碼流量,記為第二實(shí)際碼流量。
[0114] 本步驟中,統(tǒng)計(jì)當(dāng)前時(shí)間之前2砂鐘到當(dāng)前時(shí)間之前1砂鐘的實(shí)際碼流量,是將當(dāng) 前時(shí)間之前2砂鐘到當(dāng)前時(shí)間之前1砂鐘內(nèi)所有采樣周期所發(fā)送視頻數(shù)據(jù)的大小進(jìn)行累 加,若1砂鐘由N(N> 1)個(gè)采樣周期組成,則統(tǒng)計(jì)當(dāng)前時(shí)間之前2砂鐘到當(dāng)前時(shí)間之前1 砂鐘內(nèi)的N個(gè)采樣周期所發(fā)送的視頻數(shù)據(jù)。例如,若一個(gè)采樣周期為62. 5ms,郝么1砂鐘便 由16個(gè)化2. 5msX16 = 1巧采樣周期所組成,郝么本步驟中,統(tǒng)計(jì)當(dāng)前時(shí)間之前2砂鐘到 當(dāng)前時(shí)間之前1砂鐘的實(shí)際碼流量,則是統(tǒng)計(jì)當(dāng)前時(shí)間之前2砂鐘到當(dāng)前時(shí)間之前1砂鐘 內(nèi)的16個(gè)采樣周期所發(fā)送的視頻數(shù)據(jù)的大小并進(jìn)行累加,進(jìn)而確定當(dāng)前時(shí)間之前2砂鐘到 當(dāng)前時(shí)間之前1砂鐘內(nèi)的實(shí)際碼流量。同理,統(tǒng)計(jì)當(dāng)前時(shí)間之前1砂鐘到當(dāng)前時(shí)間的實(shí)際 碼流量,是將是將當(dāng)前時(shí)間之前1砂鐘當(dāng)前時(shí)間內(nèi)所有采樣周期所發(fā)送視頻數(shù)據(jù)的大小進(jìn) 行累加。
[0115] 在實(shí)際中,若當(dāng)前時(shí)間,統(tǒng)計(jì)完第一實(shí)際碼流量和第二實(shí)際碼流量后,再過(guò)1砂鐘 的下一個(gè)統(tǒng)計(jì)時(shí)間點(diǎn)時(shí),可直接將當(dāng)前時(shí)間的第二實(shí)際碼流量作為下一個(gè)統(tǒng)計(jì)時(shí)間點(diǎn)的第 一實(shí)際碼流量,而不必在下一個(gè)統(tǒng)計(jì)時(shí)間點(diǎn)重新進(jìn)行統(tǒng)計(jì)。
[0116] 步驟曰3、根據(jù)第一實(shí)際碼流量和第二實(shí)際碼流量與所述第H闊值點(diǎn)和第四闊值點(diǎn) 的比較,確定是否調(diào)整二級(jí)修正因子。
[0117] 具體地,當(dāng)?shù)谝粚?shí)際碼流量和第二實(shí)際碼流量均低于所述第H闊值點(diǎn)時(shí),執(zhí)行步 驟曰4,當(dāng)?shù)谝粚?shí)際碼流量和第二實(shí)際碼流量均高于所述第四闊值點(diǎn)時(shí),執(zhí)行步驟曰5,而在 其他情況下不進(jìn)行二級(jí)修正因子的調(diào)整。
[0118] 步驟a4、當(dāng)?shù)谝粚?shí)際碼流量和第二實(shí)際碼流量均低于所述第H闊值點(diǎn)時(shí),采用如 下公式調(diào)整二級(jí)修正因子:
[0120] 其中,Ps為第H闊值點(diǎn),P4為第四闊值點(diǎn),T為視頻記錄采樣周期,S為當(dāng)前視頻記 錄采樣周期的視頻編碼器的碼流量,Ax為所述二級(jí)修正因子。
[0121] 步驟曰5、當(dāng)?shù)谝粚?shí)際碼流量和第二實(shí)際碼流量均高于所述第四闊值點(diǎn)時(shí),采用如 下公式調(diào)整二級(jí)修正因子:
[0123] 其中,Ps為第H闊值點(diǎn),P4為第四闊值點(diǎn),T為視頻記錄采樣周期,S為當(dāng)前視頻記 錄采樣周期的視頻編碼器的碼流量,Ax為所述二級(jí)修正因子。
[0124] W下結(jié)合一具體實(shí)施例對(duì)本發(fā)明的方法進(jìn)行進(jìn)一步說(shuō)明。
[01巧]如圖6所示,本發(fā)明的視頻圖像數(shù)據(jù)的網(wǎng)絡(luò)發(fā)送速率的平滑方法實(shí)施例流程包括W下各個(gè)步驟。
[0126] 步驟bl、在記錄采樣周期內(nèi),通過(guò)寫(xiě)指針向緩沖區(qū)中更新視頻碼流,之后進(jìn)入步驟 b2〇
[0127] 本步驟bl中,視頻編碼器通過(guò)寫(xiě)指針將視頻碼流更新到緩沖區(qū)中,通過(guò)寫(xiě)指針在 緩沖區(qū)中位置的更新,可W得知更新到緩沖區(qū)中的視頻碼流的最末位置。
[0128] 步驟b2、計(jì)算當(dāng)前視頻記錄采樣周期內(nèi)的視頻編碼器的碼流變化,之后進(jìn)入步驟 b3。
[0129] 本步驟b2中的視頻編碼器的碼流變化是指前后兩個(gè)采樣周期內(nèi)視頻編碼器輸出 碼流量的差別,即
[0130] AS = S-So
[0131] 其中,AS為當(dāng)前視頻記錄采樣周期的視頻編碼器的碼流變化,S為當(dāng)前視頻記錄 采樣周期的視頻編碼器的碼流量,S。為前一視頻記錄采樣周期的視頻編碼器的碼流量。
[0132] 步驟b3、通過(guò)讀指針和寫(xiě)指針在緩沖區(qū)的位置計(jì)算當(dāng)前緩沖區(qū)中視頻數(shù)據(jù)的實(shí)際 大小,之后進(jìn)入步驟b4。
[0133] 因?yàn)樵趯?xiě)指針將視頻數(shù)據(jù)存放到緩沖區(qū)時(shí),寫(xiě)指針在緩沖區(qū)中的位置會(huì)隨著視頻 數(shù)據(jù)的寫(xiě)入而更新;在讀指針將視頻數(shù)據(jù)從緩沖區(qū)讀出時(shí),讀指針在緩沖區(qū)中的位置會(huì)隨 著視頻數(shù)據(jù)的讀出而更新。因此,本步驟中,可通過(guò)讀指針與寫(xiě)指針在所述緩沖區(qū)中的位 置,進(jìn)而確定當(dāng)前緩沖區(qū)中視頻數(shù)據(jù)大小。
[0134] 步驟b4、根據(jù)當(dāng)前緩沖區(qū)中視頻數(shù)據(jù)的實(shí)際大小與視頻傳輸網(wǎng)絡(luò)所允許延時(shí)的關(guān) 系,計(jì)算視頻數(shù)據(jù)的待發(fā)送速率,之后進(jìn)入步驟b5。
[0135]本步驟b4中,通過(guò)在緩沖區(qū)中設(shè)置第一闊值點(diǎn)Pi和第二闊值點(diǎn)P2(圖3所示), 并具體是通過(guò)如下的方法獲得所述視頻數(shù)據(jù)的待發(fā)送速率的。
[0136] 當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量小于第一闊值點(diǎn)Pi時(shí),采用如下公式獲得所述 待發(fā)送速率:
(1 )
[013引當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量位于所述第一闊值點(diǎn)Pi和第二闊值點(diǎn)Pz之間 時(shí),采用如下公式獲得所述待發(fā)送速率:
(2)
[0140] 當(dāng)所述緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于第二闊值點(diǎn)Pz時(shí),采用如下公式獲得所述 待發(fā)送速率:
(3)
[0142]其中,V為待發(fā)送速率,V。為前一視頻記錄采樣周期內(nèi)發(fā)送到網(wǎng)絡(luò)的最終發(fā)送速 率,T為視頻記錄采樣周期,Ay為一級(jí)修正因子,AX為二級(jí)修正因子,Ay的取值范圍為 O~0. 15。
[0143] 步驟b5、將待發(fā)送速率與檢測(cè)到的當(dāng)前視頻傳輸網(wǎng)絡(luò)帶寬進(jìn)行比較,如果待發(fā)送 速率小于檢測(cè)到的當(dāng)前帶寬,則將待發(fā)送速率帶入步驟b6,否則將當(dāng)前視頻傳輸網(wǎng)絡(luò)帶寬 帶入步驟b6。
[0144] 步驟b6、將步驟b5帶入的值與視頻碼流在視頻傳輸網(wǎng)絡(luò)中的波動(dòng)最大值進(jìn)行比 較,若步驟b5帶入的值小于視頻碼流在視頻傳輸網(wǎng)絡(luò)中的波動(dòng)最大值,則將步驟b5帶入的 值確定為實(shí)際發(fā)送速率,否則將視頻碼流在視頻傳輸網(wǎng)絡(luò)中的波動(dòng)最大值確定為實(shí)際發(fā)送 速率,之后進(jìn)入步驟b7。
[0145] 步驟b7、采用所述實(shí)際發(fā)送速率發(fā)送緩沖區(qū)中的視頻數(shù)據(jù),之后進(jìn)入步驟b8。
[0146] 步驟b8、判斷步驟b7中采用所述實(shí)際發(fā)送速率發(fā)送緩沖區(qū)中的視頻數(shù)據(jù)所使用 的時(shí)間是否超過(guò)記錄采樣周期,如果是則進(jìn)入步驟b9,否則進(jìn)入步驟blO。
[0147] 步驟b9、調(diào)整一級(jí)修正因子,并在下一記錄采樣周期返回步驟bl。
[0148] 本步驟b9中,一級(jí)修正因子Ay的調(diào)整方法為:
[0149] 當(dāng)緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于等于0,且小于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩 沖數(shù)據(jù)量的1/8時(shí),Ay= -0. 15 ;當(dāng)緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于等于視頻傳輸網(wǎng)絡(luò)延 時(shí)所允許的緩沖數(shù)據(jù)量的1/8,且小于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的2/8時(shí), Ay= -0. 1 ;當(dāng)緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于等于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù) 量的2/8,且小于所述視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的3/8時(shí),Ay= -0. 05 ;當(dāng)緩 沖區(qū)中緩沖的視頻數(shù)據(jù)量大于等于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的3/8,且小于 等于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的5/8時(shí),Ay= 0 ;當(dāng)緩沖區(qū)中緩沖的視頻數(shù) 據(jù)量大于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的5/8,且小于等于視頻傳輸網(wǎng)絡(luò)延時(shí)所 允許的緩沖數(shù)據(jù)量的6/8時(shí),Ay= 0. 05 ;當(dāng)緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于視頻傳輸網(wǎng) 絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的6/8,且小于等于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的 7/8時(shí),Ay= 0. 1 ;當(dāng)緩沖區(qū)中緩沖的視頻數(shù)據(jù)量大于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù) 據(jù)量的7/8,且小于等于視頻傳輸網(wǎng)絡(luò)延時(shí)所允許的緩沖數(shù)據(jù)量的8/8時(shí),Ay= 0. 15。
[0150] 步驟blO、休眠本記錄采樣周期的剩余時(shí)間,并在下一記錄采樣周期返回步驟bl。
[0151] 經(jīng)過(guò)上述過(guò)程后,若一級(jí)修正因子Ay進(jìn)行了調(diào)整,便可在下一記錄采