两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種視頻碼流傳輸處理方法

文檔序號(hào):7684524閱讀:419來源:國知局
專利名稱:一種視頻碼流傳輸處理方法
技術(shù)領(lǐng)域
本發(fā)明屬于圖像信息傳輸與處理領(lǐng)域,具體涉及一種高效的視頻碼流自適應(yīng)打包方法。
傳統(tǒng)的視頻數(shù)據(jù)打包方法有兩類一類是以幀或宏塊組(GOB)為分割邊界的模式A打包方法,另外就是以宏塊(MB)為分割邊界的模式B/C打包方法。在模式A打包方法中,負(fù)載頭占4個(gè)字節(jié),加上固定個(gè)數(shù)的GOB的碼流封裝后進(jìn)入信道;在模式B/C打包方法中,負(fù)載頭占8/12個(gè)字節(jié),加上固定個(gè)數(shù)的MB的碼流封裝后進(jìn)入信道。若采用Mode B/C打包方法,由于負(fù)載頭占用過多的字節(jié),會(huì)引起通訊開銷的增大。另外,封裝固定數(shù)目的GOB或MB,在低碼率下會(huì)導(dǎo)致數(shù)據(jù)包中有效載荷偏低,浪費(fèi)帶寬資源,而在高碼率下會(huì)導(dǎo)致數(shù)據(jù)包中有效載荷超過協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù),容易造成傳輸中的數(shù)據(jù)包丟失。美國專利6,154,780“Method and apparatus fortransmission of a flexible and error resilient video bit stream”提出以片(Slice)為打包單位,且Slice中宏塊的數(shù)目可動(dòng)態(tài)調(diào)整,但Slice結(jié)構(gòu)在ITU-T H.263協(xié)議中是可選項(xiàng),因而其應(yīng)用價(jià)值不高;另外,該打包方法由于使用Slice結(jié)構(gòu),所以在每個(gè)數(shù)據(jù)包上增加Slice頭結(jié)構(gòu),這無疑增加了通訊開銷,降低了視頻碼流的傳輸效率。
本發(fā)明所提出的視頻碼流傳輸處理方法,包括以下步驟第一步、以協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù)為基礎(chǔ),設(shè)定數(shù)據(jù)包有效載荷的門限1,并設(shè)置兩個(gè)大小為門限1的緩存1、緩存2,對(duì)其進(jìn)行初始化;第二步、將編碼器輸出的一宏塊的碼流存至緩存2中;第三步、判定該宏塊的位置屬性;第四步、判斷緩存1中碼流與緩存2中碼流之和是否小于門限1;如果是則轉(zhuǎn)向第六步,否則繼續(xù)第五步;第五步、對(duì)大于等于門限1的情況進(jìn)行碼流的打包封裝處理;該步驟又分為三個(gè)步驟1.根據(jù)當(dāng)前數(shù)據(jù)包是否以宏塊組為封裝邊界,將緩存1中碼流以模式A或模式B/C封裝成實(shí)時(shí)傳輸協(xié)議(RTP)包,并將緩存1清零;2.根據(jù)當(dāng)前已編碼宏塊的位置屬性,決定下一個(gè)實(shí)時(shí)傳輸協(xié)議包的封裝模式模式A或模式B/C;3.將緩存2中碼流移入緩存1中,并將緩存2清零;轉(zhuǎn)入第七步;第六步、對(duì)小于門限1的情況進(jìn)行碼流的打包封裝處理;該步驟又分為四個(gè)步驟1.將緩存2中碼流移入緩存1中,并將緩存2清零;2.如果當(dāng)前已編碼宏塊是第一個(gè)將碼流從緩存2存入緩存1的宏塊并且該宏塊處于一幀或宏塊組的起始位置,則當(dāng)前實(shí)時(shí)傳輸協(xié)議包是以宏塊組為封裝邊界的;
3.如果當(dāng)前已編碼宏塊位置不在圖像幀的結(jié)尾,則轉(zhuǎn)向第二步;4.根據(jù)當(dāng)前數(shù)據(jù)包是否以宏塊組為封裝邊界,將緩存1中碼流以模式A或模式B/C封裝成實(shí)時(shí)傳輸協(xié)議包,并將緩存1清零;第七步、將實(shí)時(shí)傳輸協(xié)議包封裝成用戶數(shù)據(jù)報(bào)協(xié)議(UDP)包;第八步、將戶數(shù)據(jù)報(bào)協(xié)議包封裝成IP包,進(jìn)入IP信道;返回第二步。
本發(fā)明是以協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù)為基礎(chǔ),設(shè)定數(shù)據(jù)包有效載荷的上限,以宏塊作為碼流封裝的子單元,當(dāng)若干子單元的碼流數(shù)達(dá)到有效載荷的上限,就將這些子單元封裝成數(shù)據(jù)包,并且依據(jù)第一個(gè)子單元在圖像中的位置加上相應(yīng)的模式A或模式B/C負(fù)載頭信息,然后送入信道;因此本發(fā)明可以自適應(yīng)不同碼率、不同視頻場(chǎng)景,將數(shù)目可變的宏塊碼流以混合模式封裝成數(shù)據(jù)包,從而降低了通訊開銷、提高了碼流傳輸效率;另外該發(fā)明方法運(yùn)算復(fù)雜度低,滿足實(shí)時(shí)性的需求,可廣泛應(yīng)用于無服務(wù)質(zhì)量(QoS)保證的IP網(wǎng)上的視頻通信,魯棒性強(qiáng),具有較高的實(shí)用價(jià)值。


