專利名稱::幀內(nèi)預(yù)測方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻處理
技術(shù)領(lǐng)域:
,特別涉及幀內(nèi)預(yù)測方法及裝置。
背景技術(shù):
:幀內(nèi)預(yù)測是H.264視頻編碼中的一個重要環(huán)節(jié),H.264標(biāo)準(zhǔn)中的幀內(nèi)預(yù)測采用了16x16和4x4兩種塊預(yù)測模式,16x16塊模式使用了4種方向預(yù)測模式,4x4塊模式中使用了9種方向預(yù)測模式。在做幀內(nèi)預(yù)測時,會依次計算所有預(yù)測模式下的率失真代價。其中4x4塊模式的9種方向預(yù)測模式的名稱和其對應(yīng)的模式編號可以參見以下的表1。<table>tableseeoriginaldocumentpage10</column></row><table>表l,9種方向預(yù)測模式名稱及對應(yīng)模式編號圖1為4x4塊模式的9種方向預(yù)測模式示意圖,每個數(shù)字代表一種方向預(yù)測模式,其中直流預(yù)測模式采用均值預(yù)測,與方向無關(guān),因此未標(biāo)出。圖2為現(xiàn)有對4x4塊中的像素進(jìn)行預(yù)測的參考像素示意圖,如圖2所示,一個4x4塊中的像素為ap,在與其相鄰的左塊、上塊、上左塊和上右塊中有AL、Q共13個像素作為參考像素,P—A,P—B,P—C,P—D,…,P—L,P—Q表示這些參考像素經(jīng)過重構(gòu)后的值。像素ap可以利用這些參考像素通過公式預(yù)測得到。比如垂直預(yù)測才莫式下,待預(yù)測像素的預(yù)測值通過公式Pre—Pix[i][j]=(&P—A)[j];i,j=0,1,2,3;計算得到,其中Pre—Pix[i][j]表示當(dāng)前的4x4塊中待預(yù)測像素的預(yù)測值,(&P—A)[j]表示按水平方向取參考像素的值,根據(jù)j值的不同,取不同的參考像素值,如j為0,則表示取P—A的值,如j為l,則表示取P—B的值,如j為2,則表示取P—C的值,以此類推。另外,其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取值;如待預(yù)測像素為a,其在4x4塊中的位置是(0,0),因此i,j均為0,其預(yù)測值Pre—Pix=P—A;如待預(yù)測像素為b,其在4x4塊中的位置是(l,0),因此i:0,j=l,其預(yù)測值Pre—Pix[l]=P—B;如待預(yù)測像素為e,其在4x4塊中的位置是(0,1),因此=1,」=0,其預(yù)測值Pre—Pix[l]=P—A;以此類4偉。又如水平預(yù)測模式下,待預(yù)測像素的預(yù)測值通過公式Pre—Pix[j][i]=(&P_I)[j];i,j=0,1,2,3;計算得到;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值。如待預(yù)測像素為a,其在4x4塊中的位置是(O,0),因此i,j均為O,其預(yù)測值Pre—Pix=P—I;如待預(yù)測像素為b,其在4x4塊中的位置是(1,0),因此j-O,i=l,其預(yù)測值Pre—Pix[l]=P_I;如待預(yù)測像素為e,其在4x4塊中的位置是(0,1),因此j:l,i=0,其預(yù)測值Pre—Pix[l]=P—J;以此類推。從以上所舉例子可以看出,在現(xiàn)有垂直才莫式中,4象素a、e、i、m通過預(yù)測值計算公式計算出來的值是一樣的,都是P—A,像素b、f、j、n通過預(yù)測值計算公式計算出來的值也是一樣的,都是P一B。同理,在水平模式下,像素a、b、c、d的預(yù)測值都是P—I,像素e、f、g、h的預(yù)測值都是P—J。相同的情況在對角線向左、垂直向左、水平向上等預(yù)測模式下也會出現(xiàn),有很多像素點的預(yù)測值都是相同的。但是,如果當(dāng)前塊正好處于運(yùn)動物體的邊緣或者兩個物體的邊界處,這些邊界上的像素之間相關(guān)性很低,現(xiàn)有標(biāo)準(zhǔn)的幀內(nèi)預(yù)測方法顯然不能準(zhǔn)確的預(yù)測出當(dāng)前塊的像素值,預(yù)測值和實際值將會有較大差別,得到的預(yù)測殘差將會比較大,增加了碼率,降低了編碼效率。
發(fā)明內(nèi)容本發(fā)明實施例提供一種幀內(nèi)預(yù)測方法,可以提高幀內(nèi)預(yù)測的準(zhǔn)確度,提高編碼效率。本發(fā)明實施例提供一種幀內(nèi)預(yù)測裝置,可以提高幀內(nèi)預(yù)測的準(zhǔn)確度,提高編碼效率。為達(dá)到上述目的,本發(fā)明的技術(shù)方案具體是這樣實現(xiàn)的一種幀內(nèi)預(yù)測方法,該方法包4舌當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。較佳地,所述根據(jù)左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測,包括才艮氺居/>式Pre—Pix[i][j]=(&P_A)[j]+Weight—v[i][j],i,j=0、1、2、3只t^f寺預(yù)測塊中的每個待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight—v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取值;WeighLv[i][j]由公式Weight—v[i][j]=((&P—I)[i]-P—Q)〉>(j+1)計算得到,其中(&P_I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測。較佳地,所述根據(jù)左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測,包括才艮凈居7>式Pre—Pix[j][i]=(&P—I)[j]+Weight一h[j][i],i,j=0、1、2、3乂于4寺子貞測塊中的每個待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P_I)(j]表示根據(jù)j的值,按垂直方向取左塊中參考像素的值,Weight—h[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值;Weight—h[j][i]由公式Weight—h[j][i]=((&P—A)[i]-P—Q)〉>(j+1)計算得到,其中(&P一A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P_Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行對角線向左模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上右塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行對角線向左模式預(yù)測Pre—Pix=(P—B+P—J+1)/2;和/或Pre—Pix[l]=(4P—C+2P—K+3)/6;和/或Pre—Pix[l]=(2P_C+4P—K+3)/6;和/或Pre—Pix[2]=(3P—D+P—L+2)/4;和/或Pre—Pix[2]=(P—D+3P—L+2)/4;和/或Pre—Pix[l][l]=(P—D+P—L+l)/2;和/或Pre—Pix[3]=(8P—E+2P—L+5)/10;和/或Pre—Pix[3]=(2P—E+8P_L+5)AO;和/或Pre—Pix[2][3]=(8P—G+6P一L+7)/14;和/或Pre—Pix[3][2]=(6P—G+8P—L+7)/14;和/或Pre—Pix[3][3]=(P—G+P—L+l)/2;和/或Pre_Pix[2][2]=(P—F+P—L+l)/2;和/或Pre_Pix[2][l]=(4P—E+6P—L+5)/10;和/或Pre—Pix[l][2]=(6P_E+4P—L+5)/10;和/或Pre—Pix[l][3]=(4P—F+2P—L+3)/6;和/或Pre_Pix[3][l]=(2P—F+4P—L+3)/6;其中P—B、P一C、P一D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P—G為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—L、P_J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。較佳地,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行垂直向左模式預(yù)測時,若與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre—Pix[O][O]:P—A+P—B+l)/2;和/或Pre_Pix:o][1]=(P—B+P—C+l)/2;和/或Pre_Pix:o][2]=(P—C+P—D+l)/2;和/或Pre_Pix:o][3]=(P—D+P—E+l)/2;和/或Pre_Pix:i][o]=(P—A+2P—B+P—C+2)/4;和/或Pre_Pix:i][1]=(P—B+2P—C+P—D+2)/4;和/或Pre_Pix:i][2]=(P—C+2P—D+P—E+2)/4;和/或Pre_Pix:i][3]=(P—D+2P—E+P—F+2)/4;和/或Pre_Pix:2]=(P_A+3P—B+3P—C+P—D+4)/8;和/或Pre_Pix:2][1]=(P—B+3P—C+3P—D+P一E+4)/8;和/或Pre—Pix:2][2]=(P—C+3P—D+3P—E+P—F+4)/8;和/或Pre—Pix:2][3]=(P—D+3P—E+3P—F+P—G+4)/8;和/或Pre_Pix:3][o]=(PA+4PB+6PC+4PD+PE+8)/16;和/或Pre—Pix:3][1]=(PB+4PC+6PD+4PE+PF+8)/16;和/或Pre—Pix:3][2]=(PC+4PD+6PE+4PF+PG+8)/16;和/或Pre一Pixl3][3]=(PD+4PE+6PF+4PG+PH+8)/16;其中P—A、P—B、P—C、P_D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P—G、P一H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。較佳地,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行水平向上模式預(yù)測時,若與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix=(P—I+P—J+l)/2;和/或Pre—Pix[2]=(P—K+P—L+l)/2;和/或Pre—Pix[l]=(P—I+2P—J+P—K+2)/4;和/或Pre—Pix[2][l]=(P—K+2P—L+P—L+2)/4;和/或Pre—Pix[2]=(P—I+3P—J+3P—K+P—L+4)/8;和/或Pre—Pix[l][2]=(P—J+3P—K+4P—L+4)/8;和/或Pre—Pix[2][2]=(P—K+7P—L+4)/8;和/或Pre—Pix[3]=(P—I+4P—J+6P—K+5P—L+8)/16;和/或Pre—Pix[l][3]=(P—J+4P—K+11P—L+8)/16;和/或Pre—Pix[2][3]=(P—K+15P—L+8)/16;和/或Pre—Pix[l]=(P—J+P—K+l)/2;和/或Pre—Pix[l][l]=(P—J+2P—K+P—L+2)/4;和/或Pre—Pix[3][2]=Pre—Pix[3][3]=Pre—Pix[3]=Pre—Pix[3][l]=P—L;其中P—I、P—L、P_J、P一K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。一種幀內(nèi)預(yù)測裝置,該裝置包括-.預(yù)測模式判決模塊,用于判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則向垂直預(yù)測模塊發(fā)送垂直預(yù)測指令;垂直預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的垂直預(yù)測指令,根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。較佳地,所述垂直預(yù)測模塊,根據(jù)公式Pre_Pix[i][j]=(&P—A)Weight—v[i][j],i,j=0、1、2、3對待預(yù)測塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight—v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取值;Weight—v[i][j]由公式Weight_v[i][j]=((&P_I)[i]-P—Q)〉>(j+1)計算得到,其中(&P—I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該裝置還包括水平預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的水平預(yù)測指令,根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平^t式預(yù)測;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則向水平預(yù)測模塊發(fā)送水平預(yù)測指令。較佳地,所述水平預(yù)測模塊,根據(jù)公式Pre—Pix[j][i]=(&P_I)Weight一h[j][i],i,j=0、1、2、3對待預(yù)測塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P—I)[j]表示根據(jù)j的值,按垂直方向取左塊中參考像素的值,Weight—h[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值;Weightji[j][i]由公式Weight—h[j][i]=((&P_A)[i]國P一Q)(j+1)計算得到,其中(&P—A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P_Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該裝置還包括對角線向左預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的對角線向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行對角線向左模式預(yù)測Pre—Pix=(P—B+P—J+l)/2;和/或Pre一Pix[O][1]=(4PC+2P—K+3)/6;和/或Pre—Pix[l]=(2P—C+4P—K+3)/6;和/或Pre—Pix[O][2]=(3P—D+P—L+2)/4;和/或Pre—Pix[2]=(P—D+3P—1>2)/4;和/或Pre—Pix[l][1]=(P—D+P一L+1)/2;和/或Pre—Pix[O][3]=(8P—E+2P—L+5)/10;和/或Pre—Pix[3]=(2P—E+8P_L+5)/10;和/或Pre—Pix[2][3]=(8P—G+6P一L+7)/14;和/或Pre_Pix[3][2]=(6P—G+8P—L+7)/14;和/或Pre_Pix[3][3]=(P—G+P—L+l)/2;和/或Pre—Pix[2][2]=(P—F+P一L+1)/2;和/或Pre—Pix[2][1]=(4P—E+6P—L+5)/10;和/或Pre—Pix[l][2]=(6P—E+4P—L+5)/10;和/或Pre—Pix[l][3]=(4P—F+2P—L+3)/6;和/或Pre—Pix[3][1]=(2P—F+4P—L+3)/6;其中P—B、P_C、P一D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P_E、P—F、P—G為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行對角線向左模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上右塊已經(jīng)完成重構(gòu),則向?qū)蔷€向左預(yù)測模塊發(fā)送對角線向左預(yù)測指令。較佳地,該裝置還包括垂直向左預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的垂直向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre—Pix=(P—A+P—B+l)/2;和/或Pre—Pix[l]=(P—B+P—C+l)/2;和/或Pre—Pix=(P—C+P—D+l)/2;和/或Pre—Pix=(P—D+P—E+l)/2;和/或Pre—Pix[l:=(P—A+2P—B+P—C+2)/4;和/或Pre_Pix[l][1]=(P—B+2P—C+P—D+2)/4;和/或Pre—Pix[l][2]=(P—C+2P—D+P—E+2)/4;和/或Pre_Pix[l][3]=(P一D+2P一E+P—F+2)/4;和/或Pre—Pix[2]=(P—A+3P—B+3P—C+P—D+4)/8;和/或Pre—Pix[2][1]=(P—B+3P_C+3P—D+P—E+4)/8;和/或Pre—Pix[2][2]=(P_C+3P—D+3P—E+P—F+4)/8;和/或Pre—Pix[2][3]=(P—D+3P—E+3P一F+P一G+4)/8;和/或Pre—Pix[3]=(P—A+4P—B+6P—C+4P—D+P—E+8)/16;和/或Pre—Pix[3][1]=(PB+4PC+6PD+4PE+PF+8)/16;和/或Pre_Pix[3][2]=(PC+4PD+6PE+4PF+PG+8)/16;和/或Pre_Pix[3][3]=〔PD+4PE+6PF+4PG+PH+8)/16;其中P—A、P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P_G、P—H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直向左模式預(yù)測時,若與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則向垂直向左預(yù)測模塊發(fā)送垂直向左預(yù)測指令。較佳地,該裝置還包括水平向上預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的水平向上預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix=(P—I+P—J+l)/2;和/或Pre—Pix[2]=(P—K+P_L+1)/2;和/或Pre—Pix[l]=(P—I+2P_J+P—K+2)/4;和/或Pre—Pix[2][l]=(P—K+2P—L+P—L+2)/4;和/或Pre—Pix[2]=(P—I+3P—J+3P—K+P—L+4)/8;和/或Pre—Pix[l][2]=(P—J+3P—K+4P—L+4)/8;和/或Pre_Pix[2][2]=(P—K+7P—L+4)/8;和/或Pre—Pix[3]=(PJ+4P—J+6P—K+5P—L+8)/16;和/或Pre—Pix[l][3]=(P—J+4P—K+11P—L+8)/16;和/或Pre—Pix[2][3]=(P—K+15P—L+8)/16;和/或Pre—Pix[l]=(P—J+P—K+l)/2;和/或Pre—Pix[l][l]=(P—J+2P—K+P—L+2)/4;和/或Pre—Pix[3][2]=Pre—Pix[3][3]=Pre—Pix[3]=Pre—Pix[3][l]=P—L;其中PJ、P—L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行水平向上模式預(yù)測時,若與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則向水平向上預(yù)測模塊發(fā)送水平向上預(yù)測指令。由上述的技術(shù)方案可見,本發(fā)明的這種判斷若待預(yù)測塊需要進(jìn)行垂直模式預(yù)測,且與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測的方法及裝置,因充分利用了像素之間的距離關(guān)系,提高了幀內(nèi)預(yù)測的準(zhǔn)確度,進(jìn)而提高了編碼效率。圖1為圖1為4x4塊模式的9種方向預(yù)測模式示意圖;圖2為現(xiàn)有對4x4塊中的像素進(jìn)行預(yù)測的參考像素示意圖;圖3為本發(fā)明實施例的幀內(nèi)預(yù)測方法中垂直預(yù)測4莫式下的預(yù)測方法示意圖;圖4為本發(fā)明實施例的幀內(nèi)預(yù)測方法中水平預(yù)測模式下的預(yù)測方法示意圖;圖5為本發(fā)明實施例的幀內(nèi)預(yù)測裝置結(jié)構(gòu)圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下參照附圖并舉實施例,對本發(fā)明進(jìn)一步詳細(xì)說明。本發(fā)明實施例主要是當(dāng)待預(yù)測塊需要進(jìn)行不同模式的預(yù)測時,若滿足預(yù)測所需的條件,則利用待預(yù)測塊中待預(yù)測像素之間的空間位置關(guān)系,對待預(yù)測塊中的待預(yù)測像素進(jìn)行預(yù)測,從而提高幀內(nèi)預(yù)測的準(zhǔn)確度,進(jìn)而提高編碼效率。下面將以4x4塊模式下的幀內(nèi)預(yù)測為例,具體介紹本發(fā)明實施例的幀內(nèi)預(yù)測方法。對于垂直模式(mode0),如圖3所示,當(dāng)與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。具體公式為Pre—Pix[i][j]=(&P—A)[j]+Weight—v[i][j],i,j=0、1、2、3。其中Pre—Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight—v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取值。Weightj[i][j]由公式Weight—v[i][j]=((&P—I)[i]-P—Q)(j+1)計算得到,其中(&P—I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P一Q為待預(yù)測塊的上左塊中右下角的像素值。例如像素點a的坐標(biāo)為(0,0),那么其預(yù)測值Pre—Pix[0;h(&P—A)+Weight—v[O][O],即Pre—Pix=P_A+((P—I-P一Q)》1)。c點的坐標(biāo)為(2,0),那么其預(yù)測值Pr^Pix[2h(&P_A)[2]+Weight一v[2],即Pre—Pix[2]=P—C+((P—I-P—Q)》3)。e點的坐標(biāo)為(0,1),那么其預(yù)測值Pre—Pix[l][0;h(&P—A)+Weight—v[l][O],即Pre_Pix[l]=P—A+((P—J-P—Q)》1)。對于水平模式(mode1),如圖4所示,與垂直模式類似,.若待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測。具體公式為Pre—Pix[j][i]=(&P—I)[j]+Weight—h[j][i],i,j=0、1、2、3。其中Pre—Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P—I)[j]表示根據(jù)J的值,按垂直方向取左塊中參考像素的值,Weight—h[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值。Weightji[j][i]由公式Weight—h[j][i]=((&P_A)[i]-P—Q)>〉(j+1)計算得到,其中(&P一A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。例如像素點a的坐標(biāo)為(0,0),那么其預(yù)測值Pre—Pix[Oh(&P—I)+Weight—h[O][O],即PrePix=P—1+((P—A-P—Q)〉〉1)。c點的坐標(biāo)為(2,0),那么其預(yù)測值Pr^Pix[2;h(&P—I)+Weight_h[2],即Pre—Pix[2]=P一I+((P—C-P—Q)》1)。e點的坐標(biāo)為(0,1),那么其預(yù)測值Pre—Pix[l]+Weight_h[l][O],即Pre一Pix[l][O]-(P—B+PJ+1)/2;Pre—Pix[l]=(4P—C+2P—K+3)/6;Pre_Pix[l]=(2P—C+4P—K+3)/6;Pre—Pix[2]=(3P—D+P—L+2)/4;Pre—Pix[2]=(P—D+3P—L+2)/4;Pre—Pix[l][l]-(P—D+P—L+l)/2;Pre—Pix[3]=Pre—Pix[3]=Pre—Pix[2][3]=Pre—Pix[3][2]=Pre—Pix[3][3]=Pre—Pix[2][2]=Pre—Pix[2][l]=Pre—Pix[l][2]=Pre—Pix[l][3]=Pre_Pix[3][l]=(8P—E+2P—1>5)/10(2P—E+8P—L+5)/10(8P—G+6P_L+7)/14(6P—G+8P—L+7)/14(P—G+P—L+l)/2;(P—F+P—L+l)/2;(4P—E+6P—L+5)/10;(6P_E+4P—L+5)/10;(4PF+2PL+3)/6;(2P—F+4P—L+3)/6;其中P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P—G為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。對于垂直向左模式,當(dāng)與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre一Pix[O][o]=(P—A+P—B+l)/2;Pre—Pix[O][1]=(P—B+P—C+l)/2;Pre—Pix[O][2]=(P—C+P—D+l)/2;Pre—Pix[O][3]=(P—D+P—E+l)/2;Pre—Pix[l][o]=(P—A+2P—B+P—C+2)/4;Pre—Pix[l][1]=(P—B+2P—C+P_D+2)/4;Pre—Pix[l][2]=(P—C+2P—D+P—E+2)/4;Pre—Pix[l][3]=(P—D+2P—E+P—F+2)/4;Pre_Pix[2][o]=(P—A+3P—B+3P—C+P—D+4)/8;Pre—Pix[2][1]=(P—B+3P—C+3P—D+P—E+4)/8;Pre一Pix[2][2]=(P—C+3P—D+3P—E+P一F+4)/8;Pre—Pix[2][3]=(P—D+3P—E+3PF+PG+4)/8;Pre—Pix[3]=(P—A+4PB+6P—C+4P—D+P—E+8)/16;Pre—Pix[3][l]=(P—B+4P—C+6P_D+4P—E+P—F+8)/16;Pre—Pix[3][2]=(P—C+4P—D+6P—E+4P_F+P—G+8)/16;Pre—Pix[3][3]=(P—D+4P—E+6P—F+4P—G+P_H+8)/16。其中P一A、P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P_G、P—H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。對于水平向上^t式,當(dāng)與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix[OPre—Pix[2Pre—Pix[OPre—Pix[2Pre—Pix[OPre—Pix[lPre—Pix[2Pre—Pix[OPre—Pix[lPre_Pix[2Pre—Pix[lPre—Pix[lPre一Pix[3(P—I+P—J+l)/2;(P—K+P—L+l)/2;=(P—I+2P—J+P—K+2)/4;=(P—K+2P—L+P—L+2)/4;=(P—I+3P—J+3P—K+P一L+4)/8;=(P—J+3P—K+4P—L+4)/8;=(P—K+7P—L+4)/8;=(P—I+4P—J+6P—K+5P一L+8)/16;=(P—J+4P—K+llP_L+8)/16;=(P—K+15P—L+8)/16;=(P—J+P—K+l)/2;=(P—J+2P—K+P一L+2)/4;=Pre—Pix[3][3]=Pre_Pix[3]=Pre—Pix[3][l]=P—L;其中PI、PL、PPK為所述左塊中與待預(yù)測塊相鄰的^f象素重構(gòu)后的值'當(dāng)然,在以上所介紹的預(yù)測公式中,可以采用其中部分公式也可采用全部公式,可以依照具體需求而定。上面介紹了本發(fā)明實施例的幀內(nèi)預(yù)測方法,下面將詳細(xì)介紹本發(fā)明實施例的幀內(nèi)預(yù)測裝置。圖5為本發(fā)明實施例的幀內(nèi)預(yù)測裝置結(jié)構(gòu)圖;如圖5所示,該裝置包括預(yù)測模式判決模塊501和垂直預(yù)測模塊502。預(yù)測模式判決模塊501,用于判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測時,若與待預(yù)測塊相鄰的左塊和上塊已經(jīng)完成重構(gòu),則向垂直預(yù)測;漠塊發(fā)送垂直預(yù)測指令。垂直預(yù)測模塊502用于接收預(yù)測模式判決模塊501發(fā)送的垂直預(yù)測指令,具體來說,垂直預(yù)測才莫塊502根據(jù)^>式Pre_Pix[i][j]=(&P—A)[j]+Weight—v[i][j],i,j=0、1、2、3對待預(yù)測塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)觀'j。其中Pre—Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight一v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo):f又值。WeighLv[i][j]由公式Weight—v[i][j]-((&P_I)[i]-P_Q)(j+1)計算得到,其中(&P—I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該裝置還可以包括水平預(yù)測模塊503。水平預(yù)測模塊503用于接收預(yù)測模式判決模塊501發(fā)送的水平預(yù)測指令,根據(jù)所述左塊和上塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測。相應(yīng)地,預(yù)測模式判決模塊501,若判斷待預(yù)測塊需要進(jìn)行水平模式預(yù)測,且與待預(yù)測塊相鄰的左塊和上塊已經(jīng)完成重構(gòu),則向水平預(yù)測才莫塊503發(fā)送水平預(yù)測指令。具體來說,水平預(yù)測模塊503根據(jù)公式Pre—Pix[j][i]=(&P—I)[j]+Weight—h[j][i],i,j=0、1、2、3對待預(yù)測塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)測。其中Pre—Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P—I)[j]表示根據(jù)J的值,按垂直方向取左塊中參考像素的值,Weight一h[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值。Weightji[j][i]由公式Weight_h[j][i]=((&P_A)[i]-P_Q)(j+l)計算得到,其中(&P—A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P_Q為待預(yù)測塊的上左塊中右下角的像素值。較佳地,該裝置還可以包括對角線向左預(yù)測模塊504。對角線向左預(yù)測模塊504用于接收預(yù)測模式判決模塊501發(fā)送的對角線向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行對角線向左模式預(yù)測Pre—Pix[O]=(P—B+P—J+l)/2;Pre_Pix[1]=(4P—C+2P—K+3)/6;Pre—Pix[l][o]=(2P—C+4P—K+3)/6;Pre—Pix[O][2]=(3P—D+P—L+2)/4;Pre—Pix[2]=(P—D+3P—L+2)/4;Pre_Pix[l][1]=(P—D+P—L+l)/2;Pre—Pix[O][3]=(8P—E+2P—L+5)AO;Pre一Pix[3][o]=(2P—E+8P—L+5)/10;Pre—Pix[2][3]=(8P—G+6P—L+7)/14;Pre—Pix[3][2]=(6P—G+8P—L+7)/14;Pre—Pix[3][3]=(P—G+P—L+l)/2;Pre一Pix[2][2]=(P_F+P—L+1)/2;Pre—Pix[2][1]=(4P—E+6P—L+5)AO;Pre—Pix[l][2]=(6P一E+4P一L+5)/10;Pre—Pix[l][3]=(4P—F+2P一L+3)/6;Pre—Pix[3][1]=(2P—F+4P—L+3)/6;其中P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P一E、P—F、P—G為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—L、P—J、P一K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。相應(yīng)地,預(yù)測模式判決模塊501,判斷當(dāng)待預(yù)測塊需要進(jìn)行對角線向左模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上右塊已經(jīng)完成重構(gòu),則向?qū)蔷€向左預(yù)測才莫塊504發(fā)送對角線向左預(yù)測指令。較佳地,該裝置還可以包括垂直向左預(yù)測模塊505。垂直向左預(yù)測模塊505用于接收預(yù)測模式判決模塊501發(fā)送的垂直向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre—Pix[O]=(P—A+P—B+l)/2;Pre—Pix[O][1]=(P_B+P—C+1)/2;Pre一Pix[O][2]=(P—C+P_D+1)/2;Pre一Pix[O][3]=(P—D+P—E+l)/2;Pre—Pix[l]=(P—A+2P—B+P—C+2)/4;Pre—Pix[l][1]=(P—B+2P—C+P—D+2)/4;Pre—Pix[l][2]=(P—C+2P—D+P—E+2)/4;Pre—Pix[l][3]=(P—D+2PE+P—F+2)/4',Pre一Pix[2][o]=(P—A+3P—B+3P—C+P—D+4)/8;Pre一Pix[2][1]=(P—B+3P—C+3P—D+P—E+4)/8;Pre—Pix[2][2]=(P—C+3P—D+3P—E+P—F+4)/8;Pre—Pix[2][3]=(P—D+3P—E+3P—F+P—G+4)/8;Pre—Pix[3]=(PA+4PB+6PC+4PD+PE+8)/16;Pre—Pix[3][1]=(PB+4PC+6PD+4PE+PF+8)/16;Pre一Pix[3][2]=(PC+4PD+6PE+4PF+PG+8)/16;Pre—Pix[3][3]=(PD+4PE+6PF+4PG+PH+8)/16;其中P—A、P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P_F、P—G、P—H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。相應(yīng)地,預(yù)測模式判決模塊501,判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直向左模式預(yù)測時,若與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則向垂直向左預(yù)測模塊505發(fā)送垂直向左預(yù)測指令。較佳地,該裝置還包括水平向上預(yù)測模塊506。水平向上預(yù)測模塊506,用于接收預(yù)測模式判決模塊501發(fā)送的水平向上預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix[OPre—Pix[2Pre—Pix[OPre—Pix[2Pre—Pix[OPre—Pix[lPre—Pix[2Pre—Pix[OPre—Pix[lPre—Pix[2Pre—Pix[lPre—Pix[lPre—Pix[302:(P_I+P—J+l)/2;:(P—K+P—L+l)/2;:(P_I+2P—J+P—K+2)/4;(P—K+2P—L+P一L+2)/4;(PI+3P—J+3P—K+P一L+4)/8;(P—J+3P—K+4P—L+4)/8;(P—K+7P—L+4)/8;(P—I+4P—J+6P_K+5P—L+8)/16;(P—J+4P—K+11P—L+8)/16;(P—K+15P—L+8)/16;(P—J+P—K+l)/2;(P—J+2P—K+P—L+2)/4;Pre—Pix[3][3]=Pre—Pix[3]=Pre—Pix[3][l]=P_L;其中PI、PL、PPK為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;相應(yīng)地,所述預(yù)測模式判決模塊501,判斷當(dāng)待預(yù)測塊需要進(jìn)行水平向上模式預(yù)測時,若與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則向水平向上預(yù)測模塊506發(fā)送水平向上預(yù)測指令。由上述的實施例可見,本發(fā)明的這種判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測時,若與待預(yù)測塊相鄰的左塊和上塊已經(jīng)完成重構(gòu),則才艮據(jù)所述左塊和上塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測;當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測的方法及裝置,因為充分利用了像素之間的距離關(guān)系,提高了幀內(nèi)預(yù)測的準(zhǔn)確度,進(jìn)而提高了編碼效率。所應(yīng)理解的是,以上所述僅為本發(fā)明的較佳實施方式而已,并不用于限定本發(fā)明的保護(hù)范圍,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種幀內(nèi)預(yù)測方法,其特征是,該方法包括當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。2、如權(quán)利要求1所述的幀內(nèi)預(yù)測方法,其特征是,所述根據(jù)左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測,包括才艮才居/>式Pre—Pix[i][j]=(&P—A)[j]+Weight—v[i][j],i,j=0、1、2、3只于4寺預(yù)測塊中的每個待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight—v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取J直;Weight_v[i][j]由公式Weight_v[i][j]=((&P_I)[i]-P一Q)(j+1)計算得到,其中(&P—I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。3、如權(quán)利要求1所述的幀內(nèi)預(yù)測方法,其特征是,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平^t式預(yù)測。4、如權(quán)利要求3所述的幀內(nèi)預(yù)測方法,其特征是,所述根據(jù)左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測,包括才艮才居/>式Pre—Pix[j][i]=(&P—I)[j]+Weight_h[j][i],i,j=0、1、2、3只十4寺予貞測塊中的每個待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre—Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P—I)[j]表示根據(jù)j的值,按垂直方向取左塊中參考像素的值,Weightji[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值;Weight—h[j][i]由公式Weight—h[j][i]=((&P—A)[i]-P—Q)(j+1)計算得到,其中(&P—A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。5、如權(quán)利要求1所述的幀內(nèi)預(yù)測方法,其特征是,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行對角線向左模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上右塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行對角線向左模式預(yù)測Pre_Pix=(P_B+P—J+1)/2;和/或Pre—Pix[l]=(4P—C+2P—K+3)/6;和/或Pre—Pix[l]=(2P—C+4P—K+3)/6;和/或Pre—Pix[2]=(3P—D+P—L+2)/4;和/或Pre—Pix[2]=(P—D+3P_L+2)/4;和/或Pre_Pix[l][l]=(P—D+P—L+l)/2;和/或Pre—Pix[3]=(8P—E+2P—L+5)/10;和/或Pre_Pix[3]=(2P—E+8PJ>5)/10;和/或Pre—Pix[2][3]=(8P—G+6P—L+7)/14;和/或Pre—Pix[3][2]=(6P_G+8P—L+7)/14;和/或Pre—Pix[3][3]=(P—G+P—L+l)/2;和/或Pre—Pix[2][2]=(P—F+P—L+l)/2;和/或Pre—Pix[2][l]=(4P—E+6P—L+5)AO;和/或Pre—Pix[l][2]=(6P一E+4P一L+5)/10;和/或Pre_Pix[l][3]=(4P—F+2P一L+3)/6;和/或Pre—Pix[3][l]=(2P一F+4P一L+3)/6;其中P—B、P_C、P_D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、P—G為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—L、P_J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。6、如權(quán)利要求1所述的幀內(nèi)預(yù)測方法,其特征是,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行垂直向左模式預(yù)測時,若與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre—Pix=和/或Pre—Pix[O和/或Pre—Pix[O和/或Pre_Pix[0和/或Pre—Pix[l和/或Pre—Pix[l和/或Pre—Pix[l和/或Pre—Pix[l和/或Pre—Pix[2和/或Pre_Pix[2和/或Pre—Pix[2和/或Pre—Pix[2和/或Pre—Pix[3和/或Pre_Pix[3和/或Pre—Pix[3和/或Pre—Pix[3PA+PB+l)/2;2P—B+P一C+1)/2;P—C+P—D+l)/2;P—D+P一E+1)/2;P—A+2P_B+P—C+2)/4;P—B+2P—C+P—D+2)/4;P—C+2P—D+P—E+2)/4;P—D+2P—E+P—F+2)/4;P—A+3P—B+3P—C+P—D+4)/8;P—B+3P—C+3P—D+P—E+4)/8;P—C+3P—D+3P—E+P—F+4)/8;P—D+3P—E+3P—F+P—G+4)/8;P—A+4P_B+6P—C+4P—D+P—E+8)/16;P—B+4P_C+6P—D+4PE+P_F+8)/16;P—C+4PD+6PE+4PF+PG+8)/16;P—D+4P—E+6P—F+4P—G+P一H+8)/16;其中P—A、P—B、P—C、P_D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P_F、P—G、P—H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值。7、如權(quán)利要求1所述的幀內(nèi)預(yù)測方法,其特征是,該方法進(jìn)一步包括當(dāng)待預(yù)測塊需要進(jìn)行水平向上模式預(yù)測時,若與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則利用如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix=(P—I+P—J+l)/2;和/或Pre—Pix[2]=(P—K+P—L+l)/2;和/或Pre—Pix[l]=(P—I+2P—J+P—K+2)/4;和/或Pre—Pix[2][l]=(P_K+2P_L+P—L+2)/4;和/或Pre—Pix[2]=(P_I+3P—J+3P_K+P—L+4)/8;和/或Pre—Pix[l][2]=(P—J+3P—K+4P—L+4)/8;和/或Pre—Pix[2][2]=(P—K+7P—L+4)/8;和/或Pre—Pix[3]=(P—I+4P—J+6P—K+5P—L+8)/16;和/或Pre—Pix[l][3]=(P—J+4P—K+11P—L+8)/16;和/或Pre—Pix[2][3]=(P—K+15P—L+8)/16;和/或Pre—Pix[l]=(P—J+P—K+l)/2;和/或Pre—Pix[l][l]=(P—J+2P—K+P—L+2)/4;和/或Pre—Pix[3][2]=Pre—Pix[3][3]=Pre—Pix[3]=Pre—Pix[3][l]=P一L;其中P—I、P_L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的l象素重構(gòu)后的值。8、一種幀內(nèi)預(yù)測裝置,其特征是,該裝置包括預(yù)測模式判決模塊,用于判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則向垂直預(yù)測模塊發(fā)送垂直預(yù)測指令;垂直預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的垂直預(yù)測指令,根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。9、如權(quán)利要求8所述的幀內(nèi)預(yù)測裝置,其特征是,所述垂直預(yù)測模塊,根據(jù)公式Pre一Pix[i][j;h(&P—A)□+Weight—v[i][j],i,j=0、1、2、3對待預(yù)觀寸塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre一Pix[i][j]表示待預(yù)測像素的預(yù)測值,(&P—A)[j]表示根據(jù)j的值,按水平方向取上塊中參考像素的值,Weight—v[i][j]表示待預(yù)測像素在垂直方向的距離矩陣;其中i根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,j根據(jù)待預(yù)測像素的水平坐標(biāo)取值;WeighLv[i][j]由公式Weight—v[i][j]=((&P—I)[i]-P—Q)(j+1)計算得到,其中(&P—I)[i]表示根據(jù)i的值,按垂直方向取左塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。10、如權(quán)利要求8所述的幀內(nèi)預(yù)測裝置,其特征是,該裝置還包括水平預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的水平預(yù)測指令,根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則向水平預(yù)測模塊發(fā)送水平預(yù)測指令。11、如權(quán)利要求IO所述的幀內(nèi)預(yù)測裝置,其特征是,所述水平預(yù)測模塊,才艮才居/>式Pre—Pix[j][i]=(&P—I)[j]+Weight—h[j][i],i,j=0、1、2、3只于4寺預(yù)測塊中的待預(yù)測像素進(jìn)行垂直模式預(yù)測;其中Pre一Pix[j][i]表示待預(yù)測像素的預(yù)測值,(&P_I)[j]表示根據(jù)j的值,按垂直方向取左塊中參考像素的值,Weightji[j][i]表示待預(yù)測像素在水平方向的距離矩陣;其中,j根據(jù)待預(yù)測像素的垂直坐標(biāo)取值,i根據(jù)待預(yù)測像素的水平坐標(biāo)取值;Weight—h[j][i]由公式Weight—h[j][i]=((&P_A)[i]-P—Q)(j+1)計算得到,其中(&P一A)[i]表示根據(jù)i的值,按水平方向取上塊中參考像素的值,P—Q為待預(yù)測塊的上左塊中右下角的像素值。12、如權(quán)利要求8所述的幀內(nèi)預(yù)測裝置,其特征是,該裝置還包括對角線向左預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的對角線向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行對角線向左模式預(yù)測Pre—Pix=(P—B+P—J+1)/2;和/或Pre—Pix[l]=(4P—C+2P—K+3)/6;和/或Pre—Pix[l]=(2P_C+4P—K+3)/6;和/或Pre—Pix[2]=(3P—D+P—L+2)/4;和/或Pre—Pix[2]=(P—D+3P—L+2)/4;和/或Pre_Pix[l][1]=(P_D+P_L+1)/2;和/或Pre—Pix[O][3]=(8P_E+2P_L+5)/10;和/或Pre_Pix[3]=(2P—E+8P—L+5)/10;和/或Pre—Pix[2][3]=(8P—G+6P—L+7)/14;和/或Pre_Pix[3][2]=(6P—G+8P—L+7)/14;和/或Pre—Pix[3][3]=(P—G+P—L+l)/2;和/或Pre—Pix[2][2]=(P_F+P—L+1)/2;和/或Pre—Pix[2][1]=(4P—E+6P—L+5)/10;和/或Pre—Pix[l][2]=(6P一E+4P一L+5)/10;和/或Pre—Pix[l][3]=(4P—F+2P—L+3)/6;和/或Pre—Pix[3][1]=(2P—F+4P—L+3)/6;其中P—B、P—C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P—F、?_0為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P_L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行對角線向左模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上右塊已經(jīng)完成重構(gòu),則向?qū)蔷€向左預(yù)測模塊發(fā)送對角線向左預(yù)測指令。13、如權(quán)利要求8所述的幀內(nèi)預(yù)測裝置,其特征是,該裝置還包括垂直向左預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的垂直向左預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行垂直向左模式預(yù)測Pre—Pix=(P—A+P—B+l)/2;和/或Pre—Pix[l]=(P_B+P—C+l)/2;和/或Pre—Pix[2]=(P—C+P—D+l)/2;和/或Pre—Pix[3]=(P—D+P—E+l)/2;和/或Pre—Pix[l][l]=(P—B+2P—C+P—D+2)/4;和/或Pre—Pix[l][2]=(P—C+2P—D+P—E+2)/4;和/或Pre—Pix[l][3]=(P一D+2P一E+P一F+2)/4;和/或Pre—Pix[2]=(P_A+3P—B+3P_C+P_D+4)/8;和/或Pre—Pix[2][l]=(P—B+3P—C+3P—D+P—E+4)/8;和/或Pre_Pix[2][2]=(P—C+3P—D+3P—E+P—F+4)/8;和/或Pre—Pix[2][3]=(P—D+3P—E+3P—F+P_G+4)/8;和/或Pre—Pix[3]=(PA+4PB+6PC+4PD+PE+8)/16;和/或Pre—Pix[3][l]=(P—B+4P_C+6P—D+4P—E+P—F+8)/16;和/或Pre—Pix[3][2]=(P—C+4P—D+6P—E+4P—F+P—G+8)/16;和/或Pre—Pix[3][3]=〔PD+4PE+6PF+4PG+PH+8)/16;其中P—A、P一B、P_C、P—D為所述上塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;P—E、P_F、P—G、P—H為所述上右塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行垂直向左模式預(yù)測時,若與待預(yù)測塊相鄰的上塊和上右塊已經(jīng)完成重構(gòu),則向垂直向左預(yù)測^^莫塊發(fā)送垂直向左預(yù)測指令。14、如權(quán)利要求8所述的幀內(nèi)預(yù)測裝置,其特征是,該裝置還包括水平向上預(yù)測模塊,用于接收預(yù)測模式判決模塊發(fā)送的水平向上預(yù)測指令,根據(jù)如下預(yù)測公式對待預(yù)測塊進(jìn)行水平向上模式預(yù)測Pre—Pix=(P一I+P一J+1)/2;和/或Pre—Pix[2]=(P—K+P—L+l)/2;和/或Pre—Pix[l]=(PJ+2P_J+P_K+2)/4;和/或Pre_Pix[2][l]=(P—K+2P—L+P—L+2)/4;和/或Pre_Pix[2]=(P—I+3P—J+3P—K+P—L+4)/8;和/或Pre—Pix[l][2]=(P_J+3P—K+4P—L+4)/8;和/或Pre—Pix[2][2]=(P—K+7P—L+4)/8;和/或Pre—Pix[3]=(P—I+4P—J+6P—K+5P—L+8)/16;和/或Pre—Pix[l][3]=(P—J+4P—K+llP_L+8)/16;和/或Pre—Pix[2][3]=(P—K+15P—L+8)/16;和/或Pre—Pix[l]=(P—J+P—K+l)/2;和/或Pre—Pix[l][l]=(P—J+2P_K+P—L+2)/4;和/或Pre—Pix[3][2]=Pre—Pix[3][3]=Pre—Pix[3]=Pre—Pix[3][l]=P_L;其中P一I、P—L、P—J、P—K為所述左塊中與待預(yù)測塊相鄰的像素重構(gòu)后的值;所述預(yù)測模式判決模塊,判斷當(dāng)待預(yù)測塊需要進(jìn)行水平向上模式預(yù)測時,若與待預(yù)測塊相鄰的左塊已經(jīng)完成重構(gòu),則向水平向上預(yù)測模塊發(fā)送水平向上預(yù)測指令。全文摘要本發(fā)明公開了一種幀內(nèi)預(yù)測方法及裝置,當(dāng)待預(yù)測塊需要進(jìn)行垂直模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行垂直模式預(yù)測。當(dāng)待預(yù)測塊需要進(jìn)行水平模式預(yù)測時,若與待預(yù)測塊相鄰的左塊、上塊和上左塊已經(jīng)完成重構(gòu),則根據(jù)所述左塊、上塊和上左塊中與待預(yù)測塊相鄰的像素對待預(yù)測塊進(jìn)行水平模式預(yù)測。因為充分利用了像素之間的距離關(guān)系,提高了幀內(nèi)預(yù)測的準(zhǔn)確度,進(jìn)而提高了編碼效率。文檔編號H04N7/34GK101217669SQ20081005620公開日2008年7月9日申請日期2008年1月15日優(yōu)先權(quán)日2008年1月15日發(fā)明者季鵬飛申請人:北京中星微電子有限公司