欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

視頻編碼比特率的控制方法

文檔序號(hào):7612706閱讀:145來源:國知局
專利名稱:視頻編碼比特率的控制方法
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)字通信的視頻信息傳輸與處理領(lǐng)域,具體涉及一種低碼率下視頻編碼比特率的控制方法。
背景技術(shù)
1948年,Shannon提出了信息的定義,認(rèn)為信息量的大小與信源發(fā)生的概率有關(guān),在此基礎(chǔ)上提出了信息熵的定義,指出了數(shù)據(jù)壓縮的理論上限,從而奠定了信息論的基礎(chǔ)。后來,經(jīng)過Jelinek、Gallager和Berger等人的發(fā)展,建立了限定失真信源編碼理論。
限定失真信源編碼理論的主要觀點(diǎn)是在允許一定失真的條件下,編碼比特率可以減小,同時(shí)所需要的信道容量也可以相應(yīng)的減小;允許的失真度越大,則編碼比特率可被壓縮的程度也越大。但根據(jù)信息的定義,在允許的失真度越大時(shí),信源發(fā)生的概率也越大。這也就是數(shù)字信號(hào)編碼中率失真優(yōu)化的理論依據(jù)。
在視頻編碼理論中,一般采用兩個(gè)函數(shù)即編碼比特率-量化函數(shù)R(q)和編碼失真-量化函數(shù)D(q)來進(jìn)行編碼的率失真優(yōu)化,從而實(shí)現(xiàn)編碼時(shí)的碼率控制。
碼率控制的目標(biāo)是調(diào)整輸出碼流的碼率,以便充分而有效的利用信道帶寬,同時(shí)盡可能地保證視頻圖像質(zhì)量的平穩(wěn)。不同應(yīng)用環(huán)境的編碼標(biāo)準(zhǔn)采用不同的碼率控制算法。對于實(shí)用系統(tǒng)來說碼率控制是必須的也是很重要的對于光盤等高碼率通訊產(chǎn)品,必須通過碼率控制來確定其容量;對于多媒體信息服務(wù)(MMS)等低碼率通訊業(yè)務(wù),則必須通過碼率控制來確定其輸出碼流的碼率。因?yàn)閳D像編碼時(shí)使用不同的量化參數(shù)進(jìn)行量化時(shí),最后的輸出碼率也不同,量化參數(shù)較大時(shí),編碼后的輸出碼率相對較小,而量化參數(shù)較小時(shí),編碼后的輸出碼率相對較大。因此,實(shí)現(xiàn)碼率控制的具體方式就是通過一個(gè)碼率預(yù)測模型,根據(jù)每幀圖像編碼時(shí)的目標(biāo)比特?cái)?shù),不斷改變和調(diào)整編碼時(shí)使用的量化參數(shù),從而改變了編碼時(shí)的輸出碼率。
然而,前面提到的編碼比特率-量化函數(shù)R(q)和編碼失真-量化函數(shù)D(q)都具有很強(qiáng)的非線性特征,并且與信源的相關(guān)性很強(qiáng),因此使用這兩個(gè)函數(shù)建立的數(shù)學(xué)模型的準(zhǔn)確度都不夠。如果需要有效控制輸出碼流的碼率,必須要定義新的函數(shù),建立新的數(shù)學(xué)模型。隨著現(xiàn)代無線通信的蓬勃發(fā)展,在低碼率情況下準(zhǔn)確有效地控制輸出碼率成為了目前迫切需要解決的問題。涉及碼率控制的美國專利No.6,366,704、No.6,072,831、No.6,343,098、No.6,570,922、No.6,356,668、No.6,212,302和No.6,167,162,都是基于中高碼率情況建立相應(yīng)的數(shù)學(xué)模型,在低碼率情況下工作效果不佳。

