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

一種去除塊效應(yīng)的濾波方法及裝置與流程

文檔序號:11594835閱讀:295來源:國知局
本發(fā)明涉及視頻圖像處理領(lǐng)域,尤其涉及一種去除塊效應(yīng)的濾波方法及裝置。
背景技術(shù)
:視頻編碼壓縮技術(shù)主要采用基于塊的混合視頻編碼,將一幀視頻圖像劃分為多個塊(block),以塊為單位,通過預(yù)測(包括幀內(nèi)預(yù)測和幀間預(yù)測)、變換、量化、熵編碼等步驟實現(xiàn)視頻編碼壓縮,即采用基于塊的運動補償預(yù)測(motioncompensationprediction,mcp),先得到塊的運動信息,然后根據(jù)運動信息確定該塊的預(yù)測像素值,再將該塊的原始像素值和預(yù)測像素值之間的殘差進行變換量化,最后,將量化后的變換系數(shù)以及編碼模式信息(如編碼塊大小、預(yù)測模式、運動矢量等信息)通過熵編碼處理轉(zhuǎn)換成碼流發(fā)送至解碼端。由于基于塊的混合視頻編碼是將每幅圖像劃分為不同大小的塊后,再進行分塊預(yù)測、分塊變換量化的,忽略了塊與塊之間的關(guān)聯(lián)性,導(dǎo)致塊邊界上的像素值的重構(gòu)精度相對塊中間的像素值的重構(gòu)精度更差一些,塊與塊之間產(chǎn)生了不連貫的效應(yīng),即“塊效應(yīng)”,進而使解碼重建后得到的圖像明顯呈現(xiàn)出以塊拼接處的感覺,因此,在解碼重建后應(yīng)當(dāng)對圖像進行“去除塊效應(yīng)”處理。目前,常用的去除塊效應(yīng)的方法為:重疊塊運動補償(overlappedblockmotioncompensation,obmc),它將所有的運動矢量看作連續(xù)的場,提出內(nèi)像素不應(yīng)只由當(dāng)前塊運動矢量影響,并且在很大程度上受周邊運動矢量的影響,獲得當(dāng)前塊的上下左右四個方向相鄰子塊的運動矢量,若該運動矢量存在并且與當(dāng)前子塊的運動矢量不同,則使用該運動矢量對當(dāng)前塊進行運動補償,得到當(dāng)前塊新的預(yù)測信號,將當(dāng)前塊的原始預(yù)測信號與當(dāng)前塊的新的預(yù)測信號進行加權(quán)過濾來去除“塊效應(yīng)”。其中,上述方法是基于平動模型進行的,即假使圖像塊內(nèi)的運動均為平動,所以,現(xiàn)有obmc僅提出對處于上邊界和左邊界的塊進行濾波,此時,若所述預(yù)測單元包含通過非平動模式(如仿射運動模型)的預(yù)測單元,這些 預(yù)測單元塊之間的運動矢量是不同,若仍采用上述方法,則會導(dǎo)致該單元的內(nèi)部預(yù)測單元得不到濾波處理,使得塊與塊之間仍存在“塊效應(yīng)”,影響編碼精度和主客觀效果。技術(shù)實現(xiàn)要素:本發(fā)明的主要目的,在于提供一種去除塊效應(yīng)的濾波方法及裝置。以解決現(xiàn)有內(nèi)部預(yù)測單元塊之間的“塊效應(yīng)”得不到處理,影響編碼精度和主客觀效果的問題。為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:第一方面,本發(fā)明實施例提供一種去除塊效應(yīng)的濾波方法,用于對一圖像塊進行濾波處理,所述圖像塊劃分為至少一個預(yù)測單元、以及至少一個變換單元,所述預(yù)測單元包含有非平動運動預(yù)測單元,所述方法可以包括:將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù);遍歷所述至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;對于所述至少一個濾波邊界中的任一濾波邊界,獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理。其中,當(dāng)所述濾波邊界為豎直濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的上子單元,所述第二子單元為與所述濾波邊界相鄰的下子單元;當(dāng)所述濾波邊界為水平濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的左子單元,所述第二子單元為與所述濾波邊界相鄰的右子單元。如此,通過確定預(yù)測單元中所有濾波邊界,對濾波邊界相鄰的像素點進行濾波處理,消除不同運動矢量的單元塊之間的“塊效應(yīng)”,提高圖像的預(yù)測精度及主觀質(zhì)量??蛇x的,在第一方面的一種可實現(xiàn)方式中,對于所述至少兩個子單元中的第一子單元,若所述子單元的第一邊界為所述圖像塊中預(yù)測單元的劃分邊界、或者所述子單元的第一邊界為所述圖像塊中變換單元的劃分邊界,則確定所述子單元的第一邊界為濾波邊界,其中,所述第一邊界為所述子單元的任一邊界;此外,若所述子單元包含在所述非平動運動預(yù)測單元中,則確定所述第一子 單元的各個邊界為濾波邊界。如此,除了將預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界的邊界確定為濾波邊界,進行后續(xù)的濾波處理外,還可以將非平動運動預(yù)測單元的邊界確定為濾波邊界,實現(xiàn)對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部非平動運動預(yù)測單元間的塊效應(yīng)。可選的,在第一方面的又一種可實現(xiàn)方式中,所述獲取與所述濾波邊界相鄰的第一子單元的第一像素值可以包括:獲取所述第一子單元的第一預(yù)測像素值;計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量;根據(jù)所述m個子單元的運動矢量得到所述第一子單元的m個第二預(yù)測像素值;根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值;所述m為1至4中的任一整數(shù)。其中,計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量包括:若所述第一子單元包含在所述非平動運動預(yù)測單元中、或者所述第一子單元為與所述非平動運動預(yù)測單元的下邊界或右邊界相鄰的子單元,則所述與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的上邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、左子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的上子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述上子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述上子單元的運動矢量;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的左邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、上子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元 相鄰的左子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述左子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述左子單元的運動矢量??蛇x的,在第一方面的再一種可實現(xiàn)方式中,所述獲取與所述濾波邊界相鄰的第一子單元的第一像素值又可以包括:獲取所述第一子單元(p)的第一預(yù)測像素值;按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元(p)的第一頂點(1)相鄰的上方坐標(1.1)、下方坐標(1.2)、左方坐標(1.3)和右方坐標(1.4)中m個坐標的運動矢量,以及與所述第一子單元(p)的第二頂點(2)相鄰的上方坐標(2.1)、下方坐標(2.2)、左方坐標(2.3)和右方坐標(2.4)中m個坐標的運動矢量;所述第一頂點(1)和所述第二頂點(2)為所述第一子單元(p)中任意兩個不同的頂點;所述m為1至4中的任一整數(shù);將所述第一子單元(p)的第一頂點(1)相鄰的上方坐標(1.1)、下方坐標(1.2)、左方坐標(1.3)和右方坐標(1.4)中m個坐標的運動矢量,以及所述第一子單元(p)的第二頂點(2)相鄰的上方坐標(2.1)、下方坐標(2.2)、左方坐標(2.3)和右方坐標(2.4)中m個坐標的運動矢量組成m個運動矢量對;其中,所述m個運動矢量對中的第一運動矢量對包含:與所述第一子單元(p)的第一頂點(1)相鄰的第一坐標的運動矢量和與所述第一子單元(p)的第二頂點(2)相鄰的第一坐標的運動矢量的運動矢量;第一坐標為上方坐標或下方坐標或左方坐標或右方坐標;分別按照預(yù)設(shè)的非平動運動模型對所述m個運動矢量對進行計算,得到所述第一子單元(p)的m個運動矢量;根據(jù)所述第一子單元(p)的m個運動矢量得到所述第一子單元(p)的m個第二預(yù)測像素值;根據(jù)所述第一子單元(p)的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元(p)的第一像素值。如此,考慮不同子單元間的運動矢量的相關(guān)性,根據(jù)第一子單元相鄰的子單元的運動矢量對第一子單元進行運動補償,或者,根據(jù)第一子單元相鄰的坐標點計算第一單元的運動矢量,對第一子單元進行運動補償,以此減少 數(shù)據(jù)的冗余度和編碼長度,提高第一子單元的預(yù)測精度??蛇x的,在第一方面的再一種可實現(xiàn)方式中,所述根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理可以包括:確定所述濾波邊界的邊界強度值;根據(jù)所述濾波邊界的邊界強度值、以及初始閾值β0、t0和所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù),獲得閾值β和t;根據(jù)所述濾波邊界的邊界強度值、初始閾值β0、t0、所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值間的像素差值,按照第二預(yù)設(shè)算法對與所述濾波邊界相鄰的像素點進行濾波處理;所述m為大于等于1的整數(shù)。如此,可以根據(jù)濾波邊界的強度對與濾波邊界相鄰的像素點進行濾波處理,減少了變換和預(yù)測單元劃分帶來的塊效應(yīng)。第二方面,本發(fā)明實施例還提供一種濾波裝置,用于執(zhí)行第一方面所述的方法,所述濾波裝置可以包括:劃分單元,用于將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù);確定單元,用于遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取單元,用于對于所述確定單元確定出的至少一個濾波邊界中的任一濾波邊界,獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;濾波單元,用于根據(jù)所述獲取單元獲取到的第一子單元的第一像素值、以及所述第二子單元的第一像素值,對與所述濾波邊界相鄰的像素點進行濾波處理;其中,當(dāng)所述濾波邊界為豎直濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的上子單元,所述第二子單元為與所述濾波邊界相鄰的下子單元;當(dāng)所述濾波邊界為水平濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的左子單元,所述第二子單元為與所述濾波邊界相鄰的右子單元。如此,通過確定預(yù)測單元中所有濾波邊界,對濾波邊界相鄰的像素點進行濾波處理,消除不同運動矢量的單元塊之間的“塊效應(yīng)”,提高圖像的預(yù) 測精度及主觀質(zhì)量??蛇x的,在第二方面的一種可實現(xiàn)方式中,對于所述至少兩個子單元中的任一子單元,所述確定單元具體用于:若所述子單元包含在所述非平動運動預(yù)測單元中,則確定所述子單元的各個邊界均為濾波邊界;或者,若所述子單元的第一邊界為所述圖像塊中預(yù)測單元的劃分邊界、或者所述子單元的第一邊界為所述圖像塊中變換單元的劃分邊界,則確定所述子單元的第一邊界為濾波邊界,所述第一邊界為所述子單元的任一邊界。如此,除了將預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界的邊界確定為濾波邊界,進行后續(xù)的濾波處理外,還可以將非平動運動預(yù)測單元的邊界確定為濾波邊界,實現(xiàn)對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部非平動運動預(yù)測單元間的塊效應(yīng)。可選的,在第二方面的又一種可實現(xiàn)方式中,獲取單元具體可以用于:獲取所述第一子單元的第一預(yù)測像素值;計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量;所述m為1至4中的任一整數(shù);根據(jù)所述m個子單元的運動矢量得到所述第一子單元的m個第二預(yù)測像素值;根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值;其中,所述計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量包括:若所述第一子單元包含在所述非平動運動預(yù)測單元中、或者所述第一子單元為與所述非平動運動預(yù)測單元的下邊界或右邊界相鄰的子單元,則所述與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的上邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、左子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的上子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述上子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者 所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述上子單元的運動矢量;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的左邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、上子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的左子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述左子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述左子單元的運動矢量??蛇x的,在第二方面的再一種可實現(xiàn)方式中,獲取單元具體還可以用于:獲取所述第一子單元(p)的第一預(yù)測像素值;按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元(p)的第一頂點(1)相鄰的上方坐標(1.1)、下方坐標(1.2)、左方坐標(1.3)和右方坐標(1.4)中m個坐標的運動矢量,以及與所述第一子單元(p)的第二頂點(2)相鄰的上方坐標(2.1)、下方坐標(2.2)、左方坐標(2.3)和右方坐標(2.4)中m個坐標的運動矢量;所述第一頂點(1)和所述第二頂點(2)為所述第一子單元(p)中任意兩個不同的頂點;所述m為1至4中的任一整數(shù);將所述第一子單元(p)的第一頂點(1)相鄰的上方坐標(1.1)、下方坐標(1.2)、左方坐標(1.3)和右方坐標(1.4)中m個坐標的運動矢量,以及所述第一子單元(p)的第二頂點(2)相鄰的上方坐標(2.1)、下方坐標(2.2)、左方坐標(2.3)和右方坐標(2.4)中m個坐標的運動矢量組成m個運動矢量對;其中,所述m個運動矢量對中的第一運動矢量對包含:與所述第一子單元(p)的第一頂點(1)相鄰的第一坐標的運動矢量和與所述第一子單元(p)的第二頂點(2)相鄰的第一坐標的運動矢量的運動矢量;第一坐標為上方坐標或下方坐標或左方坐標或右方坐標;分別按照預(yù)設(shè)的非平動運動模型對所述m個運動矢量對進行計算,得到所述第一子單元(p)的m個運動矢量;根據(jù)所述第一子單元(p)的m個運動矢量得到所述第一子單元(p)的m個第二預(yù)測像素值;根據(jù)所述第一子單元(p)的第一預(yù)測像素值與所述m個第二預(yù)測像素 值,按照第一預(yù)設(shè)算法得到所述第一子單元(p)的第一像素值。如此,考慮不同子單元間的運動矢量的相關(guān)性,根據(jù)第一子單元相鄰的子單元的運動矢量對第一子單元進行運動補償,或者,根據(jù)第一子單元相鄰的坐標點計算第一單元的運動矢量,對第一子單元進行運動補償,以此減少數(shù)據(jù)的冗余度和編碼長度,提高第一子單元的預(yù)測精度??蛇x的,在第二方面的再一種可實現(xiàn)方式中,確定單元,還用于確定所述濾波邊界的邊界強度值;濾波單元,具體用于:根據(jù)所述濾波邊界的邊界強度值、以及初始閾值β0、t0和所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù),獲得閾值β和t;根據(jù)所述β、所述t、以及所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰的像素點進行濾波處理。如此,可以根據(jù)濾波邊界的強度對與濾波邊界相鄰的像素點進行濾波處理,減少了變換和預(yù)測單元劃分帶來的塊效應(yīng)。需要說明的是,上述第二方面所述功能模塊可以通過硬件實現(xiàn),也可以通過硬件執(zhí)行相應(yīng)的軟件實現(xiàn)。所述硬件或軟件包括一個或多個與上述功能相對應(yīng)的模塊。例如,通信單元,用于與外部網(wǎng)元進行通信,處理器,用于完成劃分單元、確定單元、獲取單元及濾波單元的功能,存儲器,用于存儲相應(yīng)的應(yīng)用程序。處理器、通信單元和存儲器通過總線連接并完成相互間的通信,具體實現(xiàn)如下:第三方面,本發(fā)明實施例還提供一種濾波裝置,用于執(zhí)行第一方面所述的方法,所述濾波裝置可以包括:劃分單元,用于將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù);確定單元,用于遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取單元,用于獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;濾波單元,用于根據(jù)所述獲取單元獲取到的第一子單元的第一像素值、以及所述第二子單元的第一像素值,對與所述濾波邊界相鄰的像素點進行濾 波處理。具體的,處理器的執(zhí)行功能可以參考第二方面提供的濾波單元中劃分單元、確定單元、獲取單元以及濾波單元的執(zhí)行功能。由上可知,本發(fā)明實施例提供一種去除塊效應(yīng)的濾波方法及濾波裝置,將每個預(yù)測單元劃分為至少兩個子單元;遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理。如此,除了對預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界兩邊的單元中的像素點進行濾波外,還可以對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部的塊效應(yīng),提高了圖像的預(yù)測精度及主觀質(zhì)量,避免了現(xiàn)有僅對預(yù)測單元的上邊界和左邊界進行濾波操作,而未對該預(yù)測單元的內(nèi)部運動補償塊的邊界進行濾波處理,導(dǎo)致的不能完全去除塊效應(yīng)的問題。附圖說明為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例提供的一種濾波裝置的結(jié)構(gòu)圖;圖2為本發(fā)明實施例提供的一種去除塊效應(yīng)的濾波方法的流程圖;圖3為本發(fā)明實施例提供的一種圖像塊的示意圖;圖4為本發(fā)明實施例提供的一種圖像塊的示意圖;圖5為本發(fā)明實施例提供的一種圖像塊的示意圖;圖6為本發(fā)明實施例提供的一種濾波裝置的結(jié)構(gòu)圖。具體實施方式本發(fā)明主要原理是:除了對預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界兩邊的單元中的像素點進行濾波外,還找尋出非平動運動預(yù)測單元,對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù) 測單元內(nèi)部的塊效應(yīng),提高了圖像的預(yù)測精度及主觀質(zhì)量,避免了現(xiàn)有僅對采用非平動運動模塊進行運動補償?shù)念A(yù)測單元的上邊界和左邊界進行濾波操作,而未對該預(yù)測單元的內(nèi)部運動補償塊的邊界進行濾波處理,導(dǎo)致的不能完全去除塊效應(yīng)的問題,提高圖像的預(yù)測精度及主觀質(zhì)量。需要說明的是,本發(fā)明的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”、“第三”“第四”等(如果存在)是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本發(fā)明的實施例可以采用不同與圖示或描述的順序?qū)嵤?。此外,術(shù)語“中心”、“上”、“下”、“左”、“右”、“頂”、“底”、“內(nèi)”、“外”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于描述本發(fā)明和簡化描述,而不是指示或暗示所指的系統(tǒng)或元件必須具有特定的方位、以特定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。下面結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。圖1示出了可以執(zhí)行本發(fā)明提供的方法的濾波裝置的結(jié)構(gòu)圖,用于對一圖像塊進行濾波處理,所述圖像塊劃分為至少一個預(yù)測單元、至少一個非平動運動預(yù)測單元、以及至少一個變換單元,所述預(yù)測單元包含有非平動運動預(yù)測單元,所述濾波裝置可以為視頻編碼裝置或視頻解碼裝置,所述視頻編碼裝置或視頻解碼裝置可以是任何需要輸出或存儲視頻的裝置,如:筆記本電腦、平板電腦、個人電腦、手機或視頻服務(wù)器等裝置;參見圖1,所述濾波裝置可以包括:通信接口1001、處理器1002、存儲器1003、以及至少一個通信總線1004,用于實現(xiàn)這些裝置之間的連接和相互通信;其中,通信接口1001,可用于與外部網(wǎng)元之間進行數(shù)據(jù)通信。處理器1002可能是一個中央處理器(centralprocessingunit,簡稱為cpu),也可以是特定集成電路(applicationspecificintegratedcircuit,asic),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路,例如:一個或多個微處理器(digitalsingnalprocessor,dsp),或,一個或者多個現(xiàn)場可編程門陣列(fieldprogrammablegatearray,fpga)。存儲器1003,可以是易失性存儲器(volatilememory),例如隨機存取存儲器(random-accessmemory,ram);或者非易失性存儲器(non-volatilememory),例如只讀存儲器(read-onlymemory,rom),快閃存儲器(flashmemory),硬盤(harddiskdrive,hdd)或固態(tài)硬盤(solid-statedrive,ssd);或者上述種類的存儲器的組合,用于存儲可實現(xiàn)本發(fā)明提供的濾波方法的應(yīng)用程序。通信總線1004可以分為地址總線、數(shù)據(jù)總線、控制總線等,可以是工業(yè)標準體系結(jié)構(gòu)(industrystandardarchitecture,isa)總線、外部裝置互連(peripheralcomponent,pci)總線或擴展工業(yè)標準體系結(jié)構(gòu)(extendedindustrystandardarchitecture,eisa)總線等。為便于表示,圖1中僅用一條粗線表示,但并不表示僅有一根總線或一種類型的總線。具體的,處理器1002用于:將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù);遍歷所述至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值,對與所述濾波邊界相鄰的像素點進行濾波處理。其中,當(dāng)所述濾波邊界為豎直濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的上子單元,所述第二子單元為與所述濾波邊界相鄰的下子單元;當(dāng)所述濾波邊界為水平濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的左子單元,所述第二子單元為與所述濾波邊界相鄰的右子單元。其中,對于所述至少兩個子單元中的任一子單元,若所述子單元包含在所述非平動運動預(yù)測單元中,則確定所述子單元的各個邊界均為濾波邊界;或者,若所述子單元的第一邊界為所述圖像塊中預(yù)測單元的劃分邊界、或者所述子單元的第一邊界為所述圖像塊中變換單元的劃分邊界,則確定所述子單元的第一邊界為濾波邊界,所述第一邊界為所述子單元的任一邊界??蛇x的,處理器1002可以用于:獲取所述第一子單元的第一預(yù)測像素值;計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量;根據(jù)所述m個子單元的運動矢量得到所述第一子單元的m個第二預(yù)測像素值;將所述第一子單元的第一預(yù)測像素值分別與所述m個第二預(yù)測像素值進行加權(quán);將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值;所述m為1至4中的任一整數(shù);其中,所述處理器1002計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量可以為:若所述第一子單元包含在所述非平動運動預(yù)測單元中、或者所述第一子單元為與所述非平動運動預(yù)測單元的下邊界或右邊界相鄰的子單元,則所述與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中各個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的上邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、左子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的上子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述上子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述上子單元的運動矢量;或者,若所述第一子單元為與所述非平動運動預(yù)測單元的左邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、上子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的左子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述左子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述左子單元的運動矢量??蛇x的,處理器1002還可以用于:獲取所述第一子單元的第一預(yù)測像素值;按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元的第一頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標中m個坐標的運動矢量,以及 與所述第一子單元的第二頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標中m個坐標的運動矢量;所述第一頂點和所述第二頂點為所述第一子單元中任意兩個不同的頂點;所述m為1至4中的任一整數(shù);將所述第一子單元的第一頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標中m個坐標的運動矢量,以及所述第一子單元的第二頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標中m個坐標的運動矢量組成m個運動矢量對;其中,所述m個運動矢量對中的第一運動矢量對包含:與所述第一子單元的第一頂點相鄰的第一坐標的運動矢量和與所述第一子單元的第二頂點相鄰的第一坐標的運動矢量的運動矢量;第一坐標為上方坐標或下方坐標或左方坐標或右方坐標;分別按照預(yù)設(shè)的非平動運動模型對所述m個運動矢量對進行計算,得到所述第一子單元的m個運動矢量;根據(jù)所述第一子單元的m個運動矢量得到所述第一子單元的m個第二預(yù)測像素值;根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值??蛇x的,處理器1002還可以用于:確定所述濾波邊界的邊界強度值;根據(jù)所述濾波邊界的邊界強度值、初始閾值β0、t0、所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰的像素點進行濾波處理。由上可知,本發(fā)明實施例提供一種濾波裝置,將每個預(yù)測單元劃分為至少兩個子單元;遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理。如此,除了對預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界兩邊的單元中的像素點進行濾波外,還可以對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部的塊效應(yīng),提高了圖像的預(yù)測精度及主觀質(zhì)量,避免了現(xiàn)有僅對預(yù)測單元的上邊界和左邊界進行濾波操作,而未對該預(yù)測單元的內(nèi)部運動補償塊 的邊界進行濾波處理,導(dǎo)致的不能完全去除塊效應(yīng)的問題。為了便于描述,以下實施例一以步驟的形式示出并詳細描述了本發(fā)明提供的去除塊效應(yīng)的濾波方法,其中,示出的步驟也可以在除圖1所示的裝置之外的諸如一組可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,此外,雖然在圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。實施例一圖2為本發(fā)明實施例提供的一種去除塊效應(yīng)的濾波方法的流程圖,由圖1所示的濾波裝置執(zhí)行,用于對一圖像塊進行濾波處理,所述圖像塊劃分為至少一個預(yù)測單元、以及至少一個變換單元;所述預(yù)測單元包含有非平動運動預(yù)測單元;其中,所述圖像塊可以為編碼圖像塊,還可以為解碼圖像塊,當(dāng)濾波裝置為視頻編碼裝置時,所述圖像塊為編碼圖像塊,當(dāng)濾波裝置為視頻解碼裝置時,所述圖像塊為解碼圖像塊。在高性能視頻編碼(highefficiencyvideocoding,hevc)標準中,一個圖像塊的大小可包括64×64,32×32,16×16和8×8等四個級別,每個級別的圖像塊按照幀內(nèi)預(yù)測和幀間預(yù)測可以劃分為不同大小的預(yù)測單元,每個預(yù)測單元可按照基于平動運動模型的運動補償預(yù)測和非平動運動模型的運動補償預(yù)測分為平動運動預(yù)測單元和非平動運動預(yù)測單元,每個級別的圖像塊按照變換方法的不同可以劃分為不同大小的變換單元。需要說明的是,本發(fā)明所述的非平動運動可以包括:仿射運動、縮放運動、旋轉(zhuǎn)運動、透視運動等非規(guī)則運動中的任一運動,所述預(yù)測單元包含非平動運動預(yù)測單元是指:預(yù)測單元與非平動運動預(yù)測單元存在相交的單元,可選的,預(yù)測單元中可以包含:平動運動預(yù)測單元和非平動運動預(yù)測單元。例如,如圖3所示,若一個32×32的圖像塊為幀間預(yù)測,可以將該32×32的圖像塊單獨劃分為一個預(yù)測單元,若該預(yù)測單元采用非平動運動模塊進行運動補償預(yù)測,則可以將該預(yù)測單元沿著非平動運動預(yù)測單元的分界線劃分為不同大小的非平動運動預(yù)測單元,若該32×32的圖像塊中不同大小的單元的采用不同的變換方式,則可以將該32×32的圖像塊沿著變換單元的分界線劃分為不同大小的變換單元。由于基于非平動運動模型得到的相鄰單元間的運動矢量是不同的,所以, 為了消除預(yù)測單元內(nèi)部基于非平動運動模型進行運動補償預(yù)測的相鄰單元間的塊效應(yīng),還需要找該相鄰單元間邊界,對該邊界附近的像素進行濾波處理,如圖2所示,所述方法可以包括如下步驟:s101:將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù)。其中,n的取值可以根據(jù)需要進行設(shè)定,本發(fā)明實施例對此不進行限定;可選的,n默認為4。例如,可以將一個w*h的劃分為多個4*4子單元,在本發(fā)明實施例中,4*4子單元可以表示:包含4*4個像素點的子單元。s102:遍歷所述至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界??蛇x的,對于所述至少兩個子單元中的任一子單元,所述根據(jù)預(yù)設(shè)規(guī)則確定所述子單元中的濾波邊界可以包括:若所述子單元包含在所述非平動運動預(yù)測單元中,則確定所述子單元的各個邊界均為濾波邊界;或者,若所述子單元的第一邊界為所述圖像塊中預(yù)測單元的劃分邊界、或者所述子單元的第一邊界為所述圖像塊中變換單元的劃分邊界,則確定所述子單元的第一邊界為濾波邊界,所述第一邊界為所述子單元的任一邊界。如此,除了找出預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界外,還可以獲取到預(yù)測單元內(nèi)部基于非平動運動模型進行運動補償預(yù)測的相鄰單元間的邊界。例如,如圖3所示,可以將32×32的預(yù)測單元劃分為64個4×4的子單元(如圖3陰影1所示),每個子單元可以包含上邊界、下邊界、左邊界和右邊界四個邊界,其中,圖3陰影2所示的子單元為預(yù)測單元的內(nèi)部子單元,因采用非平動運動模型進行運動補償預(yù)測,所以,該子單元與其相鄰的子單元的運動矢量是不同的,由于該子單元為預(yù)測單元的內(nèi)部子單元,若采用現(xiàn)有的濾波方式,則不會對該子單元進行濾波處理,以消除該子單元與其相鄰的子單元間的“塊效應(yīng)”,但是,步驟s102可以將子單元的邊界確定為濾波邊界,通過后續(xù)步驟的處理對該子單元邊界周圍的像素進行濾波處理,以盡可能的消除該子單元與其相鄰的子單元間的“塊效應(yīng)”,實現(xiàn)對預(yù)測單元的內(nèi)部子單元的濾波處理,提供視頻圖像的主客觀質(zhì)量。需要說明的是,圖3所示的子單元的上下左右邊界僅為示例性描述,子單元的邊界包括但不限于本例的命名方式。s103:獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值。其中,當(dāng)所述濾波邊界為豎直濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的上子單元,所述第二子單元為與所述濾波邊界相鄰的下子單元;當(dāng)所述濾波邊界為水平濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的左子單元,所述第二子單元為與所述濾波邊界相鄰的右子單元。需要說明的是,豎直濾波邊界為水平放置的變換單元或者非平動運動預(yù)測單元的劃分邊界,水平濾波邊界為豎直放置的變換單元或者非平動運動預(yù)測單元的劃分邊界;其中,可理解的,在本發(fā)明中,圖像塊為由x軸(即水平方向)和y軸(豎直方向)組成的一個平面,所以,所述水平放置為與x軸平行放置,豎直放置為與y軸平行放置,例如,如圖3所示,與x軸平行放置的變換單元的劃分邊界為豎直濾波邊界。示例性的,可以通過下述方式一或方式二獲取第一子單元或第二子單元的第一像素值,由于獲取第一子單元的第一像素值和獲取第二子單元的第一像素值的方式相同,所以,為了方便描述,僅以獲取第一子單元的第一像素值為例對方式一或方式二進行介紹:方式一:獲取所述第一子單元的第一預(yù)測像素值;計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量;所述m為1至4中的任一整數(shù);根據(jù)所述m個子單元的運動矢量得到所述第一子單元的m個第二預(yù)測像素值;根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值。需要說明的是,在本發(fā)明實施例中,所述運動矢量包含:水平分量和豎直分量,水平分量為與x軸平行的分量,所述豎直分量為與y軸平行的分量。其中,第一子單元的第一預(yù)測像素值可以為根據(jù)運動模型推動得到的原始像素值,例如,當(dāng)?shù)谝蛔訂卧獮榉律溥\動單元時,可以根據(jù)下述仿射運動模型(1)得到第一子單元中每個像素點的運動矢量,然后遍歷第一子單元的中的每個像素點,根據(jù)該像素點的運動矢量在指定的參考幀內(nèi)找到與該像 素點相匹配的像素點,將參考幀內(nèi)的像素點的像素值作為所述第一子單元中的像素點的預(yù)測像素值,將遍歷所有像素點得到的預(yù)測像素值組合為所述第一子單元的第一預(yù)測像素值;可理解的是,若第一子單元包含n*n個像素點,則得到的第一子單元的第一預(yù)測像素值為n*n的矩陣;此外,根據(jù)該像素點的運動矢量在指定的參考幀內(nèi)找到與該像素點相匹配的像素點可以采用現(xiàn)有插值濾波算法,在此不再詳細贅述;需要說明的是,在本發(fā)明實施例中,所述參考幀可以前向參考幀,還可以為后向參考幀。仿射運動模型(1)中的(υ0x,υ0y)通常可以為第一子單元的左頂點(0,0)的運動矢量,(υ1x,υ1y)通??梢詾榈谝蛔訂卧挠翼旤c(w,0)的運動矢量,w可以為第一子單元的寬度,(υx,υy)為第一子單元的像素點(x,y)的運動矢量。其中,與所述第一子單元相鄰的上子單元為與所述第一子單元的上邊界相鄰的子單元,所述與第一子單元相鄰的下子單元為與所述第一子單元的下邊界相鄰的子單元,所述與所述第一子單元相鄰的左子單元為與所述第一子單元的左邊界相鄰的子單元,所述與第一子單元相鄰的右子單元為與所述第一子單元的右邊界相鄰的子單元。例如,如圖3所示,若第一子單元為子單元2,則子單元a為第一子單元的上子單元,子單元b為第一子單元的下子單元,子單元c為第一子單元的左子單元,子單元d為第一子單元的右子單元??蛇x的,所述計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量可以包括:若所述第一子單元包含在所述非平動運動預(yù)測單元中、或者所述第一子單元為與所述非平動運動預(yù)測單元的下邊界或右邊界相鄰的子單元,則所述與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若所述第一子單元為與所述非平動運動預(yù)測單元的上邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、左子單元和右子單元三個子單元 的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的上子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述上子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述上子單元的運動矢量;若所述第一子單元為與所述非平動運動預(yù)測單元的左邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、上子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的左子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述左子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述左子單元的運動矢量。由于,在本發(fā)明實例中,所述非平動運動可以為:仿射運動、縮放運動、旋轉(zhuǎn)運動、透視運動等任一不規(guī)則運動,所以,對應(yīng)不同的非平動運動,上述通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到子單元的運動矢量可以包括:根據(jù)仿射運動模型(1)推到得到子單元的運動矢量;或者,根據(jù)縮放運動模型(2)推到得到子單元的運動矢量;在縮放運動模型(2)中的(υ0x,υ0y)通常可以為第一子單元的左頂點(0,0)的運動矢量,(a0,a1)為預(yù)設(shè)的一組縮放因子,a0為水平方向的縮放因子,a1為豎直方向的縮放因子,(υx,υy)為第一子單元的像素點(x,y)的運動矢量。或者,根據(jù)旋轉(zhuǎn)運動模型(3)推到得到子單元的運動矢量;在旋轉(zhuǎn)運動模型(3)中的(υ0x,υ0y)通??梢詾榈谝蛔訂卧淖箜旤c(0,0)的運動矢量,(υx,υy)為第一子單元的像素點(x,y)的運動矢量?;蛘撸鶕?jù)透視運動模型(4)推到得到子單元的運動矢量;在透視運動模型(4)中的(υ0x,υ0y)通??梢詾榈谝蛔訂卧淖箜旤c(0,0)的運動矢量,(υ1x,υ1y)通??梢詾榈谝蛔訂卧挠翼旤c(w,0)的運動矢量,(υ2x,υ2y)通??梢詾榈谝蛔訂卧淖笙马旤c(0,h)的運動矢量,(υ3x,υ3y)通??梢詾榈谝蛔訂卧挠蚁马旤c(w,h)的運動矢量,w可以為第一子單元的寬度,h為第一子單元的高度,(υx,υy)為第一子單元的像素點(x,y)的運動矢量。其中,第二像素值可以為與第一子單元相鄰的子單元對第一子單元進行運動補償?shù)玫降男碌南袼刂?;可選的,當(dāng)m為4時,所述根據(jù)所述m個子單元的運動矢量得到所述第一子單元的中m個第二預(yù)測像素值可以包括:根據(jù)與第一子單元相鄰的上子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的下子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的左子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的右子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;需要說明的是,根據(jù)與第一子單元相鄰的上子單元或下子單元或左子單元或右子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值的實現(xiàn)方式基本上是相同,在此為了描述方便,僅以根據(jù)與第一子單元相鄰的上子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值為例,對其實現(xiàn)方式進行介紹:如:可以將與第一子單元相鄰的上子單元的運動矢量作為第一子單元的運動矢量,然后根據(jù)該運動矢量在指定的參考幀內(nèi)找到與該第一子單元相匹配的單元,將參考幀內(nèi)相匹配的單元的像素值作為所述第一子單元的一個第二預(yù)測像素值。可選的,所述根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值可以包括:將所述第一子單元的第一預(yù)測像素值分別與所述m個第二預(yù)測像素值進行加權(quán),將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值。具體的,可以先按照下述公式(5)將第一子單元的第一預(yù)測像素值和每個第二預(yù)測像素值進行加權(quán),得到m個加權(quán)后的像素值,將m個加權(quán)后的像素值進行平均得到所述第一子單元的第一像素值:p′c(i,j)=pc(i,j)*wm(i,j)+pm(i,j)*wm(i,j)(5)在公式(5)中,pc(i,j)為第一子單元的第一預(yù)測像素值,pn(i,j)為第一子單元的一個第二預(yù)測像素值,wn(i,j)與該第二預(yù)測像素值pn(i,j)相對應(yīng)的加權(quán)矩陣,p′c(i,j)為第一子單元的第一像素值與一個第二像素值加權(quán)后的像素值,m的取值范圍可以為1~4。例如,若第一子單元包含4*4個像素點,則第一子單元的第一預(yù)測像素值和第二預(yù)測像素值均為4*4的矩陣,且通常情況下與上、下、左、右中4個子單元運動補償?shù)玫降念A(yù)測像素值p1、p2、p3、p4一一對應(yīng)的加權(quán)矩陣w1、w2、w3、w4為:方式二:獲取所述第一子單元p的第一預(yù)測像素值;按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元p的第一頂點1 相鄰的上方坐標1.1、下方坐標1.2、左方坐標1.3和右方坐標1.4中m個坐標的運動矢量,以及與所述第一子單元p的第二頂點2相鄰的上方坐標2.1、下方坐標2.2、左方坐標2.3和右方坐標2.4中m個坐標的運動矢量;所述m為1至4中的任一整數(shù);將所述第一子單元p的第一頂點1相鄰的上方坐標1.1、下方坐標1.2、左方坐標1.3和右方坐標1.4中m個坐標的運動矢量,以及所述第一子單元p的第二頂點2相鄰的上方坐標2.1、下方坐標2.2、左方坐標2.3和右方坐標2.4中m個坐標的運動矢量組成m個運動矢量對;其中,所述m個運動矢量對中的第一運動矢量對包含:與所述第一子單元p的第一頂點1相鄰的第一坐標的運動矢量和與所述第一子單元p的第二頂點2相鄰的第一坐標的運動矢量的運動矢量;第一坐標為上方坐標或下方坐標或左方坐標或右方坐標;分別按照預(yù)設(shè)的非平動運動模型對所述m個運動矢量對進行計算,得到所述第一子單元p的m個運動矢量;根據(jù)所述第一子單元p的m個運動矢量得到所述第一子單元p的m個第二預(yù)測像素值;根據(jù)所述第一子單元p的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元p的第一像素值。其中,與所述第一子單元p的第一頂點1相鄰的上方坐標1.1可以為:與第一子單元的上邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點1相鄰的下方坐標1.2可以為:與第一子單元p的下邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點相鄰的左方坐標1.3可以為:與第一子單元的左邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點相鄰的右方坐標1.4可以為:與第一子單元的右邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第二頂點2相鄰的上方坐標2.1可以為:與第一子單元的上邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的下方坐標2.2可以為:與第一子單元的下邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的左方坐標2.3可以為:與第一子單元的左邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的右方坐標2.4可以為:與第一子單元的右邊 界相鄰的子單元的第二頂點的坐標;需要說明的是,在本發(fā)明實施例中,子單元的第一頂點可以為:該子單元的左上頂點、左下頂點、右上頂點、右下頂點四個頂點中的任一頂點,所述子單元的第二頂點可以為:該子單元的左上頂點、左下頂點、右上頂點、右下頂點四個頂點中除第一頂點之外的任一頂點,所述子單元的頂點可以為處于該頂點位置的像素點的坐標點,通常情況下,將第一子單元p的左上頂點設(shè)為原點(0,0),其他頂點的坐標則根據(jù)原點的位置相對設(shè)置。例如,如圖4所示,第一子單元p為4*4的子單元,其中,4*4為像素點個數(shù),且水平方向或豎直方向上的相鄰像素點間隔為1,設(shè)第一子單元p的第一頂點1為左上頂點的像素點(0,0),因第一子單元的左上頂點與右上頂點間隔3個像素點,所以,第一子單元p的第二頂點2為右上頂點的像素點(3,0),與第一頂點1相鄰的上方坐標1.1為:與第一子單元p的上邊界相鄰的上子單元的左上頂點的像素點(0,-4),與第一頂點1相鄰的下方坐標1.2為:與第一子單元p的下邊界相鄰的下子單元的左上頂點的像素點(0,4),與第一頂點1相鄰的左方坐標1.3為:與第一子單元p的左邊界相鄰的左子單元的左上頂點的像素點(-4,0),與第一頂點1相鄰的右方坐標1.4為:與第一子單元p的右邊界相鄰的右子單元的左上頂點的像素點(4,0);同理,如圖4所示,與像素點為(3,0)的第二頂點2相鄰的上方坐標2.1為:與第一子單元p的上邊界相鄰的上子單元的右上頂點的像素點(3,-4),與第二頂點2相鄰的下方坐標2.2為:與第一子單元p的下邊界相鄰的下子單元的右上頂點的像素點(3,4),與第二頂點2相鄰的左方坐標2.3為:與第一子單元p的左邊界相鄰的左子單元的右上頂點的像素點(-1,0),與第二頂點2相鄰的右方坐標2.4為:與第一子單元p的右邊界相鄰的右子單元的右上頂點的像素點(7,0)。例如,當(dāng)m=4時,可以按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元的第一頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標四個坐標的運動矢量,以及與所述第一子單元的第二頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標四個坐標的運動矢量;將與所述第一子單元的第一頂點相鄰的上方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的上方坐標的運動矢量組成第一運動矢量對;將與所述第一子單元的第一頂點相鄰的下方坐標的運動矢量和與所述第一子單元 的第二頂點相鄰的下方坐標的運動矢量組成第二運動矢量對;將與所述第一子單元的第一頂點相鄰的左方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的左方坐標的運動矢量組成第三運動矢量對;將與所述第一子單元的第一頂點相鄰的右方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的右方坐標的運動矢量組成第四運動矢量對;分別按照預(yù)設(shè)的非平動運動模型對所述第一運動矢量對、所述第二運動矢量對、所述第三運動矢量、所述第四運動矢量對進行計算,得到所述第一子單元的四個運動矢量;根據(jù)所述第一子單元的四個運動矢量得到所述第一子單元的四個第二預(yù)測像素值;將所述第一子單元的第一預(yù)測像素值分別與所述四個第二預(yù)測像素值進行加權(quán);將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值。其中,方式二中獲取所述第一子單元的第一預(yù)測像素值的方法與方式一中獲取第一子單元的第一預(yù)測像素值的方法相同,在此不再詳細贅述。此外,方式二中根據(jù)所述第一子單元的m個運動矢量得到所述第一子單元的m個第二預(yù)測像素值,將所述第一子單元的第一預(yù)測像素值分別與所述m個第二預(yù)測像素值進行加權(quán),將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值的方式也與方式一中相同,在此也不再詳細贅述??衫斫獾氖?,可以根據(jù)上述預(yù)設(shè)的非平動運動模型(1)或(2)或(3)或(4)推到得出與所述第一子單元的第一頂點或第二頂點相鄰的上方、下方、左方、右方坐標的運動矢量。s104:根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值,對與所述濾波邊界相鄰的像素點進行濾波處理??蛇x的,可以設(shè)置所述濾波邊界的邊界強度值,根據(jù)所述濾波邊界的邊界強度值、初始閾值β0、t0、所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值間的像素差值,按照第二預(yù)設(shè)算法對與所述濾波邊界相鄰的像素點進行濾波處理;所述m為大于等于1的整數(shù)。如:可以根據(jù)所述濾波邊界的邊界強度值、以及初始閾值β0、t0和所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù),獲得與濾波邊界對應(yīng)的閾值β和t;根據(jù)所述β、所述t、以及所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰 的像素點進行濾波處理,所述m為大于等于1的整數(shù)。其中,可以按照下述方式對濾波邊界的邊界強度值進行設(shè)置:若所述第一子單元或者所述第二子單元所在的圖像塊中至少有一個幀內(nèi)預(yù)測單元,則將所述濾波邊界的邊界強度值設(shè)置為2;若所述第一子單元或者所述第二子單元所在的圖像塊中未存在幀內(nèi)預(yù)測單元,且所述濾波邊界為變換單元劃分邊界,所述第一子單元或者所述第二子單元所在的變換單元至少存在一個非零系數(shù),則將所述濾波邊界的邊界強度值設(shè)置為1;若所述第一子單元或者所述第二子單元所在的圖像塊中未存在幀內(nèi)預(yù)測單元,且下述(1)~(3)中任一條件為真條件時,則將所述濾波邊界的邊界強度值設(shè)置為1;否則,將所述濾波邊界的邊界強度值設(shè)置為0:(1)若所述第一子單元和所述第二子單元所在的預(yù)測單元的參考圖像或者運動矢量個數(shù)相同;所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為1,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為1,并且所述第一子單元的運動矢量與所述第二子單元的運動矢量間的水平分量或者豎直分量的運動矢量差值大于或等于運動矢量差閾值t;(2)所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像不同,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像不同,并且使用相同預(yù)測圖像的兩個運動矢量之間的水平分量或者豎直分量的運動矢量差值大于或等于運動矢量差閾值t;(3)所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像相同,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像相同,且下述a和b兩個條件都為真條件:(a)指向前向參考候選列表list0中的兩個運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;或者指向后向參考候選列表list1中的兩個運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;(b)所述第一子單元所在的預(yù)測單元的指向前向參考候選列表list0的運動矢量與所述第二子單元所在的預(yù)測單元的指向后向參考候選列表list1 的運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;或者所述第一子單元所在的預(yù)測單元的指向后向參考候選列表list1的運動矢量與所述第二子單元所在的預(yù)測單元的指向前向參考候選列表list0的運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t。其中,所述運動矢量差閾值t可以為4個1/4亮度采樣精度;或者,若所述第一子單元和所述第二子單元所在的預(yù)測單元的運動模型不同,則所述運動矢量差閾值t為1個1/4亮度采樣精度,若所述第一單元和所述第二子單元所在的預(yù)測單元的運動模型相同,則所述運動矢量差閾值t為4個1/4亮度采樣精度。其中,所述初始閾值β0、t0根據(jù)需要進行設(shè)置,本發(fā)明實施例對此不進行限定,示例性的,所述根據(jù)所述濾波邊界的邊界強度值、以及初始閾值β0、t0和所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù),獲得閾值β和t;根據(jù)所述β、所述t、以及所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰的像素點進行濾波處理可以包括:先將初始閾值β0、t0、以及所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù)代入公式:qpl=((qpq+qpp)/2)得到qpl;其中,qpq為第一子單元的量化參數(shù),qpp為第二子單元的量化參數(shù);然后,根據(jù)公式q=clip3(0,51,qpl+β0*2)、q=clip3(0,53,qpl+2*(bs-1)+t0*2)得到兩個q值,查詢預(yù)設(shè)表格,獲取與根據(jù)公式q=clip3(0,51,qpl+β0*2)得到的q值相對應(yīng)的β′,以及獲取與根據(jù)公式q=clip3(0,53,qpl+2*(bs-1)+t0*2)得到的q值相對應(yīng)的t′c;將查表得到的β′代入公式:β=β′*2bitdepth-8得到所述閾值β,其中bitdepth表示像素的位寬;將查表得到的t′c代入公式:t=t′c*2bitdepth-8得到所述閾值t;將所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值與所述β、所述t進行比較,確定是否需要對與所述濾波邊界相鄰的像素點進行濾波處理;例如:圖5為與水平濾波邊界相鄰子單元的結(jié)構(gòu)圖,如圖5所示,第一 子單元p和第二子單元q均包含4*4個像素點,若p和q的像素點的像素值滿足下述公式,則確定對該水平濾波邊界的相鄰像素點進行濾波處理:|p2,0-2p1,0+p0,0|+|p2,3-2p1,3+p0,3|+|q2,0-2q1,0+q0,0|+|q2,3-2q1,3+q0,3|>β若p和q的第一行和第四行像素同時滿足下述公式:|p2,i-2p1,i+p0,i|+|q2,i-2q1,i+q0,i|<β/8|p3,i-p0,i|+|q0,i-q3,i|<β/8|p0,i-q0,i|<2.5t則對該水平濾波邊界的相鄰像素點采取強濾波,否則采取弱濾波,其中,i取值為0或3??蛇x的,對該水平濾波邊界的相鄰像素點采取強濾波可以為:獲取水平濾波邊界相鄰的8個像素,采用抽頭數(shù)為5的濾波器進行濾波;例如,可以選取p中第一行的4個像素和q的第一行的4個像素,對該8個像素采用抽頭數(shù)為5的濾波器進行濾波;對該水平濾波邊界的相鄰像素點采取弱濾波可以為:獲取該水平濾波邊界相鄰的6個像素,采用抽頭數(shù)為3的濾波器進行濾波;需要說明的是,本發(fā)明實施例中,可以從p中第一行的4個像素和q的第一行的4個像素中隨機選取6個像素,采用抽頭數(shù)為3的濾波器進行濾波。其中,上述表格可以根據(jù)需要進行設(shè)置,本發(fā)明實施例對此不進行限定,例如:若所述表格為下表1,且根據(jù)公式q=clip3(0,51,qpl+β0*2)得到的q值為11,根據(jù)公式q=clip3(0,53,qpl+2*(bs-1)+t0*2)得到的q值為24,則根據(jù)表1可知β′為0,t′c為1:表1q0123456789101112131415161718β′0000000000000000679t′c0000000000000000001q19202122232425262728293031323334353637β′9101112131415161718202224262830323436t′c1111111122223333444由上可知,本發(fā)明實施例提供一種去除塊效應(yīng)的濾波方法,將每個預(yù)測單元劃分為至少兩個子單元;遍歷所述劃分單元劃分出的至少兩個子單元中 的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理。如此,除了對預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界兩邊的單元中的像素點進行濾波外,還可以對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部的塊效應(yīng),提高了圖像的預(yù)測精度及主觀質(zhì)量,避免了現(xiàn)有僅對預(yù)測單元的上邊界和左邊界進行濾波操作,而未對該預(yù)測單元的內(nèi)部運動補償塊的邊界進行濾波處理,導(dǎo)致的不能完全去除塊效應(yīng)的問題。實施例二圖6為本發(fā)明實施例提供的一種濾波裝置10的結(jié)構(gòu)圖,用于對一圖像塊進行濾波處理,所述圖像塊劃分為至少一個預(yù)測單元、以及至少一個變換單元,所述預(yù)測單元包含有非平動運動預(yù)測單元;所述濾波裝置可以為視頻編碼裝置或視頻解碼裝置,所述視頻編碼裝置或視頻解碼裝置可以是任何需要輸出或存儲視頻的裝置,如:筆記本電腦、平板電腦、個人電腦、手機或視頻服務(wù)器等裝置,如圖6所示,所述濾波裝置10可以包括:劃分單元101,用于將每個預(yù)測單元劃分為至少兩個子單元;其中,每個子單元包含:n*n個像素點,所述n為大于等于1的整數(shù)。確定單元102,用于遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界。獲取單元103,用于獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值。濾波單元104,用于根據(jù)所述獲取單元103獲取到的第一子單元的第一像素值、以及所述第二子單元的第一像素值,對與所述濾波邊界相鄰的像素點進行濾波處理。其中,當(dāng)所述濾波邊界為豎直濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的上子單元,所述第二子單元為與所述濾波邊界相鄰的下子單元;當(dāng)所述濾波邊界為水平濾波邊界時,所述第一子單元為與所述濾波邊界相鄰的左子單元,所述第二子單元為與所述濾波邊界相鄰的右子單元。需要說明的是,豎直濾波邊界為水平放置的變換單元或者非平動運動預(yù)測單元的劃分邊界,水平濾波邊界為豎直放置的變換單元或者非平動運動預(yù) 測單元的劃分邊界;其中,可理解的,在本發(fā)明中,圖像塊為由x軸(即水平方向)和y軸(豎直方向)組成的一個平面,所以,所述水平放置為與x軸平行放置,豎直放置為與y軸平行放置,例如,如圖3所示,與x軸平行放置的變換單元的劃分邊界為豎直濾波邊界。進一步的,對于所述至少兩個子單元中的任一子單元,確定單元102具體用于:若所述子單元包含在所述非平動運動預(yù)測單元中,則確定所述子單元的各個邊界均為濾波邊界;或者,若所述子單元的第一邊界為所述圖像塊中預(yù)測單元的劃分邊界、或者所述子單元的第一邊界為所述圖像塊中變換單元的劃分邊界,則確定所述子單元的第一邊界為濾波邊界,所述第一邊界為所述子單元的任一邊界。如此,除了將預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界的邊界確定為濾波邊界,進行后續(xù)的濾波處理外,還可以將非平動運動預(yù)測單元的邊界確定為濾波邊界,實現(xiàn)對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單元內(nèi)部非平動運動預(yù)測單元間的塊效應(yīng)。進一步的,獲取單元103可以用于通過下述方式一或方式二獲取第一子單元第一像素值:方式一:獲取所述第一子單元的第一預(yù)測像素值;計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量;所述m為1至4中的任一整數(shù);根據(jù)所述第一子單元的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元的第一像素值。需要說明的是,在本發(fā)明實施例中,所述運動矢量包含:水平分量和豎直分量,水平分量為與x軸平行的分量,所述豎直分量為與y軸平行的分量。其中,第一子單元的第一預(yù)測像素值可以為根據(jù)運動模型推動得到的原始像素值,例如,當(dāng)?shù)谝蛔訂卧獮榉律溥\動單元時,可以根據(jù)下述仿射運動模型(1)得到第一子單元中每個像素點的運動矢量,然后遍歷第一子單元的中的每個像素點,根據(jù)該像素點的運動矢量在指定的參考幀內(nèi)找到與該像素點相匹配的像素點,將參考幀內(nèi)的像素點的像素值作為所述第一子單元中的像素點的預(yù)測像素值,將遍歷所有像素點得到的預(yù)測像素值組合為所述第一子單元的第一預(yù)測像素值;可理解的是,若第一子單元包含n*n個像素點, 則得到的第一子單元的第一預(yù)測像素值為n*n的矩陣;此外,根據(jù)該像素點的運動矢量在指定的參考幀內(nèi)找到與該像素點相匹配的像素點可以采用現(xiàn)有插值濾波算法,在此不再詳細贅述。其中,與所述第一子單元相鄰的上子單元為與所述第一子單元的上邊界相鄰的子單元,所述與第一子單元相鄰的下子單元為與所述第一子單元的下邊界相鄰的子單元,所述與所述第一子單元相鄰的左子單元為與所述第一子單元的左邊界相鄰的子單元,所述與第一子單元相鄰的右子單元為與所述第一子單元的右邊界相鄰的子單元。例如,如圖3所示,若第一子單元為子單元2,則子單元a為第一子單元的上子單元,子單元b為第一子單元的下子單元,子單元c為第一子單元的左子單元,子單元d為第一子單元的右子單元??蛇x的,所述計算與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量可以包括:若所述第一子單元包含在所述非平動運動預(yù)測單元中、或者所述第一子單元為與所述非平動運動預(yù)測單元的下邊界或右邊界相鄰的子單元,則所述與所述第一子單元相鄰的上子單元、下子單元、左子單元和右子單元中m個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若所述第一子單元為與所述非平動運動預(yù)測單元的上邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、左子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的上子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述上子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述上子單元的運動矢量;若所述第一子單元為與所述非平動運動預(yù)測單元的左邊界相鄰的子單元,則與所述第一子單元相鄰的下子單元、上子單元和右子單元三個子單元的運動矢量根據(jù)預(yù)設(shè)的非平動運動模型推導(dǎo)得到;若與所述第一子單元相鄰的左子單元所在預(yù)測單元的運動矢量存在,則用所述第一子單元的運動矢量作為所述左子單元的運動矢量;若所述第一子單元為幀內(nèi)編碼模式或者所述第一子單元的運動矢量不存在,則通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到所述左子單元的運動矢量。由于,在本發(fā)明實例中,所述非平動運動可以為:仿射運動、縮放運動、旋轉(zhuǎn)運動、透視運動等任一不規(guī)則運動,所以,對應(yīng)不同的非平動運動,上述通過預(yù)設(shè)的非平動運動模型推導(dǎo)得到子單元的運動矢量可以包括:根據(jù)仿射運動模型(1)推到得到子單元的運動矢量;或者,根據(jù)縮放運動模型(2)推到得到子單元的運動矢量;或者,根據(jù)旋轉(zhuǎn)運動模型(3)推到得到子單元的運動矢量;或者,根據(jù)透視運動模型(4)推到得到子單元的運動矢量。其中,第二像素值可以為與第一子單元相鄰的子單元對第一子單元進行運動補償?shù)玫降男碌南袼刂?,具體的,當(dāng)m為4時,獲取單元103可以用于:根據(jù)與第一子單元相鄰的上子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的下子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的左子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;根據(jù)與第一子單元相鄰的右子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值;將所述第一子單元的第一預(yù)測像素值分別與所述4個第二預(yù)測像素值進行加權(quán),將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值。需要說明的是,根據(jù)與第一子單元相鄰的上子單元或下子單元或左子單元或右子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值的實現(xiàn)方式基本上是相同,在此為了描述方便,僅以根據(jù)與第一子單元相鄰的上子單元的運動矢量,對第一子單元進行運動補償?shù)玫揭粋€第二預(yù)測像素值為例,對其實現(xiàn)方式進行介紹:如:獲取單元103可以將與第一子單元相鄰的上子單元的運動矢量作為第一子單元的運動矢量,然后根據(jù)該運動矢量在指定的參考幀內(nèi)找到與該第一子單元相匹配的單元,將參考幀內(nèi)相匹配的單元的像素值作為所述第一子單元的一個第二預(yù)測像素值??蛇x的,將所述第一子單元的第一預(yù)測像素值分別與所述m個第二預(yù)測像素值進行加權(quán),將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素 值可以包括:先按照公式(5)將第一子單元的第一預(yù)測像素值和每個第二預(yù)測像素值進行加權(quán),得到m個加權(quán)后的像素值,將m個加權(quán)后的像素值進行平均得到所述第一子單元的第一像素值。方式二:獲取所述第一子單元p的第一預(yù)測像素值;按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元p的第一頂點1相鄰的上方坐標1.1、下方坐標1.2、左方坐標1.3和右方坐標1.4中m個坐標的運動矢量,以及與所述第一子單元p的第二頂點2相鄰的上方坐標2.1、下方坐標2.2、左方坐標2.3和右方坐標2.4中m個坐標的運動矢量;所述m為1至4中的任一整數(shù);將所述第一子單元p的第一頂點1相鄰的上方坐標1.1、下方坐標1.2、左方坐標1.3和右方坐標1.4中m個坐標的運動矢量,以及所述第一子單元p的第二頂點2相鄰的上方坐標2.1、下方坐標2.2、左方坐標2.3和右方坐標2.4中m個坐標的運動矢量組成m個運動矢量對;其中,所述m個運動矢量對中的第一運動矢量對包含:與所述第一子單元p的第一頂點1相鄰的第一坐標的運動矢量和與所述第一子單元p的第二頂點2相鄰的第一坐標的運動矢量的運動矢量;第一坐標為上方坐標或下方坐標或左方坐標或右方坐標;分別按照預(yù)設(shè)的非平動運動模型對所述m個運動矢量對進行計算,得到所述第一子單元p的m個運動矢量;根據(jù)所述第一子單元p的m個運動矢量得到所述第一子單元p的m個第二預(yù)測像素值;根據(jù)所述第一子單元p的第一預(yù)測像素值與所述m個第二預(yù)測像素值,按照第一預(yù)設(shè)算法得到所述第一子單元p的第一像素值。例如,當(dāng)m=4時,可以按照預(yù)設(shè)的非平動運動模型推導(dǎo)得到與所述第一子單元的第一頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標四個坐標的運動矢量,以及與所述第一子單元的第二頂點相鄰的上方坐標、下方坐標、左方坐標和右方坐標四個坐標的運動矢量;將與所述第一子單元的第一頂點相鄰的上方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的上方坐標的運動矢量組成第一運動矢量對;將與所述第一子單元的第一頂點相鄰的下方坐標的運動矢量和與所述第一子單元 的第二頂點相鄰的下方坐標的運動矢量組成第二運動矢量對;將與所述第一子單元的第一頂點相鄰的左方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的左方坐標的運動矢量組成第三運動矢量對;將與所述第一子單元的第一頂點相鄰的右方坐標的運動矢量和與所述第一子單元的第二頂點相鄰的右方坐標的運動矢量組成第四運動矢量對;分別按照預(yù)設(shè)的非平動運動模型對所述第一運動矢量對、所述第二運動矢量對、所述第三運動矢量、所述第四運動矢量對進行計算,得到所述第一子單元的四個運動矢量;根據(jù)所述第一子單元的四個運動矢量得到所述第一子單元的四個第二預(yù)測像素值;將所述第一子單元的第一預(yù)測像素值分別與所述四個第二預(yù)測像素值進行加權(quán);將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值。其中,方式二中獲取所述第一子單元的第一預(yù)測像素值的方法與方式一中獲取第一子單元的第一預(yù)測像素值的方法相同,在此不再詳細贅述。此外,方式二中根據(jù)所述第一子單元的中m個運動矢量得到所述第一子單元的中m個第二預(yù)測像素值,將所述第一子單元的第一預(yù)測像素值分別與所述中m個第二預(yù)測像素值進行加權(quán),將加權(quán)后的結(jié)果進行平均得到所述第一子單元的第一像素值的方式也與方式一中相同,在此也不再詳細贅述。其中,與所述第一子單元p的第一頂點1相鄰的上方坐標1.1可以為:與第一子單元的上邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點1相鄰的下方坐標1.2可以為:與第一子單元p的下邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點相鄰的左方坐標1.3可以為:與第一子單元的左邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第一頂點相鄰的右方坐標1.4可以為:與第一子單元的右邊界相鄰的子單元的第一頂點的坐標;與所述第一子單元p的第二頂點2相鄰的上方坐標2.1可以為:與第一子單元的上邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的下方坐標2.2可以為:與第一子單元的下邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的左方坐標2.3可以為:與第一子單元的左邊界相鄰的子單元的第二頂點的坐標;與所述第一子單元p的第二頂點2相鄰的右方坐標2.4可以為:與第一子單元的右邊界相鄰的子單元的第二頂點的坐標;需要說明的是,在本發(fā)明實施例中,子 單元的第一頂點可以為:該子單元的左上頂點、左下頂點、右上頂點、右下頂點四個頂點中的任一頂點,所述子單元的第二頂點可以為:該子單元的左上頂點、左下頂點、右上頂點、右下頂點四個頂點中除第一頂點之外的任一頂點,所述子單元的頂點可以為處于該頂點位置的像素點的坐標點,通常情況下,將第一子單元p的左上頂點設(shè)為原點(0,0),其他頂點的坐標則根據(jù)原點的位置相對設(shè)置。可理解的是,可以根據(jù)預(yù)設(shè)的非平動運動模型(1)或(2)或(3)或(4)推到得出與所述第一子單元的第一頂點或第二頂點相鄰的上方、下方、左方、右方坐標的運動矢量。進一步的,確定單元102,還用于在濾波單元104根據(jù)所述獲取單元103獲取到的第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理之前,確定所述濾波邊界的邊界強度值;濾波單元104,具體可以用于:根據(jù)所述濾波邊界的邊界強度值、以及初始閾值β0、t0和所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù),獲得閾值β和t;根據(jù)所述β、所述t、以及所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰的像素點進行濾波處理,所述m為大于等于1的整數(shù)。其中,所述確定單元102,具體用于:若所述第一子單元或者所述第二子單元所在的圖像塊中至少有一個幀內(nèi)預(yù)測單元,則將所述濾波邊界的邊界強度值設(shè)置為2;若所述第一子單元或者所述第二子單元所在的圖像塊中未存在幀內(nèi)預(yù)測單元,且所述濾波邊界為變換單元劃分邊界,所述第一子單元或者所述第二子單元所在的變換單元至少存在一個非零系數(shù),則將所述濾波邊界的邊界強度值設(shè)置為1;若所述第一子單元或者所述第二子單元所在的圖像塊中未存在幀內(nèi)預(yù)測單元,且下述(1)~(3)中任一條件為真條件時,則將所述濾波邊界的邊界強度值設(shè)置為1;否則,將所述濾波邊界的邊界強度值設(shè)置為0:(1)若所述第一子單元和所述第二子單元所在的預(yù)測單元的參考圖像或者運動矢量個數(shù)不同;所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為 1,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為1,并且所述第一子單元的運動矢量與所述第二子單元的運動矢量間的水平分量或者豎直分量的運動矢量差值大于或等于運動矢量差閾值t;(2)所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像不同,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像不同,并且使用相同預(yù)測圖像的兩個運動矢量之間的水平分量或者豎直分量的運動矢量差值大于或等于運動矢量差閾值t;(3)所述第一子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像相同,所述第二子單元所在的預(yù)測單元的運動矢量個數(shù)為2且兩個運動矢量所指向的參考圖像相同,且下述a和b兩個條件都為真條件:(a)指向前向參考候選列表list0中的兩個運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;或者指向后向參考候選列表list1中的兩個運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;(b)所述第一子單元所在的預(yù)測單元的指向前向參考候選列表list0的運動矢量與所述第二子單元所在的預(yù)測單元的指向后向參考候選列表list1的運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t;或者所述第一子單元所在的預(yù)測單元的指向后向參考候選列表list1的運動矢量與所述第二子單元所在的預(yù)測單元的指向前向參考候選列表list0的運動矢量之間的水平分量或者豎直分量的差值大于或等于運動矢量差閾值t。其中,所述運動矢量差閾值t可以為4個1/4亮度采樣精度;或者,若所述第一子單元和所述第二子單元所在的預(yù)測單元的運動模型不同,則所述運動矢量差閾值t為1個1/4亮度采樣精度,若所述第一單元和所述第二子單元所在的預(yù)測單元的運動模型相同,則所述運動矢量差閾值t為4個1/4亮度采樣精度。其中,所述初始閾值β0、t0根據(jù)需要進行設(shè)置,本發(fā)明實施例對此不進行限定,進一步的,濾波單元104,具體用于根據(jù)所述β、所述t、以及所述第一 子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值,對與所述濾波邊界相鄰的像素點進行濾波處理可以包括:先將初始閾值β0、t0、以及所述第一子單元的量化參數(shù)和所述第二子單元的量化參數(shù)代入公式:qpl=((qpq+qpp)/2)得到qpl;其中,qpq為第一子單元的量化參數(shù),qpp為第二子單元的量化參數(shù);然后,根據(jù)公式q=clip3(0,51,qpl+β0*2)、q=clip3(0,53,qpl+2*(bs-1)+t0*2)得到兩個q值,查詢預(yù)設(shè)表格,獲取與根據(jù)公式q=clip3(0,51,qpl+β0*2)得到的q值相對應(yīng)的β′,以及獲取與根據(jù)公式q=clip3(0,53,qpl+2*(bs-1)+t0*2)得到的q值相對應(yīng)的t′c;將查表得到的β′代入公式:β=β′*2bitdepth-8得到所述閾值β;其中,bitdepth表示像素的位寬;將查表得到的t′c代入公式:t=t′c*2bitdepth-8得到所述閾值t;將所述第一子單元和所述第二子單元中與所述濾波邊界相鄰的m個像素點的像素值之間的像素差值與所述β、所述t進行比較,確定是否需要對與所述濾波邊界相鄰的像素點進行濾波處理。需要說明的是,圖6所示的濾波裝置中的劃分單元、獲取單元、確定單元和濾波單元可以為圖1所示濾波裝置中單獨設(shè)立的處理器,也可以集成在濾波裝置的某一處理器中實現(xiàn),此外,還可以將劃分單元、獲取單元、確定單元和濾波單元執(zhí)行的過程以程序代碼的形式存儲在圖1所示的濾波裝置的存儲器中,由濾波裝置的某一處理器調(diào)用并執(zhí)行查詢單元和替換單元執(zhí)行的過程。這里所述的處理器可以是一個中央處理器(centralprocessingunit,cpu),或者是特定集成電路(applicationspecificintegratedcircuit,asic),或者是被配置成實施本發(fā)明實施例的一個或多個集成電路。由上可知,本發(fā)明實施例提供一種濾波裝置,將每個預(yù)測單元劃分為至少兩個子單元;遍歷所述劃分單元劃分出的至少兩個子單元中的每個子單元,根據(jù)預(yù)設(shè)規(guī)則確定所述至少兩個子單元中的至少一個濾波邊界;獲取與所述濾波邊界相鄰的第一子單元的第一像素值和第二子單元的第一像素值;根據(jù)所述第一子單元的第一像素值、以及所述第二子單元的第一像素值對與所述濾波邊界相鄰的像素點進行濾波處理。如此,除了對預(yù)測單元中處于預(yù)測單元劃分邊界或者處于變換單元劃分邊界兩邊的單元中的像素點進行濾波外,還可以對預(yù)測單元中非平動運動預(yù)測單元的邊界進行濾波處理,消除預(yù)測單 元內(nèi)部的塊效應(yīng),提高了圖像的預(yù)測精度及主觀質(zhì)量,避免了現(xiàn)有僅對預(yù)測單元的上邊界和左邊界進行濾波操作,而未對該預(yù)測單元的內(nèi)部運動補償塊的邊界進行濾波處理,導(dǎo)致的不能完全去除塊效應(yīng)的問題。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的單元和系統(tǒng)的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng),設(shè)備和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的設(shè)備實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理包括,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用硬件加軟件功能單元的形式實現(xiàn)。上述以軟件功能單元的形式實現(xiàn)的集成的單元,可以存儲在一個計算機可讀取存儲介質(zhì)中。上述軟件功能單元存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(read-onlymemory,簡稱rom)、隨機存取存儲器(randomaccessmemory,簡稱ram)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。本領(lǐng)域普通技術(shù)人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件(例如處理器)來完成,該程序可以存儲于一計算機可讀存儲介質(zhì)中,存儲介質(zhì)可以包括:只讀存儲器、隨機存儲器、磁盤或光盤等。最后應(yīng)說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其 限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
临洮县| 卢氏县| 安多县| 乌拉特中旗| 邯郸市| 上犹县| 琼中| 铅山县| 沙雅县| 富蕴县| 和硕县| 金昌市| 潼关县| 南澳县| 吴江市| 石棉县| 温州市| 民勤县| 黄浦区| 称多县| 姜堰市| 保山市| 安阳县| 美姑县| 新建县| 金溪县| 永平县| 平昌县| 肇源县| 东阳市| 英吉沙县| 泸定县| 鸡东县| 营山县| 涡阳县| 开平市| 纳雍县| 合作市| 大同县| 福海县| 延长县|