亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種提高ts流排序能力的方法和裝置制造方法

文檔序號:7778735閱讀:251來源:國知局
一種提高ts流排序能力的方法和裝置制造方法
【專利摘要】本發(fā)明提供一種提高TS流排序能力的方法及裝置,其中該方法應(yīng)用于TS流發(fā)送端設(shè)備,該方法包括:在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個比特位填充TOS序號,使用CC字段中的四個比特位填充CC序號,該TOS序號和CC序號組成該TS流數(shù)據(jù)包的序號;其中,該TOS字段為該TS流數(shù)據(jù)包的IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位;該CC字段為TS頭中的CC字段。本發(fā)明的方案在不增加報文封裝頭的基礎(chǔ)上增強了TS流排序丟包處理能力。
【專利說明】一種提高TS流排序能力的方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻監(jiān)控【技術(shù)領(lǐng)域】,尤其涉及一種提高TS流排序能力的方法和裝置?!颈尘凹夹g(shù)】
[0002]視頻監(jiān)控數(shù)據(jù)可以采用TS流的封裝方式;通常為了降低報文的封裝開銷,將TS包直接封裝在m)P之上,再封裝ip頭后在ip視頻監(jiān)控網(wǎng)絡(luò)中傳輸,請參圖1示例的報文格式。TS包的報文頭TS頭中,Continuity count (以下簡稱CC)字段是一個4bit的字段,用來表示報文的順序。一個TS包(包括TS頭和TS載荷)為188字節(jié),而一個IP包長度通常不超過1500字節(jié),所以一個IP包約能封裝7個TS包,每個TS包中的CC字段可以按照順序依次填充。如果第I個IP包包含7個TS包,這7個TS包的CC字段分別為:0000、0001、0010、0011、0100、0101、0110 ;第2個IP包同樣包含7個TS包,這7個TS包的CC字段分別為:0111、1000、1001、1010、1011、1100、1101 ;第 3 個 IP 包同樣地具有 7 個 TS 包,其 CC 字段分別為:1110、1111、0000、0001、0010、0011、0100 ;第 4 個 IP 包包含兩個 TS 包,其 CC 字段為:0101,0110 ;第 5 個 IP 包包含 6 個 TS 包,其 CC 字段分別為:0111、1000、1001、1010、1011、1100。當?shù)??4個IP包丟失時,由于第5個IP包中的第I個TS包的CC字段為0111,其與第I個IP包中的最后一個TS包的CC字段0110是連續(xù)的,所以解碼端會認為IP報文并未發(fā)生丟失,繼續(xù)進行解碼,這樣就會出現(xiàn)花屏卡頓的現(xiàn)象。另外,如果報文出現(xiàn)了亂序,解碼端也并不知道應(yīng)該是第2個IP包在第I個IP包之后還是第5個IP包在第I個IP包之后。
[0003]請參考圖2,對于上述問題的解決,可以采用UDP+RTP+TS的封裝方式,通過RTP中的16位序列號來解決亂序丟包的問題。由于RTP中的序列號有16bit,所以基本上不會出現(xiàn)把丟包當作未丟包,出現(xiàn)亂序也無法正確的進行排序的問題。
[0004]視頻監(jiān)控流量一般比較多,多增加一層封裝(RTP封裝)會增加設(shè)備的負擔(dān),降低網(wǎng)絡(luò)的利用率。

【發(fā)明內(nèi)容】

[0005]有鑒于此,本發(fā)明提供一種提高TS流排序能力的方法和裝置。該方法和裝置的實現(xiàn)如下:
[0006]一種提高TS流排序能力的方法,該方法應(yīng)用于TS流發(fā)送端設(shè)備,該方法包括:在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個預(yù)留比特位填充TOS序號,使用CC字段中的四個比特位填充CC序號,該TOS序號和CC序號組成該TS流數(shù)據(jù)包的序號;其中,該TOS字段為該TS流數(shù)據(jù)包的IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位;該CC字段為TS頭中的CC字段。
[0007]優(yōu)選地,上述使用TOS字段中的兩個預(yù)留比特位填充TOS序號具體為:按照每三個TS流數(shù)據(jù)包填充相同TOS序號的方式依次循環(huán)的填充這兩個比特位。
[0008]基于同樣的構(gòu)思,本發(fā)明還提供一種提高TS流排序能力的裝置,該裝置應(yīng)用于TS流發(fā)送端設(shè)備,該裝置包括:
[0009]TOS序號填充單元,用于在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個比特位填充TOS序號;其中,該TOS字段為該TS流數(shù)據(jù)包的IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位;
[0010]CC序號填充單元,用于使用CC字段中的四個比特位填充CC序號;其中,該CC字段為TS頭中的CC字段;
[0011]所述TOS序號和CC序號組成該TS流數(shù)據(jù)包的序號。
[0012]優(yōu)選地,該TOS序號填充單元用TOS字段中的兩個比特位填充TOS序號具體為:按照每三個TS流數(shù)據(jù)包填充相同TOS序號的方式依次循環(huán)的填充這兩個比特位。
[0013]相較于現(xiàn)有技術(shù),本發(fā)明方案在不增加媒體流數(shù)據(jù)包封裝頭的情況下,提高了媒體流數(shù)據(jù)包的排序能力,從而使得解碼端在顯示視頻畫面的時候清晰流暢。
【專利附圖】