發(fā)明內(nèi)容
本發(fā)明提出一種視頻編碼比特率的控制方法,目的在于克服上述現(xiàn)有碼率控制方法的不足之處,在低碼率下準(zhǔn)確而有效地控制輸出碼率。
本發(fā)明的一種視頻編碼比特率的控制方法,包括下述步驟(1)對輸入的二維圖像序列進(jìn)行整數(shù)離散余弦變換,得到相應(yīng)的變換參數(shù),即幀有效比特位VF;然后,根據(jù)圖像幀排序進(jìn)行操作圖像幀是GOP的第一幀或第二幀,轉(zhuǎn)步驟(2);否則,轉(zhuǎn)步驟(3);(2)確定特殊幀的量化參數(shù),當(dāng)前幀是GOP中第一幀I幀,進(jìn)入步驟(2.1),當(dāng)前幀是圖像序列第一個(gè)P幀,進(jìn)入步驟(2.2);(2.1)GOP中第一幀I幀,其量化參數(shù)QP_I1根據(jù)經(jīng)驗(yàn)公式確定,然后轉(zhuǎn)步驟(6);(2.2)GOP中第一個(gè)P幀,即圖像序列的第二幀,其量化參數(shù)為QP_I1+5,然后轉(zhuǎn)步驟(6);(3)根據(jù)目標(biāo)緩沖區(qū)和虛擬緩沖區(qū)大小,確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù)當(dāng)前P幀在圖像序列的第一個(gè)GOP內(nèi),進(jìn)入(3.1);否則,進(jìn)入(3.2);(3.1)計(jì)算當(dāng)前P幀的虛擬緩沖區(qū)占用率V1(j)以及目標(biāo)緩沖區(qū)占用率S1(j),j>1,然后轉(zhuǎn)(3.3);(3.2)計(jì)算第i個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率Vi(j)和目標(biāo)緩沖區(qū)占用率S1(j),i>1,j>1;(3.3)求取第j幀編碼前GOP中剩余可編碼比特?cái)?shù)UnAllocated_Bit(i,j);(3.4)計(jì)算第i個(gè)GOP中第j幀的目標(biāo)編碼比特?cái)?shù)Ti(j),i≥1,j>1;(4)計(jì)算碼率預(yù)測模型中的待定系數(shù)a和b;設(shè)立碼率預(yù)測模型如下Frame_actual_bit=(aQP+bQP2)×VF]]>根據(jù)滑動(dòng)窗口中保存的數(shù)據(jù),計(jì)算待定系數(shù)a和b;(5)求取第i個(gè)GOP第j幀的量化參數(shù)QPi(j);把當(dāng)前P幀的目標(biāo)比特?cái)?shù)Ti(j)作為Frame_actual_bit,同時(shí)將求出的待定系數(shù)a和b、幀有效比特位VF代入碼率預(yù)測模型中,求出理想量化參數(shù)Ideal_QP(j);將理想量化參數(shù)Ideal_QP(j)與滑動(dòng)窗口中其他幀量化參數(shù)的平均值作為最終的量化參數(shù)QPi(j);(6)使用求取出的量化參數(shù),進(jìn)行量化、熵編碼等后續(xù)的編碼工作;同時(shí)將當(dāng)前圖像幀的編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù)保存于滑動(dòng)窗口中;滑動(dòng)窗口采用先進(jìn)先出的內(nèi)存管理策略,保存與當(dāng)前幀最近的圖像編碼參數(shù);
(7)重復(fù)步驟(1)到步驟(6),直到全部圖象編碼結(jié)束。
所述的視頻編碼比特率的控制方法,其特征在于(1)計(jì)算所述量化參數(shù)QP_I1的經(jīng)驗(yàn)公式為QP_I1=400<bpp<l130l1<bpp<l225l2<bpp<l315l3<bpp,bpp=bit_rateframe_rate×Nptxei]]>其中,bit_rate為控制的目標(biāo)碼率,frame_rate為目標(biāo)幀率,Npixel為圖像中像素的個(gè)數(shù);視頻序列為QCIF格式時(shí),l1=0.1,l2=0.3,l3=0.6;視頻序列為CIF格式時(shí),l1=0.2,l2=0.6,l3=1.2;視頻序列分辨率大于CIF格式時(shí),l1=0.6,l2=1.4,l3=2.4;(2)為了獲得穩(wěn)定的圖像質(zhì)量,求取第i個(gè)GOP第j幀的量化參數(shù)QPi(j)時(shí),求出理想量化參數(shù)Ideal_QP(j)后,相鄰幀的量化參數(shù)變化限制在2以內(nèi)QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}所述的視頻編碼比特率的控制方法,其進(jìn)一步特征在于,確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù)時(shí),遵從下述步驟(1)計(jì)算第1個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率V1(j)和目標(biāo)緩沖區(qū)占用率S1(j),j>1,a、計(jì)算第j幀的虛擬緩沖區(qū)占用率V1(j)的公式為V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0b、第1個(gè)P幀編碼前,設(shè)目標(biāo)緩沖區(qū)占用率S1(1)=0;第2個(gè)P幀編碼前,目標(biāo)緩沖區(qū)占用率S1(2)初始化為V1(2);S1(2)=V1(2)對于第j個(gè)P幀(j>2),目標(biāo)緩沖區(qū)占用率定義為S1(j)=S1(j-1)-S1(2)Np(1)-1,j>2,S1(1)=0,S1(2)=V1(2)]]>Np(1)為第1個(gè)GOP中P幀的個(gè)數(shù),然后轉(zhuǎn)入步驟(3);(2)計(jì)算第i個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率Vi(j)和目標(biāo)緩沖區(qū)占用率S1(j),i>1,j>1,a、計(jì)算第1幀I幀的虛擬緩沖區(qū)占用率Vi(1)和第j幀的虛擬緩沖區(qū)占用率Vi(j)采用公式Vi(1)=0i=1;Vi-1(n)i>1.]]>Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1其中,n代表GOP的長度;b、第i個(gè)GOP中的I幀編碼后,目標(biāo)緩沖區(qū)占用率初始化為Si(1)=Vi(1)對于此GOP中第j幀,編碼前的目標(biāo)緩沖區(qū)占用率定義為Si(j)=Si(j-1)-Si(1)Np(i),j>1,Si(1)=Vi(1)]]>其中目標(biāo)碼率為bit_rate,目標(biāo)幀率為frame_rate,第j-1幀編碼時(shí)實(shí)際編碼使用的比特?cái)?shù)為Actual_Bit(i,j-1),Np(i)代表第i個(gè)GOP中P幀的個(gè)數(shù);i>1,j>1,然后轉(zhuǎn)入步驟(3);(3)求取第j幀(j>1)編碼前,GOP中剩余可編碼比特?cái)?shù)UnAllocated_Bit(i,j),公式
UnAllocated_Bit(i,j)=n×bit_rate/frame_ratej=1;UnAllocated_Bit(i,j-1)-Actual-Bit(i,j-1)j>1.]]>其中,n代表GOP的長度;(4)計(jì)算第i個(gè)GOP(i≥1)中第j幀(j>1,P幀)的目標(biāo)編碼比特?cái)?shù)Ti(j),公式Ti(j)=0.5×(bit_rateframe_rate+UnAllocate_Bit(i,j)Np(i)+0.5×(Vi(j)-Si(j)))]]>所述的視頻編碼比特率的控制方法,其更進(jìn)一步特征在于計(jì)算當(dāng)前幀的碼率預(yù)測模型中待定系數(shù)a和b時(shí),將已編碼P幀的參數(shù)DataP編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù)保存于一個(gè)滑動(dòng)窗口中,計(jì)算公式為b=wΣi=1wFrame_actual_bit(i)-wΣi=1wFrame_actual_bit(i)×QP(i)VF(i)×Σi=1wQP(i)VF(i)w×Σi=1wVF(i)2QP(i)2-(Σi=1wQP(i)VF(i))2]]>a=Σi=1w[Frame_actual_bit(i)×QP(i)VF(i)-VF(i)QP(i)×b]w]]>其中,滑動(dòng)窗口的實(shí)際尺寸為w,第i個(gè)滑動(dòng)窗口中存儲(chǔ)的編碼數(shù)據(jù)分別為VF(i)、QP(i)和Frame_actual_bit(i),滑動(dòng)窗口最大尺寸為15,最小尺寸為1。
本發(fā)明用于數(shù)字視頻編碼系統(tǒng)中,基于低碼率情況建立起了一個(gè)較為準(zhǔn)確的碼率預(yù)測模型,實(shí)現(xiàn)了快速、準(zhǔn)確的碼率控制,具有如下主要優(yōu)點(diǎn)其一、輸出碼率波動(dòng)較小,PSNR值比較平穩(wěn);
其二、實(shí)際輸出碼率的控制精度高;其三、魯棒性好,適用于幾乎所有的測試序列。


