欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法

文檔序號(hào):7580332閱讀:277來(lái)源:國(guó)知局
專利名稱:基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法
技術(shù)領(lǐng)域
基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法屬于圖像處理與壓縮編碼技術(shù)領(lǐng)域,主要涉及視頻編碼中的幀內(nèi)預(yù)測(cè)。
背景技術(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è)的編碼算法使用基于塊的幀間預(yù)測(cè)以利用時(shí)域統(tǒng)計(jì)相關(guān)性。在具體幀內(nèi)編碼時(shí),規(guī)定了圖像內(nèi)基本處理塊的幀內(nèi)預(yù)測(cè)模式,然后對(duì)預(yù)測(cè)殘差隨即進(jìn)行變換以去除變換塊內(nèi)的空間相關(guān)性,再進(jìn)行量化(這種不可逆過(guò)程通常丟棄重要性低的信息而得到與源樣值接近的近似值)。最后,使用現(xiàn)有技術(shù)的變長(zhǎng)編碼或算術(shù)編碼對(duì)量化變換系數(shù)信息進(jìn)行編碼。
目前,國(guó)內(nèi)外有關(guān)視頻編碼的大多數(shù)技術(shù)方案,都是基于MPEG4或者H.26L標(biāo)準(zhǔn)的。其中JVT(該組織是由ITU-T和ISO/IEC JTC1這兩個(gè)國(guó)際標(biāo)準(zhǔn)化組織聯(lián)合形成的一個(gè)音視頻標(biāo)準(zhǔn)化組織)出具的視頻編碼標(biāo)準(zhǔn)則是目前國(guó)內(nèi)外十分流行的一種編碼標(biāo)準(zhǔn)技術(shù)。在J VT中視頻編碼標(biāo)準(zhǔn)中,一個(gè)宏塊包括一個(gè)16×16的亮度樣值塊和兩個(gè)對(duì)應(yīng)的色度樣值塊,用作視頻編解碼過(guò)程的基本處理單元。
在JVT中,幀內(nèi)亮度樣植的預(yù)測(cè)采用的是基于4×4的塊預(yù)測(cè)結(jié)構(gòu)和16×16的塊預(yù)測(cè)結(jié)構(gòu)。
1. 4×4塊預(yù)測(cè)結(jié)構(gòu),如圖3所示該預(yù)測(cè)結(jié)構(gòu)利用4×4塊的左邊4個(gè)像素I~L、上邊8個(gè)像素A~H和左上角1個(gè)像素M已經(jīng)編碼宏塊的像素形成當(dāng)前4×4塊像素a~p的預(yù)測(cè)。
4×4塊預(yù)測(cè)結(jié)構(gòu)很精細(xì),殘差小。但是,在對(duì)一幅圖像處理時(shí),我們的基本單位是一個(gè)16×16的宏塊(macroblock),而這樣的宏塊需要16個(gè)4×4塊預(yù)測(cè),而每個(gè)4×4塊預(yù)測(cè)有9種模式,因此一個(gè)幀內(nèi)宏塊預(yù)測(cè)采用4×4塊預(yù)測(cè)結(jié)構(gòu)時(shí),編碼模式信息比特開銷很大。
2. 16×16塊預(yù)測(cè)結(jié)構(gòu),如圖4所示該預(yù)測(cè)結(jié)構(gòu)利用16×16塊的左邊16個(gè)像素、上邊16個(gè)像素和左上角1個(gè)像素已經(jīng)編碼宏塊的像素形成當(dāng)前宏塊的預(yù)測(cè)。它主要采用4種模式的預(yù)測(cè)方式。
16×16塊預(yù)測(cè)結(jié)構(gòu)雖然只需要1個(gè)16×16塊預(yù)測(cè),編碼模式信息比特開銷相對(duì)減小,可預(yù)測(cè)很粗糙,殘差較大。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種亮度樣值幀內(nèi)預(yù)測(cè)結(jié)構(gòu)式及預(yù)測(cè)模式的計(jì)算方法,來(lái)克服上述兩種預(yù)測(cè)結(jié)構(gòu)的缺點(diǎn),即用一種幀內(nèi)預(yù)測(cè)結(jié)構(gòu)替代JVT中現(xiàn)有的兩種預(yù)測(cè)結(jié)構(gòu)且在性能上優(yōu)于現(xiàn)有技術(shù)。本發(fā)明的一種基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法,首先讀出接收到的視頻序列的幀內(nèi)圖像,并將該圖像的像素亮度樣值按從左至右,從上到下的順序分成16×16的宏塊,接著對(duì)每個(gè)16×16宏塊中的像素亮度樣值進(jìn)行預(yù)測(cè),然后按JVT中的方法求取預(yù)測(cè)殘差值并對(duì)該預(yù)測(cè)殘差值進(jìn)行變換、量化,對(duì)量化變換后的系數(shù)信息進(jìn)行變長(zhǎng)編碼或算術(shù)編碼,直到整個(gè)圖像編碼完成為止,最后輸出整個(gè)圖像編碼比特流,其特征在于,所述對(duì)每個(gè)16×16宏塊中的像素亮度樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成1)取第一個(gè)16×16宏塊為當(dāng)前預(yù)測(cè)宏塊;2)將該宏塊按從左至右,從上到下的順序分成p×p(p=4,8,16)的塊,接著對(duì)每個(gè)p×p塊進(jìn)行預(yù)測(cè);3)取第一個(gè)p×p塊為當(dāng)前塊;4)將當(dāng)前p×p塊中的像素亮度樣值按照像素下標(biāo)(i=0,1,…,p-1,表示像素行下標(biāo);j=0,1,…,p-1,表示像素列下標(biāo);)的奇偶性劃分成偶偶子塊(當(dāng)i=0,2,4,…,p-2,j=0,2,4,…,p-2,時(shí)),偶奇子塊(當(dāng)i=0,2,4,…,p-2,j=1,3,5,…,p-1,時(shí)),奇偶子塊(當(dāng)i=1,3,5,…,p-1,j=0,2,4,…,p-2,時(shí))和奇奇子塊(當(dāng)i=1,3,5,…,p-1,j=1,3,5,…,p-1,時(shí));5)預(yù)測(cè)當(dāng)前塊中偶偶子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值(對(duì)于圖像邊緣的p×p塊,約定其周邊重構(gòu)出的像素亮度樣值為128),按照常規(guī)預(yù)測(cè)模式來(lái)預(yù)測(cè)偶偶子塊的像素亮度樣值 并重構(gòu)偶偶子塊中的像素亮度樣值ij,其中,i=0,2,4,…,p-2,表示像素行坐標(biāo),j=0,2,4,…,p-2,表示像素列坐標(biāo);6)預(yù)測(cè)當(dāng)前塊中奇奇子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)奇奇子塊的像素亮度樣值 并重構(gòu)奇奇子塊中的像素亮度樣值ij其中,i=1,3,5,…,p-1,表示像素行坐標(biāo),j=1,3,5,…,p-1,表示像素列坐標(biāo);7)預(yù)測(cè)當(dāng)前塊中偶奇子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶、奇奇子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)偶奇子塊的像素亮度樣值 并重構(gòu)偶奇子塊中的像素亮度樣值ij其中,i=0,2,4,…,p-2,表示像素行坐標(biāo),j=1,3,5,…,p-1,表示像素列坐標(biāo);8)預(yù)測(cè)當(dāng)前塊中奇偶子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶、奇奇和偶奇子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)奇偶子塊的像素亮度樣值 并重構(gòu)奇偶子塊中的像素亮度樣值ij其中,i=1,3,5,…,p-1,表示像素行坐標(biāo),j=0,2,4,…,p-2,表示像素列坐標(biāo);9)取下一個(gè)p×p塊作為當(dāng)前塊,重復(fù)第3)至8)步的過(guò)程,直到該宏塊預(yù)測(cè)完畢為止;10)取下一個(gè)宏塊作為當(dāng)前預(yù)測(cè)宏塊,重復(fù)第2)至9)步的過(guò)程,直到完成整幅圖像的像素亮度樣值的預(yù)測(cè)。
本發(fā)明的一種基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法,p×p塊的大小為8×8,所述對(duì)每個(gè)p×p塊中的像素亮度樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成1)將每一個(gè)16×16的宏塊按照從左至右,從上至下的順序分成4個(gè)8×8塊如圖9所示,再對(duì)每一個(gè)8×8塊如圖10中的64個(gè)像素亮度樣值按下標(biāo)的奇偶性劃分成偶偶子塊、偶奇子塊、奇偶子塊和奇奇子塊如圖11所示;2)選定第一個(gè)8×8塊且定義其像素為aij,其中i=0,1,…,7,表示像素行下標(biāo);j=0,1,…,7,表示像素列下標(biāo);與其相鄰的上邊一行的16個(gè)像素定義為sp,p=0,1,…,15;與其相鄰的左邊一列的8個(gè)像素定義為tq,q=0,1,…,7;f表示當(dāng)前8×8塊的左上角的像素,對(duì)于圖像中開始的8×8邊緣塊,約定其周邊重構(gòu)出的像素亮度樣值為128;3)預(yù)測(cè)當(dāng)前8×8塊中偶偶子塊的像素亮度樣值I.利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,按照下述9種預(yù)測(cè)模式來(lái)形成當(dāng)前偶偶子塊中各個(gè)像素9種預(yù)測(cè)模式下的預(yù)測(cè)值 如圖12所示,其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,2,4,6)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~000=a~020=a~040=a~060=s0;]]>a~002=a~022=a~042=a~062=s2;]]>a~004=a~024=a~044=a~064=s4;]]>a~006=a~026=a~046=a~066=s6;]]>b、模式1Horizontal prediction使用本模式的必要條件是tq(q=0,2,4,6)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~100=a~102=a~104=a~106=t0;]]>a~120=a~122=a~124=a~126=t2;]]>a~140=a~142=a~144=a~146=t4;]]>a~160=a~162=a~164=a~166=t6;]]>c.模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~300=((t2+2t1+t0+2)>>2+(s0+2s1+s2+2)>>2)>>1;]]>a~302=((t4+2t3+t2+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~304=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~306=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~320=((t4+2t3+t2+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~322=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~324=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~326=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~340=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~342=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~344=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~346=((t7+2t7+t7+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>a~360=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~362=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~364=((t7+2t7+t7+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>a~366=((t7+2t7+t7+2)>>2+(s12+2s13+s14+2)>>2)>>1;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~400=(t0+2f+s0+2)>>2;]]>a~402=(s0+2s1+s2+2)>>2;]]>a~404=(s2+2s3+s4+2)>>2;]]>a~406=(s4+2s5+s6+2)>>2;]]>a~420=(t2+2t1+t0+2)>>2;]]>a~422=(t0+2f+s0+2)>>2;]]>a~424=(s0+2s1+s2+2)>>2;]]>a~426=(s2+2s3+s4+2)>>2;]]>a~440=(t4+2t3+t2+2)>>2;]]>a~442=(t2+2t1+t0+2)>>2;]]>a~444=(t0+2f+s0+2)>>2;]]>a~446=(s0+2s1+s2+2)>>2;]]>a~460=(t6+2t5+t4+2)>>2;]]>a~462=(t4+2t3+t2+2)>>2;]]>a~464=(t2+2t1+t0+2)>>2;]]>a~466=(t0+2f+s0+2)>>2;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~500=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~502=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~504=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~506=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~520=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~522=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~524=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~526=((s7+2s8+s9+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~540=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~542=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~544=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~546=((s8+2s9+s10+2)>>2+(s9+2s10+s11+2)>>2)>>1;]]>a~560=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~562=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~564=((s7+2s8+s9+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~566=((s9+2s10+s11+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>g、模式6 Horizontal_Down prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~600=((t0+2f+s0+2)>>2+(f+2t0+t1+2)>>2)>>1;]]>a~602=(s0+2s1+s2+2)>>2;]]>a~604=(s2+2s3+s4+2)>>2;]]>a~606=(s4+2s5+s6+2)>>2;]]>a~620=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~622=((f+2t0+t1+2)>>2+(t0+2t1+t2+2)>>2)>>1;]]>a~624=((t0+2f+s0+2)>>2+(f+2t0+t1+2)>>2)>>1;]]>a~626=(s0+2s1+s2+2)>>2;]]>a~640=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~642=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>a~644=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~646=((f+2t0+t1+2)>>2+(t0+2t1+t2+2)>>2)>>1;]]>a~660=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~662=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~664=((t2+2t3+t4+3)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~666=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~700=((t0+2f+s0+2)>>2+(s0+2f+s1+2)>>2)>>1;]]>a~702=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~704=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~706=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~720=(t2+2t1+t0+2)>>2;]]>a~722=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~724=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~726=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~740=(t4+2t3+t2+2)>>2;]]>a~742=((t0+2f+s0+2)>>2+(s0+2f+s1+2)>>2)>>1;]]>a~744=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~746=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~760=(t6+2t5+t4+2)>>2;]]>a~762=(t2+2t1+t0+2)>>2;]]>a~764=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~766=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是tq(q=0,1,…,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~800=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~802=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>a~804=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~806=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~820=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1]]>a~822=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~824=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~826=((t5+2t6+t7+2)>>2+(t6+2t7+t7+2)>>2)>>1;]]>a~840=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~842=((t5+2t6+t7+2)>>2+(t6+2t7+t7+2)>>2)>>1;]]>a~844=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~846=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~860=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~862=((t7+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~864=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~866=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>II.確定偶偶子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a~kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=0,2,4,6,j=0,2,4,6;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=0,2,4,6,j=0,2,4,6;該子塊重構(gòu)后當(dāng)前8×8塊的重構(gòu)狀態(tài)如圖13所示;4)預(yù)測(cè)當(dāng)前8×8塊中奇奇子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值放回到原始8×8塊的位置上,如圖14所示,從圖14可以看出所有下標(biāo)為奇奇的像素正好位于已編碼重構(gòu)完的下標(biāo)為偶偶的像素中間的位置,然后利用偶偶子塊中重構(gòu)出的16個(gè)像素亮度樣值和當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)奇奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo),mn表示偶偶子塊中像素最后重構(gòu)值,m=0,2,4,6,表示像素行坐標(biāo),n=0,2,4,6表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,1,…,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~011=a~031=a~051=a~071=s1;]]>a~013=a~033=a~053=a~073=s3;]]>a~015=a~035=a~055=a~075=s5;]]>a~017=a~037=a~057=a~077=s1;]]>b、模式1Horizontal prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~111=(a^00+a^02+a^20+a^22+2)>>2]]>a~113=(a^02+a^04+a^22+a^24+2)>>2;]]>a~115=(a^04+a^06+a^24+a^26+2)>>2;]]>a~117=(a^06+a~26+1)>>1;]]>a~131=(a^20+a^22+a^40+a^42+2)>>2;]]>a~133=(a^22+a^24+a^42+a^44+2)>>2;]]>a~135=(a^24+a^26+a^44+a^46+2)>>2;]]>a~137=(a^26+a^46+1)>>1;]]>a~151=(a^40+a^42+a^60+a^62+2)>>2;]]>a~153=(a^42+a^44+a^62+a^64+2)>>2;]]>a~155=(a^44+a^46+a^64+a^66+2)>>2;]]>a~157=(a^46+a^66+1)>>1;]]>a~171=(a^60+a^62+1)>>1;]]>a~173=(a^62+a^64+1)>>1;]]>a~175=(a^64+a^66+1)>>1;]]>a~177=a^66;]]>c、模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~311=(a^00+a^22+1)>>1;]]>a~313=(a^02+a^24+1)>>1;]]>a~315=(a^04+a^26+1)>>1;]]>a~317=a^06;]]>a~331=(a^20+a^42+1)>>1;]]>a~333=(a^22+a^44+1)>>1;]]>a~335=(a^24+a^46+1)>>1;]]>a~337=a^26;]]>a~351=(a^40+a^62+1)>>1;]]>a~353=(a^42+a^64+1)>>1;]]>a~355=(a^44+a^46+1)>>1;]]>a~357=a^46;]]>a~371=a^60;]]>a~373=a^62;]]>a~375=a^64;]]>a~377=a^66;]]>e、模式4Diagonal_Down_Right Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~411=(a^02+a^20+1)>>1;]]>a~413=(a^04+a^22+1)>>1;]]>a~415=(a^06+a^24+1)>>1;]]>a~417=a^26;]]>a~431=(a^22+a^40+1)>>1;]]>a~433=(a^24+a^42+1)>>1;]]>a~435=(a^26+a^44+1)>>1;]]>a~437=a^46;]]>a~451=(a^42+a^60+1)>>1;]]>a~453=(a^44+a^62+1)>>1;]]>a~455=(a^46+a^64+1)>>1;]]>a~457=a^66;]]>a~471=a^66;]]>a~473=a^66;]]>a~475=a^66;]]>a~477=a^66;]]>f、模式5 Vertical_Right Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~511=(a^20+2a^40+a^60+2)>>2;]]>a~513=(a^22+2a^42+a^62+2)>>2;]]>a~515=(a^24+2a^44+a^64+2)>>2;]]>a~517=(a^26+2a^46+a^66+2)>>2;]]>a~531=(a^60+a^02+1)>>1;]]>a~533=(a^04+a^62+1)>>1;]]>a~535=(a^06+a^64+1)>>1;]]>a~537=a^66;]]>a~551=(a^02+2a^22+a^42+2)>>2;]]>a~553=(a^04+2a^24+a^44+2)>>2;]]>a~555=(a^06+2a^26+a^46+2)>>2;]]>a~557=a^66;]]>a~571=(a^22+2a^42+a^62+2)>>2;]]>a~573=(a^24+2a^44+a^64+2)>>2;]]>a~575=(a^26+2a^46+a^66+2)>>2;]]>a~577=a^66;]]>g、模式6 Horizontal_Down prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~611=(a^22+2a^24+a^26+2)>>2;]]>a~613=(a^00+a^26+1)>>1;]]>a~615=(a^00+2a^02+a^04+2)>>2;]]>a~617=(a^02+2a^04+a^06+2)>>2;]]>a~631=(a^42+2a^44+a^46+2)>>2;]]>a~633=(a^20+a^46+1)>>1;]]>a~635=(a^20+2a^22+a^24+2)>>2;]]>a~637=(a^22+2a^24+a^26+2)>>2;]]>a~651=(a^62+2a^64+a^66+2)>>2;]]>a~653=(a^40+a^66+1)>>1;]]>a~655=(a^40+2a^42+a^44+2)>>2;]]>a~657=(a^42+2a^44+a^46+2)>>2;]]>a~671=a^60;]]>a~673=a^60;]]>a~675=(a^60+2a^62+a^64+2)>>2;]]>a~677=(a^62+2a^64+a^66+2)>>2;]]>h、模式7 Vertical_Left Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~711=(a^22+2a^42+a^62+2)>>2;]]>a~713=(a^24+2a^44+a^64+2)>>2;]]>a~715=(a^26+2a^46+a^66+2)>>2;]]>a~717=a^06;]]>a~731=(a^00+a^62+1)>>1;]]>a~733=(a^02+a^64+1)>>1;]]>a~735=(a^04+a^66+1)>>1;]]>a~737=a^06;]]>a~751=(a^00+2a^20+a^40+2)>>2;]]>a~753=(a^02+2a^22+a^42+2)>>2;]]>a~731=(a^00+a^62+1)>>1;]]>a~757=(a^06+2a^26+a^46+2)>>2;]]>a~771=(a^20+2a^40+a^60+2)>>2;]]>a~773=(a^22+2a^42+a^62+2)>>2;]]>a~775=(a^24+2a^44+a^64+2)>>2;]]>a~777=(a^26+2a^46+a^66+2)>>2;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~811=(a^02+2a^04+a^06+2)>>2;]]>a~813=(a^06+a^20+1)>>1;]]>a~815=(t4+2t5+t6+2)>>2;]]>a~817=(a^22+2a^24+a^26+2)>>2;]]>a~831=(a^22+2a^24+a^26+2)>>2;]]>a~833=(a^20+2a^22+a^24+1)>>1;]]>a~835=(a^40+2a^42+a^44+1)>>1;]]>a~837=(a^42+2a^44+a^46+2)>>2;]]>a~851=(a^42+2a^44+a^46+2)>>2;]]>a~853=(a^60+a^46+1)>>1;]]>a~855=(a^60+2a^62+a^64+2)>>2;]]>a~857=(a^62+2a^64+a^66+2)>>2;]]>a~871=(a^62+2a^64+a^66+2)>>2;]]>a~873=a^66;]]>a~875=a^66;]]>a~877=a^66;]]>II.確定奇奇子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,4,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,4,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=1,3,5,7,j=1,3,5,7;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=1,3,5,7,j=1,3,5,7;5)預(yù)測(cè)當(dāng)前8×8塊中偶奇子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值和奇奇子塊的16個(gè)像素最后重構(gòu)值放回到原始的8×8塊的位置上如圖15所示,并利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,然后按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)偶奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo),mn表示偶偶、奇奇子塊中像素最后重構(gòu)值,m=0,1,…,7,表示像素行坐標(biāo),n=0,1,…,7,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~001=(s1+a^11+1)>>1;]]>a~003=(s3+a^13+1)>>1;]]>a~005=(s5+a^15+1)>>1;]]>a~007=(s7+a^17+1)>>1;]]>a~021=(a^11+a^31+1)>>1;]]>a~023=(a^13+a^33+1)>>1;]]>a~025=(a^15+a^35+1)>>1;]]>a~027=(a^17+a^37+1)>>1;]]>a~041=(a^31+a^51+1)>>1;]]>a~043=(a^33+a^53+1)>>1;]]>a~045=(a^35+a^55+1)>>1;]]>a~047=(a^37+a^57+1)>>1;]]>a~061=(a^51+a^71+1)>>1;]]>a~063=(a^53+a^73+1)>>1;]]>a~065=(a^55+a^75+1)>>1;]]>a~067=(a^57+a^77+1)>>1;]]>b、模式1Horizontal prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~101=(a^00+a^02+1)>>1;]]>a~103=(a^02+a^04+1)>>1;]]>a~105=(a^04+a^06+1)>>1;]]>a~107=a^06;]]>a~121=(a^20+a^22+1)>>1;]]>a~123=(a^22+a^24+1)>>1;]]>a~125=(a^24+a^26+1)>>1;]]>a~127=a^26;]]>a~141=(a^40+a^42+1)>>1;]]>a~143=(a^42+a^44+1)>>1;]]>a~145=(a^44+a^46+1)>>1;]]>a~147=a^46;]]>a~161=(a^60+a^62+1)>>1;]]>a~163=(a^62+a^64+1)>>1;]]>a~165=(a^64+a^66+1)>>1;]]>a~167=a^66;]]>c、模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~301=(a^00+2s0+s1+2)>>2;]]>a~303=(a^02+2s2+s3+2)>>2;]]>a~305=(a^04+2s4+s5+2)>>2;]]>a~307=(a^06+2s6+s7+2)>>2;]]>a~321=(a^20+2a^00+a^11+2)>>2;]]>a~323=(a^22+2a^02+a^13+2)>>2;]]>a~325=(a^24+2a^04+a^15+2)>>2;]]>a~327=(a^26+2a^06+a^17+2)>>2;]]>a~341=(a^40+2a^20+a^31+2)>>2;]]>a~343=(a^42+2a^22+a^33+2)>>2;]]>a~345=(a^44+2a^24+a^35+2)>>2;]]>a~347=(a^46+2a^26+a^37+2)>>2;]]>a~361=(a^60+2a^40+a^51+2)>>2;]]>a~363=(a^62+2a^42+a^53+2)>>2;]]>a~365=(a^64+2a^44+a^55+2)>>2;]]>a~367=(a^66+2a^46+a^57+2)>>2;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~401=(a^02+2s2+s1+2)>>2;]]>a~403=(a^04+2s4+s3+2)>>2;]]>a~405=(a^06+2s6+s5+2)>>2;]]>a~407=(3s8+s7+2)>>2;]]>a~421=(a^11+2a^02+a^22+2)>>2;;]]>a~423=(a^13+2a^04+a^24+2)>>2;]]>a~425=(a^15+2a^06+a^26+2)>>2;]]>a~427=(4a^17+2)>>2;]]>a~441=(a^31+2a^22+a^42+2)>>2;]]>a~443=(a^33+2a^24+a^44+2)>>2;]]>a~445=(a^35+2a^26+a^46+2)>>2;]]>a~447=(4a^37+2)>>2;]]>a~461=(a^51+2a^42+a^64+2)>>2;]]>a~463=(a^53+2a^44+a^64+2)>>2;]]>a~465=(a^55+2a^46+a^66+2)>>2;]]>a~467=(4a^57+2)>>2;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~501=((s1+2s2+s3+2)>>2+(a^00+2a^20+a^40+2)>>2)>>1;]]>a~503=((s3+2s4+s5+2)>>2+(a^02+2a^22+a^42+2)>>2)>>1;]]>a~505=((s5+2s6+s7+2)>>2+(a^04+2a^24+a^44+2)>>2)>>1;]]>a~507=((s7+2s8+s9+2)>>2+(a^06+2a^26+a^46+2)>>2)>>1;]]>a~521=(a^02+a^40+1)>>1;]]>a~523=(a^04+a^42+1)>>1;]]>a~525=(a^06+a^44+1)>>1;]]>a~527=a^46;]]>a~541=(a^22+a^60+1)>>1;]]>a~543=(a^24+a^62+1)>>1;]]>a~545=(a^26+a^24+1)>>1;]]>a~547=a^66;]]>a~561=a^42;]]>a~563=a^66;]]>a~565=a^46;]]>a~567=a^77;]]>g、模式6 Horizontal_Down prediction
使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~601=(f+a^13+1)>>1;]]>a~603=(s1+a^15+1)>>1;]]>a~605=(s3+a^17+1)>>1;]]>a~607=(s5+2s6+s7+2)>>2;]]>a~621=(t1+a^33+1)>>1;]]>a~623=(a^11+a^35+1)>>1;]]>a~625=(a^13+a^37+1)>>1;]]>a~627=a^15;]]>a~641=(t3+a^53+1)>>1;]]>a~643=(a^31+a^55+1)>>1;]]>a~645=(a^33+a^57+1)>>1;]]>a~647=a^35;]]>a~661=(a^51+a^73+1)>>1;]]>a~663=(a^51+a^75+1)>>1;]]>a~665=(a^53+a^77+1)>>1;]]>a~667=a^55;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~701=((s0+2s1+s2+2)>>2+(a^02+2a^22+a^42+2)>>2)>>1;]]>a~703=((s2+2s3+s4+2)>>2+(a^04+2a^24+a^44+2)>>2)>>1;]]>a~705=((s4+2s5+s6+2)>>2+(a^06+2a^26+a^46+2)>>2)>>1;]]>a~707=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~721=(a^00+a^42+1)>>1;]]>a~723=(a^02+a^44+1)>>1;]]>a~725=(a^04+a^46+1)>>1;]]>a~727=a^06;]]>a~741=(a^20+a^62+1)>>1;]]>a~743=(a^22+a^64+1)>>1;]]>a~745=(a^24+a^66+1)>>1;]]>a~747=a^26;]]>a~761=a^40;]]>a~763=a^42;]]>a~765=a^44;]]>a~767=a^46;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~801=(t1+2t2+t3+2)>>2;]]>a~803=(s5+a^11+1)>>1;]]>a~805=(s7+a^13+1)>>1;]]>a~807=(s9+a^15+1)>>1;]]>a~821=(t3+a^13+1)>>1;]]>a~823=(a^15+a^31+1)>>1;]]>a~825=(a^33+a^17+1)>>1;]]>a~827=a^35;]]>a~841=(t5+a^33+1)>>1;]]>a~843=(a^51+a^35+1)>>1;]]>a~845=(a^53+a^37+1)>>1;]]>a~847=a^55;]]>a~861=(a^71+a^53+1)>>1;]]>a~863=(a^71+a^55+1)>>1;]]>a~865=(a^73+a^57+1)>>1;]]>a~867=a^75;]]>II.確定偶奇子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=0,2,4,6,j=1,3,5,7;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=0,2,4,6,j=1,3,5,7;6)預(yù)測(cè)當(dāng)前8×8塊中奇偶子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值、奇奇子塊的16個(gè)像素最后重構(gòu)值和偶奇子塊的16個(gè)像素最后重構(gòu)值放回到原始的8×8塊的位置上,如圖16所示,并利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,然后按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)奇奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo),mn表示偶偶子塊中像素最后重構(gòu)值,m=0,1,…,7,表示像素行坐標(biāo),n=0,1,…,7,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~010=(a^00+a^20+1)>>1;]]>a~012=(a^02+a^22+1)>>1;]]>a~014=(a^04+a^24+1)>>1;]]>a~016=(a^06+a^26+1)>>1;]]>a~030=(a^20+a^40+1)>>1;]]>a~032=(a^22+a^42+1)>>1;]]>a~034=(a^24+a^44+1)>>1;]]>a~036=(a^26+a^46+1)>>1;]]>a~050=(a^40+a^60+1)>>1;]]>a~052=(a^42+a^62+1)>>1;]]>a~054=(a^44+a^64+1)>>1;]]>a~056=(a^46+a^66+1)>>1;]]>a~070=a^60;]]>a~072=a^62;]]>a~074=a^64;]]>a~076=a^66;]]>
b、模式1Horizontal prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~110=(t1+a^11+1)>>1;]]>a~112=(a^11+a^13+1)>>1;]]>a~114=(a^13+a^15+1)>>1;]]>a~116=(a^15+a^17+1)>>1;]]>a~130=(t3+a^31+1)>>1;]]>a~132=(a^31+a^33+1)>>1;;]]>a~134=(a^33+a^35+1)>>1;]]>a~136=(a^35+a^37+1)>>1;]]>a~150=(t5+a^51+1)>>1;;]]>a~152=(a^51+a^53+1)>>1;]]>a~154=(a^33+a^55+1)>>1;;]]>a~156=(a^55+a^57+1)>>1;]]>a~170=(t7+a^71+1)>>1;]]>a~172=(a^71+a^73+1)>>1;]]>a~174=(a^73+a^75+1)>>1;]]>a~176=(a^75+a^77+1)>>1;]]>c、模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;
d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~310=(t0+a^21+1)>>1;]]>a~312=(a^01+a^23+1)>>1;]]>a~314=(a^03+a^25+1)>>1;]]>a~316=(a^05+a^27+1)>>1;]]>a~330=(t2+a^41+1)>>1;]]>a~332=(a^21+a^43+1)>>1;]]>a~334=(a^23+a^45+1)>>1;]]>a~336=(a^25+a^47+1)>>1;]]>a~350=(t4+a^61+1)>>1;]]>a~352=(a^41+a^63+1)>>1;]]>a~354=(a^43+a^65+1)>>1;]]>a~356=(a^45+a^67+1)>>1;]]>a~370=t6;]]>a~372=a^61;]]>a~374=a^63;]]>a~376=a^65;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~410=(a^01+t2+1)>>1;]]>a~412=(a^03+a^21+1)>>1;]]>a~414=(a^05+a^23+1)>>1;]]>a~416=(a^07+a^25+1)>>1;]]>a~430=(a^21+t4+1)>>1;]]>a~432=(a^23+a^41+1)>>1;]]>a~434=(a^25+a^43+1)>>1;]]>a~436=(a^27+a^45+1)>>1;]]>a~450=(a^41+t6+1)>>1;]]>a~452=(a^43+a^61+1)>>1;]]>a~454=(a^45+a^63+1)>>1;]]>a~456=(a^47+a^65+1)>>1;]]>a~470=a^61;]]>a~472=a^63;]]>a~474=a^65;]]>a~476=a^67;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~510=(s1+t3+1)>>1;]]>a~512=(s3+a^31+1)>>1;]]>a~514=(s5+a^33+1)>>1;]]>a~516=(s7+a^35+1)>>1;]]>a~530=(t5+a^11+1)>>1;]]>a~532=(a^13+a^51+1)>>1;]]>a~534=(a^15+a^53+1)>>1;]]>a~536=(a^17+a^55+1)>>1;]]>a~550=(a^31+t7+1)>>1;]]>a~552=(a^33+a^71+1)>>1;]]>a~554=(a^35+a^73+1)>>1;]]>a~556=(a^37+a^75+1)>>1;]]>a~570=a^51;]]>a~572=a^53;]]>a~574=a^55;]]>a~576=a^57;]]>g、模式6 Horizontal_Down prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~610=a^22;]]>a~612=(a^00+a^24+1)>>1;]]>a~614=(a^02+a^26+1)>>1;]]>a~616=a^04;]]>a~630=a^42;]]>a~632=(a^20+a^44+1)>>1;]]>a~634=(a^22+a^46+1)>>1;]]>a~636=a^24;]]>a~650=a^62;]]>a~652=(a^40+a^64+1)>>1;]]>a~654=(a^42+a^67+1)>>1;]]>a~656=a^44;]]>a~670=a^71;]]>a~672=a^60;]]>a~674=a^64;]]>a~676=a^64;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~710=(f+a^31+1)>>1;]]>a~712=(s1+a^33+1)>>1;]]>a~714=(s3+a^35+1)>>1;]]>a~716=(s5+a^37+1)>>1;]]>a~730=(a^51+t1+1)>>1;]]>a~732=(a^11+a^53+1)>>1;]]>a~734=(a^13+a^55+1)>>1;]]>a~736=(a^15+a^57+1)>>1;]]>a~750=(a^71+t3+1)>>1;]]>a~752=(a^31+a^73+1)>>1;]]>a~754=(a^33+a^75+1)>>1;]]>a~756=(a^35+a^77+1)>>1;]]>a~770=t5;]]>a~772=a^51;]]>a~774=a^53;]]>a~776=a^55;]]>i、模式8 Horizontal_Up prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~810=a^02;]]>a~812=(a^20+a^04+1)>>1;]]>a~814=(a^22+a^06+1)>>1;]]>a~816=a^24;]]>a~830=a^22;]]>a~832=(a^24+a^40+1)>>1;]]>a~834=(a^42+a^26+1)>>1;]]>a~836=a^44;]]>a~850=a^42;]]>a~852=(a^60+a^44+1)>>1;]]>a~854=(a^62+a^46+1)>>1;]]>a~856=a^64;]]>a~870=a^62;]]>a~872=a^64;]]>a~874=a^66;]]>a~876=a^77;]]>II.確定奇偶子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=1,3,5,7,j=0,2,4,6;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=1,3,5,7,j=0,2,4,6;此時(shí),8×8塊中所有像素預(yù)測(cè)完畢,其預(yù)測(cè)值記為 如圖17所示,重構(gòu)值記為ij,如圖18所示,i=0,1,…,7,表示像素行坐標(biāo);j=0,1,…,7,表示像素列坐標(biāo);7)選取另一個(gè)8×8塊,重復(fù)第3)至第6)步的過(guò)程,直到四個(gè)8×8塊全部完成。
本發(fā)明的一種基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法,其預(yù)測(cè)結(jié)構(gòu)精細(xì),預(yù)測(cè)殘差小,提高了圖像的編碼質(zhì)量,節(jié)省了編碼比特開銷。
本發(fā)明的系統(tǒng)框圖及幀內(nèi)圖像中待壓縮塊的處理框圖如圖1、圖2所示,這種基于視頻內(nèi)容的視頻編碼方法,是通過(guò)視頻攝像機(jī)得到原始視頻序列作為輸入,通過(guò)視頻采集卡后變成視頻序列數(shù)據(jù)進(jìn)入計(jì)算機(jī),并采用JVT提供的視頻編碼技術(shù),由計(jì)算機(jī)進(jìn)行處理與運(yùn)算。
本發(fā)明的過(guò)程如圖5、圖6、圖7、圖8所示。


