亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整方法及裝置的制造方法

文檔序號(hào):9508520閱讀:583來源:國(guó)知局
一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整方法及裝置。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)覆蓋率的持續(xù)擴(kuò)大,越來越多的安防設(shè)備接入到互聯(lián)網(wǎng)中。但是,互聯(lián)網(wǎng)相對(duì)于局域網(wǎng)存在兩個(gè)特征:波動(dòng)性高和帶寬低。在這種情況下,監(jiān)控視頻如果以固定的數(shù)據(jù)速率采集,就會(huì)產(chǎn)生頻繁的丟幀現(xiàn)象,可能給用戶帶來無法估量的損失。因此,需要一種網(wǎng)絡(luò)自適應(yīng)的編碼調(diào)整機(jī)制,來減少丟幀情況的發(fā)生。
[0003]現(xiàn)有技術(shù)下,提供了兩種網(wǎng)絡(luò)自適應(yīng)的編碼調(diào)整方法。
[0004]第一種方法為:檢測(cè)網(wǎng)絡(luò)狀態(tài)是采用poll判斷套接口是否可寫的方式,達(dá)到連續(xù)網(wǎng)絡(luò)惡劣等級(jí)值BAD_C0NDIT10N次不可寫則降低碼流,達(dá)到連續(xù)網(wǎng)絡(luò)良好等級(jí)值G00D_CONDIT1N次可寫則增高碼流,且是根據(jù)預(yù)設(shè)的編碼等級(jí)進(jìn)行調(diào)整的,具體操作步驟為:
[0005]1)設(shè)置網(wǎng)絡(luò)監(jiān)聽參數(shù);
[0006]2)獲取3G網(wǎng)絡(luò)狀態(tài);
[0007]3)驗(yàn)證數(shù)據(jù)是否為關(guān)鍵幀;
[0008]4)丟棄步驟3中的非關(guān)鍵幀數(shù)據(jù);
[0009]5)記錄網(wǎng)絡(luò)狀態(tài);
[0010]6)判斷網(wǎng)絡(luò)狀態(tài)是否達(dá)到調(diào)整編碼參數(shù)條件;
[0011]7)調(diào)整編碼參數(shù);
[0012]8)重置網(wǎng)絡(luò)狀態(tài)記錄。
[0013]由此可見,針對(duì)第一種方法,其并不知道當(dāng)前的碼流具體是多少,而是根據(jù)預(yù)設(shè)的編碼等級(jí)直接降低到一個(gè)預(yù)設(shè)值,且每次降幅很大,這就很可能導(dǎo)致帶寬利用率不足的問題。并且,使用poll的方式檢測(cè)網(wǎng)絡(luò)狀態(tài),會(huì)存在判斷不準(zhǔn)的情況。若BAD_C0NDIT10N設(shè)置太小,則容易受瞬間帶寬波動(dòng)影響;若設(shè)置太大,則可能在達(dá)到條件前,被一次檢測(cè)到的可寫事件打斷而重新計(jì)數(shù),進(jìn)而導(dǎo)致碼流無法下調(diào)。
[0014]第二種方法為:在帶寬變化時(shí)對(duì)碼流進(jìn)行調(diào)整,具體操作為:
[0015]首先,當(dāng)獲取到當(dāng)前幀圖像初始數(shù)據(jù)時(shí),確定當(dāng)前幀延時(shí)為指定內(nèi)存中最先存儲(chǔ)的一幀圖像編碼數(shù)據(jù)對(duì)應(yīng)的初始數(shù)據(jù)獲取到的時(shí)間和最后存儲(chǔ)的一幀圖像編碼數(shù)據(jù)對(duì)應(yīng)的初始數(shù)據(jù)獲取到的時(shí)間之間的時(shí)間差值;
[0016]然后,當(dāng)當(dāng)前幀延時(shí)在預(yù)設(shè)范圍內(nèi)時(shí),調(diào)整當(dāng)前碼流值變?。?br>[0017]最后,基于調(diào)整后的當(dāng)前碼流值對(duì)當(dāng)前幀圖像初始數(shù)據(jù)進(jìn)行編碼,得到當(dāng)前幀圖像編碼數(shù)據(jù),當(dāng)前幀圖像編碼數(shù)據(jù)存儲(chǔ)于指定內(nèi)存中等待發(fā)送。
[0018]由此可見,針對(duì)第二種方法,在帶寬變化時(shí)只調(diào)整碼流,而沒有調(diào)整幀率,當(dāng)碼流調(diào)整到很小而幀率很高時(shí),畫面質(zhì)量會(huì)變得非常差,而且?guī)捄艿蜁r(shí),高幀率其實(shí)沒有多大意義。
[0019]并且,對(duì)于現(xiàn)有技術(shù)下的第一種方法和第二種方法,還都存在以下兩個(gè)問題:
[0020]1、在帶寬穩(wěn)定,但是小于編碼配置的碼流大小時(shí),會(huì)周期性的圍繞當(dāng)前帶寬上下調(diào)整碼流,而碼流每次調(diào)整到高于帶寬,勢(shì)必引起視頻延遲或慢放,甚至觸發(fā)丟幀;
[0021]2、當(dāng)同時(shí)打開一個(gè)監(jiān)控設(shè)備的多個(gè)通道,并且網(wǎng)絡(luò)帶寬小于所有通道的碼流和時(shí),會(huì)觸發(fā)多個(gè)通道下調(diào)碼流。當(dāng)帶寬升高,大于下調(diào)后所有通道的碼流和時(shí),又會(huì)有部分通道上調(diào)碼流。但是,如果所有通道的碼流都獨(dú)立調(diào)整,就有可能出現(xiàn)個(gè)別通道碼流很大而另外的通道碼流很小的情況。
[0022]基于以上的分析,現(xiàn)有網(wǎng)絡(luò)自適應(yīng)的編碼調(diào)整機(jī)制方法存在調(diào)整編碼配置效果差、不能充分利用網(wǎng)絡(luò)資源等缺陷。

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

