国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法

      文檔序號(hào):7600798閱讀:154來源:國知局
      專利名稱:混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及實(shí)時(shí)數(shù)據(jù)流傳輸技術(shù),尤其涉及一種混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法。
      背景技術(shù)
      在IP網(wǎng)絡(luò)上傳輸實(shí)時(shí)流時(shí),由于網(wǎng)絡(luò)延時(shí)的不確定性,會(huì)引入實(shí)時(shí)流的時(shí)間抖動(dòng)和亂序,為了保證實(shí)時(shí)流的質(zhì)量,需要在接收端進(jìn)行緩存去抖、消除亂序。在不同應(yīng)用情況下,終端會(huì)有不同的編解碼速率,導(dǎo)致各種實(shí)時(shí)流在接收端緩存去抖時(shí),需要根據(jù)不同實(shí)時(shí)流的打包時(shí)長來進(jìn)行緩存去抖,以消除抖動(dòng)。
      專利申請(qǐng)?zhí)枮?2119584.6,名稱為“一種實(shí)現(xiàn)緩存去抖的大容量實(shí)時(shí)流處理方法”的中國專利申請(qǐng)的技術(shù)方案采用了隊(duì)列調(diào)度的方法來實(shí)現(xiàn)實(shí)時(shí)流的緩存去抖。如圖1所示,緩存去抖隊(duì)列調(diào)度流程為首先,輸入接收實(shí)時(shí)流數(shù)據(jù)包,并把實(shí)時(shí)流數(shù)據(jù)包存入輸入緩存;同時(shí)若輸入緩存中已有完整的實(shí)時(shí)流數(shù)據(jù)包,則向隊(duì)列調(diào)度中的讀寫仲裁發(fā)出寫實(shí)時(shí)流數(shù)據(jù)包的請(qǐng)求,并給出請(qǐng)求的寫實(shí)時(shí)流數(shù)據(jù)包的通道號(hào);其次,隊(duì)列調(diào)度中的發(fā)送時(shí)間維護(hù)流程統(tǒng)一維護(hù)所有通道中實(shí)時(shí)流數(shù)據(jù)包的發(fā)送時(shí)間,并以固定的時(shí)間間隔向讀寫仲裁發(fā)出讀實(shí)時(shí)流數(shù)據(jù)包的請(qǐng)求,同時(shí)給出請(qǐng)求的讀實(shí)時(shí)流數(shù)據(jù)包的通道號(hào)和實(shí)時(shí)流數(shù)據(jù)包在共享緩存中的存儲(chǔ)地址;再次,讀寫仲裁對(duì)讀請(qǐng)求信號(hào)與寫請(qǐng)求信號(hào)進(jìn)行仲裁,并啟動(dòng)寫實(shí)時(shí)流數(shù)據(jù)包流程,或者啟動(dòng)讀實(shí)時(shí)流數(shù)據(jù)包流程;寫實(shí)時(shí)流數(shù)據(jù)包流程讀取請(qǐng)求的寫實(shí)時(shí)流數(shù)據(jù)包所屬的通道信息,計(jì)算并給出寫實(shí)時(shí)流數(shù)據(jù)包在共享緩存中的存儲(chǔ)地址,并把該實(shí)時(shí)流數(shù)據(jù)包數(shù)據(jù)從輸入緩存寫入到共享緩存中;讀實(shí)時(shí)流數(shù)據(jù)包流程讀取請(qǐng)求的讀實(shí)時(shí)流數(shù)據(jù)包所屬的通道信息,給出該讀實(shí)時(shí)流數(shù)據(jù)包在共享緩存中的地址,然后從共享緩存中讀取實(shí)時(shí)流數(shù)據(jù)包數(shù)據(jù),存入輸出緩存;最后,輸出檢查輸出緩存,若發(fā)現(xiàn)有完整的實(shí)時(shí)流數(shù)據(jù)包,則發(fā)送實(shí)時(shí)流數(shù)據(jù)包。
      雖然上述方法能夠在實(shí)時(shí)流的接收端實(shí)現(xiàn)去抖,但這種采用固定間隔的發(fā)送時(shí)間的方式只能處理固定的單一打包時(shí)長,在混合打包時(shí)長(即至少包括兩個(gè)不同的打包時(shí)長)情況下,固定打包時(shí)長不能解決所有的實(shí)時(shí)流的緩存去抖、消除亂序的問題。假設(shè)有5毫秒、20毫秒兩種打包間隔的混合語音流,按照上述專利申請(qǐng)中描述的一個(gè)實(shí)施例的方法進(jìn)行緩存去抖、消除亂序就會(huì)出現(xiàn)問題。因?yàn)?,在寫語音包流程中,計(jì)算寫語音包的位置都是以20ms的固定時(shí)間間隔來處理的,以20ms的時(shí)間間隔算法來計(jì)算5ms的打包時(shí)長間隔的語音包,會(huì)導(dǎo)致計(jì)算的寫入位置不正確,從而發(fā)生丟包、包覆蓋等情況。同樣,在讀語音包流程中,按照固定的20ms發(fā)送時(shí)間間隔來發(fā)送5ms的打包時(shí)長的語音包,會(huì)丟掉近3/4的語音包,導(dǎo)致語音不可用。

      發(fā)明內(nèi)容
      本發(fā)明提供一種混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法,以解決現(xiàn)有技術(shù)無法對(duì)混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流緩存去抖和消除亂序的問題。
      一種混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法;該方法包括維護(hù)步驟,用于分別為各打包時(shí)長維護(hù)反映通道占用情況的通道占用表;分配步驟,用于在接收到一打包時(shí)長的開始數(shù)據(jù)幀時(shí),查找對(duì)應(yīng)的通道占用表來為該打包時(shí)長的數(shù)據(jù)流分配存儲(chǔ)通道,并在所有通道占用表中將該存儲(chǔ)通道標(biāo)記為已占用;寫入步驟,用于計(jì)算接收到的數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中;讀出步驟,用于將最小打包時(shí)長的時(shí)間間隔作為調(diào)度數(shù)據(jù)的時(shí)隙,順序輪循通道并從存儲(chǔ)通道中讀出數(shù)據(jù)幀。
      其中根據(jù)除最大打包時(shí)長外其余各打包時(shí)長與最大打包時(shí)長之間的倍數(shù)關(guān)系,將打包時(shí)長對(duì)應(yīng)的通道占用表中的通道劃分為通道簇,使每個(gè)通道簇對(duì)應(yīng)的通道數(shù)等于所述倍數(shù),并且各通道簇內(nèi)的每個(gè)通道占用一個(gè)時(shí)隙。
      在維護(hù)步驟中還維護(hù)通道簇狀態(tài)表,該狀態(tài)表記錄打包時(shí)長、該打包時(shí)長的存儲(chǔ)通道占用的時(shí)隙和通道簇之間的對(duì)應(yīng)關(guān)系;在所述分配步驟中將存儲(chǔ)通道所占用的時(shí)隙、對(duì)應(yīng)的通道簇和對(duì)應(yīng)的打包時(shí)長記錄在該通道簇狀態(tài)表中。
      所述分配步驟中,將在當(dāng)前打包時(shí)長對(duì)應(yīng)的通道占用表中與分配的存儲(chǔ)通道在同一通道簇內(nèi)的其余通道在各通道占用表中均標(biāo)記為已占用,使該其余通道不可再分配。
      所述分配步驟中,在給除最短打包時(shí)長外的其他打包時(shí)長分配存儲(chǔ)通道時(shí),將在最短打包時(shí)長的通道占用表中與分配的存儲(chǔ)通道在同一通道簇內(nèi)而在其他通道占用表中與所述存儲(chǔ)通道不在同一通道簇內(nèi)的通道,在除當(dāng)前打包時(shí)長對(duì)應(yīng)的通道占用表之外的其他通道占用表中均標(biāo)記為占用,使這些通道不再分配給其他打包時(shí)長。
      讀出步驟具體包括下述步驟根據(jù)輪循的當(dāng)前通道號(hào)查詢所述通道簇狀態(tài)表得到對(duì)應(yīng)的打包時(shí)長;判斷當(dāng)前的打包時(shí)長是否為最大打包時(shí)長,如果是,則從輪循到的當(dāng)前通道號(hào)所對(duì)應(yīng)的通道讀出數(shù)據(jù)幀,否則,從通道簇狀態(tài)表中獲取對(duì)應(yīng)的時(shí)隙號(hào)來組成通道號(hào),并從該通道號(hào)所對(duì)應(yīng)的通道讀出數(shù)據(jù)幀。
      本發(fā)明帶來的有益效果主要有1、本發(fā)明通過為不同打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流維護(hù)通道占用表,并根據(jù)打包時(shí)長對(duì)應(yīng)的通道占用表中通道占用情況和當(dāng)前打包時(shí)長與其他打包時(shí)長之間的倍數(shù)關(guān)系來分配通道,因而能夠解決混合打包時(shí)長的實(shí)時(shí)流的緩存去抖、消除亂序的問題。
      2、將本發(fā)明應(yīng)用于網(wǎng)絡(luò)設(shè)備上,可以很好的滿足產(chǎn)品的無線和固網(wǎng)融合的需求,實(shí)現(xiàn)無線和固網(wǎng)的一體化兼容設(shè)備。


      圖1為現(xiàn)有技術(shù)中緩存去抖隊(duì)列調(diào)度流程框圖;
      圖2為本發(fā)明通道占用表中通道簇與通道的對(duì)應(yīng)關(guān)系示意圖;圖3為通道簇與時(shí)隙的對(duì)應(yīng)關(guān)系示意圖;圖4為本發(fā)明通道簇和時(shí)隙對(duì)應(yīng)關(guān)系圖。
      具體實(shí)施例方式
      在本發(fā)明中,為混合打包時(shí)長中的每個(gè)打包時(shí)長維護(hù)一個(gè)反映所有通道占用情況的通道占用表,在接收到一實(shí)時(shí)數(shù)據(jù)流的開始數(shù)據(jù)幀時(shí)(即發(fā)生通道用戶切換時(shí)),根據(jù)該幀攜帶的打包時(shí)長查找對(duì)應(yīng)的通道占用表,按該表中通道的占用情況來分配通道。一個(gè)最簡(jiǎn)單的通道占用表包括通道所對(duì)應(yīng)的通道號(hào)和該通道占用狀態(tài)之間的對(duì)應(yīng)關(guān)系;當(dāng)然根據(jù)需要還可增加其他信息。
      為了描述方便描述,在本發(fā)明中引入“通道簇”和“時(shí)隙”兩個(gè)概念。一個(gè)通道簇對(duì)應(yīng)一個(gè)或多個(gè)通道,除最大打包時(shí)長對(duì)應(yīng)的通道占用表外,通道簇在不同通道占用表中對(duì)應(yīng)的通道數(shù)由該通道占用表所對(duì)應(yīng)的打包時(shí)長與最大打包時(shí)長之間的倍數(shù)(2n,n=0,1,2...)確定。時(shí)隙則是調(diào)度數(shù)據(jù)幀的時(shí)間間隔,一個(gè)通道簇內(nèi)的每個(gè)通道對(duì)應(yīng)一個(gè)時(shí)隙。在本發(fā)明中時(shí)隙為最小打包時(shí)長,因此,按最小打包時(shí)長與最大打包時(shí)長之間的倍數(shù)據(jù)關(guān)系來劃分時(shí)隙。例如,混合打包時(shí)長包括20ms、10ms和5ms三個(gè)打包時(shí)長,最大打包時(shí)長20ms與最小打包時(shí)長5ms的比例關(guān)系為4∶1,即4倍關(guān)系。那么a、時(shí)間間隔為5ms的時(shí)隙劃分為時(shí)隙0、時(shí)隙1、時(shí)隙2和時(shí)隙3共4個(gè)時(shí)隙,也就是用4個(gè)時(shí)隙將所有通道輪循一遍;b、在5ms打包時(shí)長對(duì)應(yīng)的通道占用表中,一個(gè)通道簇對(duì)應(yīng)4個(gè)通道,即一個(gè)通道簇占用4個(gè)時(shí)隙;c、在10ms打包時(shí)長對(duì)應(yīng)的通道占用表中,一個(gè)通道簇對(duì)應(yīng)2個(gè)通道,即一個(gè)通道族占用2個(gè)時(shí)隙;d、在20ms打包時(shí)長對(duì)應(yīng)的通道占用表中,一個(gè)通道占用一個(gè)時(shí)隙。
      除了維護(hù)打包時(shí)長的通道占用表外,還要維護(hù)一個(gè)總的通道簇狀態(tài)表,用于記錄打包時(shí)長,存儲(chǔ)該打包時(shí)長實(shí)時(shí)數(shù)據(jù)流的存儲(chǔ)通道所在通道簇,以及存儲(chǔ)通道所占用時(shí)隙之間的對(duì)應(yīng)關(guān)系。
      在接收到一打包時(shí)長的開始數(shù)據(jù)幀時(shí),查找這個(gè)打包時(shí)長對(duì)應(yīng)的通道占用表,計(jì)算并為當(dāng)前打包時(shí)長的數(shù)據(jù)流分配存儲(chǔ)通道,并且在各通道占用表中,將該存儲(chǔ)通道所在通道簇的所有通道標(biāo)記為占用,并在通道簇狀態(tài)表中記錄該存儲(chǔ)通道所占用的時(shí)隙。
      在為打包時(shí)長數(shù)據(jù)流分配存儲(chǔ)通道后,根據(jù)打包時(shí)長和當(dāng)前時(shí)隙計(jì)算接收到的數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中。同時(shí),在各時(shí)隙內(nèi),根據(jù)所述通道簇狀態(tài)表記錄的對(duì)應(yīng)關(guān)系順序輪循通道,并從存儲(chǔ)通道中讀出數(shù)據(jù)幀。
      下面以包括20ms、10ms和5ms三個(gè)打包時(shí)長的混合打包時(shí)長為例進(jìn)行詳細(xì)說明采用16M×64位的SDRAM作為語音包的共享緩存,SDRAM的地址分配如表一所示表一

      其中,SDRAM容量被32K個(gè)通道平均分為32K“行”,第0行SDRAM分配給存儲(chǔ)通道0,第1行SDRAM分配給存儲(chǔ)通道1,第2行SDRAM分配給存儲(chǔ)通道2......,第32K-1行SDRAM分配給存儲(chǔ)通道32K-1。每一行SDRAM的容量為16M×64位/32K=512×64位。
      采用1M×32位的SSRAM存儲(chǔ)通道信息,SSRAM容量被32K個(gè)通道平均分為32K“行”,SSRAM中通道信息的地址分配表如表二所示
      表二

      表二中通道映射表記錄通道對(duì)應(yīng)的存儲(chǔ)通道和通道有效信息,數(shù)據(jù)格式如表三所示表三

      其中,通道映射表的第14~0位在取值為0~32767的范圍內(nèi)用于記錄存儲(chǔ)通道的位置,第15位用于記錄通道的有效信息,取值位1是該通道有效,取值為0時(shí)該通道無效,第18~16為用于記錄該通道的打包時(shí)長信息,第31~20位取值為0用于保留使用。
      表二中存儲(chǔ)通道映射表記錄存儲(chǔ)通道對(duì)應(yīng)的通道和存儲(chǔ)通道有效信息,數(shù)據(jù)格式如表四所示表四


      其中,存儲(chǔ)通道映射表的第14~0位在取值為0~32767的范圍內(nèi)用于記錄該存儲(chǔ)通道的位置,第15位用于記錄該通道的有效信息,取值位1是該通道有效,取值為0時(shí)該通道無效,第31~16位取值為0用于保留使用。
      如前所述,包括20ms、10ms和5ms三個(gè)打包時(shí)長的混合打包時(shí)長中,最大打包時(shí)長20ms與最小打包時(shí)長5ms的比例關(guān)系為4∶1,即4倍關(guān)系。因此,在20ms打包時(shí)長下,最大可分配的通道數(shù)(即通道數(shù))為32k;在10ms打包時(shí)長下,最大可分配的最大通道簇?cái)?shù)為16K;在5ms打包時(shí)長下,最大可分配的最大通道簇?cái)?shù)為8K,各通道占用表中通道簇與通道對(duì)應(yīng)關(guān)系如圖2所示。
      時(shí)間間隔為5ms的時(shí)隙劃分為時(shí)隙0、時(shí)隙1、時(shí)隙2和時(shí)隙3共4個(gè)時(shí)隙,各時(shí)隙與通道簇對(duì)應(yīng)關(guān)系如圖3所示,在5ms打包時(shí)長對(duì)應(yīng)的通道占用表中,每個(gè)通道簇對(duì)應(yīng)4個(gè)時(shí)隙,而在10ms打包時(shí)長對(duì)應(yīng)的通道占用表中,每個(gè)通道簇對(duì)應(yīng)2個(gè)時(shí)隙。在四個(gè)時(shí)隙中,每個(gè)時(shí)隙輪循完8K個(gè)通道,通道占用表五所示,表中記錄通道占用情況。根據(jù)各打包時(shí)長的不同,其表項(xiàng)數(shù)目不同。1表示該通道簇被占用,不能分配使用,0表示該通道簇可以分配使用。
      表五

      通道簇狀態(tài)表六所示,表中記錄有打包時(shí)長,分配給該打包時(shí)長的通道簇對(duì)應(yīng)的通道簇號(hào),以及該通道簇中存儲(chǔ)通道所對(duì)應(yīng)的時(shí)隙號(hào)之間的對(duì)應(yīng)關(guān)系(通道狀態(tài)表中的最大通道簇根據(jù)最小打包時(shí)長5ms計(jì)算得到,本例中為8K-1)。
      表六

      在接收到打包時(shí)長的開始數(shù)據(jù)幀時(shí),分配通道和寫數(shù)據(jù)幀的過程如下1、如果接收到5ms的開始幀(頭包),根據(jù)算法查找5ms通道占用表,得到該語音的存儲(chǔ)通道號(hào),將該存儲(chǔ)通道所在通道簇對(duì)應(yīng)的通道在5ms、10ms和20ms通道占用表識(shí)表中均標(biāo)識(shí)為占用,并在通道簇狀態(tài)表中記錄;然后計(jì)算數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中。
      2、如果接收到10ms的頭包,根據(jù)算法查找10ms通道占用表,得到該語音的存儲(chǔ)通道號(hào),在10ms通道占用表中將該存儲(chǔ)通道表識(shí)為占用,在5ms通道占用表中將該存儲(chǔ)通道對(duì)應(yīng)的通道簇表識(shí)為占用,在20ms通道占用表中將該存儲(chǔ)通道所在通道簇對(duì)應(yīng)的通道標(biāo)識(shí)為占用;然后計(jì)算數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中。
      3、如果接收到20ms的頭包,根據(jù)算法查找20ms通道占用表,得到該語音的存儲(chǔ)通道號(hào),在20ms通道占用表中將該通道表識(shí)為占用,在5ms、10ms通道占用表中將該通道對(duì)應(yīng)的通道簇標(biāo)識(shí)為占用;然后計(jì)算數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中。
      為了簡(jiǎn)化處理,如果通道簇X內(nèi)的一個(gè)通道A分配給打包時(shí)長為5ms的語音流,那么該通道簇X在5ms打包時(shí)長的通道占用表中對(duì)應(yīng)的其余三個(gè)通道不能再分配給所有打包時(shí)長的語音流,即將通道簇X對(duì)應(yīng)的四個(gè)通道在所有通道占用表中均標(biāo)記為占用。如果通道簇Y內(nèi)的一個(gè)通道B分配給10ms語音流,那么該通道簇B在10ms打包時(shí)長的通道占用表中對(duì)應(yīng)的另一個(gè)通道不能再分配給所有打包時(shí)長的語音流,即將通道簇Y對(duì)應(yīng)的二個(gè)通道在所有通道占用表中均標(biāo)記為占用;同時(shí),在5ms打包時(shí)長的通道占用表中與通道B在同一通道簇內(nèi)而在10ms打包時(shí)長的通道占用表中與通道B不在同一通道簇內(nèi)的兩個(gè)通道不能再分配給其他打包時(shí)長,但可以分配給10ms打包時(shí)長的語音流。如果某個(gè)通道C分配給20ms語音流,那么在5ms打包時(shí)長的通道占用表中與通道C在同一通道簇內(nèi)的另外三個(gè)通道不能再分配給其他打包時(shí)長的語音流,但可以分配給20ms打包時(shí)長的語音流。因此,在讀取時(shí)可以將通道號(hào)定義為“時(shí)隙號(hào)+通道簇號(hào)”,從而簡(jiǎn)化查找。
      分配通道和寫入數(shù)據(jù)幀后,通道簇和時(shí)隙對(duì)應(yīng)關(guān)系如圖4所示。該圖描述了5ms、10ms、20ms 3種打包時(shí)長的寫入位置情況,讀出時(shí)從通道簇0,時(shí)隙0開始,水平順序讀取8K通道簇,然后轉(zhuǎn)入時(shí)隙1,重新從通道簇0開始,直至8K-1通道簇,依次進(jìn)行下去,直到時(shí)隙3、通道簇8K-1,然后開始下一輪循環(huán)。
      讀數(shù)據(jù)幀時(shí)根據(jù)通道號(hào)順序輪循,其過程如下根據(jù)當(dāng)前通道號(hào)對(duì)應(yīng)的通道簇號(hào)查找通道簇狀態(tài)表,得到打包時(shí)長,并根據(jù)不同打包時(shí)長進(jìn)行下述操作1、如果該打包時(shí)長為5ms打包時(shí)長,則從通道簇狀態(tài)表中讀取存儲(chǔ)通道對(duì)應(yīng)的時(shí)隙號(hào),并用“時(shí)隙號(hào)+通道簇號(hào)”來組成通道號(hào),從對(duì)應(yīng)的存儲(chǔ)通道中讀出數(shù)據(jù)幀,以保證每個(gè)時(shí)隙(即每5ms時(shí)間)都要發(fā)送同1個(gè)通道的1個(gè)5ms語音包到輸出緩存。
      2、如果該打包時(shí)長為10ms打包時(shí)長,則從通道簇狀態(tài)表中讀取存儲(chǔ)通道對(duì)應(yīng)的時(shí)隙號(hào),并用“時(shí)隙號(hào)+通道簇號(hào)”來組成通道號(hào),從對(duì)應(yīng)的存儲(chǔ)通道中讀出數(shù)據(jù)幀,以保證每2個(gè)時(shí)隙(即每10ms時(shí)間)發(fā)送同1個(gè)通道的1個(gè)10ms語音包到輸出緩存。
      3、如果該打包時(shí)長為20ms打包時(shí)長,則按照當(dāng)前輪循到的通道號(hào)讀取數(shù)據(jù)幀,以保證每4個(gè)時(shí)隙(即每20ms時(shí)間)發(fā)送同1個(gè)通道的1個(gè)20ms語音包到輸出緩存。
      讀出數(shù)據(jù)幀后的處理過程與現(xiàn)有技術(shù)相同。
      顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。
      權(quán)利要求
      1.一種混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法;其特征在于該方法包括維護(hù)步驟,用于分別為各打包時(shí)長維護(hù)反映通道占用情況的通道占用表;分配步驟,用于在接收到一打包時(shí)長的開始數(shù)據(jù)幀時(shí),查找對(duì)應(yīng)的通道占用表來為該打包時(shí)長的數(shù)據(jù)流分配存儲(chǔ)通道,并在所有通道占用表中將該存儲(chǔ)通道標(biāo)記為已占用;寫入步驟,用于計(jì)算接收到的數(shù)據(jù)幀應(yīng)寫入存儲(chǔ)通道的位置,并將其寫入到該存儲(chǔ)通道中;讀出步驟,用于將最小打包時(shí)長的時(shí)間間隔作為調(diào)度數(shù)據(jù)的時(shí)隙,順序輪循通道并從存儲(chǔ)通道中讀出數(shù)據(jù)幀。
      2.如權(quán)利要求1所述的方法,其特征在于,根據(jù)除最大打包時(shí)長外其余各打包時(shí)長與最大打包時(shí)長之間的倍數(shù)關(guān)系,將對(duì)應(yīng)通道占用表中的通道劃分為通道簇,使每個(gè)通道簇對(duì)應(yīng)的通道數(shù)等于所述倍數(shù),并且各通道簇內(nèi)的每個(gè)通道占用一個(gè)時(shí)隙。
      3.如權(quán)利要求2所述的方法,其特征在于,在維護(hù)步驟中還維護(hù)通道簇狀態(tài)表,該狀態(tài)表記錄打包時(shí)長、該打包時(shí)長的存儲(chǔ)通道占用的時(shí)隙和通道簇之間的對(duì)應(yīng)關(guān)系;在所述分配步驟中將存儲(chǔ)通道所占用的時(shí)隙、對(duì)應(yīng)的通道簇和對(duì)應(yīng)的打包時(shí)長記錄在該通道簇狀態(tài)表中。
      4.如權(quán)利要求2或3所述的方法,其特征在于,所述分配步驟中,將在當(dāng)前打包時(shí)長對(duì)應(yīng)的通道占用表中與分配的存儲(chǔ)通道在同一通道簇內(nèi)的其余通道在各通道占用表中均標(biāo)記為已占用,使該其余通道不能再分配。
      5.如權(quán)利要求4所述的方法,其特征在于,所述分配步驟中,在給除最短打包時(shí)長外的其他打包時(shí)長分配存儲(chǔ)通道時(shí),將在最短打包時(shí)長的通道占用表中與分配的存儲(chǔ)通道在同一通道簇內(nèi)而在其他通道占用表中與所述存儲(chǔ)通道不在同一通道簇內(nèi)的通道,在除當(dāng)前打包時(shí)長對(duì)應(yīng)的通道占用表之外的其他通道占用表中均標(biāo)記為占用,使這些通道不再分配給其他打包時(shí)長。
      6.如權(quán)利要求5所述的方法,其特征在于,讀出步驟具體包括根據(jù)輪循的當(dāng)前通道號(hào)查詢所述通道簇狀態(tài)表得到對(duì)應(yīng)的打包時(shí)長;判斷當(dāng)前的打包時(shí)長是否為最大打包時(shí)長,如果是,則從輪循到的當(dāng)前通道號(hào)所對(duì)應(yīng)的通道讀出數(shù)據(jù)幀,否則,從通道簇狀態(tài)表中獲取對(duì)應(yīng)的時(shí)隙號(hào)來組成通道號(hào),并從該通道號(hào)所對(duì)應(yīng)的通道讀出數(shù)據(jù)幀。
      全文摘要
      本發(fā)明公開了一種混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流去抖的實(shí)現(xiàn)方法,以解決現(xiàn)有技術(shù)無法對(duì)混合打包時(shí)長的實(shí)時(shí)數(shù)據(jù)流緩存去抖和消除亂序的問題;該方法采用不同的通道占用表來標(biāo)識(shí)不同的打包時(shí)長的通道占用情況,在接收到打包時(shí)長的開始數(shù)據(jù)幀時(shí),查找對(duì)應(yīng)的通道占用表來為當(dāng)前打包時(shí)長的數(shù)據(jù)流分配存儲(chǔ)通道和存儲(chǔ)數(shù)據(jù)幀,并在各通道占用表中將該存儲(chǔ)通道標(biāo)記為占用;讀出數(shù)據(jù)包時(shí),以最小打包時(shí)長為時(shí)間間隔順序讀取通道信息,根據(jù)通道信息內(nèi)的打包時(shí)長及存儲(chǔ)位置,讀取相應(yīng)的通道數(shù)據(jù)。
      文檔編號(hào)H04L1/20GK1783770SQ20041010090
      公開日2006年6月7日 申請(qǐng)日期2004年12月2日 優(yōu)先權(quán)日2004年12月2日
      發(fā)明者李家愛 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1