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

一種適用于無人機(jī)SPI接口視頻碼率控制方法與流程

文檔序號(hào):11157405閱讀:1134來源:國知局
一種適用于無人機(jī)SPI接口視頻碼率控制方法與制造工藝
本發(fā)明涉及無人機(jī)領(lǐng)域,尤其是一種視頻碼率控制方法。
背景技術(shù)
:隨著無人機(jī)在現(xiàn)代戰(zhàn)爭中應(yīng)用越來越多,其在戰(zhàn)場情報(bào)偵察、指揮和控制中也開始發(fā)揮重要作用。這些都需要無人機(jī)視頻處理系統(tǒng)能夠提供清晰可靠的視頻圖像。早期的無人機(jī)視頻處理系統(tǒng)采用JPEG2000對(duì)采集到的視頻進(jìn)行壓縮,雖然這種方法已經(jīng)能夠提供不錯(cuò)的圖像質(zhì)量,但缺點(diǎn)是壓縮后的視頻數(shù)據(jù)量較大,對(duì)帶寬有限的無線傳輸信道造成巨大的壓力。我們需要的無人機(jī)視頻處理系統(tǒng)應(yīng)能夠盡可能以恒定碼率輸出數(shù)據(jù)到數(shù)據(jù)鏈復(fù)接設(shè)備,便于與機(jī)載任務(wù)數(shù)據(jù)以及其他遙測數(shù)據(jù)進(jìn)行復(fù)接和處理。近年來研究人員和技術(shù)人員也設(shè)計(jì)出了一些無人機(jī)視頻處理系統(tǒng),但是還沒有很好的解決實(shí)時(shí)性問題和壓縮編碼數(shù)據(jù)按照信道帶寬要求以恒定速率通過SPI接口傳輸?shù)膯栴}。由于無人機(jī)機(jī)載視頻處理系統(tǒng)的壓縮數(shù)據(jù)要與機(jī)載任務(wù)數(shù)據(jù)以及其他遙測數(shù)據(jù)進(jìn)行復(fù)接,通過無線信道傳輸?shù)降孛嬷笓]中心進(jìn)行處理。因此,需要設(shè)計(jì)緩沖區(qū)碼率控制機(jī)制,使視頻處理系統(tǒng)盡可能以恒定碼率輸出數(shù)據(jù)到數(shù)據(jù)鏈復(fù)接設(shè)備,便于與機(jī)載任務(wù)數(shù)據(jù)以及其他遙測數(shù)據(jù)進(jìn)行復(fù)接和處理。技術(shù)實(shí)現(xiàn)要素:為了克服現(xiàn)有技術(shù)的不足,根據(jù)串行外設(shè)接口(SerialPeripheralInterface,SPI)接口特性以及網(wǎng)絡(luò)流媒體數(shù)據(jù)服務(wù)端處理機(jī)制,本發(fā)明提出了一種適用于無人機(jī)SPI接口視頻碼率控制方法,以實(shí)際工程需求為背景,通過分析、研究在輸出端和視頻傳輸復(fù)接接口之間劃分一塊內(nèi)存作為緩沖區(qū),通過實(shí)時(shí)調(diào)整量化因子、編碼器的輸入幀率和緩沖區(qū)占有率門限來控制輸出碼率,完成編碼控制機(jī)制和數(shù)據(jù)處理緩沖機(jī)制,解決視頻壓縮數(shù)據(jù)恒定可控問題,滿足無線信道預(yù)留帶寬的目的。本發(fā)明的適用于實(shí)時(shí)應(yīng)用的無人機(jī)SPI接口視頻碼率控制方法包括了以下步驟:步驟1:緩沖區(qū)正常工作的要求為t時(shí)刻緩沖區(qū)內(nèi)已緩存的視頻流大小等于0~t時(shí)間段內(nèi)流入緩沖區(qū)的視頻流總量減去0~t時(shí)間段內(nèi)流出緩沖區(qū)的視頻流的總量,即滿足式(1)式(1)中,Buffer(t)表示t時(shí)刻緩沖區(qū)緩存視頻數(shù)據(jù)的總量,Input_rate(t)表示t時(shí)刻已編碼的視頻流入SPI緩沖區(qū)的速度,即當(dāng)前編碼器的輸出碼率,Output_rate(t)表示t時(shí)刻視頻流出SPI緩沖區(qū)的速度,即SPI接口的視頻傳輸速度;步驟2:根據(jù)目標(biāo)碼率計(jì)算初始量化參數(shù)根據(jù)單位像素的平均目標(biāo)比特?cái)?shù)確定初始量化參數(shù)QP0,其計(jì)算公式如下:其中l(wèi)1,l2,l3是預(yù)定的閾值,l1,l2,l3的設(shè)置參數(shù)表1:表1圖像大小l1l2l3QCIF0.10.30.6CIF0.20.61.2大于CIF0.61.42.4表1中CIF為CommonIntermediateFormat,QCIF為QuarterCommonIntermediateFormat,其中CIF和QCIF都是一種通用視頻格式,CIF尺寸大小為352×288像素,QCIF尺寸大小為176×144像素;公式(2)圖像中每個(gè)像素點(diǎn)所占的比特?cái)?shù)bpp由下式確定:公式(3)中u(n1,1)表示起始可用信道帶寬,n1,1表示第1個(gè)GOP的第1幀,F(xiàn)r為編碼時(shí)的幀率,單位為幀/秒,記為fps,width表示圖像寬度,height表示圖像高度,width和height單位均為像素;GOP第一幀為I幀,其余均為P幀,對(duì)于圖像組(GroupofPicture,GOP),起始量化參數(shù)由式(4)確定:其中,表示除第1個(gè)I幀之外的第i個(gè)GOP的起始量化參數(shù),QPi-1(1)表示除第1個(gè)I幀之外的第(i-1)個(gè)GOP的起始量化參數(shù),Np(i-1)表示第(i-1)個(gè)GOP中P幀個(gè)數(shù),TotalQPforPPicture(i-1)表示第(i-1)個(gè)GOP中所有P幀量化參數(shù)之和,Ngop是第i個(gè)GOP中的總幀數(shù);公式(4)的代入公式(5),與QPi-1(1)-2相比求出最大值,即可求出迭代后的QPi(1):步驟3:根據(jù)目標(biāo)緩沖區(qū)大小,確定當(dāng)前P幀圖像的目標(biāo)比特?cái)?shù)在第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值依照下式確定:Tbl(ni,2)=Bc(ni,2)(6)其中Tbl(ni,2)是第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值,Bc(ni,2)是第i個(gè)GOP的第一個(gè)P幀編碼完成后實(shí)際緩沖區(qū)大小;隨后的P幀的目標(biāo)緩沖區(qū)大小按照式(7)計(jì)算:其中,Tbl(ni,2)表示第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值;Tbl(ni,j)表示第i個(gè)GOP的第(j-1)個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的值;Tbl(ni,j+1)表示第i個(gè)GOP的第j個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的值;Np表示第i個(gè)GOP中P幀的總幀數(shù);第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的目標(biāo)比特?cái)?shù)取決于目標(biāo)緩沖區(qū)大小、幀率、可用信道帶寬和實(shí)際緩沖區(qū)大小,計(jì)算公式如下:其中表示第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的目標(biāo)比特?cái)?shù),u(ni,j)表示第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的可用信道帶寬,γ是常數(shù),Tbl(ni,j)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的目標(biāo)緩沖區(qū)大小,Bc(ni,j)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的實(shí)際緩沖區(qū)大??;對(duì)于第i個(gè)GOP開始編碼時(shí),分配的比特?cái)?shù)由式(9)計(jì)算:其中Tr(ni,0)表示第i個(gè)GOP分配的比特?cái)?shù),u(ni,1)表示第i個(gè)GOP起始可用信道帶寬,Ngop表示第i個(gè)GOP中的總幀數(shù),Bc(ni-1,Ngop)表示編碼完第(i-1)個(gè)GOP后虛擬緩沖區(qū)實(shí)際大??;根據(jù)公式(9)計(jì)算剩余可用比特?cái)?shù),當(dāng)信道帶寬隨時(shí)間變化時(shí),剩余比特?cái)?shù)Tr(ni,j)通過下式計(jì)算:其中Tr(ni,j)表示第i個(gè)GOP的第j個(gè)P幀的剩余比特?cái)?shù),Tr(ni,j-1)表示第i個(gè)GOP的第(j-1)個(gè)P幀的剩余比特?cái)?shù),u(ni,j-1)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的可用信道帶寬,A(ni,j-1)表示第i個(gè)GOP的第j-1個(gè)P幀實(shí)際編碼比特?cái)?shù);當(dāng)信道帶寬恒定時(shí),當(dāng)前幀的剩余比特?cái)?shù)通過下式計(jì)算:Tr(ni,j)=Tr(ni,j-1)-A(ni,j-1)(11)有公式(12):其中表示第i個(gè)GOP的第j個(gè)P幀的目標(biāo)比特?cái)?shù),Np,r(j-1)表示未編碼的第(j-1)個(gè)P幀數(shù)目,當(dāng)前P幀圖像的目標(biāo)比特?cái)?shù)由和的加權(quán)組合計(jì)算得到:其中β是0至1之間的任意常數(shù);為了滿足假想的解碼器HRD(HypotheticalReferenceDecoder)要求,目標(biāo)比特?cái)?shù)作如下限制:即L(ni,j)<f(ni,j)<U(ni,j),其中,f(ni,j)表示目標(biāo)比特?cái)?shù),U(ni,j)和L(ni,j)分別表示為保證緩沖區(qū)既不上溢又不下溢時(shí),編碼圖像n所產(chǎn)生的比特?cái)?shù)的上界和下界,其中,U(ni,j)為比特?cái)?shù)的上界,L(ni,j)為比特?cái)?shù)的下界;步驟4:確定幀級(jí)量化參數(shù)QPP幀量化參數(shù)的計(jì)算如下:設(shè)定當(dāng)前幀的量化參數(shù)QPpc,當(dāng)前幀為I幀或者是緊接I幀之后的第一個(gè)P幀時(shí)QPpc=QP0;否則,根據(jù)MADPi=a1*MADPi-1+a2,a1,a2為預(yù)測模型的兩個(gè)參數(shù),初始值分別為a1=1,a2=0,MADPi代表當(dāng)前基本單元相應(yīng)位置處的MAD,MADPi-1代表前一幀相應(yīng)位置處的MAD,用前一幀的實(shí)際平均絕對(duì)差MAD(MeanAbsoluteDifference)來預(yù)測當(dāng)前幀的MAD,按照二次率失真模型,計(jì)算出當(dāng)前幀的量化參數(shù)QPpc,為了保證視頻質(zhì)量的連續(xù)性,相鄰兩幀量化參數(shù)的差值應(yīng)不大于2,則量化參數(shù)作如下調(diào)整:QPpc=min{QPpp+2,max{QPpp-2,QPpc}}(15)其中QPpp為前一幀量化參數(shù),由H.264標(biāo)準(zhǔn)可知,量化參數(shù)的取值范圍為0~51,所有對(duì)量化參數(shù)作進(jìn)一步的限制:QPpc=min{51,max{1,QPpc}}(16)用式(16)求得的量化參數(shù)對(duì)當(dāng)前幀的每個(gè)宏塊執(zhí)行率失真優(yōu)化RDO(RateDistortionOptimized),得出每個(gè)宏塊的最佳編碼模式,最后對(duì)模型參數(shù)進(jìn)行更新;步驟5:跳幀控制比特?cái)?shù)多少來表示運(yùn)動(dòng)復(fù)雜度作為跳幀衡量的標(biāo)準(zhǔn),第i個(gè)P幀的運(yùn)動(dòng)復(fù)雜度Ci用下式來表示:其中Bp,i為第i個(gè)P幀根據(jù)(i-1)幀線性預(yù)測所得到的P幀比特?cái)?shù),Bp,i=αiBi-1,αi初始值為1,Bi-1為已編碼的第(i-1)幀的實(shí)際比特?cái)?shù),αi為相鄰兩幀分配比特的變化因子,Bj(j=1,2,...,i)是已編幀的實(shí)際比特?cái)?shù),同時(shí),在比特?cái)?shù)分配完畢后,αi將進(jìn)行更新,更新公式為判定相鄰兩幀圖像是否發(fā)生場景切換的方法如下式所示:其中:Ti為場景切換變化因子,對(duì)Ti設(shè)定一個(gè)閾值ε,閾值ε為0到1的常數(shù);當(dāng)Ti>ε時(shí),判定該幀發(fā)生場景切換,由于發(fā)生場景切換時(shí)編碼比特?cái)?shù)會(huì)發(fā)生急增,容易超過緩沖區(qū)的上溢閾值ω,當(dāng)緩沖器上溢,就判定P幀為跳幀,具體步驟如下:采用GOP的結(jié)構(gòu)為IPPPP...,即圖像序列的第一幀為I幀,后面是連續(xù)的P幀,設(shè)定緩存容量的百分比為ω1,ω2,ω3,且ω1<ω2<ω3,同時(shí)設(shè)定圖像的運(yùn)動(dòng)復(fù)雜度為a,b,c,且滿足0<a<b<c<1,a、b和c均為固定值;ωi為當(dāng)前編碼幀的緩沖區(qū)滿度;當(dāng)ωi<ω1則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;當(dāng)ω1<ωi<ω2時(shí):若Ci<a,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若a<Ci<b,則認(rèn)為當(dāng)前幀為運(yùn)動(dòng)緩慢圖像,跳過此幀,若Ci>b,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;當(dāng)ω2<ωi<ω3時(shí):若Ci<b,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若b<Ci<c,則認(rèn)為當(dāng)前幀為運(yùn)動(dòng)緩慢圖像,跳過此幀,若Ci>c,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;當(dāng)ωi>ω3時(shí):若Ci<c,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若Ci>c,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;同時(shí),當(dāng)緩沖區(qū)滿度ωi超過90%以后,無論Ci的值為多少都將此幀判定為跳幀。本發(fā)明的有益效果是由于采用一種適用于無人機(jī)SPI接口視頻碼率控制方法,在編碼器的輸出端和視頻傳輸復(fù)接接口的之間劃分一塊內(nèi)存作為緩沖區(qū),通過實(shí)時(shí)調(diào)整量化因子、編碼器的輸入幀率和緩沖區(qū)占有率門限來控制輸出碼率,完成了編碼控制機(jī)制和數(shù)據(jù)處理緩沖機(jī)制,解決了視頻壓縮數(shù)據(jù)恒定可控問題,滿足無線信道預(yù)留帶寬。附圖說明圖1為本發(fā)明碼率控制流程圖。具體實(shí)施方式下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明。為了使本發(fā)明實(shí)現(xiàn)的技術(shù)手段、創(chuàng)作特征、達(dá)成目的與功效易于明白了解,下面結(jié)合具體圖示,進(jìn)一步闡述本發(fā)明,為更清楚地表述本發(fā)明的內(nèi)容,首先對(duì)一些術(shù)語加以說明:(1)I幀:I幀稱為幀內(nèi)編碼幀,I幀是一個(gè)能夠完全記載這一幀全部圖像數(shù)據(jù)的幀,即可單獨(dú)解碼。(2)P幀:P幀稱為前向預(yù)測幀,是根據(jù)與前一幀圖像的比較,去掉與前幀相似的數(shù)據(jù)而構(gòu)成的幀。(3)GOP:即圖像組(GroupofPicture),圖像壓縮一般是以GOP為一個(gè)單元的。一般情況下一個(gè)圖像組(GOP)由15幀組成,包含I幀和B、P幀等三種編碼類型,圖像幀編碼的順序?yàn)椋篒PBBPBB…IPBB…,在實(shí)時(shí)多媒體通信等情況下,一般采用IPPP…IPPP…結(jié)構(gòu)。選取編碼器編碼幀率的范圍是15~30,本發(fā)明為緩沖區(qū)設(shè)定占有率的門限即緩存容量的取值范圍為下限為65%,上限為85%。本發(fā)明的適用于實(shí)時(shí)應(yīng)用的無人機(jī)SPI接口視頻碼率控制方法包括了以下步驟:步驟1:緩沖區(qū)正常工作的要求為t時(shí)刻緩沖區(qū)內(nèi)已緩存的視頻流大小等于0~t時(shí)間段內(nèi)流入緩沖區(qū)的視頻流總量減去0~t時(shí)間段內(nèi)流出緩沖區(qū)的視頻流的總量,即滿足式(1)式(1)中,Buffer(t)表示t時(shí)刻緩沖區(qū)緩存視頻數(shù)據(jù)的總量,Input_rate(t)表示t時(shí)刻已編碼的視頻流入SPI緩沖區(qū)的速度,即當(dāng)前編碼器的輸出碼率,Output_rate(t)表示t時(shí)刻視頻流出SPI緩沖區(qū)的速度,即SPI接口的視頻傳輸速度;為防止緩沖區(qū)溢出,應(yīng)該確保Buffer(t)的值不能超過緩沖區(qū)的容量上限。等式(1)中,Output_rate(t)是恒定的,則只能通過調(diào)節(jié)Input_rate(t)的大小確保緩沖區(qū)內(nèi)t時(shí)刻的數(shù)據(jù)總量不超過緩沖區(qū)容量上限使緩沖區(qū)正常工作。Input_rate(t)是視頻編碼器的輸出碼率,在視頻編碼器的內(nèi)部,通過實(shí)時(shí)調(diào)整量化參數(shù)、編碼器的輸入幀率和緩沖區(qū)占有率門限來控制輸出碼率。步驟2:根據(jù)目標(biāo)碼率計(jì)算初始量化參數(shù)根據(jù)單位像素的平均目標(biāo)比特?cái)?shù)確定初始量化參數(shù)QP0,其計(jì)算公式如下:其中l(wèi)1,l2,l3是預(yù)定的閾值,l1,l2,l3的設(shè)置參數(shù)表1:表1圖像大小l1l2l3QCIF0.10.30.6CIF0.20.61.2大于CIF0.61.42.4表1中CIF為CommonIntermediateFormat,QCIF為QuarterCommonIntermediateFormat,其中CIF和QCIF都是一種通用視頻格式,CIF尺寸大小為352×288像素,QCIF尺寸大小為176×144像素;公式(2)圖像中每個(gè)像素點(diǎn)所占的比特?cái)?shù)bpp由下式確定:公式(3)中u(n1,1)表示起始可用信道帶寬,n1,1表示第1個(gè)GOP的第1幀,F(xiàn)r為編碼時(shí)的幀率,單位為幀/秒,記為fps,width表示圖像寬度,height表示圖像高度,width和height單位均為像素;GOP第一幀為I幀,其余均為P幀,對(duì)于圖像組(GroupofPicture,GOP),起始量化參數(shù)由式(4)確定:其中,表示除第1個(gè)I幀之外的第i個(gè)GOP的起始量化參數(shù),QPi-1(1)表示除第1個(gè)I幀之外的第(i-1)個(gè)GOP的起始量化參數(shù),Np(i-1)表示第(i-1)個(gè)GOP中P幀個(gè)數(shù),TotalQPforPPicture(i-1)表示第(i-1)個(gè)GOP中所有P幀量化參數(shù)之和,Ngop是第i個(gè)GOP中的總幀數(shù);公式(4)的代入公式(5),與QPi-1(1)-2相比求出最大值,即可求出迭代后的QPi(1):步驟3:根據(jù)目標(biāo)緩沖區(qū)大小,確定當(dāng)前P幀圖像的目標(biāo)比特?cái)?shù)要計(jì)算當(dāng)前P幀的目標(biāo)比特?cái)?shù),必須首先計(jì)算出當(dāng)前GOP中P幀的目標(biāo)緩沖區(qū)大小,而目標(biāo)緩沖區(qū)大小的設(shè)置是根據(jù)第一個(gè)即時(shí)解碼更新幀(IDR)和第一個(gè)存儲(chǔ)幀的編碼比特?cái)?shù)以及平均圖像復(fù)雜度來進(jìn)行的。由于每個(gè)GOP的第一個(gè)P幀的量化參數(shù)已在GOP層碼率控制中得到,此處只需要計(jì)算每個(gè)GOP中其他P幀的目標(biāo)緩沖區(qū)大小。在第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值依照下式確定:Tbl(ni,2)=Bc(ni,2)(6)其中Tbl(ni,2)是第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值,Bc(ni,2)是第i個(gè)GOP的第一個(gè)P幀編碼完成后實(shí)際緩沖區(qū)大??;隨后的P幀的目標(biāo)緩沖區(qū)大小按照式(7)計(jì)算:其中,Tbl(ni,2)表示第i個(gè)GOP的第一個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的起始值;Tbl(ni,j)表示第i個(gè)GOP的第(j-1)個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的值;Tbl(ni,j+1)表示第i個(gè)GOP的第j個(gè)P幀編碼完成后,目標(biāo)緩沖區(qū)大小的值;Np表示第i個(gè)GOP中P幀的總幀數(shù);根據(jù)線性理論分析,第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的目標(biāo)比特?cái)?shù)取決于目標(biāo)緩沖區(qū)大小、幀率、可用信道帶寬和實(shí)際緩沖區(qū)大小,計(jì)算公式如下:其中表示第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的目標(biāo)比特?cái)?shù),u(ni,j)表示第i個(gè)GOP的第j個(gè)P幀應(yīng)分配的可用信道帶寬,γ是常數(shù),Tbl(ni,j)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的目標(biāo)緩沖區(qū)大小,Bc(ni,j)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的實(shí)際緩沖區(qū)大?。粚?duì)于第i個(gè)GOP開始編碼時(shí),分配的比特?cái)?shù)由式(9)計(jì)算:其中Tr(ni,0)表示第i個(gè)GOP分配的比特?cái)?shù),u(ni,1)表示第i個(gè)GOP起始可用信道帶寬,Ngop表示第i個(gè)GOP中的總幀數(shù),Bc(ni-1,Ngop)表示編碼完第(i-1)個(gè)GOP后虛擬緩沖區(qū)實(shí)際大?。桓鶕?jù)公式(9)計(jì)算剩余可用比特?cái)?shù),當(dāng)信道帶寬隨時(shí)間變化時(shí),剩余比特?cái)?shù)Tr(ni,j)通過下式計(jì)算:其中Tr(ni,j)表示第i個(gè)GOP的第j個(gè)P幀的剩余比特?cái)?shù),Tr(ni,j-1)表示第i個(gè)GOP的第(j-1)個(gè)P幀的剩余比特?cái)?shù),u(ni,j-1)表示第i個(gè)GOP的第j-1個(gè)P幀應(yīng)分配的可用信道帶寬,A(ni,j-1)表示第i個(gè)GOP的第j-1個(gè)P幀實(shí)際編碼比特?cái)?shù);當(dāng)信道帶寬恒定時(shí),當(dāng)前幀的剩余比特?cái)?shù)通過下式計(jì)算:Tr(ni,j)=Tr(ni,j-1)-A(ni,j-1)(11)有公式(12):其中表示第i個(gè)GOP的第j個(gè)P幀的目標(biāo)比特?cái)?shù),Np,r(j-1)表示未編碼的第(j-1)個(gè)P幀數(shù)目,當(dāng)前P幀圖像的目標(biāo)比特?cái)?shù)由和的加權(quán)組合計(jì)算得到:其中β是0至1之間的任意常數(shù),本發(fā)明取為0.9;為了滿足假想的解碼器HRD(HypotheticalReferenceDecoder)要求,目標(biāo)比特?cái)?shù)作如下限制:即L(ni,j)<f(ni,j)<U(ni,j),其中,f(ni,j)表示目標(biāo)比特?cái)?shù),U(ni,j)和L(ni,j)分別表示為保證緩沖區(qū)既不上溢又不下溢時(shí),編碼圖像n所產(chǎn)生的比特?cái)?shù)的上界和下界,其中,U(ni,j)為比特?cái)?shù)的上界,L(ni,j)為比特?cái)?shù)的下界;步驟4:確定幀級(jí)量化參數(shù)QPP幀量化參數(shù)的計(jì)算如下:設(shè)定當(dāng)前幀的量化參數(shù)QPpc,當(dāng)前幀為I幀或者是緊接I幀之后的第一個(gè)P幀時(shí)QPpc=QP0;否則,根據(jù)MADPi=a1*MADPi-1+a2,a1,a2為預(yù)測模型的兩個(gè)參數(shù),初始值分別為a1=1,a2=0,MADPi代表當(dāng)前基本單元相應(yīng)位置處的MAD,MADPi-1代表前一幀相應(yīng)位置處的MAD,用前一幀的實(shí)際平均絕對(duì)差MAD(MeanAbsoluteDifference)來預(yù)測當(dāng)前幀的MAD,按照二次率失真模型,計(jì)算出當(dāng)前幀的量化參數(shù)QPpc,為了保證視頻質(zhì)量的連續(xù)性,相鄰兩幀量化參數(shù)的差值應(yīng)不大于2,則量化參數(shù)作如下調(diào)整:QPpc=min{QPpp+2,max{QPpp-2,QPpc}}(15)其中QPpp為前一幀量化參數(shù),由H.264標(biāo)準(zhǔn)可知,量化參數(shù)的取值范圍為0~51,所有對(duì)量化參數(shù)作進(jìn)一步的限制:QPpc=min{51,max{1,QPpc}}(16)用式(16)求得的量化參數(shù)對(duì)當(dāng)前幀的每個(gè)宏塊執(zhí)行率失真優(yōu)化RDO(RateDistortionOptimized),得出每個(gè)宏塊的最佳編碼模式,最后對(duì)模型參數(shù)進(jìn)行更新;步驟5:跳幀控制考慮到MAD值不能很好的表示運(yùn)動(dòng)復(fù)雜度的問題,并依據(jù)比特分布遵循以下的法則:高運(yùn)動(dòng)復(fù)雜度圖像對(duì)應(yīng)高比特?cái)?shù),低運(yùn)動(dòng)復(fù)雜度圖像對(duì)應(yīng)低比特?cái)?shù),以比特?cái)?shù)多少來表示運(yùn)動(dòng)復(fù)雜度作為跳幀衡量的標(biāo)準(zhǔn),第i個(gè)P幀的運(yùn)動(dòng)復(fù)雜度Ci用下式來表示:其中Bp,i為第i個(gè)P幀根據(jù)(i-1)幀線性預(yù)測所得到的P幀比特?cái)?shù),Bp,i=αiBi-1,αi初始值為1,Bi-1為已編碼的第(i-1)幀的實(shí)際比特?cái)?shù),αi為相鄰兩幀分配比特的變化因子,Bj(j=1,2,...,i)是已編幀的實(shí)際比特?cái)?shù),同時(shí),在比特?cái)?shù)分配完畢后,αi進(jìn)行更新,更新公式為為了更好地對(duì)緩沖區(qū)的占有量進(jìn)行控制,獲得高質(zhì)量的圖像質(zhì)量,將場景切換所帶來的編碼比特?cái)?shù)急增的圖像考慮進(jìn)來,給出的判定相鄰兩幀圖像是否發(fā)生場景切換的方法如下式所示:其中:Ti為場景切換變化因子,對(duì)Ti設(shè)定一個(gè)閾值ε,閾值ε為0到1的常數(shù);當(dāng)Ti>ε時(shí),就判定該幀發(fā)生場景切換,由于發(fā)生場景切換時(shí)編碼比特?cái)?shù)會(huì)發(fā)生急增,容易超過緩沖區(qū)的上溢閾值ω,所以為了防止緩沖器上溢,就判定該幀為跳幀。由于相鄰兩幀的相關(guān)性非常強(qiáng),將場景切換的GOP的第1個(gè)P幀跳過,雖然這樣做會(huì)丟失一些圖像細(xì)節(jié),導(dǎo)致圖像質(zhì)量略有下降,但是本發(fā)明能夠更加有效的控制緩沖區(qū)的占有量,能夠獲取更穩(wěn)定的圖像質(zhì)量。具體步驟如下:采用GOP的結(jié)構(gòu)為IPPPP...,即圖像序列的第一幀為I幀,后面是連續(xù)的P幀,設(shè)定緩存容量的百分比為ω1,ω2,ω3,且ω1<ω2<ω3,同時(shí)設(shè)定圖像的運(yùn)動(dòng)復(fù)雜度為a,b,c,且滿足0<a<b<c<1,a、b和c均為固定值;ωi為當(dāng)前編碼幀的緩沖區(qū)滿度;當(dāng)ωi<ω1則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;當(dāng)ω1<ωi<ω2時(shí):若Ci<a,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若a<Ci<b,則認(rèn)為當(dāng)前幀為運(yùn)動(dòng)緩慢圖像,跳過此幀,若Ci>b,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;當(dāng)ω2<ωi<ω3時(shí):若Ci<b,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若b<Ci<c,則認(rèn)為當(dāng)前幀為運(yùn)動(dòng)緩慢圖像,跳過此幀,若Ci>c,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;當(dāng)ωi>ω3時(shí):若Ci<c,則認(rèn)為當(dāng)前幀為靜止圖像,跳過此幀;若Ci>c,則認(rèn)為當(dāng)前圖像為運(yùn)動(dòng)劇烈圖像,需要編碼當(dāng)前幀;同時(shí),當(dāng)緩沖區(qū)滿度ωi超過90%以后,無論Ci的值為多少都將此幀判定為跳幀。由于I幀和前面幾個(gè)P幀對(duì)于運(yùn)動(dòng)補(bǔ)償?shù)墓烙?jì)比較重要,跳過這些幀容易影響到后面的幀,因此,本發(fā)明從第3個(gè)P幀,即第4幀開始;而對(duì)前3幀的處理方法是:對(duì)I幀不采取跳幀,對(duì)第1個(gè)和第2個(gè)P幀只有當(dāng)緩沖器的占用量達(dá)到90%時(shí)才跳過。當(dāng)前第1頁1 2 3 
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1