[0023]本發(fā)明的目的是提供一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整方法及裝置,以解決現(xiàn)有技術(shù)中存在調(diào)整編碼配置效果差、不能充分利用網(wǎng)絡(luò)資源的問題。
[0024]本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的:
[0025]一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整方法,包括:
[0026]終端獲取一個(gè)媒體幀,并將上述媒體幀放入緩沖隊(duì)列,確定上述緩沖隊(duì)列中的媒體幀的總數(shù)目和上一次計(jì)算帶寬到當(dāng)前時(shí)間之間發(fā)送的媒體幀的總長(zhǎng)度,以及根據(jù)上述總數(shù)目和上述總長(zhǎng)度,計(jì)算當(dāng)前帶寬和當(dāng)前網(wǎng)絡(luò)擁塞等級(jí);
[0027]終端根據(jù)上述當(dāng)前網(wǎng)絡(luò)擁塞等級(jí),判斷碼流調(diào)整類型,若上述碼流調(diào)整類型為上調(diào),則基于當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算上調(diào)后的第二編碼配置參數(shù);若上述碼流調(diào)整類型為下調(diào),則基于當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算下調(diào)后的第三編碼配置參數(shù);
[0028]終端基于上述第二編碼配置參數(shù)或上述第三編碼配置參數(shù),進(jìn)行編碼配置調(diào)整。
[0029]本發(fā)明實(shí)施例中,終端獲取一個(gè)媒體幀,并將上述媒體幀放入緩沖隊(duì)列,確定上述緩沖隊(duì)列中的媒體幀的總數(shù)目和上一次計(jì)算帶寬到當(dāng)前時(shí)間之間發(fā)送的媒體幀的總長(zhǎng)度,以及根據(jù)上述總數(shù)目和上述總長(zhǎng)度,計(jì)算當(dāng)前帶寬和當(dāng)前網(wǎng)絡(luò)擁塞等級(jí);根據(jù)當(dāng)前的帶寬和網(wǎng)絡(luò)擁塞等級(jí),判斷碼流調(diào)整類型,并計(jì)算編碼調(diào)整參數(shù),其中不僅需要計(jì)算調(diào)整的碼流值,還需要計(jì)算調(diào)整的幀頻值,這樣,在下調(diào)碼流時(shí),也相應(yīng)降低幀頻,因?yàn)樵诖a流比較低時(shí),過高的幀率已經(jīng)沒有多大意義,而按比率調(diào)低幀頻,可以有效減少降碼流引起的畫質(zhì)變差問題,并且在碼流調(diào)整類型為下調(diào)時(shí),是基于當(dāng)前帶寬,計(jì)算需要下調(diào)的碼流值的,因此在保證了流程性的同時(shí),盡可能達(dá)到最大的帶寬利用率;最后,終端基于計(jì)算的編碼調(diào)整參數(shù)進(jìn)行編碼配置調(diào)整。這樣,自適應(yīng)帶寬調(diào)整編碼配置,減少了無效媒體幀的發(fā)送,提高了流暢性。
[0030]并且,本發(fā)明實(shí)施例,在碼流調(diào)整類型為下調(diào)時(shí),對(duì)碼流上調(diào)周期閾值進(jìn)行調(diào)整,可以有效減少調(diào)整波動(dòng);在碼流調(diào)整類型為上調(diào)時(shí),計(jì)算屬于同一終端組的各個(gè)通道的調(diào)整深度,保證多通道調(diào)整的均衡性;當(dāng)獲取的媒體幀的總數(shù)目到達(dá)一定閾值時(shí),會(huì)進(jìn)行丟幀,但是根據(jù)優(yōu)先級(jí)進(jìn)行丟幀,這樣盡量減少關(guān)鍵幀的丟失。
[0031]較佳的,終端獲取一個(gè)媒體幀,并將上述媒體幀放入緩沖隊(duì)列后,在計(jì)算當(dāng)前帶寬和計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞等級(jí)之前,進(jìn)一步包括:
[0032]判斷上述媒體幀是否為關(guān)鍵幀,以及在確定為關(guān)鍵幀時(shí),確定計(jì)算當(dāng)前帶寬和計(jì)算當(dāng)前網(wǎng)絡(luò)擁塞等級(jí)。
[0033]較佳的,若所述碼流調(diào)整類型為上調(diào),則基于當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算上調(diào)后的第二編碼配置參數(shù),具體包括:
[0034]基于當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算第二碼流值以及計(jì)算第二幀頻值;
[0035]將所述第二碼流值和所述第二幀頻值,作為第二編碼配置參數(shù);
[0036]若所述碼流調(diào)整類型為下調(diào),則基于當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算下調(diào)后的第三編碼配置參數(shù),具體包括:
[0037]基于當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算第三碼流值以及計(jì)算第三幀頻值;
[0038]將所述第三碼流值和所述第三幀頻值,作為第三編碼配置參數(shù)。
[0039]較佳的,基于當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算第二碼流值以及計(jì)算第二幀頻值,具體包括:
[0040]確定當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,所述第一編碼配置參數(shù)包括當(dāng)前使用的第一碼流值、第一幀頻值、碼流初始值和幀頻初始值;
[0041]計(jì)算所述當(dāng)前使用的第一碼流值與所述預(yù)設(shè)的調(diào)整因子與1的和的乘積;
[0042]取計(jì)算的所述當(dāng)前使用的第一碼流值與所述預(yù)設(shè)的調(diào)整因子與1的和的乘積和所述碼流初始值的最小值,作為第二碼流值;
[0043]計(jì)算所述第二碼流值與所述碼流初始值的比值;
[0044]計(jì)算所述比值與所述幀頻初始值的乘積;
[0045]取計(jì)算的所述比值與所述幀頻初始值的乘積和所述幀頻初始值的最小值,作為第二幀頻值;
[0046]基于當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算第三碼流值以及計(jì)算第三幀頻值,具體包括:
[0047]確定當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,所述第一編碼配置參數(shù)包括碼流可調(diào)最小值、碼流初始值、幀頻初始值和的幀頻可調(diào)最小值;
[0048]計(jì)算所述當(dāng)前帶寬與所述預(yù)設(shè)的調(diào)整因子與1的差的乘積;
[0049]取計(jì)算的所述當(dāng)前帶寬與所述預(yù)設(shè)的調(diào)整因子與1的差的乘積和所述碼流可調(diào)最小值的最大值,作為第三碼流值;
[0050]計(jì)算所述第三碼流值與所述碼流初始值的比值;
[0051]計(jì)算所述比值與所述幀頻初始值的乘積;
[0052]取計(jì)算的所述比值與所述幀頻初始值的乘積和所述幀頻可調(diào)最小值的最大值,作為第三幀頻值。
[0053]較佳的,終端確定上述碼流調(diào)整類型為上調(diào)之后,在計(jì)算上述第二編碼配置參數(shù)之前,進(jìn)一步包括:
[0054]終端判斷是否到達(dá)碼流上調(diào)周期閾值,確定到達(dá)上述碼流上調(diào)周期閾值時(shí),進(jìn)一步計(jì)算上述終端所在終端組中每一個(gè)終端的通道調(diào)整深度,以及根據(jù)計(jì)算結(jié)果確定上述終端對(duì)應(yīng)的通道調(diào)整深度為最大值時(shí),確定計(jì)算所述第二編碼配置參數(shù)。
[0055]較佳的,計(jì)算上述終端的通道調(diào)整深度時(shí),具體包括:
[0056]根據(jù)當(dāng)前使用的碼流值和碼流初始值,計(jì)算上述終端的通道調(diào)整深度。
[0057]較佳的,終端確定上述碼流調(diào)整類型為下調(diào)之后,在計(jì)算上述第三碼流配置參數(shù)之前,進(jìn)一步包括:
[0058]根據(jù)上述當(dāng)前帶寬和上一次計(jì)算的帶寬,判斷上述當(dāng)前帶寬和上一次計(jì)算的帶寬之間的比值是否歸屬于預(yù)設(shè)區(qū)間,若是,則增加碼流上調(diào)周期閾值,否則,復(fù)位碼流上調(diào)周期閾值為初始值。
[0059]較佳的,按照設(shè)定周期判斷當(dāng)前緩沖隊(duì)列中的媒體幀的總數(shù)目是否達(dá)到預(yù)設(shè)上限,確定達(dá)到預(yù)設(shè)上限時(shí),計(jì)算媒體幀的待丟棄數(shù)目,并確定對(duì)應(yīng)各個(gè)媒體幀預(yù)設(shè)的丟棄優(yōu)先級(jí),以及按照丟棄優(yōu)先級(jí)從高到低的順序,丟棄符合上述待丟棄數(shù)目的媒體幀。
[0060]一種網(wǎng)絡(luò)自適應(yīng)編碼調(diào)整裝置,具體包括:
[0061]確定單元,用于獲取一個(gè)媒體幀,并將上述媒體幀放入緩沖隊(duì)列,確定上述緩沖隊(duì)列中的媒體幀的總數(shù)目和上一次計(jì)算帶寬到當(dāng)前時(shí)間之間發(fā)送的媒體幀的總長(zhǎng)度,以及根據(jù)上述總數(shù)目和上述總長(zhǎng)度,計(jì)算當(dāng)前帶寬和當(dāng)前網(wǎng)絡(luò)擁塞等級(jí);
[0062]計(jì)算單元,用于根據(jù)上述當(dāng)前網(wǎng)絡(luò)擁塞等級(jí),判斷碼流調(diào)整類型,若上述碼流調(diào)整類型為上調(diào),則基于當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算上調(diào)后的第二編碼配置參數(shù);若上述碼流調(diào)整類型為下調(diào),則基于當(dāng)前帶寬、當(dāng)前使用的第一編碼配置參數(shù)和預(yù)設(shè)的調(diào)整因子,計(jì)算下調(diào)后的第三編碼配置參數(shù);
[0063]調(diào)整單元,用于基于上述第二編碼配置參數(shù)或上述第三編碼配置參數(shù),進(jìn)行編碼配置調(diào)整。
[0064]本發(fā)明實(shí)施例中,終端獲取一個(gè)媒體幀,并將上述媒體幀放入緩沖隊(duì)列,確定上述緩沖隊(duì)列中的媒體幀的總數(shù)目和上一次計(jì)算帶寬到當(dāng)前時(shí)間之間發(fā)送的媒體幀的總長(zhǎng)度,以及根據(jù)上述總數(shù)目和上述總長(zhǎng)度,計(jì)算當(dāng)前帶寬和當(dāng)前網(wǎng)絡(luò)擁塞等級(jí);根據(jù)當(dāng)前的帶寬和網(wǎng)絡(luò)擁塞等級(jí),判斷碼流調(diào)整類型,并計(jì)算編碼調(diào)整參數(shù),其中不僅需要計(jì)算調(diào)整的碼流值,還需要計(jì)算調(diào)整的幀頻值,這樣,在下調(diào)碼流時(shí),也相應(yīng)降低幀頻,因?yàn)樵诖a流比較低時(shí)
當(dāng)前第1頁1 2 3 4 5 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1