亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置與流程

文檔序號(hào):11480136閱讀:253來(lái)源:國(guó)知局
一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置與流程
本申請(qǐng)涉及視頻壓縮領(lǐng)域,尤其涉及一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置。
背景技術(shù)
:目前,由于互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展,電子產(chǎn)品的種類(lèi)也越來(lái)越多,人們也享受到了科技發(fā)展帶來(lái)的各種便利?,F(xiàn)在人們可以通過(guò)各種類(lèi)型的電子設(shè)備,享受隨著科技發(fā)展帶來(lái)的舒適生活。例如,用戶可以使用電子設(shè)備觀看各類(lèi)視頻。而為了便于視頻傳輸,在傳輸之前,通常會(huì)在編碼端(例如網(wǎng)站服務(wù)器)對(duì)視頻進(jìn)行壓縮,然后傳輸壓縮的視頻給解碼端(例如各終端),而目前的視頻壓縮技術(shù)在壓縮視頻之后,視頻的壓縮效率低,故而會(huì)導(dǎo)致視頻傳輸?shù)男实?。技術(shù)實(shí)現(xiàn)要素:本發(fā)明了提供了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置,以解決目前是壓縮視頻效率不高導(dǎo)致視頻傳輸?shù)男什桓叩募夹g(shù)問(wèn)題。為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法,所述方法包括:將視頻幀分割為多個(gè)第一像素子塊;在每個(gè)第一像素子塊中,將第一像素子塊分割為四個(gè)第二像素子塊;依次按順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊;獲得確定出所述三個(gè)第二像素子塊的最佳sad值的最佳預(yù)測(cè)模式;利用所述最佳預(yù)測(cè)模式預(yù)測(cè)第四個(gè)第二像素子塊,獲得所述第四個(gè)第二像素子塊的最佳sad值;利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值;利用第一預(yù)測(cè)模式集確定出第一像素子塊的sad值集合;基于所述第一像素子塊的sad值集合和所述第一像素子塊的sad對(duì)比值進(jìn)行對(duì)比,確定出所述第一像素子塊的最佳sad值;確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式。優(yōu)選的,所述依次按順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊,包括:按照從左到右、從上到下的順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊。優(yōu)選的,所述獲得確定出所述三個(gè)第二像素子塊的最佳sad值的最佳預(yù)測(cè)模式,包括:利用第二預(yù)測(cè)模式集確定出所述三個(gè)第二像素子塊中每個(gè)第二像素子塊的sad值集合;利用分割預(yù)測(cè)模式確定出每個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值;將每個(gè)第二像素子塊對(duì)應(yīng)的sad值集合和各自的sad對(duì)比值進(jìn)行對(duì)比;若在每個(gè)第二像素子塊中,sad對(duì)比值比sad值集合中的所有sad值都小,那么則將sad對(duì)比值對(duì)應(yīng)的分割預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式;若在每個(gè)第二像素子塊中,sad值集合中有sad值最小,則將sad值集合中的最小sad值對(duì)應(yīng)的預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式。優(yōu)選的,所述利用分割預(yù)測(cè)模式確定出每個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值,包括:在每個(gè)第二像素子塊中,將每個(gè)第二像素子塊分割為對(duì)應(yīng)的四個(gè)第三像素子塊;確定出所述四個(gè)第三像素子塊中每個(gè)第三像素子塊的最佳sad值;對(duì)所述四個(gè)第三像素子塊各自對(duì)應(yīng)的最佳sad值相加求和,獲得對(duì)應(yīng)的第二像素子塊對(duì)應(yīng)的sad對(duì)比值。優(yōu)選的,所述確定出四個(gè)第三像素子塊中的每個(gè)第三像素子塊的最佳sad值,包括:利用第三預(yù)測(cè)模式集確定出所述四個(gè)第三像素子塊中每個(gè)第三像素子塊的sad值集合;從每個(gè)第三像素子塊的sad值集合中確定出各自對(duì)應(yīng)的最小的sad值作為最佳sad值。優(yōu)選的,所述利用所述最佳預(yù)測(cè)模式預(yù)測(cè)第四個(gè)第二像素子塊,獲得第四個(gè)第二像素子塊的最佳sad值,包括:將第四個(gè)第二像素子塊分割為四個(gè)第三像素子塊;確定出第四個(gè)第二像素子塊中的每個(gè)第三像素子塊的最佳sad值;對(duì)四個(gè)第三像素子塊的最佳sad值求和,獲得第四個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值;將第四個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值作為第四個(gè)第二像素子塊的最佳sad值。優(yōu)選的,所述基于所述第一像素子塊的sad值集合和所述第一像素子塊的sad對(duì)比值進(jìn)行對(duì)比,確定出所述第一像素子塊的最佳sad值,包括:若所述第一像素子塊的sad對(duì)比值比所述第一像素子塊的sad值集合中的任意sad值都小,那么將所述第一像素子塊的sad對(duì)比值作為所述第一像素子塊的最佳sad值;若所述第一像素子塊的sad對(duì)比值比所述第一像素子塊的sad值集合中的sad值大,那么將所述第一像素子塊的sad值集合中的最小sad值作為所述第一像素子塊的最佳sad值。優(yōu)選的,在所述確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式之后,所述方法還包括:將所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式、所述第一像素子塊的最佳sad值發(fā)送給解碼端,以供所述解碼端對(duì)所述視頻幀進(jìn)行解碼。優(yōu)選的,所述第一預(yù)測(cè)集中具有9種預(yù)測(cè)模式。優(yōu)選的,所述第二預(yù)測(cè)模式集中具有4種預(yù)測(cè)模式。本發(fā)明的另一個(gè)方面,公開(kāi)了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷裝置,包括:第一分割單元,用于將視頻幀分割為多個(gè)第一像素子塊;第二分割單元,用于在每個(gè)第一像素子塊中,將第一像素子塊分割為四個(gè)第二像素子塊;第一確定單元,用于依次按順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊;第一獲得單元,用于獲得確定出所述三個(gè)第二像素子塊的最佳sad值的最佳預(yù)測(cè)模式;第二獲得單元,用于利用所述最佳預(yù)測(cè)模式預(yù)測(cè)第四個(gè)第二像素子塊,獲得所述第四個(gè)第二像素子塊的最佳sad值;第二確定單元,用于利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值;第三確定單元,用于利用第一預(yù)測(cè)模式集確定出第一像素子塊的sad值集合;第四確定單元,用于基于所述第一像素子塊的sad值集合和所述第一像素子塊的sad對(duì)比值進(jìn)行對(duì)比,確定出所述第一像素子塊的最佳sad值;第五確定單元,用于確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式。優(yōu)選的,所述第一確定單元,具體用于按照從左到右、從上到下的順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊。通過(guò)本發(fā)明的一個(gè)或者多個(gè)技術(shù)方案,本發(fā)明具有以下有益效果或者優(yōu)點(diǎn):本發(fā)明提供了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置,在對(duì)視頻幀進(jìn)行編碼時(shí),是將視頻幀分為第一像素子塊然后,又將其分為第二像素子塊,然后先確定前三個(gè)第二像素子塊的最佳sad以及最佳預(yù)測(cè)模式,然后用最佳預(yù)測(cè)模式來(lái)確定出第四個(gè)第二像素子塊的最佳sad,然后再利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值;和第一像素子塊的sad值集合進(jìn)行對(duì)比獲得最后的最佳預(yù)測(cè)模式壓縮視頻,能夠得到較高的壓縮率以及傳輸效率。另外,本發(fā)明省略了第四個(gè)第二像素子塊的原本類(lèi)似于前三個(gè)第二像素子塊的尋找最佳sad值的方法,以前三個(gè)第二像素子塊的最佳sad對(duì)應(yīng)的最佳預(yù)測(cè)方法為標(biāo)準(zhǔn),來(lái)獲得第四個(gè)第二像素子塊的最佳sad值,故而減少了視頻幀預(yù)測(cè)時(shí)的運(yùn)算量,提高壓縮效率,進(jìn)而提高傳輸效率。附圖說(shuō)明圖1a為本發(fā)明實(shí)施例中第三像素子塊的劃分示意圖;圖1b為本發(fā)明實(shí)施例中第三像素子塊的預(yù)測(cè)方向圖;圖2a-圖2i,是本發(fā)明實(shí)施例中表1中依次羅列的9種預(yù)測(cè)模式各自的方向示意圖;圖3a-圖3d,是本發(fā)明實(shí)施例中4種預(yù)測(cè)模式的方向示意圖;圖4是本發(fā)明實(shí)施例中幀內(nèi)預(yù)測(cè)模式的判斷方法的過(guò)程圖;圖5是本發(fā)明實(shí)施例中幀內(nèi)預(yù)測(cè)模式的判斷裝置的組成示意圖。具體實(shí)施方式為了使本申請(qǐng)所屬
技術(shù)領(lǐng)域
中的技術(shù)人員更清楚地理解本申請(qǐng),下面結(jié)合附圖,通過(guò)具體實(shí)施例對(duì)本申請(qǐng)技術(shù)方案作詳細(xì)描述。眾所周知,視頻由以幀為單位的圖像構(gòu)成,而圖像由像素點(diǎn)構(gòu)成,故而在壓縮視頻時(shí),實(shí)際上對(duì)每幀圖像進(jìn)行壓縮處理。本發(fā)明的主要目的,便是提供一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法,找出圖像的最佳預(yù)測(cè)模式,最佳預(yù)測(cè)模式能夠獲得每幀圖像的最佳sad值。sad(sumofabsolutedifference)也可以稱(chēng)為sae(sumofabsoluteerror),即絕對(duì)誤差和。它的計(jì)算方法就是求出兩個(gè)像素塊對(duì)應(yīng)像素點(diǎn)的差值,將這些差值分別求絕對(duì)值之后再進(jìn)行累加。sad是衡量圖像壓縮的其中一個(gè)參數(shù),如果sad值達(dá)到最佳,那么表示其對(duì)應(yīng)的預(yù)測(cè)模式是壓縮視頻最好的預(yù)測(cè)模式,使用該預(yù)測(cè)模式壓縮視頻能夠得到較高的壓縮率。而本發(fā)明的sad值達(dá)到最佳的含義,是sad值達(dá)到最小。視頻幀可以在任意時(shí)候進(jìn)行壓縮,例如在視頻直播時(shí),編碼端產(chǎn)生的視頻流會(huì)實(shí)時(shí)壓縮并傳輸給解碼端,解碼端對(duì)視頻流實(shí)時(shí)進(jìn)行接收、解壓縮并播放。而在編碼端對(duì)視頻幀進(jìn)行壓縮時(shí),由于采用了本發(fā)明提供的幀內(nèi)預(yù)測(cè)模式進(jìn)行壓縮,故而能夠得到較高的壓縮率,使得視頻幀在進(jìn)行傳輸時(shí),能夠更快速的傳輸?shù)浇獯a端,供解碼端解壓縮觀看。傳輸效率很高。進(jìn)一步的,在本發(fā)明中,是將視頻幀分割為多個(gè)第一像素子塊,而每個(gè)第一像素子塊又會(huì)被分為4個(gè)第二像素子塊,每個(gè)第二像素子塊又會(huì)被分為4個(gè)第三像素子塊。第一像素子塊,可為16*16的像素子塊,對(duì)應(yīng)有4種預(yù)測(cè)模式。第二像素子塊,可為8*8的像素子塊,對(duì)應(yīng)有4種預(yù)測(cè)模式。第三像素子塊,可為4*4的像素子塊,對(duì)應(yīng)有9種預(yù)測(cè)模式。在具體的實(shí)施過(guò)程中,本發(fā)明會(huì)綜合利用這些預(yù)測(cè)模式來(lái)確定出第一像素子塊的最佳sad值,進(jìn)而確定出最佳預(yù)測(cè)模式。下面,本發(fā)明先介紹不同的預(yù)測(cè)模式。首先,本發(fā)明介紹第三像素子塊的預(yù)測(cè)模式。參看圖1a,是本發(fā)明的第三像素子塊的劃分示意圖,利用像素a-q對(duì)方塊中a-p像素進(jìn)行幀內(nèi)4×4預(yù)測(cè)。參看圖1b,是本發(fā)明的第三像素子塊的預(yù)測(cè)方向圖,為幀內(nèi)4×4預(yù)測(cè)的8個(gè)預(yù)測(cè)方向。如圖1a-圖1b所示,4×4亮度塊的上方和左方像素a~q為已編碼和重構(gòu)像素,用作編解碼器中的預(yù)測(cè)參考像素。a~p為待預(yù)測(cè)像素,利用a~q值和9種模式實(shí)現(xiàn)。參看圖2a-圖2i,是表1中依次羅列的9種預(yù)測(cè)模式各自的方向。箭頭表明了每種模式預(yù)測(cè)方向。其中模式2(dc預(yù)測(cè))根據(jù)a~q中已編碼像素預(yù)測(cè),而其余模式只有在所需預(yù)測(cè)像素全部提供才能使用。對(duì)模式3~8,預(yù)測(cè)像素由a~q加權(quán)平均而得。例如,模式4中,p=round(b/4+c/2+d/4)。表1是對(duì)這9中預(yù)測(cè)模式中每個(gè)方向的說(shuō)明(序號(hào)3為左下對(duì)角線預(yù)測(cè))。表1模式描述模式0(垂直)由a\b\c\d垂直推出相應(yīng)像素值模式1(水平)由i\j\k\l水平推出相應(yīng)像素值模式2(dc)由a~d及i~l平均值推出所有像素值模式3(下左對(duì)角線)由45°方向像素內(nèi)插得出相應(yīng)像素值模式4(下右對(duì)角線)由45°方向像素內(nèi)插得出相應(yīng)像素值模式5(右垂直)由26.6°方向像素內(nèi)插得出相應(yīng)像素值模式6(下水平)由26.6°方向像素內(nèi)插得出相應(yīng)像素值模式7(左垂直)由26.6°方向像素內(nèi)插得出相應(yīng)像素值模式8(上水平)由26.6°方向像素內(nèi)插得出相應(yīng)像素值舉例:圖2a-圖2i所示的4×4像素子塊的9種預(yù)測(cè)模式計(jì)算產(chǎn)生相應(yīng)預(yù)測(cè)像素塊(sae定義了每種預(yù)測(cè)的預(yù)測(cè)誤差)。該例中,與當(dāng)前塊的最匹配的模型為模式8,因?yàn)樵撃J絪ae最佳且最接近于4×4原始像素塊。在實(shí)際應(yīng)用中,4×4像素子塊具有原本的像素值,即4×4原始像素塊呈現(xiàn)的像素值,而在預(yù)測(cè)之后,會(huì)產(chǎn)生4×4預(yù)測(cè)像素塊,然后對(duì)比4×4原始像素塊和9個(gè)4×4預(yù)測(cè)像素塊,獲得9個(gè)sad值,并找出這9個(gè)sad值中最小的sad值對(duì)應(yīng)的預(yù)測(cè)模式,例如模式8。因?yàn)閟ad值最小,表示該模式預(yù)測(cè)的4×4預(yù)測(cè)像素塊最接近于4×4原始像素塊。而在傳輸時(shí),將預(yù)測(cè)模式、sad值、預(yù)測(cè)塊等等傳輸過(guò)去,在解碼端,根據(jù)預(yù)測(cè)模式、預(yù)測(cè)塊、sad值等等參數(shù),就可以在解碼端還原出像素塊原本的像素值。下面介紹16*16像素子塊的預(yù)測(cè)模式。宏塊的全部16×16像素子塊的亮度成分可以整體預(yù)測(cè),有4種預(yù)測(cè)模式。請(qǐng)參看圖3a-圖3d,是4種預(yù)測(cè)模式的方向示意圖。表2是對(duì)該方向的說(shuō)明。表216*16像素子塊的算法實(shí)現(xiàn):a.16*16垂直預(yù)測(cè)參數(shù)介紹:src:16*16像素子塊(輸入/輸出)v0,v1,v2,v3:指定位置像素值占4位(臨時(shí)),fdec_stride:像素子塊大小mpixel_x4宏:取出指定位置的像素值,例如參數(shù)為0-fdec_stride是指當(dāng)前塊的上邊行的第一個(gè)像素。算法流程(橫向處理):1)從視頻幀中取出src像素子塊上邊相鄰的像素值,依次賦值到v0,v1,v2,v3,每個(gè)值占4位保存4個(gè)像素值,2)遍歷像素塊所有行,由于垂直預(yù)測(cè)是所有的列像素值相等故使用:mpixel_x4(src+0)=v0;進(jìn)行賦值。mpixel_x4(src+4)=v1;mpixel_x4(src+8)=v2;mpixel_x4(src+12)=v3、src+=fdec_stride;切換到下一行,直到最后一行(跟第一行的處理類(lèi)似)。b.16*16水平預(yù)測(cè)參數(shù)介紹src(同上),pixel4:行指定位置像素值,一位(臨時(shí))pixel_splat_x4宏:獲取指定位置像素值,參數(shù)src[-1]是第一行第一列前一個(gè)像素位。mpixel_x4(同上)算法流程(縱向處理)1)遍歷所有像素塊每一行2)獲取每一行前一個(gè)像素值3)將這一行所有的像素值賦值為該像素值c.dc預(yù)測(cè)1)算法實(shí)現(xiàn)參數(shù)介紹:src(同上),dc:與當(dāng)前子塊上邊相鄰的行,和與左邊相鄰的列所有的像素值和(臨時(shí)),dcsplat:計(jì)算預(yù)測(cè)值,也就是dc的平均值(臨時(shí)),predict_16x16_dc宏:將dcsplat賦值到當(dāng)前子塊的每一個(gè)像素中算法流程1.遍歷像素塊所有行2.獲取當(dāng)前子塊上邊相鄰的行,和與左邊相鄰的列的像素值,并累加3.計(jì)算預(yù)測(cè)值(計(jì)算平均值)4.將dcsplat賦值到當(dāng)前子塊的每一個(gè)像素中d.平面預(yù)測(cè)算法介紹:參數(shù)介紹:src(同上),a,b,c,v,h:h264標(biāo)準(zhǔn)里的參數(shù)(臨時(shí))pix:預(yù)處理像素值(臨時(shí))clip_pixel限制像素值在0-255之間公式介紹a=16*(p[-1,15]+p[15,-1])p輸入的像素子塊,-1,15橫坐標(biāo),縱坐標(biāo)b=(5*h+32)>>6c=(5*v+32)>>6預(yù)測(cè)像素值公式:predl[x,y]=clip1y((a+b*(x-7)+c*(y-7)+16)>>5),x,y=0..15算法流程:h264標(biāo)準(zhǔn)提供的公式計(jì)算a,b,c,v,h的值。遍歷像素子塊每一個(gè)預(yù)測(cè)值。用預(yù)測(cè)像素值公式計(jì)算預(yù)測(cè)值例如src[0][0]=(a-b*7-c*7+16)>>5。由3(plane),sae=2539圖可知,從做到右,從上到下,是漸變效果故每行進(jìn)行pix+=b進(jìn)行累加,每列用i00+=c累加。下面介紹第二像素子塊的4種預(yù)測(cè)模式。每個(gè)幀內(nèi)編碼宏塊的8×8色度成分由已編碼左上方色度像素預(yù)測(cè)而得,兩種色度成分常用同一種預(yù)測(cè)模式。4種預(yù)測(cè)模式類(lèi)似于幀內(nèi)16×16預(yù)測(cè)的4種預(yù)測(cè)模式,只是模式編號(hào)不同。其中dc(模式0)、水平(模式1)、垂直(模式2)、平面(模式3)。第二像素子塊的算法預(yù)測(cè):從16*16像素中提取8*8像素,8*8像素預(yù)測(cè)也分4種(垂直預(yù)測(cè),水平預(yù)測(cè),dc預(yù)測(cè),平面預(yù)測(cè)),算法與前面的16*16像素子塊(垂直預(yù)測(cè),水平預(yù)測(cè),dc預(yù)測(cè),平面預(yù)測(cè))一樣,這里不做說(shuō)明。從8*8像素中提取4*4,分4種:其中垂直預(yù)測(cè),水平預(yù)測(cè),dc預(yù)測(cè),這3種算法與前面的16*16像素子塊的垂直預(yù)測(cè),水平預(yù)測(cè),dc預(yù)測(cè)一樣。還有第4種預(yù)測(cè)的典型方法是:4*4下左對(duì)角預(yù)測(cè),如下:模式3(下左對(duì)角線),由45°方向像素內(nèi)插得出相應(yīng)像素值。左對(duì)角預(yù)測(cè)的算法介紹:參數(shù):src(同上),t0,t1,t2,t3,t4,t5,t6,t7當(dāng)前像素子塊上一行對(duì)應(yīng)的0-7的像素值predict_4x4_load_top獲取t0,t1,t2,t3像素值predict_4x4_load_top_right獲取t4,t5,t6,t7像素值f2計(jì)算3個(gè)像素均值(預(yù)測(cè)值)f2(a,b,c)(((a)+2*(b)+(c)+2)>>2)src獲取指定坐標(biāo)的像素值函數(shù)流程介紹,1.獲取t0,t1,t2,t3,t4,t5,t6,t7像素值2.根據(jù)4*4下左對(duì)角預(yù)測(cè)圖,可知當(dāng)前像素子塊45度坐下角對(duì)角線的像素值是一樣的故,由src(0,0)=f2(t0,t1,t2)方法計(jì)算每條對(duì)角線像素值。第4種預(yù)測(cè)除典型方法外,還可以用以下方法實(shí)現(xiàn):下右對(duì)角,垂直右垂直左,水平下,水平上的預(yù)測(cè)模式由于下右對(duì)角,垂直右垂直左,水平下,水平上的預(yù)測(cè)模式都是通過(guò)計(jì)算對(duì)角線的像素值,故這里就不在說(shuō)明。下面介紹sad。sad(sumofabsolutedifference)也可以稱(chēng)為sae(sumofabsoluteerror),即絕對(duì)誤差和。它的計(jì)算方法就是求出兩個(gè)像素塊對(duì)應(yīng)像素點(diǎn)的差值,將這些差值分別求絕對(duì)值之后再進(jìn)行累加。參數(shù)介紹:pix1,pix2:2個(gè)需要進(jìn)行比較的像素子塊(輸入),pix1是原始的4*4像素子塊,pix2預(yù)測(cè)后的4*4像素子塊。i_stride_pix1,i_stride_pix2:2個(gè)像素子塊大小(輸入)。i_stride_pix1是pix1的像素塊大??;i_stride_pix2是pix2的像素塊大小。i_sum:sad值(輸出)abs()取絕對(duì)值。算法流程:1)遍歷像素子塊的每一個(gè)像素值2)計(jì)算2個(gè)像素子塊相對(duì)位置的像素差并取絕對(duì)值3)返回sad值取sad代價(jià)最小的像素預(yù)測(cè)模式。通過(guò)比較上述計(jì)算的預(yù)測(cè)模式的代價(jià)值,取最小的預(yù)測(cè)模式,和像素子塊分割方法。最后,我們可以將預(yù)測(cè)模式保存我直接發(fā)送,從而達(dá)到對(duì)視頻幀進(jìn)行壓縮的目的。參看圖4,在下面的實(shí)施例中,本發(fā)明將詳細(xì)介紹對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法的過(guò)程。步驟11,將視頻幀分割為多個(gè)第一像素子塊。在具體的實(shí)施過(guò)程中,先將視頻幀分割為多個(gè)第一像素子塊,然后將各第一像素子塊各自單獨(dú)處理,獲得每個(gè)第一像素子塊的最佳sad值,并找出對(duì)應(yīng)的最佳預(yù)測(cè)模式。步驟12,在每個(gè)第一像素子塊中,將第一像素子塊分割為四個(gè)第二像素子塊。步驟13,依次按順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊。在具體的實(shí)施過(guò)程中,本發(fā)明定義的順序是從左到右、從上到下的順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊。例如,一個(gè)第一像素子塊被分為4個(gè)第二像素子塊,那么按照從左到右、從上到下的順序,依次獲得3個(gè)第二像素子塊。步驟14,獲得確定出所述三個(gè)第二像素子塊的最佳sad值的最佳預(yù)測(cè)模式。在另一種可選的實(shí)施例中,在確定每個(gè)第二像素子塊的最佳sad值時(shí),方法如下:第一步,利用第二預(yù)測(cè)模式集確定出所述三個(gè)第二像素子塊中每個(gè)第二像素子塊的sad值集合。第二預(yù)測(cè)模式集,包含了第二像素子塊對(duì)應(yīng)的4種預(yù)測(cè)模式,故而,可先利用這4種預(yù)測(cè)模式對(duì)第二像素子塊進(jìn)行預(yù)測(cè),并獲得對(duì)應(yīng)的sad值。而4種預(yù)測(cè)模式在上述實(shí)施例中已經(jīng)描述,故而在此本發(fā)明不再贅述。由于每個(gè)第二像素子塊都利用4種預(yù)測(cè)模式進(jìn)行預(yù)測(cè),故而獲得的sad值集合中也包含了4個(gè)sad值。第二步,利用分割預(yù)測(cè)模式確定出每個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值。分割預(yù)測(cè)模式,即將每個(gè)第二像素子塊分成4個(gè)對(duì)應(yīng)的四個(gè)第三像素子塊,然后利用第三像素子塊對(duì)應(yīng)的9種預(yù)測(cè)模式,讓每個(gè)第三像素子塊都使用9種預(yù)測(cè)模式來(lái)獲得9個(gè)sad值,然后對(duì)比得出每個(gè)第三像素子塊各自對(duì)應(yīng)的最佳sad值,將這4個(gè)最佳sad值相加,即得到了第二像素子塊對(duì)應(yīng)的sad對(duì)比值。具體實(shí)施過(guò)程如下:首先,在每個(gè)第二像素子塊中,將每個(gè)第二像素子塊分割為對(duì)應(yīng)的四個(gè)第三像素子塊。其次,確定出四個(gè)第三像素子塊中的每個(gè)第三像素子塊的最佳sad值。在具體的實(shí)施過(guò)程中,利用第三預(yù)測(cè)模式集確定出所述四個(gè)第三像素子塊中每個(gè)第三像素子塊的sad值集合;從每個(gè)第三像素子塊的sad值集合中確定出各自對(duì)應(yīng)的最小的sad值作為最佳sad值。在第三預(yù)測(cè)模式集中,羅列了上述描述的第三像素子塊對(duì)應(yīng)的9種預(yù)測(cè)模式,每個(gè)第三像素子塊都會(huì)使用9種預(yù)測(cè)模式來(lái)獲得對(duì)應(yīng)的sad值集合。每個(gè)第三像素子塊的sad值集合中都有9個(gè)sad值,然后,從這9個(gè)sad值中選擇出最佳sad值。而對(duì)應(yīng)的預(yù)測(cè)模式在上述已經(jīng)描述,故而本發(fā)明不再贅述。再次,對(duì)所述四個(gè)第三像素子塊各自對(duì)應(yīng)的最佳sad值相加求和,獲得對(duì)應(yīng)的第二像素子塊對(duì)應(yīng)的sad對(duì)比值。第三步,將每個(gè)第二像素子塊對(duì)應(yīng)的sad值集合和各自的sad對(duì)比值進(jìn)行對(duì)比。第四步,若在每個(gè)第二像素子塊中,sad對(duì)比值比sad值集合中的所有sad值都小,那么則將sad對(duì)比值對(duì)應(yīng)的分割預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式。第五步,若在每個(gè)第二像素子塊中,sad值集合中有sad值最小,則將sad值集合中的最小sad值對(duì)應(yīng)的預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式。由前三個(gè)第二像素子塊確定出的最佳預(yù)測(cè)模式,則成為第四個(gè)第二像素子塊的預(yù)測(cè)模式。從上述描述可以看出,實(shí)際上在前三個(gè)第二像素子塊中,每個(gè)第二像素子塊都預(yù)測(cè)了5次:首先用第二預(yù)測(cè)集中的每種預(yù)測(cè)方法都預(yù)測(cè)一次,然后利用分割預(yù)測(cè)模式,將第二像素子塊拆分為4個(gè)第三像素子塊來(lái)獲得sad值對(duì)比值,然后求得最小sad值。而對(duì)于第四個(gè)第二像素子塊,原本采用的方式是和前三個(gè)第二像素子塊一模一樣,都必須預(yù)測(cè)5次,找出最小的sad值,如此一來(lái)則加大了視頻幀的預(yù)測(cè)運(yùn)算量。而本發(fā)明采用這種方式,可以避免第四個(gè)第二像素子塊的采用復(fù)雜4種預(yù)測(cè)算法來(lái)獲得最佳sad值,或者是和前三個(gè)第二像素子塊確定最佳sad值那樣,需要分割成4個(gè)第三像素子塊進(jìn)行分別預(yù)測(cè),可以直接根據(jù)前三個(gè)第二像素子塊的最佳sad值確定出第四個(gè)第二像素子塊的最佳預(yù)測(cè)模式,減小了運(yùn)算,故而提高了壓縮效率,并進(jìn)一步提高了傳輸?shù)男?。步驟15,利用所述最佳預(yù)測(cè)模式預(yù)測(cè)第四個(gè)第二像素子塊,獲得所述第四個(gè)第二像素子塊的最佳sad值。由于在之前的描述中,第四個(gè)第二像素子塊的最佳sad值實(shí)際上有兩種情況。第一種情況,是sad值集合中的最小sad值對(duì)應(yīng)的預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式,由此則利用該預(yù)測(cè)模式直接得出第四個(gè)第二像素子塊的最佳sad值。第二種情況,是將sad對(duì)比值對(duì)應(yīng)的分割預(yù)測(cè)模式確定為最佳預(yù)測(cè)模式。那么第四個(gè)第二像素子塊也采用分割預(yù)測(cè)模式來(lái)獲得最佳sad值。具體的實(shí)施過(guò)程如下,包括:將第四個(gè)第二像素子塊分割為四個(gè)第三像素子塊;確定出第四個(gè)第二像素子塊中的每個(gè)第三像素子塊的最佳sad值;對(duì)四個(gè)第三像素子塊的最佳sad值求和,獲得第四個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值;將第四個(gè)第二像素子塊對(duì)應(yīng)的sad對(duì)比值作為第四個(gè)第二像素子塊的最佳sad值。步驟16,利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值。步驟17,利用第一預(yù)測(cè)模式集確定出第一像素子塊的sad值集合。步驟18,基于所述第一像素子塊的sad值集合和所述第一像素子塊的sad對(duì)比值進(jìn)行對(duì)比,確定出所述第一像素子塊的最佳sad值。在具體的實(shí)施過(guò)程中,若所述第一像素子塊的sad對(duì)比值比所述第一像素子塊的sad值集合中的任意sad值都小,那么將所述第一像素子塊的sad對(duì)比值作為所述第一像素子塊的最佳sad值;若所述第一像素子塊的sad對(duì)比值比所述第一像素子塊的sad值集合中的sad值大,那么將所述第一像素子塊的sad值集合中的最小sad值作為所述第一像素子塊的最佳sad值。步驟19,確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式。在所述確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式之后,所述方法還包括:將所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式、所述第一像素子塊的最佳sad值發(fā)送給解碼端,以供所述解碼端對(duì)所述視頻幀進(jìn)行解碼。基于同一發(fā)明構(gòu)思,參看圖5,本發(fā)明公開(kāi)了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷裝置,包括:第一分割單元51,用于將視頻幀分割為多個(gè)第一像素子塊;第二分割單元52,用于在每個(gè)第一像素子塊中,將第一像素子塊分割為四個(gè)第二像素子塊;第一確定單元53,用于依次按順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊;第一獲得單元54,用于獲得確定出所述三個(gè)第二像素子塊的最佳sad值的最佳預(yù)測(cè)模式;第二獲得單元55,用于利用所述最佳預(yù)測(cè)模式預(yù)測(cè)第四個(gè)第二像素子塊,獲得所述第四個(gè)第二像素子塊的最佳sad值;第二確定單元56,用于利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值;第三確定單元57,用于利用第一預(yù)測(cè)模式集確定出第一像素子塊的sad值集合;第四確定單元58,用于基于所述第一像素子塊的sad值集合和所述第一像素子塊的sad對(duì)比值進(jìn)行對(duì)比,確定出所述第一像素子塊的最佳sad值;第五確定單元59,用于確定出所述第一像素子塊的最佳sad值對(duì)應(yīng)的最佳預(yù)測(cè)模式。優(yōu)選的,所述第一確定單元53,具體用于按照從左到右、從上到下的順序從所述四個(gè)第二像素子塊中確定出三個(gè)第二像素子塊。通過(guò)本發(fā)明的一個(gè)或者多個(gè)實(shí)施例,本發(fā)明具有以下有益效果或者優(yōu)點(diǎn):本發(fā)明提供了一種對(duì)幀內(nèi)預(yù)測(cè)模式的判斷方法及裝置,在對(duì)視頻幀進(jìn)行編碼時(shí),是將視頻幀分為第一像素子塊然后,又將其分為第二像素子塊,然后先確定前三個(gè)第二像素子塊的最佳sad以及最佳預(yù)測(cè)模式,然后用最佳預(yù)測(cè)模式來(lái)確定出第四個(gè)第二像素子塊的最佳sad,然后再利用四個(gè)第二像素子塊的最佳sad值確定出第一像素子塊的sad對(duì)比值;和第一像素子塊的sad值集合進(jìn)行對(duì)比獲得最后的最佳預(yù)測(cè)模式壓縮視頻,能夠得到較高的壓縮率以及傳輸效率。另外,本發(fā)明省略了第四個(gè)第二像素子塊的原本類(lèi)似于前三個(gè)第二像素子塊的尋找最佳sad值的方法,以前三個(gè)第二像素子塊的最佳sad對(duì)應(yīng)的最佳預(yù)測(cè)方法為標(biāo)準(zhǔn),來(lái)獲得第四個(gè)第二像素子塊的最佳sad值,故而減少了視頻幀預(yù)測(cè)時(shí)的運(yùn)算量,提高壓縮效率,進(jìn)而提高傳輸效率。盡管已描述了本申請(qǐng)的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的普通技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本申請(qǐng)進(jìn)行各種改動(dòng)和變型而不脫離本申請(qǐng)的精神和范圍。這樣,倘若本申請(qǐng)的這些修改和變型屬于本申請(qǐng)權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請(qǐng)也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁(yè)12
當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1