圖1是本發(fā)明所述方法的具體實(shí)施例流程圖;圖2是本發(fā)明所述方法中判定宏塊位置屬性的流程圖;圖3是緩存1中碼流與緩存2中碼流之和大于等于門限1時(shí)碼流的打包封裝處理流程圖;圖4是緩存1中碼流與緩存2中碼流之和小于門限1時(shí)碼流的打包封裝處理流程圖;具體實(shí)施方式
下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述。
以IEEE 802.3協(xié)議為例,對(duì)本發(fā)明所述的視頻碼流傳輸處理方法具體說明如下。參見圖1
第一步、以IEEE 802.3協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù)為基礎(chǔ),設(shè)定數(shù)據(jù)包有效載荷的門限Th1,并設(shè)置兩個(gè)大小為Th1的緩存Buf1、Buf2;對(duì)全局變量g_nMbPos(表示宏塊的位置)、g_PacketFrmGob(表示數(shù)據(jù)包是否以GOB為封裝邊界)初始化;具體實(shí)施如下a.IEEE 802.3協(xié)議規(guī)定以太網(wǎng)包的大小為1.5kByte,而以太網(wǎng)包頭大小為14Byte,IP包頭大小為20Byte,UDP包頭大小為8Byte,RTP包頭大小為12Byte,Payload(負(fù)載)頭大小為4Byte(Mode A)、8Byte(ModeB)、12Byte(Mode C)所以一個(gè)數(shù)據(jù)包中所能容納最大有效載荷1.5k-14-20-8-12-12=1434據(jù)此及大量實(shí)驗(yàn)結(jié)果,我們將數(shù)據(jù)包有效載荷門限Th1設(shè)為1408 Byte;b.g_nMbPos=0;g_PacketFrmGob=1;其中g(shù)_nMbPos表示宏塊的位置。
當(dāng)宏塊處于一幀或GOB的起始位置時(shí),g_nMbPos=0;當(dāng)宏塊處于一幀的結(jié)尾位置時(shí),g_nMbPos=1;其他位置時(shí),g_nMbPos=2;g_PacketFrmGob表示RTP包是否以GOB為封裝邊界。
g_nPackFrmGob=1,代表RTP包是以GOB為封裝邊界;g_npackFrmGob=0,代表RTP包不是以GOB為封裝邊界;第二步、將編碼器輸出的一宏塊的碼流存至緩存Buf2中;第三步、判定該宏塊的位置屬性;參照?qǐng)D2,具體實(shí)施如下如果該宏塊為一幀或GOB的起始宏塊,執(zhí)行如下操作g_nMbPos=0;否則,判斷該宏塊是否為一幀的結(jié)尾宏塊是,則g_nMbPos=1;否,則g_nMbPos=2;
第四步、判斷(Buf1中碼流+Buf2中碼流)是否大于等于Th1?小于Th1,則轉(zhuǎn)向第六步;第五步、對(duì)大于等于Th1的情況進(jìn)行碼流的打包封裝處理。該步又分為三個(gè)步驟1.根據(jù)當(dāng)前數(shù)據(jù)包是否以GOB為封裝邊界的標(biāo)識(shí)g_PacketFrmGob,將Buf1中碼流以Mode A或Mode B/C封裝成RTP包,并將Buf1清零;參照?qǐng)D3,具體實(shí)施如下如果g_PacketFrmGob=1,執(zhí)行如下操作將Buf1中碼流以Mode A封裝成RTP包;將Buf1清零;否則將Buf1中碼流以Mode B/C封裝成RTP包;將Buf1清零;2.根據(jù)當(dāng)前已編碼宏塊的位置屬性標(biāo)識(shí)g_nMbPos,決定下一個(gè)RTP包的封裝模式Mode A或Mode B/C;參照?qǐng)D3,具體實(shí)施如下如果g_nMbPos=0,g_PacketFrmGob=1;否則,g_PacketFrmGob=0;3.將Buf2中碼流移入Buf1中,并將Buf2清零;轉(zhuǎn)入第七步;第六步、對(duì)小于Th1的情況進(jìn)行碼流的打包封裝處理。該步又分為四個(gè)步驟1.將Buf2中碼流移入Buf1中,并將Buf2清零;2.如果當(dāng)前已編碼宏塊是第一個(gè)將碼流從Buf2存入Buf1的宏塊并且該宏塊處于一幀或GOB的起始位置,則當(dāng)前RTP包是以GOB為封裝邊界的;參照?qǐng)D4,具體實(shí)施如下如果g_nMbPos=0并且是第一個(gè)將碼流從Buf2存入Buf1的宏塊,則g_PacketFrmGob=1;3.如果當(dāng)前已編碼宏塊位置不在圖像幀的結(jié)尾,則轉(zhuǎn)向第二步;參照?qǐng)D4,具體實(shí)施如下如果g_nMbPos≠1,轉(zhuǎn)向第二步;4.根據(jù)當(dāng)前數(shù)據(jù)包是否以GOB為封裝邊界的標(biāo)識(shí)g_PacketFrmGob,將Buf1中碼流以Mode A或Mode B/C封裝成RTP包,并將Buf1清零;參照?qǐng)D4,具體實(shí)施如下如果g_PacketFrmGob=1,執(zhí)行如下操作將Buf1中碼流以Mode A封裝成RTP包;將Buf1清零;否則,將Buf1中碼流以Mode B/C封裝成RTP包;將Buf1清零;第七步、將RTP包封裝成UDP包;第八步、將UDP包封裝成IP包,進(jìn)入IP信道;返回第二步。
權(quán)利要求
1.一種視頻碼流傳輸處理方法,包括以下步驟第一步、以協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù)為基礎(chǔ),設(shè)定數(shù)據(jù)包有效載荷的門限1,并設(shè)置兩個(gè)大小為門限1的緩存1、緩存2,對(duì)其進(jìn)行初始化;第二步、將編碼器輸出的一宏塊的碼流存至緩存2中;第三步、判定該宏塊的位置屬性;第四步、判斷緩存1中碼流與緩存2中碼流之和是否小于門限1;如果是則轉(zhuǎn)向第六步,否則繼續(xù)第五步;第五步、對(duì)大于等于門限1的情況進(jìn)行碼流的打包封裝處理;第六步、對(duì)小于門限1的情況進(jìn)行碼流的打包封裝處理;第七步、將實(shí)時(shí)傳輸協(xié)議包封裝成用戶數(shù)據(jù)報(bào)協(xié)議包;第八步、將戶數(shù)據(jù)報(bào)協(xié)議包封裝成IP包,進(jìn)入IP信道;返回第二步。
2.根據(jù)權(quán)利要求1所述的一種視頻碼流傳輸處理方法,其特征在于所述的第五步包括以下步驟1)、根據(jù)當(dāng)前數(shù)據(jù)包是否以宏塊組為封裝邊界,將緩存1中碼流以模式A或模式B/C封裝成實(shí)時(shí)傳輸協(xié)議包,并將緩存1清零;2)、根據(jù)當(dāng)前已編碼宏塊的位置屬性,決定下一個(gè)實(shí)時(shí)傳輸協(xié)議包的封裝模式模式A或模式B/C;3)、將緩存2中碼流移入緩存1中,并將緩存2清零。
3.根據(jù)權(quán)利要求1所述的一種視頻碼流傳輸處理方法,其特征在于所述的第六步包括以下步驟1)、將緩存2中碼流移入緩存1中,并將緩存2清零;2)、如果當(dāng)前已編碼宏塊是第一個(gè)將碼流從緩存2存入緩存1的宏塊并且該宏塊處于一幀或宏塊組的起始位置,則當(dāng)前實(shí)時(shí)傳輸協(xié)議包是以宏塊組為封裝邊界的;3)、如果當(dāng)前已編碼宏塊位置不在圖像幀的結(jié)尾,則轉(zhuǎn)向第二步;4)、根據(jù)當(dāng)前數(shù)據(jù)包是否以宏塊組為封裝邊界,將緩存1中碼流以模式A或模式B/C封裝成實(shí)時(shí)傳輸協(xié)議包,并將緩存1清零。
4.根據(jù)權(quán)利要求1所述的一種視頻碼流傳輸處理方法,其特征在于所述有效載荷門限1在IEEE 802.3協(xié)議中設(shè)定為1408 Byte。
全文摘要
一種視頻碼流傳輸處理方法,屬于圖像信息傳輸與處理領(lǐng)域。包括步驟以協(xié)議規(guī)定的數(shù)據(jù)包最大有效比特?cái)?shù)為基礎(chǔ),設(shè)定數(shù)據(jù)包有效載荷的門限1,并設(shè)置兩個(gè)大小為門限1的緩存1、緩存2,對(duì)其進(jìn)行初始化;將編碼器輸出的一宏塊的碼流存至緩存2中;判定該宏塊的位置屬性;判斷緩存1中碼流與緩存2中碼流之和是否小于門限1;如果是則對(duì)小于門限1的情況進(jìn)行碼流的打包封裝處理,否則繼續(xù)對(duì)大于等于門限1的情況進(jìn)行碼流的打包封裝處理;將實(shí)時(shí)傳輸協(xié)議包封裝成用戶數(shù)據(jù)報(bào)協(xié)議包;將戶數(shù)據(jù)報(bào)協(xié)議包封裝成IP包,進(jìn)入IP信道;返回。本發(fā)明可以降低通訊開銷并提高碼流傳輸效率。
文檔編號(hào)H04N7/00GK1466376SQ0211237
公開日2004年1月7日 申請(qǐng)日期2002年6月29日 優(yōu)先權(quán)日2002年6月29日
發(fā)明者王寧, 周蓉, 林碧霞, 寧 王 申請(qǐng)人:深圳市中興通訊股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
岑溪市| 南汇区| 广南县| 通州区| 玉屏| 图木舒克市| 延安市| 阳高县| 镇赉县| 阿拉善左旗| 凤山县| 荔波县| 武功县| 墨竹工卡县| 东海县| 饶河县| 乌什县| 留坝县| 阿拉善左旗| 河北区| 垫江县| 松溪县| 温泉县| 扬中市| 客服| 柘城县| 手机| 化隆| 新安县| 根河市| 宁明县| 涟源市| 青铜峡市| 安吉县| 平山县| 昌吉市| 西安市| 孙吴县| 健康| 开鲁县| 汶川县|