專利名稱::幀內(nèi)預(yù)測、編解碼方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻編碼技術(shù),特別涉及幀內(nèi)預(yù)測、編解碼方法及裝置。技術(shù)背景在視頻編碼中,幀內(nèi)編碼壓縮率很低。幀內(nèi)編碼時,幀內(nèi)編碼塊使用周圍的信息來進(jìn)行預(yù)測,不依賴于前面的已編碼幀,因而可以在得不到前面幀的情況下進(jìn)行解碼。在現(xiàn)有技術(shù)中,對當(dāng)前編碼塊進(jìn)行幀內(nèi)預(yù)測時,使用已解碼塊與當(dāng)前編碼塊的相鄰行和相鄰列像素進(jìn)行幀內(nèi)預(yù)測。根據(jù)這些已解碼塊的像素,可以選擇不同方向幀內(nèi)預(yù)測模式或者直流系數(shù)(DC)預(yù)測模式對當(dāng)前編碼塊進(jìn)行幀內(nèi)預(yù)測。每一種預(yù)測模式對應(yīng)一個預(yù)測器,每一個預(yù)測器用于計算獲得對應(yīng)預(yù)測模式下當(dāng)前編碼塊的預(yù)測結(jié)果?,F(xiàn)有技術(shù)中包含了基于大小為4x4,8x8,和16x16的塊的幀內(nèi)預(yù)測模式。其中4x4和8x8預(yù)測模式均有9個預(yù)測器,16xl6預(yù)測模式有4個預(yù)測器?,F(xiàn)有技術(shù)中的幀內(nèi)預(yù)測技術(shù),也可以由5個預(yù)測器對編碼塊進(jìn)行幀內(nèi)預(yù)測。以先進(jìn)視頻編碼(AVS)亮度分量幀內(nèi)預(yù)測為例,如圖1所示,圖1中的8x8方格矩陣表示當(dāng)前編碼塊,水平和垂直兩行像素的016個點是和當(dāng)前編碼塊相鄰的塊像素點,從中選取像素點作為當(dāng)前編碼塊像素點預(yù)測值的參考樣本小']和c[/],在幀內(nèi)預(yù)測時,首先要判斷相鄰參考樣本點的可用性,然后利用不同方向的預(yù)測器對當(dāng)前編碼塊的8x8共64個像素點進(jìn)行預(yù)測,產(chǎn)生相應(yīng)的預(yù)測值。如果圖1所示的當(dāng)前編碼塊的相鄰塊像素點已經(jīng)完成編碼,并且非圖象i緣ii備舉A嬢,則^像妾i^JD。AVS中五個方向幀內(nèi)預(yù)測器,對應(yīng)的幀內(nèi)預(yù)測模式分別為Intra一8x8Vertical、Intra一8x8—Horizontal、Intra—8x8—DC、Intra—8x8—Down—Left以及Intra—8x8—Down—Right預(yù)測模式。假設(shè)當(dāng)前要預(yù)測的像素的坐標(biāo)為(x,y),則當(dāng)使用Intra—8x8_Vertical預(yù)測模式時,當(dāng)前編碼塊內(nèi)的每個像素[jc,y]的予貞測ilpredMatrix[x,x)=r[x+l](乂,7=0~7)。當(dāng)采用Intra—8x8—Horizontal預(yù)測模式時,當(dāng)前編碼塊內(nèi)的每個像素[x,x]的予貞觀'H直predMatrix[;c,x)=c[y+l](x,_y=0~7)。當(dāng)采用Intra—8x8—DC預(yù)測模式時,根據(jù)參考樣本小']和c[/]的可用性,當(dāng)前編石馬塊內(nèi)的每個4象素[x,y]的預(yù)觀'Jj直predMatrix[;c,_y]=(OM+2x小+l]+小+2]+2)》2+(c[y〗+2xc[y+l]+c[y+2]+2)》2)》Kx,_y=0~7);或predMatrix[x,xl=(r[;c]+2xr[x+l]+r[;c+2]+2)>>2(x,_y=0~7);或predMatrix[;c,xl=(c[y]+2xc[y+l]+c[y+2]+2)》2(x,_y=0~7);或predMatrix[jc,xl=128(x,產(chǎn)0~7)。當(dāng)采用Intra—8x8—Down—Left預(yù)測才莫式時,predMatrix[x,x]=(0[;c+;;+1]+2xr[x+_y+2]+r[x+_y+3]+2)2+(c[x+_y+1]+2xc[x+_y+2]+c[Jcty+3]+2)》2)l(x,_y=0~7)。當(dāng)采用Intra—8x8—Down—Right預(yù)測模式時,如果jc等于》則predMatrix[x,x)=(c[l]+2xr+r[l]+2)>>2(x,y-0~7);如果x大于》貝'JpredMatrix[x,x!=0[;c-y+l]+2乂"[>^]+4;^>^1]+2)2(x,_y=0~7);如果y大于x,則predMatrix[x,y]=(c[y-x+l〗+2xc[y-x]+c[y-x-l]+2)2。由以上描述可見,現(xiàn)有技術(shù)中的幀內(nèi)預(yù)測,其預(yù)測器只利用當(dāng)前編碼塊相鄰塊的一行和一列像素來進(jìn)行預(yù)測,其預(yù)測精度不高,因此幀內(nèi)編碼率失真性能較差,不能進(jìn)一步反應(yīng)當(dāng)前編碼塊的內(nèi)容變化。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實施例一方面提供了幀內(nèi)預(yù)測、編解碼方法,另一方面提供幀內(nèi)預(yù)測裝置,包括編碼端以及解碼端,能夠提高幀內(nèi)編碼率失真性臺匕fl匕。一種幀內(nèi)預(yù)測方法,包括編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。一種幀內(nèi)預(yù)測編碼方法,包括編碼端計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根椐所述預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,對于所述擴展的預(yù)測模式,所述編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;所述編碼端根據(jù)所述第一預(yù)測模式對所述當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將所述編碼結(jié)果以及所述第一預(yù)測模式的標(biāo)識信息生成碼流。一種幀內(nèi)預(yù)測解碼方法,包括解碼端從編碼端生成的碼流中獲取第一預(yù)測模式標(biāo)識信息;根據(jù)所述第一預(yù)測模式標(biāo)識信息確定所述第一預(yù)測模式,如果所述第一預(yù)測模式為擴展的預(yù)測模式,則所述解碼端根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。一種編碼端,包括預(yù)測模式選擇單元和編碼單元,所述預(yù)測模式選擇單元,用于計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)所述預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,對于所述擴展的預(yù)測模式,所述預(yù)測模式選擇單元根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;所述編碼單元,用于根據(jù)所述第一預(yù)測模式對所述當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將所述編碼結(jié)果以及所述第一預(yù)測模式的標(biāo)識信息生成碼流。一種解碼端,包括預(yù)測模式獲取單元以及解碼單元,所述預(yù)測模式獲取單元,用于從編碼端生成的碼流中獲取第一預(yù)測模式的標(biāo)識信息;所述解碼單元,根據(jù)所述第一預(yù)測模式的標(biāo)識信息確定所述第一預(yù)測模式,如果所述第一預(yù)測模式為擴展的預(yù)測模式,則所述解碼單元根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。由以上技術(shù)方案可見,本發(fā)明實施例提供的幀內(nèi)預(yù)測、編解碼方法及裝置,通過在現(xiàn)有預(yù)測模式基礎(chǔ)上進(jìn)一步增加新的幀內(nèi)預(yù)測模式,根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值預(yù)測當(dāng)前編碼塊中待預(yù)測的像素的預(yù)測值,從而提高了幀內(nèi)編碼率失真性能。圖1為現(xiàn)有技術(shù)8x8幀內(nèi)預(yù)測示意圖;圖2為本發(fā)明幀內(nèi)預(yù)測編碼方法實施例的流程圖;圖3為本發(fā)明實施例8x8擴展幀內(nèi)預(yù)測示意圖;圖4為本發(fā)明實施例第一種擴展的預(yù)測模式的具體預(yù)測方式示意圖;圖5為本發(fā)明實施例第二種擴展的預(yù)測模式的具體預(yù)測方式示意圖;圖6為圖2所示方法的一個較佳實現(xiàn)方式的流程圖;圖7為本發(fā)明幀內(nèi)預(yù)測解碼方法實施例的流程圖。具體實施方式為使本發(fā)明的目的、技術(shù)方案和有益效果更加清楚明白,下面結(jié)合實施例和附圖,對本發(fā)明做進(jìn)一步地詳細(xì)說明。本發(fā)明實施例提供的幀內(nèi)預(yù)測方法,根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值預(yù)測當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。圖2為本發(fā)明幀內(nèi)預(yù)測編碼方法實施例的流程圖,該流程包括步驟201,編碼端計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)計算出的預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,即根據(jù)當(dāng)前編碼塊已預(yù)測像素的預(yù)測值確定待預(yù)測像素的預(yù)測值的預(yù)測模式,對于擴展的預(yù)測模式,編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。本步驟中,編碼端計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)計算出的預(yù)測值選擇第一預(yù)測模式可以為編碼端計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)計算出的預(yù)測值確定當(dāng)前編碼塊的率失真率(RDcost),選擇當(dāng)前編碼塊RDcost值最小的預(yù)測模式作為第一預(yù)測模式。對于AVS,本步驟中的每一種預(yù)測才莫式不^又可以包括一種或多種擴展的預(yù)測模式,還可以包括現(xiàn)有的五種預(yù)測模式,對于現(xiàn)有的預(yù)測模式,編碼端根據(jù)當(dāng)前編碼塊相鄰塊的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊所包含像素的預(yù)測值。步驟202,編碼端根據(jù)選擇的第一預(yù)測模式對當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將編碼結(jié)果以及第一預(yù)測模式的標(biāo)識信息生成碼流。本步驟中,將第一預(yù)測模式生成碼流的目的是使解碼端可以通過讀取碼流而獲取編碼端選擇的第一預(yù)測模式。為了減少解碼端將第一預(yù)測模式生成碼流所占用的空間,該方法進(jìn)一步可以包括設(shè)置每一種擴展模式與一種現(xiàn)有預(yù)測模式的映射關(guān)系,并設(shè)置擴展的預(yù)測模式的標(biāo)識信息。當(dāng)?shù)谝活A(yù)測模式為擴展的預(yù)測模式時,編碼端將第一預(yù)測模式對應(yīng)的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測沖莫式的標(biāo)識信息生成碼流。比如現(xiàn)有技術(shù)有5種預(yù)測模式,編號分別為0、1、2、3、4,現(xiàn)增加兩種擴展的預(yù)測模式,編號分別為5和6。如果編碼端選擇的第一預(yù)測模式為擴展的預(yù)測模式,則編碼端可以預(yù)先將擴展的預(yù)測模式與現(xiàn)有技術(shù)中的五種預(yù)測模式的兩種建立映射關(guān)系,比如編號為5的預(yù)測模式和編號為3的預(yù)測模式建立映射關(guān)系;編號為6的預(yù)測模式和編號為4的預(yù)測模式建立映射關(guān)系,閭時設(shè)置一個擴展的預(yù)測模式的標(biāo)識信息,如當(dāng)采用擴展的預(yù)測模式時,該擴展的預(yù)測模式的標(biāo)識信息為1;否則為0。這樣,當(dāng)?shù)谝活A(yù)測模式為編號為5的擴展的預(yù)測模式時,編碼端可以用編號為3的預(yù)測模式的標(biāo)識信息和擴展的預(yù)測模式的標(biāo)識信息來表示。由于擴展的預(yù)測模式的標(biāo)識信息只需要一個比特位表示,因此可以減少解碼端將第一預(yù)測模式生成碼流所占用的空間。步驟201中所述的擴展的預(yù)測模式可以為Intra_8x8_Down—Left—Ext和/或Intra—8x8—Down—Right_Ext預(yù)測才莫式。這兩種擴展的預(yù)測模式的具體預(yù)測方法如下所述如圖3中所示,對于8x8的幀內(nèi)預(yù)測模式,標(biāo)有Pxy(x,y=0~7)的塊為需要預(yù)測的像素,每一個像素的預(yù)測值表示為predMatrix[x,y]。在圖3中最上面的一行和最左側(cè)的一列表示可用參考樣本點r[i]和c[j]。Intm_8x8_Down_Left—Ext預(yù)測模式的具體預(yù)測方式如圖4所示,當(dāng)前要預(yù)測的像素為X,則利用該像素的左、上、右上像素A、B和C濾波得到像素X的預(yù)測值。根據(jù)A、B和C像素濾波得到X像素預(yù)測值的方法可以有很多種,包括(1,2,1)/4、(3,4,1)/8、(1,4,3)/8、(4,3,1)/8、(1,6,1)/8、(1,5,2)/8、(2,1,1)/4、(1,1,2)/4等。其中括號中的三個數(shù)字分別表示利用像素A、B和C預(yù)測值計算像素X預(yù)測值時的系數(shù)。以(1,2,1)/4為例,4象素X的預(yù)效'J值=(A+Bl+C+2)2,即(A+2B+C+2)/4。采用Intm_8x8_Down_Left_Ext預(yù)測模式對當(dāng)前編碼塊全部像素進(jìn)行預(yù)測具體描述如下當(dāng)r[i]、c[j](i,j=l~8)均可用時,可以采用Intra—8x8—Down—Left_Ext預(yù)測模式,由于圖3中r[i]、c[j](i,j=l~8)均為可用參考樣本點,因此predMatrix[O,O]=((c[l]+2xr[l]+r[2]+2)2,即第一個像素Poo的預(yù)測值是通過其左邊的c[l],正上方的r[l]和右上方的r[2]預(yù)測得到的。第一行的其余像素的預(yù)測值為<formula>formulaseeoriginaldocumentpage13</formula>,即Px。是通過其左邊的Px.,.o,正上方的r[i]及右上方的r[i+l]預(yù)測得到的。第二行到第八行預(yù)測如下第一列的像素的預(yù)測值為predMatrix+2xpredMatrix+predMatrix[1,y-1]+2)>>2,(y=l~7,j=2~8),即Poy是通過其左邊的c[)-28],正上方的Po.y及右上方的P,,y.,預(yù)測得到的。其余的第二列到第七列像素的預(yù)測值為predMatrix[x,y]-((predMatrix[x-1,y]+2xpredMatrix[x,y-1]+predMatrix[x+l,y-l]+2)》2(x=l~7,y=l~7),即P"是通過其左邊的PX-i.y,正上方的Px.y-,及右上方的Px+1.y.,預(yù)測得到的。第八列像素的預(yù)測值為predMatrix[x,y]=((predMatrix[x-1,y]+2xpredMatrix[x,y-1]+r[x+1,y-1]+2)》2(x=7,y=l~7);如果當(dāng)前要預(yù)測像素右上方參考樣本點不存在,則使用相鄰塊參考樣本中相同列位置的點作為參考樣本點值,即用圖3中的r[9]代替C點。對于該情況,也可以采用要預(yù)測像素上方參考樣本點代替,即利用圖4中的B點代替C點,如下predMatrix[x,y〗=((predMatrix[x-l,y]+3xpredMatrix[x,y-l〗+2)》2(x=7,y=l~7)。Intra_8x8—Down—Right_Ext預(yù)測模式的具體預(yù)測方式如圖5所示,當(dāng)前要預(yù)測的像素為X,則利用該像素的左、左下和左上像素A1、Bl和Cl濾波得到像素X的預(yù)測值。根據(jù)Al、Bl和CI像素濾波得到X像素預(yù)測值的方法可以有很多種,包括(1,2,l)/4、(3,4,l)/8、(1,4,3)/8、(4,3,l)/8、(1,6,l)/8、(1,5,2)/8、(2,,1)/4、(1,1,2)/4等。其中括號中的三個數(shù)字分別表示利用像素Al、B1和C1預(yù)測值計算像素X預(yù)測值時的系數(shù)。以(1,2,1)/4為例,像素X的預(yù)測值=(Al+Bl《l+Cl+2)》2,即(A1+2B1+C1+2)/4。采用Intra_8x8—Down—Right一Ext預(yù)測模式對當(dāng)前編碼塊全部像素進(jìn)行預(yù)測具體描述如下當(dāng)r[i]、c[j](i,j=l~8)均可用時,可以采用Intra—8x8—Down—Right—Ext預(yù)測模式,由于圖3中r[i]、c[j](i,j=l~8)均為可用參考樣本點,因此predMatrix[O,O]=((r[l]+2xc[l]+c[2]+2)>>2,即第一個像素Poo的預(yù)測值是通過其正上方的r[l],左邊的c[l]和左下方的c[2]預(yù)測得到的。第一列的其余像素的預(yù)測值為<formula>formulaseeoriginaldocumentpage14</formula>即P。y是通過其正上方的P。,y.,,左邊的c[j]及左下方c(j+l]預(yù)測得到的。第二列到第八列中的像素的預(yù)測如下第一行的像素的預(yù)測值為<formula>formulaseeoriginaldocumentpage14</formula>即Pxo是通過其正上方的r["28,左邊的Px小o及左下方的Px-,.,預(yù)測得到的。其余的第二行到第七行像素的預(yù)測值為<formula>formulaseeoriginaldocumentpage14</formula>即Pxy是通過其正上方的PX,H,左邊的PX-i,y及左下方的Px.),州預(yù)測得到的。第八行像素的預(yù)測值為<formula>formulaseeoriginaldocumentpage14</formula>如果當(dāng)前要預(yù)測像素左下方參者樣本點不存在,則使用相鄰塊泰者樣本中相同行位置點作為參考樣本值,即用c[9]代替Cl點。對于該情況,不存在的左下方參考樣本點也可以采用要預(yù)測像素左側(cè)參考樣本點來代替,即用B1點4戈替C1點。如下式所示predMatrix[x,y]=((predMatrix[x,y-l]+3xpredMatrix[x-l,y]+2)》2(x=l~7,y=7)。圖4和圖5給出的兩種擴展的預(yù)測模式Intra_8x8—Down—Left—Ext和Intra_8x8_Down—Right—Ext,均采用三個已預(yù)測像素的預(yù)測值確定待預(yù)測像素的預(yù)測值,實際應(yīng)用中也可以采用4個、5個或任意多個已預(yù)測像素的預(yù)測值確定待預(yù)測像素的預(yù)測值。另外,除了圖4和圖5給出的兩種擴展的預(yù)測模式外,還可以增加其它擴展的預(yù)測模式。比如可以對現(xiàn)有的所有預(yù)測模式或其中部分預(yù)測模式進(jìn)行擴展,即將所有預(yù)測方向或兩個以上預(yù)測方向中的每一個預(yù)測方向擴展為多個預(yù)測器的組合。這些擴展的預(yù)測才莫式在確定當(dāng)前編碼塊的像素的預(yù)測值時,需要根據(jù)已預(yù)測像素的預(yù)測值進(jìn)行計算。圖6為圖2所示方法的一個較佳實現(xiàn)方式的流程圖。該實現(xiàn)方式中,編碼端可選的幀內(nèi)預(yù)測模式如表1所示。<table>tableseeoriginaldocumentpage15</column></row><table>表l其中,Intra—8x8—Down—Left—Ext和Intra—8x8—Down—Right—Ext為擴展的預(yù)測模式。圖6所示流程包括如下步驟步驟601,編碼端計算表1中每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)計算出的預(yù)測值,選擇第一預(yù)測模式,本實施例中為最佳預(yù)測模式。最佳預(yù)測值可以根據(jù)率失真率優(yōu)化(RDO,Rate-DistortionOptimization)原則,計算每種預(yù)測模式編碼的RDcost,選擇RDcost最小的作為當(dāng)前編碼塊的最佳預(yù)測模式。為了兼容現(xiàn)有技術(shù),可以設(shè)置標(biāo)識是否使用幀內(nèi)預(yù)測擴展模式的標(biāo)記,本實施例中用extended—intrajrediction表示。如果編碼端從現(xiàn)有五種預(yù)測模式中選擇最佳預(yù)測模式(bestmode),則設(shè)置extended—intra_prediction為0;如果編碼端從包含擴展預(yù)測模式的7種預(yù)測模式中選擇bestmode,則設(shè)置extended_intra_prediction為1。步驟602,編碼端根據(jù)選擇的最佳預(yù)測模式對當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將編碼結(jié)果以及最佳預(yù)測模式的標(biāo)識信息生成碼流。本步驟中,編碼端可以直接將選擇的最佳預(yù)測模式的編號生成碼流;或通過設(shè)置擴展的預(yù)測模式的標(biāo)識信息,這里用extended—intra_prediction—flag表示,并設(shè)置Intra—8x8—Down_Left—Ext預(yù)測模式和Intra—8x8_Down—Right—Ext預(yù)測模式與其余五種現(xiàn)有預(yù)測模式中任意兩種的映射關(guān)系。本實施例中選擇預(yù)測模式編號為3和4的兩種現(xiàn)有模式分別與Intra_8x8—DownJLeft—Ext預(yù)測才莫式和Intra—8x8—Down_Right—Ext預(yù)測才莫式建立映射關(guān)系。同時,本實施例中設(shè)置extended—intra_prediction—flag為1時表示擴展的預(yù)測模式;為0時表示現(xiàn)有預(yù)測模式。當(dāng)然,也可以采用其它的設(shè)置方法,設(shè)置extended_intra_prediction—flag,只要能夠區(qū)分出相映射的現(xiàn)有預(yù)測模式和擴展的預(yù)測模式即可。如果編碼端選擇的最佳預(yù)測模式bes加ode-5(3E),則編碼端可以將extended_intra_prediction—flag=1以及bestmode=3生成碼流;如果bestmode=3,貝寸編碼端可以將extended—intra_prediction_flag=0及bestmode=3生成碼流。如果編碼端選擇的bestmode=6(4E),則編碼端可以將extended—intra_prediction—flag=1以及bestmode=4生成石馬;危;吵口果bestmode=4,貝寸編石馬端可以將extended—intra_prediction—flag=0及bestmode=4生成碼流。本發(fā)明的預(yù)測模式按照如下的編碼比特流的語法表進(jìn)行編碼,新的擴展幀內(nèi)子貞測才莫式用ExtendedIntraPrediction標(biāo)志。序列頭定義如下:<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table>其中,extended—intra_prediction等于1表示使用本發(fā)明的新幀內(nèi)預(yù)測類型;ae(v):用基于上下文的自適應(yīng)二元算術(shù)碼編碼的語法元素u(n):"位無符號整數(shù)。在語法表中,如果"是'v,,其比特數(shù)由其他語法元素值確定。解析過程由函數(shù)read一bits(")的返回值規(guī)定,該返回值用高位在前的二進(jìn)制表示。ue(v):無符號整數(shù)語法元素,用指數(shù)哥倫布碼編碼。圖7為本發(fā)明幀內(nèi)預(yù)測解碼方法實施例的流程圖。該流程包括步驟701,解碼端從編碼端生成的碼流中獲取第一預(yù)測模式標(biāo)識信息,根據(jù)第一預(yù)測模式標(biāo)識信息確定第一預(yù)測模式。步驟702,如果第一預(yù)測模式為擴展的預(yù)測模式,則解碼端根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。該方法還可以包括如果解碼端獲取的第一預(yù)測模式為現(xiàn)有預(yù)測模式,則解碼端根據(jù)當(dāng)前解碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前解碼塊所包含像素的預(yù)測值。該方法進(jìn)一步可以包括預(yù)先設(shè)置每一種擴展的預(yù)測模式與一種現(xiàn)有預(yù)測模式的映射關(guān)系,并設(shè)置擴展的預(yù)測模式的標(biāo)識信息。當(dāng)?shù)谝活A(yù)測模式標(biāo)識信息包括現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息時,解碼端通過比較預(yù)先設(shè)置的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息,和第一預(yù)測模式標(biāo)識信息中包括的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息,確定第一預(yù)測模式。利用本發(fā)明實施例提供的幀內(nèi)預(yù)測編碼和解碼方法進(jìn)行幀內(nèi)預(yù)測編解碼可以顯著提高幀內(nèi)編碼效率。在AVSP2中,使用本發(fā)明實施例提供的方法可以使得幀內(nèi)編碼率失真率平均增加O.ldB的增益。本發(fā)明實施例同時提供了一種編解碼系統(tǒng),包括編碼端和解碼端。其中,編碼端,用于計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)所述預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,對于擴展的預(yù)測模式,編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;根據(jù)第一預(yù)測模式對當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將編碼結(jié)果以及第一預(yù)測模式的標(biāo)識信息生成碼流;解碼端,用于從所述碼流中獲取第一預(yù)測模式的標(biāo)識信息;根據(jù)第一預(yù)測模式的標(biāo)識信息確定第一預(yù)測模式,如果第一預(yù)測模式為擴展的預(yù)測模式,則解碼端根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。其中,編碼端包括預(yù)測模式選擇單元和編碼單元。預(yù)測模式選擇單元,用于計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)所述預(yù)測值選擇第一預(yù)測模式,每一種預(yù)測模式包括擴展的預(yù)測模式,對于擴展的預(yù)測模式,預(yù)測模式選擇單元根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;編碼單元,用于根據(jù)第一預(yù)測模式對當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將編碼結(jié)果以及第一預(yù)測模式的標(biāo)識信息生成碼流。預(yù)測模式選擇單元包括擴展的預(yù)測模式預(yù)測單元、現(xiàn)有預(yù)測模式預(yù)測單元以及才莫式選擇單元。其中,擴展的預(yù)測模式預(yù)測單元,用于在擴展的預(yù)測模式下,根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;現(xiàn)有預(yù)測模式預(yù)測單元,用于在現(xiàn)有預(yù)測模式下,根據(jù)當(dāng)前編碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊所包含像素的預(yù)測值;模式選擇單元,用于根據(jù)擴展的預(yù)測模式預(yù)測單元和現(xiàn)有預(yù)測模式預(yù)測單元確定的預(yù)測值,選擇第一預(yù)測模式。編碼單元包括模式映射單元和碼流生成單元。模式映射單元,用于保存設(shè)置的每一種擴展的預(yù)測模式與現(xiàn)有預(yù)測模式的映射關(guān)系,以及設(shè)置的擴展的預(yù)測模式的標(biāo)識信息;碼流生成單元,用于根據(jù)第一預(yù)測模式對當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將編碼結(jié)果以及第一預(yù)測模式對應(yīng)的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息生成碼流。解碼端包括預(yù)測模式獲取單元以及解碼單元。預(yù)測模式獲取單元,用于從編碼端生成的碼流中獲取第一預(yù)測模式的標(biāo)識信息;解碼單元,根據(jù)第一預(yù)測模式的標(biāo)識信息確定第一預(yù)測模式,如杲第一預(yù)測模式為擴展的預(yù)測模式,則解碼單元根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。其中,解碼單元包括預(yù)測模式確定單元、擴展預(yù)測模式解碼單元以及現(xiàn)有預(yù)測模式解碼單元。預(yù)測模式確定單元,根據(jù)第一預(yù)測模式的標(biāo)識信息確定第一預(yù)測模式;擴展預(yù)測模式解碼單元,用于在第一預(yù)測模式為擴展的預(yù)測模式時,根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼;現(xiàn)有預(yù)測模式解碼單元,用于在第一預(yù)測模式為現(xiàn)有預(yù)測模式時,根據(jù)當(dāng)前解碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前解碼塊所包含像素的預(yù)測值。預(yù)測模式確定單元包括模式映射單元和模式確定單元。模式映射單元,用于保存設(shè)置的每一種擴展的預(yù)測模式與現(xiàn)有預(yù)測模式的映射關(guān)系,以及設(shè)置的擴展的預(yù)測模式的標(biāo)識信息;模式確定單元,用于比較第一預(yù)測模式的標(biāo)識信息中包含的和模式映射單元中保存的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式標(biāo)識信息,確定第一領(lǐng)測模式。由以上實施例可見,通過增加擴展的預(yù)測模式,編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定待預(yù)測像素的預(yù)測值,從而可以提高幀內(nèi)編碼率失真性能,在較低的信號標(biāo)志代價下提供最優(yōu)的編碼率失真性能??傊?,以上所迷僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1.一種幀內(nèi)預(yù)測方法,其特征在于,該方法包括編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。2、如4又利要求1所述的方法,其特征在于,所述確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值的方法包括所述編碼端根據(jù)當(dāng)前待預(yù)測像素相鄰的兩個或兩個以上已預(yù)測像素的預(yù)觀'J值確定所述當(dāng)前待預(yù)測像素的預(yù)測值。3、如權(quán)利要求2所述的方法,其特征在于,所述確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值的方法具體為所述編碼端根據(jù)當(dāng)前待預(yù)測像素右側(cè)、正上方以及右上側(cè)相鄰的三個已預(yù)測像素A、B以及C的預(yù)測值確定當(dāng)前待預(yù)測像素的預(yù)測值;或所述編碼端根據(jù)當(dāng)前要預(yù)測像素正上方、左側(cè)以及左下側(cè)相鄰的三個已預(yù)測像素Al、Bl以及C1的預(yù)測值確定當(dāng)前要預(yù)測像素的預(yù)測值。4、如權(quán)利要求3所述的方法,其特征在于,所述編碼端確定當(dāng)前要預(yù)測像素的預(yù)測值的計算方法具體為所述編碼端對所述三個已預(yù)測像素的預(yù)測值進(jìn)行濾波確定當(dāng)前待預(yù)測像素的預(yù)測值。5、如權(quán)利要求4所述的方法,其特征在于,所述編碼端對所述三個已預(yù)測像素的預(yù)測值進(jìn)行濾波確定當(dāng)前待預(yù)測像素的預(yù)測值的具體方法為所述三個已預(yù)測像素為所述A、B以及C時,所述當(dāng)前待預(yù)測像素的預(yù)測值等于所述A的預(yù)測值、兩倍的所述B的預(yù)測值以及所述C的預(yù)測值之和加2再除以4;所述三個已預(yù)測像素為所述Al、B1以及C1時,所述當(dāng)前待預(yù)測像素的預(yù)測值等于所述A1的預(yù)測值、兩倍的所述B1的預(yù)測值以及所述C1的預(yù)測^直之和加2再除以4。6、一種幀內(nèi)預(yù)測編碼方法,其特征在于,該方法包括編碼端計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)所述預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,對于所述擴展的預(yù)測模式,所述編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;所迷編碼端根據(jù)所述第一預(yù)測模式對所述當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將所述編碼結(jié)果以及所述第一預(yù)測模式的標(biāo)識信息生成碼流。7、如權(quán)利要求6所迷的方法,其特征在于,所述每一種預(yù)測模式進(jìn)一步包括現(xiàn)有預(yù)測模式,對于所述現(xiàn)有預(yù)測模式,所述編碼端根據(jù)當(dāng)前編碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊所包含像素的預(yù)測值。8、如權(quán)利要求7所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)置所述每一種擴展模式與所述現(xiàn)有預(yù)測模式的映射關(guān)系,設(shè)置擴展的預(yù)測模式的標(biāo)識信息,當(dāng)所述第一預(yù)測模式為擴展的預(yù)測模式時,所述編碼端將選擇的第一預(yù)測模式的標(biāo)識信息生成碼流為所述編碼端將所述第一預(yù)測模式對應(yīng)的現(xiàn)有預(yù)測模式的標(biāo)識信息以及所述擴展的預(yù)測模式的標(biāo)識信息生成碼流。9、如權(quán)利要求6至8任一項所述的方法,其特征在于,所述選擇第一預(yù)測模式為選擇率失真率RDcost最小的預(yù)測模式。10、一種幀內(nèi)預(yù)測解碼方法,其特征在于,該方法包括解碼端從編碼端生成的碼流中獲取第一預(yù)測模式標(biāo)識信息;根據(jù)所述第一預(yù)測模式標(biāo)識信息確定所述第一預(yù)測模式,如果所述第一預(yù)測模式為擴展的預(yù)測模式,則所述解碼端根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。11、如權(quán)利要求10所述的方法,其特征在于,該方法進(jìn)一步包括如果所述第一預(yù)測模式為現(xiàn)有預(yù)測模式,則所述解碼端根據(jù)當(dāng)前解碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前解碼塊所包含<象素的預(yù)測值。12、如權(quán)利要求11所述的方法,其特征在于,該方法進(jìn)一步包括設(shè)置所述每一種擴展模式與所述現(xiàn)有預(yù)測模式的映射關(guān)系,設(shè)置擴展的預(yù)測模式的標(biāo)識信息,當(dāng)所述第一預(yù)測模式標(biāo)識信息包括現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息時,所述解碼端確定所述第一預(yù)測模式為所述解碼端根據(jù)所述現(xiàn)有預(yù)測模式的標(biāo)識信息以及所述擴展的預(yù)測模式的標(biāo)識信息確定所述第一預(yù)測模式。13、一種編碼端,其特征在于,所述編碼端包括預(yù)測模式選擇單元和編碼單元,所迷預(yù)測模式選擇單元,用于計算每一種預(yù)測模式下,當(dāng)前編碼塊每個像素的預(yù)測值,根據(jù)所述預(yù)測值選擇第一預(yù)測模式,所述每一種預(yù)測模式包括擴展的預(yù)測模式,對于所述擴展的預(yù)測模式,所述預(yù)測模式選擇單元根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;所述編碼單元,用于根據(jù)所述第一預(yù)測模式對所述當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將所述編碼結(jié)果以及所述第一預(yù)測模式的標(biāo)識信息生成碼流。14、如權(quán)利要求13所述的編碼端,其特征在于,所述預(yù)測模式選擇單元包括擴展的預(yù)測模式預(yù)測單元、現(xiàn)有預(yù)測模式預(yù)測單元以及模式選擇單元,所述擴展的預(yù)測模式預(yù)測單元,用于在所述擴展的預(yù)測模式下,根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值;所述現(xiàn)有預(yù)測模式預(yù)測單元,用于在現(xiàn)有預(yù)測模式下,根據(jù)當(dāng)前編碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊所包含像素的預(yù)測值;所述模式選擇單元,用于根據(jù)所述擴展的預(yù)測模式預(yù)測單元和現(xiàn)有預(yù)測模式預(yù)測單元確定的預(yù)測值,選擇所述第一預(yù)測模式。15、如權(quán)利要求14所述的方法,其特征在于,所述編碼單元包括模式映射單元和碼流生成單元,所述模式映射單元,用于保存設(shè)置的每一種擴展的預(yù)測模式與所述現(xiàn)有預(yù)測模式的映射關(guān)系,以及設(shè)置的擴展的預(yù)測模式的標(biāo)識信息;所述碼流生成單元,用于根據(jù)所述第一預(yù)測模式對所述當(dāng)前編碼塊進(jìn)行編碼,獲得編碼結(jié)果,將所述編碼結(jié)果以及所述第一預(yù)測模式對應(yīng)的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式的標(biāo)識信息生成碼流。16、一種解碼端,其特征在于,所述解碼端包括預(yù)測模式獲取單元以及解碼單元,所述預(yù)測模式獲取單元,用于從編碼端生成的碼流中獲取第一預(yù)測模式的標(biāo)識信息;所述解碼單元,根據(jù)所述第一預(yù)測模式的標(biāo)識信息確定所述第一預(yù)測模式,如杲所述第一預(yù)測模式為擴展的預(yù)測模式,則所述解碼單元根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼。17、如權(quán)利要求16所述的解碼端,其特征在于,所述解碼單元包括預(yù)測模式確定單元、擴展預(yù)測4莫式解碼單元以及現(xiàn)有預(yù)測模式解碼單元,所述預(yù)測模式確定單元,根據(jù)所述第一預(yù)測模式的標(biāo)識信息確定所述第一預(yù)測模式;所述擴展預(yù)測模式解碼單元,用于在所述第一預(yù)測模式為擴展的預(yù)測模式時,根據(jù)當(dāng)前解碼塊已預(yù)測像素的預(yù)測值,確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前解碼塊進(jìn)行解碼;所述現(xiàn)有預(yù)測模式解碼單元,用于在所述第一預(yù)測模式為現(xiàn)有預(yù)測模式時,根據(jù)當(dāng)前解碼塊相鄰的一行和一列已預(yù)測像素的預(yù)測值確定當(dāng)前解碼塊所包含像素的預(yù)測值。18、如權(quán)利要求17所述的方法,其特征在于,所述預(yù)測模式確定單元包括模式映射單元和模式確定單元,所速模式映射單元,用子保存設(shè)置的所迷每一種擴展的預(yù)測模式與所速現(xiàn)有預(yù)測模式的映射關(guān)系,以及設(shè)置的擴展的預(yù)測模式的標(biāo)識信息;所述模式確定單元,用于比較所述第一預(yù)測模式的標(biāo)識信息中包含的和所述模式映射單元中保存的現(xiàn)有預(yù)測模式的標(biāo)識信息以及擴展的預(yù)測模式標(biāo)識信息,確定所述第一預(yù)測模式。全文摘要本發(fā)明實施例公開了一種幀內(nèi)預(yù)測方法,包括編碼端根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。本發(fā)明實施例同時公開了一種幀內(nèi)預(yù)測編碼方法,編碼端在擴展的預(yù)測模式下,根據(jù)當(dāng)前編碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前編碼塊中待預(yù)測像素的預(yù)測值。本發(fā)明實施例還公開了一種幀內(nèi)預(yù)測解碼方法,解碼端在擴展的預(yù)測模式下,根據(jù)當(dāng)前解碼塊中已預(yù)測像素的預(yù)測值確定當(dāng)前解碼塊中待預(yù)測像素的預(yù)測值,對當(dāng)前編碼塊進(jìn)行解碼。本發(fā)明實施例同時公開了一種編碼端和一種解碼端。利用本發(fā)明實施例提供的方法和裝置可以提高幀內(nèi)預(yù)測編碼的率失真性能。文檔編號H04N7/26GK101267567SQ20071008804公開日2008年9月17日申請日期2007年3月12日優(yōu)先權(quán)日2007年3月12日發(fā)明者周建同,張曉森,曾鵬鑫,林四新,熊聯(lián)歡,胡昌啟申請人:華為技術(shù)有限公司