圖1為本發(fā)明的流程圖;圖2為計(jì)算待定系數(shù)a和b時(shí),設(shè)置一個(gè)最小尺寸為1,最大尺寸為15的滑動(dòng)窗口選擇已編碼幀的統(tǒng)計(jì)數(shù)據(jù)示意圖;圖3為編碼比特?cái)?shù)、量化參數(shù)和幀有效比特位之間的關(guān)系曲線。
具體實(shí)施例方式
為更清楚地表述本發(fā)明的內(nèi)容,首先對一些術(shù)語加以說明(1)CIF即Common Intermediate Format,是一種通用視頻格式,其尺寸大小為352×288像素。
(2)QCIF即Quarter Common Intermediate Format,也是一種通用視頻格式,其尺寸大小為176×144像素。
(3)有效比特位對于離散余弦變換(DCT)或整數(shù)余弦變換(ICT)的變換系數(shù)Y,如果編碼器的最小量化步長為X,其有效比特位定義為 (4)宏塊有效比特位VB即一個(gè)宏塊的所有亮度塊的有效比特位之和;宏塊為一16×16象素的圖象塊。
(5)幀有效比特位VF即一幀內(nèi)所有宏塊的有效比特位之和。
(6)I幀I幀稱為幀內(nèi)編碼幀。I幀是一個(gè)能夠完全記載這一幀全部圖像數(shù)據(jù)的幀,即可單獨(dú)解碼。
(7)P幀P幀稱為前向預(yù)測幀,是根據(jù)與前一幀圖像的比較,去掉與前幀相似的數(shù)據(jù)而構(gòu)成的幀。
(8)B幀B幀稱為雙向預(yù)測幀,是根據(jù)與前后一幀圖像的比較而得到的幀。
(9)GOP即圖像組(Group of Picture)。圖像壓縮一般是以GOP為一個(gè)單元的。一般情況下一個(gè)圖像組(GOP)由15幀組成,包含I幀和B、P幀等三種編碼類型,圖像幀編碼的順序?yàn)镮 PBB PBB…I PBB…。在實(shí)時(shí)多媒體通信等情況下,一般采用IPPP…IPPP…結(jié)構(gòu)。
下面結(jié)合圖1、圖2說明本發(fā)明的工作流程(采用IPPP…結(jié)構(gòu))。
步驟(1)對輸入的二維圖像序列進(jìn)行(整數(shù))離散余弦變換,得到相應(yīng)的變換系數(shù)。根據(jù)上述定義(3)、(4)、(5)求取變換參數(shù)即幀有效比特位VF;然后,根據(jù)圖像幀的排序進(jìn)行相應(yīng)的操作如果圖像幀是GOP的第一幀或圖像序列的第二幀,則轉(zhuǎn)入步驟(2);否則,轉(zhuǎn)入步驟(3)。
步驟(2)確定序列中特殊幀的量化參數(shù),然后轉(zhuǎn)入步驟(6)。
如果當(dāng)前幀是GOP中第一幀(I幀),則進(jìn)入(2.1);如果當(dāng)前幀是圖像序列第一個(gè)P幀,則進(jìn)入(2.2)。
(2.1)對于GOP中第一幀(I幀),根據(jù)經(jīng)驗(yàn)公式其量化參數(shù)QP_I1為QP_I1=400<bpp≤l130l1<bpp≤l225l2<bpp≤l3l5l3<bpp,bpp=bit_rateframe_rate×Npixel]]>然后轉(zhuǎn)步驟(6),其中,bit_rate為控制的目標(biāo)碼率;frame_rate為目標(biāo)幀率;Nptxel為圖像中像素的個(gè)數(shù),當(dāng)視頻序列為QCIF格式時(shí),l1=0.1,l2=0.3,l3=0.6;當(dāng)視頻序列為CIF格式時(shí),l1=0.2,l2=0.6,l3=1.2;當(dāng)視頻序列分辨率大于CIF格式時(shí),l1=0.6,l2=1.4,l3=2.4;
(2.2)對于圖像序列第一個(gè)P幀,即第一個(gè)GOP中的第二幀,其量化參數(shù)為QP_I1+5,然后轉(zhuǎn)步驟(6);步驟(3)根據(jù)目標(biāo)緩沖區(qū)和虛擬緩沖區(qū)大小,確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù)。如果當(dāng)前P幀在圖像序列的第一個(gè)GOP內(nèi),則進(jìn)入(3.1);否則,進(jìn)入(3.2);(3.1)計(jì)算第1個(gè)GOP中第j幀,(j>1,P幀)的虛擬緩沖區(qū)占用率V1(j)和目標(biāo)緩沖區(qū)占用率S1(j),a、第1個(gè)GOP的第一幀(I幀)編碼后,設(shè)置虛擬緩沖區(qū)占用率初始值V1(1)=0;第1個(gè)GOP中每個(gè)P幀編碼前,采用以下公式計(jì)算第j幀的虛擬緩沖區(qū)占用率V1(j)V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0b、第1個(gè)GOP中的第1個(gè)P幀編碼前,設(shè)目標(biāo)緩沖區(qū)占用率S1(1)=0;第2個(gè)P幀編碼前,目標(biāo)緩沖區(qū)占用率S1(2)初始化為V1(2);S1(2)=V1(2)對于第1個(gè)GOP中第j個(gè)P幀(j>2),目標(biāo)緩沖區(qū)占用率定義為S1(j)=S1(j-1)-S1(2)Np(1)-1,j>2,S1(1)=0,S1(2)=V1(2)]]>上式中,Np(1)代表第1個(gè)GOP中P幀的個(gè)數(shù);然后轉(zhuǎn)入步驟(3.3)。
(3.2)計(jì)算第i個(gè)GOP(i>1)中第j幀(j>1,P幀)的虛擬緩沖區(qū)占用率Vi(j)和目標(biāo)緩沖區(qū)占用率S1(j),a、每個(gè)P幀編碼前,采用下面公式計(jì)算第i個(gè)GOP(i>1)中第1幀(I幀)的虛擬緩沖區(qū)占用率Vi(1)和第j幀(j>1,P幀)的虛擬緩沖區(qū)占用率Vi(j)。
Vi(1)=0i=1;Vi-1(n)i>1.]]>Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1上式中,n代表GOP的長度。
b、第i個(gè)GOP(i>1)中的I幀編碼后,目標(biāo)緩沖區(qū)占用率初始化為S1(1)=V1(1)對于此GOP中第j幀(j>1),編碼前的目標(biāo)緩沖區(qū)占用率定義為Si(j)=Si(j-1)-S1(1)NP(i),j>1,Si(1)=Vi(1)]]>其中目標(biāo)碼率為bit_rate,目標(biāo)幀率為frame_rate,第j-1幀編碼時(shí)實(shí)際編碼使用的比特?cái)?shù)為Actual_Bit(i,j-1),Np(i)代表第i個(gè)GOP中P幀的個(gè)數(shù);然后轉(zhuǎn)入步驟(3.3);(3.3)求取第j幀(j>1)編碼前,GOP中剩余可編碼比特?cái)?shù)UnAllocated Bit(i,j)UnAllocated_Bit(i,j)=n×bit_rate/frame_ratej=1;UnAllocated_Bit(i,j-1)-Actual_Bit(i,j-1)j>1.]]>其中,n代表GOP的長度。
(3.4)計(jì)算第i個(gè)GOP(i≥1)中第j幀(j>1,P幀)的目標(biāo)編碼比特?cái)?shù)Ti(j)Ti(j)=0.5×(bit_rateframe_rate+UnAllocate_Bit(i,j)Np(i)+0.5×(Vi(j)-Si(j)))]]>步驟(4)計(jì)算碼率預(yù)測模型中的待定系數(shù)a和b。
設(shè)立碼率預(yù)測模型如下Frame_actual_bit=(aQP+bQP2×VF)]]>其中,F(xiàn)rame_actual_bit為每幀編碼的實(shí)際比特?cái)?shù),VF為變換參數(shù)即幀有效比特位,QP為量化參數(shù),a、b均為待定系數(shù)。
根據(jù)滑動(dòng)窗口中保存的數(shù)據(jù),計(jì)算待定系數(shù)a和b。
為了計(jì)算待定系數(shù)a和b,需要將之前已編碼P幀的參數(shù)DataP(編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù))保存于一個(gè)滑動(dòng)窗口中。該滑動(dòng)窗口最大尺寸為15,最小尺寸為1。不失一般性,設(shè)滑動(dòng)窗口的實(shí)際尺寸為w,第i個(gè)滑動(dòng)窗口中存儲(chǔ)的編碼數(shù)據(jù)分別為VF(i)、QP(i)和Frame_actual_bit(i),可以根據(jù)下面公式來計(jì)算這一幀的關(guān)系公式中待定系數(shù)a和b。
b=wΣi=1wFrame_actual_bit(i)-wΣi=1wFrame_actual_bit(i)×QP(i)VF(i)×Σi=1wQP(i)VF(i)w×Σi=1wVF(i)2QP(i)2-(Σi=1wQP(i)VF(i))2]]>a=Σi=1w[Frame_actual_bit(i)×QP(i)VF(i)-VF(i)QP(i)×b]w]]>步驟(5)求取第i個(gè)GOP第j幀(j>1,P幀)的量化參數(shù)QPi(j);根據(jù)求出的當(dāng)前P幀的目標(biāo)比特?cái)?shù)Ti(j)、待定系數(shù)a和b后,把目標(biāo)比特?cái)?shù)Ti(j)作為Frame_actual_bit代入碼率預(yù)測模型中,求出理想量化參數(shù)Ideal_QP(j)。為了防止相鄰幀的圖像質(zhì)量變化太快,對相鄰P幀的量化參數(shù)變化限制在2以內(nèi),則量化參數(shù)QPi(j)為QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}同時(shí),為了獲得穩(wěn)定的圖像質(zhì)量,將理想量化參數(shù)Ideal_QP(j)與滑動(dòng)窗口中其他幀量化參數(shù)進(jìn)行平均,以平均值作為最終的量化參數(shù)QPi(j)。
步驟(6)使用求取出的量化參數(shù),進(jìn)行量化、熵編碼等后續(xù)的編碼工作。同時(shí)將當(dāng)前圖像幀的編碼參數(shù)DataP(編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù)),保存于滑動(dòng)窗口中。保存編碼參數(shù)的具體步驟如圖2所示對于視頻序列的第二個(gè)和以后的P幀,將對應(yīng)的參數(shù)DataP按照順序保存于滑動(dòng)窗口,記作DataP(i),i=0,1,…,14。滑動(dòng)窗口采用先進(jìn)先出的內(nèi)存管理策略,所以保存的是與當(dāng)前幀最近的圖像編碼參數(shù)。
步驟(7)重復(fù)步驟(1)到步驟(6),直到全部圖象編碼結(jié)束。
因?yàn)閳D像編碼時(shí)使用不同的量化參數(shù)進(jìn)行量化時(shí),最后的輸出碼率也不同。量化參數(shù)較大時(shí),編碼后的輸出碼率相對較小,而量化參數(shù)較小時(shí),編碼后的輸出碼率相對較大。這樣,就調(diào)整了該幀圖像的輸出碼率。
可以看到,上述方法的運(yùn)算量主要集中在第一步計(jì)算幀有效比特位VF的過程中,相對于整個(gè)編碼處理過程,計(jì)算復(fù)雜度較低。
針對QCIF格式的Tempete序列,利用當(dāng)前最新的國際編碼標(biāo)準(zhǔn)H.264,統(tǒng)計(jì)量化參數(shù)分別為25,27,29,31,33和35時(shí)P幀編碼累計(jì)的宏塊有效比特位與對應(yīng)的實(shí)際輸出比特?cái)?shù)之間的關(guān)系,得到如圖3所示曲線,曲線中縱坐標(biāo)為一幀圖像中亮度塊編碼后輸出的實(shí)際比特?cái)?shù)的之和actual-bit,橫坐標(biāo)為各個(gè)宏塊VB的累加值。因此,每條線段最后一個(gè)點(diǎn)的橫坐標(biāo)就是一幀的幀有效比特位VF,縱坐標(biāo)為該幀編碼后輸出的實(shí)際比特?cái)?shù)Frame-actual-bit。
本發(fā)明提出的視頻編碼比特率控制方法可以有效地運(yùn)用于不同標(biāo)準(zhǔn)的視頻編碼系統(tǒng)中。這里以目前應(yīng)用最廣泛的H.264標(biāo)準(zhǔn)的編碼測試平臺(tái)JVT JM76為例,與JVT標(biāo)準(zhǔn)中JVT-F086和JVT-G012碼率控制算法相比較,對七個(gè)標(biāo)準(zhǔn)測試序列“Football”、“Mobile”、“Foreman”、“News”、“Paris”、“Tempete”、“Bus”進(jìn)行編碼。
為了能夠客觀的評價(jià)各種算法的性能,這里定義了三種評價(jià)方式(a)平均碼率誤差,即實(shí)際輸出碼率平均值與目標(biāo)碼率的差,它反映了碼率控制的精度;(b)平均質(zhì)量,即實(shí)際輸出圖像質(zhì)量的平均值;(c)碼率偏移bit_rate_deviation,若第i幀的實(shí)際碼率為actual_bit_ratei,目標(biāo)碼率為target_bit_ratei,按照下面的公式求取N幀圖像的平均碼率偏移值。
bit_rate_deviation=Σi=1N|actual_bit_ratei_target_bit_ratetarget_bit_rate×N|]]>碼率偏移值反映了碼率變化的劇烈程度;在幀率為15f/s時(shí)得到的實(shí)驗(yàn)結(jié)果如表1所示表1 三種碼率控制算法的比較


