專利名稱:消除塊效應(yīng)的方法、介質(zhì)和濾波器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明的實施例涉及運(yùn)動圖象數(shù)據(jù)的編碼和解碼,特別是涉及消除塊效應(yīng)的方法、介質(zhì)和濾波器。
背景技術(shù):
將圖象數(shù)據(jù)編碼以通過具有固定帶寬的網(wǎng)絡(luò)傳輸圖象或?qū)D象存儲在存儲介質(zhì)中是必要的。已進(jìn)行了大量研究,以有效傳輸和存儲圖象。在不同的圖象編碼方法中,基于變換的編碼最常用,而離散余弦變換(DCT)在基于變換的圖象編碼領(lǐng)域中廣泛使用。
在多種圖象編碼標(biāo)準(zhǔn)中,H.264 AVC標(biāo)準(zhǔn)將整型DCT應(yīng)用于幀內(nèi)預(yù)測和幀間預(yù)測以獲得高壓縮率,并對預(yù)測圖象與原始圖象之差進(jìn)行編碼。由于在完成DCT和量化之后,丟棄了DCT系數(shù)中重要性低的信息,通過反變換解碼后的圖象質(zhì)量降低。換言之,由于壓縮使圖象數(shù)據(jù)的傳輸比特率減少,而使圖象質(zhì)量下降。將圖象分成預(yù)定尺寸的塊,并以塊為單位進(jìn)行DCT。由于變換編碼以塊為單位進(jìn)行,出現(xiàn)了塊效應(yīng),即塊間邊界處出現(xiàn)不連續(xù)。
同樣,以塊為單位的運(yùn)動補(bǔ)償也引發(fā)塊效應(yīng)。將圖象解碼中使用的當(dāng)前塊的運(yùn)動信息限制為幀內(nèi)每個預(yù)定尺寸塊,例如每個宏塊,含一個運(yùn)動矢量。從實際運(yùn)動矢量中減去預(yù)測運(yùn)動矢量(PMV)后,對實際運(yùn)動矢量進(jìn)行編碼。PMV是使用當(dāng)前塊的運(yùn)動矢量和與當(dāng)前塊相鄰的塊的運(yùn)動矢量來獲得的。
通過復(fù)制來自在先參考幀中不同位置處的塊的插入的像素值來創(chuàng)建運(yùn)動補(bǔ)償塊。其結(jié)果是這些塊的像素值明顯不同,且塊間邊界上出現(xiàn)不連續(xù)。此外,在復(fù)制期間,參考幀中的塊間不連續(xù)原封不動轉(zhuǎn)移到待補(bǔ)償?shù)膲K中。因此,即使在H.264 AVC中使用4×4塊,也應(yīng)對解碼圖象進(jìn)行濾波,以消除塊邊界上的任何不連續(xù)。
如上所述,塊效應(yīng)是由于以塊為單位在變換和量化期間引起的,且是一種類型的圖象質(zhì)量下降,即當(dāng)壓縮率增加時,塊邊界上的不連續(xù)象擺放的瓷磚一樣有規(guī)則地出現(xiàn)。為消除這種不連續(xù),使用濾波器。這種濾波器分為后濾波器和環(huán)濾波器。
后濾波器位于編碼器的后部,可與解碼器分開進(jìn)行設(shè)計。另一方面,環(huán)濾波器位于編碼器中,且在編碼過程期間執(zhí)行濾波。換言之,將濾波幀用作對下個待編碼幀作運(yùn)動補(bǔ)償時的參考幀。
已研究了不同方法以減少塊效應(yīng),且后濾波方法作為其中之一包括下列方案。其一是重疊相鄰塊,以便編碼時它們有適當(dāng)?shù)南嚓P(guān)度。其二是根據(jù)可見的塊效應(yīng)是由塊的不連續(xù)部分的高的空間頻率所引起的事實對位于塊邊界上的像素進(jìn)行低通濾波。
與后濾波器相比,以編碼器中的環(huán)濾波器濾波有幾個方面的優(yōu)點(diǎn)。首先,將環(huán)濾波器包含在編碼器中,可保證適當(dāng)?shù)膱D象質(zhì)量。換言之,有可能在制造過程中通過消除塊效應(yīng)來保證優(yōu)良的圖象質(zhì)量。其次,解碼器中不需要額外的幀緩沖器。即,由于在解碼期間以宏塊為單位進(jìn)行濾波,且將濾波幀直接存儲在參考幀緩沖器中,就不需要額外的幀緩沖器。另外,使用后濾波器時,解碼器結(jié)構(gòu)更簡單,且視頻流的主客觀結(jié)果較佳。
可是,傳統(tǒng)環(huán)濾波器不能完全消除塊效應(yīng),因為它們不是基于塊間方向的。
發(fā)明內(nèi)容
技術(shù)方案本發(fā)明實施例提供在圖象編碼和解碼期間根據(jù)塊間方向或梯度消除任何不連續(xù)的方法、介質(zhì)和濾波器。
有益效果根據(jù)本發(fā)明,能夠消除塊效應(yīng)并提高圖象質(zhì)量。
圖1是根據(jù)本發(fā)明優(yōu)選實施例的編碼器方框圖;圖2表示幀內(nèi)4×4模式中9個預(yù)測模式的方向;圖3表示幀間預(yù)測中一宏塊可含有的不同塊;圖4表示運(yùn)動估計時使用的多個參考圖象;圖5A表示針對輝度塊濾波時的邊界像素以及濾波順序;圖5B表示針對色度塊濾波時0的邊界像素以及濾波順序;
圖6A和6B表示用于濾波的像素;圖7表示與當(dāng)前塊相鄰塊的邊界像素,以解釋根據(jù)本發(fā)明的基于方向性的濾波;圖8A和8B用于解釋計算2個像素的像素值之差;圖9表示基于方向性進(jìn)行濾波時所使用的像素值;圖10是根據(jù)本發(fā)明的用于消除塊效應(yīng)的濾波器方框圖;以及圖11表示塊間的邊界部分。
具體實施例方式
根據(jù)本發(fā)明的一方面,提供一種濾波方法,包括根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊邊界上的方向或梯度;以及根據(jù)所確定的方向或梯度,對該塊進(jìn)行濾波。
根據(jù)本發(fā)明的另一方面,提供一種濾波方法,其消除由塊組成的圖象中預(yù)定尺寸塊間邊界上的任何不連續(xù)。該濾波方法包括根據(jù)該塊邊界上的像素與該塊的相鄰塊邊界上的像素之間的像素值差,確定塊邊界上的不連續(xù)方向;以及根據(jù)所確定的方向或梯度,使用不同的所選擇像素對該塊進(jìn)行濾波。
根據(jù)本發(fā)明的一方面,相鄰塊位于該塊的左側(cè)和上側(cè)。
最好是,該確定包括計算在水平、垂直和對角方向上濾波塊邊界上的像素與相鄰塊邊界上的像素之間的像素值差之和,以及確定一方向為濾波塊邊界上的不連續(xù)方向。
根據(jù)本發(fā)明的一方面,根據(jù)在水平、垂直或?qū)欠较蛩_定的方向,選擇相鄰塊的4像素和該塊的4像素,對該塊進(jìn)行濾波。
根據(jù)本發(fā)明的另一方面,提供一種濾波器,其消除由塊組成的圖象中預(yù)定尺寸塊間邊界上的任何不連續(xù)。該濾波器包括方向確定單元,其根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊的邊界上的不連續(xù)方向、以及濾波單元,其根據(jù)所確定的方向?qū)υ搲K進(jìn)行濾波。
根據(jù)本發(fā)明的一方面,該方向確定單元計算在水平、垂直和對角方向上該塊邊界上的像素與相鄰塊邊界上的像素之間的像素值差之和,以及確定一方向為該塊邊界上的不連續(xù)方向。
根據(jù)本發(fā)明的一方面,濾波單元根據(jù)在水平、垂直或?qū)欠较蛩_定的方向,選擇相鄰塊的4像素和濾波塊的4像素,對該塊進(jìn)行濾波。
現(xiàn)在將詳細(xì)參照本發(fā)明實施例,其例子圖示在附圖中,其中相同標(biāo)號指同一元件。下面參照附圖描述本發(fā)明的實施例。
圖1是根據(jù)本發(fā)明優(yōu)選實施例的編碼器的方框圖。
該編碼器包括運(yùn)動估計單元102、運(yùn)動補(bǔ)償器104、幀內(nèi)預(yù)測器106、變換器108、量化器110、重排器112、熵編碼器114、反量化器116、反變換器118、濾波器120、以及幀存儲器122。
編碼器以自不同編碼模式中選擇的編碼模式,對當(dāng)前塊的宏塊進(jìn)行編碼。為對視頻進(jìn)行編碼,將圖象分成幾個宏塊。在以所有幀間預(yù)測編碼模式和所有幀內(nèi)預(yù)測編碼模式對宏塊進(jìn)行編碼之后,編碼器根據(jù)對宏塊進(jìn)行編碼所需的比特率以及原始宏塊與解碼宏塊之間的失真程度,選擇一個編碼模式,以及以所選擇的編碼模式進(jìn)行編碼。
幀間模式用于幀間預(yù)測,即對表示從參考圖象中選擇的一個宏塊的位置或從參考圖象中選擇的多個宏塊的位置的運(yùn)動矢量信息與一像素值之差進(jìn)行編碼,以對當(dāng)前圖象的宏塊進(jìn)行編碼。由于H.264提供最多5個參看圖象,因此在存儲參考圖象的幀存儲器中搜索當(dāng)前宏塊所參考的參考圖象。幀存儲器中存儲的參考圖象可為之前編碼的圖象或待使用的圖象。
幀內(nèi)模式用于幀內(nèi)預(yù)測,即使用與待編碼宏塊空間上相鄰的像素的像素值,計算待編碼宏塊的預(yù)測值,且對預(yù)測值與該像素值之差進(jìn)行編碼,而不是參照參考圖象,以對當(dāng)前圖象的宏塊進(jìn)行編碼。
在幀間模式下,根據(jù)如何劃分圖象,存在大量模式。同樣,在幀內(nèi)模式下,根據(jù)預(yù)測方向,存在許多模式。因此,從這些模式中選擇最佳模式是一項十分重要的任務(wù),其影響圖象編碼的性能。為此,通常計算所有可能模式下的失真率(RD)代價,將具有最小RD代價的模式選擇為最佳模式,且以所選擇模式進(jìn)行編碼。這樣,圖象編碼需要許多時間和代價。
根據(jù)本發(fā)明實施例的編碼器以幀間預(yù)測和幀內(nèi)預(yù)測能有的所有模式進(jìn)行編碼,計算RD代價,選擇具有最小RD代價的模式作為最佳模式,并以所選擇模式進(jìn)行編碼。
對幀間預(yù)測而言,運(yùn)動補(bǔ)償器102在參考圖象中搜索當(dāng)前圖象的宏塊預(yù)測值。若以1/2或1/4像素為單位搜索參考塊,運(yùn)動補(bǔ)償器104計算該參考塊的中間像素值,以確定一參考塊數(shù)據(jù)值。如此,通過運(yùn)動估計器102和運(yùn)動補(bǔ)償器104進(jìn)行幀間預(yù)測。
同樣,幀內(nèi)預(yù)測器106進(jìn)行幀內(nèi)預(yù)測,即在當(dāng)前圖象內(nèi)搜索當(dāng)前圖象的宏塊預(yù)測值。通過計算所有編碼模式下的RD代價以及選擇具有最小RD代價的模式作為當(dāng)前宏塊的編碼模式,來判斷是否進(jìn)行幀間預(yù)測或幀內(nèi)預(yù)測。之后以所選擇的編碼模式對當(dāng)前宏塊進(jìn)行編碼。
如上所述,若通過幀間預(yù)測或幀內(nèi)預(yù)測獲得當(dāng)前幀的宏塊所參考的預(yù)測數(shù)據(jù),則從當(dāng)前圖象的宏塊中減去該預(yù)測數(shù)據(jù)。變換器108對所得當(dāng)前圖象的宏塊進(jìn)行變換,且量化器110對變換宏塊進(jìn)行量化。將經(jīng)運(yùn)動估計所得參考塊相減后的當(dāng)前圖象的宏塊稱為殘差,對它進(jìn)行編碼以減少編碼中的數(shù)據(jù)量。通過重排器112對量化殘差作處理,以由熵編碼器114進(jìn)行編碼。
為獲得幀間預(yù)測中使用的參考圖象,由反量化器116和反變換器118處理量化圖象,以恢復(fù)當(dāng)前圖象。將所恢復(fù)的當(dāng)前圖象存儲在幀存儲器122中,且之后用于對當(dāng)前圖象之后的圖象進(jìn)行幀間預(yù)測。若所恢復(fù)的圖象經(jīng)濾波器120處理,它變成又包含一些編碼誤差的原始圖象。
圖2表示幀內(nèi)4×4模式中9個預(yù)測模式的方向。
從圖2可見,在垂直、水平和對角方向上對塊進(jìn)行預(yù)測,每個方向用一個模式名表示。換言之,幀內(nèi)4×4模式包括vertical模式、horizontal模式、DC模式、diagonal_down_left模式、diagonal_down_right模式、vertical_right模式、horizontal_down模式、vertical_1eft模式和horizontal_up模式。
除幀內(nèi)4×4模式之外,還有幀內(nèi)16×16模式。幀內(nèi)16×16模式用于均衡圖象情況下,且?guī)瑑?nèi)16×16模式中有4種模式。
圖3表示幀間預(yù)測中一宏塊可含有的不同塊。
按照H.264,在幀間預(yù)測中,一個16×16宏塊可分成16×16、16×8、8×16或8×8塊。每個8×8塊可分成8×4、4×8或4×4子塊。對每個子塊進(jìn)行運(yùn)動估計和補(bǔ)償,且確定一運(yùn)動矢量。通過使用多種不同的塊進(jìn)行預(yù)測,就可能根據(jù)圖象特性和運(yùn)動信息有效地進(jìn)行編碼。
圖4表示運(yùn)動估計時使用的多個參考圖象。
H.264 AVC使用多個參考圖象進(jìn)行運(yùn)動預(yù)測。換言之,可使用至少一個之前編碼的參考圖象作為運(yùn)動預(yù)測的參考圖象。參照圖4,為找到一個與當(dāng)前圖象的宏塊最相似的宏塊,最多搜索5幅圖象。應(yīng)將這些參考圖象存儲在編碼器和解碼器中。
下文,將詳細(xì)描述圖1濾波器120所進(jìn)行的濾波。
濾波器120為一分塊(debioking)濾波器,且可對M×N塊的邊界像素進(jìn)行濾波。下文,假定M×N塊為4×4塊。以宏塊為單位進(jìn)行濾波,且按順序處理一幅圖象中的所有宏塊。為對每個宏塊進(jìn)行濾波,使用與當(dāng)前宏塊相鄰的上側(cè)和左側(cè)已濾波塊的像素值。單獨(dú)對輝度和色度分量進(jìn)行濾波。
圖5A表示針對輝度塊濾波時的邊界像素以及濾波順序。
在每個宏塊中,首先對宏塊的垂直邊界像素進(jìn)行濾波。從左到右對垂直邊界像素進(jìn)行濾波,如圖5A左側(cè)的箭頭所示。之后,根據(jù)垂直邊界像素的濾波結(jié)果,對水平邊界像素進(jìn)行濾波。按從上到下方向?qū)λ竭吔缦袼剡M(jìn)行濾波,如圖5A右側(cè)的箭頭所示。由于以宏塊為單位進(jìn)行濾波,對含16個像素的4行進(jìn)行濾波,以消除任何輝度不連續(xù)。
圖5B表示針對色度塊濾波時的邊界像素以及濾波順序。
由于色度塊尺寸為4×4,即輝度塊的1/4,對含8個像素的2行進(jìn)行色度分量濾波。
圖6A和6B表示用于濾波的像素。
根據(jù)4×4塊邊界確定像素,使用下面所示的濾波方程計算改變的像素值,且主要改變像素值p0,p1,p2,q0,q1和q2。按輝度塊中使用的同樣順序不僅對輝度分量而且對色度分量進(jìn)行濾波。
圖7表示與當(dāng)前塊相鄰塊的邊界像素,以解釋根據(jù)本發(fā)明一方面的基于方向或梯度的濾波。
根據(jù)本發(fā)明的一方面,基于方向的濾波是用與H.264 AVC中分塊濾波類似的方法,使用已按宏塊為單位解碼的圖象中的像素值,對位于所有4×4塊邊界上的像素進(jìn)行的??墒牵cH.264 AVC中只在垂直和/或水平方向上對每個塊邊界進(jìn)行分塊濾波不同的是,根據(jù)本發(fā)明一方面的基于方向的濾波除搜索每個4×4塊的垂直和/或水平方向之外還搜索對角方向,并在找到的方向上進(jìn)行濾波。使用位于空域上與當(dāng)前塊相鄰的上側(cè)和左側(cè)2塊的邊界上的像素,搜索4×4塊的方向。若塊尺寸為N×N,則第k個當(dāng)前塊的邊界像素用fk(x,y)表示,第k個當(dāng)前塊的左側(cè)相鄰塊的右邊界像素用fk-1(N-1,y)表示,且第k個當(dāng)前塊的上側(cè)相鄰塊的下邊界像素用fk-p(x,y)表示。這里,p表示一個周期。例如,若176×144圖象分成16×16塊,一行有11個塊,且一列有9個塊。此時,p等于11。則fk-11(x,y)是緊靠fk(x,y)上面的像素。
這里,逐像素移動x和y,且用陰影線標(biāo)示位于邊界上的濾波像素中使用的像素。為檢測對角方向,使用相鄰塊的3個像素值。例如,相鄰像素(720)用于檢測像素1(710)的方向。
參照圖7,命名的檢測方向有3個垂直/水平方向、對角右上方向和對角右下方向。
圖8A和8B用于解釋計算2個像素的像素值之差。
圖8A用于解釋檢測針對垂直方向的垂直邊界像素的方向性,且圖8B用于解釋檢測針對水平方向的水平邊界像素的方向性。為計算2個像素的像素值之差,一方塊表示一像素,且箭頭表示方向。在本發(fā)明中,除H.264 AVC中使用的垂直/水平方向之外,還增加了對角方向。當(dāng)塊間不連續(xù)為對角方向時,通過使用與當(dāng)前塊的像素值相似的像素值進(jìn)行濾波,與使用不同像素值進(jìn)行濾波相比,就可能防止平均化。即可能有平滑的邊界。
方向性檢測包括下列過程(a)計算像素間的差使用位于當(dāng)前塊左側(cè)的4×4塊,按順序?qū)ξ挥趬K的垂直邊界上的像素值濾波。如下計算Vk、RDVk和RUVk,其表示起點(diǎn)(即第k個塊的左上點(diǎn))的3個方向Vk=Σy=0N-1|fk-1(N-1,y)-fk(0,y)|]]>RDVk=Σy=0N-1|fk-1(N-1,y-1)-fk(0,y)|]]>RUVk=Σy=0N-1|fk-1(N-1,y+1)-fk(0,y)|---(1)]]>用函數(shù)f(x,y)表示解碼并輸入到濾波器中的圖象。為知道方向或梯度,計算位于各自方向或梯度上相鄰塊之間的邊界上的像素值間的差的絕對值。塊的尺寸為N×N。在該實施例中,N為4。
同樣,當(dāng)使用位于當(dāng)前塊上側(cè)的4×4塊對塊的水平邊界上的像素垂直濾波時,如下計算像素值間的差。與計算位于垂直邊界上的像素間的差相同,從起點(diǎn)(即第k塊的左上點(diǎn))逐像素計算位于水平邊界上的像素間的差。
Hk=Σx=0N-1|fk+p(x,N-1)-fk(x,0)|]]>RDHk=Σx=0N-1|fk+p(x-1,N-1)-fk(x,0)|]]>RUHk=Σx=0N-1|fk+p(x+1,N-1)-fk(x,0)|---(2)]]>
(b)計算最小值當(dāng)操作(a)中計算了每個方向上的像素值間的差之后,如下搜索3個差中的最小值DVk=min(Vk,RDVk,RUVk)或DHk=min(HK,RDHk,RUHK) (3)將最小值的方向確定為位于相鄰塊間邊界上的像素的方向。在所確定方向上對位于垂直邊界上像素和位于水平邊界上的像素分別濾波。下文,將描述濾波。
(c)濾波一旦確定了當(dāng)前塊的垂直/水平邊界上的方向,根據(jù)所確定的方向進(jìn)行濾波。
圖9表示基于方向性或梯度進(jìn)行濾波時所使用的像素值。
從圖9中可看到對塊邊界濾波時所使用的像素。換言之,可看到當(dāng)對水平方向上的垂直邊界像素濾波時,不但選擇水平方向上的像素而且選擇對角方向上的像素并根據(jù)所確定的方向進(jìn)行濾波。
圖10為用于消除塊效應(yīng)的濾波器方框圖。
方向性或梯度確定單元1010根據(jù)當(dāng)前塊與相鄰塊間像素值之差,計算當(dāng)前塊與相鄰塊間邊界上的不連續(xù)方向。濾波單元1020選擇具有所計算方向的像素,并對所選擇的像素進(jìn)行濾波。以上描述了如何確定方向,且之后詳細(xì)描述濾波。
下文,將詳細(xì)描述濾波過程中的像素值計算。
濾波時,確定有關(guān)濾波的必要性信息和有關(guān)濾波強(qiáng)度的信息。濾波強(qiáng)度根據(jù)稱為Bs參數(shù)的邊界強(qiáng)度的不同而不同。Bs參數(shù)根據(jù)2個塊的預(yù)測模式、2個塊間的運(yùn)動差異以及2個塊的編碼殘差是否存在的不同而不同。
表1表示Bs參數(shù)。
表1中,按從上到下的順序確定是否任一條件滿足。當(dāng)首先滿足任一條件時,將該條件所對應(yīng)的值確定為Bs參數(shù)。例如,若塊邊界為宏塊邊界,且相鄰2個塊中的任一個以幀內(nèi)預(yù)測模式編碼,則Bs參數(shù)為4。
若塊不位于宏塊邊界上,且2個塊中的任一個處于幀內(nèi)預(yù)測模式,則Bs參數(shù)為3。若2個塊中的任一個處于幀間預(yù)測模式,且具有非零變換系數(shù),則Bs參數(shù)為2。若2個塊中的任一個沒有非零變換系數(shù),2個塊間的運(yùn)動差等于或大于1像素輝度,且使用其他參考幀進(jìn)行運(yùn)動補(bǔ)償,則Bs參數(shù)為1。若不滿足任何條件,則Bs參數(shù)為0。Bs參數(shù)為0表示不需要濾波。
確定Bs參數(shù)后,搜索位于塊邊界上的像素。在消除不連續(xù)的濾波器中,區(qū)分表示圖象物體的實際不連續(xù)與變換系數(shù)量化所引起的不連續(xù)是十分重要的。為保持圖象質(zhì)量,應(yīng)盡可能少地濾掉真實的不連續(xù)。另一方面,應(yīng)盡可能地濾掉量化所引起的不連續(xù)。
圖11表示塊間的邊界部分。
作為一個例子,將解釋2個相鄰塊內(nèi)具有實際不連續(xù)的一條線的像素值,如圖11中所示。由于當(dāng)Bs參數(shù)為0時不進(jìn)行濾波,所以Bs參數(shù)不為0,且使用參數(shù)α和β來確定是否對每個像素進(jìn)行濾波。這些參數(shù)與量化參數(shù)(QP)有關(guān),且根據(jù)邊界周圍局部行為的不同而不同。當(dāng)滿足下面方程4中的條件時,對所選擇的像素進(jìn)行濾波。
|p0-q0|<α|p1-p0|<β|q1-q0|<β(4)當(dāng)最靠近邊界的2個像素小于α,且p1,p0,q1和q0小于β,β小于α?xí)r,確定邊界周圍的不連續(xù)是由量化引起的,根據(jù)H.264 AVC規(guī)定的一個表確定α和β,且根據(jù)QP的不同而不同。
IndexA=min(max(0,QPAV+OffserA),51)IndexB=min(max(0,QPAV+OffsetB),51)......(5)其中QAV為2個相鄰塊的平均QP值。通過使用方程5將索引控制在QP的范圍內(nèi),即
,獲得α和β。根據(jù)H.264 AVC所規(guī)定的表,當(dāng)IndexA<16或IndexB<16時,α和β都為或其中之一為0,這表示不進(jìn)行濾波。這是因為當(dāng)QP十分小時進(jìn)行濾波是低效的。
同樣,編碼器可設(shè)置控制α和β的偏移值,且其范圍為[-6,+6]。使用該偏移值可控制濾波量。通過使用非零偏移值控制濾波器特性以消除不連續(xù),就可能提高解碼圖象的主觀質(zhì)量。
例如,當(dāng)相鄰塊的像素值間的差小時,使用負(fù)偏移值減小濾波量。因此,就可能有效保留小且細(xì)的區(qū)域內(nèi)高分辨率視頻內(nèi)容的質(zhì)量。
上述參數(shù)影響像素的實際濾波。濾波像素根據(jù)塊邊界特征的Bs參數(shù)的不同而不同,其中當(dāng)Bs參數(shù)在1-3的范圍內(nèi)時,除Bs參數(shù)為0之外,對輝度進(jìn)行如下的基本濾波操作p′0=p0+Δq′0=q0+Δ..(6)這里,用Δ控制原始像素值,且按如下計算Δ=min(max(-tc,Δ0),tc)Δ0=(4(q0-p0)+(p1-q1)+4)>>βtc=tc0+((αp<β)?1∶0)+((αq<β)?1∶0) (7)這里,將Δ限制在閾值tc的范圍內(nèi),且在計算tc時,使用β如下調(diào)查用于確定濾波程度的空間行為條件αp=|p2-p0|<βαq=|q2-q0|<β.......... (8)若使用方程8滿足上述條件,根據(jù)方程9通過濾波改變像素值p′1=p1+Δp1q′1=q1+Δq1Δp1=(p2+((p0+q1+1)>>1)-2p1)>>1 (9)這里,使用方程7以加權(quán)值(1,4,4,-1)/8對p0和q0進(jìn)行濾波,且以非常強(qiáng)的低通濾波特性諸如方程9的(1,0,5,0.5)/2抽頭,對與它們相鄰的像素p1和p1進(jìn)行濾波。使用根據(jù)Bs參數(shù)不同而不同的裁剪(clipping)范圍,對像素值進(jìn)行濾波。根據(jù)由Bs和IndexA組成的表,確定裁剪范圍。根據(jù)該表確定方程7的tc0,并確定應(yīng)用于每個邊界像素值的濾波量。
當(dāng)Bs參數(shù)為4時,確定濾波量為使用4抽頭和5抽頭強(qiáng)濾波器對邊界像素和2個內(nèi)部像素進(jìn)行濾波。強(qiáng)濾波器調(diào)查使用方程4執(zhí)行濾波的條件以及方程10的條件。只有當(dāng)這些條件都滿足時,才進(jìn)行強(qiáng)濾波。
|p0-q0|<(α>>2)+2(10)通過減少邊界上2個相鄰像素的像素值間的差來進(jìn)行強(qiáng)濾波。若滿足方程10中的條件,則使用方程11計算像素值p0,p1,p2,q0,q1和q2p′0=(p2+2p1+2p0+2q0+q1+4)>>3p′1=(p2+p1+p0+q0+2)>>2p′2=(2p3+3p2+p1+p0+q0+4)>>3 (11)這里,以與方程11相同的方式計算q0,q1和q2。
用于消除根據(jù)每個參數(shù)自適應(yīng)地處理的H.264 AVC不連續(xù)導(dǎo)致濾波器復(fù)雜性增加,但消除了塊效應(yīng)并提高了圖象的主觀質(zhì)量。
同時,本發(fā)明實施例也可通過一介質(zhì)如計算機(jī)可讀記錄介質(zhì)中的計算機(jī)可讀代碼來實現(xiàn)。該介質(zhì)可為任何器件,其可存儲/轉(zhuǎn)移數(shù)據(jù),之后由計算機(jī)系統(tǒng)來讀取。介質(zhì)例子至少包括只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤、光數(shù)據(jù)存儲設(shè)備、以及載波。該介質(zhì)也可分布在以網(wǎng)絡(luò)連接的計算機(jī)系統(tǒng)上,從而以分布方式存儲并執(zhí)行計算機(jī)可讀代碼。
盡管參照其中的示例性實施例對本發(fā)明作了特別的展示和描述,本領(lǐng)域技術(shù)人員應(yīng)理解可作形式和細(xì)節(jié)上的變化而不偏離如權(quán)利要求中所定義的本發(fā)明的實質(zhì)和范圍。
權(quán)利要求
1.一種濾波方法,包括根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊邊界上的方向;以及根據(jù)所確定的方向,對塊進(jìn)行濾波。
2.根據(jù)權(quán)利要求1的濾波方法,其中根據(jù)塊中每個邊界像素的方向相對于每個邊界像素進(jìn)行不同的塊的濾波。
3.根據(jù)權(quán)利要求1的濾波方法,其中所述方向包括梯度。
4.根據(jù)權(quán)利要求1的濾波方法,其中所述塊為方塊。
5.一種濾波方法,其消除由塊組成的圖象中預(yù)定尺寸塊間邊界上的不連續(xù),該濾波方法包括根據(jù)該塊邊界上的像素與該塊的相鄰塊邊界上的像素之間的像素值差,確定塊邊界上的不連續(xù)方向;以及根據(jù)所確定的方向,使用不同的所選擇像素對該塊進(jìn)行濾波。
6.根據(jù)權(quán)利要求5的濾波方法,其中相鄰塊位于該塊的左側(cè)和上側(cè)。
7.根據(jù)權(quán)利要求5的濾波方法,其中預(yù)定尺寸塊為宏塊。
8.根據(jù)權(quán)利要求5的濾波方法,其中所述方向包括水平方向、垂直方向和對角方向之一。
9.根據(jù)權(quán)利要求8的濾波方法,其中對角方向包括從左上到右下的方向和從左下到右上的方向。
10.根據(jù)權(quán)利要求5的濾波方法,其中確定塊邊界上的不連續(xù)方向包括計算在水平、垂直和對角方向上的該塊邊界上的像素與相鄰塊邊界上的像素之間像素值差之和;以及確定一方向為該塊邊界上的不連續(xù)方向。
11.根據(jù)權(quán)利要求5的濾波方法,其中根據(jù)在水平、垂直或?qū)欠较蛩_定的方向,選擇相鄰塊的4像素和該塊的4像素,對該塊進(jìn)行濾波。
12.根據(jù)權(quán)利要求5的濾波方法,其中所述方向包括梯度。
13.根據(jù)權(quán)利要求5的濾波方法,其中所述塊為方塊。
14.一種濾波器,其消除由塊組成的圖象中預(yù)定尺寸塊間邊界上的不連續(xù),該濾波器包括方向確定單元,其根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊邊界上的不連續(xù)方向;以及濾波單元,其根據(jù)所確定的方向,對塊進(jìn)行濾波。
15.根據(jù)權(quán)利要求14的濾波器,其中相鄰塊位于該塊的左側(cè)和上側(cè)。
16.根據(jù)權(quán)利要求14的濾波器,其中預(yù)定尺寸塊為宏塊。
17.根據(jù)權(quán)利要求14的濾波方法,其中所述方向包括梯度。
18.根據(jù)權(quán)利要求14的濾波方法,其中所述塊為方塊。
19.根據(jù)權(quán)利要求14的濾波器,其中所述方向包括水平方向、垂直方向和對角方向。
20.根據(jù)權(quán)利要求19的濾波器,其中對角方向包括從左上到右下的第一方向、或從左下到右上的第二方向。
21.根據(jù)權(quán)利要求14的濾波器,其中方向確定單元計算在水平、垂直和對角方向該塊邊界上的像素與相鄰塊邊界上的像素之間的像素值差之和,以及確定該方向為該塊邊界上的不連續(xù)方向。
22.根據(jù)權(quán)利要求14的濾波器,其中根據(jù)在水平、垂直或?qū)欠较蛩_定的方向,濾波單元選擇相鄰塊的4像素和待濾波塊的4像素,對該塊進(jìn)行濾波。
23.一種包括實現(xiàn)濾波方法的計算機(jī)可讀代碼的介質(zhì),包括根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊邊界上的方向;以及根據(jù)所確定的方向,對塊進(jìn)行濾波。
24.根據(jù)權(quán)利要求23的介質(zhì),其中所述方向包括梯度。
25.根據(jù)權(quán)利要求23的介質(zhì),其中所述塊為方塊。
全文摘要
提供一種用于消除圖象不連續(xù)的方法、介質(zhì)和濾波器。該濾波方法包括根據(jù)相鄰塊間的像素分布,確定分成預(yù)定尺寸塊的圖象的塊邊界上的方向或梯度,以及根據(jù)所確定的方向或梯度,對塊進(jìn)行濾波。
文檔編號G06K9/36GK1820512SQ200580000618
公開日2006年8月16日 申請日期2005年3月10日 優(yōu)先權(quán)日2004年3月11日
發(fā)明者文柱禧, 樸善營 申請人:學(xué)校法人大洋學(xué)園, 三星電子株式會社