本發(fā)明涉及圖像處理
技術(shù)領(lǐng)域:
,具體涉及一種視頻編碼碼率控制方法、裝置及系統(tǒng)。
背景技術(shù):
:隨著視頻圖像處理技術(shù)的發(fā)展,基于網(wǎng)絡(luò)通信技術(shù)的視頻應(yīng)用,例如視頻監(jiān)控、視頻會(huì)議、視頻教育培訓(xùn)、視頻直播,已經(jīng)成為人們學(xué)習(xí)、工作、生活?yuàn)蕵?lè)中的一部分。視頻圖像格式數(shù)字化、高清化,全面提升了視頻圖像的清晰度,帶來(lái)更好的用戶體驗(yàn)。經(jīng)過(guò)多年發(fā)展,視頻圖像格式已從垂直分辨率576的標(biāo)清格式過(guò)渡到1080的全高清格式,目前,視頻圖像格式又開(kāi)始向5M,8M甚至12M分辨率的超高清格式演進(jìn)。網(wǎng)絡(luò)基礎(chǔ)設(shè)施的更新建設(shè)受限于前期投資回收情況、后期投資預(yù)算規(guī)模及整體網(wǎng)絡(luò)應(yīng)用需要。目前網(wǎng)絡(luò)基礎(chǔ)設(shè)施的帶寬升級(jí)速度遠(yuǎn)低于視頻圖像格式高清化、超高清化的發(fā)展速度。在有限的網(wǎng)絡(luò)傳輸帶寬條件下如何實(shí)現(xiàn)更高分辨率的視頻流傳輸,一直是本領(lǐng)域的研究人員致力解決的技術(shù)問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明的目的在于提供一種既能有效降低視頻流編碼碼率又能保證視頻圖像質(zhì)量的視頻編碼碼率控制方法、裝置及系統(tǒng),以利于通過(guò)現(xiàn)有網(wǎng)絡(luò)帶寬滿足高分辨率視頻圖像應(yīng)用的需要。為了實(shí)現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:第一方面,本發(fā)明提供了一種視頻編碼碼率控制方法,該方法以GOP為編碼結(jié)構(gòu)單位對(duì)視頻幀序列進(jìn)行順次壓縮編碼,GOP包括起始位置的關(guān)鍵幀和關(guān)鍵幀后面的預(yù)測(cè)幀;該方法包括:預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量;在運(yùn)動(dòng)矢量坐標(biāo)系下,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域;結(jié)合預(yù)設(shè)的關(guān)鍵幀QP初始值、預(yù)設(shè)的預(yù)測(cè)幀QP初始值、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值,及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值;通過(guò)對(duì)宏塊內(nèi)的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表;采用當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行壓縮編碼。第二方面,本發(fā)明還提供了一種視頻編碼碼率控制裝置,該裝置以GOP為編碼結(jié)構(gòu)單位對(duì)視頻幀序列進(jìn)行順次壓縮編碼,GOP包括起始位置的關(guān)鍵幀和關(guān)鍵幀后面的預(yù)測(cè)幀;該裝置包括:運(yùn)動(dòng)檢測(cè)單元,用于預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量;像素點(diǎn)的QP預(yù)測(cè)值獲取單元,用于在運(yùn)動(dòng)矢量坐標(biāo)系下,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域;結(jié)合預(yù)設(shè)的關(guān)鍵幀QP初始值、預(yù)設(shè)的預(yù)測(cè)幀QP初始值、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值,及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值;QPMAP配置表獲取單元,用于通過(guò)對(duì)宏塊內(nèi)的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表;預(yù)測(cè)幀壓縮編碼單元,用于采用當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行壓縮編碼。第三方面,本發(fā)明還提供了一種視頻編碼碼率控制系統(tǒng),該系統(tǒng)包括總線、存儲(chǔ)器、存儲(chǔ)控制器、處理器,與處理器相配合的視頻編碼器,存儲(chǔ)器、存儲(chǔ)控制器、處理器通過(guò)總線連接,處理器通過(guò)存儲(chǔ)控制器控制存儲(chǔ)器;該系統(tǒng)還包括視頻編碼碼率控制裝置,視頻編碼碼率控制裝置與視頻編碼器相關(guān)聯(lián);視頻編碼碼率控制裝置安裝于存儲(chǔ)器中并包括一個(gè)或多個(gè)由處理器執(zhí)行的軟件功能模塊。本發(fā)明提供的視頻編碼碼率控制方法、裝置及系統(tǒng),在預(yù)測(cè)幀編碼時(shí),基于預(yù)設(shè)運(yùn)動(dòng)矢量閾值將視頻幀圖像區(qū)域分成運(yùn)動(dòng)矢量大于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域,及運(yùn)動(dòng)矢量小于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的普通編碼區(qū)域。預(yù)測(cè)幀編碼時(shí),普通編碼區(qū)域,采用能保證解碼后的視頻圖像播放時(shí)具有良好流暢性的最小有效編碼碼率范圍所對(duì)應(yīng)的預(yù)設(shè)的預(yù)測(cè)幀QP初始值,控制該區(qū)域編碼的量化精度;編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域,采用最小有效編碼碼率范圍所對(duì)應(yīng)的預(yù)設(shè)的預(yù)測(cè)幀QP初始值基于像素點(diǎn)的運(yùn)動(dòng)矢量調(diào)整后的預(yù)測(cè)幀QP值,控制該區(qū)域編碼的量化精度。無(wú)論是普通編碼區(qū)域,還是編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域均是以最小有效編碼碼率范圍為基礎(chǔ)進(jìn)行編碼,因此,預(yù)測(cè)幀的編碼碼率可控制在較低的水平,同時(shí)該較低編碼碼率又能保證解碼后的視頻圖像播放時(shí)具有良好流暢性及較好的視頻圖像畫面質(zhì)量。由于僅僅對(duì)編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的QP值進(jìn)行調(diào)整,因此能有效縮短當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值計(jì)算的時(shí)間周期,提高預(yù)測(cè)幀編碼碼率控制的實(shí)用性和可行性。與現(xiàn)有技術(shù)的矩形塊狀分區(qū)方法相比,本發(fā)明涉及的區(qū)域劃分方法沒(méi)有明顯的區(qū)域界線,分成的普通編碼區(qū)域和編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域相互咬合,基于編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的運(yùn)動(dòng)矢量得到的前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值更能反映前預(yù)測(cè)幀像素點(diǎn)的編碼時(shí)的量化需要,得到預(yù)測(cè)幀殘差系數(shù)在分布上更合理,沒(méi)有局部呈塊狀聚集的特點(diǎn)。為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說(shuō)明如下。附圖說(shuō)明圖1示出了本發(fā)明實(shí)施例應(yīng)用環(huán)境的結(jié)構(gòu)示意圖。圖2示出了針對(duì)目標(biāo)場(chǎng)景相對(duì)固定的情況下獲得的視頻幀序列進(jìn)行編碼本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制方法的流程圖。圖3示出了一個(gè)時(shí)間周期內(nèi)視頻監(jiān)控目標(biāo)場(chǎng)景運(yùn)動(dòng)量與時(shí)間的關(guān)系曲線。圖4示出了針對(duì)視頻監(jiān)控系統(tǒng)的前端攝像裝置獲得的視頻幀序列進(jìn)行編碼本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制方法的流程圖。圖5示出了IPPP編碼結(jié)構(gòu)下調(diào)整后的GOP畫面組的編碼方式。圖6示出了監(jiān)控視頻幀圖像中循環(huán)類運(yùn)動(dòng)區(qū)域和邊界觸碰類運(yùn)動(dòng)區(qū)域的分布示意圖。圖7示出了本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制系統(tǒng)的結(jié)構(gòu)示意圖。圖8示出了視頻編碼碼率控制裝置的結(jié)構(gòu)示意圖。圖9示出了視頻編碼碼率控制裝置的待編碼視頻幀GOP調(diào)整單元的結(jié)構(gòu)示意圖。圖10示出了視頻編碼碼率控制裝置的待編碼視頻幀輸入幀率獲取單元的結(jié)構(gòu)示意圖。圖11示出了視頻編碼碼率控制裝置的預(yù)測(cè)幀編碼單元的結(jié)構(gòu)示意圖。圖12示出了預(yù)測(cè)幀編碼單元的像素點(diǎn)的QP預(yù)測(cè)值獲取單元的結(jié)構(gòu)示意圖。圖13示出了預(yù)測(cè)幀編碼單元的像素點(diǎn)的QPMAP配置表獲取單元的結(jié)構(gòu)示意圖。其中,附圖標(biāo)記與部件名稱之間的對(duì)應(yīng)關(guān)系如下:處理器100,視頻編碼器200,存儲(chǔ)器300,存儲(chǔ)控制器400,視頻編碼碼率控制裝置500,QP初始值設(shè)置單元510,待編碼視頻幀GOP調(diào)整單元520,待編碼視頻幀GOP長(zhǎng)度計(jì)算單元521,GOP參考幀調(diào)整單元522,編碼視頻幀輸入幀率獲取單元530,時(shí)間區(qū)段獲取單元531,待編碼視頻幀輸入幀率確定單元532,關(guān)鍵幀編碼單元540,預(yù)測(cè)幀編碼單元550,運(yùn)動(dòng)檢測(cè)單元551,像素點(diǎn)的QP預(yù)測(cè)值獲取單元552,編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域獲取單元5521,當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值計(jì)算單元5522,QPMAP配置表獲取單元553,宏塊的編碼QP值計(jì)算單元5531,宏塊的編碼QP值調(diào)整單元5532,QPMAP配置表生成單元5533,當(dāng)前預(yù)測(cè)幀時(shí)間區(qū)段處理單元554,循環(huán)類運(yùn)動(dòng)區(qū)域處理單元555,預(yù)測(cè)幀壓縮編碼單元556,接口電路600,輸入輸出單元700,循環(huán)類運(yùn)動(dòng)區(qū)域800,邊界觸碰類運(yùn)動(dòng)區(qū)域900。具體實(shí)施方式視頻幀序列,以GOP為編碼結(jié)構(gòu)單位進(jìn)行編碼。每個(gè)GOP編碼結(jié)構(gòu)單位包括關(guān)鍵幀和預(yù)測(cè)幀,視頻編碼時(shí),關(guān)鍵幀采用全幀壓縮編碼,預(yù)測(cè)幀基于參考幀進(jìn)行幀間差值壓縮編碼。術(shù)語(yǔ)“GOP”,英文全稱GroupofPictures,中文譯名為畫面組,其包括一起始的關(guān)鍵幀和關(guān)鍵幀后面的至少一幀預(yù)測(cè)幀。在GOP中關(guān)鍵幀為I幀,預(yù)測(cè)幀為B幀、P幀中的至少一種。GOPSize,GOP長(zhǎng)度,是指GOP所包含的視頻幀的幀數(shù)。GOPSize可以用來(lái)表征視頻幀序列中多少視頻幀里面出現(xiàn)一次關(guān)鍵幀。術(shù)語(yǔ)“關(guān)鍵幀”,是指視頻幀序列中表示關(guān)鍵狀態(tài)的幀,其是GOP中的起始幀。關(guān)鍵幀是幀內(nèi)壓縮編碼幀,解碼時(shí)僅用本幀的編碼數(shù)據(jù)就可重構(gòu)完整視頻圖像。從理論上講,預(yù)定長(zhǎng)度的視頻幀序列中的關(guān)鍵幀數(shù)量越多,解碼后的視頻圖像質(zhì)量越好,但視頻編碼碼率會(huì)越大。術(shù)語(yǔ)“預(yù)測(cè)幀”,是基于參考幀來(lái)壓縮本幀數(shù)據(jù)的編碼幀。本幀數(shù)據(jù)編碼時(shí),只記錄本幀與參考幀之間的差值數(shù)據(jù),解碼時(shí),在參考幀的基礎(chǔ)上疊加本幀與參考幀之間的差值數(shù)據(jù)獲得完整的本幀視頻圖像。參考幀,可以是本幀的前一幀,也可以將本幀的前一幀和后一幀同時(shí)作為參考幀。在GOP編碼結(jié)構(gòu)中,關(guān)鍵幀是預(yù)測(cè)幀編解碼過(guò)程中最重要的參考幀。術(shù)語(yǔ)“I幀”,為GOP編碼結(jié)構(gòu)中的關(guān)鍵幀,其采用全幀壓縮編碼,視頻幀序列中的I幀數(shù)量直接關(guān)系到GOPSize的大小。術(shù)語(yǔ)“P幀”,為前向預(yù)測(cè)編碼幀,其采用本幀的前一I幀或P幀作為參考幀,編碼時(shí),只記錄本幀與參考幀之間的差值數(shù)據(jù),解碼時(shí),在參考幀的基礎(chǔ)上疊加本幀與參考幀之間的差值數(shù)據(jù)獲得完整的P幀視頻圖像。術(shù)語(yǔ)“B幀”,為雙向預(yù)測(cè)編碼幀,其采用本幀的前一幀和后一幀作為參考幀,編碼時(shí),只記錄本幀與參考幀之間的差值數(shù)據(jù),解碼時(shí),在前一幀和后一幀的基礎(chǔ)上疊加本幀與前一幀和后一幀的差值數(shù)據(jù)獲得完整的B幀視頻圖像。視頻幀序列壓縮編碼的過(guò)程是視頻幀量化采樣的過(guò)程,其中量化參數(shù)QP及與其對(duì)應(yīng)的量化步長(zhǎng)是反映視頻幀量化采樣精度的兩個(gè)重要參數(shù)。術(shù)語(yǔ)“量化參數(shù)”(QuantizationParameter,QP),是量化步長(zhǎng)Qstep的序號(hào),其取值范圍為0~51,量化參數(shù)取最小值0時(shí),表示量化最精細(xì),量化參數(shù)取最大值51時(shí),表示量化是最粗糙,量化參數(shù)取越小,編碼后解碼獲得的視頻圖像的質(zhì)量越好,但編碼碼率越高。對(duì)于亮度編碼,量化參數(shù)的最大值為51,對(duì)于色度編碼,量化參數(shù)的最大值為39。量化步長(zhǎng)隨著量化參數(shù)的增加而增加,量化參數(shù)每增加6,量化步長(zhǎng)增加一倍。現(xiàn)有視頻編碼方法,主要采用動(dòng)態(tài)碼率(VariableBitRate,VBR)控制方法來(lái)控制視頻流的編碼碼率。動(dòng)態(tài)碼率控制方法,是基于上一視頻幀的碼率調(diào)節(jié)當(dāng)前預(yù)測(cè)幀的量化參數(shù),通過(guò)量化參數(shù)值的變化控制當(dāng)前預(yù)測(cè)幀生成的殘差系數(shù)大小,降低后續(xù)熵編碼的碼率。相較于現(xiàn)有的固定碼率(ConstantBitRate,CBR)控制方法,現(xiàn)有的動(dòng)態(tài)碼率控制方法能在降低視頻編碼碼率的同時(shí)提高運(yùn)動(dòng)視頻幀圖像的畫面質(zhì)量。現(xiàn)有的動(dòng)態(tài)碼率控制方法,在處理標(biāo)清格式或高清格式的視頻幀序列編碼方面,能做到既保證解碼后的視頻圖像具有較高質(zhì)量,又能降低視頻編碼碼率。但在處理全高清格式或者5M,8M甚至12M分辨率的超高清格式時(shí),現(xiàn)有的動(dòng)態(tài)碼率控制方法,很難做到既保證解碼后的視頻圖像具有較高質(zhì)量,又降低視頻編碼碼率,以便能通過(guò)現(xiàn)有傳輸網(wǎng)絡(luò)傳送編碼后的視頻流數(shù)據(jù)。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),現(xiàn)有的動(dòng)態(tài)碼率控制方法,之所以處理全高清格式或者5M,8M甚至12M分辨率的超高清格式時(shí),無(wú)法做到既保證解碼后的視頻圖像具有較高質(zhì)量,又能降低視頻編碼碼率,并非由于1080以上分辨率的視頻幀無(wú)法實(shí)現(xiàn)通過(guò)較低的視頻編碼碼率獲得高還原質(zhì)量的視頻圖像,真實(shí)原因是,現(xiàn)有的動(dòng)態(tài)碼率控制方法在進(jìn)一步降低編碼碼率時(shí),會(huì)造成解碼后的視頻圖像整體畫面存在塊狀分層,過(guò)渡不自然的技術(shù)問(wèn)題。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),之所以解碼后的視頻圖像整體畫面存在塊狀分層,過(guò)渡不自然的技術(shù)問(wèn)題,并非由于基于上一視頻幀的碼率調(diào)節(jié)當(dāng)前預(yù)測(cè)幀的量化參數(shù)的方法,已經(jīng)無(wú)法滿足1080以上分辨率的視頻幀的編碼需要,真實(shí)原因是,現(xiàn)有的進(jìn)一步降低視頻編碼碼率的方法,是基于矩形分界對(duì)待編碼的當(dāng)前預(yù)測(cè)幀中的運(yùn)動(dòng)物體區(qū)域進(jìn)行細(xì)分,基于矩形分界細(xì)分運(yùn)動(dòng)物體區(qū)域并進(jìn)行量化參數(shù)控制,勢(shì)必造成碼流中的殘差系數(shù)呈塊狀分布,解碼還原出來(lái)的視頻圖像必然存在塊狀分層,過(guò)渡不自然的技術(shù)問(wèn)題。從理論上講,如果用于預(yù)測(cè)幀編碼的殘差系數(shù)與預(yù)測(cè)幀的圖像區(qū)域能對(duì)應(yīng),編碼后解碼還原出來(lái)的視頻圖像就能具有較高的畫面質(zhì)量。發(fā)明人基于上述認(rèn)識(shí),提供一種視頻編碼碼率控制方法、裝置及系統(tǒng)。該方法、裝置及系統(tǒng),預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及像素點(diǎn)的運(yùn)動(dòng)矢量;對(duì)當(dāng)前預(yù)測(cè)幀的前一幀進(jìn)行運(yùn)動(dòng)矢量分析,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域,及該區(qū)域的的像素點(diǎn)QP調(diào)整值,計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值,及得到每個(gè)宏塊的編碼QP預(yù)測(cè)值,生成用于當(dāng)前預(yù)測(cè)幀壓縮編碼處理的當(dāng)前預(yù)測(cè)幀QPMAP配置表。圖1示出了本發(fā)明實(shí)施例應(yīng)用環(huán)境的結(jié)構(gòu)示意圖。本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制方法、裝置可應(yīng)用于該應(yīng)用環(huán)境,本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制系統(tǒng)可以是該應(yīng)用環(huán)境,也可以是包含該應(yīng)用環(huán)境的系統(tǒng)。請(qǐng)參閱圖1,該應(yīng)用環(huán)境為視頻編碼裝置或系統(tǒng)。該視頻編碼裝置或系統(tǒng)包括視頻編碼器200,及與視頻編碼器200相配合的處理器100。于本發(fā)明實(shí)施例中,視頻編碼器200,用于對(duì)視頻幀序列進(jìn)行壓縮編碼形成視頻流數(shù)據(jù)。視頻編碼器200可以是視頻編碼芯片、視頻編碼硬件裝置、視頻編碼軟件模塊中的一種。就實(shí)現(xiàn)形式而言,視頻編碼器200既可以是單獨(dú)的芯片、裝置、軟件模塊,也可以是和視頻解碼器集成在一起的芯片、裝置、軟件模塊。于本發(fā)明實(shí)施例中,處理器100,為具有信號(hào)處理能力的集成電路芯片。其通過(guò)自身?yè)碛械募蛇壿嬰娐坊蛘哕浖问降闹噶顏?lái)同視頻編碼器200配合,完成視頻幀的壓縮編碼。就集成電路芯片的類型而言,處理器100可以是中央處理器(CentralProcessingUnit,簡(jiǎn)稱CPU),也可以是數(shù)字信號(hào)處理器(DigitalSingnalProcessor,DSP)、現(xiàn)場(chǎng)可編程門陣列(FieldProgrammableGateArray,F(xiàn)PGA)、專用集成電路(ASIC),還可以是其他可編程邏輯器件,例如CPLD;就處理器100所能應(yīng)用到的設(shè)備而言。處理器100,可以是計(jì)算機(jī)系統(tǒng)的處理器,也可以是嵌入式裝置的處理器,還可以是前端視頻攝像裝置的處理器。于本發(fā)明實(shí)施例中,視頻編碼裝置,可以是前端攝像裝置,也可以是嵌入式硬盤錄像機(jī)(DigitalVideoRecorder,DVR),當(dāng)然還可以是前端攝像裝置或者嵌入式硬盤錄像機(jī)中涉及視頻編碼的硬件電路結(jié)構(gòu)。上述前端攝像裝置,為錄制現(xiàn)場(chǎng)視頻圖像的裝置,其可以是監(jiān)控?cái)z像機(jī)、網(wǎng)絡(luò)攝像頭、民用級(jí)攝像機(jī)、專業(yè)級(jí)攝像機(jī)中的一種。于本發(fā)明實(shí)施例中,視頻編碼系統(tǒng),可以是能對(duì)視頻模擬信號(hào)進(jìn)行采樣和壓縮編碼處理的系統(tǒng)。該系統(tǒng)可以是PC式硬盤錄像機(jī)、具有視頻采集卡的計(jì)算機(jī)設(shè)備中的一種,也可以是PC式硬盤錄像機(jī)或具有視頻采集卡的計(jì)算機(jī)設(shè)備中涉及視頻編碼的硬件部分與軟件模塊的結(jié)合體。于本發(fā)明實(shí)施例中,視頻編碼系統(tǒng),還可以是能對(duì)視頻流數(shù)據(jù)進(jìn)行解碼再進(jìn)行編碼的計(jì)算機(jī)設(shè)備,例如視頻服務(wù)器、網(wǎng)絡(luò)視頻錄像機(jī)(NetworkVideoRecord,NVR)、圖形工作站、PC機(jī)、筆記本電腦中的一種。當(dāng)應(yīng)用環(huán)境為視頻編碼系統(tǒng)時(shí),視頻編碼器200可以內(nèi)置于視頻編碼系統(tǒng),也可以外置于視頻編碼系統(tǒng),于本發(fā)明實(shí)施例中,不對(duì)視頻編碼系統(tǒng)的設(shè)置方式作具體限定。于本發(fā)明實(shí)施例中,圖1所示的本發(fā)明實(shí)施例應(yīng)用環(huán)境,可用于對(duì)現(xiàn)場(chǎng)視頻錄像獲得的視頻幀序列進(jìn)行壓縮編碼處理,也可用于對(duì)視頻影像資料進(jìn)行數(shù)字化編碼處理,還可以用于對(duì)編碼后的視頻數(shù)據(jù)文件先解碼再編碼成新的碼流的視頻流數(shù)據(jù)或者視頻數(shù)據(jù)文件。當(dāng)然本發(fā)明實(shí)施例提供的視頻編碼碼率控制方法、裝置實(shí)施時(shí),該應(yīng)用環(huán)境還可包括存儲(chǔ)器、存儲(chǔ)控制器、接口電路、輸入輸出單元,其中,處理器100、存儲(chǔ)器、存儲(chǔ)控制器、接口電路通過(guò)總線連接,視頻編碼器200與處理器100相配合。下面將結(jié)合實(shí)際應(yīng)用,參照本發(fā)明實(shí)施例附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例,僅僅是本發(fā)明實(shí)施例的一部分,而不是全部。第一實(shí)施例所述第一實(shí)施例以目標(biāo)場(chǎng)景相對(duì)固定的情況下,前端攝像裝置捕獲的視頻幀序列編碼為例,對(duì)本發(fā)明的視頻編碼碼率控制方法進(jìn)行說(shuō)明。目標(biāo)場(chǎng)景相對(duì)固定,是指攝像過(guò)程中,前端攝像裝置在確定的攝像機(jī)位,以較少變化的視角進(jìn)行現(xiàn)場(chǎng)攝像。其中,前端攝像裝置在確定的攝像機(jī)位,是指攝像過(guò)程中,前端攝像裝置被設(shè)置在預(yù)定的位置,即使前端攝像裝置的設(shè)置發(fā)生調(diào)整,調(diào)整后前端攝像裝置的設(shè)置位置保持較長(zhǎng)時(shí)間不變。以較少變化的視角進(jìn)行現(xiàn)場(chǎng)攝像,是指前端攝像裝置視角內(nèi)的目標(biāo)場(chǎng)景在較長(zhǎng)一段時(shí)間內(nèi),例如10分鐘,保持固定,即使視角發(fā)生調(diào)整,調(diào)整后,前端攝像裝置視角內(nèi)的目標(biāo)場(chǎng)景也在較長(zhǎng)一段時(shí)間內(nèi)保持固定。在目標(biāo)場(chǎng)景相對(duì)固定的情況下,所獲得的視頻幀畫面中,保持不動(dòng)的背景區(qū)域占據(jù)較大的畫面區(qū)域,可通過(guò)運(yùn)動(dòng)檢測(cè)將運(yùn)動(dòng)物體區(qū)域和背景區(qū)域分離。同時(shí),一個(gè)時(shí)間周期內(nèi),目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體的種類保持相對(duì)的穩(wěn)定,例如目標(biāo)場(chǎng)景為樓宇監(jiān)控的目標(biāo)場(chǎng)景時(shí),目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體主要是行人和進(jìn)出車輛;目標(biāo)場(chǎng)景為交通道路時(shí),目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體主要車輛。在日常工作、生活中,視頻監(jiān)控、視頻會(huì)議、視頻直播、視頻教育培訓(xùn)、視頻交互通信均屬于目標(biāo)場(chǎng)景相對(duì)固定的情況。實(shí)施上述視頻應(yīng)用通常需要具有網(wǎng)絡(luò)功能的前端攝像裝置,該前端攝像裝置將捕獲的視頻幀序列編碼成視頻流數(shù)據(jù),并通過(guò)有線或者無(wú)線網(wǎng)絡(luò)傳輸給相對(duì)方。其中視頻監(jiān)控對(duì)應(yīng)的前端攝像裝置是監(jiān)控?cái)z像機(jī),視頻會(huì)議對(duì)應(yīng)的前端攝像裝置是攝像頭,視頻直播對(duì)應(yīng)的前端攝像裝置是專業(yè)攝像機(jī)或者民用攝像機(jī),視頻交互通信對(duì)應(yīng)的前端攝像裝置可以是手機(jī)、平板電腦、具有即時(shí)通信工具的計(jì)算機(jī)設(shè)備中的一種。對(duì)目標(biāo)場(chǎng)景相對(duì)固定的情況下獲得的視頻幀序列,主要用于工業(yè)級(jí)應(yīng)用,例如視頻監(jiān)控,因此視頻編碼時(shí),既要考慮視頻編碼碼率與傳輸網(wǎng)路帶寬相適應(yīng),也要考慮解碼后還原出來(lái)的視頻圖像質(zhì)量具有較高質(zhì)量。圖2示出了對(duì)目標(biāo)場(chǎng)景相對(duì)固定的情況下獲得的視頻幀序列進(jìn)行編碼本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制方法的流程圖。該方法以GOP為編碼結(jié)構(gòu)單位對(duì)視頻幀序列進(jìn)行順次壓縮編碼,GOP包括起始位置的關(guān)鍵幀和關(guān)鍵幀后面的預(yù)測(cè)幀;參閱圖2所示,該方法包括:S110,預(yù)設(shè)GOP編碼結(jié)構(gòu)的關(guān)鍵幀QP初始值和預(yù)測(cè)幀QP初始值;在本發(fā)明第一實(shí)施例中,視頻編碼時(shí)所采用的GOP編碼結(jié)構(gòu),可以是視頻編碼
技術(shù)領(lǐng)域:
中的任意一種GOP編碼結(jié)構(gòu)。在本發(fā)明第一實(shí)施例中,GOP編碼結(jié)構(gòu)的關(guān)鍵幀QP初始值和預(yù)測(cè)幀QP初始值,是基于待編碼視頻幀序列的編碼質(zhì)量要求,及待編碼視頻幀中運(yùn)動(dòng)物體區(qū)域和背景區(qū)域的特點(diǎn)確定。在目標(biāo)場(chǎng)景相對(duì)固定的情況下,前端攝像裝置捕獲的視頻幀畫面中保持不動(dòng)的背景區(qū)域通常占據(jù)視頻幀畫面的較大部分,且基本確定,視頻幀畫面中的運(yùn)動(dòng)物體區(qū)域在時(shí)間域上具有規(guī)律性。因此,關(guān)鍵幀編碼時(shí),編碼QP值可以長(zhǎng)時(shí)間保持一致,如果預(yù)設(shè)的關(guān)鍵幀QP初始值比較合理,那么關(guān)鍵幀QP初始值可以作為編碼QP值。預(yù)測(cè)幀編碼時(shí),編碼QP值是以預(yù)設(shè)的預(yù)測(cè)幀QP初始值為基礎(chǔ)進(jìn)行動(dòng)態(tài)調(diào)整。編碼視頻幀序列中的關(guān)鍵幀數(shù)量、關(guān)鍵幀編碼碼率直接關(guān)系生成的視頻流的編碼碼率,同時(shí),關(guān)鍵幀在編碼和解碼時(shí)均作為重要參考幀,其對(duì)解碼后重構(gòu)得到的視頻圖像畫面質(zhì)量影響較大。在滿足人眼對(duì)解碼播放的視頻圖像畫質(zhì)視覺(jué)要求的情況下,為了有效降低關(guān)鍵幀的編碼碼率,優(yōu)選的方案是,預(yù)設(shè)的關(guān)鍵幀QP初始值為24、25、26中的一個(gè)。如果預(yù)設(shè)的關(guān)鍵幀QP初始值小于24,關(guān)鍵幀的編碼碼率會(huì)隨著關(guān)鍵幀QP初始值的減小而增大,但在解碼播放時(shí)人眼根本感覺(jué)不到視頻圖像畫質(zhì)的提高,如果預(yù)設(shè)的關(guān)鍵幀QP初始值大于26,關(guān)鍵幀的編碼碼率會(huì)隨著關(guān)鍵幀QP初始值的增大而減小,但在解碼播放時(shí)人眼會(huì)感覺(jué)到視頻圖像畫質(zhì)的變劣。編碼視頻幀序列中的預(yù)測(cè)幀,其編碼QP值不僅關(guān)系到編碼碼率的大小,還關(guān)系到解碼后的視頻幀序列播放的流暢度。在滿足人眼對(duì)解碼播放的視頻圖像畫面流暢度要求的情況下,為了有效降低預(yù)測(cè)幀的編碼碼率,優(yōu)選的方案是,預(yù)設(shè)的預(yù)測(cè)幀QP初始值為34、35、36中的一個(gè)。如果預(yù)設(shè)的預(yù)測(cè)幀QP初始值小于33,預(yù)測(cè)幀的編碼碼率會(huì)隨著預(yù)測(cè)幀QP初始值的減小而增大,但在解碼播放時(shí)人眼根本感覺(jué)不到視頻圖像畫面播放流暢度的提升,如果預(yù)設(shè)的預(yù)測(cè)幀QP初始值小于37,預(yù)測(cè)幀的編碼碼率會(huì)隨著預(yù)測(cè)幀QP初始值的增大而減小,但在解碼播放時(shí)人眼會(huì)感覺(jué)到視頻圖像畫面播放流暢度的下降。基于34、35、36中的一個(gè)作為預(yù)測(cè)幀QP初始值,既能縮小預(yù)測(cè)幀編碼QP值的調(diào)整范圍,也能在降低預(yù)測(cè)幀編碼碼率的同時(shí),保證解碼后的視頻圖像播放時(shí)具有良好的流暢性。在GOP編碼結(jié)構(gòu)下,關(guān)鍵幀為I幀,關(guān)鍵幀QP初始值為I幀QP初始值,預(yù)測(cè)幀可以是P幀,也可以是B幀,如果GOP編碼結(jié)構(gòu)中預(yù)測(cè)幀只有P幀,那么預(yù)測(cè)幀QP初始值為P幀QP初始值,如果GOP編碼結(jié)構(gòu)中預(yù)測(cè)幀只有B幀,那么預(yù)測(cè)幀QP初始值為B幀QP初始值,如果GOP編碼結(jié)構(gòu)中預(yù)測(cè)幀包括P幀和B幀,那么對(duì)應(yīng)的預(yù)測(cè)幀QP初始值包括P幀QP初始值和B幀QP初始值。S120,關(guān)鍵幀編碼時(shí),基于預(yù)設(shè)的關(guān)鍵幀QP初始值控制關(guān)鍵幀編碼碼率;在本發(fā)明第一實(shí)施例中,關(guān)鍵幀編碼時(shí),既可以直接采用基于關(guān)鍵幀QP初始值生成的關(guān)鍵幀QPMAP配置表對(duì)關(guān)鍵幀進(jìn)行壓縮編碼,也可以采用在關(guān)鍵幀QP初始值的基礎(chǔ)上基于幀內(nèi)預(yù)測(cè)得到每一個(gè)宏塊編碼QP值,生成基于幀內(nèi)預(yù)測(cè)調(diào)整后的關(guān)鍵幀QPMAP配置表,采用該關(guān)鍵幀QPMAP配置表對(duì)關(guān)鍵幀進(jìn)行壓縮編碼。在本發(fā)明第一實(shí)施例中,由于視頻幀畫面中的背景區(qū)域基本確定,且視頻幀畫面中的運(yùn)動(dòng)物體區(qū)域在時(shí)間域上具有規(guī)律性。因此,關(guān)鍵幀編碼時(shí),基于關(guān)鍵幀QP初始值控制關(guān)鍵幀編碼碼率的步驟,優(yōu)選的方案是,關(guān)鍵幀編碼時(shí),采用預(yù)設(shè)的關(guān)鍵幀QP初始值生成的關(guān)鍵幀QPMAP配置表對(duì)關(guān)鍵幀進(jìn)行壓縮編碼,其中,預(yù)設(shè)的關(guān)鍵幀QP初始值為24、25、26中的一個(gè)。采用上述關(guān)鍵幀編碼碼率控制方案,既能確保解碼后的視頻圖像具有良好的畫面質(zhì)量,也能有效降低關(guān)鍵幀編碼碼率,還能提高關(guān)鍵幀編碼效率。術(shù)語(yǔ)“宏塊”,為視頻編碼的基本單位,每個(gè)宏塊包括一個(gè)亮度像素塊和附加的兩個(gè)色度像素塊組成,通常亮度像素塊為16x16大小的像素塊,色度像素塊大小依據(jù)視頻幀的采樣格式而定。術(shù)語(yǔ)“QPMAP配置表”,視頻編碼時(shí),以宏塊為單位將視頻幀分割成多個(gè)行列布置的宏塊,每個(gè)宏塊都有自己的編碼QP值,基于宏塊在視頻幀中的行列位置及宏塊的編碼QP值就組成一個(gè)表,也即視頻幀的QPMAP配置表。視頻編碼時(shí),視頻幀被分成多個(gè)行列布置的宏塊,每個(gè)宏塊有對(duì)應(yīng)的編碼QP值,通過(guò)宏塊的編碼QP值生成視頻幀QPMAP配置表,基于視頻幀QPMAP配置表控制視頻幀編碼的量化精度。當(dāng)視頻幀為關(guān)鍵幀時(shí),視頻幀QPMAP配置表為關(guān)鍵幀QPMAP配置表,當(dāng)視頻幀為預(yù)測(cè)幀時(shí),視頻幀QPMAP配置表為預(yù)測(cè)幀QPMAP配置表。S130,預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量;在本發(fā)明第一實(shí)施例中,基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,通過(guò)運(yùn)動(dòng)檢測(cè)還可得到當(dāng)前預(yù)測(cè)幀的背景區(qū)域。將像素點(diǎn)的運(yùn)動(dòng)矢量記作MV,當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域?yàn)橛蛇\(yùn)動(dòng)矢量大于零的像素點(diǎn)組成的區(qū)域。將像素點(diǎn)的運(yùn)動(dòng)矢量記作MV,通過(guò)運(yùn)動(dòng)檢測(cè)還可得到當(dāng)前預(yù)測(cè)幀的背景區(qū)域。需要說(shuō)明的是,在GOP編碼結(jié)構(gòu)下,不論當(dāng)前預(yù)測(cè)幀是P幀,還是B幀,本步驟均是將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量、及當(dāng)前預(yù)測(cè)幀的背景區(qū)域。S140,在運(yùn)動(dòng)矢量坐標(biāo)系下,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域;結(jié)合預(yù)設(shè)的關(guān)鍵幀QP初始值、預(yù)設(shè)的預(yù)測(cè)幀QP初始值、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值,及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值;本發(fā)明第一實(shí)施例中,在運(yùn)動(dòng)矢量坐標(biāo)系下,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的步驟為:在運(yùn)動(dòng)矢量坐標(biāo)系下,將當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量分解為水平運(yùn)動(dòng)矢量和垂直運(yùn)動(dòng)矢量,統(tǒng)計(jì)像素點(diǎn)的水平運(yùn)動(dòng)矢量得到當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖,統(tǒng)計(jì)像素點(diǎn)的垂直運(yùn)動(dòng)矢量得到當(dāng)前預(yù)測(cè)幀的垂直運(yùn)動(dòng)矢量分布圖;剔除當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖和垂直運(yùn)動(dòng)矢量分布圖中的背景區(qū)域,將運(yùn)動(dòng)矢量大于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的區(qū)域定義為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域。在將當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量分解為水平運(yùn)動(dòng)矢量和垂直運(yùn)動(dòng)矢量的過(guò)程中,像素點(diǎn)的運(yùn)動(dòng)矢量MV被分解為水平運(yùn)動(dòng)矢量MVx和垂直運(yùn)動(dòng)矢量MVy,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的MVx得到當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的MVy得到當(dāng)前預(yù)測(cè)幀的垂直運(yùn)動(dòng)矢量分布圖。在本發(fā)明第一實(shí)施例中,在當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖和垂直運(yùn)動(dòng)矢量分布圖中,運(yùn)動(dòng)矢量為零的像素點(diǎn)構(gòu)成的區(qū)域?yàn)楸尘皡^(qū)域,運(yùn)動(dòng)矢量大于零的像素點(diǎn)構(gòu)成的區(qū)域?yàn)檫\(yùn)動(dòng)物體區(qū)域,運(yùn)動(dòng)矢量大于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的區(qū)域?yàn)榫幋a質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域。本發(fā)明第一實(shí)施例中,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值的步驟,包括得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值,和得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)垂直方向QP調(diào)整值。其中,當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值的計(jì)算公式為:ΔQPx=|MVx-MVxmin||MVxmax-MVxmin|*(QPpref-QPkeyf)]]>其中,ΔQPx為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值,MVx為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的水平運(yùn)動(dòng)矢量,MVxmax為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的水平運(yùn)動(dòng)矢量的最大值,MVxmin為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的水平運(yùn)動(dòng)矢量的最小值,QPkeyf為關(guān)鍵幀QP初始值,QPpref為預(yù)測(cè)幀QP初始值。當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)垂直方向QP調(diào)整值的計(jì)算公式為:ΔQPy=|MVy-MVymin||MVymax-MVymin|*(QPpref-QPkeyf)]]>其中,ΔQPy為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)垂直方向QP調(diào)整值,MVy為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的垂直運(yùn)動(dòng)矢量,MVymax為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的垂直運(yùn)動(dòng)矢量的最大值,MVymin為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的垂直運(yùn)動(dòng)矢量的最小值,QPkeyf為關(guān)鍵幀QP初始值,QPpref為預(yù)測(cè)幀QP初始值。在此基礎(chǔ)上,當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值的計(jì)算公式為:QPxy=QPpref-|ΔQPx+ΔQPy|2]]>其中,QPxy為當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值,ΔQPx為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值,ΔQPy為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)垂直方向QP調(diào)整值,QPpref為預(yù)測(cè)幀QP初始值。本發(fā)明第一實(shí)施例中,不論當(dāng)前預(yù)測(cè)幀是P幀還是B幀,當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值的計(jì)算是基于當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的運(yùn)動(dòng)矢量得到,與當(dāng)前預(yù)測(cè)幀的后一幀無(wú)關(guān)。本發(fā)明第一實(shí)施例中,基于預(yù)設(shè)運(yùn)動(dòng)矢量閾值將視頻幀圖像區(qū)域分成運(yùn)動(dòng)矢量大于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域,及運(yùn)動(dòng)矢量小于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的普通編碼區(qū)域。與現(xiàn)有技術(shù)的矩形塊狀分區(qū)方法相比,本發(fā)明涉及的區(qū)域劃分方法沒(méi)有明顯的區(qū)域界線,分成的普通編碼區(qū)域和編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域相互咬合,基于編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的運(yùn)動(dòng)矢量得到的前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值更能反映前預(yù)測(cè)幀像素點(diǎn)的編碼時(shí)的量化需要,得到預(yù)測(cè)幀殘差系數(shù)在分布上更合理,沒(méi)有局部呈塊狀聚集的特點(diǎn)。預(yù)測(cè)幀編碼時(shí),普通編碼區(qū)域,采用能保證解碼后的視頻圖像播放時(shí)具有良好流暢性的最小有效編碼碼率范圍所對(duì)應(yīng)的預(yù)設(shè)的預(yù)測(cè)幀QP初始值,控制該區(qū)域編碼的量化精度;編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域,采用最小有效編碼碼率范圍所對(duì)應(yīng)的預(yù)設(shè)的預(yù)測(cè)幀QP初始值基于像素點(diǎn)的運(yùn)動(dòng)矢量調(diào)整后的預(yù)測(cè)幀QP值,控制該區(qū)域編碼的量化精度。無(wú)論是普通編碼區(qū)域,還是編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域均是以最小有效編碼碼率范圍為基礎(chǔ)進(jìn)行編碼,因此,預(yù)測(cè)幀的編碼碼率可控制在較低的水平,同時(shí)該較低編碼碼率又能保證解碼后的視頻圖像播放時(shí)具有良好流暢性及較好的視頻圖像畫面質(zhì)量。由于僅僅對(duì)編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的QP值進(jìn)行調(diào)整,因此能有效縮短當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值計(jì)算的時(shí)間周期,提高預(yù)測(cè)幀編碼碼率控制的實(shí)用性和可行性。S150,通過(guò)對(duì)宏塊內(nèi)的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表;在本發(fā)明第一實(shí)施例中,基于步驟S140得到的及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值QPxy,對(duì)每個(gè)宏塊的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值進(jìn)行均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)每個(gè)宏塊的編碼QP值,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表;其中,每個(gè)宏塊的編碼QP值是介于QPkeyf與QPpref之間的整數(shù)。發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),基于上述步驟得到的當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行幀間壓縮編碼得到的視頻流數(shù)據(jù),解碼后重構(gòu)得到的視頻圖像可能會(huì)出現(xiàn)局部區(qū)域過(guò)渡不自然的技術(shù)問(wèn)題。發(fā)明人經(jīng)過(guò)研究發(fā)現(xiàn),之所以產(chǎn)生局部區(qū)域過(guò)渡不自然的技術(shù)問(wèn)題,是由于編碼所采用的當(dāng)前預(yù)測(cè)幀的QPMAP配置表中相鄰兩個(gè)宏塊之間的編碼QP值差異較大。為了將當(dāng)前預(yù)測(cè)幀的QPMAP配置表中相鄰兩個(gè)宏塊的編碼QP值之差控制在預(yù)定范圍內(nèi),進(jìn)一步的方案是,在得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值的步驟之后,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表的步驟之前,該方法還包括:將當(dāng)前預(yù)測(cè)幀內(nèi)的每一宏塊順次作為當(dāng)前宏塊,將當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP值進(jìn)行比較,在當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP之差大于6時(shí),調(diào)整當(dāng)前宏塊的編碼QP值,使當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP值之差小于或者等于6。通過(guò)將兩個(gè)相鄰宏塊的量化精度控制在一個(gè)量化步長(zhǎng)內(nèi),編碼時(shí)個(gè)相鄰宏塊之間的采樣精度差異較小,解碼后重構(gòu)得到的視頻圖像中相鄰兩個(gè)宏塊對(duì)應(yīng)的畫面區(qū)域之間的過(guò)渡就比較自然,從而進(jìn)一步提高解碼后重構(gòu)得到的視頻圖像的畫面質(zhì)量。S160,采用當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行壓縮編碼。在本發(fā)明第一實(shí)施例中,當(dāng)前預(yù)測(cè)幀編碼時(shí),如果GOP編碼結(jié)構(gòu)中的預(yù)測(cè)幀僅為P幀,例如IPPP編碼結(jié)構(gòu),當(dāng)前預(yù)測(cè)幀的參考幀為前一I幀或者P幀;如果GOP編碼結(jié)構(gòu)中的預(yù)測(cè)幀僅為B幀,當(dāng)前預(yù)測(cè)幀的參考幀為當(dāng)前預(yù)測(cè)幀的前一幀和后一幀;如果GOP編碼結(jié)構(gòu)中的預(yù)測(cè)幀包括B幀、P幀,則當(dāng)前預(yù)測(cè)幀為P幀時(shí),參考幀為前一I幀或者P幀,當(dāng)前預(yù)測(cè)幀為B幀時(shí),參考幀為當(dāng)前預(yù)測(cè)幀的前一幀和后一幀。當(dāng)然,可以按照自定的編碼規(guī)則確定當(dāng)前預(yù)測(cè)幀的參考幀。在本發(fā)明第一實(shí)施例中,當(dāng)前預(yù)測(cè)幀編碼的過(guò)程為:基于當(dāng)前預(yù)測(cè)幀與編碼參考幀的差值生成殘差系數(shù),通過(guò)當(dāng)前預(yù)測(cè)幀的QPMAP配置表控制殘差系數(shù)的大小,以此控制熵編碼的碼率。基于目標(biāo)場(chǎng)景相對(duì)固定的共性,本發(fā)明第一實(shí)施例提供的視頻編碼碼率控制方法,不局限于對(duì)前端攝像裝置實(shí)時(shí)捕獲的視頻幀序列進(jìn)行編碼,也適用于將已經(jīng)編碼后的視頻流或者視頻文件進(jìn)行解碼后的再編碼;基于背景區(qū)域長(zhǎng)時(shí)間固定,本發(fā)明第一實(shí)施例提供的視頻編碼碼率控制方法,不局限于對(duì)前端攝像裝置獲得視頻幀序列進(jìn)行編碼碼率控制,還適用于PPT類型教育培訓(xùn)視頻、動(dòng)畫視頻編碼碼率控制。就應(yīng)用范圍而言,本發(fā)明第一實(shí)施例提供的視頻編碼碼率控制方法,適用于視頻監(jiān)控系統(tǒng)、視頻會(huì)議系統(tǒng)、視頻直播系統(tǒng)、視頻教育培訓(xùn)系統(tǒng)、視頻交互通信系統(tǒng),及適用于上述系統(tǒng)的前端攝像裝置。第二實(shí)施例所述第二實(shí)施例以視頻監(jiān)控系統(tǒng)的前端攝像裝置獲得的視頻幀序列編碼為例,對(duì)本發(fā)明的視頻編碼碼率控制方法進(jìn)行說(shuō)明。視頻監(jiān)控系統(tǒng)的前端攝像裝置獲得的視頻幀序列,屬于本發(fā)明第一實(shí)施例目標(biāo)場(chǎng)景相對(duì)固定的情況下前端攝像裝置捕獲的視頻幀序列。用于視頻監(jiān)控系統(tǒng)的前端攝像裝置,7X24小時(shí)采集固定目標(biāo)場(chǎng)景的現(xiàn)場(chǎng)圖像,對(duì)捕獲的視頻幀序列進(jìn)行編碼形成視頻流數(shù)據(jù)。視頻流數(shù)據(jù)經(jīng)網(wǎng)絡(luò)傳遞給監(jiān)控管理中心的網(wǎng)絡(luò)視頻錄像機(jī)或視頻服務(wù)器,監(jiān)控中心的工作人員基于人眼觀看或者視頻分析提供分析,發(fā)現(xiàn)目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體。運(yùn)動(dòng)物體在視頻監(jiān)控目標(biāo)場(chǎng)景中的活動(dòng)具有一定的時(shí)間周期特性。通常我們用運(yùn)動(dòng)物體區(qū)域來(lái)表征運(yùn)動(dòng)物體的活動(dòng)區(qū)域,用運(yùn)動(dòng)量來(lái)表征運(yùn)動(dòng)物體活躍度,用運(yùn)動(dòng)高峰期(PeakExercise,PE)來(lái)表征運(yùn)動(dòng)物體活躍度高的時(shí)間區(qū)段,用運(yùn)動(dòng)空閑期(IdleExercise,IE)來(lái)表征運(yùn)動(dòng)物體活躍度低的時(shí)間區(qū)段。圖3示出了一個(gè)時(shí)間周期內(nèi)視頻監(jiān)控目標(biāo)場(chǎng)景運(yùn)動(dòng)量與時(shí)間的關(guān)系曲線。參閱圖3所示,圖3中的縱坐標(biāo)為目標(biāo)場(chǎng)景運(yùn)動(dòng)量,橫坐標(biāo)為時(shí)間,其中,運(yùn)動(dòng)量表示目標(biāo)場(chǎng)景中運(yùn)動(dòng)物體的活躍度。從圖3中可以看出,目標(biāo)場(chǎng)景運(yùn)動(dòng)量在三個(gè)時(shí)間區(qū)段處于波峰,其他時(shí)間區(qū)段的目標(biāo)場(chǎng)景運(yùn)動(dòng)量很小,在一個(gè)時(shí)間周期內(nèi),將運(yùn)動(dòng)量波峰區(qū)對(duì)應(yīng)的時(shí)間區(qū)段定義為運(yùn)動(dòng)高峰期,將運(yùn)動(dòng)高峰期以外的時(shí)間區(qū)段定義為運(yùn)動(dòng)空閑期。相應(yīng)地,前端攝像裝置在運(yùn)動(dòng)高峰期獲得的目標(biāo)場(chǎng)景視頻幀為運(yùn)動(dòng)高峰期視頻幀,前端攝像裝置在運(yùn)動(dòng)空閑期獲得的目標(biāo)場(chǎng)景視頻幀為運(yùn)動(dòng)空閑期視頻幀。在視頻監(jiān)控應(yīng)用場(chǎng)景或者與視頻監(jiān)控應(yīng)用場(chǎng)景相近的應(yīng)用場(chǎng)景中,目標(biāo)場(chǎng)景在運(yùn)動(dòng)高峰期、運(yùn)動(dòng)空閑期具有以下特性:總體上看,在運(yùn)動(dòng)高峰期,目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體數(shù)量較多,運(yùn)動(dòng)物體的活躍度較高。例如辦公樓宇進(jìn)出口目標(biāo)場(chǎng)景,在上下班時(shí)間段、中午就餐時(shí)間段進(jìn)出人員較多,進(jìn)出人員的活躍度較高。又例如庫(kù)房進(jìn)出口目標(biāo)場(chǎng)景,在物流運(yùn)輸設(shè)備集中進(jìn)出時(shí)間段進(jìn)出運(yùn)輸設(shè)備較多。不過(guò),運(yùn)動(dòng)高峰期中也包含運(yùn)動(dòng)物體數(shù)量較少的局部時(shí)間段。要通過(guò)視頻監(jiān)控獲得的視頻幀數(shù)據(jù),及時(shí)發(fā)現(xiàn)運(yùn)動(dòng)高峰期目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體,那么一方面需要有足夠數(shù)量的視頻幀序列用于分析異常運(yùn)動(dòng)物體,另一方面這些視頻幀的圖像畫面質(zhì)量要能保證從眾多運(yùn)動(dòng)物體中找出異常運(yùn)動(dòng)物體??傮w上看,在運(yùn)動(dòng)空閑期,目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體數(shù)量較少,運(yùn)動(dòng)物體的活躍度較低。不過(guò),運(yùn)動(dòng)空閑期中也包含運(yùn)動(dòng)物體數(shù)量較多的局部時(shí)間段。要通過(guò)視頻監(jiān)控獲得的視頻幀數(shù)據(jù),及時(shí)發(fā)現(xiàn)運(yùn)動(dòng)空閑期目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體,僅需要較少數(shù)量的視頻幀序列用于分析異常運(yùn)動(dòng)物體,但需要消除一些正常運(yùn)動(dòng)物體的干擾。用于視頻監(jiān)控系統(tǒng)的前端攝像裝置被設(shè)置在固定的位置,視頻監(jiān)控過(guò)程中,攝像機(jī)位基本不變,同時(shí)以相對(duì)確定的攝像視角采集固定的目標(biāo)場(chǎng)景的現(xiàn)場(chǎng)視頻圖像。前端攝像裝置獲得的視頻幀中,背景區(qū)域占據(jù)視頻圖像畫面的絕大部分區(qū)域,且基本不變。圖4示出了針對(duì)視頻監(jiān)控系統(tǒng)的前端攝像裝置獲得的視頻幀序列本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制方法的流程圖。該方法以GOP為編碼結(jié)構(gòu)單位對(duì)視頻幀序列進(jìn)行順次壓縮編碼,GOP包括起始位置的關(guān)鍵幀和關(guān)鍵幀后面的預(yù)測(cè)幀。需要說(shuō)明的是,在本發(fā)明第二實(shí)施例中,視頻編碼時(shí)所采用的GOP編碼結(jié)構(gòu),可以是視頻編碼
技術(shù)領(lǐng)域:
中的任意一種GOP編碼結(jié)構(gòu)。但為了便于清楚闡述本發(fā)明第二實(shí)施例提供的一種視頻編碼碼率控制方法,降低技術(shù)方案的理解難度,在本發(fā)明第二實(shí)施例中,基于GOP編碼結(jié)構(gòu)為固定場(chǎng)景攝像中常采用的IPPP編碼結(jié)構(gòu)的假定,對(duì)本發(fā)明的技術(shù)方案進(jìn)行示例性說(shuō)明,需要說(shuō)明的是,上述假定對(duì)不產(chǎn)生具體限定。在IPPP編碼結(jié)構(gòu)下關(guān)鍵幀為I幀,其采用全幀壓縮編碼,預(yù)測(cè)幀為P幀,其采用前一I幀或P幀作為參考幀進(jìn)行幀間壓縮編碼。參閱圖4所示,該方法包括:S210,預(yù)設(shè)GOP編碼結(jié)構(gòu)的關(guān)鍵幀QP初始值和預(yù)測(cè)幀QP初始值;具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S110。S220,通過(guò)至少一個(gè)時(shí)間周期的目標(biāo)場(chǎng)景運(yùn)動(dòng)量統(tǒng)計(jì),獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段;運(yùn)動(dòng)高峰期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)高峰期視頻幀,運(yùn)動(dòng)空閑期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)空閑期視頻幀;在本發(fā)明第二實(shí)施例中,通過(guò)至少一個(gè)時(shí)間周期的目標(biāo)場(chǎng)景運(yùn)動(dòng)量統(tǒng)計(jì),獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段的步驟,可以是在至少一個(gè)時(shí)間周期內(nèi)對(duì)目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體數(shù)量及運(yùn)動(dòng)物體運(yùn)動(dòng)量進(jìn)行統(tǒng)計(jì),獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段;也可以通過(guò)對(duì)至少一個(gè)時(shí)間周期的視頻幀序列的運(yùn)動(dòng)總量進(jìn)行統(tǒng)計(jì),獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段;上述視頻幀序列,可以是前端攝像裝置采集的視頻幀序列,也可以是已經(jīng)編碼視頻數(shù)據(jù)文件中的視頻幀序列。上述視頻幀序列的運(yùn)動(dòng)總量進(jìn)行統(tǒng)計(jì),可以是單獨(dú)采用視頻幀序列進(jìn)行統(tǒng)計(jì),也可以是前端攝像裝置邊進(jìn)行編碼邊統(tǒng)計(jì)。上述一個(gè)時(shí)間周期,對(duì)于視頻監(jiān)控來(lái)說(shuō),通常是一天,當(dāng)然也可以是多天,對(duì)于視頻會(huì)議、視頻直播、視頻教育培訓(xùn)、視頻交互通信,通常是一次任務(wù)的時(shí)間。在本發(fā)明第二實(shí)施例中,對(duì)至少一個(gè)時(shí)間周期的視頻幀序列的運(yùn)動(dòng)總量進(jìn)行統(tǒng)計(jì)的步驟為:通過(guò)運(yùn)動(dòng)檢測(cè)獲得視頻幀像素點(diǎn)的運(yùn)動(dòng)矢量,基于空間域統(tǒng)計(jì)視頻幀的運(yùn)動(dòng)總量,基于幀率統(tǒng)計(jì)每秒視頻幀的運(yùn)動(dòng)總量,基于至少一個(gè)時(shí)間周期統(tǒng)計(jì)預(yù)定時(shí)間內(nèi)的視頻幀的運(yùn)動(dòng)總量。術(shù)語(yǔ)“空間域”,是指由圖像像素組成的空間,在圖像空間中以距離為自變量對(duì)像素值進(jìn)行處理稱為空間域處理?;诳臻g域統(tǒng)計(jì)視頻幀的運(yùn)動(dòng)總量統(tǒng)計(jì)公式為:SumMV=Σ(0,0)(w,h)MV]]>其中,SumMV為視頻幀的運(yùn)動(dòng)總量,MV為像素點(diǎn)的運(yùn)動(dòng)矢量,W為視頻幀寬度方向的像素點(diǎn)數(shù),h為視頻幀高度方向的像素點(diǎn)數(shù)。基于幀率統(tǒng)計(jì)每秒視頻幀的運(yùn)動(dòng)總量的統(tǒng)計(jì)公式為:SecMV=Σ(0)(FPS)SumMV]]>其中,SecMV為每秒視頻幀的運(yùn)動(dòng)總量,SumMV為視頻幀的運(yùn)動(dòng)總量,F(xiàn)PS為視頻幀的輸入幀率。統(tǒng)計(jì)預(yù)定時(shí)間內(nèi)的視頻幀的運(yùn)動(dòng)總量的統(tǒng)計(jì)公式為:hotFMV=Σ(0)(t)SecMV]]>其中,hotMV為預(yù)定時(shí)間的視頻幀的運(yùn)動(dòng)總量,SecMV為每秒視頻幀的運(yùn)動(dòng)總量,t為預(yù)定時(shí)間。將時(shí)間區(qū)段運(yùn)動(dòng)總量大于或者等于預(yù)設(shè)時(shí)間區(qū)段運(yùn)動(dòng)總量閾值的時(shí)間區(qū)段定義為運(yùn)動(dòng)高峰期時(shí)間區(qū)段,將運(yùn)動(dòng)高峰期時(shí)間區(qū)段以外的其他時(shí)間區(qū)段定義為運(yùn)動(dòng)空閑期時(shí)間區(qū)段,這樣就獲得了一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段。這樣,前端攝像裝置捕獲的視頻幀,運(yùn)動(dòng)高峰期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)高峰期視頻幀,運(yùn)動(dòng)空閑期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)空閑期視頻幀。S230,通過(guò)運(yùn)動(dòng)檢測(cè)獲得待編碼視頻幀像素點(diǎn)的運(yùn)動(dòng)矢量,基于空間域統(tǒng)計(jì)待編碼視頻幀的運(yùn)動(dòng)總量,結(jié)合待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段,將待編碼視頻幀的運(yùn)動(dòng)總量與預(yù)設(shè)的視頻幀運(yùn)動(dòng)總量閾值作比較,確定待編碼視頻幀輸入幀率;在本發(fā)明第二實(shí)施例中,通過(guò)運(yùn)動(dòng)檢測(cè)獲得待編碼視頻幀像素點(diǎn)的運(yùn)動(dòng)矢量,基于空間域統(tǒng)計(jì)待編碼視頻幀的運(yùn)動(dòng)總量的步驟請(qǐng)參照步驟S220中的相關(guān)說(shuō)明。在本發(fā)明第二實(shí)施例中,結(jié)合待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段,將待編碼視頻幀的運(yùn)動(dòng)總量與預(yù)設(shè)的視頻幀運(yùn)動(dòng)總量閾值作比較,確定待編碼視頻幀輸入幀率。其中,待編碼視頻幀輸入幀率是通過(guò)如下方式確定:CUR_FPS=FPSSETSumMV≥SumMVthrFPSMIDSumMV<SumMVthrinPeakExerciseFPSMINSumMV<SumMVthrinIdleExercise]]>其中,CUR_FPS為待編碼視頻幀輸入幀率,SumMV為待編碼視頻幀的運(yùn)動(dòng)總量,SumMVthr為視頻幀運(yùn)動(dòng)總量閾值,F(xiàn)PSSET為待編碼視頻幀的運(yùn)動(dòng)總量大于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,F(xiàn)PSMID為運(yùn)動(dòng)高峰期時(shí)間區(qū)段內(nèi)待編碼視頻幀的運(yùn)動(dòng)總量小于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,F(xiàn)PSMIN為運(yùn)動(dòng)空閑期時(shí)間區(qū)段內(nèi)待編碼視頻幀的運(yùn)動(dòng)總量小于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,inPeakExercise是指待編碼視頻幀為運(yùn)動(dòng)高峰期視頻幀,inIdleExercise是指待編碼視頻幀為運(yùn)動(dòng)空閑期視頻幀。其中,F(xiàn)PSMID的數(shù)值大于FPSMIN的數(shù)值。如果提供待編碼視頻幀的幀源為前端攝像裝置,F(xiàn)PSSET為前端攝像裝置默認(rèn)的視頻幀采集幀率,如果提供待編碼視頻幀的幀源為視頻解碼器,F(xiàn)PSSET為視頻解碼器默認(rèn)的視頻幀輸出幀率,該視頻解碼器可以是軟件解碼器,也可以是硬件解碼器。上述視頻幀運(yùn)動(dòng)總量閾值SumMVthr,根據(jù)目標(biāo)場(chǎng)景中的運(yùn)動(dòng)物體的運(yùn)動(dòng)特性,及目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體的運(yùn)動(dòng)特性確定。不同的目標(biāo)場(chǎng)景監(jiān)控需求采用不同的視頻幀運(yùn)動(dòng)總量閾值,例如對(duì)交通道路監(jiān)控所采集的視頻幀序列進(jìn)行編碼所采用的視頻幀運(yùn)動(dòng)總量閾值SumMVthr,與對(duì)辦公樓宇控所采集的視頻幀序列進(jìn)行編碼所采用的視頻幀運(yùn)動(dòng)總量閾值SumMVthr完全不一樣。本發(fā)明第二實(shí)施例,將待編碼視頻幀的運(yùn)動(dòng)總量與待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段結(jié)合起來(lái),確定待編碼視頻幀輸入幀率,在確保能通過(guò)解碼后的視頻圖像畫面質(zhì)量的情況下,有效降低待編碼視頻幀的數(shù)量,達(dá)到對(duì)視頻編碼碼率的控制。S240,關(guān)鍵幀編碼時(shí),基于預(yù)設(shè)的關(guān)鍵幀QP初始值控制關(guān)鍵幀編碼碼率;具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S120。S250,預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量;具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S130。S260,在運(yùn)動(dòng)矢量坐標(biāo)系下,統(tǒng)計(jì)當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得到當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域;結(jié)合預(yù)設(shè)的關(guān)鍵幀QP初始值、預(yù)設(shè)的預(yù)測(cè)幀QP初始值、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值,及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值;具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S140。S270,通過(guò)對(duì)宏塊內(nèi)的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表;具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S150。S280,采用當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行壓縮編碼。具體實(shí)現(xiàn)過(guò)程請(qǐng)參照本發(fā)明第一實(shí)施例的步驟S160。本發(fā)明第二實(shí)施例所提供的視頻編碼碼率控制方法,基于要在運(yùn)動(dòng)高峰期視頻幀中發(fā)現(xiàn)目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體需要較多的視頻幀,要在運(yùn)動(dòng)空閑期視頻幀中發(fā)現(xiàn)目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體需要較少的視頻幀的技術(shù)事實(shí);通過(guò)運(yùn)動(dòng)量統(tǒng)計(jì)獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段,在待編碼視頻幀的運(yùn)動(dòng)總量的基礎(chǔ)上結(jié)合待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段,確定待編碼視頻幀輸入幀率,從而在確保能通過(guò)解碼后的視頻圖像畫面及時(shí)發(fā)現(xiàn)目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體的情況下,降低運(yùn)動(dòng)空閑期時(shí)間區(qū)段絕大部分時(shí)間段和運(yùn)動(dòng)高峰期時(shí)間區(qū)段的局部時(shí)段待編碼視頻幀輸入幀率,有效降低待編碼視頻幀的數(shù)量,達(dá)到對(duì)視頻編碼碼率的有效控制。I幀為全幀壓縮幀,視頻幀序列中的I幀間隔越小,GOP長(zhǎng)度越小,視頻編碼的碼率越大。為了從編碼結(jié)構(gòu)上有效降低視頻編碼碼率,本發(fā)明第二實(shí)施例提供的視頻編碼碼率控制方法,進(jìn)一步的方案是,該方法還包括基于待編碼視頻幀的運(yùn)動(dòng)總量、GOP長(zhǎng)度的最大值和最小值、一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量的最大值和最小值,計(jì)算待編碼視頻幀GOP長(zhǎng)度;基于待編碼視頻幀GOP長(zhǎng)度調(diào)整GOP,在調(diào)整后的GOP中間隔選擇至少一幀預(yù)測(cè)幀作為參考預(yù)測(cè)幀,將GOP中參考預(yù)測(cè)幀以外的其他預(yù)測(cè)幀作為普通預(yù)測(cè)幀,參考預(yù)測(cè)幀將GOP分成至少兩個(gè)普通預(yù)測(cè)幀編碼段;其中,參考預(yù)測(cè)幀為預(yù)測(cè)幀編碼時(shí)參考起始I幀編碼的預(yù)測(cè)幀,普通預(yù)測(cè)幀為在普通預(yù)測(cè)幀編碼段內(nèi)進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)幀。在本發(fā)明第二實(shí)施例中,待編碼視頻幀GOP長(zhǎng)度的計(jì)算公式為:GOPSIZEcur=GOPSIZEmax+|SumMVcur-SumMVmin||SumMVmax-SumMVmin|*(GOPSIZEmin-GOPSIZEmax)]]>其中,GOPSIZEcur為待編碼視頻幀GOP長(zhǎng)度,GOPSIZEmax為GOP長(zhǎng)度的最大值,GOPSIZEmin為GOP長(zhǎng)度的最小值,SumMVcur為待編碼視頻幀的運(yùn)動(dòng)總量,SumMVmin為一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量最小值,SumMVmax為一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量最大值。圖5示出了IPPP編碼結(jié)構(gòu)下調(diào)整后的GOP的編碼方式。參閱圖5所示,圖5中的GOP的第一幀為I幀,1b、2b、……、Nb為參考預(yù)測(cè)幀,1e、2e、……、Me為普通預(yù)測(cè)幀。圖5中的箭頭線代表視頻幀編碼參考關(guān)系。GOP編碼時(shí),參考預(yù)測(cè)幀參考起始I幀編碼,參考預(yù)測(cè)幀后的普通預(yù)測(cè)幀逐幀參考編碼,起始I幀用于保證參考預(yù)測(cè)幀丟失后的視頻圖像恢復(fù),參考預(yù)測(cè)幀用于保證普通預(yù)測(cè)幀丟失后的視頻圖像恢復(fù),從而在保證解碼后的視頻圖像質(zhì)量的情況下,將GOP長(zhǎng)度增大多倍,有效降低視頻編碼的碼率。本發(fā)明第二實(shí)施例所提供的視頻編碼碼率控制方法,基于待編碼視頻幀的運(yùn)動(dòng)總量有針對(duì)地調(diào)整GOP長(zhǎng)度,有效降低視頻編碼碼率。宏塊為視頻編碼的基本單位,基于宏塊的編碼QP值生成的宏塊為視頻編碼的基本單位,基于宏塊的編碼QP值生成的當(dāng)前預(yù)測(cè)幀的QPMAP配置表是否符合當(dāng)前預(yù)測(cè)幀量化編碼的需要,直接關(guān)系到當(dāng)前預(yù)測(cè)幀的編碼碼率及解碼重構(gòu)出來(lái)的視頻圖像質(zhì)量。運(yùn)動(dòng)總量不同的視頻幀,編碼時(shí)對(duì)量化參數(shù)的控制存在較大的差異,也即運(yùn)動(dòng)高峰期視頻幀和運(yùn)動(dòng)空閑期視頻幀所對(duì)應(yīng)的當(dāng)前預(yù)測(cè)幀的QPMAP配置表存在較大差異。為了使當(dāng)前預(yù)測(cè)幀的QPMAP配置表符合當(dāng)前預(yù)測(cè)幀量化編碼的需要,進(jìn)一步的方案是,在生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表的步驟之后,該方法還包括:基于當(dāng)前預(yù)測(cè)幀所對(duì)應(yīng)的時(shí)間區(qū)段,調(diào)整當(dāng)前預(yù)測(cè)幀的QPMAP配置表中的宏塊的編碼QP值,得到基于時(shí)間區(qū)段的當(dāng)前預(yù)測(cè)幀的QPMAP配置表。在本發(fā)明第二實(shí)施例中,上述步驟是:對(duì)運(yùn)動(dòng)空閑期當(dāng)前預(yù)測(cè)幀,基于空間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的部分高頻分量,調(diào)低運(yùn)動(dòng)物體區(qū)域所對(duì)應(yīng)的宏塊的編碼QP值,得到基于運(yùn)動(dòng)空閑期的當(dāng)前預(yù)測(cè)幀的QPMAP配置表;對(duì)運(yùn)動(dòng)高峰期當(dāng)前預(yù)測(cè)幀,將運(yùn)動(dòng)高峰期內(nèi)運(yùn)動(dòng)總量為零的宏塊標(biāo)識(shí)為skip宏塊,得到基于運(yùn)動(dòng)高峰期的當(dāng)前預(yù)測(cè)幀的QPMAP配置表。術(shù)語(yǔ)“高頻分量”,是指視頻圖像中圖像強(qiáng)度變化劇烈的像素點(diǎn)區(qū)域,其是對(duì)圖像邊緣和輪廓的度量。圖像強(qiáng)度是指圖像的亮度或者灰度。術(shù)語(yǔ)“skip宏塊”,是指編碼時(shí),不將該宏塊的像素殘差和運(yùn)動(dòng)矢量殘差寫入碼流,只對(duì)該宏塊進(jìn)行SKIP宏塊標(biāo)識(shí),解碼時(shí)采用近似替代的恢復(fù)辦法通過(guò)參考幀恢復(fù)本幀本宏塊的像素點(diǎn)。對(duì)于P幀,skip宏塊為P-skip宏塊,對(duì)于B幀,skip宏塊為B-skip宏塊。在本發(fā)明第二實(shí)施例中,要獲得宏塊在運(yùn)動(dòng)高峰期內(nèi)的運(yùn)動(dòng)總量,首先需要獲得宏塊的運(yùn)動(dòng)總量,基于幀率統(tǒng)計(jì)獲得宏塊每秒的運(yùn)動(dòng)總量,最后基于時(shí)間統(tǒng)計(jì)獲得運(yùn)動(dòng)高峰期內(nèi)的宏塊的運(yùn)動(dòng)總量。宏塊的運(yùn)動(dòng)總量的統(tǒng)計(jì)公式為:MBMV(i,j)=Σ(0,0)(s,s)MV]]>其中,MBMV(i,j)為視頻幀中第i行第j列的宏塊的運(yùn)動(dòng)總量,MV為像素點(diǎn)的運(yùn)動(dòng)矢量,s為宏塊的像素點(diǎn)數(shù)。宏塊每秒的運(yùn)動(dòng)總量的統(tǒng)計(jì)公式為:SecMBMV(i,j)=Σ(0)(FPS)MBMV(i,j)]]>其中,SecMBMV(i,j)為視頻幀中第i行第j列的宏塊每秒的運(yùn)動(dòng)總量,MBMV(i,j)為視頻幀中第i行第j列的宏塊的運(yùn)動(dòng)總量,F(xiàn)PS為待編碼視頻幀的編碼輸入幀率。宏塊預(yù)定時(shí)間內(nèi)的運(yùn)動(dòng)總量的統(tǒng)計(jì)公式為:hotMBMV(i,j)=Σ(0)(t)SecMBMV(i,j)]]>其中,hotMBMV(i,j)為視頻幀中第i行第j列的宏塊預(yù)定時(shí)間內(nèi)的運(yùn)動(dòng)總量,SecMBMV(i,j)為視頻幀中第i行第j列的宏塊每秒的運(yùn)動(dòng)總量,t為預(yù)定時(shí)間。如果預(yù)定時(shí)間t為運(yùn)動(dòng)高峰期時(shí)間,那么統(tǒng)計(jì)得到的是宏塊在運(yùn)動(dòng)高峰期內(nèi)的運(yùn)動(dòng)總量。當(dāng)前預(yù)測(cè)幀編碼時(shí),采用基于時(shí)間區(qū)段的當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行幀間壓縮編碼。在本發(fā)明第二實(shí)施例中,對(duì)運(yùn)動(dòng)空閑期當(dāng)前預(yù)測(cè)幀,基于空間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的部分高頻分量,可有效減小當(dāng)前預(yù)測(cè)幀生成的殘差系數(shù)降低當(dāng)前預(yù)測(cè)幀的編碼碼率;調(diào)低運(yùn)動(dòng)物體區(qū)域所對(duì)應(yīng)的宏塊的編碼QP值,可有效提高當(dāng)前預(yù)測(cè)幀編碼時(shí)的量化采樣精度;從整體上實(shí)現(xiàn)在提升解碼后的視頻圖像畫面質(zhì)量的情況下,進(jìn)一步降低當(dāng)前預(yù)測(cè)幀編碼碼率。對(duì)運(yùn)動(dòng)高峰期的當(dāng)前預(yù)測(cè)幀,將運(yùn)動(dòng)高峰期內(nèi)運(yùn)動(dòng)總量為零的宏塊標(biāo)識(shí)為skip宏塊,在該當(dāng)前預(yù)測(cè)幀編碼時(shí),不將宏塊的像素殘差和運(yùn)動(dòng)矢量殘差寫入碼流,從而進(jìn)一步降低當(dāng)前預(yù)測(cè)幀編碼碼率。視頻幀中的運(yùn)動(dòng)物體區(qū)域包括與視頻幀圖像邊界不連通的循環(huán)類運(yùn)動(dòng)區(qū)域,和與視頻幀圖像邊界連通的邊界觸碰類運(yùn)動(dòng)區(qū)域。圖6示出了監(jiān)控視頻幀圖像中循環(huán)類運(yùn)動(dòng)區(qū)域和邊界觸碰類運(yùn)動(dòng)區(qū)域的分布示意圖。參閱圖6所示,圖6中樹(shù)的運(yùn)動(dòng)區(qū)域?yàn)檠h(huán)類運(yùn)動(dòng)區(qū)域800,人和車的運(yùn)動(dòng)區(qū)域?yàn)檫吔缬|碰類運(yùn)動(dòng)區(qū)域900。視頻監(jiān)控的目的是及時(shí)發(fā)現(xiàn)目標(biāo)場(chǎng)景中的異常運(yùn)動(dòng)物體。視頻幀圖像中的循環(huán)類運(yùn)動(dòng)區(qū)域800,是正常運(yùn)動(dòng)物體的運(yùn)動(dòng)區(qū)域,不屬于視頻監(jiān)控需要考慮的區(qū)域,同時(shí)其還是及時(shí)發(fā)現(xiàn)異常運(yùn)動(dòng)物體的干擾區(qū)域,需要消除其影響。視頻幀圖像中的邊界觸碰類運(yùn)動(dòng)區(qū)域900,是異常運(yùn)動(dòng)物體可能出現(xiàn)的區(qū)域,屬于視頻監(jiān)控需要重點(diǎn)考慮的區(qū)域。在確保能從視頻幀圖像中發(fā)現(xiàn)異常運(yùn)動(dòng)物體的情況下,為了降低當(dāng)前預(yù)測(cè)幀的編碼碼率,進(jìn)一步的方案是,在生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表的步驟之后,該方法還包括:基于連通性分析,將當(dāng)前預(yù)測(cè)幀中的運(yùn)動(dòng)物體區(qū)域分成循環(huán)類運(yùn)動(dòng)區(qū)域800和邊界觸碰類運(yùn)動(dòng)區(qū)域900;基于空間域和時(shí)間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的循環(huán)類運(yùn)動(dòng)區(qū)域800的高頻分量;調(diào)高當(dāng)前預(yù)測(cè)幀的QPMAP配置表中循環(huán)類運(yùn)動(dòng)區(qū)域800所對(duì)應(yīng)宏塊的編碼QP值,生成降低循環(huán)類運(yùn)動(dòng)區(qū)域800影響的當(dāng)前預(yù)測(cè)幀的QPMAP配置表。在本發(fā)明第二實(shí)施例中,基于空間域和時(shí)間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的循環(huán)類運(yùn)動(dòng)區(qū)域800的高頻分量,可有效減小當(dāng)前預(yù)測(cè)幀生成的殘差系數(shù)降低當(dāng)前預(yù)測(cè)幀的編碼碼率;調(diào)高當(dāng)前預(yù)測(cè)幀的QPMAP配置表中循環(huán)類運(yùn)動(dòng)區(qū)域800所對(duì)應(yīng)宏塊的編碼QP值,可有效降低循環(huán)類運(yùn)動(dòng)區(qū)域800編碼時(shí)的量化采樣精度,降低當(dāng)前預(yù)測(cè)幀的編碼碼率。當(dāng)前預(yù)測(cè)幀編碼時(shí),采用降低循環(huán)類運(yùn)動(dòng)區(qū)域800影響的當(dāng)前預(yù)測(cè)幀的QPMAP配置表進(jìn)行幀間壓縮編碼。基于目標(biāo)場(chǎng)景相同,本發(fā)明第二實(shí)施例提供的視頻編碼碼率控制方法,不局限于對(duì)前端攝像裝置實(shí)時(shí)捕獲的視頻幀序列進(jìn)行編碼,也適用于將已經(jīng)編碼后的視頻流或者視頻文件進(jìn)行解碼后的再編碼;基于背景區(qū)域長(zhǎng)時(shí)間固定,本發(fā)明第二實(shí)施例提供的視頻編碼碼率控制方法,不局限于對(duì)前端攝像裝置獲得視頻幀序列進(jìn)行編碼碼率控制,還適用于PPT類型教育培訓(xùn)視頻、動(dòng)畫視頻編碼碼率控制。就應(yīng)用范圍而言,本發(fā)明第二實(shí)施例提供的視頻編碼碼率控制方法,適用于視頻監(jiān)控系統(tǒng)、視頻會(huì)議系統(tǒng)、視頻直播系統(tǒng)、視頻教育培訓(xùn)系統(tǒng)、視頻交互通信系統(tǒng),及適用于上述系統(tǒng)的前端攝像裝置。第三實(shí)施例所述第三實(shí)施例提供一種視頻編碼碼率控制系統(tǒng)。該系統(tǒng)可以是第一實(shí)施例、第二實(shí)施例中的應(yīng)用環(huán)境。本發(fā)明第三實(shí)施例提供的視頻編碼碼率控制系統(tǒng)的視頻編碼碼率控制裝置,其技術(shù)構(gòu)思、實(shí)現(xiàn)原理、產(chǎn)生的技術(shù)效果、所能解決的技術(shù)問(wèn)題和前述方法實(shí)施例相同,所屬領(lǐng)域的技術(shù)人員可參照本發(fā)明前述方法實(shí)施例中的對(duì)應(yīng)方法步驟的具體描述,理解本發(fā)明第三實(shí)施例提供的視頻編碼碼率控制系統(tǒng)的視頻編碼碼率控制裝置。圖7示出了本發(fā)明實(shí)施例提供的一種視頻編碼碼率控制系統(tǒng)的結(jié)構(gòu)示意圖。該系統(tǒng)可用于對(duì)實(shí)時(shí)捕獲的視頻幀序列進(jìn)行編碼和/或用于將已經(jīng)編碼后的視頻流或者視頻文件進(jìn)行解碼后的再編碼。如圖7所示,該系統(tǒng)包括總線、存儲(chǔ)器300、存儲(chǔ)控制器400、處理器100、與處理器100相配合的視頻編碼器200、與視頻編碼器200關(guān)聯(lián)的視頻編碼碼率控制裝置500,其中,存儲(chǔ)器300、存儲(chǔ)控制器400、處理器100通過(guò)總線連接,處理器100通過(guò)存儲(chǔ)控制器400控制存儲(chǔ)器300的讀寫操作,處理器100可用于執(zhí)行存儲(chǔ)器300中存儲(chǔ)的可執(zhí)行模塊,例如計(jì)算機(jī)程序。在需要同外圍設(shè)備進(jìn)行數(shù)據(jù)通信時(shí),該系統(tǒng)還包括接口電路600、輸入輸出單元700。其中,接口電路600與存儲(chǔ)器300、存儲(chǔ)控制器400、處理器100通過(guò)總線連接,輸入輸出單元700電連接接口電路600。在本發(fā)明第三實(shí)施例中,處理器100為能處理視頻信號(hào)和/或視頻數(shù)據(jù)的集成電路;視頻編碼器200為能對(duì)視頻信號(hào)和/或視頻數(shù)據(jù)進(jìn)行編碼的軟件模塊或者硬件電路及裝置。處理器100、視頻編碼器200可參考前述應(yīng)用環(huán)境的相關(guān)說(shuō)明,在此不再贅述。在本發(fā)明第三實(shí)施例中,存儲(chǔ)控制器400、存儲(chǔ)器300、總線、接口電路600、輸入輸出單元700為計(jì)算機(jī)設(shè)備或者視頻圖像處理設(shè)備所采用的存儲(chǔ)控制器400、存儲(chǔ)器300、總線、接口電路600、及輸入輸出單元700。圖8示出了視頻編碼碼率控制裝置的結(jié)構(gòu)示意圖。該裝置用于對(duì)視頻編碼碼率進(jìn)行控制。請(qǐng)參照?qǐng)D8所示,該裝置包括QP初始值設(shè)置單元510、關(guān)鍵幀編碼單元540、預(yù)測(cè)幀編碼單元550。其中,QP初始值設(shè)置單元510,用于預(yù)設(shè)GOP編碼結(jié)構(gòu)的關(guān)鍵幀QP初始值和預(yù)測(cè)幀QP初始值;關(guān)鍵幀編碼單元540,用于關(guān)鍵幀編碼時(shí),基于預(yù)設(shè)的關(guān)鍵幀QP初始值控制關(guān)鍵幀編碼碼率;預(yù)測(cè)幀編碼單元550,用于預(yù)測(cè)幀編碼時(shí),控制預(yù)測(cè)幀編碼碼率;在確保解碼后的視頻圖像具有良好的畫面質(zhì)量的情況下,為了降低關(guān)鍵幀編碼碼率,進(jìn)一步的方案是,關(guān)鍵幀編碼單元540,用于關(guān)鍵幀編碼時(shí),采用預(yù)設(shè)的關(guān)鍵幀QP初始值生成的關(guān)鍵幀QPMAP配置表對(duì)關(guān)鍵幀進(jìn)行壓縮編碼,其中,預(yù)設(shè)的關(guān)鍵幀QP初始值為24、25、26中的一個(gè)。為了從編碼結(jié)構(gòu)上有效降低視頻編碼碼率,進(jìn)一步的方案是,該裝置還包括待編碼視頻幀GOP調(diào)整單元520。待編碼視頻幀GOP調(diào)整單元520,參照?qǐng)D9所示,其包括待編碼視頻幀GOP長(zhǎng)度計(jì)算單元521、GOP參考幀調(diào)整單元522;其中,待編碼視頻幀GOP長(zhǎng)度計(jì)算單元521,用于基于待編碼視頻幀的運(yùn)動(dòng)總量、GOP長(zhǎng)度的最大值和最小值、一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量的最大值和最小值,計(jì)算待編碼視頻幀GOP長(zhǎng)度;GOP參考幀調(diào)整單元522,用于基于待編碼視頻幀GOP長(zhǎng)度調(diào)整GOP,在調(diào)整后的GOP中間隔選擇至少一幀預(yù)測(cè)幀作為參考預(yù)測(cè)幀,將GOP中參考預(yù)測(cè)幀以外的其他預(yù)測(cè)幀作為普通預(yù)測(cè)幀,參考預(yù)測(cè)幀將GOP分成至少兩個(gè)普通預(yù)測(cè)幀編碼段;其中,參考預(yù)測(cè)幀為預(yù)測(cè)幀編碼時(shí)參考起始I幀編碼的預(yù)測(cè)幀,普通預(yù)測(cè)幀為在普通預(yù)測(cè)幀編碼段內(nèi)進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)幀。其中,待編碼視頻幀GOP長(zhǎng)度計(jì)算單元521,具體用于通過(guò)如下公式調(diào)整后的GOP長(zhǎng)度:GOPSIZEcur=GOPSIZEmax+|SumMVcur-SumMVmin||SumMVmax-SumMVmin|*(GOPSIZEmin-GOPSIZEmax)]]>其中,GOPSIZEcur為待編碼視頻幀GOP長(zhǎng)度,GOPSIZEmax為GOP長(zhǎng)度的最大值,GOPSIZEmin為GOP長(zhǎng)度的最小值,SumMVcur為待編碼視頻幀的運(yùn)動(dòng)總量,SumMVmin為一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量最小值,SumMVmax為一個(gè)時(shí)間周期內(nèi)視頻幀的運(yùn)動(dòng)總量最大值。請(qǐng)繼續(xù)參閱圖8所示為了使視頻編碼碼率控制裝置500能更好地應(yīng)用于視頻監(jiān)控,進(jìn)一步的方案是,該裝置還包括待編碼視頻幀輸入幀率獲取單元530;待編碼視頻幀輸入幀率獲取單元530,參照?qǐng)D10所示,其包括時(shí)間區(qū)段獲取單元531、待編碼視頻幀輸入幀率確定單元532;其中,時(shí)間區(qū)段獲取單元531,用于通過(guò)至少一個(gè)時(shí)間周期的目標(biāo)場(chǎng)景運(yùn)動(dòng)量統(tǒng)計(jì),獲得目標(biāo)場(chǎng)景一個(gè)時(shí)間周期內(nèi)的運(yùn)動(dòng)高峰期時(shí)間區(qū)段和運(yùn)動(dòng)空閑期時(shí)間區(qū)段;運(yùn)動(dòng)高峰期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)高峰期視頻幀,運(yùn)動(dòng)空閑期時(shí)間區(qū)段目標(biāo)場(chǎng)景所對(duì)應(yīng)的視頻幀為運(yùn)動(dòng)空閑期視頻幀;待編碼視頻幀輸入幀率確定單元532,用于通過(guò)運(yùn)動(dòng)檢測(cè)獲得待編碼視頻幀像素點(diǎn)的運(yùn)動(dòng)矢量,基于空間域統(tǒng)計(jì)待編碼視頻幀的運(yùn)動(dòng)總量,結(jié)合待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段,將待編碼視頻幀的運(yùn)動(dòng)總量與預(yù)設(shè)的視頻幀運(yùn)動(dòng)總量閾值作比較,確定待編碼視頻幀輸入幀率。其中,待編碼視頻幀輸入幀率確定單元532,具體用于通過(guò)如下方式確定待編碼視頻幀輸入幀率:CUR_FPS=FPSSETSumMV≥SumMVthrFPSMIDSumMV<SumMVthrinPeakExerciseFPSMINSumMV<SumMVthrinIdleExercise]]>其中,CUR_FPS為待編碼視頻幀輸入幀率,SumMV為待編碼視頻幀的運(yùn)動(dòng)總量,SumMVthr為視頻幀運(yùn)動(dòng)總量閾值,F(xiàn)PSSET為待編碼視頻幀的運(yùn)動(dòng)總量大于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,F(xiàn)PSMID為運(yùn)動(dòng)高峰期時(shí)間區(qū)段內(nèi)待編碼視頻幀的運(yùn)動(dòng)總量小于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,F(xiàn)PSMIN為運(yùn)動(dòng)空閑期時(shí)間區(qū)段內(nèi)待編碼視頻幀的運(yùn)動(dòng)總量小于視頻幀運(yùn)動(dòng)總量閾值時(shí)的待編碼視頻幀輸入幀率,inPeakExercise是指待編碼視頻幀為運(yùn)動(dòng)高峰期視頻幀,inIdleExercise是指待編碼視頻幀為運(yùn)動(dòng)空閑期視頻幀。圖11示出了視頻編碼碼率控制裝置的預(yù)測(cè)幀編碼單元的結(jié)構(gòu)示意圖。參照?qǐng)D11所示,預(yù)測(cè)幀編碼單元550包括運(yùn)動(dòng)檢測(cè)單元551、像素點(diǎn)的QP預(yù)測(cè)值獲取單元552、QPMAP配置表獲取單元553、預(yù)測(cè)幀壓縮編碼單元556。其中,運(yùn)動(dòng)檢測(cè)單元551,用于預(yù)測(cè)幀編碼時(shí),基于運(yùn)動(dòng)檢測(cè)將當(dāng)前預(yù)測(cè)幀與前一幀作比較,得到當(dāng)前預(yù)測(cè)幀的運(yùn)動(dòng)物體區(qū)域及當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量;像素點(diǎn)的QP預(yù)測(cè)值獲取單元552,用于獲得當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值;QPMAP配置表獲取單元553,用于獲得當(dāng)前預(yù)測(cè)幀的QPMAP配置表;預(yù)測(cè)幀壓縮編碼單元556,用于采用當(dāng)前預(yù)測(cè)幀的QPMAP配置表對(duì)當(dāng)前預(yù)測(cè)幀進(jìn)行壓縮編碼。圖12示出了預(yù)測(cè)幀編碼單元的像素點(diǎn)的QP預(yù)測(cè)值獲取單元的結(jié)構(gòu)示意圖。參照?qǐng)D12所示,像素點(diǎn)的QP預(yù)測(cè)值獲取單元552,包括編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域獲取單元5521、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值計(jì)算單元5522;其中,編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域獲取單元5521,用于在運(yùn)動(dòng)矢量坐標(biāo)系下,將當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量分解為水平運(yùn)動(dòng)矢量和垂直運(yùn)動(dòng)矢量,統(tǒng)計(jì)像素點(diǎn)的水平運(yùn)動(dòng)矢量得到當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖,統(tǒng)計(jì)像素點(diǎn)的垂直運(yùn)動(dòng)矢量得到當(dāng)前預(yù)測(cè)幀的垂直運(yùn)動(dòng)矢量分布圖;及用于剔除當(dāng)前預(yù)測(cè)幀的水平運(yùn)動(dòng)矢量分布圖和垂直運(yùn)動(dòng)矢量分布圖中的背景區(qū)域,將運(yùn)動(dòng)矢量大于預(yù)設(shè)運(yùn)動(dòng)矢量閾值的像素點(diǎn)構(gòu)成的區(qū)域定義為當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域。當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值計(jì)算單元5522,結(jié)合預(yù)設(shè)的關(guān)鍵幀QP初始值、預(yù)設(shè)的預(yù)測(cè)幀QP初始值、當(dāng)前預(yù)測(cè)幀像素點(diǎn)的運(yùn)動(dòng)矢量,得出當(dāng)前預(yù)測(cè)幀中編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)水平方向QP調(diào)整值和垂直方向QP調(diào)整值,及計(jì)算出當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值。圖13示出了預(yù)測(cè)幀編碼單元的像素點(diǎn)的QPMAP配置表獲取單元的結(jié)構(gòu)示意圖。參照?qǐng)D13所示,QPMAP配置表獲取單元553,包括宏塊的編碼QP值計(jì)算單元5531、QPMAP配置表生成單元5533。其中,宏塊的編碼QP值計(jì)算單元5531,用于通過(guò)對(duì)宏塊內(nèi)的當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值均值取整,得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值;QPMAP配置表生成單元5533,用于生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表。為了將當(dāng)前預(yù)測(cè)幀的QPMAP配置表中相鄰兩個(gè)宏塊的編碼QP值之差控制在預(yù)定范圍內(nèi),進(jìn)一步的方案是,QPMAP配置表獲取單元553還包括宏塊的編碼QP值調(diào)整單元5532。宏塊的編碼QP值調(diào)整單元5532,用于在得到當(dāng)前預(yù)測(cè)幀內(nèi)宏塊的編碼QP值之后,生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表之前,將當(dāng)前預(yù)測(cè)幀內(nèi)的每一宏塊順次作為當(dāng)前宏塊,將當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP值進(jìn)行比較,在當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP之差大于6時(shí),調(diào)整當(dāng)前宏塊的編碼QP值,使當(dāng)前宏塊的編碼QP值與相鄰宏塊的編碼QP值之差小于或者等于6。請(qǐng)繼續(xù)參閱圖11所示為了使當(dāng)前預(yù)測(cè)幀的QPMAP配置表符合當(dāng)前預(yù)測(cè)幀量化編碼的需要,進(jìn)一步的方案是,預(yù)測(cè)幀編碼單元550還包括當(dāng)前預(yù)測(cè)幀時(shí)間區(qū)段處理單元554;當(dāng)前預(yù)測(cè)幀時(shí)間區(qū)段處理單元554,用于在生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表后,對(duì)運(yùn)動(dòng)空閑期當(dāng)前預(yù)測(cè)幀,基于空間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的部分高頻分量,調(diào)低運(yùn)動(dòng)物體區(qū)域所對(duì)應(yīng)的宏塊的編碼QP值,得到基于運(yùn)動(dòng)空閑期的當(dāng)前預(yù)測(cè)幀的QPMAP配置表;及用于對(duì)運(yùn)動(dòng)高峰期當(dāng)前預(yù)測(cè)幀,將運(yùn)動(dòng)高峰期內(nèi)運(yùn)動(dòng)總量為零的宏塊標(biāo)識(shí)為skip宏塊,得到基于運(yùn)動(dòng)高峰期的當(dāng)前預(yù)測(cè)幀的QPMAP配置表。為了降低循環(huán)類運(yùn)動(dòng)區(qū)域的干擾同時(shí)降低當(dāng)前預(yù)測(cè)幀的編碼碼率,進(jìn)一步的方案是,預(yù)測(cè)幀編碼單元550還包括循環(huán)類運(yùn)動(dòng)區(qū)域處理單元555;循環(huán)類運(yùn)動(dòng)區(qū)域處理單元555,用于在生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表后,基于連通性分析,將當(dāng)前預(yù)測(cè)幀中的運(yùn)動(dòng)物體區(qū)域分成循環(huán)類運(yùn)動(dòng)區(qū)域和邊界觸碰類運(yùn)動(dòng)區(qū)域;及用于基于空間域和時(shí)間域進(jìn)行圖像濾波,濾除當(dāng)前預(yù)測(cè)幀中的循環(huán)類運(yùn)動(dòng)區(qū)域的高頻分量;還用于調(diào)高當(dāng)前預(yù)測(cè)幀的QPMAP配置表中循環(huán)類運(yùn)動(dòng)區(qū)域所對(duì)應(yīng)宏塊的編碼QP值,生成降低循環(huán)類運(yùn)動(dòng)區(qū)域影響的當(dāng)前預(yù)測(cè)幀的QPMAP配置表。在本發(fā)明第三實(shí)施例中,視頻編碼碼率控制裝置,可以是虛擬裝置,這時(shí),其為前述本發(fā)明實(shí)施例任一實(shí)施例揭示的過(guò)程定義的裝置,視頻編碼碼率控制裝置所涉及的各單元模塊由軟件代碼實(shí)現(xiàn),視頻編碼碼率控制裝置為安裝于存儲(chǔ)器中并包括一個(gè)或多個(gè)由處理器執(zhí)行的軟件功能模塊,存儲(chǔ)器用于存儲(chǔ)程序,處理器通過(guò)連接存儲(chǔ)器的總線調(diào)用存儲(chǔ)在存儲(chǔ)器中的程序,執(zhí)行本發(fā)明實(shí)施例任一實(shí)施例揭示的過(guò)程所執(zhí)行的方法。視頻編碼碼率控制裝置所執(zhí)行的方法可以應(yīng)用于視頻編碼器或處理器中,或者由視頻編碼器或處理器實(shí)現(xiàn)。在本發(fā)明第三實(shí)施例中,視頻編碼碼率控制裝置,可以是硬件實(shí)體裝置,這時(shí),其為邏輯集成電路。其可以是單獨(dú)的電子器件,也可以是視頻編碼器或者處理器電路的一部分。在實(shí)現(xiàn)過(guò)程中,本發(fā)明實(shí)施例任一實(shí)施例揭示的視頻編碼碼率控制方法的各步驟可以通過(guò)處理器中的硬件的集成邏輯電路或者軟件形式的指令完成。以上所描述的視頻編碼碼率控制系統(tǒng)及其組件視頻編碼碼率控制裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,又例如,多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過(guò)一些通信接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。需要說(shuō)明的是,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。本發(fā)明實(shí)施例所提供的視頻編碼碼率控制方法,以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中。這時(shí),本發(fā)明實(shí)施例所提供的視頻編碼碼率控制方法的計(jì)算機(jī)程序產(chǎn)品,包括存儲(chǔ)了程序代碼的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述程序代碼包括的指令可用于執(zhí)行前面方法實(shí)施例中所述的方法,具體實(shí)現(xiàn)可參見(jiàn)方法實(shí)施例,在此不再贅述。綜上所述,本發(fā)明實(shí)施例提供的視頻編碼碼率控制方法、裝置及系統(tǒng),不局限于對(duì)前端攝像裝置實(shí)時(shí)捕獲的視頻幀序列進(jìn)行編碼,也適用于將已經(jīng)編碼后的視頻流或者視頻文件進(jìn)行解碼后的再編碼;不局限于對(duì)前端攝像裝置獲得視頻幀序列進(jìn)行編碼碼率控制,還適用于PPT類型教育培訓(xùn)視頻、動(dòng)畫視頻編碼碼率控制;不局限于應(yīng)用到前端攝像裝置中,還可應(yīng)用于視頻監(jiān)控系統(tǒng)、視頻會(huì)議系統(tǒng)、視頻直播系統(tǒng)、視頻教育培訓(xùn)系統(tǒng)、視頻交互通信系統(tǒng)中。本發(fā)明實(shí)施例提供的視頻編碼碼率控制方法、裝置及系統(tǒng),當(dāng)前預(yù)測(cè)幀編碼時(shí)基于運(yùn)動(dòng)矢量閾值得到當(dāng)前預(yù)測(cè)幀編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域的像素點(diǎn)的運(yùn)動(dòng)矢量,獲得當(dāng)前預(yù)測(cè)幀像素點(diǎn)的QP預(yù)測(cè)值,再得到宏塊的編碼QP值,及生成當(dāng)前預(yù)測(cè)幀的QPMAP配置表,以此控制當(dāng)前預(yù)測(cè)幀生成的殘差系數(shù)大小,實(shí)現(xiàn)視頻編碼碼率控制。由于編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域和視頻幀中的其他區(qū)域相互融合交錯(cuò),不存在矩形分區(qū)的問(wèn)題,也就沒(méi)有解碼后重構(gòu)的視頻圖像存在塊狀分層的技術(shù)問(wèn)題;由于當(dāng)前預(yù)測(cè)幀編碼時(shí),僅對(duì)編碼質(zhì)量需要保證的運(yùn)動(dòng)物體區(qū)域進(jìn)行提高量化精度,其他區(qū)域采用能保證解碼后重構(gòu)的視頻圖像具有較好視覺(jué)感受的最低碼率范圍編碼,因此能有效控制當(dāng)前預(yù)測(cè)幀的編碼碼率,提高編碼效率。在此基礎(chǔ)上可通過(guò)關(guān)鍵幀QP值控制降低關(guān)鍵幀的編碼碼率,及通過(guò)預(yù)測(cè)幀的QPMAP配置表的宏塊的編碼QP值調(diào)整,提高預(yù)測(cè)幀解碼后重構(gòu)的視頻圖像的質(zhì)量。在此基礎(chǔ)上,可在待編碼視頻幀的運(yùn)動(dòng)總量的基礎(chǔ)上結(jié)合待編碼視頻幀所對(duì)應(yīng)的時(shí)間區(qū)段,確定待編碼視頻幀輸入幀率,降低運(yùn)動(dòng)空閑期時(shí)間區(qū)段絕大部分時(shí)間段和運(yùn)動(dòng)高峰期時(shí)間區(qū)段的局部時(shí)段待編碼視頻幀輸入幀率,有效降低待編碼視頻幀的數(shù)量,達(dá)到對(duì)視頻編碼碼率的有效控制;可基于待編碼視頻幀的運(yùn)動(dòng)總量有針對(duì)地調(diào)整GOP長(zhǎng)度,有效降低視頻編碼碼率;基于當(dāng)前預(yù)測(cè)幀所處的時(shí)間區(qū)段,有針對(duì)地消除沒(méi)有必要編碼的部分視頻幀區(qū)域,有效降低視頻編碼碼率;基于運(yùn)動(dòng)區(qū)域?qū)Πl(fā)現(xiàn)異常物體的貢獻(xiàn),濾除當(dāng)前預(yù)測(cè)幀中的循環(huán)類運(yùn)動(dòng)區(qū)域的高頻分量,可有效減小當(dāng)前預(yù)測(cè)幀生成的殘差系數(shù)降低當(dāng)前預(yù)測(cè)幀的編碼碼率。如此,本發(fā)明實(shí)施例提供的視頻編碼碼率控制方法、裝置及系統(tǒng),在保證視頻監(jiān)控視頻圖像畫面質(zhì)量要求的情況下,大幅降低視頻編碼碼率,使編碼后的視頻流數(shù)據(jù)能更好地適應(yīng)傳輸網(wǎng)絡(luò)帶寬。當(dāng)前第1頁(yè)1 2 3