權(quán)利要求
1.一種視頻編碼比特率的控制方法,包括下述步驟(1)對輸入的二維圖像序列進(jìn)行整數(shù)離散余弦變換,得到相應(yīng)的變換參數(shù),即幀有效比特位VF;然后,根據(jù)圖像幀排序進(jìn)行操作圖像幀是GOP的第一幀或第二幀,轉(zhuǎn)步驟(2);否則,轉(zhuǎn)步驟(3);(2)確定特殊幀的量化參數(shù),當(dāng)前幀是GOP中第一幀I幀,進(jìn)入步驟(2.1),當(dāng)前幀是圖像序列第一個(gè)P幀,進(jìn)入步驟(2.2);(2.1)GOP中第一幀I幀,其量化參數(shù)QP_I1根據(jù)經(jīng)驗(yàn)公式確定,然后轉(zhuǎn)步驟(6);(2.2)GOP中第一個(gè)P幀,即第二幀,其量化參數(shù)為QP_I1+5,然后轉(zhuǎn)步驟(6);(3)根據(jù)目標(biāo)緩沖區(qū)和虛擬緩沖區(qū)大小,確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù)當(dāng)前P幀在圖像序列的第一個(gè)GOP內(nèi),進(jìn)入(3.1);否則,進(jìn)入(3.2);(3.1)計(jì)算當(dāng)前P幀的虛擬緩沖區(qū)占用率V1(j)以及目標(biāo)緩沖區(qū)占用率S1(j),j>1,然后轉(zhuǎn)(3.3);(3.2)計(jì)算第i個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率Vi(j)和目標(biāo)緩沖區(qū)占用率S1(j),i>1,j>1;(3.3)求取第j幀編碼前GOP中剩余可編碼比特?cái)?shù)UnAllocated_Bit(i,j);(3.4)計(jì)算第i個(gè)GOP中第j幀的目標(biāo)編碼比特?cái)?shù)Ti(j),i≥1,j>1;(4)計(jì)算碼率預(yù)測模型中的待定系數(shù)a和b;設(shè)立碼率預(yù)測模型如下Frame_actual_bit=(aQP+bQP2)×VF]]>根據(jù)滑動(dòng)窗口中保存的數(shù)據(jù),計(jì)算待定系數(shù)a和b;(5)求取第i個(gè)GOP第j幀的量化參數(shù)QPi(j);把當(dāng)前P幀的目標(biāo)比特?cái)?shù)Ti(j)作為Frame_actual_bit,同時(shí)將求出的待定系數(shù)a和b、幀有效比特位VF代入碼率預(yù)測模型中,求出理想量化參數(shù)Ideal_QP(j);將理想量化參數(shù)Ideal_QP(j)與滑動(dòng)窗口中其他幀量化參數(shù)的平均值作為最終的量化參數(shù)QPi(j);(6)使用求取的量化參數(shù),進(jìn)行量化、熵編碼等后續(xù)的編碼工作;同時(shí)將當(dāng)前圖像幀的編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù)保存于滑動(dòng)窗口中;滑動(dòng)窗口采用先進(jìn)先出的內(nèi)存管理策略,保存與當(dāng)前幀最近的圖像編碼參數(shù);(7)重復(fù)步驟(1)到步驟(6),直到全部圖象編碼結(jié)束。
2.如權(quán)利要求1所述的視頻編碼比特率的控制方法,其特征在于(1)計(jì)算所述量化參數(shù)QP_I1的經(jīng)驗(yàn)公式為QP_I1=400<bpp≤l130l1<bpp≤l225l2<bpp≤l3153l<bppbpp=bit_rateframe_rate×Npixel]]>其中,bit_rate為控制的目標(biāo)碼率,frame_rate為目標(biāo)幀率,Npixel為圖像中像素的個(gè)數(shù);視頻序列為QCIF格式時(shí),l1=0.1,l2=0.3,l3=0.6;視頻序列為CIF格式時(shí),l1=0.2,l2=0.6,l3=1.2;(2)為了獲得穩(wěn)定的圖像質(zhì)量,求取第i個(gè)GOP第j幀的量化參數(shù)QPi(j)時(shí),求出理想量化參數(shù)Ideal_QP(j)后,相鄰幀的量化參數(shù)變化限制在2以內(nèi)QPi(j)=min{QPi(j-1)+2,max{QPi(j-1)-2,Ideal_QPi(j)}}
3.如權(quán)利要求1或2所述的視頻編碼比特率的控制方法,其特征在于確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù)時(shí),遵從下述步驟(1)計(jì)算第1個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率V1(j)和目標(biāo)緩沖區(qū)占用率S1(j),j>1,a、計(jì)算第j幀的虛擬緩沖區(qū)占用率V1(j)的公式為V1(j)=V1(j-1)+Actual_Bit(1,j-1)-Bit_Rate/Frame_Rate,j>1,V1(1)=0b、第1個(gè)P幀編碼前,設(shè)目標(biāo)緩沖區(qū)占用率S1(1)=0;第2個(gè)P幀編碼前,目標(biāo)緩沖區(qū)占用率S1(2)初始化為V1(2);S1(2)=V1(2)對于第j個(gè)P幀(j>2),目標(biāo)緩沖區(qū)占用率定義為S1(j)=S1(j-1)-S1(2)Np(1)-1,j>2,S1(1)=0,S1(2)=V1(2)]]>NP(1)為第1個(gè)GOP中P幀的個(gè)數(shù),然后轉(zhuǎn)入步驟(3);(2)計(jì)算第i個(gè)GOP中第j幀的虛擬緩沖區(qū)占用率Vi(j)和目標(biāo)緩沖區(qū)占用率S1(j),i>1,j>1,a、計(jì)算第1幀I幀的虛擬緩沖區(qū)占用率Vi(1)和第j幀的虛擬緩沖區(qū)占用率Vi(j)采用公式Vi(1)=0i=1;Vi-1(n)i>1.]]>Vi(j)=Vi(j-1)+Actual_Bit(i,j-1)-Bit_Rate/Frame_Rate,j>1其中,n代表GOP的長度;b、第i個(gè)GOP中的I幀編碼后,目標(biāo)緩沖區(qū)占用率初始化為Si(1)=Vi(1)對于此GOP中第j幀,編碼前的目標(biāo)緩沖區(qū)占用率定義為Si(j)=Si(j-1)-Si(1)Np(i),j>1,Si(1)=Vi(1)]]>其中目標(biāo)碼率為bit_rate,目標(biāo)幀率為frame_rate,第j-1幀編碼時(shí)實(shí)際編碼使用的比特?cái)?shù)為Actual_Bit(i,j-1),NP(i)代表第i個(gè)GOP中P幀的個(gè)數(shù);i>1,j>1,然后轉(zhuǎn)入步驟(3);(3)求取第j幀(j>1)編碼前,GOP中剩余可編碼比特?cái)?shù)UnAllocated_Bit(i,j),公式UnAllocated_Bit(i,j)=n×bit_rate/frame_ratej=1;UnAllocated_Bit(i,j-1)-Actual_Bit(i,j-1)j>1.]]>其中,n代表GOP的長度;(4)計(jì)算第i個(gè)GOP(i≥1)中第j幀(j>1,P幀)的目標(biāo)編碼比特?cái)?shù)Ti(j),公式Ti(j)=0.5×(bit_rateframe_rate+UnAllocate_Bit(i,j)Np(i)+0.5×(Vi(j)-Si(j)))]]>
4.如權(quán)利要求3所述的視頻編碼比特率的控制方法,其特征在于計(jì)算當(dāng)前幀的碼率預(yù)測模型中待定系數(shù)a和b時(shí),將已編碼P幀的參數(shù)DataP編碼比特?cái)?shù)、量化參數(shù)和變換參數(shù)保存于一個(gè)滑動(dòng)窗口中,計(jì)算公式為b=wΣi=1wFrame_actual_bit(i)-wΣi=1wFrame_actual_bit(i)×QP(i)VF(I)×Σi=1wQP(i)VF(i)w×Σi=1wVF(i)2QP(i)2-(Σi=1wQP(i)VF(i))2]]>a=Σi=1w[Frame_actual_bit(i)×QP(i)VF(i)-VF(i)QP(i)×b]w]]>其中,滑動(dòng)窗口的實(shí)際尺寸為w,第i個(gè)滑動(dòng)窗口中存儲(chǔ)的編碼數(shù)據(jù)分別為VF(i)、QP(i)和Frame_actual_bit(i),滑動(dòng)窗口最大尺寸為15,最小尺寸為1。
全文摘要
視頻編碼比特率的控制方法,屬于視頻信息傳輸與處理領(lǐng)域,克服現(xiàn)有碼率控制方法的不足,在低碼率下準(zhǔn)確有效地控制輸出碼率。本發(fā)明步驟為(1)進(jìn)行整數(shù)離散余弦變換,求取輸入圖像變換參數(shù);(2)定義GOP第一幀和整個(gè)序列第二幀的量化參數(shù);(3)確定當(dāng)前P幀圖像的目標(biāo)編碼比特?cái)?shù);(4)計(jì)算碼率預(yù)測模型中的待定系數(shù)a和b;(5)求取當(dāng)前P幀的量化參數(shù);(6)使用量化參數(shù)進(jìn)行后續(xù)編碼工作,同時(shí)將當(dāng)前圖像幀的有關(guān)參數(shù)保存于滑動(dòng)窗口中;(7)重復(fù)步驟(1)~(6),直到全部圖象編碼結(jié)束。本發(fā)明基于低碼率情況實(shí)現(xiàn)快速、準(zhǔn)確的碼率控制,輸出碼率波動(dòng)小、PSNR值平穩(wěn),接近于目標(biāo)碼率,魯棒性好,適用于所有的測試序列。
文檔編號(hào)H04N7/24GK1738423SQ20051001935
公開日2006年2月22日 申請日期2005年8月26日 優(yōu)先權(quán)日2005年8月26日
發(fā)明者朱光喜, 李宵, 戴聲奎, 劉文予, 喻莉 申請人:華中科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
城口县| 内黄县| 旬邑县| 衡阳县| 卢氏县| 锦屏县| 东兴市| 宜都市| 郎溪县| 临高县| 恩平市| 镇江市| 大方县| 米泉市| 靖远县| 合阳县| 丹棱县| 宽城| 丰城市| 睢宁县| 迁安市| 五常市| 孝昌县| 梅河口市| 黔南| 赫章县| 阿拉善盟| 萨嘎县| 来凤县| 石棉县| 米脂县| 八宿县| 固阳县| 桓台县| 秦皇岛市| 天祝| 新源县| 灯塔市| 石泉县| 康平县| 喜德县|