視頻傳輸方法和裝置制造方法
【專利摘要】本發(fā)明提供一種視頻傳輸方法和裝置,包括:首先確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大??;然后在第一時(shí)刻接收第一視頻幀報(bào)文,根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型;進(jìn)一步的,在第二時(shí)刻接收第二視頻幀報(bào)文,若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型。其中,通過(guò)令牌數(shù)和視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),可以在帶寬不足的情況下,丟棄對(duì)終端播放視頻影響小的視頻幀報(bào)文,從而在帶寬惡化的情況下可以維持視頻連接不斷連。
【專利說(shuō)明】視頻傳輸方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及視頻傳輸技術(shù),尤其涉及一種視頻傳輸方法和裝置。
【背景技術(shù)】
[0002]伴隨移動(dòng)寬帶網(wǎng)絡(luò)技術(shù)(3G、4G)的發(fā)展,越來(lái)越多的交通工具(公交、教練車、地鐵等)都采用了獨(dú)立的移動(dòng)無(wú)線視頻監(jiān)控系統(tǒng),用來(lái)保障人民群眾的人身、財(cái)產(chǎn)安全。其中,無(wú)線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)是基于無(wú)線網(wǎng)絡(luò)的視頻實(shí)時(shí)監(jiān)控系統(tǒng),典型的無(wú)線網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)由四部分組成:前端監(jiān)控設(shè)備(涉及視頻采集、數(shù)字編碼等)、與監(jiān)控設(shè)備相連的無(wú)線路由器(涉及數(shù)據(jù)傳輸)、無(wú)線網(wǎng)絡(luò)以及顯示客戶端。但是,移動(dòng)無(wú)線網(wǎng)絡(luò)受周圍環(huán)境影響較大,比如建筑物、天氣(雨水、霧霾等)、人群密度等環(huán)境因素都會(huì)對(duì)無(wú)線網(wǎng)絡(luò)的穩(wěn)定性產(chǎn)生影響,從而影響無(wú)線鏈路的帶寬,造成帶寬不穩(wěn)定,一旦帶寬不足,則連接很容易出現(xiàn)斷鏈,客戶端播放就會(huì)隨即中斷。
[0003]現(xiàn)有技術(shù)中通過(guò)根據(jù)當(dāng)前網(wǎng)絡(luò)傳輸信道的變化情況來(lái)調(diào)整視頻編碼的參數(shù),使生成的視頻流適合當(dāng)前網(wǎng)絡(luò)傳輸信道帶寬,通俗地講即,若傳輸信道惡化,則降低視頻流編碼速率,若信道帶寬恢復(fù),則調(diào)高視頻流編碼速率。
[0004]但對(duì)于不支持變碼率功能的前端設(shè)備,上述方法無(wú)法解決帶寬惡化造成視頻斷連的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種視頻傳輸方法和裝置,以克服現(xiàn)有技術(shù)中帶寬惡化造成視頻斷連的問(wèn)題。
[0006]本發(fā)明第一方面提供一種視頻傳輸方法,包括:
[0007]確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大??;
[0008]在第一時(shí)刻接收第一視頻幀報(bào)文;
[0009]根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第一視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng);
[0010]在第二時(shí)刻接收第二視頻幀報(bào)文;
[0011]若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第二視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
[0012]在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述令牌數(shù)為正數(shù),所述根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),包括:
[0013]將所述第一視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0014]將所述令牌桶中的令牌數(shù)減去所述第一視頻幀報(bào)文的長(zhǎng)度,獲得所述令牌桶中的剩余令牌數(shù);
[0015]若所述剩余令牌數(shù)為負(fù)數(shù)且所述第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào),確定所述丟棄視頻幀報(bào)文編號(hào)為所述第一視頻幀報(bào)文的編號(hào),所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào)。
[0016]結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所述剩余令牌數(shù)為負(fù)數(shù),所述若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文之前,還包括:
[0017]判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào);
[0018]所述若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,具體包括:
[0019]若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文;
[0020]所述判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,還包括:
[0021]若所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述第三視頻幀報(bào)文編號(hào),則將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出。
[0022]結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,還包括:
[0023]若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0024]更新所述丟棄視頻幀報(bào)文編號(hào)為所述第二視頻幀報(bào)文的編號(hào)。
[0025]結(jié)合第一方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出之后,還包括:
[0026]將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度;
[0027]更新所述令牌桶中的令牌數(shù)。
[0028]本發(fā)明第二方面提供一種視頻傳輸裝置,包括:
[0029]第一確定模塊,用于確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大小;
[0030]第一接收模塊,用于在第一時(shí)刻接收第一視頻幀報(bào)文;
[0031]第二確定模塊,用于根據(jù)所述第一確定模塊確定的所述令牌數(shù)和所述第一接收模塊接收的第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第一視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng);
[0032]第二接收模塊,用于在第二時(shí)刻接收第二視頻幀報(bào)文;
[0033]判斷模塊,用于若所述第二視頻幀報(bào)文的編號(hào)大于所述第二確定模塊確定的所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第二視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
[0034]在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述令牌數(shù)為正數(shù),所述第二確定模塊具體用于:
[0035]將所述第一視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0036]將所述令牌桶中的令牌數(shù)減去所述第一視頻幀報(bào)文的長(zhǎng)度,獲得所述令牌桶中的剩余令牌數(shù);
[0037]若所述剩余令牌數(shù)為負(fù)數(shù)且所述第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào),確定所述丟棄視頻幀報(bào)文編號(hào)為所述第一視頻幀報(bào)文的編號(hào),所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào)。
[0038]結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的實(shí)現(xiàn)方式中,所述剩余令牌數(shù)為負(fù)數(shù),所述判斷模塊還用于:
[0039]判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào);
[0040]若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文;
[0041]所述視頻流傳輸裝置,還包括:輸出模塊,用于在所述判斷模塊判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,若所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述第三視頻幀報(bào)文編號(hào),則將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出。
[0042]結(jié)合第二方面的第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,還包括,第三確定模塊:
[0043]用于若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0044]更新所述丟棄視頻幀報(bào)文編號(hào)為所述第二視頻幀報(bào)文的編號(hào)。
[0045]結(jié)合第二方面的第一種或第二種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,還包括:計(jì)算模塊和更新模塊,
[0046]所述計(jì)算模塊用于在所述第二確定模塊或第三確定模塊將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出之后,將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度;
[0047]所述更新模塊用于更新所述令牌桶中的令牌數(shù)。
[0048]本發(fā)明中,首先確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大??;然后在第一時(shí)刻接收第一視頻幀報(bào)文,根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型;進(jìn)一步的,在第二時(shí)刻接收第二視頻幀報(bào)文,若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型。其中,通過(guò)令牌數(shù)和視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),可以在帶寬不足的情況下,丟棄對(duì)終端播放視頻影響小的視頻幀報(bào)文,從而在帶寬惡化的情況下也可以維持視頻連接不斷連。
【專利附圖】
【附圖說(shuō)明】
[0049]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0050]圖1為本發(fā)明實(shí)施例提供的視頻傳輸方法的流程圖;
[0051]圖2為本發(fā)明實(shí)施例提供的視頻傳輸裝置的結(jié)構(gòu)示意圖;
[0052]圖3為本發(fā)明另一實(shí)施例提供的視頻傳輸裝置的結(jié)構(gòu)示意圖;
[0053]圖4為本發(fā)明又一實(shí)施例提供的視頻傳輸裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0054]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0055]圖1為本發(fā)明實(shí)施例提供的視頻傳輸方法的流程圖,如圖1所示,本實(shí)施例的方法可以包括:
[0056]步驟101、確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大小。
[0057]其中,實(shí)時(shí)帶寬即為傳輸層的可用帶寬。
[0058]具體的,首先,將鏈路的實(shí)時(shí)預(yù)測(cè)帶寬轉(zhuǎn)換為傳輸層的可用帶寬,并根據(jù)可用帶寬生成令牌,將生成的令牌放入令牌桶中,以增加令牌桶中的令牌數(shù),從而根據(jù)令牌桶中的令牌數(shù)確定視頻幀報(bào)文的傳輸方式。
[0059]其中,將鏈路的實(shí)時(shí)預(yù)測(cè)帶寬轉(zhuǎn)換為傳輸層的可用帶寬的轉(zhuǎn)換方法具體可以為將實(shí)時(shí)預(yù)測(cè)帶寬乘以轉(zhuǎn)換系數(shù)(系數(shù)范圍為0.8-0.9),即可將實(shí)時(shí)預(yù)測(cè)的帶寬轉(zhuǎn)換為可用帶寬,例如,實(shí)時(shí)預(yù)測(cè)帶寬為5Hz,轉(zhuǎn)換系數(shù)為0.8,則可用帶寬為5Hz X 0.8 = 4Hz,其中,保留的IHz用于實(shí)時(shí)預(yù)測(cè)帶寬等。本發(fā)明不對(duì)將實(shí)時(shí)預(yù)測(cè)帶寬轉(zhuǎn)換為可用帶寬的轉(zhuǎn)換方法加以限制。
[0060]步驟102、在第一時(shí)刻接收第一視頻幀報(bào)文。
[0061]步驟103、根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第一視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
[0062]具體的,首先在第一時(shí)刻接收第一視頻幀報(bào)文,假設(shè)第一時(shí)刻接收到的第一視頻幀報(bào)文是接收到的第一個(gè)視頻幀報(bào)文,此時(shí)令牌桶中的令牌數(shù)必然為正數(shù),就可將第一視頻幀報(bào)文直接經(jīng)過(guò)令牌桶輸出,并將令牌桶中的令牌數(shù)減去第一視頻幀報(bào)文的長(zhǎng)度,得到令牌桶傳輸完第一視頻幀報(bào)文后的剩余令牌數(shù),如果令牌桶中傳輸完第一視頻幀報(bào)文后,令牌桶中剩余的令牌數(shù)為正數(shù),表明此時(shí)的帶寬足于支持完整的視頻幀報(bào)文的傳輸,無(wú)需對(duì)后續(xù)就收到的視頻幀報(bào)文進(jìn)行相應(yīng)的丟棄處理,并直接經(jīng)過(guò)令牌桶輸出后續(xù)接收到的視頻幀報(bào)文;如果令牌桶中傳輸完第一視頻幀報(bào)文后,令牌桶中剩余的令牌數(shù)為負(fù)數(shù),表明此時(shí)的帶寬已經(jīng)不足于支持完整的視頻幀報(bào)文的傳輸,就需要對(duì)后續(xù)就收到的視頻幀報(bào)文進(jìn)行相應(yīng)的丟棄處理。
[0063]其中,將第一視頻幀報(bào)文經(jīng)過(guò)令牌桶輸出具體可以為:例如:令牌桶中的令牌數(shù)為10,接收到的第一視頻正報(bào)文的長(zhǎng)度為6字節(jié),傳輸一個(gè)字節(jié)的視頻幀報(bào)文需要消耗一個(gè)令牌,則將第一視頻幀報(bào)文通過(guò)令牌桶輸出需要消耗的令牌數(shù)為6,此時(shí)令牌桶中剩余的令牌數(shù)為4 ;可選的,當(dāng)接收到的第一視頻幀報(bào)文的長(zhǎng)度為15,則將第一視頻幀報(bào)文通過(guò)令牌桶輸出需要消耗的令牌數(shù)為15,此時(shí)令牌桶中剩余的令牌數(shù)為-5。
[0064]具體對(duì)后續(xù)就收到的視頻幀報(bào)文進(jìn)行相應(yīng)的丟棄處理的方法為:首先,當(dāng)接收到視頻幀報(bào)文后,為了便于確定需要丟棄的視頻幀報(bào)文類型,需要根據(jù)視頻幀報(bào)文的類型以及優(yōu)先級(jí)對(duì)視頻幀報(bào)文進(jìn)行編號(hào),優(yōu)選的,可以將優(yōu)先級(jí)高的視頻幀報(bào)文對(duì)應(yīng)較小的編號(hào),優(yōu)先級(jí)低的視頻幀報(bào)文對(duì)應(yīng)較高的優(yōu)先級(jí)編號(hào),例如,可以對(duì)控制幀報(bào)文編號(hào)為1、I幀報(bào)文編號(hào)為2、B幀報(bào)文編號(hào)為3、P幀報(bào)文編號(hào)為4等,本發(fā)明不對(duì)視頻幀報(bào)文編號(hào)的方式加以限制。
[0065]由于在視頻幀報(bào)文的傳輸過(guò)程中,控制幀報(bào)文和I幀報(bào)文無(wú)需其他報(bào)文即可構(gòu)成完整的視頻,因此為了保證視頻播放連接不斷連,所有接收到的控制幀報(bào)文和I幀報(bào)文必須輸出至客戶端,因此不能丟棄控制幀報(bào)文和I幀報(bào)文,也即,根據(jù)上述的描述可知,接收到的視頻幀報(bào)文的編號(hào)必須大于2才有可能被丟棄。
[0066]而當(dāng)傳輸完第一視頻幀報(bào)文后,令牌桶中的令牌數(shù)為負(fù)數(shù),并且第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào)(所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào),為了清楚起見,以下實(shí)施例中均用預(yù)設(shè)丟棄視頻幀報(bào)文的編號(hào)代替第三視頻幀報(bào)文編號(hào)),便可確定丟棄視頻幀報(bào)文編號(hào)即為第一視頻幀報(bào)文的編號(hào),所述預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào)可為上述舉例中的I幀的報(bào)文編號(hào)2。
[0067]當(dāng)后續(xù)接收到視頻幀報(bào)文后,可根據(jù)接收到的視頻幀報(bào)文編號(hào)與丟棄視頻幀報(bào)文編號(hào)的關(guān)系是否需要丟棄。
[0068]步驟104、在第二時(shí)刻接收第二視頻幀報(bào)文。
[0069]步驟105、若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第二視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
[0070]可選的,當(dāng)令牌桶中的令牌數(shù)為負(fù)數(shù)。
[0071]具體的,在第二時(shí)刻接收第二視頻幀報(bào)文,并對(duì)接收到的第二視頻幀報(bào)文進(jìn)行編號(hào),具體編號(hào)的方式與對(duì)第一視頻幀編號(hào)的方式相同,此處不再贅述。
[0072]可選的,還可先判斷接收到的第二視頻幀報(bào)文的編號(hào)是否大于預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào),也即首先判斷接收到的報(bào)文是否為控制幀報(bào)文或者I幀報(bào)文,若接收到的視頻幀報(bào)文為控制幀報(bào)文或者I幀報(bào)文,則直接經(jīng)過(guò)令牌桶傳輸接收到的視頻幀報(bào)文,而無(wú)需考慮令牌桶中的令牌數(shù),并將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度,更新所述令牌桶中的令牌數(shù)。
[0073]可選的,若所述第二視頻幀報(bào)文的編號(hào)大于所述預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào),根據(jù)所述丟棄視頻幀報(bào)文編號(hào)確定是否丟棄所述第二視頻幀報(bào)文。
[0074]判斷第二視頻幀報(bào)文的編號(hào)與丟棄視頻幀報(bào)文編號(hào)的關(guān)系,確定是否丟棄第二視頻幀報(bào)文,具體為,如果此時(shí)接收到的第二視頻幀報(bào)文的編號(hào)大于丟棄視頻幀報(bào)文編號(hào),則直接丟棄第二視頻幀報(bào)文。
[0075]如果此時(shí)接收到的第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出,并且更新所述丟棄視頻幀報(bào)文編號(hào)為第二視頻幀報(bào)文的編號(hào)。
[0076]例如,在本發(fā)明的一種可實(shí)現(xiàn)的方式中,預(yù)設(shè)的丟棄視頻幀報(bào)文的編號(hào)為2,當(dāng)接收到的第一視頻幀報(bào)文為3號(hào)報(bào)文,并且第一視頻幀報(bào)文長(zhǎng)度為9,令牌桶中的令牌數(shù)為10,此時(shí)可直接通過(guò)令牌桶傳輸所述第一視頻幀報(bào)文,當(dāng)傳輸完第一視頻幀報(bào)文后,令牌桶中剩余的令牌數(shù)為I。
[0077]接收第二視頻幀報(bào)文,假設(shè)接收到的第二視頻幀報(bào)文的編號(hào)為5,并且第二視頻幀報(bào)文的長(zhǎng)度為14,在此同時(shí),還會(huì)根據(jù)實(shí)時(shí)帶寬生成令牌并將令牌添加至令牌桶中,假設(shè)此時(shí)添加后的令牌數(shù)為6,由于令牌桶中的令牌數(shù)為正數(shù),可直接通過(guò)令牌桶傳輸所述第二視頻幀報(bào)文,當(dāng)傳輸完第二視頻幀報(bào)文后,令牌桶中剩余的令牌數(shù)為_8,可見,此時(shí)的帶寬已經(jīng)不足于傳輸完整的視頻幀報(bào)文,需要確定丟棄視頻幀報(bào)文編號(hào),而第二視頻幀報(bào)文的編號(hào)為5,可知第二視頻幀報(bào)文大于I幀報(bào)文的編號(hào)2,可知此時(shí)的第二視頻幀報(bào)文為普通視頻幀報(bào)文,并確定丟棄視頻幀報(bào)文編號(hào)為5。
[0078]接收第三視頻幀報(bào)文的一種可能性為:假設(shè)接收到的第三視頻幀報(bào)文的編號(hào)為6,在此同時(shí),還會(huì)根據(jù)實(shí)時(shí)帶寬生成令牌并將令牌添加至令牌桶中,假設(shè)此時(shí)添加后的令牌數(shù)為_3,可見,此時(shí)的帶寬已經(jīng)不足于傳輸完整的視頻幀報(bào)文,需要判斷接收到的第三視頻幀報(bào)文的編號(hào)與丟棄視頻幀報(bào)文編號(hào)的關(guān)系,而此時(shí)接收到的第三視頻幀報(bào)文的編號(hào)6大于丟棄視頻幀報(bào)文編號(hào)5,則直接將接收到的第三視頻幀丟棄。
[0079]接收第三視頻幀報(bào)文的另一種可能性為,假設(shè)接收到的第三視頻幀報(bào)文的編號(hào)為4,在此同時(shí),還會(huì)根據(jù)實(shí)時(shí)帶寬生成令牌并將令牌添加至令牌桶中,假設(shè)此時(shí)添加后的令牌數(shù)為_3,可見,此時(shí)的帶寬已經(jīng)不足于傳輸完整的視頻幀報(bào)文,需要判斷接收到的第三視頻幀報(bào)文的編號(hào)與丟棄視頻幀報(bào)文編號(hào)的關(guān)系,而此時(shí)接收到的第三視頻幀報(bào)文的編號(hào)4小于丟棄視頻幀報(bào)文編號(hào)5,則通過(guò)令牌桶傳輸?shù)谌曨l幀報(bào)文,并預(yù)支令牌桶中的令牌。
[0080]而在本發(fā)明的另一種可實(shí)現(xiàn)的方式中,預(yù)設(shè)的丟棄視頻幀報(bào)文的編號(hào)為2,當(dāng)接收到的第一視頻幀報(bào)文為2號(hào)報(bào)文,并且第一視頻幀報(bào)文長(zhǎng)度為9,令牌桶中的令牌數(shù)為5,由于令牌桶中的令牌數(shù)為正數(shù),可直接通過(guò)令牌桶傳輸所述第一視頻幀報(bào)文,當(dāng)傳輸完第一視頻幀報(bào)文后,令牌桶中剩余的令牌數(shù)為_4,可見,此時(shí)的帶寬已經(jīng)不足于傳輸完整的視頻幀報(bào)文,需要確定丟棄報(bào)文編號(hào),而第一視頻幀報(bào)文的編號(hào)為2,可知第一視頻幀報(bào)文沒(méi)有大于預(yù)設(shè)丟棄視頻幀編號(hào),因此不用確定接收到的第一視頻幀報(bào)文的編號(hào)為丟棄報(bào)文編號(hào)。
[0081]繼續(xù)接收第二視頻幀報(bào)文,假設(shè)接收到的第二視頻幀報(bào)文的編號(hào)為5,并且第二視頻幀報(bào)文的長(zhǎng)度為14,在此同時(shí),還會(huì)根據(jù)實(shí)時(shí)帶寬生成令牌并將令牌添加至令牌桶中,假設(shè)此時(shí)添加后的令牌桶中的令牌數(shù)仍然為負(fù)數(shù),此時(shí)需要判斷接收到的第二視頻幀報(bào)文的編號(hào)與預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào)的大小關(guān)系,由于第二視頻幀報(bào)文的編號(hào)為5大于預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào),因此將第二視頻幀報(bào)文直接丟棄。
[0082]假設(shè)接收到的的第二視頻幀報(bào)文的編號(hào)為1,并且第二視頻幀報(bào)文的長(zhǎng)度為14,在此同時(shí),還會(huì)根據(jù)實(shí)時(shí)帶寬生成令牌并將令牌添加至令牌桶中,假設(shè)此時(shí)添加后的令牌桶中的令牌數(shù)任然為負(fù)數(shù),此時(shí)需要判斷接收到的第二視頻幀報(bào)文的編號(hào)與預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào)的大小關(guān)系,由于第二視頻幀報(bào)文的編號(hào)為I小于預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào),因此需要預(yù)支令牌桶中的令牌傳輸?shù)诙曨l幀報(bào)文。
[0083]值得注意的是,本發(fā)明實(shí)施例中的預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào)與丟棄視頻幀報(bào)文編號(hào)代表不同的含義,其中,預(yù)設(shè)丟棄視頻幀報(bào)文編號(hào)代表系統(tǒng)自定義的需要丟棄的視頻幀報(bào)文的編號(hào),而丟棄視頻幀報(bào)文編號(hào)為根據(jù)令牌桶中令牌數(shù)的多少實(shí)時(shí)計(jì)算的需要進(jìn)行丟棄的視頻幀報(bào)文的編號(hào),此為兩種完全不同的概念,不可混淆。
[0084]本發(fā)明實(shí)施例提供的視頻傳輸方法,包括:首先確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大小;然后在第一時(shí)刻接收第一視頻幀報(bào)文,根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型;進(jìn)一步的,在第二時(shí)刻接收第二視頻幀報(bào)文,若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型。其中,通過(guò)令牌數(shù)和視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),可以在帶寬不足的情況下,丟棄對(duì)終端播放視頻影響小的視頻幀報(bào)文,從而在帶寬惡化的情況下也可以維持視頻連接不斷連。
[0085]圖2為本發(fā)明實(shí)施例提供的視頻傳輸裝置的結(jié)構(gòu)示意圖,如圖2所示,本實(shí)施例的裝置可以包括:
[0086]第一確定模塊201,用于確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大??;
[0087]第一接收模塊202,用于在第一時(shí)刻接收第一視頻巾貞報(bào)文;
[0088]第二確定模塊203,用于根據(jù)所述第一確定模塊201確定的所述令牌數(shù)和所述第一接收模塊202接收的第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型;
[0089]第二接收模塊204,用于在第二時(shí)刻接收第二視頻幀報(bào)文;
[0090]判斷模塊205,用于若所述第二視頻幀報(bào)文的編號(hào)大于所述第二確定模塊203確定的所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型。
[0091]可選的,所述令牌數(shù)為正數(shù),所述第二確定模塊203具體用于:
[0092]將所述第一視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0093]將所述令牌桶中的令牌數(shù)減去所述第一視頻幀報(bào)文的長(zhǎng)度,獲得所述令牌桶中的剩余令牌數(shù);
[0094]若所述剩余令牌數(shù)為負(fù)數(shù)且所述第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào),確定所述丟棄視頻幀報(bào)文編號(hào)為所述第一視頻幀報(bào)文的編號(hào),所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào)。
[0095]可選的,所述剩余令牌數(shù)為負(fù)數(shù),所述判斷模塊204具體用于:
[0096]判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào);
[0097]若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文;
[0098]進(jìn)一步的,如圖3所示,所述視頻流傳輸裝置,還包括:輸出模塊206,用于在所述判斷模塊判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,若所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),則將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出。
[0099]可選的,如圖3所示,所述視頻傳輸裝置還包括:第三確定模塊207:
[0100]用于若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出;
[0101]更新所述丟棄視頻幀報(bào)文編號(hào)為所述第二視頻幀報(bào)文的編號(hào)。
[0102]如圖4所示,所述視頻傳輸裝置還包括:計(jì)算模塊208和更新模塊209,
[0103]所述計(jì)算模塊208用于在所述第二確定模塊203或第三確定模塊207將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出之后,將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度;
[0104]所述更新模塊209用于更新所述令牌桶中的令牌數(shù)。
[0105]本實(shí)施例的裝置,可以用于執(zhí)行圖1所示方法實(shí)施例的技術(shù)方案,其實(shí)現(xiàn)原理和技術(shù)效果類似,此處不再贅述。
[0106]本領(lǐng)域普通技術(shù)人員可以理解:實(shí)現(xiàn)上述各方法實(shí)施例的全部或部分步驟可以通過(guò)程序指令相關(guān)的硬件來(lái)完成。前述的程序可以存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。該程序在執(zhí)行時(shí),執(zhí)行包括上述各方法實(shí)施例的步驟;而前述的存儲(chǔ)介質(zhì)包括:R0M、RAM、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
[0107]最后應(yīng)說(shuō)明的是:以上各實(shí)施例僅用以說(shuō)明本發(fā)明的技術(shù)方案,而非對(duì)其限制;盡管參照前述各實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對(duì)前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對(duì)其中部分或者全部技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的范圍。
【權(quán)利要求】
1.一種視頻傳輸方法,其特征在于,包括: 確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大小; 在第一時(shí)刻接收第一視頻巾貞報(bào)文; 根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第一視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng); 在第二時(shí)刻接收第二視頻幀報(bào)文; 若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第二視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述令牌數(shù)為正數(shù),所述根據(jù)所述令牌數(shù)和所述第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),包括: 將所述第一視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出; 將所述令牌桶中的令牌數(shù)減去所述第一視頻幀報(bào)文的長(zhǎng)度,獲得所述令牌桶中的剩余令牌數(shù); 若所述剩余令牌數(shù)為負(fù)數(shù)且所述第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào),確定所述丟棄視頻幀報(bào)文編號(hào)為所述第一視頻幀報(bào)文的編號(hào),所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào)。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述剩余令牌數(shù)為負(fù)數(shù),所述若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文之前,還包括: 判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào); 所述若所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,具體包括: 若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文; 所述判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,還包括: 若所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述第三視頻幀報(bào)文編號(hào),則將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,還包括: 若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出; 更新所述丟棄視頻幀報(bào)文編號(hào)為所述第二視頻幀報(bào)文的編號(hào)。
5.根據(jù)權(quán)利要求3或4所述的方法,其特征在于,所述將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出之后,還包括: 將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度; 更新所述令牌桶中的令牌數(shù)。
6.一種視頻傳輸裝置,其特征在于,包括: 第一確定模塊,用于確定令牌桶中的令牌數(shù),所述令牌數(shù)用于標(biāo)識(shí)實(shí)時(shí)帶寬的大??; 第一接收模塊,用于在第一時(shí)刻接收第一視頻幀報(bào)文; 第二確定模塊,用于根據(jù)所述第一確定模塊確定的所述令牌數(shù)和所述第一接收模塊接收的第一視頻幀報(bào)文的編號(hào)確定丟棄視頻幀報(bào)文編號(hào),所述第一視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第一視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第一視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng); 第二接收模塊,用于在第二時(shí)刻接收第二視頻幀報(bào)文; 判斷模塊,用于若所述第二視頻幀報(bào)文的編號(hào)大于所述第二確定模塊確定的所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文,所述第二視頻幀報(bào)文的編號(hào)用于標(biāo)識(shí)所述第二視頻幀報(bào)文的類型,所述編號(hào)的大小與所述第二視頻幀報(bào)文的優(yōu)先級(jí)對(duì)應(yīng)。
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述令牌數(shù)為正數(shù),所述第二確定模塊具體用于: 將所述第一視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出; 將所述令牌桶中的令牌數(shù)減去所述第一視頻幀報(bào)文的長(zhǎng)度,獲得所述令牌桶中的剩余令牌數(shù); 若所述剩余令牌數(shù)為負(fù)數(shù)且所述第一視頻幀報(bào)文的編號(hào)大于第三視頻幀報(bào)文編號(hào),確定所述丟棄視頻幀報(bào)文編號(hào)為所述第一視頻幀報(bào)文的編號(hào),所述第三視頻幀報(bào)文編號(hào)為預(yù)設(shè)的應(yīng)該丟棄的視頻幀報(bào)文的編號(hào)。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述剩余令牌數(shù)為負(fù)數(shù),所述判斷模塊還用于: 判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào); 若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)大于所述丟棄視頻幀報(bào)文編號(hào),則丟棄所述第二視頻幀報(bào)文; 所述視頻流傳輸裝置,還包括:輸出模塊,用于在所述判斷模塊判斷所述第二視頻幀報(bào)文的編號(hào)是否大于所述第三視頻幀報(bào)文編號(hào)之后,若所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述第三視頻幀報(bào)文編號(hào),則將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,還包括,第三確定模塊: 用于若所述第二視頻幀報(bào)文的編號(hào)大于所述第三視頻幀報(bào)文編號(hào),且所述第二視頻幀報(bào)文的編號(hào)小于或者等于所述丟棄視頻幀報(bào)文編號(hào),將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出; 更新所述丟棄視頻幀報(bào)文編號(hào)為所述第二視頻幀報(bào)文的編號(hào)。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,還包括:計(jì)算模塊和更新模塊, 所述計(jì)算模塊用于在所述第二確定模塊或第三確定模塊將所述第二視頻幀報(bào)文經(jīng)過(guò)所述令牌桶輸出之后,將所述令牌桶中的令牌數(shù)減去所述第二視頻幀報(bào)文的長(zhǎng)度; 所述更新模塊用于更新所述令牌桶中的令牌數(shù)。
【文檔編號(hào)】H04N7/18GK104378602SQ201410695512
【公開日】2015年2月25日 申請(qǐng)日期:2014年11月26日 優(yōu)先權(quán)日:2014年11月26日
【發(fā)明者】尹小杰 申請(qǐng)人:福建星網(wǎng)銳捷網(wǎng)絡(luò)有限公司