專利名稱:延時控制的方法及其裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,特別涉及一種延時控制的技術(shù)。
背景技術(shù):
隨著互聯(lián)網(wǎng)(Internet)的普遍使用及其自身技術(shù)的不斷發(fā)展,人們經(jīng)常在網(wǎng)絡(luò)上進(jìn)行各種資訊的交流。然而,網(wǎng)絡(luò)中存在延時、抖動(Jitter)、丟包、亂序等問題會對網(wǎng)絡(luò)上的資訊交流造成不可避免的影響,其中網(wǎng)絡(luò)中的抖動是較為常見的問題之一。網(wǎng)絡(luò)中,數(shù)據(jù)被封裝成不同的數(shù)據(jù)包在網(wǎng)絡(luò)中傳輸,由于在分組交換網(wǎng)中每個數(shù)據(jù)包走的路徑可能不同,那么網(wǎng)絡(luò)延時也就不同,從而造成數(shù)據(jù)包到達(dá)時間的改變,這種延時變化就叫抖動。在網(wǎng)絡(luò)設(shè)備接收端采用增加延時消除網(wǎng)絡(luò)側(cè)的抖動,被稱為去抖緩存(JB,Jitter Buffer),延時的大小即JB的深度決定了去除網(wǎng)絡(luò)抖動的能力。
目前JB分為靜態(tài)JB和動態(tài)JB,其中,靜態(tài)JB為引入固定延時來消除網(wǎng)絡(luò)抖動,但這個固定延時可能與實際需要的延時深度不同,影響了業(yè)務(wù)的延時或質(zhì)量。動態(tài)JB可以根據(jù)網(wǎng)絡(luò)的情況自動調(diào)整延時,使得在一定的丟包率情況下保證較小的延時。因此目前動態(tài)JB調(diào)整策略是保證網(wǎng)絡(luò)傳輸質(zhì)量的關(guān)鍵技術(shù)。
在現(xiàn)有技術(shù)中,為了解決網(wǎng)絡(luò)抖動的問題,實時傳輸協(xié)議(RTP)提出了JB概念來消除網(wǎng)絡(luò)的抖動。在RTP協(xié)議中對Jitter的定義和計算如下Si表示第i個包的源端時戳,Ri表示第i個包的本地時戳,Sj表示第j個包的源端時戳,Rj表示第j個包的本地時戳,則i、j兩個RTP包網(wǎng)絡(luò)傳輸時間之差D可以表示為D(i,j)=(Rj-Ri)-(Sj-Si)=(Rj-Sj)-(Ri-Si) (1)網(wǎng)絡(luò)的Jitter值每到一個數(shù)據(jù)包要更新統(tǒng)計,將統(tǒng)計值和新到數(shù)據(jù)包的|D|以不同權(quán)重相加得到新的Jitter統(tǒng)計值。
J(i)=(15/16)×J(i-1)+(1/16)×|D(i-1,i)| (2)JB深度即播放延時就是根據(jù)這個Jitter統(tǒng)計值換算得到。一般只要JB深度也就是播放延時大于網(wǎng)絡(luò)的實際抖動就可以消除網(wǎng)絡(luò)抖動。
現(xiàn)有技術(shù)中,攜帶時戳信息的網(wǎng)絡(luò)報文的時戳精度一般為1/8ms,因此網(wǎng)絡(luò)jitter統(tǒng)計值的單位通常也是1/8ms。一個網(wǎng)絡(luò)報文的打包間隔與所承載的具體業(yè)務(wù)相關(guān),一般為5ms的整數(shù)倍,例如以10ms為打包間隔的VOIP業(yè)務(wù)報文。
接收端通常將接收的報文根據(jù)序號或時戳的先后順序串成一個鏈表或?qū)懙揭粋€存儲矩陣中,其延時控制的精度是以打包間隔為單位的,其延時調(diào)整操作為刪除或者插入一個數(shù)據(jù)包。通常JB深度就是將jitter統(tǒng)計值取整到大于它的最接近的一個10ms。比如jitter統(tǒng)計值是357,統(tǒng)計值單位為1/8ms,即44.625ms,則當(dāng)前JB深度取整到50ms。
例如打包間隔10ms,JB深度50ms,如果JB深度變?yōu)?0ms,則JB深度需要上調(diào),對于鏈表式JB,即在JB鏈表中插入一個補(bǔ)償?shù)?0ms數(shù)據(jù)包,如果JB深度變?yōu)?0ms時,則JB深度需要下調(diào),即在JB鏈表中刪除一個10ms數(shù)據(jù)包。
從上述現(xiàn)有技術(shù)延時控制的方法可以看出,延時控制的精度是以打包間隔為單位的,所以供用戶配置的JB深度只有打包時長的整數(shù)倍,當(dāng)網(wǎng)絡(luò)延時變化小于打包時長,如果按照打包時長的整數(shù)倍調(diào)整數(shù)據(jù)包在接收緩存中的延時,會引入一些不必要的延時,影響到上層業(yè)務(wù)的實時性。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明實施例提出了一種能夠以小于打包時長的調(diào)整步長進(jìn)行延時控制的方法及其裝置。
為解決上述技術(shù)問題,本發(fā)明實施例的目的是通過以下技術(shù)方案實現(xiàn)的一種延時控制的方法,用于實現(xiàn)對接收緩存中各通道數(shù)據(jù)包延時的控制,所述方法包括根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值;根據(jù)播放時隙表的時隙長度以及數(shù)據(jù)包的時戳信息,將所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到數(shù)據(jù)包的播放延時值,所述播放時隙表的時隙長度小于所述數(shù)據(jù)包的打包時長;根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙,所述數(shù)據(jù)包的對應(yīng)時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間;
根據(jù)調(diào)整后的播放時隙表控制各通道數(shù)據(jù)包從接收緩存中的出隊時間。
一種延時控制的裝置,用于實現(xiàn)對接收緩存中各通道數(shù)據(jù)包延時的控制,所述延時控制的裝置包括播放時隙表,包括至少一個小于打包時長的時隙,所述數(shù)據(jù)包的時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間;計算單元,用于根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值,并根據(jù)所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到播放延時值;調(diào)整執(zhí)行單元,根據(jù)所述計算單元換算得到的播放延時值更新所述播放時隙表,并根據(jù)所述播放時隙表進(jìn)行延時控制。
通過本發(fā)明實施例提供的延時控制的方法及其系統(tǒng),用戶可以采用小步長進(jìn)行延時調(diào)整,即配置以小于打包時長的時隙為單位對數(shù)據(jù)包在接收緩存中延時進(jìn)行控制,因此能夠能更精確有效地控制數(shù)據(jù)包在接收緩存中的延時,可以滿足高實時性和高精確延時的業(yè)務(wù)傳輸。
圖1為本發(fā)明延時控制裝置較佳實施例的結(jié)構(gòu)圖;圖2為本發(fā)明延時控制方法較佳實施例的流程圖;圖3A為單向鏈表式結(jié)構(gòu)示意圖;圖3B為雙向鏈表式結(jié)構(gòu)示意圖。
具體實施例方式
本發(fā)明實施例提供一種延時控制的方法及其裝置,通過計算網(wǎng)絡(luò)抖動統(tǒng)計值,將所述網(wǎng)絡(luò)抖動統(tǒng)計值換算為數(shù)據(jù)包的播放延時值,然后根據(jù)所述播放延時值,調(diào)整播放時隙表中數(shù)據(jù)包的對應(yīng)時隙,再根據(jù)調(diào)整后的播放時隙表實現(xiàn)數(shù)據(jù)包在接收緩存中的延時控制。
為使本發(fā)明的技術(shù)方案更加清楚明白,以下參照附圖并列舉實施例,對本發(fā)明進(jìn)一步詳細(xì)說明。
請參照圖1,為本發(fā)明延時控制的裝置較佳實施例的結(jié)構(gòu)圖。所述延時控制裝置1包括接口單元11、播放時隙表12、調(diào)整執(zhí)行單元13、計算單元10以及判斷單元17。所述計算單元10包括網(wǎng)絡(luò)抖動計算單元14、網(wǎng)絡(luò)抖動統(tǒng)計單元15、延時計算單元16。
所述接口單元11用于接收和發(fā)送延時控制裝置1與接收緩存2之間傳遞的信息,例如從接收緩存2獲取延時控制所需要的信息各通道數(shù)據(jù)包到達(dá)接收緩存的時間、從接收緩存中出隊的時間等、接收緩存2的空間結(jié)構(gòu)信息如表格式、鏈表式或者兩者的組合等。
所述播放時隙表12包括若干小于打包時長的時隙,所述數(shù)據(jù)包的時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間。
所述網(wǎng)絡(luò)抖動計算單元14用于根據(jù)從接口單元11獲取的新數(shù)據(jù)包的時間信息計算新的網(wǎng)絡(luò)抖動值。
所述網(wǎng)絡(luò)抖動統(tǒng)計單元15根據(jù)所述網(wǎng)絡(luò)抖動值計算網(wǎng)絡(luò)抖動統(tǒng)計值。
所述延時計算單元16根據(jù)網(wǎng)絡(luò)抖動統(tǒng)計值以一設(shè)定的時間間隔計算播放延時值,當(dāng)前時刻計算所得的播放延時值稱為理想播放延時值,當(dāng)前時刻正在使用的播放延時值稱為當(dāng)前播放延時值,計算播放延時值的方式為將網(wǎng)絡(luò)抖動統(tǒng)計值向上取整到最近的以時隙為單位的延時值。比如統(tǒng)計值為36.2ms,如果時隙單位是1ms,則取整得到37ms為當(dāng)前的播放延時,如果時隙單位是2ms,則取整到38ms,即16個時隙長度為當(dāng)前的播放延時,并將每次計算所得的播放延時值發(fā)送至判斷單元17。
所述判斷單元17根據(jù)從延時計算單元16得到的當(dāng)前播放延時值與上層應(yīng)用單元3預(yù)先設(shè)置的絕對門限值的大小關(guān)系以及當(dāng)前播放延時與理想播放延時之間的差值與打包時長的大小關(guān)系,判斷采用大步長即打包時長還是采用小步長即根據(jù)播放時隙表進(jìn)行延時調(diào)整,以及進(jìn)行調(diào)整的方向。
調(diào)整執(zhí)行單元13根據(jù)所述判斷單元17的指示采用大步長或者小步長進(jìn)行調(diào)整,如果采用小步長調(diào)整,則根據(jù)所述播放時隙表12進(jìn)行延時調(diào)整,如果采用大步長調(diào)整,則采用大步長進(jìn)行延時調(diào)整,例如通過接口單元11在緩存中刪除或者插入數(shù)據(jù)包。
請參照圖2,為本發(fā)明在接收緩存中實現(xiàn)高精度延時控制的方法較佳實施例的流程圖,所述延時控制方法具體包括步驟201根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值Jitter,同時更新網(wǎng)絡(luò)抖動統(tǒng)計值,所述計算網(wǎng)絡(luò)抖動統(tǒng)計值方法與現(xiàn)有技術(shù)相同,這里不做贅述。
步驟202判斷是否到了延時調(diào)整時刻,如果是則進(jìn)行步驟203,如果否,則進(jìn)行步驟211;所述延時調(diào)整每隔一段時間進(jìn)行一次,間隔時間可以根據(jù)需要以及網(wǎng)絡(luò)狀況進(jìn)行設(shè)置。所述設(shè)置延時調(diào)整步驟可以根據(jù)具體情況來采用,可以省略此步驟。
步驟203根據(jù)播放時隙表的時隙長度以及數(shù)據(jù)包的時戳信息,將所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到數(shù)據(jù)包的播放延時值,所述播放時隙表的時隙長度小于所述數(shù)據(jù)包的打包時長,即將Jitter統(tǒng)計值向上取整到最近的以時隙為單位的值即為播放延時值,其中對某一時刻而言,當(dāng)前時刻計算所得的播放延時值稱為理想播放延時值,當(dāng)前時刻正在使用的播放延時值稱為當(dāng)前播放延時值所述播放時隙表包括至少一個小于打包時長的時隙,用于指示每一時隙有哪些通道需要做數(shù)據(jù)包出隊處理。
接收緩存的空間結(jié)構(gòu)有鏈表式、表格式等。表1為表格式接收緩存的空間表,假設(shè)接收緩存用于接收N個通道的數(shù)據(jù)業(yè)務(wù),且每個通道可以容納M個數(shù)據(jù)包,因此需要一個N×M大小的存儲空間表。
表1 表格式接收緩存的空間表
播放時隙表同樣可以采用表格式或鏈表式結(jié)構(gòu)進(jìn)行存儲。例如采用表格式結(jié)構(gòu),假設(shè)數(shù)據(jù)包的打包時間間隔為Xms,延時調(diào)整的精度即延時調(diào)整步長為(X/Y)ms,其中Y為整數(shù),用戶可以進(jìn)行配置,那么需要建立的播放時隙表大小為Y×N,如表2所示
表2 表格式接收緩存對應(yīng)的播放時隙表
鏈表式結(jié)構(gòu)分為雙向和單向鏈表,單向鏈表為每個單元包含一個指針指向它后一個單元。圖3A所示為單向鏈表式結(jié)構(gòu)圖,單向鏈表指每個單元均包含一個指針指向它后一個存儲數(shù)據(jù)的單元,有無頭部和尾部即頭指針和空指針,由具體情況決定。圖3B所示為雙向鏈表式結(jié)構(gòu)圖,雙向鏈表指每個單元均包含兩個指針分別指向它前一個存儲數(shù)據(jù)的單元和后一個存儲數(shù)據(jù)的單元,有無頭部和尾部即頭指針和空指針,也由具體情況決定。接收緩存和播放時隙表可以用這種鏈表式結(jié)構(gòu)進(jìn)行存儲數(shù)據(jù)包。在鏈表式結(jié)構(gòu)的播放時隙表中,屬于同個時隙的通道號串在一個鏈表中。
通常將數(shù)據(jù)包寫入接收緩存稱為入隊,從接收緩存將數(shù)據(jù)包輸出交付上層稱為出隊,假設(shè)數(shù)據(jù)包的打包時間間隔X為10ms,Y取整數(shù)10,則調(diào)整步長為1ms,表2中每行代表一個1ms時隙,總共有10個時隙,每個單元格均有一個標(biāo)志位,用于標(biāo)識某個時隙有哪些通道需要做出隊處理,即某個通道是在哪個時隙出隊。
步驟204判斷當(dāng)前播放延時值是否大于絕對門限值,如果是,則進(jìn)行步驟205,如果否,則進(jìn)行步驟206;所述絕對門限值可以由上層應(yīng)用單元預(yù)先設(shè)定,如果當(dāng)前延時值超過所述絕對門限值,則說明當(dāng)前網(wǎng)絡(luò)延時較大,這時候?qū)ι疃鹊奈⒄{(diào)效果不明顯,可以采用大步長進(jìn)行延時調(diào)整;如果當(dāng)前延時值未超過所述絕對門限值,說明當(dāng)前網(wǎng)絡(luò)延時較小,可以進(jìn)一步改善業(yè)務(wù)的實時性,可以采用小步長調(diào)整步長進(jìn)行延時調(diào)整。
步驟205采用大步長即打包時長為調(diào)整步長進(jìn)行延時控制,通過在接收緩存中增加或刪除一個數(shù)據(jù)包來調(diào)整接收緩存的延時。
步驟206判斷理想播放延時值與當(dāng)前播放延時值之間的差值是否超過打包時長,如果是,則進(jìn)行步驟205,如果否,則進(jìn)行步驟207;當(dāng)理想播放延時值相對當(dāng)前播放延時值變化較大已經(jīng)超過打包時長時,采用大步長調(diào)整可以更快的將延時調(diào)整到位,但是采用小步長調(diào)整也是同樣可以的,因此這個步驟可以由用戶選擇是否采用。
步驟207判斷新時隙上的通道總數(shù)是否已達(dá)到預(yù)設(shè)上限,如果是,則進(jìn)行步驟208,如果否,則進(jìn)行步驟209;在播放時隙表中配置每個時隙的出隊通道總數(shù)的上限,用于根據(jù)上層的處理能力來限制一個時隙向上交付的數(shù)據(jù)包總數(shù)。設(shè)備初始化時,各時隙通道密度設(shè)置0,在工作狀態(tài)下可以配置一個時隙的通道總數(shù)上限,即如果某時隙時出隊通總道數(shù)已經(jīng)達(dá)到上限,則不允許新的通道將出隊時間修改至本時隙。
步驟208繼續(xù)搜索通道總數(shù)未達(dá)到預(yù)設(shè)上限且滿足延時要求的新時隙;例如,前一時刻JB深度是13ms,新統(tǒng)計的JB深度是11ms,則可以將該通道的原時隙標(biāo)志3清除,在時隙2的格子中置有效。如果此時時隙2上的出隊通道總數(shù)已達(dá)上限,則JB深度可以選擇繼續(xù)前推到時隙1,或保持時隙3不變。
步驟209調(diào)整播放時隙表;若所述數(shù)據(jù)包為接收緩存中各通道所接收的第一個數(shù)據(jù)包,則根據(jù)所述數(shù)據(jù)包的播放延時值確定所述播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙第一個數(shù)據(jù)包播放時刻(ms)=第一個數(shù)據(jù)包接收時戳(ms)+初始延時(ms);某通道時隙號=第一個數(shù)據(jù)包播放時刻%打包時長X。
其中,“A%B”表示A對B取模,即A除以B后的余數(shù),例如,打包時長為10ms,第一個數(shù)據(jù)包接收時戳為10ms,初始延時為3ms,則第一個數(shù)據(jù)包播放時刻為13ms,取整求余得到某通道時隙號為3,此時將時隙號為3的某通道單元格中的標(biāo)志置位有效。其他通道業(yè)務(wù)采用同樣的做法。
若所述數(shù)據(jù)包為接收緩存中各通道所接收的除第一個數(shù)據(jù)包以外的其他數(shù)據(jù)包,則按如下步驟對各通道數(shù)據(jù)包的播放時隙進(jìn)行調(diào)整如果當(dāng)前網(wǎng)絡(luò)抖動值相對于前一時刻的播放延時值增大,則根據(jù)增大幅度將所述數(shù)據(jù)包的播放時隙推后;如果當(dāng)前網(wǎng)絡(luò)抖動值相對于前一時刻的播放延時值減少,則根據(jù)減少幅度將所述數(shù)據(jù)包的播放時隙提前。
相對于表格式播放時隙表而言,當(dāng)所述當(dāng)前Jitter值超過前一時刻的播放延時值時,說明需要增加數(shù)據(jù)包在接收緩存中的延時,因此需根據(jù)增大幅度將數(shù)據(jù)包的播放時隙推后,例如將該通道的原始播放時隙對應(yīng)的標(biāo)志改為無效,而將后面適合的播放時隙所對應(yīng)的標(biāo)志設(shè)為有效;當(dāng)所述當(dāng)前Jitter值小于前一時刻的播放延時值時,說明需要減少數(shù)據(jù)包在接收緩存中的延時,因此需根據(jù)減少幅度將數(shù)據(jù)包的播放時隙提前,例如將通道在原始播放時隙對應(yīng)的標(biāo)志改為無效,而將前面適合的播放時隙所對應(yīng)的標(biāo)志設(shè)為有效。
相對于鏈表式播放時隙表而言,當(dāng)所述當(dāng)前Jitter值超過前一時刻的播放延時值時,說明需要增加數(shù)據(jù)包在接收緩存中的延時,從播放時隙表中當(dāng)前播放時隙對應(yīng)的通道鏈表查找該通道號,刪除該通道號,并將該通道號插入下一個播放時隙對應(yīng)的通道鏈表中,可以是通道鏈表尾部或者通道序號對應(yīng)的其他位置;當(dāng)所述當(dāng)前Jitter值小于前一時刻的播放延時值時,說明需要減少數(shù)據(jù)包在接收緩存中的延時,從播放時隙表中當(dāng)前播放時隙對應(yīng)的通道鏈表查找該通道號,刪除該通道號,并將該通道號插入上一個播放時隙對應(yīng)的通道鏈表中。
由此可知,鏈表結(jié)構(gòu)一般是動態(tài)分配內(nèi)存空間,其優(yōu)勢在于節(jié)省空間且分配靈活;而表格式結(jié)構(gòu)則相當(dāng)于靜態(tài)分配內(nèi)存,可能造成空間的浪費(fèi),但不需要動態(tài)查找通道號的位置,速度上有優(yōu)勢。
步驟210更新當(dāng)前播放延時為理想播放延時;步驟211按照當(dāng)前的播放時隙表對各通道的數(shù)據(jù)包在接收緩存的延時進(jìn)行控制,即控制數(shù)據(jù)包從接收緩存中的出隊時間。
在播放時隙表中每個時隙檢查該時隙號對應(yīng)的播放時隙表格行,查看有哪些通道的數(shù)據(jù)包需要出隊處理,并完成出隊操作,在下一時隙檢查下一行,如此從1~Y行進(jìn)行反復(fù)檢查并作出數(shù)據(jù)包出隊處理。當(dāng)下一次輪到某時隙時,正好為一個數(shù)據(jù)包的打包時長,也是在此時隙出隊的通道中下一個數(shù)據(jù)包出隊的時刻。
通過本發(fā)明實施例提供的延時控制的方法及其系統(tǒng),用戶可以采用小步長進(jìn)行延時調(diào)整,即配置以小于打包時長的時隙為單位對數(shù)據(jù)包在接收緩存中延時進(jìn)行控制,因此能夠能更精確有效地控制數(shù)據(jù)包在接收緩存中的延時,可以滿足高實時性和高精確延時的業(yè)務(wù)傳輸。
以上對本發(fā)明所提供的一種延時控制的方法及系統(tǒng)進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個例對本發(fā)明的原理及實施方式進(jìn)行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時,對于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實施方式
及應(yīng)用范圍上均會有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。
權(quán)利要求
1.一種延時控制的方法,用于實現(xiàn)對接收緩存中各通道數(shù)據(jù)包延時的控制,其特征在于,所述方法包括根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值;根據(jù)播放時隙表的時隙長度以及數(shù)據(jù)包的時戳信息,將所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到數(shù)據(jù)包的播放延時值,所述播放時隙表的時隙長度小于所述數(shù)據(jù)包的打包時長;根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙,所述數(shù)據(jù)包的對應(yīng)時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間;根據(jù)調(diào)整后的播放時隙表控制各通道數(shù)據(jù)包從接收緩存中的出隊時間。
2.根據(jù)權(quán)利要求1所述的延時控制的方法,其特征在于,在所述根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙之前還包括確定當(dāng)前播放延時值小于門限值。
3.根據(jù)權(quán)利要求1所述的延時控制的方法,其特征在于,在所述根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙之前還包括確定當(dāng)前播放延時值小于門限值且播放延時的變化小于打包時長。
4.根據(jù)權(quán)利要求2或3所述的延時控制的方法,其特征在于,所述門限值由上層應(yīng)用單元預(yù)先設(shè)置。
5.根據(jù)權(quán)利要求1所述的延時控制的方法,其特征在于,所述將網(wǎng)絡(luò)抖動統(tǒng)計值換算得到數(shù)據(jù)包的播放延時值具體為將網(wǎng)絡(luò)抖動統(tǒng)計值向上取整到最近的以播放時隙表中的時隙長度為單位的播放延時值;
6.根據(jù)權(quán)利要求1所述的延時控制的方法,其特征在于,所述接收緩存和播放時隙表均為表格式或均為鏈表式結(jié)構(gòu),或者接收緩存和播放時隙表二者其中之一為表格式結(jié)構(gòu),另一為鏈表式結(jié)構(gòu)。
7.根據(jù)權(quán)利要求1所述的延時控制的方法,其特征在于,所述根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙具體為若所述數(shù)據(jù)包為接收緩存中各通道所接收的第一個數(shù)據(jù)包,則根據(jù)所述數(shù)據(jù)包的播放延時值確定所述播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙;若所述數(shù)據(jù)包為接收緩存中各通道所接收的除第一個數(shù)據(jù)包以外的其他數(shù)據(jù)包,則按如下步驟對各通道數(shù)據(jù)包的播放時隙進(jìn)行調(diào)整如果當(dāng)前網(wǎng)絡(luò)抖動值相對于前一時刻的播放延時值增大,則根據(jù)增大幅度將所述數(shù)據(jù)包的播放時隙推后;如果當(dāng)前網(wǎng)絡(luò)抖動值相對于前一時刻的播放延時值減少,則根據(jù)減少幅度將所述數(shù)據(jù)包的播放時隙提前。
8.根據(jù)權(quán)利要求1或7所述的延時控制的方法,其特征在于,所述播放時隙表中還配置有單個時隙允許進(jìn)行出隊操作的通道總數(shù)上限,所述方法還包括在所述根據(jù)播放延時值調(diào)整播放時隙表中數(shù)據(jù)包的對應(yīng)時隙之后,如果數(shù)據(jù)包的對應(yīng)時隙調(diào)整到對應(yīng)的通道總數(shù)已達(dá)到上限的時隙,則繼續(xù)搜索滿足延時要求的新時隙或者放棄本次延時調(diào)整。
9.一種延時控制的裝置,用于實現(xiàn)對接收緩存中各通道數(shù)據(jù)包延時的控制,其特征在于,所述延時控制的裝置包括播放時隙表,包括至少一個小于打包時長的時隙,所述數(shù)據(jù)包的時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間;計算單元,用于根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值,并根據(jù)所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到播放延時值;調(diào)整執(zhí)行單元,根據(jù)所述計算單元換算得到的播放延時值更新所述播放時隙表,并根據(jù)所述播放時隙表進(jìn)行延時控制。
10.根據(jù)權(quán)利要求9所述的延時控制的裝置,其特征在于,還包括判斷單元,用于確定所述延時計算單元計算得到的當(dāng)前播放延時值小于門限值時,控制所述調(diào)整執(zhí)行單元根據(jù)播放時隙表的時隙進(jìn)行延時控制。
11.根據(jù)權(quán)利要求9所述的延時控制的裝置,其特征在于,所述計算單元包括網(wǎng)絡(luò)抖動計算單元,用于根據(jù)接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動值;網(wǎng)絡(luò)抖動統(tǒng)計單元,用于根據(jù)所述網(wǎng)絡(luò)抖動值計算網(wǎng)絡(luò)抖動統(tǒng)計值;延時計算單元,用于根據(jù)所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到播放延時值。
全文摘要
本發(fā)明提供了一種延時控制的方法及其裝置,所述方法包括根據(jù)所述接收緩存接收的數(shù)據(jù)包的時戳信息計算網(wǎng)絡(luò)抖動統(tǒng)計值;根據(jù)播放時隙表的時隙長度以及數(shù)據(jù)包的時戳信息,將所述網(wǎng)絡(luò)抖動統(tǒng)計值換算得到播放延時值,所述播放時隙表的時隙長度小于所述數(shù)據(jù)包的打包時長;根據(jù)播放延時值調(diào)整播放時隙表中各通道數(shù)據(jù)包的對應(yīng)時隙,所述時隙用于指示各通道數(shù)據(jù)包在所述接收緩存中做出隊處理的時間;根據(jù)調(diào)整后的播放時隙表控制各通道數(shù)據(jù)包從接收緩存中的出隊時間。通過本發(fā)明提供的技術(shù)方案用戶可以配置以小于打包時長為單位的調(diào)整步長,對數(shù)據(jù)包在接收緩存中的延時進(jìn)行控制,能更精確有效地控制數(shù)據(jù)包的延時,為數(shù)據(jù)的傳輸提供更好的實時性。
文檔編號H04L12/56GK101022326SQ200710007529
公開日2007年8月22日 申請日期2007年2月1日 優(yōu)先權(quán)日2007年2月1日
發(fā)明者余凡, 邱超 申請人:華為技術(shù)有限公司