專利名稱:視聽編解碼器的濾波方法和濾波設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種視聽編解碼器,并且尤其涉及一種視聽編解碼器的濾波方法和濾波設(shè)備。
背景技術(shù):
近日,微軟公司向作為國際標(biāo)準(zhǔn)化團(tuán)體之一的電影電視工程師學(xué)會(SMPTE)提交了與VC-1(以前稱為VC9)相關(guān)的信息,所述VC-1是運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)草案。目前,正在積極地審查VC-1標(biāo)準(zhǔn)草案,并且期待最終將其采納作為國際標(biāo)準(zhǔn)。
除了每個(gè)都已經(jīng)被采納作為運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)并被廣泛應(yīng)用的運(yùn)動(dòng)圖像專家組(MPEG)-2、MPEG-4和H.264標(biāo)準(zhǔn)之外,也期待VC-1變?yōu)轭I(lǐng)先的運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn)。由于它的壓縮效率近似具備最佳壓縮效率的H.264的壓縮效率的80%,而且它的實(shí)現(xiàn)復(fù)雜度相當(dāng)于H.264的實(shí)現(xiàn)復(fù)雜度的約60%,因此VC-1被認(rèn)為具有良好的復(fù)雜度性能比(complexity-to-performance ratio)。同樣,就圖像質(zhì)量而言,VC-1也被認(rèn)為具備比MPEG-2或MPEG-4更好的品質(zhì)。
根據(jù)上述的運(yùn)動(dòng)圖像壓縮標(biāo)準(zhǔn),以塊為單位來對數(shù)字圖像進(jìn)行編碼和解碼。在此時(shí),在通過解碼過程再現(xiàn)的數(shù)字圖像中,發(fā)生這樣一種現(xiàn)象,即塊的邊界看起來是不同的。這種現(xiàn)象稱為成塊偽像(blocking artifact),并且為了消除成塊偽像,使用環(huán)路濾波器。即,環(huán)路濾波器是一種插入到編解碼器(編碼器和解碼器)的編碼環(huán)路中以便消除(去成塊)成塊現(xiàn)象的濾波器。
在下文中,將更詳細(xì)地解釋VC-1的解碼過程。
圖1是vC-1解碼器的框圖。參照圖1,所述VC-1解碼器包括位流解析單元、逆可變長編碼(vLC)單元、逆量化單元、逆變換單元、運(yùn)動(dòng)補(bǔ)償單元、重疊平滑和環(huán)路濾波單元、強(qiáng)度補(bǔ)償和范圍縮放單元、以及存儲器。具體來講,本發(fā)明的一個(gè)實(shí)施例涉及解碼器的元件中的環(huán)路濾波器。
如果在vC-1解碼器中將LOOPFILTER序列參數(shù)設(shè)置為1,則對通過逆vLC單元、逆量化單元和逆變換單元處理的重構(gòu)圖像執(zhí)行濾波過程。應(yīng)該在重構(gòu)圖像被用作用于運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紟笆┘舆@一濾波過程。這樣一來,由于在濾波過程之后將重構(gòu)圖像用作用于運(yùn)動(dòng)補(bǔ)償?shù)膮⒖紟?,因而解碼器應(yīng)當(dāng)嚴(yán)格地遵循由標(biāo)準(zhǔn)規(guī)定的濾波過程。由于一幅圖像通常是由多個(gè)切片(slice)形成的,因而對每一個(gè)切片獨(dú)立地執(zhí)行環(huán)路濾波。
環(huán)路濾波的主要目的就是要減少或消除因量化而在塊邊界上產(chǎn)生的成塊現(xiàn)象。在此時(shí),在I圖像的情況下,以8×8的塊為單位執(zhí)行變換,并且由此,以8個(gè)像素為單位水平地和垂直地執(zhí)行濾波。也就是,在8個(gè)像素、16個(gè)像素和24個(gè)像素中的每一個(gè)上執(zhí)行濾波。
同時(shí),在P圖像的情況下,依賴于變換類型是8×8、8×4還是4×8,塊邊界可能垂直地或水平地出現(xiàn)在每個(gè)4像素單元上。由此,在每個(gè)4像素單元上垂直地和水平地執(zhí)行濾波。也就是,在4個(gè)像素、8個(gè)像素和12個(gè)像素中的每一個(gè)上執(zhí)行濾波。現(xiàn)在將更具體地對此進(jìn)行解釋。
1)I圖像中的環(huán)路濾波在I圖像中,對全部8×9塊邊界執(zhí)行去成塊濾波以消除成塊偽像。圖2A和2B是示出在I圖像中濾波后的水平/垂直塊邊界中的像素的圖。
參照圖2A和2B,示出了由元素Y、Cb、Cr形成的圖像的最左手側(cè)部分。十字(+)表示像素,而圓形(o)表示已濾波的像素。如圖2A和2B所示,不對頂部上的第一水平線和左手側(cè)的第一垂直線進(jìn)行濾波。同樣,不對位于底部上的第一水平線和右手側(cè)上的最后的垂直線(未示出)進(jìn)行濾波。也就是說,假定在一幀中,N表示在水平方向上的8×8的塊的數(shù)量,而M表示在垂直方向上的8×8的塊的數(shù)量,在水平方向上只對水平線(7,8)、(15,16)...((N-1)*8,(N-1)*8)進(jìn)行濾波。同樣,在垂直方向上只對垂直線(7,8)、(15,16)...((M-1)*8,(M-1)*8)進(jìn)行濾波。
此外,濾波的順序也是非常重要的。也就是說,在一個(gè)完整的幀中,僅在所有水平邊界線都被濾波之后,才對所有垂直邊界線進(jìn)行濾波。所以,為了對一幀進(jìn)行濾波,對水平方向上的所有邊界線進(jìn)行濾波,并將結(jié)果存儲在存儲器中,然后對垂直方向上的所有邊界線進(jìn)行濾波。由于這種非因果關(guān)系濾波方法(non-causal filtering method),對一幀進(jìn)行濾波需要大的帶寬,并且由于應(yīng)該結(jié)束在水平方向和垂直方向這兩個(gè)方向上進(jìn)行的濾波以便完成濾波,從而可能會出現(xiàn)幀延遲。
2)P圖像中的環(huán)路濾波在P圖像中,塊可能處于內(nèi)模式(intra mode)下或中間模式(inter mode)下。由于處于內(nèi)模式下的塊總是采用8×8的變換,因此只對8×8的塊邊界進(jìn)行濾波。同時(shí),處于中間模式下的塊采用8×8、8×4、4×8或4×4的逆變換,以便對殘留誤差進(jìn)行解碼。所以,根據(jù)相鄰塊的情況,可以對當(dāng)前塊和相鄰塊之間的邊界進(jìn)行濾波或不對其進(jìn)行濾波。按照下列標(biāo)準(zhǔn)來判斷應(yīng)該對哪一個(gè)塊邊界(8×8)或子塊邊界(8×4、4×8或4×4)進(jìn)行濾波。
(1)無條件地對8×8的塊中的編碼子塊(8×4、4×8或4×4)的邊界進(jìn)行濾波。
(2)如果塊(或子塊)和相鄰塊(或子塊)具有相同的運(yùn)動(dòng)向量并且兩者都沒有殘留誤差,則不對所述塊邊界進(jìn)行濾波。除此之外,對所有其它的塊邊界進(jìn)行濾波。
圖3是示出在P圖像中被濾波的塊邊界的示例的圖。參照圖3,示出了在相鄰塊的邊界中執(zhí)行的濾波。假定塊的運(yùn)動(dòng)向量是相同的(如果不相同,則無條件地執(zhí)行濾波),用灰色表示的塊(或子塊)是具有變換系數(shù)的編碼塊。白色的塊(或子塊)是不具有任何變換系數(shù)的塊。粗線表示已濾波的邊界,而細(xì)線表示未濾波的邊界。根據(jù)上述的兩個(gè)標(biāo)準(zhǔn),確定要被濾波的塊或子塊的邊界。盡管圖3中的示例僅僅示出了兩個(gè)塊水平相鄰的情況,但是也可以將相同方法應(yīng)用于兩個(gè)塊垂直相鄰的情況。
圖4A和4B是示出在P圖像中濾波的塊水平和/或垂直邊界中的像素的圖。參照圖4A,示出了能被濾波的水平邊界。
由于能夠?qū)?×8和8×4的水平邊界進(jìn)行濾波,因此每個(gè)第四和第五、第八和第九、以及第十二和第十三線可以是能夠被濾波的邊界像素。
同時(shí),參照圖4B,示出了能被濾波的垂直邊界。由于能夠?qū)?×8和4×8的垂直邊界進(jìn)行濾波,因此每個(gè)第四和第五、第八和第九、以及第十二和第十三線可以是能被濾波的邊界像素。類似于I圖像,不對第一和最后的垂直線和水平線進(jìn)行濾波。
此外,同樣在P圖像的情況下,濾波順序也是非常重要的。首先,對于整個(gè)幀來說,從上面的線開始連續(xù)地對所有8×8塊的水平邊界進(jìn)行濾波。將8×8塊的水平邊界的濾波結(jié)果存儲在存儲器中。其次,對于整個(gè)幀來說,同樣從上面的線開始連續(xù)地對所有8×4塊的水平邊界進(jìn)行濾波。濾波結(jié)果同樣也被存儲在存儲器中。第三,對于垂直方向上的整個(gè)幀來說,從左手側(cè)開始對所有8×8的垂直邊界進(jìn)行濾波,并將結(jié)果存儲在存儲器中。最后,對于整個(gè)幀來說,同樣從左手側(cè)開始對所有4×8的塊邊界進(jìn)行濾波,并將結(jié)果存儲在存儲器中。即,對于一整個(gè)幀來說,通過兩個(gè)步驟來對所有水平邊界進(jìn)行濾波,然后通過兩個(gè)步驟來對所有垂直邊界進(jìn)行濾波。由此,由于非因果關(guān)系濾波方法,為了對一幀進(jìn)行濾波,應(yīng)當(dāng)執(zhí)行濾波的四個(gè)步驟,所以可能出現(xiàn)幀延遲。
3)B圖像中的環(huán)路濾波B圖像的濾波與上述I圖像的濾波相同。現(xiàn)在將更詳細(xì)地解釋在每一塊(或子塊)的邊界中執(zhí)行濾波的過程。圖5A和5B是示出在相鄰塊的邊界中濾波后的像素的示例的圖。
無論垂直方向或水平方向,應(yīng)被濾波的連續(xù)像素的最小數(shù)量為4,而垂直線或水平線中的全部像素的數(shù)量為4的倍數(shù)。所以,能夠以4個(gè)像素為單位執(zhí)行濾波過程。參照圖5A,例如,如果兩個(gè)塊的邊界是由一對8個(gè)像素形成,則將每一個(gè)8個(gè)像素劃分成兩個(gè)4像素的段。在每一個(gè)4像素的段中,首先對如圖所示的由X標(biāo)記的第三對像素進(jìn)行濾波。同樣,根據(jù)濾波的結(jié)果,確定是否執(zhí)行對其余三對像素的濾波。如果第三對由X標(biāo)記的像素的比較結(jié)果表明沒有出現(xiàn)成塊,因此不需要進(jìn)行濾波,那么就能夠省略對其余三對像素的濾波。
參照圖5B,示出了在第三對像素中執(zhí)行的濾波過程。像素P4和P5是能夠在濾波過程中被互換的像素。獲得向其應(yīng)用了從像素P4和P5開始左手側(cè)上的像素(P1至P4)與右手側(cè)上的像素(P5至P8)之間的權(quán)值的、平均值的預(yù)定補(bǔ)償值,并且通過將所述值加到像素P4和P5的每一個(gè)上,就能夠消除或減少在塊的邊界中的像素值中的突變的出現(xiàn)。在這種情況下,正如上述圖5A中所示,如果第三對像素需要進(jìn)行濾波,那么同樣也執(zhí)行對其余三對像素的濾波,否則的話省略對其余三對像素的濾波,然后處理下一個(gè)4像素的段。
如上所述,在消除VC-1的成塊偽像的濾波過程中,以幀或切片為單位水平地執(zhí)行濾波,并且隨后垂直地執(zhí)行濾波,因此應(yīng)該將先前水平濾波的結(jié)果存儲在存儲器中。所以,存在這樣的問題需要大的存儲帶寬,出現(xiàn)不必要的幀延遲,而且?guī)鎯ζ髟黾印S捎赩C環(huán)路濾波的這種非因果關(guān)系,因此難以實(shí)現(xiàn)硬件編解碼器。
發(fā)明內(nèi)容
本發(fā)明提供了一種濾波方法和一種濾波設(shè)備,其中利用所述方法,通過改善視聽編解碼器中的非因果關(guān)系環(huán)路濾波來有效地執(zhí)行濾波而不增加存儲器或帶寬。
根據(jù)本發(fā)明的一個(gè)方面,提供了一種視聽編解碼器的濾波方法,包括確定以宏塊為單位的濾波區(qū)域;進(jìn)一步將宏塊和前一相鄰宏塊的邊界區(qū)域上的預(yù)定區(qū)域包含到濾波區(qū)域中;以及按照時(shí)間順序,來有因果關(guān)系地(causally)執(zhí)行對增補(bǔ)后的濾波區(qū)域的去成塊濾波,所述增補(bǔ)后的濾波區(qū)域進(jìn)一步包括宏塊之間的邊界區(qū)域的預(yù)定區(qū)域。
所述宏塊的邊界區(qū)域上的預(yù)定區(qū)域可以包括具有最少4個(gè)像素單位的多個(gè)像素。
所述去成塊濾波是通過使用從宏塊的邊界區(qū)域開始的兩個(gè)方向中的每一個(gè)方向上的最少4個(gè)像素值來執(zhí)行的,相對于作為中心線的宏塊的邊界區(qū)域?qū)ΨQ地設(shè)置像素值。
所述去成塊濾波可以按照因果關(guān)系方法來執(zhí)行,利用所述方法,在水平方向上對一個(gè)濾波區(qū)域執(zhí)行濾波,然后在垂直方向上執(zhí)行濾波,然后對下一個(gè)濾波區(qū)域進(jìn)行濾波。
所述去成塊濾波可以被執(zhí)行,使得在水平方向上對8×8的塊邊界部分進(jìn)行濾波,然后對8×4的塊邊界部分進(jìn)行濾波,而在垂直方向上對8×8的塊邊界部分進(jìn)行濾波,然后對4×8的塊邊界部分進(jìn)行濾波。
所述視聽編解碼器符合電影電視工程師學(xué)會(SMPTE)的VC-1標(biāo)準(zhǔn)。
根據(jù)本發(fā)明的另一方面,提供了一種視聽編解碼器的濾波設(shè)備,包括緩沖器單元,其以宏塊為單位存儲濾波區(qū)域;行緩沖器和列緩沖器,其存儲緩沖器單元中所存儲的宏塊和與該所存儲的宏塊相鄰的前一個(gè)宏塊的邊界部分的預(yù)定區(qū)域;和濾波單元,其按照時(shí)間順序,來有因果關(guān)系地執(zhí)行對存儲在緩沖器單元、行緩沖器和列緩沖器中的濾波區(qū)域以及邊界部分的預(yù)定區(qū)域的去成塊濾波。
本發(fā)明的其他方面和/或優(yōu)點(diǎn)的一部分將在隨后的說明中闡述,并且一部分可從所述說明中清楚地得知,或者通過實(shí)踐本發(fā)明來獲知。
通過下面結(jié)合附圖對實(shí)施例的說明,本發(fā)明的這些和/或其它方面和優(yōu)點(diǎn)將變得清楚和更容易理解,在所述附圖中圖1是VC-1解碼器的框圖;圖2A和2B是示出在I圖像中被濾波的水平/垂直塊邊界中的像素的圖;圖3是示出在P圖像中被濾波的塊邊界的示例的圖;圖4A和4B是示出在P圖像中被濾波的塊水平和/或垂直邊界中的像素的圖;圖5A和5B是示出在相鄰塊的邊界中被濾波的像素的示例的圖;圖6是根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備的框圖;圖7是示出根據(jù)本發(fā)明的實(shí)施例的、將要對其執(zhí)行濾波的幀的圖;圖8是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第1種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖;圖9是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第2種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖;圖10A和10B是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第3種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖;圖11A和11B是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第4種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖;和圖12是示出根據(jù)本發(fā)明的替換實(shí)施例的、在水平和垂直劃分之后以塊為單位按其執(zhí)行濾波的濾波順序的圖。
具體實(shí)施例方式
現(xiàn)在將詳細(xì)參考本發(fā)明的實(shí)施例,在附圖中舉例說明本發(fā)明的示例,其中相同的附圖標(biāo)記始終指代相同的元件。下面通過參照附圖來描述這些實(shí)施例以便解釋本發(fā)明。
圖6是根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備的框圖。參照圖6,同以幀為單位進(jìn)行濾波的常規(guī)vC-1濾波器比較起來,根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備的特征在于以宏塊為單位執(zhí)行濾波。為此,進(jìn)一步設(shè)置有用于臨時(shí)存儲有關(guān)前一宏塊的邊界部分的像素信息的單獨(dú)的行緩沖器630和單獨(dú)的列緩沖器640。
也就是,根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備具有用于消除成塊偽像的濾波單元610、用于存儲要被濾波的數(shù)據(jù)和濾波結(jié)果的緩沖器單元(L_BUF)620、和用于存儲有關(guān)前一宏塊的邊界部分的像素信息的行緩沖器(ROW_BUF)630和列緩沖器(COL_BUF)640。
VC-1編解碼器的基本處理單元是16×16像素大小的宏塊。因此,也以16×16的宏塊為單位執(zhí)行環(huán)路濾波。緩沖器單元620具有16×16像素的大小,并且存儲對16×16的宏塊進(jìn)行濾波的中間結(jié)果和最終結(jié)果。
列緩沖器630具有20×8像素的最小大小,并且存儲位于當(dāng)前正被濾波的宏塊頂部的塊的邊界部分的水平方向上的像素,還存儲已濾波的像素的中間結(jié)果和最終結(jié)果。
行緩沖器640具有8×16像素的最小大小,并且存儲位于當(dāng)前正被濾波的宏塊的左手側(cè)上的塊的邊界部分的垂直方向上的像素,還存儲已濾波的像素的中間結(jié)果和最終結(jié)果。
在本發(fā)明的實(shí)施例中,為宏塊指定濾波區(qū)域。然后,對濾波區(qū)域進(jìn)行增補(bǔ)和濾波。增補(bǔ)操作可以包括在與該宏塊的邊界區(qū)域相鄰的濾波區(qū)域中的像素。與該邊界相鄰的像素至少包括邊界像素和與邊界像素相鄰的像素,并且如圖6所描繪的,可以包括三行/列與邊界像素相鄰的像素。此外或者可選地,增補(bǔ)操作可以包括濾波區(qū)域中的前次被濾波的宏塊。
為了解釋根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備的操作,假設(shè)存在在水平方向上4個(gè)宏塊大小而在垂直方向上3個(gè)宏塊大小的一幀。圖7是示出根據(jù)本發(fā)明的實(shí)施例的、將對其執(zhí)行濾波的幀的圖。
參照圖7,每個(gè)宏塊都具有編號。為了根據(jù)本發(fā)明的實(shí)施例以宏塊為單位執(zhí)行濾波,現(xiàn)在將解釋宏塊濾波操作的4種情況。具體來講,將解釋在水平方向上,在如宏塊MB1的濾波區(qū)域的第一種情況區(qū)域中和在如宏塊MB2的濾波區(qū)域的第二種情況區(qū)域中進(jìn)行的濾波操作。同樣,將解釋在垂直方向上,在如宏塊MB5的濾波區(qū)域的第三種情況區(qū)域中和在如宏塊MB6的濾波區(qū)域的第四種情況區(qū)域中進(jìn)行的濾波操作。
圖8是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第1種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖。
如果一個(gè)宏塊的運(yùn)動(dòng)補(bǔ)償(參照圖1)結(jié)束,則執(zhí)行宏塊的環(huán)路濾波。第一種情況示出了宏塊MB1的環(huán)路濾波過程。
參照圖6和8,將運(yùn)動(dòng)補(bǔ)償后的宏塊MB1存儲在緩沖器單元(L_BUF)620中。依賴于是哪一種情況,將在運(yùn)動(dòng)補(bǔ)償之后其重疊的變換已結(jié)束的宏塊MB1存儲在緩沖器單元(L_BUF)620中。圖8(A)示出了第一種情況的濾波目標(biāo)區(qū)域。由于宏塊MB1是第一切片的第一宏塊,因此行緩沖器630和列緩沖器640都為空。
參照圖8(B),示出了水平方向8×8的塊邊界的濾波過程。對標(biāo)記為黑色圓形的宏塊MB1中的水平方向8×8的塊邊界上的像素進(jìn)行濾波。當(dāng)宏塊MB5被濾波時(shí),對MB1下面的、宏塊MB1和宏塊MB5的邊界部分進(jìn)行濾波。同樣,當(dāng)相鄰宏塊MB2被濾波時(shí),對宏塊MB1的右手側(cè)上的4個(gè)像素列進(jìn)行濾波。因此,由粗虛線表示的部分上的像素是用于對黑色圓形像素進(jìn)行濾波的像素。
在由粗虛線表示的部分中,將作為所有12個(gè)垂直方向像素列的列向量順續(xù)輸入到圖6中所示的p0、p1、p2、p3、q0、q1、q2、q3鎖存器中。每列都有8個(gè)像素。也就是說,如圖所示,將上面的4個(gè)像素輸入到p3、p2、p1和p0中,而將下面的4個(gè)像素輸入到q0、q1、q2和q3中。
同樣,在圖8(B)的頂部,示出了12個(gè)列向量的輸入順序。
也就是,如圖5中所述,由于首先對4像素的段中的第三對像素進(jìn)行處理,所以首先在每個(gè)4像素的段中對第一、第五和第九個(gè)列向量進(jìn)行濾波。根據(jù)濾波結(jié)果,確定是否對4像素的段中的其余像素對進(jìn)行濾波。將輸入到p3、p2、p1、p0、q0、q1、q2和q3中的像素輸入到圖6中所示的濾波單元610,并在一個(gè)周期內(nèi)對其進(jìn)行濾波。執(zhí)行實(shí)際環(huán)路濾波的過程正如參照圖5所描述的那樣。在執(zhí)行實(shí)際環(huán)路濾波的過程中,能夠應(yīng)用包括由VC-1建議的濾波方法在內(nèi)的任意濾波方法。在濾波結(jié)果中,僅將與標(biāo)記為黑色圓形的塊邊界相對應(yīng)的像素輸入到圖6的P0和Q0中。當(dāng)確定需要進(jìn)行濾波時(shí),也就是,當(dāng)確定塊邊界部分不是圖像的輪廓,而是出現(xiàn)成塊偽像的部分時(shí),則用P0和Q0中的值更新緩沖器單元(L_BUF)620中的相應(yīng)值。
以同樣方式,執(zhí)行對第五、第六、第七和第八個(gè)列向量的濾波,然后執(zhí)行對第九、第十、第十一和第十二個(gè)列向量的濾波。如上所述,盡管對目標(biāo)區(qū)域中所包含的所有列向量執(zhí)行濾波,但是實(shí)際只對塊的邊界上的像素執(zhí)行存儲器更新。例如,在I圖像的情況下,僅僅在8×8的塊的邊界上執(zhí)行更新,而在P圖像的情況下,僅僅在編碼塊之間的邊界上執(zhí)行更新。
同時(shí),參照圖8(C),示出了垂直方向8×4的塊邊界的濾波過程。對由黑色圓形標(biāo)記的宏塊MB1中的垂直方向8×4的塊邊界上的像素進(jìn)行濾波。實(shí)際的濾波過程與圖8(B)中所描述的相同。
如果對宏塊MB1中的水平方向塊邊界上的像素的濾波結(jié)束,那么執(zhí)行對宏塊MB1中的垂直方向塊邊界上的像素的濾波。首先,如圖8(D)所示,對宏塊MB1中的垂直方向8×8的塊邊界上的像素進(jìn)行濾波。在此時(shí),當(dāng)宏塊MB5被濾波時(shí),執(zhí)行對塊邊界上的下面的8個(gè)像素行的濾波。同樣,當(dāng)相鄰宏塊MB2被濾波時(shí),對宏塊MB1的右手側(cè)上的4個(gè)像素列進(jìn)行濾波。因此,由粗虛線表示的部分中的像素是用來對黑色圓形像素進(jìn)行濾波的像素。接下來,如圖8(E)所示,對宏塊MB1中的垂直方向4×8的塊邊界上的像素進(jìn)行濾波。
盡管僅僅改變了垂直方向和水平方向,但是實(shí)際濾波過程與參照圖8(B)和8(C)所描述的濾波過程相同。將濾波結(jié)果臨時(shí)存儲在緩沖器單元620中,并且記錄在外部幀存儲器中。在宏塊MB1的情況下,由于僅僅改變了圖8(A)中所示的區(qū)域中的像素,因而將圖8(A)中所示的區(qū)域的數(shù)據(jù)記錄在外部幀存儲器中。圖8(F)示出了將要作為濾波的結(jié)果記錄在外部幀存儲器中的內(nèi)容。然后,為了執(zhí)行對作為下一宏塊的MB2的濾波,將與兩個(gè)塊的邊界部分相對應(yīng)的宏塊MB1的右手側(cè)上的像素的8×16部分裝載到列緩沖器640中。同樣,將要被濾波的宏塊MB2的像素的16×16部分裝載到緩沖器單元620中(參照圖6)。
同時(shí),圖9是示出根據(jù)本發(fā)明實(shí)施例的、在圖7所示的第二種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖。參照圖9,示出了宏塊MB2的濾波過程。圖9(A)示出了濾波目標(biāo)區(qū)域。除宏塊MB2之外,當(dāng)宏塊MB1被濾波時(shí),臨時(shí)存儲在列緩沖器640中的像素的8×16部分也包含在目標(biāo)區(qū)域中。
首先,在圖9(B)中將水平方向8×8的塊邊界上的、要被濾波的像素標(biāo)記為黑色圓形。當(dāng)下一切片或下一宏塊被濾波時(shí),對像素的下面的8×8部分和右手側(cè)上的4個(gè)像素列進(jìn)行處理,并且只有由粗虛線標(biāo)記的部分中的像素被用來對被標(biāo)記為黑色圓形的像素進(jìn)行濾波。也就是說,將總共16個(gè)列向量連續(xù)地輸入到圖6中所示的p和q個(gè)鎖存器中并加以濾波,所述16個(gè)列向量的每一個(gè)都是由8像素的列形成的。具體的濾波過程與參照圖8描述的相同。接下來,如圖9(C)所示,執(zhí)行8×4的水平邊界的濾波。所述濾波過程與上述相同。
同時(shí),在垂直方向上,分別在圖9(D)和9(E)中示出了8×8垂直邊界濾波和4×8垂直邊界濾波。參照圖9(D),根據(jù)在左手側(cè)上示出的順序連續(xù)地輸入由虛線表示的區(qū)域中的8個(gè)行向量并加以濾波。也就是說,分別將每個(gè)向量的8個(gè)像素輸入到p3、p2、p1、p0、q0、q1、q2和q3鎖存器中并加以濾波。盡管僅僅改變了垂直方向和水平方向,但是以與參照圖5所描述的方式相同的方式來對每個(gè)4像素的段執(zhí)行濾波過程。接下來,如圖9(E)所示,對4×8垂直邊界像素進(jìn)行濾波。此外,同樣地,分別在圖9(F)和9(G)中示出了對其余8×8的垂直邊界和4×8的垂直邊界的濾波過程。圖9(H)示出了作為濾波結(jié)果要被記錄在外部幀存儲器中的內(nèi)容。然后,為了對下一宏塊MB3進(jìn)行濾波,將與兩個(gè)塊的邊界相對應(yīng)的宏塊MB2的左手側(cè)上的像素的8×16部分裝載到列緩沖器640中。此外,將要被濾波的宏塊MB3的像素的16×16部分裝載到緩沖器單元620中(參照圖6)。由此,執(zhí)行對第一切片中水平方向上的宏塊MB1至MB4的濾波。
圖10A和10B是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第三種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖。參照圖10A和10B,示出了第二切片的第一宏塊MB5的濾波過程。在對宏塊MB4進(jìn)行濾波之后,將宏塊MB1的下面的16×8像素裝載到行緩沖器630中。此外,將要被濾波的宏塊MB5的16×16數(shù)據(jù)裝載到緩沖器單元620中。
在圖10(B)至10(E)中示出了對宏塊MB5中的水平方向8×8的邊界像素和8×4的邊界像素的濾波。盡管僅僅改變了目標(biāo)像素,但是濾波原理與參照圖8或9所描述的相同。此外,在圖10(F)和10(G)中示出了對垂直方向8×8的邊界像素和4×8的邊界像素的濾波。在圖10(H)中示出了濾波結(jié)果,并且將濾波的結(jié)果值記錄在外部存儲器中。
然后,為了對下一個(gè)宏塊進(jìn)行濾波,更新緩沖器單元620、行緩沖器630和列緩沖器640的內(nèi)容。應(yīng)當(dāng)注意的是在此時(shí),要被更新的像素不是濾波之前的前面的像素,而是進(jìn)行濾波所得到的像素。
圖11A和11B是示出根據(jù)本發(fā)明的實(shí)施例的、在圖7所示的第四種情況區(qū)域中以塊為單位按其執(zhí)行濾波的濾波順序的實(shí)施例的圖。參照圖11A和11B,(B)至(E)示出了對水平方向塊邊界像素的濾波過程,而(F)至(I)示出了對垂直方向塊邊界像素的濾波過程。將粗虛線中的像素記錄在外部幀存儲器中。根據(jù)相同的原理來執(zhí)行其余宏塊的濾波過程。
由此,與以幀為單位進(jìn)行濾波的常規(guī)VC-1濾波器相比,根據(jù)本發(fā)明的實(shí)施例的濾波設(shè)備特征在于以宏塊為單元執(zhí)行濾波。為此,進(jìn)一步包括單獨(dú)的行緩沖器630和列緩沖器640,以便臨時(shí)存儲有關(guān)前一宏塊的邊界部分的像素信息。
也就是,以宏塊為單位執(zhí)行水平8×8和8×4的塊邊界部分的濾波,并執(zhí)行垂直方向8×8和4×8的塊邊界部分的濾波。把要用來對下一宏塊進(jìn)行濾波的邊界部分上的像素存儲在行緩沖器或列緩沖器中,以便所述像素能被用在對下一宏塊進(jìn)行濾波中。
因此,使得能夠按照時(shí)間順序來進(jìn)行因果關(guān)系濾波,其中利用所述因果關(guān)系濾波來按宏塊的順序執(zhí)行濾波。結(jié)果,與以幀為單位進(jìn)行濾波相比,所需的存儲帶寬減小,并且還能夠防止幀延遲。
參照圖8至11B描述的實(shí)施例是以宏塊為單位進(jìn)行處理的濾波方法(方法1),所述方法適合于減小存儲帶寬。然而,方法1需要更為復(fù)雜的控制。將要參照圖12解釋的替換方法(方法2)稍微增加了存儲帶寬,但是相對于方法1需要較不復(fù)雜的控制。
圖12是示出根據(jù)本發(fā)明的替換實(shí)施例的、在水平和垂直劃分之后以塊為單位按其執(zhí)行濾波的濾波順序的圖。參照圖12,在方法2中,水平濾波和垂直濾波被分開。
也就是,對于宏塊MB1,如圖8(C)和(D)所示的那樣執(zhí)行濾波,而對于相同切片中的其余宏塊而言,以同樣方式執(zhí)行濾波。
對于下一切片的宏塊MB5,如圖10(B)和(C)所示的那樣執(zhí)行濾波,而對于第二切片中所包含的宏塊,以同樣方式執(zhí)行濾波。對其余切片進(jìn)行的濾波與對第二切片進(jìn)行的濾波相同。然而,在最后一個(gè)切片中,還需要用于對底部的16×8部分進(jìn)行濾波的過程。
如果如此結(jié)束了在水平方向上進(jìn)行的濾波,則在垂直方向上以同樣方式執(zhí)行濾波。也就是說,只有方向是不同的,而濾波方法是相同的。如果結(jié)束對每個(gè)宏塊進(jìn)行的濾波,則應(yīng)將結(jié)果記錄在外部幀存儲器中。
為了便于解釋起見,緩沖器單元、行緩沖器和列緩沖器的尺寸被限制為預(yù)定尺寸,但是在實(shí)際的實(shí)施中,能夠自由確定該尺寸。例如,緩沖器單元和行緩沖器的水平方向尺寸最大能被擴(kuò)展為一個(gè)切片的大小。
在這種情況下,行緩沖器的數(shù)據(jù)被裝載到存儲器中的帶寬得以減小。也就是,由于存儲帶寬隨著緩沖器尺寸的增大而減小,因此能夠適當(dāng)?shù)貓?zhí)行這兩者之間的調(diào)節(jié)。
上面描述了VC-1編解碼器中的濾波方法和設(shè)備。然而,能夠?qū)⑺龇椒ê驮O(shè)備以多種方式應(yīng)用于包括環(huán)路濾波器在內(nèi)的其它標(biāo)準(zhǔn)。也就是,應(yīng)該僅把所述實(shí)施例視作為是說明性的而非為了限制的目的,并且本領(lǐng)域普通技術(shù)人員將理解在不脫離如權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以作出形式和細(xì)節(jié)上的各種改變。
根據(jù)如上所述的本發(fā)明的實(shí)施例,提供了一種在視聽編解碼器中的濾波方法及其濾波設(shè)備,所述方法按照時(shí)間順序以宏塊為單位有因果關(guān)系地進(jìn)行濾波。也就是說,通過修改VC-1所采用的非因果關(guān)系環(huán)路濾波器并且進(jìn)一步設(shè)置預(yù)定緩沖器,能夠有效地對成塊偽像進(jìn)行濾波而不增加存儲帶寬或?qū)е聨舆t。
盡管已經(jīng)示出和描述了本發(fā)明的幾個(gè)實(shí)施例,但是本領(lǐng)域的技術(shù)人員將會認(rèn)識到在不脫離本發(fā)明的原理和精神的情況下可以對這些實(shí)施例作出改變,本發(fā)明的范圍是在權(quán)利要求及其等效物中限定。
權(quán)利要求
1.一種視聽編解碼器的濾波方法,包括確定以宏塊為單位的濾波區(qū)域;進(jìn)一步將宏塊和前一相鄰宏塊的邊界區(qū)域上的預(yù)定區(qū)域包含到該濾波區(qū)域中;以及按照時(shí)間順序來有因果關(guān)系地執(zhí)行濾波區(qū)域的去成塊濾波,所述濾波區(qū)域進(jìn)一步包括宏塊之間的邊界區(qū)域的預(yù)定區(qū)域。
2.如權(quán)利要求1所述的方法,其中,所述宏塊的邊界區(qū)域上的預(yù)定區(qū)域包括具有最少4個(gè)像素單位的多個(gè)像素。
3.如權(quán)利要求1所述的方法,其中,通過使用從宏塊的邊界區(qū)域開始的兩個(gè)方向中的每一個(gè)方向上的最少4個(gè)像素值來執(zhí)行所述去成塊濾波,相對于作為中心線的宏塊的邊界部分來對稱地設(shè)置像素值。
4.如權(quán)利要求3所述的方法,其中,按因果關(guān)系方法來執(zhí)行所述去成塊濾波,其中利用所述因果關(guān)系方法,在水平方向上對一個(gè)濾波區(qū)域執(zhí)行濾波,然后在垂直方向上對其執(zhí)行濾波,然后對下一濾波區(qū)域進(jìn)行濾波。
5.如權(quán)利要求4所述的方法,其中,在去成塊濾波中,在水平方向上,對8×8的塊邊界部分進(jìn)行濾波,然后對8×4的塊邊界部分進(jìn)行濾波,而在垂直方向上,對8×8的塊邊界部分進(jìn)行濾波,然后對4×8的塊邊界部分進(jìn)行濾波。
6.如權(quán)利要求1所述的方法,其中,所述視聽編解碼器符合電影電視工程師學(xué)會(SMPTE)的VC-1標(biāo)準(zhǔn)。
7.一種視聽編解碼器的濾波設(shè)備,包括緩沖器單元,其以宏塊為單位存儲濾波區(qū)域;行緩沖器和列緩沖器,其存儲緩沖器單元中所存儲的宏塊和與該所存儲的宏塊相鄰的前一宏塊的邊界部分的預(yù)定區(qū)域;和濾波單元,其按照時(shí)間順序來有因果關(guān)系地執(zhí)行對存儲在緩沖器單元、行緩沖器和列緩沖器中的濾波區(qū)域和邊界部分的預(yù)定區(qū)域的去成塊濾波。
8.如權(quán)利要求7所述的設(shè)備,其中,至少一個(gè)所述宏塊的邊界區(qū)域的預(yù)定區(qū)域包括具有最少4個(gè)像素單位的多個(gè)像素。
9.如權(quán)利要求7所述的設(shè)備,其中,通過使用從宏塊的邊界部分開始的兩個(gè)方向中的每一個(gè)方向上的最少4個(gè)像素值來執(zhí)行所述去成塊濾波,相對于作為中心線的宏塊的邊界部分來對稱地設(shè)置像素值。
10.如權(quán)利要求9所述的設(shè)備,其中,所述濾波單元按因果關(guān)系方法來執(zhí)行濾波,其中利用所述因果關(guān)系方法,在水平方向上對一個(gè)濾波區(qū)域執(zhí)行濾波,然后在垂直方向上對其執(zhí)行濾波,然后對下一濾波區(qū)域進(jìn)行濾波。
11.如權(quán)利要求10所述的設(shè)備,其中,所述濾波單元執(zhí)行濾波,以便在水平方向上,對8×8的塊邊界部分進(jìn)行濾波,然后對8×4的塊邊界部分進(jìn)行濾波,而在垂直方向上,對8×8的塊邊界部分進(jìn)行濾波,然后對4×8的塊邊界部分進(jìn)行濾波。
12.如權(quán)利要求12所述的設(shè)備,其中,所述視聽編解碼器符合電影電視工程師學(xué)會(SMPTE)的VC-1標(biāo)準(zhǔn)。
13.一種視聽編解碼器濾波設(shè)備,包括緩沖器,用于存儲第一濾波區(qū)域;行和列緩沖器,用于存儲第二濾波區(qū)域;和濾波器,用于按照時(shí)間順序來執(zhí)行對第一濾波區(qū)域和第二濾波區(qū)域的去成塊濾波。
14.如權(quán)利要求13所述的視聽編解碼器濾波設(shè)備,其中所述行和列緩沖器包括單獨(dú)的行緩沖器;和單獨(dú)的列緩沖器。
15.如權(quán)利要求13所述的視聽編解碼器濾波設(shè)備,其中,所述第一濾波區(qū)域包括宏塊。
16.如權(quán)利要求15所述的視聽編解碼器濾波設(shè)備,其中,所述第二濾波區(qū)域包括所述宏塊和第二宏塊之間的邊界區(qū)域。
17.如權(quán)利要求13所述的視聽編解碼器濾波設(shè)備,其中,所述視聽編解碼器符合電影電視工程師學(xué)會(SMPTE)的VC-1標(biāo)準(zhǔn)。
18.一種用于根據(jù)濾波方法控制視聽編解碼器的編解碼器可讀存儲器,所述方法包括確定要被濾波的多個(gè)宏塊;執(zhí)行對濾波區(qū)域的去成塊濾波,所述濾波區(qū)域包括多個(gè)宏塊中的至少一個(gè)以及多個(gè)宏塊中的一個(gè)和前一濾波后的宏塊的邊界區(qū)域。
19.如權(quán)利要求18所述的編解碼器可讀存儲器,其中,所述視聽編解碼器符合電影電視工程師學(xué)會(SMPTE)的VC-1標(biāo)準(zhǔn)。
20.一種視聽編解碼器濾波方法,包括為宏塊指定濾波區(qū)域;增補(bǔ)所述濾波區(qū)域;和對增補(bǔ)后的濾波區(qū)域進(jìn)行濾波。
21.如權(quán)利要求20所述的方法,其中,所述濾波區(qū)域的增補(bǔ)包括將與該宏塊的邊界像素相鄰的像素包含在該濾波區(qū)域中。
22.如權(quán)利要求21所述的方法,其中,所述濾波區(qū)域的增補(bǔ)包括將先前濾波的宏塊包含在該濾波區(qū)域中。
全文摘要
關(guān)于視聽編解碼器,提供了一種視聽編解碼器的濾波方法和濾波設(shè)備。所述視聽編解碼器的濾波方法包括確定以宏塊為單位的濾波區(qū)域;進(jìn)一步將確定為濾波區(qū)域的宏塊和前一相鄰宏塊的邊界區(qū)域上的預(yù)定區(qū)域包含到該濾波區(qū)域中;以及按照時(shí)間順序來有因果關(guān)系地執(zhí)行濾波區(qū)域的去成塊濾波。因此,通過修改VC-1所采用的非因果關(guān)系環(huán)路濾波器并且進(jìn)一步設(shè)置預(yù)定的緩沖器,能夠有效地對成塊偽像進(jìn)行濾波而不增加存儲帶寬或?qū)е聨舆t。
文檔編號H04N7/24GK1722842SQ20051009221
公開日2006年1月18日 申請日期2005年6月22日 優(yōu)先權(quán)日2004年6月22日
發(fā)明者宋秉哲 申請人:三星電子株式會社