本申請(qǐng)涉及視頻壓縮領(lǐng)域,尤其涉及一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法及電子設(shè)備。
背景技術(shù):
視頻的編解碼主要靠,預(yù)測(cè),轉(zhuǎn)換,編碼,來實(shí)現(xiàn)的。預(yù)測(cè)又分為幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè),幀內(nèi)預(yù)測(cè)用來壓縮空間相關(guān)性,幀間預(yù)測(cè)用來壓縮時(shí)間相關(guān)性。
幀內(nèi)預(yù)測(cè)是指在程序中定義好一些預(yù)測(cè)算法,如4*4宏塊有9種預(yù)測(cè)算法(垂直,水平,對(duì)角線,平均值……..),16*16宏塊有4種預(yù)測(cè)算法,8*8宏塊有4種預(yù)測(cè)算法。
幀間預(yù)測(cè)是指從當(dāng)前片的前面和后面已編碼的圖像中通過運(yùn)動(dòng)估計(jì)算法(全局收索,鉆石收索,六邊形收索等等)計(jì)算出當(dāng)前塊相對(duì)于參考圖像的一個(gè)運(yùn)動(dòng)矢量。
在經(jīng)過預(yù)測(cè)處理操作后,可以將一個(gè)宏塊的像素點(diǎn)數(shù)據(jù),轉(zhuǎn)換為宏塊的預(yù)測(cè)方式既宏塊類型,預(yù)測(cè)模式,運(yùn)動(dòng)矢等信息,與宏塊的像素點(diǎn)數(shù)據(jù)占用的空間大小(數(shù)據(jù)大小)相比宏塊類型,預(yù)測(cè)模式,運(yùn)動(dòng)矢量所占的空間會(huì)非常小,視頻幀是以宏塊為單位,從而達(dá)到將視頻數(shù)據(jù)進(jìn)行壓縮的目的。
而如何降低視頻數(shù)據(jù)量來提高壓縮效率,則是本申請(qǐng)要考慮的問題。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明了提供了一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法及電子設(shè)備,以解決目前的如何降低視頻數(shù)據(jù)量來提高壓縮效率的技術(shù)問題。
為解決上述技術(shù)問題,本發(fā)明提供了一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法,所述方法包括:
將視頻幀劃分為多個(gè)16*16的像素子塊,對(duì)于每一個(gè)16*16的像素子塊做如下處理:
對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值;
計(jì)算所述16*16像素子塊的第一運(yùn)動(dòng)矢量和第一誤差值;
將所述16*16像素子塊劃分為4個(gè)8*8像素子塊;
計(jì)算所述4個(gè)8*8像素子塊的第二運(yùn)動(dòng)矢量和第二誤差值;
對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量;
若所述第一誤差值小于所述第二誤差值,則確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。
優(yōu)選的,所述確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),包括:
將所述16*16像素子塊分割為兩個(gè)16*8像素子塊;
計(jì)算所述兩個(gè)16*8像素子塊的第三運(yùn)動(dòng)矢量和第三誤差值。
優(yōu)選的,所述計(jì)算所述兩個(gè)16*8像素子塊的第三運(yùn)動(dòng)矢量和第三誤差值之前,還包括:
對(duì)所述兩個(gè)16*8像素子塊的第二預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值。
優(yōu)選的,所述確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),包括:
將所述16*16像素子塊分割為兩個(gè)8*16像素子塊;
計(jì)算所述兩個(gè)8*16像素子塊的第四運(yùn)動(dòng)矢量和第四誤差值。
優(yōu)選的,所述對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量之后,包括:
若所述第一誤差值大于所述第二誤差值,則確定出最小第二誤差對(duì)應(yīng)的8*8像素子塊;
將所述16*16像素子塊劃分為16個(gè)4*4像素子塊;
確定出所述16個(gè)4*4像素子塊的第五運(yùn)動(dòng)矢量和第五誤差值;
將所述第五誤差值和所述最小第二誤差值進(jìn)行對(duì)比;
若所述第五誤差值小于所述最小第二誤差,則利用最小第五誤差對(duì)應(yīng)的最小第五運(yùn)動(dòng)矢量和宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。
優(yōu)選的,所述將所述第五誤差值和所述最小第二誤差值進(jìn)行對(duì)比之后,還包括:
若所述最小第二誤差值小于全部第五誤差值,則確定選用所述第二運(yùn)動(dòng)矢量、和所述8*8像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。
優(yōu)選的,所述確定選用所述第二運(yùn)動(dòng)矢量、和所述8*8像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),包括:
將所述8*8像素子塊劃分為兩個(gè)8*4像素子塊;
計(jì)算所述兩個(gè)8*4像素子塊的第六運(yùn)動(dòng)矢量和第六誤差值。
優(yōu)選的,所述確定選用所述第二運(yùn)動(dòng)矢量、和所述8*8像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),包括:
將所述8*8像素子塊劃分為兩個(gè)4*8像素子塊;
計(jì)算所述兩個(gè)4*8像素子塊的第七運(yùn)動(dòng)矢量和第七誤差值。
優(yōu)選的,所述對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值之后,還包括:
對(duì)16*16的像素子塊進(jìn)行濾波。
本發(fā)明個(gè)另一個(gè)方面,提供了一種電子設(shè)備,包括處理器和存儲(chǔ)器:
所述存儲(chǔ)器用于存儲(chǔ)執(zhí)行上述技術(shù)方案中的方法的程序,
所述處理器被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
通過本發(fā)明的一個(gè)或者多個(gè)技術(shù)方案,本發(fā)明具有以下有益效果或者優(yōu)點(diǎn):
本發(fā)明公開了一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法及電子設(shè)備,先將視頻幀劃分為16*16的像素子塊,然后對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值;由于進(jìn)行了實(shí)際賦值,故而可以降低16*16塊分割誤差值,從而達(dá)到降低碼率的效果。然后計(jì)算所述16*16像素子塊的第一運(yùn)動(dòng)矢量和第一誤差值;然后將所述16*16像素子塊劃分為4個(gè)8*8像素子塊;并計(jì)算所述4個(gè)8*8像素子塊的第二運(yùn)動(dòng)矢量和第二誤差值;然后對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量;若所述第一誤差值小于所述第二誤差值,則確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。本發(fā)明利用對(duì)比的方式確定出具體的運(yùn)動(dòng)估計(jì)所需的運(yùn)動(dòng)矢量,并且是根據(jù)實(shí)際賦值來求得運(yùn)動(dòng)矢量,故而在進(jìn)行幀間預(yù)測(cè)時(shí),能夠降低數(shù)據(jù)量節(jié)約時(shí)間,提高壓縮率。
附圖說明
圖1為本發(fā)明實(shí)施例中單向預(yù)測(cè)的實(shí)施原理圖;
圖2為本發(fā)明實(shí)施例中一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法的實(shí)施過程圖;
圖3為本發(fā)明實(shí)施例中電子設(shè)備的示意圖。
具體實(shí)施方式
為了使本申請(qǐng)所屬技術(shù)領(lǐng)域中的技術(shù)人員更清楚地理解本申請(qǐng),下面結(jié)合附圖,通過具體實(shí)施例對(duì)本申請(qǐng)技術(shù)方案作詳細(xì)描述。
基于上述問題,本發(fā)明公開了一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法。
首先,參看圖1,先介紹幀間預(yù)測(cè)的實(shí)施原理。
幀間預(yù)測(cè)分為單向預(yù)測(cè)和雙向預(yù)測(cè),單向預(yù)測(cè)的實(shí)施過程如下:
1,輸入當(dāng)前視頻幀數(shù)據(jù)ft(x,y);
2,獲取預(yù)測(cè)預(yù)測(cè)幀數(shù)據(jù),由幀預(yù)測(cè)器返回。
a.從預(yù)測(cè)器中獲取當(dāng)前幀前面或后面已編碼幀作為參考幀。
b.利用運(yùn)動(dòng)估計(jì)算法(全局收索,鉆石收索,六邊形收索)計(jì)算出當(dāng)前塊相對(duì)于參考圖像的一個(gè)運(yùn)動(dòng)矢量。
c.輸入運(yùn)動(dòng)矢量mv通過運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)器返回
3,使用當(dāng)前的視頻幀數(shù)據(jù)ft(x,y)與預(yù)測(cè)數(shù)據(jù)
4,對(duì)e(x)進(jìn)行轉(zhuǎn)換和量化操作獲得
5,對(duì)
6,對(duì)
注意:在進(jìn)行幀內(nèi)預(yù)測(cè)之前需要判斷當(dāng)前幀或片的類型(如是i幀/片,p幀/片,b幀/片),由于判斷過程比較復(fù)雜,這里只做簡單的介紹,首先對(duì)視頻幀進(jìn)行1/2縮放(長和寬減少1/2),減小數(shù)據(jù)量然后對(duì)視頻幀中的每個(gè)宏塊進(jìn)行幀內(nèi)預(yù)測(cè)獲取每個(gè)像素塊總共代價(jià)值,在進(jìn)行幀間預(yù)測(cè)計(jì)算總共的代價(jià)值,比較哪個(gè)值最小來判斷幀類型。除此之外,每個(gè)i幀的間隔是確定的,所以也可以用來判斷幀類型,還有b幀在p幀中間也可以用來判斷幀類型。)
雙向預(yù)測(cè):雙向預(yù)測(cè)不只是利用前一幀像素預(yù)測(cè),還需利用后一幀像素,即預(yù)測(cè)值為
而本發(fā)明主要提供一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法,用以確定出運(yùn)動(dòng)矢量進(jìn)行運(yùn)動(dòng)估計(jì),以降低碼率提高壓縮率。本發(fā)明的方法主要針對(duì)視頻流進(jìn)行處理,例如xx直播視頻流、或者普通的視頻流等等。
參看圖2,本發(fā)明的方法包括:
首先,對(duì)于每一幀視頻,本發(fā)明都會(huì)將視頻幀劃分為多個(gè)16*16的像素子塊,對(duì)于每一個(gè)16*16的像素子塊做如下處理:
步驟21,對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值。
具體來說,實(shí)際上可以取16*16的像素子塊的任意像素點(diǎn)作為第一預(yù)設(shè)像素點(diǎn),例如,本申請(qǐng)取16*16的像素子塊中左上角,右上角,左下角,右下角像素點(diǎn)作為第一預(yù)設(shè)像素點(diǎn),總共四個(gè)第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值,賦值到參考幀中,通過將左上角,右上角,左下角,右下角總共四個(gè)第一預(yù)設(shè)像素點(diǎn)賦值到參考幀中,可以降低16*16塊分割誤差值,從而達(dá)到提高16*16分割的可能性。因?yàn)槿绻麑?6*16塊分割的越細(xì)(子塊越多),則在編碼時(shí)發(fā)送和保存的數(shù)據(jù)就越多,故而通過上述的方法可以降低16*16塊分割誤差值,從而達(dá)到降低碼率的效果。
所述對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值之后,還包括:
對(duì)16*16的像素子塊進(jìn)行濾波。例如對(duì)左上角,右上角,左下角,右下角像素點(diǎn)又是交點(diǎn)位置會(huì)進(jìn)行強(qiáng)濾波,故不會(huì)對(duì)視頻質(zhì)量產(chǎn)生較大影響。當(dāng)然,對(duì)于濾波方式,本發(fā)明不做限制。
步驟22,計(jì)算所述16*16像素子塊的第一運(yùn)動(dòng)矢量和第一誤差值。
在具體的實(shí)施過程中,可通過運(yùn)動(dòng)估計(jì)的快速搜索算法來計(jì)算16*16像素子塊的第一運(yùn)動(dòng)矢量和第一誤差值。
在本申請(qǐng)中多次出現(xiàn)有運(yùn)動(dòng)矢量和誤差值。故而本申請(qǐng)首先介紹運(yùn)動(dòng)矢量,舉例來說,在連續(xù)的視頻幀中,一般情況下前一幀與后一幀的相似度是比較高的例如我們?cè)诶檬謾C(jī)進(jìn)行拍照是當(dāng)快速連續(xù)拍多張照片是每一張相似度是比較高的,無非是手臂,嘴巴眼睛有幅度的差別既手臂向上或向下移動(dòng)了,嘴巴閉上了等,因此在視頻編碼時(shí)我們可以將前一幀編碼過的視頻幀作為參考幀,后一幀為當(dāng)前需要編碼幀,上文提到的運(yùn)動(dòng)幅度則是運(yùn)動(dòng)矢量,是一個(gè)相對(duì)值,由于視頻是2維的則運(yùn)動(dòng)矢量也是2維。通常在編碼時(shí)是以宏塊為單位的故運(yùn)動(dòng)矢量都是指宏塊的運(yùn)動(dòng)矢量。
誤差值,誤差值的計(jì)算方法很多其中sad是其中之一,誤差值可以理解為相似度值越小相似度越大,如把2張視頻幀進(jìn)行sad計(jì)算這是視頻幀的相似度,通常在編碼時(shí)都是以宏塊為單位進(jìn)行編碼,當(dāng)前宏塊(當(dāng)前編碼幀的當(dāng)前編碼宏塊)和參考宏塊(參考幀里面與當(dāng)前宏塊相似度比較高的宏塊)會(huì)存在一個(gè)誤差值。
下面介紹運(yùn)動(dòng)估計(jì)的快速搜索算法。
運(yùn)動(dòng)搜索可以分成兩種基本類型:(1)全局搜索算法。(2)快速搜索算法。
(1)全局搜索算法。該方法是把搜索區(qū)域內(nèi)所有的像素塊逐個(gè)與當(dāng)前宏塊進(jìn)行比較,查找具有最小匹配誤差的一個(gè)像素塊為匹配塊。這一方法的好處是可以找到最佳的匹配塊,壞處是速度太慢。目前全局搜索算法極少使用。
(2)快速搜索算法。該方法按照一定的數(shù)學(xué)規(guī)則進(jìn)行匹配塊的搜索。這一方法的好處是速度快,壞處是可能只能得到次最佳的匹配塊。
下面舉例解釋幾種搜索算法,當(dāng)然,本發(fā)明并不僅限于使用這幾種算法。
菱形搜索算法(dia):以搜索起點(diǎn)為中心,采用小菱形模板(模板半徑為1)搜索。計(jì)算各點(diǎn)的匹配誤差,得到mbd(最小誤差)點(diǎn)。如果mbd點(diǎn)在模板中心,則搜索結(jié)束,此時(shí)的mbd點(diǎn)就是最優(yōu)匹配點(diǎn),對(duì)應(yīng)的像素塊就是最佳匹配塊;如果mbd點(diǎn)不在模板中心位置,則以現(xiàn)在mbd點(diǎn)為中心點(diǎn),繼續(xù)進(jìn)行小菱形搜索,直至mbd點(diǎn)落在中心點(diǎn)為止。
六邊形搜索算法(hex):該方法采用1個(gè)大模板(六邊形模板)和2個(gè)小模板(小菱形模板和小正方形模板)。具體的搜索步驟如下:步驟1:以搜索起點(diǎn)為中心,采用圖中左邊的六邊形模板進(jìn)行搜索。計(jì)算區(qū)域中心及周圍6個(gè)點(diǎn)處的匹配誤差并比較,如最小mbd點(diǎn)位于模板中心點(diǎn),則轉(zhuǎn)至步驟2;否則以上一次的mbd點(diǎn)作為中心點(diǎn),以六邊形模板為模板進(jìn)行反復(fù)搜索。步驟2:以上一次的mbd點(diǎn)為中心點(diǎn),采用小菱形模板搜索,計(jì)算各點(diǎn)的匹配誤差,找到mbd點(diǎn)。然后以mbd點(diǎn)為中心點(diǎn),采用小正方形模板搜索,得到的mbd點(diǎn)就是最優(yōu)匹配點(diǎn)。
非對(duì)稱十字型多層次六邊形格點(diǎn)搜索算法(umh):步驟1:進(jìn)行一次小菱形搜索,根據(jù)匹配誤差值和兩個(gè)門限值(對(duì)于一種尺寸的宏塊來說是固定大小的threshold1和threshold2)之間的關(guān)系作相應(yīng)的處理,可能用到中菱形模板或者正八邊形模板,也有可能直接跳到步驟2。步驟2:使用非對(duì)稱十字模板搜索?!胺菍?duì)稱”的原因是一般水平方向運(yùn)動(dòng)要比垂直方向運(yùn)動(dòng)劇烈,所以將水平方向搜索范圍定為w,垂直方向搜索范圍定為w/2。步驟3:使用5x5逐步搜索模板搜索。步驟4:使用大六邊形模板搜索。步驟5:使用六邊形搜索算法找到最優(yōu)匹配點(diǎn)。
連續(xù)消除法(esa、tesa):該方法是一種全搜索算法,它對(duì)搜索區(qū)域內(nèi)的點(diǎn)進(jìn)行光柵式搜索,逐一計(jì)算并較。
步驟23,將所述16*16像素子塊劃分為4個(gè)8*8像素子塊。
步驟24,計(jì)算所述4個(gè)8*8像素子塊的第二運(yùn)動(dòng)矢量和第二誤差值。
具體來說,在計(jì)算4個(gè)8*8像素子塊的第二運(yùn)動(dòng)矢量和第二誤差值時(shí),也是利用上述描述的搜索算法進(jìn)行計(jì)算。
步驟25,對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量;
步驟26,若所述第一誤差值小于所述第二誤差值,則確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。
由于本發(fā)明將16*16像素子塊劃分為4個(gè)8*8像素子塊,故而也會(huì)獲得4個(gè)第二運(yùn)動(dòng)矢量和4個(gè)第二誤差值。而在對(duì)比時(shí),是利用第一誤差值和4個(gè)第二誤差值進(jìn)行對(duì)比,在對(duì)比之后,如果第一誤差值比4個(gè)第二誤差值都小,那么則確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),又由于本發(fā)明在之前已經(jīng)進(jìn)行了賦值,故而在計(jì)算運(yùn)動(dòng)矢量時(shí)能夠減少誤差值,進(jìn)而降低碼率,提高壓縮率。
而在進(jìn)行運(yùn)動(dòng)估計(jì)時(shí),具體實(shí)施過程如下:
由于在對(duì)16*16像素子塊分割時(shí),可以劃分為兩個(gè)16*8像素子塊;也可以劃分為兩個(gè)8*16像素子塊,故而本發(fā)明有兩種方式:
第一種:將所述16*16像素子塊分割為兩個(gè)16*8像素子塊;利用運(yùn)動(dòng)搜索算法計(jì)算所述兩個(gè)16*8像素子塊的第三運(yùn)動(dòng)矢量和第三誤差值。當(dāng)然,作為一種可選的實(shí)施例,可以在計(jì)算所述兩個(gè)16*8像素子塊的第三運(yùn)動(dòng)矢量和第三誤差值之前,對(duì)所述兩個(gè)16*8像素子塊的第二預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值,然后再進(jìn)行計(jì)算。第二預(yù)設(shè)像素點(diǎn)可以是16*8像素子塊的左上角、左下角、右上角、右下角總共4個(gè)像素點(diǎn)。當(dāng)然也可以為其他,在此本發(fā)明不再贅述。
第二種:將所述16*16像素子塊分割為兩個(gè)8*16像素子塊;利用運(yùn)動(dòng)搜索算法計(jì)算所述兩個(gè)8*16像素子塊的第四運(yùn)動(dòng)矢量和第四誤差值。當(dāng)然,在此之前也可以對(duì)兩個(gè)8*16像素子塊的第三預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值,第三預(yù)設(shè)像素點(diǎn)的確定可以隨意,例如可以是8*16像素子塊的左上角、左下角、右上角、右下角總共4個(gè)像素點(diǎn)。當(dāng)然也可以為其他,在此本發(fā)明不再贅述。
以上是第一誤差值小于所述第二誤差值所做的處理,若所述第一誤差值大于所述第二誤差值,那么則進(jìn)行下面的實(shí)施方式。
故而,在所述對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量之后,包括:
若所述第一誤差值大于所述第二誤差值,則確定出最小第二誤差對(duì)應(yīng)的8*8像素子塊;
將所述16*16像素子塊劃分為16個(gè)4*4像素子塊;
確定出所述16個(gè)4*4像素子塊的第五運(yùn)動(dòng)矢量和第五誤差值;具體來說,由于將16*16像素子塊劃分為16個(gè)4*4像素子塊,那么確定出來的第五運(yùn)動(dòng)矢量也有16個(gè),然后將每個(gè)第五運(yùn)動(dòng)矢量和最小第二誤差值進(jìn)行對(duì)比。
將所述第五誤差值和所述最小第二誤差值進(jìn)行對(duì)比;
若所述第五誤差值小于所述最小第二誤差,則利用最小第五誤差對(duì)應(yīng)的最小第五運(yùn)動(dòng)矢量和宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。在進(jìn)行運(yùn)動(dòng)估計(jì)時(shí),也可以利用上述搜索算法進(jìn)行計(jì)算。
若所述最小第二誤差值小于全部第五誤差值,則確定選用所述第二運(yùn)動(dòng)矢量、和所述8*8像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。在具體的實(shí)施過程中,如果對(duì)8*8像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì),那么也會(huì)先對(duì)8*8像素子塊的宏塊進(jìn)行劃分。在劃分時(shí)具有兩種方式:第一種方式:將所述8*8像素子塊劃分為兩個(gè)8*4像素子塊。第二種方式:將所述8*8像素子塊劃分為兩個(gè)4*8像素子塊。
第一種方式:將所述8*8像素子塊劃分為兩個(gè)8*4像素子塊;計(jì)算所述兩個(gè)8*4像素子塊的第六運(yùn)動(dòng)矢量和第六誤差值。
第二種方式:將所述8*8像素子塊劃分為兩個(gè)4*8像素子塊;計(jì)算所述兩個(gè)4*8像素子塊的第七運(yùn)動(dòng)矢量和第七誤差值。
參看圖3,基于同一發(fā)明構(gòu)思,本發(fā)明公開了一種電子設(shè)備,本申請(qǐng)涉及的電子設(shè)備包括但不限于是:移動(dòng)終端(手機(jī)、智能手機(jī)、pad、筆記本電腦等等)、固定終端(計(jì)算機(jī))。
該電子設(shè)備包括處理器31和存儲(chǔ)器32:
所述存儲(chǔ)器32用于存儲(chǔ)執(zhí)行上述實(shí)施例中的方法的程序,
所述處理器31被配置為用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的程序。
為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分,具體技術(shù)細(xì)節(jié)未揭示的,請(qǐng)參照本發(fā)明實(shí)施例方法部分。該移動(dòng)通信終端可以為包括手機(jī)、平板電腦、pda(personaldigitalassistant,個(gè)人數(shù)字助理)等任意移動(dòng)終端設(shè)備。如圖3所述,所述移動(dòng)終端包括存儲(chǔ)器32和處理器31。
存儲(chǔ)器32可用于存儲(chǔ)軟件程序以及模塊,處理器31通過運(yùn)行執(zhí)行存儲(chǔ)在存儲(chǔ)器32的軟件程序以及模塊,從而執(zhí)行移動(dòng)終端的各種功能應(yīng)用以及數(shù)據(jù)處理。
存儲(chǔ)器32可主要包括存儲(chǔ)程序區(qū)和存儲(chǔ)數(shù)據(jù)區(qū),其中,存儲(chǔ)程序區(qū)可存儲(chǔ)操作系統(tǒng)、至少一個(gè)功能(比如聲音播放功能、圖像播放功能等)所需的應(yīng)用程序(比如游戲類應(yīng)用程序、音樂類應(yīng)用程序等)等;存儲(chǔ)數(shù)據(jù)區(qū)可存儲(chǔ)根據(jù)手機(jī)的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。處理器31移動(dòng)通信終端的控制中心,利用各種接口和線路連接整個(gè)移動(dòng)通信終端的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲(chǔ)在存儲(chǔ)器32內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲(chǔ)在存儲(chǔ)器32內(nèi)的數(shù)據(jù),執(zhí)行移動(dòng)終端機(jī)的各種功能和處理數(shù)據(jù),從而對(duì)移動(dòng)終端機(jī)進(jìn)行整體監(jiān)控??蛇x的,處理器31可包括一個(gè)或多個(gè)處理單元。
通過本發(fā)明的一個(gè)或者多個(gè)實(shí)施例,本發(fā)明具有以下有益效果或者優(yōu)點(diǎn):
本發(fā)明公開了一種運(yùn)動(dòng)估計(jì)實(shí)現(xiàn)方法及電子設(shè)備,先將視頻幀劃分為16*16的像素子塊,然后對(duì)16*16的像素子塊的第一預(yù)設(shè)像素點(diǎn)進(jìn)行實(shí)際賦值;由于進(jìn)行了實(shí)際賦值,故而可以降低16*16塊分割誤差值,從而達(dá)到降低碼率的效果。然后計(jì)算所述16*16像素子塊的第一運(yùn)動(dòng)矢量和第一誤差值;然后將所述16*16像素子塊劃分為4個(gè)8*8像素子塊;并計(jì)算所述4個(gè)8*8像素子塊的第二運(yùn)動(dòng)矢量和第二誤差值;然后對(duì)比所述第一運(yùn)動(dòng)矢量和所述第二運(yùn)動(dòng)矢量;若所述第一誤差值小于所述第二誤差值,則確定選用所述第一運(yùn)動(dòng)矢量、和所述16*16像素子塊的宏塊分割進(jìn)行運(yùn)動(dòng)估計(jì)。本發(fā)明利用對(duì)比的方式確定出具體的運(yùn)動(dòng)估計(jì)所需的運(yùn)動(dòng)矢量,并且是根據(jù)實(shí)際賦值來求得運(yùn)動(dòng)矢量,故而在進(jìn)行幀間預(yù)測(cè)時(shí),能夠降低數(shù)據(jù)量節(jié)約時(shí)間,提高壓縮率。
盡管已描述了本申請(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)。