【附圖說明】
[0014]圖1是一種TS包封裝格式圖。
[0015]圖2是另一種TS包封裝格式圖。
[0016]圖3是IP報文頭格式圖。
[0017]圖4是本發(fā)明實施例媒體流接收端丟包判斷和排序流程圖。
[0018]圖5是本發(fā)明實施例TS流數(shù)據(jù)包發(fā)送端裝置邏輯結(jié)構(gòu)圖。
【具體實施方式】
[0019]針對【背景技術(shù)】中提到的問題,本發(fā)明提出一種不增加報文封裝頭而增強解碼設(shè)備亂序丟包處理能力的方案。以下通過【具體實施方式】詳細描述本發(fā)明方案。
[0020]TS流發(fā)送端在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個比特位和CC字段中的四個比特位來填充TS流數(shù)據(jù)包序號;該TOS字段為該TS流數(shù)據(jù)包IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位;該CC字段為TS頭中的CC字段。
[0021]請參圖3所示的IPv4報文頭,該IP報文頭中具有I個字節(jié)的TOS字段。該TOS字段中有兩個保留比特位可以使用。本發(fā)明方案將使用這兩個保留比特位來擴大TS流數(shù)據(jù)包序號的范圍,以此來較好的解決TS流數(shù)據(jù)包亂序后的排序問題。
[0022]使用TOS字段中的兩個比特位和CC字段中的四個比特位來填充TS流數(shù)據(jù)包序號具體可以按照如下方法來操作:
[0023]TS流發(fā)送端在TOS字段的兩個比特位中,按照每三個TS流數(shù)據(jù)包填充相同序號的方式依次循環(huán)的填充這兩個比特位(這兩個比特位的內(nèi)容構(gòu)成TOS序號)。比如說第I?3個TS流數(shù)據(jù)包,TOS保留的兩個比特位中填充00 ;第4?6個TS流數(shù)據(jù)包,TOS保留的兩個比特位中填充01 ;第7?9個TS流數(shù)據(jù)包,TOS保留的兩個比特位中填充10 ;第10?12個TS流數(shù)據(jù)包,TOS保留的兩個比特位中填充11。如此完成一輪填充,接下來的TS流數(shù)據(jù)包按照上述方式繼續(xù)循環(huán)填寫,比如說第13?15個TS流數(shù)據(jù)包,TOS保留的兩個比特位中填充00,依次類推。
[0024]TS流發(fā)送端在TS頭的CC字段的四個比特位中,還是按照現(xiàn)有的方式進行數(shù)據(jù)包序號的填充(CC字段四個比特位的內(nèi)容構(gòu)成CC序號)。[0025]從上文描述可以看出,一個TS流數(shù)據(jù)包的序號包含兩部分:一部分為TOS序號,另一部分為CC序號。在解碼端進行TS流數(shù)據(jù)包排序時需要同時關(guān)注TOS序號和CC序號。
[0026]請參表1,該表給出了一個在TOS保留比特位和CC比特位中填充TS流數(shù)據(jù)包序號的具體例子。
[0027]第I個TS流數(shù)據(jù)包的TOS保留比特位填充00,第I個TS流數(shù)據(jù)包包含7個TS包,這 7 個 TS 包的 CC 字段分別填充 0000、0001、0010、0011、0100、0101、0110 ;第 2 個 TS 流數(shù)據(jù)包的TOS保留比特位填充00,第2個TS流數(shù)據(jù)包也包含7個TS包,其中的第I個TS包的序號承接第I個TS流數(shù)據(jù)包中最后I個TS包序號(0110)遞增填充為0111,第2個TS流數(shù)據(jù)包的其他6個TS包的序號為:1000、1001、1010、1011、1100、1101 ;第3個TS流數(shù)據(jù)包的TOS保留比特位填充00,第3個TS流數(shù)據(jù)包也包含7個TS包,承接第2個TS流數(shù)據(jù)包的最后I個TS包序號,繼續(xù)填充這些TS包的序號分別為:1110、1111、0000、0001、0010、0011、0100。
[0028]第4個TS流數(shù)據(jù)包的TOS保留比特位填充01 ;第4個TS流數(shù)據(jù)包包含2個TS包(在本實施例中,對每一幀所封裝的第一個TS包將由一個新的TS流數(shù)據(jù)包來承載,所以第4個TS流數(shù)據(jù)包僅包含2個TS包是由于本幀已經(jīng)結(jié)束的緣故),其TS包序號為:0101、0110。第5個TS流數(shù)據(jù)包的TOS序號為01,該TS流數(shù)據(jù)包包含7個TS包,其序號分別為:0111、1000、1001、1010、1011、1100、1101。以下TS流數(shù)據(jù)包中TOS序號的填充以及CC序號的填充請參表1,不再詳細描述。另外,需要說明的是,之所以第4個TS流數(shù)據(jù)包中僅包含了 2個TS包是因為此時一幀數(shù)據(jù)已經(jīng)結(jié)束,所以新的一幀數(shù)據(jù)將由一個新的TS流數(shù)據(jù)包在承載。
[0029]
【權(quán)利要求】
1.一種提高TS流排序能力的方法,該方法應(yīng)用于TS流發(fā)送端設(shè)備,其特征在于,該方法包括:在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個預(yù)留比特位填充TOS序號,使用CC字段中的四個比特位填充CC序號,該TOS序號和CC序號組成該TS流數(shù)據(jù)包的序號;其中,該TOS字段為該TS流數(shù)據(jù)包的IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位;該CC字段為TS頭中的CC字段。
2.如權(quán)利要求1所述的方法,其特征在于,所述使用TOS字段中的兩個預(yù)留比特位填充TOS序號具體為:按照每三個TS流數(shù)據(jù)包填充相同TOS序號的方式依次循環(huán)的填充這兩個比特位。
3.—種對應(yīng)用權(quán)利要求1或2方法的TS流進行排序的方法,該方法應(yīng)用于解碼端設(shè)備,其特征在于,該方法包括:在緩存中查找TOS序號和CC序號正確的TS流數(shù)據(jù)包,所述TOS序號是由該TS流數(shù)據(jù)包的IP頭中的TOS字段的兩個預(yù)留比特位填充的,所述CC序號是由TS頭中的CC字段的四個比特位填充的。
4.如權(quán)利要求3所述的方法,其特征在于,在緩存中查找TOS序號和CC序號正確的TS流數(shù)據(jù)包包括如下步驟: 步驟A、判斷當前TOS序號T0S_TAIL對應(yīng)的計數(shù)變量T0S_count是否等于3,如果是,轉(zhuǎn)步驟B,否則,轉(zhuǎn)步驟C ; 步驟B、判斷緩存中是否存在TOS序號為((T0S_TAIL+l)mod3)的TS流數(shù)據(jù)包,如果是,轉(zhuǎn)步驟D ;否則,轉(zhuǎn)步驟E ; 步驟C、判斷緩存中是否存在TOS序號為T0S_TAIL的TS流數(shù)據(jù)包,如果是,轉(zhuǎn)步驟F ;否則,轉(zhuǎn)步驟G ; 步驟D、在TOS序號為((T0S_TAIL+1) mod3)的TS流數(shù)據(jù)包中進一步判斷是否存在CC序號為((CC_INF0+l)modl6)的TS流數(shù)據(jù)包,其中CC_INF0為當前的CC序號,如果是,則轉(zhuǎn)步驟H ;否則,轉(zhuǎn)步驟I ; 步驟E、確認當前丟包;轉(zhuǎn)步驟L ; 步驟F、在當前TOS序號的TS流數(shù)據(jù)包中進一步判斷是否存在CC序號為((CC_INF0+1)modl6)的TS流數(shù)據(jù)包,其中CC_INF0為當前的CC序號,如果是,則轉(zhuǎn)步驟J,否則,轉(zhuǎn)步驟K; 步驟G、確認當前丟包;轉(zhuǎn)步驟M ; 步驟H、確認當前未丟包。該TOS序號為((T0S_TAIL+1 )mod3),CC序號為((CC_INF0+1)modl6)的TS流數(shù)據(jù)包為當前待查找的TS流數(shù)據(jù)包;進一步地,將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,將當前的CC序號CC_INF0設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,將當前的計數(shù)變量T0S_Count設(shè)置為I ;返回步驟A ; 步驟1、確認當前丟包;轉(zhuǎn)步驟M ; 步驟J、確認當前未丟包。當前TOS序號為T0S_TAIL且CC序號為((CC_INF0+1 )modl6)的TS流數(shù)據(jù)包為當前待查找的TS流數(shù)據(jù)包;進一步地,將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,CC序號設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,T0S_count設(shè)置當前值加一;返回步驟A ; 步驟K、確認當前丟包;轉(zhuǎn)步驟N ;步驟L、確認緩存中TOS序號為((T0S_TAIL+2)mod3)的TS流數(shù)據(jù)包的個數(shù)icount ;轉(zhuǎn)步驟0 ; 步驟M、確認緩存中TOS序號為((T0S_TAIL+l)mod3)的TS流數(shù)據(jù)包的個數(shù)icount ;轉(zhuǎn)步驟0 ; 步驟N、確認緩存中TOS序號為T0S_TAIL的TS流數(shù)據(jù)包的個數(shù)icount ;轉(zhuǎn)步驟0 ; 步驟O、判斷icount是否為I個,如果是,轉(zhuǎn)步驟P ;否則轉(zhuǎn)步驟Q ; 步驟P、該TS流數(shù)據(jù)包即為當前查找的TS流數(shù)據(jù)包,將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,CC序號設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,T0S_count設(shè)置為(4-1count);返回步驟A ; 步驟Q、判斷icount是否為2,如果是,轉(zhuǎn)步驟R,否則轉(zhuǎn)步驟S ; 步驟R、將這兩個TS流數(shù)據(jù)包依據(jù)CC序號進行排序,排在最前面的即為當前查找的TS流數(shù)據(jù)包;將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,CC序號設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,T0S_count設(shè)置為(4-1count);返回步驟A ; 步驟S、判斷icount是否為3,如果是,轉(zhuǎn)步驟T,否則轉(zhuǎn)步驟U ; 步驟T、將這三個TS流數(shù)據(jù)包依據(jù)CC序號進行排序, 排在最前面的即為當前查找的TS流數(shù)據(jù)包;將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,CC序號設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,T0S_count設(shè)置為(4-1count);返回步驟A ; 步驟U、將緩存中的首個TS流數(shù)據(jù)包作為當前查找的TS流數(shù)據(jù)包;將當前的TOS序號T0S_TAIL設(shè)置為該查找到的TS流數(shù)據(jù)包的TOS序號,CC序號設(shè)置為該查找到的TS流數(shù)據(jù)包中最后一個TS包的CC序號,T0S_count設(shè)置為I ;返回步驟A。
5.一種提高TS流排序能力的裝置,該裝置應(yīng)用于TS流發(fā)送端設(shè)備,其特征在于,該裝置包括: TOS序號填充單元,用于在封裝TS流數(shù)據(jù)包時,使用TOS字段中的兩個比特位填充TOS序號;其中,該TOS字段為該TS流數(shù)據(jù)包的IP頭中的TOS字段,該兩個比特位為該TOS字段中的保留比特位; CC序號填充單元,用于使用CC字段中的四個比特位填充CC序號;其中,該CC字段為TS頭中的CC字段; 所述TOS序號和CC序號組成該TS流數(shù)據(jù)包的序號。
6.如權(quán)利要求5所述的裝置,其特征在于,該TOS序號填充單元用TOS字段中的兩個比特位填充TOS序號具體為:按照每三個TS流數(shù)據(jù)包填充相同TOS序號的方式依次循環(huán)的填充這兩個比特位。
【文檔編號】H04N21/647GK103686443SQ201310637486
【公開日】2014年3月26日 申請日期:2013年12月2日 優(yōu)先權(quán)日:2013年12月2日
【發(fā)明者】周迪, 杜超華 申請人:浙江宇視科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1