專利名稱:一種基于宏塊運(yùn)動狀態(tài)的h264快速模式選擇方法
技術(shù)領(lǐng)域:
本發(fā)明涉及視頻編碼領(lǐng)域,尤其涉及一種基于宏塊運(yùn)動狀態(tài)的H264快速模式選 擇方法。
背景技術(shù):
H264是由ITU-T視頻編碼專家組(VCEG)和ISO / IEC動態(tài)圖像專家組(MPEG)聯(lián) 合組成的聯(lián)合視頻組(JVT,Joint Video Team)提出的高度壓縮數(shù)字視頻編解碼器標(biāo)準(zhǔn)。 H264中引入許多新的特性,有效提升了編碼效率,但同時也增加了計(jì)算復(fù)雜度。H264的變 塊尺寸運(yùn)動補(bǔ)償技術(shù)允許在視頻編碼中采用不同的尺寸(也就是模式)對宏塊進(jìn)行運(yùn)動估 計(jì)和運(yùn)動補(bǔ)償??蛇x的幀間預(yù)測模式有31(1 、?16\16、?16\8、?8\16、?8\8,幀內(nèi)預(yù)測模 式有INTRA16X16和INTRA4X4。其中幀間預(yù)測模式P8 X 8還可以繼續(xù)分割為8 X 4、4X 8、 4 X 4三種尺寸。H264參考代碼在高復(fù)雜度模式下,對于模式選擇采用的技術(shù)是通過全搜索 的方式檢查每種模式下編碼的率失真代價(jià),取代價(jià)最小的模式為最終編碼模式。因此對一 個宏塊進(jìn)行編碼時,幀間模式共有259種可能(P16X 16 —種、P16X8 一種、P8X16 一種、 P8X8有4X4X4X4=256種)。每種幀間模式都涉及到運(yùn)動估計(jì)、運(yùn)動補(bǔ)償、變換、量化、反 變換的操作。此外還需要檢查INTRA16X 16和INTRA4X4這兩種幀內(nèi)模式。這種技術(shù)計(jì)算 復(fù)雜度極高,因此對模式選擇的優(yōu)化尤為重要。對于自然視頻序列,靜止的或者緩慢移動的區(qū)域通常使用大尺寸的模式進(jìn)行編碼 以獲得更高的編碼效率;對于快速移動的區(qū)域,使用小尺寸的模式編碼效率更高。因此可以 根據(jù)區(qū)域的運(yùn)動狀態(tài)來選擇使用何種類型的模式對宏塊進(jìn)行編碼。宏塊的運(yùn)動狀態(tài)與它的 在SKIP模式下的率失真代價(jià)有著密切的關(guān)系。對于靜止的宏塊,率失真代價(jià)很??;相反, 對于快速運(yùn)動的甚至是涉及到場景切換的宏塊,其率失真代價(jià)極大。利用率失真代價(jià)閾值 進(jìn)行模式預(yù)測的方法被廣泛使用。有論文提出一種使用預(yù)先設(shè)定好閾值作為判斷SKIP模 式的依據(jù)的方法。但是在該方法中這個率失真代價(jià)閾值是僅與量化步長QP相關(guān)的函數(shù),與 視頻序列本身無關(guān)。然而對于不同的自然視頻序列,SKIP模式的率失真代價(jià)的平均值區(qū)別 很大。即便是同一視頻中不同場景的幀,這個平均值也不同。因此使用固定的閾值來判斷 SKIP模式容易導(dǎo)致模式誤判。另外,通過時間空間上相鄰宏塊的運(yùn)動向量也可以預(yù)測當(dāng)前宏塊的運(yùn)動狀態(tài)。但 如果相鄰宏塊不是P16X 16模式編碼的宏塊,其各個子塊的運(yùn)動向量各不相同,因此需要 計(jì)算宏塊的等效運(yùn)動向量。有論文提出一種用自底向上合并各子塊運(yùn)動向量的方法來計(jì)算 等效運(yùn)動向量,但是其計(jì)算步驟過于繁瑣。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有技術(shù)的不足,提供一種基于宏塊運(yùn)動狀態(tài)的H264快 速模式選擇方法,該方法在幾乎不損害視頻質(zhì)量和壓縮效率的基礎(chǔ)上,能夠有效減少編碼 時間。
該發(fā)明目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種基于宏塊運(yùn)動狀態(tài)的H264快速模 式選擇方法,它包含以下步驟
(1)讀取待編碼的視頻幀,并將其劃分為16X16的宏塊;
(2)設(shè)置用來預(yù)測SKIP模式的率失真代價(jià)閾值 J^jp和用來預(yù)測INTRA模式的率失真代價(jià)閾值^mm的初始值Jm = 34/1卿’
Jmm= 24215fwft^ ;其中QP為量化步長;
(3)判斷當(dāng)前需要編碼的宏塊的位置對于當(dāng)前宏塊處于所在幀的第一行或者第一 列的情況,使用率失真優(yōu)化方法檢查所有的幀內(nèi)幀間模式,選擇率失真代價(jià)最小的模式為 最佳編碼模式;模式選擇完成之后,判斷當(dāng)前宏塊的最佳編碼模式是否為SKIP模式或者
INTRA模式;如果當(dāng)前宏塊采用的是SKIP模式編碼,用如下公式更新
權(quán)利要求
1. 一種H264快速模式選擇方法,其特征在于,該方法包括以下步驟(1)讀取待編碼的視頻幀,并將其劃分為16X16的宏塊;(2)設(shè)置用來預(yù)測^(IP模式的率失真代價(jià)閾值
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟(6)中,所述‘的計(jì)算方法如下(a)計(jì)算當(dāng)前宏塊的左方宏塊、上方宏塊、右上方宏塊以及前一幀中與當(dāng)前宏塊所在位 置相同的宏塊的等效運(yùn)動向量IMf ; 11#的計(jì)算方法如下N;(3)其中,y為當(dāng)前宏塊中子塊的個數(shù),胃i為第i個子塊的運(yùn)動向量的權(quán)重,其值為子塊包 含的像素?cái)?shù)與16X16宏塊包含的像素?cái)?shù)之比,MFJ第i個子塊的運(yùn)動向量 (b)計(jì)算當(dāng)前宏塊的運(yùn)動幅度Jwf的計(jì)算方法如下(4) 其中, . C.i表示宏塊X的等效運(yùn)動向量水平分量的絕對值,jr υ Λ-表示宏塊X的等效運(yùn)動向量垂直分量的絕對值,X為Α、B、C或者D。
全文摘要
本發(fā)明公開了一種基于宏塊運(yùn)動狀態(tài)的H264快速模式選擇方法,該方法根據(jù)宏塊的運(yùn)動狀態(tài)縮小模式搜索的范圍,它首先利用可以自適應(yīng)調(diào)整的率失真代價(jià)閾值對SKIP和INTRA模式進(jìn)行預(yù)測,然后根據(jù)時間空間上相鄰宏塊的運(yùn)動向量預(yù)測當(dāng)前宏塊的運(yùn)動幅度,并根據(jù)當(dāng)前宏塊的運(yùn)動幅度選擇對應(yīng)的候選模式進(jìn)行模式選擇;采用本發(fā)明的方法可以在視頻質(zhì)量幾乎不受影響的條件下,降低視頻編碼的計(jì)算復(fù)雜度,大幅減少編碼時間。
文檔編號H04N7/26GK102075751SQ20111000512
公開日2011年5月25日 申請日期2011年1月12日 優(yōu)先權(quán)日2011年1月12日
發(fā)明者沈海斌, 王琨 申請人:浙江大學(xué)