專利名稱:生成用于去塊濾波器的邊緣掩碼的制作方法
技術(shù)領(lǐng)域:
所要求權(quán)利的本發(fā)明的實(shí)現(xiàn)一般可以涉及用于編碼和/或解碼視 頻信息的方案,更具體地說,涉及在它們的視頻處理中采用去塊濾 波器的這些方案。
背景技術(shù):
可以在幀或其它^L頻對象(如^L頻對象平面(VOP))內(nèi)分塊 組織;現(xiàn)頻信息。在一些^^頻編碼/解碼方案中, 一個(gè)塊可以包括一組 (2x2、 4x4、 8x8等)例如亮度(即,Y)象素。在色度(即,U/V 或Cr/Cb)象素中也可以反映類似的數(shù)據(jù)組織。在一些方案中,還可 將亮度和色度視頻信息塊集合成所謂的宏塊。但是,應(yīng)注意,上述 塊和宏塊大小只是示例性的,在各種視頻編碼/解碼方案中也可采用 其它大小和數(shù)量。
某些視頻編碼/解碼方案可以采用去塊濾波器來使相鄰塊之間的 邊緣平滑。這些去塊濾波器可以改善解碼后的視頻數(shù)據(jù)的外觀,并 且可以改善編碼后的視頻數(shù)據(jù)的壓縮性能。這種濾波可以應(yīng)用于亮 度和/或色度分量的相鄰塊的垂直和/或水平邊緣。采用去塊濾波器的 一些視頻方案可以包括但不限于高級視頻編碼(AVC)(如MPEG-4第10部分和ITU-T建議H.264 ) 、 Windows Media Video 9 (WMV-9 ) 和/或SMPTE的VC-1。
但是,對于一些宏塊,去塊濾波器可能不能對宏塊內(nèi)的所有可 能的垂直和水平邊緣進(jìn)行操作。在這些情況下,可以利用邊緣掩碼 來精確地指定將對哪些垂直邊緣和哪些水平邊緣濾波。為不同的宏 塊(或宏塊的若干部分)生成這樣的邊緣掩碼可能在給定的解碼和/ 或編碼過程中占用過長的時(shí)間。
附圖并入本說明書中并構(gòu)成本說明書的 一部分,它們示出和本 發(fā)明的原理 一致的一個(gè)或多個(gè)實(shí)現(xiàn),并且與本描述一起說明這些實(shí) 現(xiàn)。附圖不一定按比例繪制,而是將重點(diǎn)放在說明本發(fā)明的原理上。
圖中
圖1示出視頻編碼系統(tǒng)的一部分;
圖2示出圖1的系統(tǒng)中的示例性去塊濾波器;
圖3A和3B在概念上示出示例性數(shù)據(jù)緩沖器和邊緣掩碼;
圖4示出圖2的濾波器中的示例性邊緣掩碼發(fā)生器;
圖5A和5B示出宏塊位置偏移量;以及
圖6示出視頻數(shù)據(jù)的示例性去塊過程。
具體實(shí)施例方式
以下詳細(xì)描述參照附圖。不同的圖中可以使用相同的附圖標(biāo)記 來標(biāo)識(shí)相同或類似的元件。在以下描述中,為了說明而不是限制的 目的,闡述了諸如特定結(jié)構(gòu)、架構(gòu)、接口、技術(shù)等具體細(xì)節(jié),以便 充分理解所要求的發(fā)明的各個(gè)方面。但是,從本公開獲益的本領(lǐng)域 的技術(shù)人員將明白,所要求的發(fā)明的各個(gè)方面可以在不背離這些具 體細(xì)節(jié)的其它示例中實(shí)現(xiàn)。在某些情況下,省略了對眾所周知的裝 置、電路和方法的描述,以免讓不必要的細(xì)節(jié)混淆對本發(fā)明的描述。
圖1示出碎見頻編碼系統(tǒng)100的一部分。系統(tǒng)100可以包括解碼 器或編碼器,任何一個(gè)都可包括其它部分,為了清楚地說明,圖1 中沒有示出這些其它部分。例如,如圖所示的系統(tǒng)100部分可以在 熵解碼和重新排序之后設(shè)置在解碼器中,或者可以將它設(shè)置在編碼 器的重建路徑中。
如圖1所示的系統(tǒng)100部分可以包括逆量化器(Q") 110、逆變 換器(T1) 120和去塊濾波器130。逆量化器110可以縮放系數(shù)。該 縮放可以在量化之后在編碼器中執(zhí)行,或在熵解碼和重新排序之后在解碼器中執(zhí)行。
逆變換器120可以對由逆量化器UO輸出的縮放系數(shù)執(zhí)行逆變 換。在一些實(shí)現(xiàn)中,逆變換器120可以執(zhí)行離散余弦逆變換(IDCT)。 但是,在一些實(shí)現(xiàn)中,逆變換器120可以執(zhí)行另一逆變換,如逆哈 達(dá)瑪(Hadamard)變換、逆小波變換或其它目前已知或以后開發(fā)的 逆變換。逆變換器120可以產(chǎn)生重建的視頻數(shù)據(jù)塊或差異塊,這些 差異塊可以添加到預(yù)測塊(未示出)中以便產(chǎn)生重建的視頻數(shù)據(jù)塊。 通過任一種方法,逆變換器120可以為去塊濾波器130輸出重建的 數(shù)據(jù)塊(以及因此的宏塊)用于操作。
去塊濾波器130可以對視頻數(shù)據(jù)宏塊中的塊進(jìn)行操作。去塊濾 波器130可以對宏塊中的各塊之間的垂直和/或水平邊緣應(yīng)用濾波。 盡管去塊濾波器130可以進(jìn)行操作以便使宏塊中的各塊之間的邊緣 平滑,但它不一定對正好是一個(gè)宏塊的塊進(jìn)行操作。例如,去塊濾 波器130可以對大于一個(gè)宏塊的塊集合]乍用,或者可以對小于一個(gè) 宏塊的塊集合作用。
圖2示出去塊濾波器130的實(shí)現(xiàn)。去塊濾波器130可以包括緩 沖器210、邊緣掩碼發(fā)生器220和濾波器部分230。盡管為便于說明 而示為以某一方式連接,但圖2中的去塊濾波器130可以按其它配 置連接。例如,可以從緩沖器210直接輸出經(jīng)過濾波的視頻數(shù)據(jù), 而不是如圖所示那樣經(jīng)由濾波器230輸出。其它變化也是可能且可 設(shè)想其它變化。
緩沖器210可以包括用于在4丸行邊緣濾波時(shí)(例如,在此之前、 在此過程中等)存儲(chǔ)多個(gè)視頻數(shù)據(jù)塊的存儲(chǔ)器。例如,緩沖器210 可以包括同步或異步隨機(jī)存取存儲(chǔ)器(RAM)。在一些實(shí)現(xiàn)中,緩 沖器210的大小可以設(shè)計(jì)成用于容納約丄個(gè)宏塊(如8x8、 4x8、 8
x4、 4x4個(gè)塊)的視頻數(shù)據(jù)。在一些實(shí)現(xiàn)中,緩沖器210的大小可 以設(shè)計(jì)成用于容納大于一個(gè)宏塊的視頻數(shù)據(jù)。例如,緩沖器210還 可以包括用于存儲(chǔ)與宏塊相鄰的一個(gè)或多個(gè)塊的空間,如6x6塊布
置,這將在下文參照圖3A和3B進(jìn)行更詳細(xì)地描述。在一些實(shí)現(xiàn)中, 緩沖器210可以容納更多的數(shù)據(jù),如兩個(gè)或兩個(gè)以上宏塊。
可以將邊緣掩碼發(fā)生器220設(shè)置成用于生成邊緣掩碼,該邊緣 掩碼定義緩沖器210中的各塊內(nèi)待由濾波器部分230去塊-濾波的特 定邊緣。邊緣掩碼發(fā)生器220可以生成對應(yīng)于緩沖器210中的塊數(shù) 量的邊緣掩碼,但由于濾波器部分230的帶寬和/或其它處理限制, 可能不能對所有可能的邊緣進(jìn)行濾波。例如,在一些實(shí)現(xiàn)中,邊緣 掩碼發(fā)生器220可以為緩沖器210中的給定量的數(shù)據(jù)的多達(dá)6個(gè)水 平邊緣和/或多達(dá)6個(gè)垂直邊緣生成掩碼(例如,可以指導(dǎo)對它們進(jìn) 行濾波)。但是,在掩碼中標(biāo)識(shí)為去塊的更少或更多數(shù)量的水平和 垂直邊緣也是可以的。這些概念將參照圖3A和3B更詳細(xì)地說明。
圖3A在概念上示出包括塊310和將要濾波的水平邊緣320以及 對應(yīng)的水平邊緣掩碼330的示例性數(shù)據(jù)緩沖器210。為便于說明,圖 3A示出緩沖器210的將要濾波的水平邊緣,且圖3B示出緩沖器中 的同一數(shù)據(jù)的垂直邊緣。在如圖3A和3B所示的示例中,》爰沖器210 可以包括6x6個(gè)^L頻數(shù)據(jù)塊310。而且,在這6x6個(gè)塊內(nèi),宏塊可 以位于緩沖器210的最右下面的4x4個(gè)塊中,但宏塊也可以位于緩 沖器210內(nèi)的其它位置。
如圖所示,緩沖器210中的這6x6個(gè)塊可以包括塊中的5組水 平邊纟彖(^口 hedge O-hedge 4 )禾口;t丸中的5纟且垂直邊緣(^口 vedge O-vedge 4)。在圖3A中,將待濾波(如"待去塊")的6個(gè)水平邊緣320 相對于其它水平邊緣示為粗體。圖3A中還示出不濾波的水平邊緣, 但它們不是粗體。
水平邊緣掩碼330對應(yīng)于圖3A中的緩沖器210內(nèi)的指定邊緣。 掩碼330的大小(如5 x 5)表示緩沖器210中的6x6個(gè)塊內(nèi)的水平 邊緣的總數(shù)。掩碼330中將要濾波的邊緣示為"1",而不濾波的邊 緣示為"0"。盡管可以如圖所示表示邊緣掩碼330 (例如,表示成 5個(gè)由0和1的組成的組),但它也可以用更緊湊的格式表示,如一
個(gè)詞或兩個(gè)十六進(jìn)制字符。這些字符可以表示將經(jīng)由濾波器230對 哪些邊緣行以及那些行內(nèi)的哪些位置/邊緣去塊。
圖3B在概念上示出包括塊310和將要濾波的垂直邊緣340以及 對應(yīng)的垂直邊緣掩碼350的示例性數(shù)據(jù)緩沖器210。與圖3A中的六 個(gè)水平邊緣320相比,圖3B中只存在兩個(gè)將要濾波的垂直邊緣340。 在垂直邊緣掩碼350中,將這些將要濾波的垂直邊緣340示為"1", 而不濾波的垂直邊緣由"0"表示。
盡管圖3A和圖3B中分開介紹了邊緣掩碼330和350,但它們 在實(shí)現(xiàn)中不一定分開。例如,可以使用包括將要濾波的水平和垂直 邊緣的組合式邊緣掩碼。但是,在一些實(shí)現(xiàn)中,獨(dú)立的水平掩碼330 和垂直掩碼350可以從邊緣掩碼發(fā)生器220輸出到濾波器部分230。
或?qū)⒁獮V波的所有垂直邊緣340,從而允許用兩個(gè)詞來將一個(gè)完整的 邊緣掩碼傳輸給濾波器部分230。
圖4示出邊緣掩碼發(fā)生器220的一個(gè)實(shí)現(xiàn)。圖4中的發(fā)生器220 可以基于以下三個(gè)標(biāo)準(zhǔn)來生成邊緣掩碼1)視頻數(shù)據(jù)是亮度還是色 度類型的數(shù)據(jù);2)是想要重疊還是環(huán)內(nèi)濾波;以及3)相關(guān)宏塊在它 的視頻對象內(nèi)的位置。下文將對這些標(biāo)準(zhǔn)進(jìn)一步說明。邊緣掩碼發(fā) 生器220可以包括索引存儲(chǔ)器410、復(fù)用器420-440、組合器450和 掩碼存儲(chǔ)器460。
索引存儲(chǔ)器410可以包括用于存儲(chǔ)多個(gè)索引的存儲(chǔ)元件,如只 讀存儲(chǔ)器(ROM)或RAM。如圖所示,索引存儲(chǔ)器410可以存儲(chǔ)亮 度重疊(overlapping OV )表索引、亮度環(huán)內(nèi)(in-loop IL )表索引、 色度重疊表索引和色度環(huán)內(nèi)表索引。索引存儲(chǔ)器410中的索引可以 概念化為不同邊緣掩碼類別的組的數(shù)量。在圖4的發(fā)生器220中, 可以基于索引存儲(chǔ)器410中的索引選擇四種類別的邊緣掩碼,但是 在其它實(shí)現(xiàn)中,這個(gè)數(shù)字可以更小或更大。
復(fù)用器420-440可以在OV/IL和亮庹/色度選擇線的基礎(chǔ)上從索 引存儲(chǔ)器410選擇其中一個(gè)索引。復(fù)用器420和430可以基于所指 定的是IL還是OV濾波來選擇合適的亮度和色度索引。該濾波可以 由緩沖器210中的視頻數(shù)據(jù)的參數(shù)來指定,如數(shù)據(jù)序列層中的 INLOOP和/或OVERLAP標(biāo)記。復(fù)用器440可以基于緩沖器210中 的視頻數(shù)據(jù)是亮度數(shù)據(jù)還是色度數(shù)據(jù)來在這些亮度和色度索引之間 進(jìn)行選擇。在一些實(shí)現(xiàn)中,OV/IL和亮度/色度選擇線可以與復(fù)用器420 和430的輸入一起交換,以便從復(fù)用器440產(chǎn)生相同的輸出。
可以利用由復(fù)用器440輸出的"表索引"來選擇掩碼存儲(chǔ)器460 中的某個(gè)表。如下文將說明,可以利用圖4中的"宏塊位置偏移量" 來選擇由來自復(fù)用器440的表索引所指定的表中的某一項(xiàng)。將參照 圖5A和5B進(jìn)一步說明宏塊位置偏移量。
圖5A和5B示出宏塊位置偏移量。去塊濾波器130可以按照到 達(dá)順序?qū)陦K進(jìn)行處理,如MB。、 MB卩...、MBn.P其中見頻對 象(如幀)中宏塊的總數(shù)。每個(gè)宏塊可以位于對象/幀中的九個(gè)一般 位置之一處,并且該位置可以由視頻數(shù)據(jù)中的宏塊報(bào)頭參數(shù)字段定 義。
圖5A示出視頻數(shù)據(jù)幀510和宏塊在幀510內(nèi)的九個(gè)可能的位置。 這些位置中的四個(gè)位置可以位于幀510的"拐角,,處,在這些"拐 角"處, 一個(gè)宏塊與幀510的兩個(gè)邊界毗鄰。如圖所示,可以將這 些位置表示成"左上"、"右上"、"左下,,和"右下"。這些位 置中的四個(gè)位置可以沿著幀510的排除拐角以外的邊界,在這些邊 界處, 一個(gè)宏塊只和幀510的一個(gè)邊界毗鄰。如圖所示,可以將這 些位置表示成"內(nèi)上"、"內(nèi)右"、"內(nèi)下"和"內(nèi)左"??梢詫?不和幀510的任何邊界毗鄰的宏塊歸類為"內(nèi)-內(nèi)"。
圖5B示出宏塊位置/定位和對應(yīng)的十六進(jìn)制值的表520。這些十 六進(jìn)制值可以在宏塊的報(bào)頭信息中找到。例如,表520中的特定值 可以在用VC1方案編碼的視頻數(shù)據(jù)宏塊的m—bBoundary字段中找 到。但是,也可以在按照其它視頻編碼方案編碼的宏塊中找到類似
的位置值。表520中的這些位置值可以用于圖4中的邊緣掩碼發(fā)生 器220中的宏塊位置偏移量。
返回到圖4,組合器450可以將宏塊位置偏移量和表索引,以便 輸出所得索引值組合。在一些實(shí)現(xiàn)中,組合器450可以包括用于將 宏塊位置偏移量加到表索引中的加法器。在一些實(shí)現(xiàn)中,適當(dāng)時(shí), 組合器450可以包括用于在算術(shù)上(例如,減法器等)和/或在邏輯 上(例如,"與"、"異或"等)將宏塊位置偏移量和表索引組合 的其它邏輯。所得索引值可以指向掩碼存儲(chǔ)器460中的位置。
掩碼存儲(chǔ)器460可以包括適合存儲(chǔ)例.如索引表470和掩碼表480 的存儲(chǔ)元件,如ROM或RAM或任何類型的基于柵極的存儲(chǔ)設(shè)備。 索引表470可以由來自組合器450的所得索引值標(biāo)引。盡管為了便 于說明,圖4中只示出一個(gè)索引表470, ^f旦應(yīng)注意,這個(gè)表對應(yīng)于由 復(fù)用器440輸出的表索引。實(shí)際上,索引表470的數(shù)量可以對應(yīng)于 索引存儲(chǔ)器410中的表索引的數(shù)量(如四)。
表470中的哪個(gè)項(xiàng)。例如,如果宏塊索引值指示所述的宏塊是內(nèi)左 宏塊,那么所得索引值可以標(biāo)引表470中的"內(nèi)左"項(xiàng)。索引表470 中的這個(gè)項(xiàng)可以包含指向4務(wù)碼表480的指針或索引。
掩碼表480可以對應(yīng)于給定的索引表470 (例如,也可以存在多 個(gè)如上所述的表),并且可以包括將供寺塊濾波器的濾波器部 分230使用的對應(yīng)水平和垂直邊緣掩碼。例如,索引表470中的"內(nèi) 左"項(xiàng)可以指向掩碼表480中的水平邊緣掩碼Mask化(H)。表470中的 該項(xiàng)還可能隱含地指向掩碼表480中的垂直邊緣掩碼Maski(v),因?yàn)?該垂直邊緣掩碼可以是例如表480中緊跟在Mask化(H)之后的項(xiàng)。因 此,邊緣掩碼發(fā)生器220可以從掩碼表480中輸出指定將由濾波器 部分230去塊的水平邊緣的水平邊緣掩碼和指定將由濾波器部分230 去塊的垂直邊緣的垂直邊緣掩碼。
在一些實(shí)現(xiàn)(未示出)中,掩碼表480中的各項(xiàng)可以同時(shí)指定將要濾波的水平和垂直邊緣。例如,索引表470中的"內(nèi)左"項(xiàng)可 以指向掩碼表480中給定的水平和垂直編號(hào)邊緣n (n=0、 ...4;見圖 3A和3B,編號(hào)的Hedge和Vedge值)的組合垂直和水平邊緣掩碼 MasknIL(VH)。因此,例如,Mask3n^一H)可以指定將沿水平邊緣3去塊 的所有水平邊緣以及將沿垂直邊緣3去塊的所有垂直邊緣。表470 中的該項(xiàng)還可以隱含地指向表480中的其它編號(hào)邊緣n的一個(gè)或多 個(gè)額外Maskn化(vjj)值。對于掩碼表480,涉及那些本文明確描述的項(xiàng) 的不同編號(hào)和排列的其它方案和實(shí)現(xiàn)也是可以的。因此,邊緣掩碼 發(fā)生器220可以從掩碼表480中輸出為給定編號(hào)邊緣指定將由濾波 器部分230去塊的水平和垂直邊緣的一個(gè)或多個(gè)邊緣掩碼。
盡管為方便起見將要素470和480作為"表"進(jìn)行描述,但也 可以將它們實(shí)現(xiàn)為鏈接列表、一系列指針或任何其它合適的數(shù)據(jù)結(jié) 構(gòu)。此外,在一些實(shí)現(xiàn)中,可以在存儲(chǔ)器460中的單個(gè)數(shù)據(jù)結(jié)構(gòu)內(nèi) 布置邊緣掩碼Mask^。例如,可以將發(fā)生器450、表索引和宏塊位置 偏移量設(shè)計(jì)成使得所得索引值指向該結(jié)構(gòu)中的每隔一個(gè)值,以便同 時(shí)標(biāo)引水平邊緣掩碼和(隱含地)垂直邊緣掩碼。此外,其它實(shí)現(xiàn) 可以涉及同時(shí)指定宏塊內(nèi)將要濾波的水平和垂直邊緣的單個(gè)邊緣4備 碼。或者,可以為給定宏塊采用多于兩個(gè)邊緣掩碼(如水平和垂直)。 對于和本文的公開一致的邊緣掩碼發(fā)生器220,其它實(shí)現(xiàn)也是可以 的。
返回到圖2,濾波器部分230可以基于來自邊緣掩碼發(fā)生器220 的一個(gè)或多個(gè)邊緣掩碼對緩沖器210中的塊之間的水平和/或垂直邊 緣執(zhí)行去塊。對于由邊緣掩碼指定用于去塊的每個(gè)邊緣,濾波器部 分230可以影響所述的邊緣的任一邊上多達(dá)約三個(gè)樣本。濾波器部 分230所施加的濾波的強(qiáng)度可以取決于例如當(dāng)前的量化器、相鄰塊 的編碼模式和/或邊緣上的樣本的梯度。這些因素及其應(yīng)用于去塊通 常已知,這里不再贅述。
在一些實(shí)現(xiàn)中,濾波器部分230可以從緩沖器210讀取所有或大部分將要濾波的樣本。濾波器部分230可以在執(zhí)行去塊之后執(zhí)行 相應(yīng)的將濾波后的樣本寫入到緩沖器210中的操作。但是,在一些 實(shí)現(xiàn)中,濾波器部分230也可以在每個(gè)邊緣的基礎(chǔ)上執(zhí)行往來于緩 沖器210的去塊讀取和替換操作。
圖6示出視頻數(shù)據(jù)的示例去塊過程600。盡管為方便和清楚地說 明可以參照圖2中的去塊濾波器130描述圖6, ^f旦應(yīng)了解,過程600 可以由其它濾波器執(zhí)行。
處理可以從在緩沖器210中加載視頻數(shù)據(jù)[動(dòng)作610]開始。如前 所述,緩沖器210可以保存多于或少于一個(gè)宏塊的視頻數(shù)據(jù)。緩沖 器210還可以在任何時(shí)間存儲(chǔ)亮度和/或色度視頻數(shù)據(jù)。
基于緩沖器210中的視頻數(shù)據(jù)的類型,邊緣掩碼發(fā)生器220可 以生成用于指定緩沖器210中的塊之間的將要去塊的邊緣的一個(gè)或 多個(gè)邊緣:淹碼[動(dòng)作620]。例如,邏輯(如元件410-440)可以指定 特定表470,可以在該特定表470中查找將要濾波的邊緣。其它邏輯 (如組合器450)可以利用來自緩沖器210中的宏塊的信息來指定表 470內(nèi)進(jìn)一步指定邊緣的位置。在一些實(shí)現(xiàn)中,發(fā)生器220可以為將 要去塊-濾波的水平邊緣和垂直邊緣產(chǎn)生獨(dú)立的掩碼。但是,在一些 實(shí)現(xiàn)中,發(fā)生器220可以產(chǎn)生標(biāo)識(shí)水平和垂直邊緣的單個(gè)^f備碼。
處理可以繼續(xù),濾波器部分230基于來自發(fā)生器220的一個(gè)或 多個(gè)邊緣掩碼對緩沖器210中的視頻數(shù)據(jù)去塊-濾波[動(dòng)作630]。該處 理的順序很大程度上取決于加載在緩沖器210中的數(shù)據(jù),并且可以 遵循某些慣例,如先處理亮度數(shù)據(jù)再處理色度數(shù)據(jù)。也可以遵循其 它慣例,如先對水平邊緣去塊-濾波再對垂直邊緣去塊-濾波,或者先 對垂直邊緣去塊-濾波再對水平邊緣去塊-濾波。在對視頻數(shù)據(jù)濾波之 后,可以將它寫入到緩沖器210中,以便可以替換相應(yīng)的未經(jīng)濾波 的數(shù)據(jù)。
在對緩沖器210中的數(shù)據(jù)執(zhí)行完所有濾波之后,可以將該數(shù)據(jù) 卸載到它的處理鏈中的下一個(gè)目的地[動(dòng)作640]。如之前所提到的,該下一個(gè)目的地可以取決于濾波器130是位于解碼器中還是位于編 碼器中而改變。在一些實(shí)現(xiàn)中,當(dāng)對數(shù)據(jù)去塊時(shí),可以依序卸載鄉(xiāng)爰 沖器210,并且當(dāng)移除經(jīng)過濾波的數(shù)據(jù)時(shí),可以將新數(shù)據(jù)寫入到緩沖 器210中[動(dòng)作610]。在一些實(shí)現(xiàn)中,動(dòng)作640可能只有在濾波器部 分230處理完緩沖器210中的所有數(shù)據(jù)之后才發(fā)生(例如,當(dāng)對緩 沖器210中的數(shù)據(jù)完全去塊時(shí))。,
以上對一個(gè)或多個(gè)實(shí)現(xiàn)的描述提供了圖解和描述,但不希望它 們是獨(dú)占性的或?qū)⒈景l(fā)明的范圍限制在所公開的確切形式。根據(jù)以 上教導(dǎo),修改和改變是可能的,或者可以從本發(fā)明的各種實(shí)現(xiàn)的實(shí) 踐中獲得修改和改變。
例如,盡管描述成分立的功能單元,但圖2和圖4中的元件也 可以在硬件和/或固件的任意組合中(例如,在寄存器傳送邏輯(RTL) 或類似設(shè)計(jì)方案中)實(shí)現(xiàn)。此外,圖6中的動(dòng)作不需要按所示順序 實(shí)現(xiàn);也不一定要執(zhí)行所有動(dòng)作。而且,那些與其它動(dòng)作無關(guān)的動(dòng) 作可以和那些其它動(dòng)作并行才丸行。此外,可以將該圖中的至少一些 動(dòng)作實(shí)現(xiàn)為可以在機(jī)器可讀介質(zhì)中實(shí)現(xiàn)的指令或指令組。
除非明確描述,否則不應(yīng)將本申請的描述中所用的任何元件、 動(dòng)作或指令理解為對于本發(fā)明至關(guān)重要或必需。而且,本文所用的 冠詞"一"用于包括一個(gè)或多個(gè)項(xiàng)。在基本不背離本發(fā)明的精神和 原理的情況下,可以對所要求的發(fā)明的上述一個(gè)(或多個(gè))實(shí)現(xiàn)做 出改變和修改。希望所有這些修改和改變都在本文中包含在本^^開 的范圍內(nèi)并受隨附權(quán)利要求的保護(hù)。
權(quán)利要求
1.一種設(shè)備,包括存儲(chǔ)器,包括多個(gè)表,所述多個(gè)表包括標(biāo)識(shí)將要去塊濾波的邊緣的邊緣掩碼信息;第一邏輯,用于在所述多個(gè)表中指定一個(gè)邊緣掩碼信息表;以及第二邏輯,用于指定所述一個(gè)表內(nèi)的特定項(xiàng),所述特定項(xiàng)對應(yīng)于至少一組邊緣掩碼信息。
2. 如權(quán)利要求l所述的設(shè)備,其特征在于,所述第一邏輯包括 復(fù)用器,用于基于將要去塊濾波的視頻數(shù)據(jù)是亮度數(shù)據(jù)還是色度數(shù)據(jù)來輸出表索引。
3. 如權(quán)利要求l所述的設(shè)備,其特征在于,所述第一邏輯包括 復(fù)用器,用于基于將要去塊濾波的視頻數(shù)據(jù)是環(huán)內(nèi)數(shù)據(jù)還是重疊數(shù)據(jù)來輸出表索引。
4. 如權(quán)利要求l所述的設(shè)備,其特征在于,所述第二邏輯包括 組合器,用于將來自所述第 一 邏輯的表索引和與將要去塊濾波的視頻數(shù)據(jù)關(guān)聯(lián)的宏塊位置偏移量組合。
5. 如權(quán)利要求1所述的設(shè)備,其特征在于,所述一個(gè)表內(nèi)的所 述特定項(xiàng)包括指向所述至少 一組邊緣4務(wù)碼信息的指針。
6. 如權(quán)利要求5所述的設(shè)備,其特征在于,所述至少一組邊緣 掩碼信息包括水平邊緣掩碼和垂直邊緣掩碼。
7. 如權(quán)利要求1所述的設(shè)備,還包括索引存儲(chǔ)器,連接到所述第一邏輯且包括指向包括所述多個(gè)表 的存儲(chǔ)器的多個(gè)索引。
8. —種設(shè)備,包括緩沖器,用于存儲(chǔ)包括對應(yīng)于宏塊釣至少 一部分的塊的視頻數(shù)據(jù); 邊緣掩碼發(fā)生器,用于生成定義將要去塊的塊間邊緣的特定邊緣掩碼,所述邊緣掩碼發(fā)生器包括用于存儲(chǔ)多個(gè)邊緣掩碼的邊緣掩碼存儲(chǔ)器,和用于基于所述緩沖器中的所述視頻數(shù)據(jù)的類型和所述宏塊的位置偏移量在所述多個(gè)邊緣掩碼中選擇所述特定邊緣掩碼的邏輯;以及去塊濾波器,用于基于來自所述邊緣掩碼發(fā)生器的所述特定邊 緣掩碼對所述緩沖器中的視頻數(shù)據(jù)塊之間的邊緣進(jìn)行去塊。
9. 如權(quán)利要求8所述的設(shè)備,其特征在于,所述邊緣掩碼發(fā)生 器還包括索引存儲(chǔ)器,包括指向所述邊緣^f務(wù)碼存儲(chǔ)器的多個(gè)索引。
10. 如權(quán)利要求9所述的設(shè)備,其特征在于,所述邏輯還包括 至少一個(gè)復(fù)用器,用于基于所述緩沖器中的所述視頻數(shù)據(jù)是亮度數(shù)據(jù)還是色度數(shù)據(jù)來從所述索引存儲(chǔ)器中的所述多個(gè)索引中選擇 選定的索引;以及組合器,用于將所述選定的索引和所述宏塊的位置偏移量組合, 以便產(chǎn)生用于在所述邊緣掩碼存儲(chǔ)器中選擇所述特定邊緣掩碼的所 得索引。
11. 如權(quán)利要求10所述的設(shè)備,其特征在于,所述至少一個(gè)復(fù) 用器基于所述緩沖器中的所述視頻數(shù)據(jù)是重疊數(shù)據(jù)還是環(huán)內(nèi)數(shù)據(jù)來 從所述索引存儲(chǔ)器中的所述多個(gè)索引中選擇所述選定的索引。
12. 如權(quán)利要求8所述的設(shè)備,其特征在于,所述緩沖器存儲(chǔ)整 個(gè)視頻數(shù)據(jù)宏塊和不包含在所述宏塊中的至少一個(gè)相鄰視頻數(shù)據(jù) 塊。
13. 如權(quán)利要求8所述的設(shè)備,其特征在于,所述特定邊緣掩碼 包括一個(gè)或多個(gè)將要去塊的水平邊緣。
14. 如權(quán)利要求8所述的設(shè)備,其特征在于,所述特定邊緣掩碼 包括一個(gè)或多個(gè)將要去塊的垂直邊緣。
15. —種方法,包括將視頻數(shù)據(jù)加載到緩沖器中,所述視頻數(shù)據(jù)包括多個(gè)相鄰塊;基于所述緩沖器中的所述視頻數(shù)據(jù)的特性從多個(gè)存儲(chǔ)的索引中 選擇第一索引;將所述第一索引和從所述視頻數(shù)據(jù)獲得的宏塊位置偏移量組合,以便產(chǎn)生組合索引;基于所述組合索引生成至少一個(gè)邊緣掩碼;以及對所述緩沖器中的所述視頻數(shù)據(jù)濾疼,以便對由所述至少 一 個(gè)邊緣掩碼標(biāo)識(shí)的塊間邊緣去塊。
16. 如權(quán)利要求15所述的方法,還包括 在所述濾波之后從所述緩沖器卸載所述視頻數(shù)據(jù)。
17. 如權(quán)利要求15所述的方法,其特征在于,所述選擇包括 基于所述視頻數(shù)據(jù)是亮度數(shù)據(jù)還是色度數(shù)據(jù)來選擇所述第一索引。
18. 如權(quán)利要求15所述的方法,其特征在于,所述選擇包括 基于所述視頻數(shù)據(jù)是亮度數(shù)據(jù)還是色度數(shù)據(jù)來選擇所述第一索引。
19. 如權(quán)利要求15所述的方法,其特征在于,所述選擇包括 基于所述視頻數(shù)據(jù)中環(huán)內(nèi)標(biāo)記或重疊標(biāo)記的存在來選擇所述第一索引。 '
20. 如權(quán)利要求15所述的方法,其特征在于,所述生成包括 利用所述組合索引來查找水平邊緣掩碼和垂直邊緣掩碼。
全文摘要
一種去塊單元可以包括緩沖器、邊緣掩碼發(fā)生器和去塊濾波器。緩沖器可以存儲(chǔ)包括塊的視頻數(shù)據(jù)。這些塊可以對應(yīng)于宏塊的至少一部分。邊緣掩碼發(fā)生器可以生成特定的邊緣掩碼,該邊緣掩碼定義將要去塊的塊間邊緣。邊緣掩碼發(fā)生器可以包括用于存儲(chǔ)多個(gè)邊緣掩碼的邊緣掩碼存儲(chǔ)器和用于在這些邊緣掩碼中選擇特定邊緣掩碼的邏輯。該邏輯可以基于緩沖器中的視頻數(shù)據(jù)的類型和宏塊的位置偏移量進(jìn)行選擇。去塊濾波器可以基于來自邊緣掩碼發(fā)生器的特定邊緣掩碼對緩沖器中的視頻數(shù)據(jù)塊之間的邊緣去塊。
文檔編號(hào)G06T5/00GK101198983SQ200680021013
公開日2008年6月11日 申請日期2006年4月11日 優(yōu)先權(quán)日2005年4月11日
發(fā)明者R·奇特羅 申請人:英特爾公司