專(zhuān)利名稱(chēng):一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)數(shù)字視頻編碼技術(shù)領(lǐng)域,針對(duì)的是視頻編碼系統(tǒng)。具體的研究發(fā)明內(nèi)容為幀內(nèi)預(yù)測(cè)技術(shù)。
背景技術(shù):
為了在當(dāng)前有限的傳輸帶寬和存儲(chǔ)媒體中傳輸和存放圖像,我們必須對(duì)圖像進(jìn)行壓縮編碼處理。在動(dòng)態(tài)圖像的壓縮編碼技術(shù)中,編碼算法分幀內(nèi)編碼和幀間編碼兩種情況。其中對(duì)視頻序列中的第一幅圖像或景物變換后的第一幅圖像,采用幀內(nèi)變換編碼,其它圖像采用幀間編碼。在現(xiàn)有技術(shù)中,幀內(nèi)編碼使用空間預(yù)測(cè)以利用源信號(hào)中的空間統(tǒng)計(jì)相關(guān)性,幀間編碼使用基于塊的幀間預(yù)測(cè)以利用時(shí)域統(tǒng)計(jì)相關(guān)性。在具體編碼時(shí),規(guī)定了圖像內(nèi)基本處理塊的預(yù)測(cè)方式,如果是采用幀間預(yù)測(cè),按相應(yīng)的算法計(jì)算當(dāng)前塊的運(yùn)動(dòng)向量,得到其預(yù)測(cè)值;否則是采用幀內(nèi)預(yù)測(cè),利用當(dāng)前塊的相鄰的已重構(gòu)的像素按相應(yīng)的幀內(nèi)預(yù)測(cè)技術(shù)做預(yù)測(cè);進(jìn)而對(duì)預(yù)測(cè)殘差進(jìn)行變換以去除變換塊內(nèi)的空間相關(guān)性,再進(jìn)行量化;最后,使用現(xiàn)有JVT技術(shù)的變長(zhǎng)編碼或算術(shù)編碼對(duì)量化變換系數(shù)信息進(jìn)行編碼。
目前,由ITU-T和ISO/IEC JTC1兩個(gè)國(guó)際標(biāo)準(zhǔn)化組織聯(lián)合形成的音視頻標(biāo)準(zhǔn)化聯(lián)合組織JVT推出的視頻編碼標(biāo)準(zhǔn)是目前國(guó)內(nèi)外十分流行的一種編碼標(biāo)準(zhǔn),它廣泛應(yīng)用于電視圖像壓縮、多媒體通訊、多媒體計(jì)算機(jī)、圖像數(shù)據(jù)庫(kù)和通信等領(lǐng)域。在JVT中一個(gè)宏塊包括一個(gè)16×16的亮度樣值塊和兩個(gè)對(duì)應(yīng)的色度樣值塊,用作視頻編解碼過(guò)程的基本處理單元。
在JVT標(biāo)準(zhǔn)提供的5.0版本視頻編碼標(biāo)準(zhǔn)的幀內(nèi)預(yù)測(cè)技術(shù)中,亮度或色度樣值的預(yù)測(cè)采用的是基于p×q塊的預(yù)測(cè)結(jié)構(gòu),其中p表示塊的列數(shù),q表示塊的行數(shù),它是利用該p×q塊上、右上、左、左上和左下邊(圖3)已經(jīng)重構(gòu)的像素樣值,按照某些預(yù)測(cè)模式及其計(jì)算規(guī)則來(lái)預(yù)測(cè)當(dāng)前塊的像素樣值,其中,i=0,1,...,2q-1,表示像素行坐標(biāo),j=0,1,...,2p-1,表示像素列坐標(biāo),ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;其中,在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)定義當(dāng)塊為4×4塊、4×8塊、8×4塊和8×8塊時(shí),即p=4或p=8時(shí),q=4或q=8時(shí),采用9種預(yù)測(cè)模式,這些預(yù)測(cè)模式和順序?yàn)槟J?垂直預(yù)測(cè)(vertical prediction)模式1水平預(yù)測(cè)(horizontal prediction)模式2DC預(yù)測(cè)(DC prediction)模式345度方向預(yù)測(cè)(diagonal down/left prediction)模式4135度方向預(yù)測(cè)(diagonal down/right prediction)模式5112.5度方向預(yù)測(cè)(vertical-right prediction)模式6157.5度方向預(yù)測(cè)(horizontal-down prediction)模式767.5度方向預(yù)測(cè)(vertical-left prediction)模式822.5度方向預(yù)測(cè)(horizontal-up prediction)其中,除了DC預(yù)測(cè)模式,剩余的8種預(yù)測(cè)模式稱(chēng)為方向預(yù)測(cè)模式,圖4中的數(shù)字標(biāo)明了各個(gè)方向預(yù)測(cè)模式的指向,未標(biāo)出的2表示DC預(yù)測(cè)模式。其中的DC預(yù)測(cè)模式定義為i.如果sj(j=0,1,2,...,p-1),ti(i=0,1,2,...,q-1)都可用,則所有預(yù)測(cè)樣本 等于(Σj=0p-1sj+Σi=0q-1ti+(p+q)/2)/(p+q);]]>ii.如果ti(i=0,1,2,...,q-1)不可用,sj(j=0,1,2,...,p-1)可用,則所有預(yù)測(cè)樣本 等于(Σj=1p-1sj+p/2)p;]]>iii.如果sj(j=0,1,2,...,p-1)不可用,ti(i=0,1,2,...,q-1)可用,則所有預(yù)測(cè)樣本 等于(Σi=0q-1ti+q/2)/q;]]>iv.如果sj(j=0,1,2,...,p-1),ti(i=0,1,2,...,q-1)都不可用,則所有預(yù)測(cè)樣本 等于128,i=0,1,2,...,q-1,表示像素行坐標(biāo),j=0,1,2,...,p-1,表示像素列坐標(biāo);在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)還定義p=q=16時(shí)采用4種預(yù)測(cè)模式,這些預(yù)測(cè)模式為和順序?yàn)槟J?垂直預(yù)測(cè)(vertical prediction)模式1水平預(yù)測(cè)(horizontal prediction)模式2DC預(yù)測(cè)(DC prediction)模式3平板預(yù)測(cè)(plane prediction)其中的DC預(yù)測(cè)模式定義與亮度塊為4×4塊、4×8塊、8×4塊和8×8塊的預(yù)測(cè)模式定義一致。
在處理色度樣值時(shí),JVT標(biāo)準(zhǔn)定義8×8塊的4種預(yù)測(cè)模式和順序?yàn)槟J?DC預(yù)測(cè)(DC prediction)模式1水平預(yù)測(cè)(horizontal prediction)模式2垂直預(yù)測(cè)(vertical prediction)模式3平板預(yù)測(cè)(plane prediction)其中的DC預(yù)測(cè)模式定義與亮度塊為4×4塊、4×8塊、8×4塊和8×8塊的預(yù)測(cè)模式定義一致。
JVT的預(yù)測(cè)結(jié)構(gòu)很細(xì),但其在DC預(yù)測(cè)模式上的預(yù)測(cè)精準(zhǔn)性不夠高,并且其對(duì)樣值的預(yù)測(cè)模式比較多,如其對(duì)亮度樣值的預(yù)測(cè)在4×4塊、4×8塊、8×4塊和8×8塊塊的預(yù)測(cè)模式就有9種,導(dǎo)致整個(gè)算法的復(fù)雜度很高。
發(fā)明內(nèi)容
本發(fā)明目的在于克服DC預(yù)測(cè)模式預(yù)測(cè)不精準(zhǔn)的缺陷,降低編碼過(guò)程中幀內(nèi)預(yù)測(cè)算法的計(jì)算復(fù)雜度,提供一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法。
本發(fā)明的系統(tǒng)框圖如圖1所示,這種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,是通過(guò)視頻攝像機(jī)得到原始視頻序列作為輸入,通過(guò)視頻采集卡后變成視頻序列數(shù)據(jù)進(jìn)入計(jì)算機(jī),并采用JVT提供的視頻編碼技術(shù),由計(jì)算機(jī)進(jìn)行處理與運(yùn)算。其方法步驟為計(jì)算機(jī)系統(tǒng)接受采集卡處理好的原始視頻流,然后讀出接收到的視頻序列的一幅圖像,并將該圖像的像素樣值按從左至右,從上到下的順序分成16×16的宏塊;從計(jì)算機(jī)存儲(chǔ)器讀取到的宏塊被送到幀內(nèi)預(yù)測(cè)模塊,在具體編碼時(shí),規(guī)定了圖像內(nèi)基本處理塊的預(yù)測(cè)方式,如果是采用幀間預(yù)測(cè),按相應(yīng)的算法計(jì)算當(dāng)前塊的運(yùn)動(dòng)向量,得到其預(yù)測(cè)值;否則采用幀內(nèi)預(yù)測(cè),利用當(dāng)前塊的相鄰的已重構(gòu)的像素按相應(yīng)的幀內(nèi)預(yù)測(cè)技術(shù)做預(yù)測(cè),即按JVT的預(yù)測(cè)模式和本發(fā)明提出的幀內(nèi)預(yù)測(cè)方法進(jìn)行樣值預(yù)測(cè),或按本發(fā)明提出的簡(jiǎn)化的預(yù)測(cè)模式和預(yù)測(cè)模式計(jì)算方法進(jìn)行樣值預(yù)測(cè),然后按JVT標(biāo)準(zhǔn)的方法對(duì)預(yù)測(cè)殘差進(jìn)行變換以去除變換塊內(nèi)的空間相關(guān)性,再進(jìn)行量化;接著,使用現(xiàn)有JVT技術(shù)的變長(zhǎng)編碼或算術(shù)編碼對(duì)量化變換系數(shù)信息進(jìn)行編碼,直到本圖像編碼完成為止,最后輸出本圖像編碼比特流;讀取接收到的序列中的下一幅圖像,以此類(lèi)推直至所有圖像均編碼完成為止,流程見(jiàn)圖6。
在JVT標(biāo)準(zhǔn)提供的5.0版本視頻編碼標(biāo)準(zhǔn)的幀內(nèi)預(yù)測(cè)技術(shù)中,亮度或色度樣值的預(yù)測(cè)采用的是基于p×q塊的預(yù)測(cè)結(jié)構(gòu),其中p表示塊的列數(shù),q表示塊的行數(shù),它是利用該p×q塊上、右上、左、左上和左下邊已經(jīng)重構(gòu)的像素樣值,按照某些預(yù)測(cè)模式及其計(jì)算規(guī)則來(lái)預(yù)測(cè)當(dāng)前塊的像素樣值,其中,i=0,1,...,2q-1,表示像素行坐標(biāo),j=0,1,...,2p-1,表示像素列坐標(biāo),ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;其中,1).在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)定義當(dāng)塊為4×4塊、4×8塊、8×4塊和8×8塊時(shí),即p=4或p=8時(shí),q=4或q=8時(shí),采用9種預(yù)測(cè)模式,這些預(yù)測(cè)模式和順序?yàn)槟J?垂直預(yù)測(cè)模式1水平預(yù)測(cè)模式2DC預(yù)測(cè)模式345度方向預(yù)測(cè)模式4135度方向預(yù)測(cè)模式5112.5度方向預(yù)測(cè)模式6157.5度方向預(yù)測(cè)模式767.5度方向預(yù)測(cè)模式822.5度方向預(yù)測(cè)其中,除了DC預(yù)測(cè)模式,剩余的8種預(yù)測(cè)模式稱(chēng)為方向預(yù)測(cè)模式;2).在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)還定義p=q=16時(shí)采用4種預(yù)測(cè)模式,這些預(yù)測(cè)模式為和順序?yàn)槟J?垂直預(yù)測(cè)模式1水平預(yù)測(cè)模式2DC預(yù)測(cè)模式3平板預(yù)測(cè)3).在處理色度樣值時(shí),JVT標(biāo)準(zhǔn)定義8×8塊的4種預(yù)測(cè)模式和順序?yàn)槟J?DC預(yù)測(cè)模式1水平預(yù)測(cè)模式2垂直預(yù)測(cè)模式3平板預(yù)測(cè)本發(fā)明的特征在于,從計(jì)算機(jī)存儲(chǔ)器讀取宏塊數(shù)據(jù)后進(jìn)入幀內(nèi)預(yù)測(cè)模塊,所述對(duì)每個(gè)選擇幀內(nèi)預(yù)測(cè)的16×16宏塊中的像素樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成(1).取一個(gè)16×16宏塊為當(dāng)前預(yù)測(cè)宏塊;(2).將該宏塊按從左至右,從上到下的順序分成p×q,p表示塊的列數(shù),可等于4,8,或16,q表示塊的行數(shù),可等于4,8,或16;(3)取一個(gè)p×q塊為當(dāng)前塊;(4)預(yù)測(cè)當(dāng)前塊p×q的像素亮度或色度樣值;(5)取下一個(gè)p×q塊作為當(dāng)前塊,重復(fù)第(3)至(5)步的過(guò)程,直到該宏塊預(yù)測(cè)完畢為止;其中,在進(jìn)行當(dāng)前塊p×q的像素亮度或色度樣值預(yù)測(cè)時(shí),其中的DC預(yù)測(cè)模式方法的主要特征為當(dāng)前塊是利用相鄰塊(U,L,UR,UL,DL)中已解碼像素的樣值來(lái)計(jì)算其DC預(yù)測(cè)模式的,其中,定義符號(hào)C表示當(dāng)前塊,符號(hào)U表示與當(dāng)前塊相鄰的上塊,符號(hào)L表示與當(dāng)前塊相鄰的左塊,符號(hào)UL表示與當(dāng)前塊相鄰的左上塊,符號(hào)UR表示與當(dāng)前塊相鄰的右上塊,符號(hào)DL表示當(dāng)前塊表示與當(dāng)前塊相鄰的左下塊;1).與當(dāng)前塊相鄰的上、右上、左、左上和左下塊均可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的濾波方法不同;2).與當(dāng)前塊相鄰的上面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的濾波方法不同;3).與當(dāng)前塊相鄰的左面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的濾波方法不同;4).與當(dāng)前塊相鄰的上、左面塊均不可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值為128。
本發(fā)明所述一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其特征還在于,在進(jìn)入幀內(nèi)預(yù)測(cè)模塊后,所述DC預(yù)測(cè)模式,可具體采用以下方法定義1)與當(dāng)前塊相鄰的上、右上、左、左上和左下面塊均可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用雙向預(yù)測(cè)方法求取,見(jiàn)圖5中DC0;2)與當(dāng)前塊相鄰的上面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似垂直方向預(yù)測(cè)方法求取,見(jiàn)圖5中DC1;雖然該方法與垂直預(yù)測(cè)的方向一致,但運(yùn)算過(guò)程中選取的相鄰像素和濾波方法不同;3)與當(dāng)前塊相鄰的左面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值也可用近似水平方向預(yù)測(cè)方法求取,見(jiàn)圖5中DC2;雖然該方法與水平預(yù)測(cè)的方向一致,但運(yùn)算過(guò)程中選取的相鄰像素和濾波方法不同;
4)與當(dāng)前塊相鄰的上、左面塊均不可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值為128,這與現(xiàn)有JVT標(biāo)準(zhǔn)相同。
本發(fā)明所述一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其特征還在于,在進(jìn)入幀內(nèi)預(yù)測(cè)模塊后,所述DC預(yù)測(cè)模式,可具體采用以下方法定義數(shù)值(1)首先對(duì)當(dāng)前塊已重構(gòu)出的相鄰像素ti、sj和f,按JVT方法做相應(yīng)點(diǎn)的低通濾波,放到數(shù)組中,記該數(shù)組為EP,并記該數(shù)組中第m個(gè)數(shù)組變量為EPm,其中,i=0,1,...,2q-1,表示像素行坐標(biāo),j=0,1,...,2p-1,表示像素列坐標(biāo),p×q表示的塊大小,p表示塊的列數(shù),可等于4,8,或16,q表示塊的行數(shù),可等于4,8,或16,ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;m表示數(shù)組EP的下標(biāo)變量;在以下計(jì)算中,符號(hào)“>>”表示位右移運(yùn)算;EP由下列算法得到A.如果當(dāng)前宏塊有上邊相鄰的已重構(gòu)的像素,即sj可用,其中,j=0,1,2,...,p-1,則a)EP(j+1)=s(j);j=0,...,p-1b)如果當(dāng)前宏塊有右上邊相鄰的已重構(gòu)的像素,即sj可用,其中,j=p,p+1,p+2,...,2p-1,則EP(1+j+p)=s(p+j); j=0,…,p-1EP(1+j+p)=s(p+p-1);j=p,…,q-1否則EP(1+j+p)=EP(p); j=0,...,p-1c)EP(1+j+p)=EP(p+j); j =p,...,q+1d)EP(0)=s0;
B.如果當(dāng)前宏塊有左邊相鄰的已重構(gòu)的像素,即ti可用,其中,i=0,1,2,...,q-1,則a)EP(-1-i)=t(i);i=0,…,q-1b)如果當(dāng)前宏塊有左下邊相鄰的已重構(gòu)的像素,即ti可用,其中,i=q,q+1,q+2,...,2q-1,則EP(-1-i-q)=t(q+i);i=0,…,q-1EP(-1-i-q)=t(q+q-1);i=q,…,p-1否則EP(-1-i-q)=EP(-q);i=0,...,q-1c)EP(-1-i-q)=EP(-i-q);i=p,p+1d)EP(0)=t0;C.如果sj可用,并且可用ti,其中,i=0,1,2,...,q-1,其中,j=0,1,2,...,p-1,則EP(0)=f;D.定義變量last_pix等于EP(-(p+q));取i等于-(p+q),其中,i表示記數(shù)器,做以下步驟,a).令變量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令變量last_pix等于EP(i);c).令下標(biāo)為i的數(shù)組變量EPi等于new_pix;d).i增1,轉(zhuǎn)至a),直至i大于(p+q)為止;(2)DC預(yù)測(cè)模式的運(yùn)算規(guī)則
i.如果sj,ti都可用,則所有預(yù)測(cè)樣本 等于(EPi+EPj)>>1,見(jiàn)圖5中DC0其中,i=0,1,2,...,q-1,表示像素行坐標(biāo),j=0,1,2,...,p-1,表示像素列坐標(biāo);ii.如果ti不可用,sj可用,則所有預(yù)測(cè)樣本 等于EPj,見(jiàn)圖5中DCi;其中,i=0,1,2,...,q-1,表示像素行坐標(biāo),j=0,1,2,...,p-1,表示像素列坐標(biāo);iii.如果sj不可用,ti可用,則所有預(yù)測(cè)樣本 等于EPi,見(jiàn)圖5中DC2其中,i=0,1,2,...,q-1,表示像素行坐標(biāo),j=0,1,2,...,p-1,表示像素列坐標(biāo);iv.如果sj,ti都不可用,則所有預(yù)測(cè)樣本 等于128,其中,i=0,1,2,...,q-1,表示像素行坐標(biāo),j=0,1,2,...,p-1,表示像素列坐標(biāo)。
本發(fā)明所述一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其特征還在于,從硬件的實(shí)現(xiàn)上考慮,當(dāng)p×q塊為4×4或4×8或8×4或8×8大小時(shí),亮度樣值9種預(yù)測(cè)模式的結(jié)構(gòu)非常復(fù)雜,希望用一種更為簡(jiǎn)單的預(yù)測(cè)模式來(lái)實(shí)現(xiàn)圖像的壓縮,而且又能保證圖像壓縮的性能不降低。因此本發(fā)明提出可以選取9種預(yù)測(cè)模式中的部分預(yù)測(cè)模式,并按編碼的需要對(duì)這些模式做重新的模式排序;如可采用一種基于5種預(yù)測(cè)模式的幀內(nèi)亮度樣值預(yù)測(cè)方法,即本發(fā)明提出的DC預(yù)測(cè),以及JVT中采用的垂直預(yù)測(cè)、水平預(yù)測(cè)、45度方向預(yù)測(cè)、135度方向預(yù)測(cè)模式;模式0垂直預(yù)測(cè)(vertical prediction)模式1水平預(yù)測(cè)(horizontal prediction)模式2DC預(yù)測(cè)(DC prediction,本發(fā)明提出的DC預(yù)測(cè)模式)模式345度方向預(yù)測(cè)(diagonal down/left prediction)
模式4135度方向預(yù)測(cè)(diagonal down/right prediction)這種簡(jiǎn)化的預(yù)測(cè)結(jié)構(gòu)比原來(lái)JVT采用的9種預(yù)測(cè)模式少了4個(gè)方向的預(yù)測(cè)計(jì)算,大大減少了計(jì)算復(fù)雜度。
同樣地,對(duì)于16×16亮度塊和8×8色度塊,也可只采用本發(fā)明提出的DC預(yù)測(cè)模式以及與JVT中的垂直預(yù)測(cè)模式、水平預(yù)測(cè)模式和平板預(yù)測(cè)模式中的一種或兩種預(yù)測(cè)模式。
本發(fā)明一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法與JVT標(biāo)準(zhǔn)的幀內(nèi)預(yù)測(cè)方法相比,其DC預(yù)測(cè)模式使預(yù)測(cè)更為準(zhǔn)確,提高了圖像的編碼質(zhì)量;其簡(jiǎn)化的預(yù)測(cè)模式,在保證圖像編碼性能沒(méi)有下降的條件下,大大減少了計(jì)算的復(fù)雜度。
圖1系統(tǒng)框圖;圖2當(dāng)前塊與其相鄰塊位置圖;圖3 p×q塊樣值的預(yù)測(cè)結(jié)構(gòu)圖;圖4 p×q塊亮度樣值的8個(gè)預(yù)測(cè)方向圖;圖5 DC預(yù)測(cè)模式示意圖;圖6系統(tǒng)流程圖;圖7 8×8塊亮度樣值的預(yù)測(cè)結(jié)構(gòu)圖;圖8亮度樣值在9種預(yù)測(cè)模式下按本發(fā)明定義和JVT標(biāo)準(zhǔn)定義下樣值信噪比及比特率曲線圖;圖9亮度樣值在本發(fā)明定義的5種預(yù)測(cè)模式下和JVT標(biāo)準(zhǔn)定義的9種預(yù)測(cè)模式下樣值信噪比及比特率曲線圖;圖10色度兩個(gè)樣值中的第一個(gè)樣值U在本發(fā)明定義的DC預(yù)測(cè)和平板預(yù)測(cè)2種預(yù)測(cè)模式下和JVT標(biāo)準(zhǔn)定義的4種預(yù)測(cè)模式下樣值信噪比及比特率曲線圖;圖11色度兩個(gè)樣值中的第二個(gè)樣值V在本發(fā)明定義的DC預(yù)測(cè)和平板預(yù)測(cè)2種預(yù)測(cè)模式下和JVT標(biāo)準(zhǔn)定義的4種預(yù)測(cè)模式下樣值信噪比及比特率曲線圖;具體實(shí)施方式
根據(jù)本發(fā)明技術(shù)方案,按照?qǐng)D1,圖6所示,通過(guò)視頻攝像機(jī)得到原始的視頻序列作為輸入,通過(guò)視頻采集卡后變成視頻數(shù)據(jù)流進(jìn)入計(jì)算機(jī),并采用JVT提供的視頻編碼技術(shù),對(duì)序列中圖像的亮度樣值做基于8×8塊的幀內(nèi)預(yù)測(cè),具體步驟如下1.讀取序列中的一幅圖像;2.將圖像按16×16大小劃分成一個(gè)個(gè)的宏塊;3.取一個(gè)16×16宏塊為當(dāng)前預(yù)測(cè)宏塊;4.將該宏塊按從左至右,從上到下的順序分成8×8的塊;5.取一個(gè)8×8塊為當(dāng)前塊;6.預(yù)測(cè)當(dāng)前塊8×8塊的像素亮度樣值;當(dāng)前的8×8塊周邊的已經(jīng)編碼完的像素亮度樣值位置如圖7所示,定義其9種預(yù)測(cè)模式極其順序?yàn)槟J?垂直預(yù)測(cè)(vertical prediction)模式1水平預(yù)測(cè)(horizontal prediction)模式2DC預(yù)測(cè)(DC prediction)模式345度方向預(yù)測(cè)(diagonal down/left prediction)模式4135度方向預(yù)測(cè)(diagonal down/right prediction)模式5112.5度方向預(yù)測(cè)(vertical-right prediction)模式6157.5度方向預(yù)測(cè)(horizontal-down prediction)模式767.5度方向預(yù)測(cè)(vertical-left prediction)模式822.5度方向預(yù)測(cè)(horizontal-up prediction)按本發(fā)明提出的一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,9種模式下本塊的預(yù)測(cè)模式定義如下1.首先對(duì)當(dāng)前塊已重構(gòu)出的相鄰像素ti、sj和f,按JVT方法做相應(yīng)點(diǎn)的低通濾波,放到數(shù)組中,記該數(shù)組為EP,并記該數(shù)組中第m個(gè)數(shù)組變量為EPm,其中,i=0,1,...,2q-1,表示像素行坐標(biāo),j=0,1,...,2p-1,表示像素列坐標(biāo),p×q表示的塊大小,p表示塊的列數(shù),可等于4,8,或16,q表示塊的行數(shù),可等于4,8,或16,ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;m表示數(shù)組EP的下標(biāo)變量;在以下計(jì)算中,符號(hào)“>>”表示位右移運(yùn)算。
EP由下列算法得到A.如果當(dāng)前宏塊有上邊相鄰的已重構(gòu)的像素,即sj(j=0,1,2,...,7)可用,則a)EP(j+1)=s(j);j=0,...,7b)如果當(dāng)前宏塊有右上邊相鄰的已重構(gòu)的像素,即sj(j=7,8,...,15)可用,則EP(1+j+p)=s(p+j); j=0,...,7否則EP(1+j+p)=EP(p);j=0,...,7c)EP(1+j+p)=EP(p+j);j=8,9d)EP(0)=s0;B.如果當(dāng)前宏塊有左邊相鄰的已重構(gòu)的像素,即ti(i=0,1,2,...,7)可用,則a)EP(-1-i)=t(i); i=0,...,7b)如果當(dāng)前宏塊有左下邊相鄰的已重構(gòu)的像素,即ti(i=8,9,...,15)可用,則EP(-1-i-q)=t(q+i));i=0,...,7否則EP(-1-i-q)=EP(-q);i=0,...,7
c)EP(-1-i-q)=EP(-i-q);i=8,9d)EP(0)=t0;C.如果sj(j=0,1,2,...,7)可用,并且ti(i=0,1,2,...,7)可用,則EP(0)=f;E.定義變量last_pix等于EP(-16);取i等于-16,其中,i表示記數(shù)器,做以下步驟,a).令變量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令變量last_pix等于EP(i);c).令下標(biāo)為i的數(shù)組變量EPi等于new_pix;d).i增1,轉(zhuǎn)至a),直至i大于16為止;2.計(jì)算各模式下的預(yù)測(cè)值a、模式0垂直預(yù)測(cè)(vertical Prediction)使用本模式的必要條件是sj(j=0,1,2,...,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~000=a~010=a~020=···=a~070=s0;]]>a~001=a~011=a~021=···=a~071=s1;]]>a~000=a~012=a~022=···=a~072=s2;]]>a~007=a~017=a~027=···=a~077=s7;]]>b、模式1水平預(yù)測(cè)(horizontal prediction)
使用本模式的必要條件是ti(i=0,1,2,...,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~100=a~101=a~102=···=a~107=t0;]]>a~110=a~111=a~112=···a~117=t1;]]>a~120=a~121=a~122=···=a~127=t2;]]>a~170=a~171=a~172=···=a~177=t7;]]>c、模式2DC預(yù)測(cè)(DC prediction)i.如果sj(j=0,1,2,...,7),ti(i=0,1,2,...,7)都可用,則所有預(yù)測(cè)樣本 等于(EPi+EPj)>>1;ii.如果ti(i=0,1,2,...,7)不可用,sj(j=0,1,2,...,7)可用,則所有預(yù)測(cè)樣本 等于EPj;iii.如果sj(j=0,1,2,...,7)不可用,ti(i=0,1,2,...,7)可用,則所有預(yù)測(cè)樣本 等于EPi;iv.如果sj(j=0,1,2,...,7),ti(i=0,1,2,...,7)都不可用,則所有預(yù)測(cè)樣本 等于128,i=0,1,2,...,7,表示像素行坐標(biāo),j=0,1,2,...,7,表示像素列坐標(biāo);其它預(yù)測(cè)模式和其運(yùn)算規(guī)則與JVT標(biāo)準(zhǔn)相同。
7.確定當(dāng)前塊的最優(yōu)預(yù)測(cè)模式a.定義k表示當(dāng)前預(yù)測(cè)模式,令其初始值為0;b.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值Δk
Δk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k表示預(yù)測(cè)模式編碼號(hào);i=0,1,2,...,q-1表示像素行坐標(biāo);j=0,1,2,...,p-1表示像素列坐標(biāo);c.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換(DCT變換指離散余弦變換)、量化和熵編碼,計(jì)算當(dāng)前塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)塊中的各個(gè)像素點(diǎn)的亮度樣值,記為 k表示預(yù)測(cè)模式編碼號(hào);i=0,1,2,...,q-1表示像素行坐標(biāo);j=0,1,2,...,p-1表示像素列坐標(biāo);d.采用JVT中的方法計(jì)算該塊在當(dāng)前預(yù)測(cè)模式下的失真率,記為rdcost;distortion=Σi,j(aij-a^kij)2]]>rd cost=distortion+lambda×rate;其中,distortion為當(dāng)前塊的所有像素的原始亮度樣值與預(yù)測(cè)值差的平方和,lambda為常數(shù),rate為在當(dāng)前模式下編碼當(dāng)前塊所用比特?cái)?shù);e.k值增1,重復(fù)第b,c,d,e步,直至本塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;d.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;8.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該塊的最后預(yù)測(cè)值,記為 i=0,1,2,...,q-1表示像素行坐標(biāo);j=0,1,2,...,p-1表示像素列坐標(biāo);將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該塊的最后重構(gòu)值,記為 i=0,1,2,...,q-1表示像素行坐標(biāo);j=0,1,2,...,p-1表示像素列坐標(biāo);9.取下一個(gè)8×8塊作為當(dāng)前塊,重復(fù)第6至9步的過(guò)程,直到該宏塊完全編碼為止;
10.取下一個(gè)宏塊作為當(dāng)前預(yù)測(cè)宏塊,重復(fù)第3至10步的過(guò)程,直到完成整幅圖像的編碼為止。
11.取下一幅圖像,重復(fù)第2至11步的過(guò)程,直到完成整個(gè)序列的編碼為止。
如果選擇簡(jiǎn)化的預(yù)測(cè)模式,則每次只需計(jì)算第6步中根據(jù)需要挑選出的預(yù)測(cè)模式的預(yù)測(cè)值,如可只需計(jì)算前5種預(yù)測(cè)模式的預(yù)測(cè)值。
實(shí)例結(jié)果1.利用本發(fā)明提出的改進(jìn)DC預(yù)測(cè)模式的9種預(yù)測(cè)模式的預(yù)測(cè)結(jié)構(gòu),對(duì)一幅1280×720的高清視頻序列,以8×8塊作為基本處理塊,做了10幀全幀內(nèi)預(yù)測(cè)測(cè)試,并且與現(xiàn)有JVT標(biāo)準(zhǔn)中幀內(nèi)預(yù)測(cè)技術(shù)在不同量化值下的樣值信噪比及比特率做了比較(下表),畫(huà)出了亮度樣值信噪比(記為PSNRY)與比特率(記為Bitrate)曲線圖(圖8)。
高清視頻序列測(cè)試結(jié)果(幀率30Hz,10幀,1280*720)
從圖中可以看出,利用本發(fā)明提出的改進(jìn)DC預(yù)測(cè)模式的9種預(yù)測(cè)方法求出的曲線在利用JVT幀內(nèi)預(yù)測(cè)方法求出的曲線上方,這表明本發(fā)明在沒(méi)有增加任何復(fù)雜度的條件下,圖像在壓縮性能上的提高。
2.利用本發(fā)明提出的簡(jiǎn)化的預(yù)測(cè)結(jié)構(gòu),如只取前5種預(yù)測(cè)模式,保持其原有順序,分別對(duì)一幅1280×720的高清視頻序列,做了10幀全幀內(nèi)測(cè)試,與現(xiàn)有JVT標(biāo)準(zhǔn)中幀內(nèi)預(yù)測(cè)技術(shù)在不同量化值下的樣值信噪比及比特率做了比較(下表),畫(huà)出了樣值信噪比與比特率曲線圖(圖9)。
高清視頻序列測(cè)試結(jié)果(幀率30Hz,10幀,1280*720)
從圖可以看出,利用本發(fā)明提出的簡(jiǎn)化預(yù)測(cè)模式方法求出的曲線與利用JVT幀內(nèi)預(yù)測(cè)方法求出的曲線基本重合,這表明本發(fā)明在減少了大量的復(fù)雜度的條件下,仍能很好的保持圖像的壓縮性能。
3.利用本發(fā)明提出的簡(jiǎn)化的預(yù)測(cè)結(jié)構(gòu)對(duì)兩個(gè)色度樣值進(jìn)行DC預(yù)測(cè)(模式0)和平板預(yù)測(cè)(模式1)2種預(yù)測(cè)模式的預(yù)測(cè),分別對(duì)一幅1280×720的高清視頻序列,做了10幀全幀內(nèi)測(cè)試,與現(xiàn)有JVT標(biāo)準(zhǔn)中幀內(nèi)預(yù)測(cè)技術(shù)在不同量化值下的樣值信噪比及比特率做了比較(下表),畫(huà)出了色度樣值信噪比(記為PSNRU和PSNRV)樣值信噪比與比特率曲線圖(圖10、圖11)。
高清視頻序列測(cè)試結(jié)果(幀率30Hz,10幀,1280*720)
從圖可以看出,利用本發(fā)明提出的簡(jiǎn)化預(yù)測(cè)模式方法求出的曲線與利用JVT幀內(nèi)預(yù)測(cè)方法求出的曲線基本重合,這表明本發(fā)明在減少了大量的復(fù)雜度的條件下,仍能很好的保持圖像的壓縮性能。
權(quán)利要求
1.一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其視頻編碼是通過(guò)視頻攝像機(jī)得到原始視頻流作為輸入,通過(guò)視頻采集卡后變成視頻數(shù)據(jù)流進(jìn)入計(jì)算機(jī),并采用JVT提供的視頻編碼技術(shù),由計(jì)算機(jī)進(jìn)行處理與運(yùn)算,其方法步驟為計(jì)算機(jī)系統(tǒng)接受采集卡處理好的原始視頻流,然后讀出接收到的視頻序列的一幅圖像,并將該圖像的像素樣值按從左至右,從上到下的順序分成16×16的宏塊;從計(jì)算機(jī)存儲(chǔ)器讀取到的宏塊被送到幀內(nèi)預(yù)測(cè)模塊,在具體編碼時(shí),規(guī)定了圖像內(nèi)基本處理塊的預(yù)測(cè)方式,如果是采用幀間預(yù)測(cè),按相應(yīng)的算法計(jì)算當(dāng)前塊的運(yùn)動(dòng)向量,得到其預(yù)測(cè)值;否則采用幀內(nèi)預(yù)測(cè),利用當(dāng)前塊的相鄰的已重構(gòu)的像素按相應(yīng)的幀內(nèi)預(yù)測(cè)技術(shù)做預(yù)測(cè),然后按JVT標(biāo)準(zhǔn)的方法對(duì)預(yù)測(cè)殘差進(jìn)行變換以去除變換塊內(nèi)的空間相關(guān)性,再進(jìn)行量化;接著,使用JVT技術(shù)的變長(zhǎng)編碼或算術(shù)編碼對(duì)量化變換系數(shù)信息進(jìn)行編碼,直到本圖像編碼完成為止,最后輸出本圖像編碼比特流;讀取接收到的序列中的下一幅圖像,以此類(lèi)推直至所有圖像均編碼完成為止;在JVT標(biāo)準(zhǔn)提供的5.0版本視頻編碼標(biāo)準(zhǔn)的幀內(nèi)預(yù)測(cè)技術(shù)中,亮度或色度樣值的預(yù)測(cè)采用的是基于p×q塊的預(yù)測(cè)結(jié)構(gòu),其中p表示塊的列數(shù),q表示塊的行數(shù),它是利用該p×q塊上、右上、左、左上和左下邊已經(jīng)重構(gòu)的像素樣值,按照某些預(yù)測(cè)模式及其計(jì)算規(guī)則來(lái)預(yù)測(cè)當(dāng)前塊的像素樣值,其中,i=0,1,…,2q-1,表示像素行坐標(biāo),j=0,1,…,2p-1,表示像素列坐標(biāo),ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;其中,1).在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)定義當(dāng)塊為4×4塊、4×8塊、8×4塊和8×8塊時(shí),即p=4或p=8時(shí),q=4或q=8時(shí),采用9種預(yù)測(cè)模式,這些預(yù)測(cè)模式和順序?yàn)槟J?垂直預(yù)測(cè)模式1水平預(yù)測(cè)模式2DC預(yù)測(cè)模式345度方向預(yù)測(cè)模式4135度方向預(yù)測(cè)模式5112.5度方向預(yù)測(cè)模式6157.5度方向預(yù)測(cè)模式767.5度方向預(yù)測(cè)模式822.5度方向預(yù)測(cè)其中,除了DC預(yù)測(cè)模式,剩余的8種預(yù)測(cè)模式稱(chēng)為方向預(yù)測(cè)模式;2).在處理亮度樣值時(shí),JVT標(biāo)準(zhǔn)還定義p=q=16時(shí)采用4種預(yù)測(cè)模式,這些預(yù)測(cè)模式為和順序?yàn)槟J?垂直預(yù)測(cè)模式1水平預(yù)測(cè)模式2DC預(yù)測(cè)模式3平板預(yù)測(cè)3).在處理色度樣值時(shí),JVT標(biāo)準(zhǔn)定義8×8塊的4種預(yù)測(cè)模式和順序?yàn)槟J?DC預(yù)測(cè)模式1水平預(yù)測(cè)模式2垂直預(yù)測(cè)模式3平板預(yù)測(cè)本發(fā)明的特征在于,從計(jì)算機(jī)存儲(chǔ)器讀取宏塊數(shù)據(jù)后進(jìn)入幀內(nèi)預(yù)測(cè)模塊,所述對(duì)每個(gè)選擇幀內(nèi)預(yù)測(cè)的16×16宏塊中的像素樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成(1).取一個(gè)16×16宏塊為當(dāng)前預(yù)測(cè)宏塊;(2).將該宏塊按從左至右,從上到下的順序分成p×q,p表示塊的列數(shù),可等于4,8,或16,q表示塊的行數(shù),可等于4,8,或16;(3).取一個(gè)p×q塊為當(dāng)前塊;(4).預(yù)測(cè)當(dāng)前塊p×q的像素亮度或色度樣值;(5).取下一個(gè)p×q塊作為當(dāng)前塊,重復(fù)第(3)至(5)步的過(guò)程,直到該宏塊預(yù)測(cè)完畢為止;其中,在進(jìn)行當(dāng)前塊p×q的像素亮度或色度樣值預(yù)測(cè)時(shí),其中的DC預(yù)測(cè)模式方法的主要特征為當(dāng)前塊是利用相鄰塊(U,L,UR,UL,DL)中已解碼像素的樣值來(lái)計(jì)算其DC預(yù)測(cè)模式的,其中,定義符號(hào)C表示當(dāng)前塊,符號(hào)U表示與當(dāng)前塊相鄰的上塊,符號(hào)L表示與當(dāng)前塊相鄰的左塊,符號(hào)UL表示與當(dāng)前塊相鄰的左上塊,符號(hào)UR表示與當(dāng)前塊相鄰的右上塊,符號(hào)DL表示當(dāng)前塊表示與當(dāng)前塊相鄰的左下塊;1).與當(dāng)前塊相鄰的上、右上、左、左上和左下塊均可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的的濾波方法不同;2).與當(dāng)前塊相鄰的上面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的濾波方法不同;3).與當(dāng)前塊相鄰的左面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似JVT標(biāo)準(zhǔn)的8個(gè)預(yù)測(cè)方向的方法求取,但與這8個(gè)預(yù)測(cè)方向的濾波方法不同;4).與當(dāng)前塊相鄰的上、左面塊均不可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值為128。
2.根據(jù)權(quán)利要求1所述一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其特征在于,在進(jìn)入幀內(nèi)預(yù)測(cè)模塊后,所述DC預(yù)測(cè)模式,可具體采用以下定義1)與當(dāng)前塊相鄰的上、右上、左、左上和左下面塊均可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用雙向預(yù)測(cè)方法求??;2)與當(dāng)前塊相鄰的上面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值可用近似垂直方向預(yù)測(cè)方法求取,雖然該方法與垂直預(yù)測(cè)的方向一致但運(yùn)算過(guò)程中選取的相鄰像素和濾波方法不同;3)與當(dāng)前塊相鄰的左面塊可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值也可用近似水平方向預(yù)測(cè)方法求取,雖然該方法與水平預(yù)測(cè)的方向一致但運(yùn)算過(guò)程中選取的相鄰像素和濾波方法不同;4)與當(dāng)前塊相鄰的上、左面塊均不可用時(shí),定義DC預(yù)測(cè)模式下當(dāng)前塊所有像素預(yù)測(cè)值為128。
3.根據(jù)權(quán)利要求1或2所述一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法,其特征在于,在進(jìn)入幀內(nèi)預(yù)測(cè)模塊后,所述DC預(yù)測(cè)模式,可具體采用以下定義數(shù)值(1)首先對(duì)當(dāng)前塊已重構(gòu)出的相鄰像素ti、sj和f,按JVT方法做相應(yīng)點(diǎn)的低通濾波,放到數(shù)組中,記該數(shù)組為EP,并記該數(shù)組中第m個(gè)數(shù)組變量為EPm,其中,i=0,1,…,2q-1,表示像素行坐標(biāo),j=0,1,…,2p-1,表示像素列坐標(biāo),p×q表示的塊大小,p表示塊的列數(shù),可等于4,8,或16,q表示塊的行數(shù),可等于4,8,或16,ti表示當(dāng)前塊左邊一列第i行像素樣值,sj表示當(dāng)前塊上邊一行第j列像素樣值,aij表示當(dāng)前塊第i行j列的像素樣值;m表示數(shù)組EP的下標(biāo)變量;在以下計(jì)算中,符號(hào)“>>”表示位右移運(yùn)算;EP由下列算法得到A.如果當(dāng)前宏塊有上邊相鄰的已重構(gòu)的像素,即sj可用,其中,j=0,1,2,…,p-1,則a)EP(j+1)=s(j);j=0,…,p-1b)如果當(dāng)前宏塊有右上邊相鄰的已重構(gòu)的像素,即sj可用,其中,j=p,p+1,p+2,…,2p-1,則EP(1+j+p)=s(p+j);j=0,…,p-1EP(1+j+p)=S(p+p-1);j=p,…,q-1否則EP(1+j+p)=EP(p);j=0,…,p-1c)EP(1+j+p)=EP(p+j);j=p,…,q+1d)EP(0)=s0;B.如果當(dāng)前宏塊有左邊相鄰的已重構(gòu)的像素,即ti可用,其中,i=0,1,2,…,q-1,則a)EP(-1-i)=t(i);i=0,…,q-1b)如果當(dāng)前宏塊有左下邊相鄰的已重構(gòu)的像素,即ti可用,其中,i=q,q+1,q+2,…,2q-1,則EP(-1-i-q)=t(q+i);i=0,…,q-1EP(-1-i-q)=t(q+q-1);i=q,…,p-1否則EP(-1-i-q)=EP(-q);i=0,…,q-1c)EP(-1-i-q)=EP(-i-q);i=p,p+1d)EP(0)=t0;C.如果sj可用,并且可用ti,其中,i=0,1,2,…,q-1,其中,j=0,1,2,…,p-1,則EP(0)=f;D.定義變量last_ix等于EP(-(p+q));取i等于-(p+q),其中,i表示記數(shù)器,做以下步驟,a).令變量new_pix等于(last_pix+(EP(i)<<1)+EP(i+1)+2)>>2;b).令變量last_pix等于EP(i);c).令下標(biāo)為i的數(shù)組變量EPi等于new_pix;d).i增1,轉(zhuǎn)至a),直至i大于(p+q)為止;(2)DC預(yù)測(cè)模式的運(yùn)算規(guī)則i.如果sj,ti都可用,則所有預(yù)測(cè)樣本 等于(EPi+EPj)>>1,其中,i=0,1,2,…,q-1,表示像素行坐標(biāo),j=0,1,2,…,p-1,表示像素列坐標(biāo);ii.如果ti不可用,sj可用,則所有預(yù)測(cè)樣本 等于EPj,其中,i=0,1,2,…,q-1,表示像素行坐標(biāo),j=0,1,2,…,p-1,表示像素列坐標(biāo);iii.如果sj不可用,ti可用,則所有預(yù)測(cè)樣本 等于EPi,其中,i=0,1,2,…,q-1,表示像素行坐標(biāo),j=0,1,2,…,p-1,表示像素列坐標(biāo);iv.如果sj,ti都不可用,則所有預(yù)測(cè)樣本 等于128,其中,i=0,1,2,…,q-1,表示像素行坐標(biāo),j=0,1,2,…,p-1,表示像素列坐標(biāo)。
4.根據(jù)權(quán)利要求1所述一種用于視頻編碼中的幀內(nèi)預(yù)測(cè)方法,其特征在于,也可以選取9種預(yù)測(cè)模式中的部分預(yù)測(cè)模式,并按編碼的需要對(duì)這些模式做重新的模式排序;如可采用一種基于5種預(yù)測(cè)模式的幀內(nèi)亮度樣值預(yù)測(cè)方法,即本發(fā)明提出的DC預(yù)測(cè),以及JVT中采用的垂直預(yù)測(cè)、水平預(yù)測(cè)、45度方向預(yù)測(cè)、135度方向預(yù)測(cè)模式;同樣地,對(duì)于16×16亮度塊和8×8色度塊,也可只采用本發(fā)明提出的DC預(yù)測(cè),JVT中采用的垂直預(yù)測(cè)、水平預(yù)測(cè)、和平板預(yù)測(cè)模式中的一種或兩種預(yù)測(cè)模式。
全文摘要
一種用于視頻編碼的幀內(nèi)預(yù)測(cè)方法涉及計(jì)算機(jī)數(shù)字視頻編碼技術(shù)領(lǐng)域,其視頻編碼是通過(guò)攝像機(jī)得到原始視頻流作為輸入,通過(guò)視頻采集卡進(jìn)入計(jì)算機(jī),并采用JVT提供的視頻編碼技術(shù),由計(jì)算機(jī)進(jìn)行處理與運(yùn)算。本發(fā)明是基于空間預(yù)測(cè)的幀內(nèi)預(yù)測(cè)模式編碼圖像的方法,著重定義了利用相鄰塊中已解碼像素的樣值來(lái)計(jì)算DC預(yù)測(cè)模式的運(yùn)算規(guī)則;并主要根據(jù)其上、右上、左、左上和左下塊是否可用來(lái)重新定義DC模式。具體編碼中,多種預(yù)測(cè)模式可以被重新組合,并按編碼的需要對(duì)這些模式做重新的模式排序。本發(fā)明的方法與JVT標(biāo)準(zhǔn)相比,在不增加任何計(jì)算復(fù)雜度的情況下提了視頻編碼質(zhì)量,也可適當(dāng)?shù)倪x取某些模式,在不降低任何圖像編碼性能的基礎(chǔ)上減少編碼的計(jì)算復(fù)雜度。
文檔編號(hào)H04N7/32GK1535027SQ20041000066
公開(kāi)日2004年10月6日 申請(qǐng)日期2004年1月16日 優(yōu)先權(quán)日2004年1月16日
發(fā)明者孔德慧, 張楠, 尹寶才, 王雁來(lái), 孫艷豐, 岳文穎 申請(qǐng)人:北京工業(yè)大學(xué)