圖1系統(tǒng)框圖;1、采集的原始視頻圖像序列,2、計(jì)算機(jī),3、幀內(nèi)圖像壓縮處理,4、幀間圖像壓縮處理,5、壓縮后編碼序列,6、數(shù)據(jù)傳輸系統(tǒng);圖2幀內(nèi)圖像中待壓縮塊的處理框圖;7、待處理的圖像塊,8、圖像塊的預(yù)測(cè)模塊,9、變換,10、量化器,11、熵編碼,12、壓縮后比特流;圖3現(xiàn)有JVT中的4×4塊幀內(nèi)預(yù)測(cè)結(jié)構(gòu);圖4現(xiàn)有JVT中的16×16塊幀內(nèi)預(yù)測(cè)結(jié)構(gòu);圖5本發(fā)明的主流程圖;圖6本發(fā)明的宏塊預(yù)測(cè)模塊流程圖;圖7求圖6中任意子塊的預(yù)測(cè)值流程圖;圖8求圖7中當(dāng)前預(yù)測(cè)模式下當(dāng)前子塊編碼和重構(gòu)流程圖;圖9本發(fā)明的16×16宏塊中預(yù)測(cè)每個(gè)8×8塊的順序圖;
圖10本發(fā)明的標(biāo)注了像素下標(biāo)的基本8×8塊;圖11本發(fā)明的對(duì)8×8塊劃分的奇偶子塊圖;A、偶偶子塊,B、奇奇子塊,C、偶奇子塊,D、奇偶子塊;圖12本發(fā)明的用來(lái)預(yù)測(cè)當(dāng)前偶偶子塊的像素和偶偶子塊中像素的位置圖;圖13本發(fā)明重構(gòu)出的偶偶子塊的像素的位置圖;圖14本發(fā)明重構(gòu)出的偶偶子塊像素和待預(yù)測(cè)的奇奇子塊像素位置圖;圖15本發(fā)明重構(gòu)出的偶偶子塊像素、奇奇子塊像素和待預(yù)測(cè)的偶奇子塊像素位置圖;圖16本發(fā)明重構(gòu)出的偶偶子塊像素、奇奇子塊像素、偶奇子塊像素和待預(yù)測(cè)的奇偶子塊像素位置圖;圖17本發(fā)明的8×8塊預(yù)測(cè)值圖;圖18本發(fā)明的8×8塊重構(gòu)值圖;圖19本發(fā)明的重構(gòu)偶偶子塊所需像素值及其位置圖;圖20本發(fā)明的重構(gòu)偶偶子塊后8×8塊像素值及其位置圖;圖21本發(fā)明的重構(gòu)出偶偶子塊、奇奇子塊像素值及其位置圖;圖22本發(fā)明的重構(gòu)出偶偶子塊、奇奇子塊和偶奇子塊像素值及其位置圖;圖23本發(fā)明的整個(gè)8×8塊重構(gòu)后所有像素值及其位置圖;圖24本發(fā)明的整個(gè)8×8塊預(yù)測(cè)完畢后所有像素值及其位置圖;圖25本發(fā)明與JVT預(yù)測(cè)結(jié)構(gòu)在實(shí)例下的亮度樣值信噪比及比特率曲線圖。
具體實(shí)施方式
下面我們對(duì)幀內(nèi)圖像中任意取出的一個(gè)8×8塊做實(shí)例說(shuō)明,當(dāng)前的8×8塊周邊的已經(jīng)編碼完的像素亮度樣值如圖19所示,利用它們來(lái)預(yù)測(cè)當(dāng)前8×8塊中的各個(gè)像素的亮度樣值;1.利用8×8塊周邊已經(jīng)重構(gòu)出的亮度樣值,預(yù)測(cè)偶偶子塊中各個(gè)像素的亮度樣值,對(duì)于圖像中開始的8×8邊緣塊,約定其周邊的像素亮度樣值為128,利用它們來(lái)預(yù)測(cè)邊緣的8×8塊。
a.利用本發(fā)明的方法求取9種模式下每種模式預(yù)測(cè)出的偶偶子塊的像素預(yù)測(cè)值 這里k=0,1,2,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=0,2,4,6表示像素列坐標(biāo);b.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,i=0,2,4,6,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo);k=0,1,…,8;采用現(xiàn)有JVT中的編碼技術(shù),對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,求編碼當(dāng)前子塊所需比特;并對(duì)各個(gè)像素的預(yù)測(cè)殘差做了DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值重構(gòu)當(dāng)前模式下子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij;c.按現(xiàn)有JVT技術(shù)計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)a.b.c.直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式。在本例中,計(jì)算出的該子塊的最優(yōu)預(yù)測(cè)模式為5,其中模式0的Rdcost為747.7;模式1的Rdcost為498.1;模式2的Rdcost為763.7;模式3的Rdcost為480.1;模式4的Rdcost為824.7;模式5的Rdcost為472.7;模式6的Rdcost為777.7;模式7的Rdcost為723.7;模式8的Rdcost為685.7;所以本子塊的最優(yōu)模式為5。該最優(yōu)預(yù)測(cè)模式5下重建的5ij為該子塊的最后重構(gòu)值,記為ij;該最優(yōu)預(yù)測(cè)模式5下預(yù)測(cè)的 記為 為該子塊的最后預(yù)測(cè)值;偶偶子塊重構(gòu)后當(dāng)前8×8塊的重構(gòu)狀態(tài)如圖20所示。
2.利用8×8塊周邊的已經(jīng)重構(gòu)完的像素亮度樣值和偶偶子塊中重構(gòu)的像素亮度樣值,預(yù)測(cè)本發(fā)明奇奇子塊中的各個(gè)像素的亮度樣值;a.利用本發(fā)明的方法求取9種模式預(yù)測(cè)下每種模式奇奇子塊的像素亮度樣值 k=0,1,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo);b.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,i=1,3,5,7,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo); k=0,1,…,8;采用現(xiàn)有JVT中的編碼技術(shù),對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,求編碼當(dāng)前子塊所需比特;并對(duì)各個(gè)像素的預(yù)測(cè)殘差做了DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值重構(gòu)當(dāng)前模式下子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij;c.按現(xiàn)有JVT技術(shù)計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)a.b.c.直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式。在本例中,計(jì)算出的該子塊的最優(yōu)預(yù)測(cè)模式為1,其中模式0的Rdcost為891.3;模式1的Rdcost為216.1;模式2的Rdcost為703.3;模式3的Rdcost為430.7;模式4的Rdcost為410.7;模式5的Rdcost為428.7;模式6的Rdcost為576.7;模式7的Rdcost為596.7;模式8的Rdcost為518.7;所以本子塊的最優(yōu)模式為1。該最優(yōu)預(yù)測(cè)模式1下重建的1ij為該子塊的最后重構(gòu)值,記為ij;該最優(yōu)預(yù)測(cè)模式5下預(yù)測(cè)的 記為 為該子塊的最后預(yù)測(cè)值;
奇奇子塊重構(gòu)后當(dāng)前8×8塊的重構(gòu)狀態(tài)如圖21所示。
3.用8×8塊周邊的已經(jīng)編碼完的像素亮度樣值和偶偶子塊、奇奇子塊中重構(gòu)的像素亮度樣值預(yù)測(cè)本發(fā)明偶奇子塊中的各個(gè)像素的亮度樣值;a.求取9種模式預(yù)測(cè)下每種模式偶奇塊的像素亮度樣值 k=0,1,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo);b.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,i=0,2,4,6,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo); k=0,1,…,8;采用現(xiàn)有JVT中的編碼技術(shù),對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,求編碼當(dāng)前子塊所需比特;并對(duì)各個(gè)像素的預(yù)測(cè)殘差做了DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值重構(gòu)當(dāng)前模式下子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij;c.按現(xiàn)有JVT技術(shù)計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)a.b.c.直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式。在本例中,計(jì)算出的該子塊的最優(yōu)預(yù)測(cè)模式為1,其中模式0的Rdcost為502.7;模式1的Rdcost為310.1;模式2的Rdcost為884.3;模式3的Rdcost為528.7;模式4的Rdcost為487.7;模式5的Rdcost為494.7;模式6的Rdcost為533.7;模式7的Rdcost為589.7;模式8的Rdcost為440.7;所以本子塊的最優(yōu)模式為1。該最優(yōu)預(yù)測(cè)模式1下重建的1ij為該子塊的最后重構(gòu)值,記為ij;該最優(yōu)預(yù)測(cè)模式5下預(yù)測(cè)的 記為 為該子塊的最后預(yù)測(cè)值;偶奇子塊重構(gòu)后當(dāng)前8×8塊的重構(gòu)狀態(tài)如圖22所示。
4.利用8×8塊周邊的已經(jīng)編碼完的像素亮度樣值和偶偶子塊、奇奇子塊、偶奇子塊中重構(gòu)的像素亮度樣值,預(yù)測(cè)本發(fā)明奇偶子塊中的各個(gè)像素的亮度樣值;a.利用本發(fā)明技術(shù)求取9種模式預(yù)測(cè)下每種模式奇偶子塊的像素亮度樣值 這里k=0,1,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo);b.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,i=1,3,5,7,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo);k=0,1,…,8;采用現(xiàn)有JVT中的編碼技術(shù),對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,求編碼當(dāng)前子塊所需比特;并對(duì)各個(gè)像素的預(yù)測(cè)殘差做了DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值重構(gòu)當(dāng)前模式下子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij;c.按現(xiàn)有JVT技術(shù)計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)63.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)a.b.c.直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式。在本例中,計(jì)算出的該子塊的最優(yōu)預(yù)測(cè)模式為1,其中模式0的Rdcost為527.7;模式1的Rdcost為305.1;模式2的Rdcost為922.3;模式3的Rdcost為569.7;模式4的Rdcost為504.7;模式5的Rdcost為485.7;模式6的Rdcost為715.7;模式7的Rdcost為543.7;模式8的Rdcost為592.7;所以本子塊的最優(yōu)模式為1。該最優(yōu)預(yù)測(cè)模式1下重建的1ij為該子塊的最后重構(gòu)值,記為ij;該最優(yōu)預(yù)測(cè)模式5下預(yù)測(cè)的 記為 為該子塊的最后預(yù)測(cè)值。奇偶子塊重構(gòu)后當(dāng)前8×8塊的重構(gòu)狀態(tài)如圖23所示;此時(shí)8×8塊預(yù)測(cè)完畢,其最后預(yù)測(cè)值如圖24所示。
對(duì)于一幅大小為176×144,幀率為30Hz的圖像,利用本發(fā)明和JVT預(yù)測(cè)結(jié)構(gòu)分別計(jì)算在不同量化值下的亮度樣植信噪比及比特率,并畫出亮度樣植信噪比與比特率曲線圖(圖25)。從圖25中可以看出,利用本發(fā)明提出的預(yù)測(cè)結(jié)構(gòu)給出的曲線在利用JVT結(jié)構(gòu)給出的曲線上方,這就表明了本發(fā)明的優(yōu)勢(shì),即在耗費(fèi)相同的比特時(shí),本發(fā)明能提供更高的圖象質(zhì)量;在得到相同的圖像質(zhì)量時(shí),本發(fā)明能減少比特的開銷。
權(quán)利要求
1.一種基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法,首先讀出接收到的視頻序列的幀內(nèi)圖像,并將該圖像的像素亮度樣值按從左至右,從上到下的順序分成16×16的宏塊,接著對(duì)16×16宏塊中的像素亮度樣值進(jìn)行預(yù)測(cè),然后按JVT中的方法求取預(yù)測(cè)殘差值并對(duì)該預(yù)測(cè)殘差值進(jìn)行變換、量化,對(duì)量化變換后的系數(shù)信息進(jìn)行變長(zhǎng)編碼或算術(shù)編碼,直到整個(gè)圖像編碼完成為止,最后輸出整個(gè)圖像編碼比特流,其特征在于,所述對(duì)每個(gè)16×16宏塊中的像素亮度樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成1)取第一個(gè)16×16宏塊為當(dāng)前預(yù)測(cè)宏塊;2)將該宏塊按從左至右,從上到下的順序分成p×p(p=4,8,16)的塊,接著對(duì)每個(gè)p×p塊進(jìn)行預(yù)測(cè);3)取第一個(gè)p×p塊為當(dāng)前塊;4)將當(dāng)前p×p塊中的像素亮度樣值按照像素下標(biāo)(i=0,1,…,p-1,表示像素行下標(biāo);j=0,1,…,p-1,表示像素列下標(biāo);)的奇偶性劃分成偶偶子塊(當(dāng)i=0,2,4,…,p-2,j=0,2,4,…,p-2,時(shí)),偶奇子塊(當(dāng)i=0,2,4,…,p-2,j=1,3,5,…,p-1,時(shí)),奇偶子塊(當(dāng)i=1,3,5,…,p-1,j=0,2,4,…,p-2,時(shí))和奇奇子塊(當(dāng)i=1,3,5,…,p-1,j=1,3,5,…,p-1,時(shí));5)預(yù)測(cè)當(dāng)前塊中偶偶子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值(對(duì)于圖像邊緣的p×p塊,約定其周邊重構(gòu)出的像素亮度樣值為128),按照常規(guī)預(yù)測(cè)模式來(lái)預(yù)測(cè)偶偶子塊的像素亮度樣值 并重構(gòu)偶偶子塊中的像素亮度樣值ij,其中,i=0,2,4,…,p-2,表示像素行坐標(biāo),j=0,2,4,…,p-2,表示像素列坐標(biāo);6)預(yù)測(cè)當(dāng)前塊中奇奇子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)奇奇子塊的像素亮度樣值 并重構(gòu)奇奇子塊中的像素亮度樣值ij其中,i=1,3,5,…,p-1,表示像素行坐標(biāo),j=1,3,5,…,p-1,表示像素列坐標(biāo);7)預(yù)測(cè)當(dāng)前塊中偶奇子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶、奇奇子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)偶奇子塊的像素亮度樣值 并重構(gòu)偶奇子塊中的像素亮度樣值ij其中,i=0,2,4,…,p-2,表示像素行坐標(biāo),j=1,3,5,…,p-1,表示像素列坐標(biāo);8)預(yù)測(cè)當(dāng)前塊中奇偶子塊的像素亮度樣值利用該p×p塊上邊、左邊和左上角已經(jīng)重構(gòu)的像素亮度樣值和重構(gòu)出的偶偶、奇奇和偶奇子塊的像素亮度樣值,按照常規(guī)預(yù)測(cè)模式預(yù)測(cè)奇偶子塊的像素亮度樣值 并重構(gòu)奇偶子塊中的像素亮度樣值ij其中,i=1,3,5,…,p-1,表示像素行坐標(biāo),j=0,2,4,…,p-2,表示像素列坐標(biāo);9)取下一個(gè)p×p塊作為當(dāng)前塊,重復(fù)第3)至8)步的過(guò)程,直到該宏塊預(yù)測(cè)完畢為止;10)取下一個(gè)宏塊作為當(dāng)前預(yù)測(cè)宏塊,重復(fù)第2)至9)步的過(guò)程,直到完成整幅圖像的像素亮度樣值的預(yù)測(cè)。
2.根據(jù)權(quán)利要求1所述的一種基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法,其特征在于,所述p×p塊的大小為8×8,所述對(duì)每個(gè)p×p塊中的像素亮度樣值進(jìn)行預(yù)測(cè)由以下步驟順次組成1)將每一個(gè)16×16宏塊中的像素亮度樣值按照從左至右,從上至下的順序分成4個(gè)8×8塊,再對(duì)每一個(gè)8×8塊中的64個(gè)像素亮度樣值按下標(biāo)的奇偶性劃分成偶偶子塊、偶奇子塊、奇偶子塊和奇奇子塊;2)選定第一個(gè)8×8塊且定義其像素為aij,其中i=0,1,…,7,表示像素行下標(biāo);j=0,1,…,7,表示像素列下標(biāo);與其相鄰的上邊一行的16個(gè)像素定義為sp,p=0,1,…,15;與其相鄰的左邊一列的8個(gè)像素定義為tq,q=0,1,…,7;f表示當(dāng)前8×8塊的左上角的像素,對(duì)于圖像中開始的8×8邊緣塊,約定其周邊重構(gòu)出的像素亮度樣值為128;3)預(yù)測(cè)當(dāng)前8×8塊中偶偶子塊的像素亮度樣值I.利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,按照下述9種預(yù)測(cè)模式來(lái)形成當(dāng)前偶偶子塊中各個(gè)像素9種預(yù)測(cè)模式下的預(yù)測(cè)值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,2,4,6)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~000=a~020=a~040=a~060=s0;]]>a~002=a~022=a~042=a~062=s2;]]>a~004=a~024=a~044=a~064=s4;]]>a~006=a~026=a~046=a~066=s6;]]>b、模式1Horizontal prediction使用本模式的必要條件是tq(q=0,2,4,6)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~100=a~102=a~104=a~106=t0;]]>a~120=a~122=a~124=a~126=t2;]]>a~140=a~142=a~144=a~146=t4;]]>a~160=a~162=a~164=a~166=t6;]]>c.模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~300=((t2+2t1+t0+2)>>2+(s0+2s1+s2+2)>>2)>>1;]]>a~302=((t4+2t3+t2+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~304=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~306=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~320=((t4+2t3+t2+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~322=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~324=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~326=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~340=((t6+2t5+t4+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~342=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~344=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~346=((t7+2t7+t7+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>a~360=((t7+2t7+t6+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~362=((t7+2t7+t7+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~364=((t7+2t7+t7+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>a~366=((t7+2t7+t7+2)>>2+(s12+2s13+s14+2)>>2)>>1;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用to代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~400=(t0+2f+s0+2)>>2;]]>a~402=(s0+2s1+s2+2)>>2;]]>a~404=(s2+2s3+s4+2)>>2;]]>a~406=(s4+2s5+s6+2)>>2;]]>a~420=(t2+2t1+t0+2)>>2;]]>a~422=(t0+2f+s0+2)>>2;]]>a~424=(s0+2s1+s2+2)>>2;]]>a~426=(s2+2s3+s4+2)>>2;]]>a~440=(t4+2t3+t2+2)>>2;]]>a~442=(t2+2t1+t0+2)>>2;]]>a~444=(t0+2f+s0+2)>>2;]]>a~446=(s0+2s1+s2+2)>>2;]]>a~460=(t6+2t5+t4+2)>>2;]]>a~462=(t4+2t3+t2+2)>>2;]]>a~464=(t2+2t1+t0+2)>>2;]]>a~466=(t0+2f+s0+2)>>2;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~500=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~502=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~504=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~506=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~520=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~522=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~524=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~526=((s7+2s8+s9+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~540=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~542=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~544=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~546=((s8+2s9+s10+2)>>2+(s9+2s10+s11+2)>>2)>>1;]]>a~560=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~562=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~564=((s7+2s8+s9+2)>>2+(s8+2s9+s10+2)>>2)>>1;]]>a~566=((s9+2s10+s11+2)>>2+(s10+2s11+s12+2)>>2)>>1;]]>g、模式6 Horizontal_Down prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~600=((t0+2f+s0+2)>>2+(f+2t0+t1+2)>>2)>>1;]]>a~602=(s0+2s1+s2+2)>>2;]]>a~604=(s2+2s3+s4+2)>>2;]]>a~606=(s4+2s5+s6+2)>>2;]]>a~620=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~622=((f+2t0+t1+2)>>2+(t0+2t1+t2+2)>>2)>>1;]]>a~624=((t0+2f+s0+2)>>2+(f+2t0+t1+2)>>2)>>1;]]>a~626=(s0+2s1+s2+2)>>2;]]>a~640=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~642=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>a~644=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~646=((f+2t0+t1+2)>>2+(t0+2t1+t2+2)>>2)>>1;]]>a~660=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~662=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~664=((t2+2t3+t4+3)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~666=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~700=((t0+2f+s0+2)>>2+(s0+2f+s1+2)>>2)>>1;]]>a~702=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~704=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~706=((s5+2s6+s7+2)>>2+(s6+2s7+s8+2)>>2)>>1;]]>a~720=(t2+2t1+t0+2)>>2;]]>a~722=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~724=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>a~726=((s4+2s5+s6+2)>>2+(s5+2s6+s7+2)>>2)>>1;]]>a~740=(t4+2t3+t2+2)>>2;]]>a~742=((t0+2f+s0+2)>>2+(s0+2f+s1+2)>>2)>>1;]]>a~744=((s1+2s2+s3+2)>>2+(s2+2s3+s4+2)>>2)>>1;]]>a~746=((s3+2s4+s5+2)>>2+(s4+2s5+s6+2)>>2)>>1;]]>a~760=(t6+2t5+t4+2)>>2;]]>a~762=(t2+2t1+t0+2)>>2;]]>a~764=((s0+2s1+s2+2)>>2+(s1+2s2+s3+2)>>2)>>1;]]>a~766=((s2+2s3+s4+2)>>2+(s3+2s4+s5+2)>>2)>>1;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是tq(q=0,1,…,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~800=((t0+2t1+t2+2)>>2+(t1+2t2+t3+2)>>2)>>1;]]>a~802=((t1+2t2+t3+2)>>2+(t2+2t3+t4+2)>>2)>>1;]]>a~804=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1;]]>a~806=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~820=((t2+2t3+t4+2)>>2+(t3+2t4+t5+2)>>2)>>1]]>a~822=((t3+2t4+t5+2)>>2+(t4+2t5+t6+2)>>2)>>1;]]>a~824=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~826=((t5+2t6+t7+2)>>2+(t6+2t7+t7+2)>>2)>>1;]]>a~840=((t4+2t5+t6+2)>>2+(t5+2t6+t7+2)>>2)>>1;]]>a~842=((t5+2t6+t7+2)>>2+(t6+2t7+t7+2)>>2)>>1;]]>a~844=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~846=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~860=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~862=((t7+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~864=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>a~866=((t6+2t7+t7+2)>>2+(t7+2t7+t7+2)>>2)>>1;]]>II.確定偶偶子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=0,2,4,6,j=0,2,4,6;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=0,2,4,6,j=0,2,4,6;4)預(yù)測(cè)當(dāng)前8×8塊中奇奇子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值放回到原始8×8塊的位置上,然后利用偶偶子塊中重構(gòu)出的16個(gè)像素亮度樣值和當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)奇奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo),mn表示偶偶子塊中像素最后重構(gòu)值,m=0,2,4,6,表示像素行坐標(biāo),n=0,2,4,6表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,1,…,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~011=a~031=a~051=a~071=s1;]]>a~013=a~033=a~053=a~073=s3;]]>a~015=a~035=a~055=a~075=s5;]]>a~017=a~037=a~057=a~077=s1;]]>b、模式1Horizontal prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~111=(a^00+a^02+a^20+a^22+2)>>2;]]>a~113=(a^02+a^04+a^22+a^24+2)>>2;]]>a~115=(a^04+a^06+a^24+a^26+2)>>2;]]>a~117=(a^06+a~26+1)>>1;]]>a~131=(a^20+a^22+a^40+a^42+2)>>2;]]>a~133=(a^22+a^24+a^42+a^44+2)>>2;]]>a~135=(a^24+a^26+a^44+a^46+2)>>2;]]>a~137=(a^26+a^46+1)>>1;]]>a~151=(a^40+a^42+a^60+a^62+2)>>2;]]>a~153=(a^42+a^44+a^62+a^64+2)>>2;]]>a~155=(a^44+a^46+a^64+a^66+2)>>2;]]>a~157=(a^46+a^66+1)>>1;]]>a~171=(a^60+a^62+1)>>1;]]>a~173=(a^62+a^64+1)>>1;]]>a~175=(a^64+a^66+1)>>1;]]>a~177=a^66;]]>c、模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~311=(a^00+a^22+1)>>1;]]>a~313=(a^02+a^24+1)>>1;]]>a~315=(a^04+a^26+1)>>1;]]>a~317=a^06;]]>a~331=(a^20+a^42+1)>>1;]]>a~333=(a^22+a^44+1)>>1;]]>a~335=(a^24+a^46+1)>>1;]]>a~337=a^26;]]>a~351=(a^40+a^62+1)>>1;]]>a~353=(a^42+a^64+1)>>1;]]>a~355=(a^44+a^46+1)>>1;]]>a~357=a^46;]]>a~371=a^60;]]>a~373=a^62;]]>a~375=a^64;]]>a~377=a^66;]]>e、模式4Diagonal_Down_Right Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~411=(a^02+a^20+1)>>1;]]>a~413=(a^04+a^22+1)>>1;]]>a~415=(a^06+a^24+1)>>1;]]>a~417=a^26;]]>a~431=(a^22+a^40+1)>>1;]]>a~433=(a^24+a^42+1)>>1;]]>a~435=(a^26+a^44+1)>>1;]]>a~437=a^46;]]>a~451=(a^42+a^60+1)>>1;]]>a~453=(a^44+a^62+1)>>1;]]>a~455=(a^46+a^64+1)>>1;]]>a~457=a^66;]]>a~471=a^66;]]>a~473=a^66;]]>a~475=a^66;]]>a~477=a^66;]]>f、模式5 Vertical_Right Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~511=(a^20+2a^40+a^60+2)>>2;]]>a~513=(a^22+2a^42+a^62+2)>>2;]]>a~515=(a^24+2a^44+a^64+2)>>2;]]>a~517=(a^26+2a^46+a^66+2)>>2;]]>a~531=(a^60+a^02+1)>>1;]]>a~533=(a^04+a^62+1)>>1;]]>a~535=(a^06+a^64+1)>>1;]]>a~537=a^66;]]>a~551=(a^02+2a^22+a^42+2)>>2;]]>a~553=(a^04+2a^24+a^44+2)>>2;]]>a~555=(a^06+2a^26+a^46+2)>>2;]]>a~557=a^66;]]>a~571=(a^22+2a^42+a^62+2)>>2;]]>a~573=(a^24+2a^44+a^64+2)>>2;]]>a~575=(a^26+2a^46+a^66+2)>>2;]]>a~577=a^66;]]>g、模式6 Horizontal_Down prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~611=(a^22+2a^24+a^26+2)>>2;]]>a~613=(a^00+a^26+1)>>1;]]>a~615=(a^00+2a^02+a^04+2)>>2;]]>a~617=(a^02+2a^04+a^06+2)>>2;]]>a~631=(a^42+2a^44+a^46+2)>>2;]]>a~633=(a^20+a^46+1)>>1;]]>a~635=(a^20+2a^22+a^24+2)>>2;]]>a~637=(a^22+2a^24+a^26+2)>>2;]]>a~651=(a^62+2a^64+a^66+2)>>2;]]>a~653=(a^40+a^66+1)>>1;]]>a~655=(a^40+2a^42+a^44+2)>>2;]]>a~657=(a^42+2a^44+a^46+2)>>2;]]>a~671=a^60;]]>a~673=a^60;]]>a~675=(a^60+2a^62+a^64+2)>>2;]]>a~677=(a^62+2a^64+a^66+2)>>2;]]>h、模式7 Vertical_Left Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~711=(a^22+2a^42+a^62+2)>>2;]]>a~713=(a^24+2a^44+a^64+2)>>2;]]>a~715=(a^26+2a^46+a^66+2)>>2;]]>a~717=a^06;]]>a~731=(a^00+a^62+1)>>1;]]>a~733=(a^02+a^64+1)>>1;]]>a~735=(a^04+a^66+1)>>1;]]>a~737=a^06;]]>a~751=(a^00+2a^20+a^40+2)>>2;]]>a~753=(a^02+2a^22+a^42+2)>>2;]]>a~731=(a^00+a^62+1)>>1;]]>a~757=(a^06+2a^26+a^46+2)>>2;]]>a~771=(a^20+2a^40+a^60+2)>>2;]]>a~773=(a^22+2a^42+a^62+2)>>2;]]>a~775=(a^24+2a^44+a^64+2)>>2;]]>a~777=(a^26+2a^46+a^66+2)>>2;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~811=(a^02+2a^04+a^06+2)>>2;]]>a~813=(a^06+a^20+1)>>1;]]>a~815=(t4+2t5+t6+2)>>2;]]>a~817=(a^22+2a^24+a^26+2)>>2;]]>a~831=(a^22+2a^24+a^26+2)>>2;]]>a~833=(a^20+2a^22+a^24+1)>>1;]]>a~835=(a^40+2a^42+a^44+1)>>1;]]>a~837=(a^42+2a^44+a^46+2)>>2;]]>a~851=(a^42+2a^44+a^46+2)>>2;]]>a~853=(a^60+a^46+1)>>1;]]>a~855=(a^60+2a^62+a^64+2)>>2;]]>a~857=(a^62+2a^64+a^66+2)>>2;]]>a~871=(a^62+2a^64+a^66+2)>>2;]]>a~873=a^66;]]>a~875=a^66;]]>a~877=a^66;]]>II.確定奇奇子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,4,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,4,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=1,3,5,7,j=1,3,5,7;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=1,3,5,7,j=1,3,5,7;5)預(yù)測(cè)當(dāng)前8×8塊中偶奇子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值和奇奇子塊的16個(gè)像素最后重構(gòu)值放回到原始的8×8塊的位置上,并利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,然后按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)偶奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=0,2,4,6,表示像素行坐標(biāo),j=1,3,5,7,表示像素列坐標(biāo),mn表示偶偶、奇奇子塊中像素最后重構(gòu)值,m=0,1,…,7,表示像素行坐標(biāo),n=0,1,…,7,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction使用本模式的必要條件是sp(p=0,1,…,7)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~001=(s1+a^11+1)>>1;]]>a~003=(s3+a^13+1)>>1;]]>a~005=(s5+a^15+1)>>1;]]>a~007=(s7+a^17+1)>>1;]]>a~021=(a^11+a^31+1)>>1;]]>a~023=(a^13+a^33+1)>>1;]]>a~025=(a^15+a^35+1)>>1;]]>a~027=(a^17+a^37+1)>>1;]]>a~041=(a^31+a^51+1)>>1;]]>a~043=(a^33+a^53+1)>>1;]]>a~045=(a^35+a^55+1)>>1;]]>a~047=(a^37+a^57+1)>>1;]]>a~061=(a^51+a^71+1)>>1;]]>a~063=(a^53+a^73+1)>>1;]]>a~065=(a^55+a^75+1)>>1;]]>a~067=(a^57+a^77+1)>>1;]]>b、模式1Horizontal prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~101=(a^00+a^02+1)>>1;]]>a~103=(a^02+a^04+1)>>1;]]>a~105=(a^04+a^06+1)>>1;]]>a~107=a^06;]]>a~121=(a^20+a^22+1)>>1;]]>a~123=(a^22+a^24+1)>>1;]]>a~125=(a^24+a^26+1)>>1;]]>a~127=a^26;]]>a~141=(a^40+a^42+1)>>1;]]>a~143=(a^42+a^44+1)>>1;]]>a~145=(a^44+a^46+1)>>1;]]>a~147=a^46;]]>a~161=(a^60+a^62+1)>>1;]]>a~163=(a^62+a^64+1)>>1;]]>a~165=(a^64+a^66+1)>>1;]]>a~167=a^66;]]>c.模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~301=(a^00+2s0+s1+2)>>2;]]>a~303=(a^02+2s2+s3+2)>>2;]]>a~305=(a^04+2s4+s5+2)>>2;]]>a~307=(a^06+2s6+s7+2)>>2;]]>a~321=(a^20+2a^00+a^11+2)>>2;]]>a~323=(a^22+2a^02+a^13+2)>>2;]]>a~325=(a^24+2a^04+a^15+2)>>2;]]>a~327=(a^26+2a^06+a^17+2)>>2;]]>a~341=(a^40+2a^20+a^31+2)>>2;]]>a~343=(a^42+2a^22+a^33+2)>>2;]]>a~345=(a^44+2a^24+a^35+2)>>2;]]>a~347=(a^46+2a^26+a^37+2)>>2;]]>a~361=(a^60+2a^40+a^51+2)>>2;]]>a~363=(a^62+2a^42+a^53+2)>>2;]]>a~365=(a^64+2a^44+a^55+2)>>2;]]>a~367=(a^66+2a^46+a^57+2)>>2;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~401=(a^02+2s2+s1+2)>>2;]]>a~403=(a^04+2s4+s3+2)>>2;]]>a~405=(a^06+2s6+s5+2)>>2;]]>a~407=(3s8+s7+2)>>2;]]>a~421=(a^11+2a^02+a^22+2)>>2;;]]>a~423=(a^13+2a^04+a^24+2)>>2;]]>a~425=(a^15+2a^06+a^26+2)>>2;]]>a~427=(4a^17+2)>>2;]]>a~441=(a^31+2a^22+a^42+2)>>2;]]>a~443=(a^33+2a^24+a^44+2)>>2;]]>a~445=(a^35+2a^26+a^46+2)>>2;]]>a~447=(4a^37+2)>>2;]]>a~461=(a^51+2a^42+a^64+2)>>2;]]>a~463=(a^53+2a^44+a^64+2)>>2;]]>a~465=(a^55+2a^46+a^66+2)>>2;]]>a~467=(4a^57+2)>>2;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~501=((s1+2s2+s3+2)>>2+(a^00+2a^20+a^40+2)>>2)>>1;]]>a~503=((s3+2s4+s5+2)>>2+(a^02+2a^22+a^42+2)>>2)>>1;]]>a~505=((s5+2s6+s7+2)>>2+(a^04+2a^24+a^44+2)>>2)>>1;]]>a~507=((s7+2s8+s9+2)>>2+(a^06+2a^26+a^46+2)>>2)>>1;]]>a~521=(a^02+a^40+1)>>1;]]>a~523=(a^04+a^42+1)>>1;]]>a~525=(a^06+a^44+1)>>1;]]>a~527=a^46;]]>a~541=(a^22+a^60+1)>>1;]]>a~543=(a^24+a^62+1)>>1;]]>a~545=(a^26+a^24+1)>>1;]]>a~547=a^66;]]>a~561=a^42;]]>a~563=a^66;]]>a~565=a^46;]]>a~567=a^77;]]>g、模式6 Horizontal_Down prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~601=(f+a^13+1)>>1;]]>a~603=(s1+a^15+1)>>1;]]>a~605=(s3+a^17+1)>>1;]]>a~607=(s5+2s6+s7+2)>>2;]]>a~621=(t1+a^33+1)>>1;]]>a~623=(a^11+a^35+1)>>1;]]>a~625=(a^13+a^37+1)>>1;]]>a~627=a^15;]]>a~641=(t3+a^53+1)>>1;]]>a~643=(a^31+a^55+1)>>1;]]>a~645=(a^33+a^57+1)>>1;]]>a~647=a^35;]]>a~661=(a^51+a^73+1)>>1;]]>a~663=(a^51+a^75+1)>>1;]]>a~665=(a^53+a^77+1)>>1;]]>a~667=a^55;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp(p=0,1,…,15)可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~701=((s0+2s1+s2+2)>>2+(a^02+2a^22+a^42+2)>>2)>>1;]]>a~703=((s2+2s3+s4+2)>>2+(a^04+2a^24+a^44+2)>>2)>>1;]]>a~705=((s4+2s5+s6+2)>>2+(a^06+2a^26+a^46+2)>>2)>>1;]]>a~707=((s6+2s7+s8+2)>>2+(s7+2s8+s9+2)>>2)>>1;]]>a~721=(a^00+a^42+1)>>1;]]>a~723=(a^02+a^44+1)>>1;]]>a~725=(a^04+a^46+1)>>1;]]>a~727=a^06;]]>a~741=(a^20+a^62+1)>>1;]]>a~743=(a^22+a^64+1)>>1;]]>a~745=(a^24+a^66+1)>>1;]]>a~747=a^26;]]>a~761=a^40;]]>a~763=a^42;]]>a~765=a^44;]]>a~767=a^46;]]>i、模式8 Horizontal_Up prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~801=(t1+2t2+t3+2)>>2;]]>a~803=(s5+a^11+1)>>1;]]>a~805=(s7+a^13+1)>>1;]]>a~807=(s9+a^15+1)>>1;]]>a~821=(t3+a^13+1)>>1;]]>a~823=(a^15+a^31+1)>>1;]]>a~825=(a^33+a^17+1)>>1;]]>a~827=a^35;]]>a~841=(t5+a^33+1)>>1;]]>a~843=(a^51+a^35+1)>>1;]]>a~845=(a^53+a^37+1)>>1;]]>a~847=a^55;]]>a~861=(a^71+a^53+1)>>1;]]>a~863=(a^71+a^55+1)>>1;]]>a~865=(a^73+a^57+1)>>1;]]>a~867=a^75;]]>II.確定偶奇子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a~kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下預(yù)測(cè)像素亮度樣值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=0,2,4,6,表示像素行坐標(biāo);j=1,3,5,7,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=0,2,4,6,j=1,3,5,7;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=0,2,4,6,j=1,3,5,7;6)預(yù)測(cè)當(dāng)前8×8塊中奇偶子塊的像素亮度樣值I.首先將偶偶子塊的16個(gè)像素最后重構(gòu)值、奇奇子塊的16個(gè)像素最后重構(gòu)值和偶奇子塊的16個(gè)像素最后重構(gòu)值放回到原始的8×8塊的位置上,并利用當(dāng)前8×8塊周圍已經(jīng)編碼宏塊的像素sp(p=0,1,…,15)和tq(q=0,1,…,7)的亮度樣值,然后按照下述9種預(yù)測(cè)模式來(lái)預(yù)測(cè)奇奇子塊中各點(diǎn)的像素亮度樣值 其中,k=0,1,2,…,8,表示預(yù)測(cè)模式,i=1,3,5,7,表示像素行坐標(biāo),j=0,2,4,6,表示像素列坐標(biāo),mn表示偶偶子塊中像素最后重構(gòu)值,m=0,1,…,7,表示像素行坐標(biāo),n=0,1,…,7,表示像素列坐標(biāo),符號(hào)“>>”表示位右移運(yùn)算;a、模式0vertical Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~010=(a^00+a^20+1)>>1;]]>a~012=(a^02+a^22+1)>>1;]]>a~014=(a^04+a^24+1)>>1;]]>a~016=(a^06+a^26+1)>>1;]]>a~030=(a^20+a^40+1)>>1;]]>a~032=(a^22+a^42+1)>>1;]]>a~034=(a^24+a^44+1)>>1;]]>a~036=(a^26+a^46+1)>>1;]]>a~050=(a^40+a^60+1)>>1;]]>a~052=(a^42+a^62+1)>>1;]]>a~054=(a^44+a^64+1)>>1;]]>a~056=(a^46+a^66+1)>>1;]]>a~070=a^60;]]>a~072=a^62;]]>a~074=a^64;]]>a~076=a^66;]]>b、模式1Horizontal prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~110=(t1+a^11+1)>>1;]]>a~112=(a^11+a^13+1)>>1;]]>a~114=(a^13+a^15+1)>>1;]]>a~116=(a^15+a^17+1)>>1;]]>a~130=(t3+a^31+1)>>1;]]>a~132=(a^31+a^33+1)>>1;;]]>a~134=(a^33+a^35+1)>>1;]]>a~136=(a^35+a^37+1)>>1;]]>a~150=(t5+a^51+1)>>1;;]]>a~152=(a^51+a^53+1)>>1;]]>a~154=(a^33+a^55+1)>>1;;]]>a~156=(a^55+a^57+1)>>1;]]>a~170=(t7+a^71+1)>>1;]]>a~172=(a^71+a^73+1)>>1;]]>a~174=(a^73+a^75+1)>>1;]]>a~176=(a^75+a^77+1)>>1;]]>c、模式2DC Prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下如果sp,tq(p=q=0,1,…,7)都可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+Σq=07tq+8)>>4;]]>如果sp不可用,tq可用,則所有預(yù)測(cè)樣本 等于(Σq=07tq+4)>>3;]]>如果tq不可用,sp可用,則所有預(yù)測(cè)樣本 等于(Σp=07sp+4)>>3;]]>如果sp,tq都不可用,則所有預(yù)測(cè)樣本 等于128;d、模式3Diagonal_Down_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~310=(t0+a^21+1)>>1;]]>a~312=(a^01+a^23+1)>>1;]]>a~314=(a^03+a^25+1)>>1;]]>a~316=(a^05+a^27+1)>>1;]]>a~330=(t2+a^41+1)>>1;]]>a~332=(a^21+a^43+1)>>1;]]>a~334=(a^23+a^45+1)>>1;]]>a~336=(a^25+a^47+1)>>1;]]>a~350=(t4+a^61+1)>>1;]]>a~352=(a^41+a^63+1)>>1;]]>a~354=(a^43+a^65+1)>>1;]]>a~356=(a^45+a^67+1)>>1;]]>a~370=t6;]]>a~372=a^61;]]>a~374=a^63;]]>a~376=a^65;]]>e、模式4Diagonal_Down_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~410=(a^01+t2+1)>>1;]]>a~412=(a^03+a^21+1)>>1;]]>a~414=(a^05+a^23+1)>>1;]]>a~416=(a^07+a^25+1)>>1;]]>a~430=(a^21+t4+1)>>1;]]>a~432=(a^23+a^41+1)>>1;]]>a~434=(a^25+a^43+1)>>1;]]>a~436=(a^27+a^45+1)>>1;]]>a~450=(a^41+t6+1)>>1;]]>a~452=(a^43+a^61+1)>>1;]]>a~454=(a^45+a^63+1)>>1;]]>a~456=(a^47+a^65+1)>>1;]]>a~470=a^61;]]>a~472=a^63;]]>a~474=a^65;]]>a~476=a^67;]]>f、模式5 Vertical_Right Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~510=(s1+t3+1)>>1;]]>a~512=(s3+a^31+1)>>1;]]>a~514=(s5+a^33+1)>>1;]]>a~516=(s7+a^35+1)>>1;]]>a~530=(t5+a^11+1)>>1;]]>a~532=(a^13+a^51+1)>>1;]]>a~534=(a^15+a^53+1)>>1;]]>a~536=(a^17+a^55+1)>>1;]]>a~550=(a^31+t7+1)>>1;]]>a~552=(a^33+a^71+1)>>1;]]>a~554=(a^35+a^73+1)>>1;]]>a~556=(a^37+a^75+1)>>1;]]>a~570=a^51;]]>a~572=a^53;]]>a~574=a^55;]]>a~576=a^57;]]>g、模式6 Horizontal_Down prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~610=a^22;]]>a~612=(a^00+a^24+1)>>1;]]>a~614=(a^02+a^26+1)>>1;]]>a~616=a^04;]]>a~630=a^42;]]>a~632=(a^20+a^44+1)>>1;]]>a~634=(a^22+a^46+1)>>1;]]>a~636=a^24;]]>a~650=a^62;]]>a~652=(a^40+a^64+1)>>1;]]>a~654=(a^42+a^67+1)>>1;]]>a~656=a^44;]]>a~670=a^71;]]>a~672=a^60;]]>a~674=a^64;]]>a~676=a^64;]]>h、模式7 Vertical_Left Prediction使用本模式的必要條件是sp,tq(p=0,1,…,15;q=0,1,…,7)均可用,如果f不可得到,用t0代替f,預(yù)測(cè)樣本 的產(chǎn)生方法如下a~710=(f+a^31+1)>>1;]]>a~712=(s1+a^33+1)>>1;]]>a~714=(s3+a^35+1)>>1;]]>a~716=(s5+a^37+1)>>1;]]>a~730=(a^51+t1+1)>>1;]]>a~732=(a^11+a^53+1)>>1;]]>a~734=(a^13+a^55+1)>>1;]]>a~736=(a^15+a^57+1)>>1;]]>a~750=(a^71+t3+1)>>1;]]>a~752=(a^31+a^73+1)>>1;]]>a~754=(a^33+a^75+1)>>1;]]>a~756=(a^35+a^77+1)>>1;]]>a~770=t5;]]>a~772=a^51;]]>a~774=a^53;]]>a~776=a^55;]]>i、模式8 Horizontal_Up prediction預(yù)測(cè)樣本 的產(chǎn)生方法如下a~810=a^02;]]>a~812=(a^20+a^04+1)>>1;]]>a~814=(a^22+a^06+1)>>1;]]>a~816=a^24;]]>a~830=a^22;]]>a~832=(a^24+a^40+1)>>1;]]>a~834=(a^42+a^26+1)>>1;]]>a~836=a^44;]]>a~850=a^42;]]>a~852=(a^60+a^44+1)>>1;]]>a~854=(a^62+a^46+1)>>1;]]>a~856=a^64;]]>a~870=a^62;]]>a~872=a^64;]]>a~874=a^66;]]>a~876=a^77;]]>II.確定奇偶子塊的最優(yōu)預(yù)測(cè)模式a.由下面的預(yù)測(cè)殘差公式,得到預(yù)測(cè)模式k下的預(yù)測(cè)殘差值ΔkΔk=aij-a^kij]]>這里,aij表示原始像素亮度樣值, 表示模式k下像素預(yù)測(cè)值,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);b.采用JVT中的編碼方法,對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換、量化和熵編碼,計(jì)算當(dāng)前子塊在當(dāng)前模式下的編碼比特?cái)?shù);并對(duì)各個(gè)像素的預(yù)測(cè)殘差做DCT變換和量化后,再進(jìn)行反量化和反DCT變換,然后加上預(yù)測(cè)值 重構(gòu)子塊中的各個(gè)像素點(diǎn)的亮度樣值,記為kij,k=0,1,2,…,8,表示預(yù)測(cè)模式;i=1,3,5,7,表示像素行坐標(biāo);j=0,2,4,6,表示像素列坐標(biāo);c.采用JVT中的方法計(jì)算該子塊在當(dāng)前預(yù)測(cè)模式下的失真率rdcost;distortion=Σi,j(aij-a^kij)2]]>rdcost=distortion+lambda×rate;其中,lambda為常數(shù)68.539,rate為在當(dāng)前模式下編碼當(dāng)前子塊所用比特?cái)?shù),distortion為當(dāng)前子塊的所有像素的原始亮度樣值與預(yù)測(cè)值差平方的和;d. k值增1,重復(fù)第a,b,c步,直至本子塊所有預(yù)測(cè)模式都執(zhí)行一遍為止;e.比較各個(gè)模式下的rdcost,選取rdcost最小的模式為當(dāng)前最優(yōu)預(yù)測(cè)模式;III.將最優(yōu)預(yù)測(cè)模式下的預(yù)測(cè)值作為該子塊的最后預(yù)測(cè)值,記為 i=1,3,5,7,j=0,2,4,6;將最優(yōu)預(yù)測(cè)模式下的重構(gòu)值作為該子塊的最后重構(gòu)值,記為ij,i=1,3,5,7,j=0,2,4,6;7)選取另一個(gè)8×8塊,重復(fù)第3)至第6)步的過(guò)程,直到四個(gè)8×8塊全部完成。
全文摘要
基于相鄰像素預(yù)測(cè)的幀內(nèi)預(yù)測(cè)方法屬于圖像處理與壓縮編碼技術(shù)領(lǐng)域,主要涉及視頻編碼中的幀內(nèi)預(yù)測(cè)。本發(fā)明首先讀出接收到的視頻序列的一幅圖像,并將該圖像的像素亮度樣值分成16×16的宏塊,將宏塊分成p×p(p=4,8,16)的塊,接著將每一個(gè)p×p塊按像素下標(biāo)的奇偶性分成偶偶子塊、奇奇子塊、偶奇子塊和奇偶子塊,分別對(duì)每個(gè)子塊中的像素亮度樣值按不同的模式進(jìn)行預(yù)測(cè),然后按JVT中的方法求取預(yù)測(cè)殘差值并對(duì)該預(yù)測(cè)殘差值進(jìn)行變換、量化,對(duì)量化變換后的系數(shù)信息進(jìn)行變長(zhǎng)編碼或算術(shù)編碼,直到整個(gè)圖像編碼完成為止,最后輸出整個(gè)圖像編碼比特流。本發(fā)明的提出的預(yù)測(cè)方法其預(yù)測(cè)結(jié)構(gòu)精細(xì),預(yù)測(cè)殘差小,提高了圖像的編碼質(zhì)量,節(jié)省了比特開銷。
文檔編號(hào)H04N7/32GK1455600SQ0313660
公開日2003年11月12日 申請(qǐng)日期2003年5月19日 優(yōu)先權(quán)日2003年5月19日
發(fā)明者尹寶才, 張楠, 孔德慧, 王雁來(lái) 申請(qǐng)人:北京工業(yè)大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
龙胜| 龙海市| 讷河市| 临夏市| 吉水县| 山丹县| 湘西| 高尔夫| 博客| 法库县| 麻城市| 江津市| 乌兰察布市| 克拉玛依市| 赤峰市| 洮南市| 广西| 股票| 昭苏县| 宜兴市| 壤塘县| 通化县| 乌兰浩特市| 珠海市| 农安县| 邢台县| 合水县| 拉萨市| 巴南区| 胶州市| 太和县| 黎城县| 贵州省| 海林市| 禄丰县| 肇源县| 乐陵市| 扎囊县| 天门市| 额济纳旗| 辽中县|