專利名稱:基于h.264的精細(xì)顆??缮炜s編碼的碼率控制方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視頻編碼方法,特別是一種基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法。
背景技術(shù):
碼率控制是H.264/AVC視頻編解碼的關(guān)鍵技術(shù)。對于編碼器來說,必須為每一個視頻幀分配適當(dāng)?shù)谋忍財?shù),且盡可能使可變比特率平滑。H.264/AVC存在兩種不同的碼率控制方案一是源自MPEG-2的TM5,這不適合低比特率視頻應(yīng)用場合;另一是基于流量模型、線性模型和率失真優(yōu)化(RDO)的控制策略。
雖然H.264/AVC編碼效率很高,但其多種預(yù)測模式和RDO選項給碼率控制帶來了新問題。Pornthep Navakitkanok等人提出一種碼率控制方案,可有效地分配比特數(shù)、且可監(jiān)視緩沖區(qū)的充盈度,但是只考慮了低時延的情況。Minqiang Jiang等人應(yīng)用前面編碼幀的MAD(平均絕對差)來預(yù)測當(dāng)前幀的復(fù)雜度,用MAD ratio來調(diào)整目標(biāo)比特的估計。但MAD ratio是通過線性預(yù)測得到的,當(dāng)序列中場景變換時就不精確;而且,它只是減少峰值信噪比PSNR的變化,很難改進(jìn)平均PSNR。
有的文獻(xiàn)應(yīng)用了線性模型來預(yù)測當(dāng)前幀的MAD。這種方法的問題是目標(biāo)比特僅僅取決于緩存器的充盈度,而沒有考慮到視頻幀的內(nèi)容。如果緩存器接近充滿,那么就只會分配很少的目標(biāo)比特給新的編碼幀。這將會導(dǎo)致視頻序列的不均勻的失真。而且MAD碼率控制算法只能表示當(dāng)前幀和其匹配的參考幀之間的相似度,難于較好表示視頻幀的運(yùn)動內(nèi)容。有的文獻(xiàn)提出了碼率-量化(R-Q)模型,在幀層次上近似表示視頻幀的編碼比特數(shù)與量化步長之間的關(guān)系,但只適用于有較少運(yùn)動的視頻序列。Chi-Wah Wong等人提出一種基于線性碼率和線性失真模型的碼率控制方法,利用了量化后宏塊的預(yù)測誤差的非零系數(shù)的概率,但概率因子只是由前一幀的平均QP(量化參數(shù))得到,不夠準(zhǔn)確。Hongtao Yu等利用從前面已編碼幀的實際比特數(shù)所得到的運(yùn)動復(fù)雜度來表示一個幀的運(yùn)動內(nèi)容的復(fù)雜度。但這只是恒定比特率下的碼率控制方法。
所有上述碼率控制方法都是為H.264/AVC單層視頻編碼設(shè)計的。小段時間的碼率變化可以采用接收器緩存的方法來解決。然而,大段時間碼率變化時,若仍采用緩存方法因緩存器容量受限就很難奏效了。大段時間的碼率變化問題應(yīng)采用基于SNR(質(zhì)量)、時間、或者空間的可伸縮編碼方法來解決。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法,對比于其它多層碼率控制方法,它在CIF格式下的平均亮度峰值信噪比(Y-PSNR)相比JM8.6+FGS(采用JM8.6的基本層碼率控制,采用FGS的比特平面截斷方法作增強(qiáng)層碼率控制)平均有2.45dB的增益,且與目標(biāo)比特率更為匹配。
為達(dá)到上述目的,本發(fā)明的構(gòu)思是對于CIF或者QCIF任一種視頻序列,除采用適當(dāng)大小的QP值來生成基本層(BL),確保滿足最低碼率約束外,另增加一組FGS可伸縮層,碼率可高于目標(biāo)碼率。再用精細(xì)顆粒SNR可伸縮過程來減少最終的碼率,滿足比特率約束。
上述FGS的步驟為先采用H.264/AVC的幀內(nèi)或者幀間殘差編碼獲得最小SNR質(zhì)量,然后通過不斷減少量化步長對變換系數(shù)連續(xù)精細(xì)化編碼,同時應(yīng)用一種類似于“子平面編碼方法”的經(jīng)修改的CABAC(基于上下文的自適應(yīng)二進(jìn)制算術(shù)編碼方法),來實現(xiàn)精細(xì)顆粒SNR可伸縮過程。在這樣的逐次精細(xì)化編碼模式中,用于變換系數(shù)精細(xì)化級別的每個增強(qiáng)層的編碼過程分為3次掃描粗掃描、精細(xì)化掃描和殘余掃描。在每一次掃描之后,相應(yīng)的變換系數(shù)都被傳輸。
本發(fā)明的逐次精細(xì)化FGS,在任一增強(qiáng)層的任意點處都可以截斷相應(yīng)的NAL(網(wǎng)絡(luò)適配層)單元。對于任意空間(CIF/QCIF視頻格式)-時間(30Hz/15Hz幀率)分辨率而言,最小比特率是相應(yīng)的基本層必須傳輸?shù)拇a率,在該碼率下的重建視頻為可接受的最低視頻質(zhì)量。在該碼率之上,只要通道帶寬和終端配置容許,就可截取相應(yīng)空間-時間層的逐次精細(xì)化NAL單元,提取任意碼率的碼流。
根據(jù)上述構(gòu)思,本發(fā)明的技術(shù)方案是一種基于H.264/AVC的精細(xì)顆粒可伸縮編碼的碼率控制方法,其特征在于編碼器端將基本層流和增強(qiáng)層流兩個碼流結(jié)合起來,采用基于H.264/AVC的精細(xì)可伸縮編碼的碼率控制方法,在接收端生成一個碼流文件,實現(xiàn)只需傳輸一個碼流文件和非常少量的增強(qiáng)層編碼信息;其步驟是(1)基于H.264/AVC的精細(xì)顆??缮炜s編碼根據(jù)率失真的結(jié)果來自適應(yīng)選擇量化參數(shù),編碼總比特流;(2)基本層流率控制在編碼器端對基本層做圖像組級的碼率控制;
(3)增強(qiáng)層碼率控制并在編碼器端對增強(qiáng)層做逐次精細(xì)化的碼率控制;(4)在解碼端從總比特流中提取出目標(biāo)比特流時所做的碼率控制,提取任意碼率的碼流。
上述的基于H.264/AVC的精細(xì)顆??缮炜s編碼,對每一個空間層都要進(jìn)行運(yùn)動補(bǔ)償時間分解過程,從而提供時間可伸縮性;其具體步驟如下(1)輸入原始序列,即全精度時間分辨率序列;(2)時間分解預(yù)測濾波,得到高通信號,計算其量化參數(shù)QPH;所有該層的高通信號構(gòu)成一個時間增強(qiáng)層;時間分解更新濾波,得到低通信號,計算其量化參數(shù)QPL;(3)以每次降低1/2精度時間分辨率,按步驟(2)重復(fù)從最高層至最后一層(最低層),得到最后一層的所有低通信號構(gòu)成時間基本層;(4)殘差紋理信息經(jīng)過殘差編碼,運(yùn)動描述信息經(jīng)過運(yùn)動編碼,得到信噪比可伸縮逐次精細(xì)化質(zhì)量層。
上述的基本層碼率控制的具體步驟如下(1)通過計算平均空間復(fù)雜度來定義圖像組的復(fù)雜度測度;(2)初始設(shè)定緩沖區(qū)變化和復(fù)雜度需求之間的加權(quán)因子ρ=0,序列的初始比特預(yù)算為Br,初始緩沖區(qū)充盈度為β1,從第一個圖像組開始循環(huán);(3)計算第g個圖像組分配比特數(shù)Bt(g);(4)用試探性分配的比特預(yù)算Bt(g)來檢測緩沖區(qū)狀態(tài);若緩沖區(qū)充盈度<80%,則轉(zhuǎn)下步驟(5),否則調(diào)整ρ使之遞增0.1,重復(fù)步驟(3);(5)更新緩沖區(qū)充盈度Bg,更新序列剩余比特預(yù)算Br;(6)直至最后一個圖像組,則基本層圖像組級碼率控制結(jié)束。
上述的增強(qiáng)層碼率控制,從總碼流中提取所需比特率碼流,具體步驟如下(1)設(shè)定所需目標(biāo)比特率Rt;(2)從基本層碼率控制過程得到基本層比特率R0;當(dāng)R0>Rt時,提取目標(biāo)比特流失敗,退出;否則進(jìn)行下一步驟(3);(3)目標(biāo)比特率修改為Rt=Rt-R0;(4)計算一個逐次精細(xì)化層的比特率RF;(5)若RF≤Rt,則修改目標(biāo)比特率為Rt=Rt-RF,重復(fù)步驟(4);否則截斷精細(xì)化包,且Rt=0,提取目標(biāo)比特流成功,增強(qiáng)層碼率控制結(jié)束。
下面對上述技術(shù)方案給予進(jìn)一步詳細(xì)說明圖1示出本發(fā)明總體技術(shù)方案中的下列三個步驟(1)基于H.264/AVC的FGS編碼如圖2所示,對每一個空間層都要進(jìn)行運(yùn)動補(bǔ)償時間分解過程,從而提供時間可伸縮性。原始序列是全精度時間分辨率序列。最底層時間分解階段的結(jié)果是時間基本層,其上一級時間分解階段的結(jié)果是第一個時間增強(qiáng)層,這兩層合起來構(gòu)成 精度時間分辨率序列;再上一級時間分解階段的結(jié)果是第二個時間增強(qiáng)層,……。在時間分解預(yù)測濾波的過程中,給定信號的奇數(shù)點樣本是由偶數(shù)點樣本的線性組合來預(yù)測的,新的預(yù)測值和原奇數(shù)點樣本之差形成一個高通信號。在更新濾波過程中,預(yù)測殘差(高通信號)的線性組合與輸入信號的偶數(shù)點樣本之和構(gòu)成低通信號。量化參數(shù)QPH(k,i)和QPL(k,i)分別用于編碼高通信號和低通信號,而這些高通信號Hk[i]和低通信號Lk[i]是原始輸入序列的第i幀的FGS的第k(k=0,...,n-1)個時間分解層所獲得的。其中n是圖像組中應(yīng)用的總的時間分解層數(shù)。然后,時間可伸縮過程輸出的殘差紋理信息經(jīng)過殘差編碼,運(yùn)動描述信息經(jīng)過運(yùn)動編碼,得到SNR可伸縮逐次精細(xì)化質(zhì)量層。即從較低空間層的運(yùn)動信息出發(fā),來作較高層的運(yùn)動預(yù)測;從較低空間層的紋理信息出發(fā),做較高空間層的空間預(yù)測來消除冗余。
(2)基本層碼率控制如圖3所示,本方法的基本層碼率控制是GOP級的碼率控制。為了給每一個GOP分配比特數(shù),首先通過計算如下的平均空間復(fù)雜度來為每一個GOP定義復(fù)雜度測度C‾(g)=ΣiCg,i/N(g),----(1)]]>Cg,i=(Rg,i-Hg,i)/R(g)-H(g)‾+MVg,i/MV‾(g),----(2)]]>其中Cg,i是第g個GOP中第i幀的復(fù)雜度測度,Hg,i是幀(g,i)表示非紋理信息(如幀的頭部/語法、運(yùn)動矢量)的比特數(shù),Rg,i是編碼幀(g,i)的總的比特數(shù),Rg,i-Hg,i是編碼幀(g,i)的紋理信息編碼的預(yù)算比特數(shù),R(g)-H(g)是第g個GOP的紋理信息編碼的平均比特數(shù)。MVg,i是幀(g,i)的運(yùn)動向量的比特數(shù),MV(g)是第g個GOP組的運(yùn)動向量的平均比特數(shù)。N(g)表示第g個GOP的幀數(shù)。設(shè)定ρ表示緩沖區(qū)變化和復(fù)雜度需求之間的加權(quán)因子。ρ=0表示比特分配方案完全服從幀復(fù)雜度;ρ=1.0表示比特預(yù)算平均分配而不考慮幀復(fù)雜度;0<ρ<1.0表示在緩沖區(qū)和質(zhì)量約束之間做比特分配的權(quán)衡折衷。另外,設(shè)R為信道碼率,F(xiàn)為選定的幀率,βmax為最大緩沖區(qū)充盈度。以下的GOP級循環(huán)的比特分配用于相關(guān)的N個GOP。
(A)初始設(shè)定ρ=0,比特預(yù)算為Br,初始緩沖區(qū)充盈度為βl。從第一個GOP開始循環(huán)。
(B)按下式給第g個GOP分配比特數(shù)Bt(g)=ρ·(R/F)·N(g)+(1-ρ)·C(g)·N(g)Σk=gNC(k)·N(k)·Br.----(3)]]>R/F表示每幀的平均目標(biāo)比特數(shù)。
(C)用試探性分配的比特預(yù)算Bt(g)來檢測緩沖區(qū)狀態(tài)如果 (4)則轉(zhuǎn)到第(D)步否則,調(diào)整ρ使之遞增0.1,然后回退到第(B)步。
(D)更新緩沖區(qū)狀態(tài) (5)且更新剩余比特預(yù)算Br=Br-Bt(g)。然后轉(zhuǎn)到第(B)步做第(g+1)個GOP的計算。
GOP級的比特分配為每一個GOP分配了比特預(yù)算,同時滿足了緩沖區(qū)和質(zhì)量約束的要求。幀級比特分配方案類似于GOP級的比特分配,它也是根據(jù)幀復(fù)雜度來分配比特預(yù)算的。
(3)增強(qiáng)層碼率控制從總碼流中提取所需比特率的碼流,采用如下方法。如圖4所示,令Rt表示某一空間-時間分辨率St-Tt的目標(biāo)比特率,以R0表示該空間-時間分辨率下的基本層比特率。如果R0>Rt,那么所需的空間-時間-碼率點(如176×144@15fps50kbit/s表示QCIF格式幀率為15fps時提取50kbit/s的碼流)不能從總碼流中提?。环駝t(A)目標(biāo)比特率修改為Rt⇐Rt-R0.]]>(B)從最低可支持的空間分辨率到目標(biāo)空間分辨率,需計算逐次精細(xì)化編碼包。而對于每一種空間分辨率來說,逐次精細(xì)化包的處理順序是從最低精細(xì)化編碼層到最高精細(xì)化層。對空間-時間分辨率S-Tt的每一個逐次精細(xì)化層,作以下的處理(a)令RF表示空間-時間分辨率S-Tt的第i個逐次精細(xì)化表示的比特率。
(b)若RF≤Rt,則相應(yīng)的逐次精細(xì)化包全部包含在所提取的比特流中,目標(biāo)比特率修改為Rt⇐Rt-RF.]]>(c)否則,相應(yīng)的逐次精細(xì)化包被截斷,目標(biāo)碼率歸置為零Rt=0。令L為逐次精細(xì)化包的原始大小,那么在截斷之后,長度變?yōu)?本發(fā)明與已有技術(shù)相比較,具有如下顯而易見的實質(zhì)性突出特點和顯著優(yōu)點通常對于FGS編碼方法來說,基本層流和增強(qiáng)層流是編碼成兩個視頻流分開傳輸?shù)模欢景l(fā)明在編碼器端把這兩個碼流結(jié)合起來,生成一個碼流文件,只需傳輸這一個碼流和非常少量的增強(qiáng)層編碼信息。采用一種基于H.264/AVC的FGS的碼率控制方法,根據(jù)率失真優(yōu)化的結(jié)果來自適應(yīng)選擇QP(量化參數(shù)),在編碼器端對基本層作GOP(圖像組)級的碼率控制,而對增強(qiáng)層作逐次精細(xì)化的碼率控制,與其它多層視頻編碼的碼率控制方法相比,視頻質(zhì)量更高,PSNR(峰值信噪比)變化更為平滑。在接收端,在某一目標(biāo)比特率約束下,可以由不同時間分辨率(幀速率)和不同空間分辨率(圖像格式)配置的終端截取和實時解碼。經(jīng)測試表明,本發(fā)明的平均亮度峰值信噪比(Y-PSNR)在CIF格式時優(yōu)于JM8.6+FGS方法達(dá)2.45dB,且與目標(biāo)比特率更為匹配。
圖1是本發(fā)明的基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制程序框圖。
圖2是圖1中的基于H.264/AVC的精細(xì)顆??缮炜s編碼的程序框圖。
圖3是圖1中的基本層碼率控制程序框圖。
圖4是圖1中的增強(qiáng)層碼率控制程序框圖。
具體實施例方式
本發(fā)明的一個實施例是參見圖1,本基于H.264/AVC的精細(xì)顆粒可伸縮編碼的控制方法是在編碼器端將基本層流和增強(qiáng)層流兩個碼流結(jié)合起來,采用基于H.264/AVC的精細(xì)可伸縮編碼的碼率控制方法,在接收端生成一個碼流文件,實現(xiàn)只需傳輸一個碼流文件和非常少量的增強(qiáng)層編碼信息;其步驟是(1)基于H.264/AVC的精細(xì)顆??缮炜s編碼根據(jù)率失真的結(jié)果來自適應(yīng)選擇量化參數(shù),編碼總比特流;(2)基本層流率控制在編碼器端對基本層做圖像組級的碼率控制;(3)增強(qiáng)層碼率控制并在編碼器端對增強(qiáng)層做逐次精細(xì)化的碼率控制;(4)在解碼端從總比特流中提取出目標(biāo)比特流時所做的碼率控制,提取任意碼率的碼流。
參見圖2,上述的基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法,其特征在于所述的基于H.264/AVC的精細(xì)顆??缮炜s編碼,對每一個空間層都要進(jìn)行運(yùn)動補(bǔ)償時間分解過程,從而提供時間可伸縮性;其具體步驟如下(1)輸入原始序列,即全精度時間分辨率序列;(2)時間分解預(yù)測濾波,得到高通信號,計算其量化參數(shù)QPH;所有該層的高通信號構(gòu)成一個時間增強(qiáng)層;時間分解更新濾波,得到低通信號,計算其量化參數(shù)QPL;(3)以每次降低1/2精度時間分辨率,按步驟(2)重復(fù)從最高層至最后一層(最低層),得到最后一層的所有低通信號構(gòu)成時間基本層;(4)殘差紋理信息經(jīng)過殘差編碼,運(yùn)動描述信息經(jīng)過運(yùn)動編碼,得到信噪比可伸縮逐次精細(xì)化質(zhì)量層。
參見圖3,上述的基本層碼率控制的具體步驟如下(1)通過計算平均空間復(fù)雜度來定義圖像組的復(fù)雜度測度;(2)初始設(shè)定緩沖區(qū)變化和復(fù)雜度需求之間的加權(quán)因子ρ=0,序列的初始比特預(yù)算為Br,初始緩沖區(qū)充盈度為β1,從第一個圖像組開始循環(huán);(3)計算第g個圖像組分配比特數(shù)Bt(g);(4)用試探性分配的比特預(yù)算Bt(g)來檢測緩沖區(qū)狀態(tài);若緩沖區(qū)充盈度<80%,則轉(zhuǎn)下步驟(5),否則調(diào)整ρ使之遞增0.1,重復(fù)步驟(3);(5)更新緩沖區(qū)充盈度Bg,更新序列剩余比特預(yù)算Br;(6)直至最后一個圖像組,則基本層圖像組級碼率控制結(jié)束。
參見圖4,上述的增強(qiáng)層碼率控制,從總碼流中提取所需比特率碼流,具體步驟如下(1)設(shè)定所需目標(biāo)比特率Rt;(2)從基本層碼率控制過程得到基本層比特率R0;當(dāng)R0>Rt時,提取目標(biāo)比特流失敗,退出;否則進(jìn)行下一步驟(3);(3)目標(biāo)比特率修改為Rt=Rt-R0;(4)計算一個逐次精細(xì)化層的比特率RF;(5)若RF≤Rt,則修改目標(biāo)比特率為Rt=Rt-RF,重復(fù)步驟(4);否則截斷精細(xì)化包,且Rt=0,提取目標(biāo)比特流成功,增強(qiáng)層碼率控制結(jié)束。
下面比較本文算法和JM8.6+FGS的碼率控制算法,仿真條件如表1。
表1.編碼參數(shù)
以下給出一個實例。以Foreman序列,經(jīng)過FGS編碼過程之后,在解碼端若想提取CIF格式,目標(biāo)比特率為395kbit/s(352×288@30fps395kbit/s),那么Rt=395kbit/s,R0=158.5152kbit/s。R0<Rt,所以可以從總碼流中提取出目標(biāo)碼流。并且目標(biāo)比特率修改為Rt⇐Rt-R0=236.4848kbit/s.]]>然后計算第一個逐次精細(xì)化層的比特率為RF=68.1984kbit/s。RF<Rt,Rt=Rt-RF=168.2864kbit/s,繼續(xù)計算下一個逐次精細(xì)化層的比特率為RF=243.9704kbit/s。RF>Rt,所以該逐次精細(xì)化層被截斷。Rt=0。目標(biāo)比特率比特流被成功提取出來。
表2給出在Foreman、Coastguard和News三個測試序列下,在CIF格式時本方法相對于JM8.6+FGS的亮度PSNR及與目標(biāo)比特率匹配性能比較。相比JM8.6+FGS,本發(fā)明方法在CIF格式下,Y-PSNR平均增益有2.45dB。并且與目標(biāo)比特率更匹配。
表2.3種序列CIF格式,兩種方法的比較(352×288@30fps,300Frames)
權(quán)利要求
1.一種基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法,其特征在于編碼器端將基本層流和增強(qiáng)層流兩個碼流結(jié)合起來,采用基于H.264/AVC的精細(xì)可伸縮編碼的碼率控制方法,在接收端生成一個碼流文件,實現(xiàn)只需傳輸一個碼流文件和非常少量的增強(qiáng)層編碼信息;其步驟是(1)基于H.264/AVC的精細(xì)顆粒可伸縮編碼根據(jù)率失真的結(jié)果來自適應(yīng)選擇量化參數(shù),編碼總比特流;(2)基本層流率控制在編碼器端對基本層做圖像組級的碼率控制;(3)增強(qiáng)層碼率控制并在編碼器端對增強(qiáng)層做逐次精細(xì)化的碼率控制;(4)在解碼端從總比特流中提取出目標(biāo)比特流時所做的碼率控制,提取任意碼率的碼流。
2.根據(jù)權(quán)利要求1所述的基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法,其特征在于所述的基于H.264/AVC的精細(xì)顆??缮炜s編碼,對每一個空間層都要進(jìn)行運(yùn)動補(bǔ)償時間分解過程,從而提供時間可伸縮性;其具體步驟如下(1)輸入原始序列,即全精度時間分辨率序列;(2)時間分解預(yù)測濾波,得到高通信號,計算其量化參數(shù)QPH;所有該層的高通信號構(gòu)成一個時間增強(qiáng)層;時間分解更新濾波,得到低通信號,計算其量化參數(shù)QPL;(3)以每次降低1/2精度時間分辨率,按步驟(2)重復(fù)從最高層至最后一層(最低層),得到最后一層的所有低通信號構(gòu)成時間基本層;(4)殘差紋理信息經(jīng)過殘差編碼,運(yùn)動描述信息經(jīng)過運(yùn)動編碼,得到信噪比可伸縮逐次精細(xì)化質(zhì)量層。
3.根據(jù)權(quán)利要求1所述的基于H.264/AVC的精細(xì)顆粒可伸縮編碼的碼率控制方法,其特征在于所述的基本層碼率控制的具體步驟如下(1)通過計算平均空間復(fù)雜度來定義圖像組的復(fù)雜度測度;(2)初始設(shè)定緩沖區(qū)變化和復(fù)雜度需求之間的加權(quán)因子ρ=0,序列的初始比特預(yù)算為Br,初始緩沖區(qū)充盈度為β1,從第一個圖像組開始循環(huán);(3)計算第g個圖像組分配比特數(shù)Bt(g);(4)用試探性分配的比特預(yù)算Bt(g)來檢測緩沖區(qū)狀態(tài);若緩沖區(qū)充盈度<80%,則轉(zhuǎn)下步驟(5),否則調(diào)整ρ使之遞增0.1,重復(fù)步驟(3);(5)更新緩沖區(qū)充盈度Bg,更新序列剩余比特預(yù)算Br;(6)直至最后一個圖像組,則基本層圖像組級碼率控制結(jié)束。
4.根據(jù)權(quán)利要求1所述的基于H.264/AVC的精細(xì)顆??缮炜s編碼的碼率控制方法,其特征在于所述的增強(qiáng)層碼率控制,從總碼流中提取所需比特率碼流,具體步驟如下(1)設(shè)定所需目標(biāo)比特率Rt;(2)從基本層碼率控制過程得到基本層比特率R0;當(dāng)R0>Rt時,提取目標(biāo)比特流失敗,退出;否則進(jìn)行下一步驟(3);(3)目標(biāo)比特率修改為Rt=Rt-R0;(4)計算一個逐次精細(xì)化層的比特率RF;(5)若RF≤Rt,則修改目標(biāo)比特率為Rt=Rt-RF,重復(fù)步驟(4);否則截斷精細(xì)化包,且Rt=0,提取目標(biāo)比特流成功,增強(qiáng)層碼率控制結(jié)束。
全文摘要
本發(fā)明涉及一種基于H.264/AVC的精細(xì)顆粒可伸縮編碼的碼率控制方法。本發(fā)明在編碼器端把基本層流和增強(qiáng)層流兩個碼流結(jié)合起來,生成一個碼流文件,只需傳輸這一個碼流文件和非常少量的增強(qiáng)層編碼信息,采用一種基于H.264/AVC的FGS的碼率控制方法,根據(jù)率失真優(yōu)化的結(jié)果來自適應(yīng)選擇QP(量化參數(shù)),在編碼器端對基本層作GOP(圖像組)級的碼率控制,而對增強(qiáng)層作逐次精細(xì)化的碼率控制,與其它多層視頻編碼的碼率控制方法相比,視頻質(zhì)量更高,PSNR(峰值信噪比)變化更為平滑。且在接收端,在某一目標(biāo)比特率約束下,可以由不同時間分辨率(幀速率)和不同空間分辨率(圖像格式)配置的終端截取和實時解碼。對本方法的測試表明,本發(fā)明的平均亮度峰值信噪比(Y-PSNR)在CIF格式時優(yōu)于JM8.6+FGS(采用JM8.6的基本層碼率控制,而采用FGS的比特平面截斷方法作增強(qiáng)層碼率控制)達(dá)2.45dB,且與目標(biāo)比特率更為匹配。
文檔編號H04N7/24GK1738424SQ200510026240
公開日2006年2月22日 申請日期2005年5月27日 優(yōu)先權(quán)日2005年5月27日
發(fā)明者張兆揚(yáng), 李志剛, 王國中 申請人:上海大學(xué), 上海廣電(集團(tuán))有限公司中央研究院