專利名稱::使用自適應(yīng)插值進(jìn)行視頻編解碼的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻編碼和解碼領(lǐng)域,更具體地,本發(fā)明涉及運動補償中自適應(yīng)插值的使用。
背景技術(shù):
:在大多數(shù)現(xiàn)有視頻壓縮系統(tǒng)和標(biāo)準(zhǔn)(如MPEG-2和JVT/H.264/MPEGAVC)中,編碼器和解碼器主要依靠于幀內(nèi)編碼和幀間編碼來實現(xiàn)壓縮。在幀內(nèi)編碼中,使用空間預(yù)測方法,而對于幀間編碼,通過利用畫面之間可能存在的時間相關(guān)來實現(xiàn)壓縮。具體而言,將先前編碼/解碼的畫面用作在后畫面的參考,同時采用運動估計和補償對這些畫面之間的任何運動行為進(jìn)行補償。圖1A示出了P畫面(幀)中的運動補償,而圖1B示出了B畫面(幀)中的運動補償。諸如H.264之類的更加高級的編解碼器也考慮了光照變化(例如,淡入/淡出期間),以便在需要時產(chǎn)生更加精確的預(yù)測。最后,也可以使用解塊(deblock)方法,以減少通過預(yù)測和量化過程產(chǎn)生的分塊偽像。分?jǐn)?shù)采樣插值(fractionalsampleinterpolation)是用于進(jìn)一步增強運動補償預(yù)測質(zhì)量的技術(shù)之一,這是因為該技術(shù)允許對運動進(jìn)行更加精確的表示。不是使用參考的實際采樣,而是采用濾波機制,其中首先使用先前定義的濾波器對參考內(nèi)的采樣進(jìn)行濾波(插值)。圖2示出了針對四分之一采樣luma插值的整數(shù)采樣(具有大寫字母的陰影塊)和分?jǐn)?shù)采樣位置(具有小寫字母的非陰影塊)。由于在圖像獲取過程中使用的低通濾波器的非理想特性,可能產(chǎn)生混疊,從而使插值和運動補償預(yù)測劣化。諸如MPEG-1/2,H.263和H.264(或JVT或MPEG-4AVC)之類的大多數(shù)視頻編碼結(jié)構(gòu)和編碼標(biāo)準(zhǔn)采用分?jǐn)?shù)采樣運動補償,以進(jìn)一步提高運動補償預(yù)測的效率。舊的標(biāo)準(zhǔn)主要基于用于生成分?jǐn)?shù)采樣位置的雙線性插值策略。為了減少混疊,H.264(或JVT或MPEG-4AVC)在降至1/4分?jǐn)?shù)采樣位置的插值過程中使用6抽頭維納(Wiener)插值濾波器,其濾波器系數(shù)是(l,-5,20,20-5,1)/32。圖3示出了H.264中的插值過程。參照圖3,使用非自適應(yīng)6抽頭濾波器來產(chǎn)生1/2分?jǐn)?shù)采樣位置上的采樣值。然后,非自適應(yīng)雙線性濾波器對1/2分?jǐn)?shù)位置上的采樣進(jìn)行濾波,以產(chǎn)生l/4分?jǐn)?shù)采樣位置上的采樣值。具體而言,對于luma,如果給定全采樣位置(xAL,yAL)至(xUL,yUL)上的采樣'A,至'U',則需要推導(dǎo)出分?jǐn)?shù)釆樣位置上的采樣'a,至's,。這是通過應(yīng)用上述的濾波器來首先計算半采樣位置(aa-hh和b,h,j,m和s)上的預(yù)測值而實現(xiàn)的,然后通過對全和半采樣位置上的采樣進(jìn)行平均,推導(dǎo)出四分之一采樣位置上的預(yù)測值。另一方面,針對色度,使用降至1/8采樣位置的雙線性插值。然而,不同的視頻信號可能具有不同的非平穩(wěn)統(tǒng)計特性(例如,混疊、紋理和運動),因而使用固定的濾波器仍是不夠的。己經(jīng)論述了自適應(yīng)分?jǐn)?shù)采樣插值方案,該方案允許在插值過程中更好地考慮到混疊。不使用H.264所用的固定6抽頭濾波器,而是針對每一幀來傳輸附加輔助信息,該輔助信息表示要在插值中使用的濾波器的濾波器系數(shù)。具體而言,可以將形式為(a,,a2,a3,a3,a2,ad的自適應(yīng)濾波器用于產(chǎn)生所有1/2采樣位置,然后通過雙線性插值產(chǎn)生1/4采樣??紤]到上述濾波器的對稱特性,只須對3個系數(shù)(a,,a2和a"進(jìn)行編碼。該方法易于擴展,以允許更長或更短的抽頭濾波器。在另一種現(xiàn)有技術(shù)中,不是對濾波器系數(shù)進(jìn)行顯式編碼,而是基于濾波器系數(shù)的典型分布來產(chǎn)生濾波器的碼本。這可以降低編碼器的復(fù)雜度(只需要測試給定的系數(shù)集合,盡管有人可能爭論也可以將先驗決策用于確定適當(dāng)范圍的濾波系數(shù)),最重要的可以稍微改進(jìn)/縮減對濾波系數(shù)的表示(即不需要3*12比特來表示濾波系數(shù)),假設(shè)所有濾波器具有相同的概率,則現(xiàn)在僅需要N個比特來表示多達(dá)2W個不同的濾波器??梢酝ㄟ^考慮不同1/2或1/4采樣位置上的不同濾波器,做出附加的考慮,這實質(zhì)上可以視為通過使用采樣位置作為指示符來對插值濾波器進(jìn)行調(diào)整。除了基于幀/全局(global)的濾波器調(diào)整之外,還論述了對塊級上濾波參數(shù)的調(diào)整的可能性。在一種現(xiàn)有技術(shù)中,對于每個塊,在編碼期間使用并傳輸4抽頭濾波器。盡管該方法可以改進(jìn)運動補償預(yù)測信號,但是由于附加地傳輸濾波器,該方法在比特開銷方面會有限制增加。此外,提出的是相鄰塊的插值濾波器之間的相關(guān)性極小。因此,該方法看起來不切實際并且效率較低。然而,可以使用基于宏塊(MB)的插值方法,該方法用信號通知并只考慮插值濾波器的預(yù)定集合。是否傳輸并使用這些插值濾波器的判決是在畫面級上進(jìn)行的。一些基于全局的插值方法未考慮信號的局部特性,因而可能限制了這些方法的性能。此外,未適當(dāng)考慮在諸如雙預(yù)測中存在多個參考的情況。在一種現(xiàn)有技術(shù)中,針對每個參考的插值濾波器實質(zhì)上對每個參考僅用信號通知一次,并對參考該畫面的后續(xù)畫面使用相同的插值。然而,因為運動、紋理等特性以及參考之間的關(guān)系可能隨時間改變,所以對于每個編碼幀,它的所有參考可以需要不同的插值濾波器。例如,假設(shè)需要變換Pn:fnk(Pk)來根據(jù)其參考尸k產(chǎn)生畫面尸n。另一方面,尸k與參考尸j可以具有關(guān)系Pk:fk,j(P」,其暗示在參考Pj可能不適合時使用fk.jO。此外,未考慮到雙預(yù)測部分,對于雙預(yù)測部分,單預(yù)測插值濾波器可能不適合。另一方面,基于塊的方法可能受到插值濾波器編碼的開銷顯著增加、或者所用濾波器的靈活性缺乏的影響。同樣,沒有考慮到雙預(yù)測。因此,最近提出了自適應(yīng)插值方案,該方案嘗試考慮這些特性,并針對每幀調(diào)整此類插值濾波器。這種方案實質(zhì)上需要傳輸用于每個幀的濾波參數(shù),此外對這種參數(shù)的估計過程也是必需的。但是,所提出的方法并沒有提供針對這種技術(shù)的最佳操作模式,導(dǎo)致了開銷增加,從而性能降低。此外,調(diào)整實質(zhì)上是在幀(全局)級上執(zhí)行的,并且沒有考慮到局部特性。
發(fā)明內(nèi)容公開了使用自適應(yīng)插值對視頻編碼和/或解碼的方法和設(shè)備。在一個實施例中,解碼方法包括對參考索引進(jìn)行解碼;對運動矢量進(jìn)行解碼;根據(jù)參考索引選擇參考幀;根據(jù)參考索引選擇濾波器;以及使用濾波器對參考幀的釆樣集合進(jìn)行濾波,以獲得預(yù)測塊,其中所述參考幀的采樣集合由所述運動矢量來確定。根據(jù)以下給出的詳細(xì)描述和本發(fā)明的不同實施例的附圖,將更加全面的理解本發(fā)明,然而,不應(yīng)將其認(rèn)為是使本發(fā)明限于特定實施例,而是僅用于解釋和理解。圖1A和1B分別示出了在(a)P和(b)B畫面中的運動補償。圖2示出了針對四分之一采樣luma插值的整數(shù)采樣和分?jǐn)?shù)采樣位置。圖3示出了H.264中使用的插值過程。圖4是編碼過程的一個實施例的流程圖。圖5是解碼過程的一個實施例的流程圖。圖6示出了插值過程的一個實施例。圖7是編碼器的另一實施例。圖8是解碼器的另一實施例。圖9示出了使用插值過程對參考列表產(chǎn)生的影響。圖10A和10B是用于確定插值參數(shù)的過程的可選實施例的流程圖。圖11是包括插值選擇的解碼過程的一個實施例的流程圖。圖12示出了對空間可縮放性的自適應(yīng)插值的考慮。圖13是計算機系統(tǒng)的一個實施例的框圖。具體實施例方式公開了包括自適應(yīng)插值濾波的視頻編碼和解碼結(jié)構(gòu)。不同于使用單個濾波機制來執(zhí)行分?jǐn)?shù)采樣插值的現(xiàn)有技術(shù),這里所描述的編碼方案使用自適應(yīng)信號通知機制,其中將每個部分分配給不同的分?jǐn)?shù)采樣插值濾波器。這可以允許對運動補償預(yù)測性能方面的進(jìn)一步改進(jìn),從而帶來比現(xiàn)有方法或標(biāo)準(zhǔn)高的編碼效率。在一個實施例中,這通過不是僅將單個參考索引而是將多個索引與參考畫面相關(guān)聯(lián)來實現(xiàn)。然后,將這些參考索引中每一個與不同的插值濾波機制相關(guān)聯(lián),這些插值濾波機制可以是對于解碼器己知的或者顯式地傳輸至解碼器。然后,基于與每個塊相關(guān)聯(lián)的參考指示符,選擇插值濾波器,而不需要附加的信號通知。這里所討論的編碼方案也允許以特定程度對所用濾波方法進(jìn)行局部調(diào)整,從而可以提高編碼效率。在另一實施例中,將這里所提出的技術(shù)應(yīng)用于空間可縮放視頻編碼,其中典型地,在這種應(yīng)用中,在下采樣期間引入的相移對下采樣和上采樣過程產(chǎn)生顯著影響。此外,這里所述的技術(shù)可以模仿加權(quán)預(yù)測的行為,甚至與現(xiàn)有的加權(quán)預(yù)測方法組合,從而為預(yù)測目的而進(jìn)一步提高靈活性。在以下描述中,描述了多種細(xì)節(jié)以對本發(fā)明提供更加詳盡的解釋。然而,對于本領(lǐng)域技術(shù)人員來說,顯而易見的是在沒有這些特定細(xì)節(jié)的情況下也可以實踐本發(fā)明。在其它實例中,以框圖形式而不是具體描述來示出了已知的結(jié)構(gòu)和設(shè)備,以避免使本發(fā)明不清楚。以下詳細(xì)描述的一些部分是在對計算機存儲器內(nèi)的數(shù)據(jù)比特進(jìn)行操作的算法和符號表示方面提供的。這些算法描述和表示是數(shù)據(jù)處理
技術(shù)領(lǐng)域:
的技術(shù)人員所使用的手段,以最有效地將他們的工作實質(zhì)傳達(dá)給本領(lǐng)域其它技術(shù)人員。這里,算法通常被認(rèn)為是達(dá)到期望結(jié)果的自身一致的步驟序列。這些步驟需要對物理量的物理操作。通常但非必要地,這些量采用能夠被存儲、傳送、組合、比較或處理的電或磁信號的形式。通常,主要由于慣用原因,將這些信號表示為比特、值、元素、符號、字符、術(shù)語、數(shù)字或其它是方便的。然而,應(yīng)該注意,所有這些和類似術(shù)語要與適合的物理量相關(guān)聯(lián),并且只是應(yīng)用于這些量的方便的標(biāo)記。除非具體說明,否則如從以下討論中顯而易見的,可以理解,在整個說明書中使用了如"處理"或"計算"或"運算"或"確定"或"顯示"等術(shù)語的討論指的是計算機系統(tǒng)或者類似的電子計算設(shè)備的動作和處理過程,這些系統(tǒng)或設(shè)備將表示為計算機系統(tǒng)的寄存器和存儲器內(nèi)的物理(電子)量的數(shù)據(jù)處理和轉(zhuǎn)換為類似地表示為計算機系統(tǒng)存儲器或寄存器或其他這種信息存儲、傳輸或顯示設(shè)備內(nèi)的物理量的其他數(shù)據(jù)。本發(fā)明還涉及用于執(zhí)行這里所述操作的設(shè)備。該設(shè)備是專門構(gòu)造以用于所需目的的,或者該設(shè)備可以包括通用計算機,該通用計算機由存儲在該計算機中的計算機程序選擇性地激活或重新配置。這種計算機程序可以存儲在計算機可讀存儲介質(zhì)中,例如但不限于,任何類型的盤(包括軟盤、光盤、CD-ROM和磁光盤)、只讀存儲器(ROM)、隨機存取存儲器(RAM)、EPROM、EEPROM、磁或光卡、或適于存儲電子指令的任何類型的介質(zhì),并且每個存儲介質(zhì)均與計算機系統(tǒng)總線連接。這里提供的算法和顯示不是與任何特定的計算機或其它設(shè)備固有相關(guān)的。多種通用系統(tǒng)可以與根據(jù)這里的示教的程序一起使用,或者可以方便地構(gòu)造更專用的設(shè)備來執(zhí)行所需要的方法步驟。用于這些系統(tǒng)的所需結(jié)構(gòu)將在下面的描述中顯而易見。此外,本發(fā)明不是參照任何特定的編程語言而描述的。可以理解,可以使用多種編程語言來實現(xiàn)這里所描述的發(fā)明。機器可讀介質(zhì)包括用于以機器(例如計算機)可讀形式存儲或傳輸信息的任何機構(gòu)。例如機器可讀介質(zhì)包括只讀存儲器("ROM")、隨機存取存儲器("RAM")、磁盤存儲介質(zhì)、光存儲介質(zhì)、閃存設(shè)備、電、光、聲或其它形式的傳播信號(例如載波、紅外信號、數(shù)字信號等)等。概述對自適應(yīng)分?jǐn)?shù)采樣插值的考慮為運動補償視頻編碼提供了顯著的益處。這是由于其可以提高預(yù)測信號的質(zhì)量。以下給出了包括這里所描述的自適應(yīng)技術(shù)的編碼和解碼過程的示例。圖4是編碼過程的一個實施例的流程圖。通過處理邏輯執(zhí)行該過程,該處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如在通用計算機系統(tǒng)或?qū)S脵C器上運行的)、或兩者的組合。參照圖4,該過程幵始于由處理邏輯使用多個參考來產(chǎn)生運動補償預(yù)測,其中,每個參考與一個或更多個參考索引相關(guān)聯(lián),每個參考索引與濾波器參數(shù)集合相關(guān)聯(lián),通過該濾波器參數(shù)集合對與特定參考索引相關(guān)聯(lián)的塊進(jìn)行濾波,以產(chǎn)生預(yù)測塊(處理塊401)。在一個實施例中,由運動補償模塊來執(zhí)行運動補償預(yù)測的產(chǎn)生。在一個實施例中,向參考中的每個部分或塊分配與不同的分?jǐn)?shù)釆樣插值濾波器相對應(yīng)的參考索引。在一個實施例中,每個濾波器參數(shù)集合與插值濾波器相對應(yīng)。在這種情況下,多個參考與多個濾波器參數(shù)集合相關(guān)聯(lián),所述多個濾波器參數(shù)集合與多個濾波器相對應(yīng)。在一個實施例中,插值濾波器對于對包含編碼視頻數(shù)據(jù)和編碼參考索引的比特流進(jìn)行解碼的解碼器來說是已知的。在另一實施例中,將插值濾波器顯式地傳輸至對包含編碼視頻數(shù)據(jù)和編碼參考索弓I的比特流進(jìn)行解碼的解碼器。在一個實施例中,濾波器包括與形式為(l,-5,20,20,-5,1}/32的參數(shù)相關(guān)聯(lián)的6抽頭濾波器、雙線性插值濾波器和雙三次插值濾波器中的一個或多個。在另一實施例中,濾波器包括一個或更多個2D濾波器。在一個實施例中,插值濾波器對于編碼器和對包含編碼視頻數(shù)據(jù)和編碼參考索引的比特流進(jìn)行解碼的解碼器來說都是已知的。在一個實施例中,濾波參數(shù)也是針對色度分量集合而定義的。針對一個色度分量的濾波參數(shù)可以是基于另一色度分量而確定的。處理邏輯使用運動補償預(yù)測,對包括有與輸入視頻數(shù)據(jù)和補償預(yù)測之間的殘差相對應(yīng)的數(shù)據(jù)的視頻數(shù)據(jù)進(jìn)行編碼(處理塊402),并對參考索引進(jìn)行編碼,以產(chǎn)生作為具有編碼視頻數(shù)據(jù)的比特流的一部分的編碼參考索引(處理塊403)。由于每個索引與濾波參數(shù)相關(guān)聯(lián),所以編碼數(shù)據(jù)對至解碼器的濾波參數(shù)進(jìn)行標(biāo)識。可以通過可變長度編碼器來執(zhí)行該編碼操作。解碼操作是編碼操作的逆過程。圖5是解碼過程的一個實施例的流程圖。由處理邏輯執(zhí)行該過程,該處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如在通用計算機系統(tǒng)或?qū)S脵C器上運行的)、或兩者的組合。參照圖5,該過程開始于由處理邏輯對具有編碼視頻數(shù)據(jù)的比特流進(jìn)行解碼,其中編碼視頻數(shù)據(jù)包括與從輸入視頻數(shù)據(jù)和運動補償預(yù)測之差得到的殘差數(shù)據(jù)相對應(yīng)的編碼數(shù)據(jù)(處理邏輯501)。在一個實施例中,處理邏輯也對運動矢量和參考索引進(jìn)行解碼??梢酝ㄟ^可變長度解碼器來執(zhí)行該解碼操作。接下來,處理邏輯使用多個參考來產(chǎn)生運動補償預(yù)測,其中,每個參考與多個參考索引相關(guān)聯(lián),每個參考索引與濾波器參數(shù)集合相關(guān)聯(lián),通過該濾波器參數(shù)集合對與特定參考相關(guān)聯(lián)的塊進(jìn)行濾波以產(chǎn)生分?jǐn)?shù)采樣位置(處理塊502)。在一個實施例中,由編碼器中的運動補償模塊或單元來產(chǎn)生運動補償預(yù)測。之后,處理邏輯將預(yù)測與殘差數(shù)據(jù)組合以產(chǎn)生視頻數(shù)據(jù)(處理塊503)。該組合操作可以由解碼器中的加法器執(zhí)行。圖6示出了插值過程的一個實施例。參照圖6,使用自適應(yīng)濾波器來產(chǎn)生1/2分?jǐn)?shù)采樣位置上的采樣值。然后,另一自適應(yīng)雙線性濾波器對1/2分?jǐn)?shù)位置上的采樣進(jìn)行濾波,以產(chǎn)生1/4分?jǐn)?shù)采樣位置上的采樣值。插值濾波器2可以與濾波器1相同或可以是雙線性的。然而,濾波器2也可以與濾波器1完全不同。如果是這種情況,則需要附加的信號通知。這里對如何信號通知和采用這種插值方法的有效策略進(jìn)行描述。句法示例H.264視頻編碼標(biāo)準(zhǔn)提供了將參考存儲器中給出的參考與多個參考索引相關(guān)聯(lián)的靈活性。下表l中示出了用于參考畫面列表重新排序的關(guān)聯(lián)句法。<table>tableseeoriginaldocumentpage13</column></row><table>在自適應(yīng)分?jǐn)?shù)采樣插值的框架內(nèi)利用了該特性。在一個實施例中,由于這種插值可能并非總是有用的,所以可以在較高級上(例如,編解碼器的畫面或序列參數(shù)集合)用信號通知單個參數(shù),該參數(shù)指示是否使用插值。例如,可以通過引入名為interpolatecLpred—flag的附加元素,如表2所示地對H.264畫面參數(shù)集合RBSP句法進(jìn)行修改。如果該元素存在,則也可以在較低句法層傳輸附加的插值參數(shù)。表2遠(yuǎn)議夢汰后游/Z.2W^游M面參教桌^/^S尸句茲<table>tableseeoriginaldocumentpage14</column></row><table>在一個實施例中,如果啟用了插值預(yù)測標(biāo)記,則用信號通知插值預(yù)測表(pred—interpolation—table)。表3包含將用于給定參考的所有插值濾波器信息。表3^議夢改后游//.2"^游#,教坷法<table>tableseeoriginaldocumentpage14</column></row><table><table>complextableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>表4中的預(yù)測插值表句法包含針對每個參考列表(列表0和列表1)內(nèi)的每個參考的所有插值信息。具體而言,這可以包括插值濾波器的類型(luma—interpolation—IX—type),該濾波器是僅用于l/2-pel位置而雙線性濾波器用于l/4-pd位置(如圖6所示)、還該濾波器是用于所有采樣(lumaJnterpolationJX—qpel),濾波器抽頭的個數(shù)(luma—filterJengthJX或luma—2DfilterJengthJX),濾波器精度(luma一filter—denom—lX和luma—filter—2Ddenom一lX),以及實際濾波器系數(shù)(luma—filter_tap—lX和luma—2Dfilter—coeffs—1X)。在一個實施例中,濾波器系數(shù)是可變長度編碼的(即ue(v))。在另一實施例中,濾波器系數(shù)是固定長度編碼的(u(N),N=8)。此外,在另一實施例中,例如相對于H.264默認(rèn)插值濾波器,選擇對濾波器系數(shù)的值的預(yù)測,因此如果使用差分編碼,則可以更加有效地編碼濾波器系數(shù)。類似的句法可以針對兩個列表、還可以針對色度分量(如果可用)(例如,如果chroma—format—idc不是0,0指示單色序列)而存在。也可以存在附加元素,該附加元素將雙預(yù)測與單預(yù)測插值濾波器分離,盡管也可以通過重新排序句法再次模仿該行為(即相同的參考可以與2個不詞的參考索引相關(guān)聯(lián)),對此,一個參考索引將與單預(yù)測插值濾波器相關(guān)聯(lián),而雙預(yù)測權(quán)重將會與另一個參考索引相關(guān)聯(lián)。表4連議游豫激薪澄表句法<table>tableseeoriginaldocumentpage17</column></row><table><table>tableseeoriginaldocumentpage18</column></row><table><table>complextableseeoriginaldocumentpage19</column></row><table>上表中的一個元素是濾波器類型(即luma—interpolation—1Xjype)。該元素指示較寬范圍的可能的插值濾波器之一。能夠指定較寬范圍的插值濾波器,這在所執(zhí)行的插值方面提供了附加靈活性。在一個實施例中,對于luma,在下表5中示出了所使用的插值方案。表5/扁a—z'她rpo/油'ow—/X—妙e游語義<table>tableseeoriginaldocumentpage20</column></row><table>可以針對色度做出類似的考慮,盡管在一個實施例中指定了兩個分量可以使用不同或相同的插值機制(即,可以使用luma—interpolation—IX—type向第二分量用信號通知這一點)。在另一實施例中,可以使用更加適合色度的其它濾波器,尤其重要的是可以將插值降至l/8pd等級。例如,在一個實施例中,在表6中給出了第一色度分量的chroma—interpolation—IX—type的語義。表(6c/zrama」'/7^7o/加'ow—/Jf一妙e/"(//"。7游語義chroma—interpolation」X—type[il<table>tableseeoriginaldocumentpage20</column></row><table>而對于第二分量,chroma—interpolation_lX_type[i][l]=0指示再使用第一分量的濾波器。在一個實施例中,表l中給出了該分配,或者可能基于第一條目來調(diào)整該表。表1c/zrawa_j>^eo/a"ow—/JT一妙e/"(//W游語義<table>tableseeoriginaldocumentpage21</column></row><table>備選實施例在一個實施例中,這里所描述的技術(shù)提供了用信號通知加權(quán)預(yù)測參數(shù)的備選方法。這甚至能夠進(jìn)一步與由諸如H.264之類的編解碼器所支持的現(xiàn)有加權(quán)參數(shù)進(jìn)行組合(即,使用隱式加權(quán)以及自適應(yīng)插值濾波器),并進(jìn)一步提高運動補償預(yù)測方面的靈活性并提高效率。編碼器和解碼器的基本結(jié)構(gòu)保持與傳統(tǒng)編碼器和解碼器類似(圖7和8)。圖7是編碼器的一個實施例的框圖。在一個實施例中,編碼器首先將輸入的比特流分為矩形陣列,稱為宏塊。對于每個宏塊,編碼器選擇是使用幀內(nèi)編碼還是幀間編碼。幀內(nèi)編碼僅使用包含在當(dāng)前視頻幀中的信息,并產(chǎn)生稱為I幀的壓縮結(jié)果。幀間編碼可以使用在當(dāng)前幀之前或之后出現(xiàn)的一個或更多個其它幀的信息。將僅使用來自先前幀的數(shù)據(jù)的壓縮結(jié)果稱為P幀,而將使用來自當(dāng)前幀之前和之后的數(shù)據(jù)的壓縮結(jié)果稱為B幀。參照圖7,將視頻701輸入編碼器。在對幀進(jìn)行編碼而不進(jìn)行運動補償?shù)那闆r下,將視頻幀輸入DCT703。DCT703執(zhí)行2D離散余弦變換(DCT)來產(chǎn)生DCT系數(shù)。通過量化器704對系數(shù)進(jìn)行量化。在一個實施例中,通過縮放器對量化器704所執(zhí)行的量化進(jìn)行加權(quán),QP。在一個實施例中,量化器縮放器參數(shù)QP采用從1至31的值。可以在畫面和宏塊級上修改QP值。之后,在VLC705處對量化系數(shù)進(jìn)行可變長度編碼,產(chǎn)生比特流720。在一個實施例中,VLC705通過使用一個符號來表示在諸如哈夫曼編碼之類的熵編碼階段中的三元組(最末,行程,等級),執(zhí)行熵編碼。應(yīng)注意,在一個實施例中,可以在VLC705之前執(zhí)行重新排序,其中對量化后的DCT系數(shù)進(jìn)行之字形掃描,從而以本領(lǐng)域公知的方式將2D系數(shù)陣列轉(zhuǎn)換為1D系數(shù)陣列。在這之后,可以進(jìn)行行程編碼,其中對與每個塊相對應(yīng)的重新排序后的量化系數(shù)的陣列進(jìn)行編碼,以更好地表示零系數(shù)。在這種情況下,每個非零系數(shù)被編碼為三元組(最末,行程,等級),其中"最末"指示這是否是塊中最后的非零系數(shù),"行程"指示在前的O系數(shù),"等級"指示系數(shù)符號和大小??梢员4鎺膹?fù)制幀以用作參考幀,對于I或P幀尤其如此。為此,由逆量化器706對從量化器704輸出的量化系數(shù)進(jìn)行逆量化。使用IDCT707向逆量化系數(shù)應(yīng)用DCT逆變換。在P幀的情況下,將所產(chǎn)生的幀數(shù)據(jù)與來自運動補償(MC)單元709的運動補償預(yù)測相加,然后使用環(huán)形濾波器712對所產(chǎn)生的幀進(jìn)行濾波,并將其存儲在幀緩沖器711中以用作參考幀。在I幀的情況下,從IDCT707輸出的數(shù)據(jù)不與來自MC單元709的運動補償預(yù)測相加,而使用環(huán)形濾波器712對該數(shù)據(jù)進(jìn)行濾波,并存儲在幀緩沖器711中。在P幀的情況下,使用來自在前I或P幀(這在本領(lǐng)域中統(tǒng)稱為參考幀)的幀間預(yù)測,對P幀進(jìn)行編碼。在這種情況下,由運動估計(ME)塊710和運動補償單元709執(zhí)行幀間預(yù)測。在這種情況下,運動估計單元710使用來自幀存儲器711的參考幀和和輸入視頻701,搜索參考幀中與當(dāng)前幀中的當(dāng)前宏塊匹配最佳的區(qū)域的位置。將運動估計單元710的運動矢量發(fā)送至運動補償單元709。在運動補償單元709處,使用減法器702從當(dāng)前宏塊中減去預(yù)測,以產(chǎn)生殘差宏塊。然后,如上所述,使用DCT703、量化器704和VLC705對該殘差進(jìn)行編碼。運動估計單元710向用于可變長度編碼705的VLC705輸出加權(quán)參數(shù)。VLC705的輸出是比特流720。圖8是解碼器的一個實施例的框圖。參照圖8,可變長度解碼器802接收到比特流801,并執(zhí)行可變長度解碼??勺冮L度解碼的輸出被發(fā)送至逆量化器803,該逆量化器803執(zhí)行與量化器704所執(zhí)行的量化相反的逆量化操作。逆量化器803的輸出包括經(jīng)過IDCT804的DCT逆變換的系數(shù),以產(chǎn)生圖像數(shù)據(jù)。在I幀的情況下,由環(huán)形濾波器821對IDCT804的輸出進(jìn)行濾波,將其存儲在幀緩沖器822中,并最終作為輸出860而輸出。在P幀的情況下,使用加法器805,將從IDCT804輸出的圖像數(shù)據(jù)與來自運動補償單元810的預(yù)測相加。運動補償單元810使用來自可變長度解碼器822的輸出(該輸出包括上述加權(quán)參數(shù))以及來自幀緩沖器822的參考幀。使用環(huán)形濾波器821對從加法器805輸出的所得到的圖像數(shù)據(jù)進(jìn)行濾波,并將其存儲在幀緩沖器822中,以作為輸出860的一部分而最終輸出。然而,關(guān)鍵差別在于如何處理參考列表以及如何執(zhí)行運動估計和補償,這是由于此時可以考慮不同/多種插值機制,并不僅僅是單個插值機制。圖9示出了對作為編碼器和/或解碼器一部分的參考列表使用的影響。在考慮運動估計和運動補償之前,首先對參考進(jìn)行組織并處理。參照圖9,將參考畫面存儲在存儲器卯l中。參考畫面是從編碼器或解碼器接收的。使用存儲在存儲器901中的參考畫面對列表0和列表1進(jìn)行初始化。在一個實施例中,所執(zhí)行的初始化是H.264標(biāo)準(zhǔn)的初始化,這是本領(lǐng)域公知的。應(yīng)注意,當(dāng)在運動估計和補償中使用B片時對列表l進(jìn)行初始化。在初始化之后,使用重新排序模塊904和905,分別對列表0和列表1中的參考進(jìn)行重新排序。在一個實施例中,執(zhí)行重新排序,以使最常使用的參考索引位于列表的開始。同樣,該重新排序是根據(jù)H.264標(biāo)準(zhǔn)執(zhí)行的,這是本領(lǐng)域公知的。在重新排序之后,對重新排序列表0中的每個參考執(zhí)行一系列函數(shù)906。類似地,對列表l中的參考執(zhí)行一系列函數(shù)907。將從函數(shù)906和907中得到的輸出發(fā)送至運動估計模塊908和運動補償模塊909(應(yīng)注意,模塊可以是硬件、軟件、固件或其組合)。運動補償模塊909使用這些函數(shù)906和907的輸出以及運動估計模塊908的輸出,針對編碼器和解碼器來執(zhí)行所產(chǎn)生的運動補償預(yù)測。應(yīng)注意,對于解碼器,由于運動信息是直接從比特流中可用的,所以解碼器不包括運動估計元件。在一個實施例中,將這里所描述的技術(shù)應(yīng)用于空間可縮放視頻編碼。在這種情況下,對于對基(低分辨率)層(用于預(yù)測當(dāng)前(高分辨率)層)的插值不是僅僅指定單個機制,而是可以使用重新排序命令向給定的低分辨率參考分配插值方法的完整集合。這產(chǎn)生了新的參考畫面集合,每個參考畫面與不同的參考索引和插值濾波器相關(guān)聯(lián)。在塊級上,參考索引同樣可以指示用于上采樣的插值方法,而無需任何額外開銷。圖12示出了針對空間可縮放性的自適應(yīng)插值。參照圖12,低分辨率緩沖器1201從低分辨率解碼器(未示出)接收層。高分辨率緩沖器從高分辨率解碼器(未示出)接收高分辨率層。參考初始化模塊1203使用來自低分辨率緩沖器1201的低分辨率層對參考進(jìn)行初始化。重新排序模塊1204使用重新排序命令將插值方法的集合分配給參考。在一個實施例中,這是采用H.264標(biāo)準(zhǔn)中所提出的方法進(jìn)行的。之后,使用上采樣器1205對從重新排序模塊1204輸出的層進(jìn)行上采樣。上采樣器1205應(yīng)用函數(shù)集合go,。(x,y)-g(),n(x,y)。運動補償模塊1207結(jié)合運動估計模塊1206對低分辨率的基層進(jìn)行插值和使用,以預(yù)測高分辨率的當(dāng)前層。該運動補償預(yù)測發(fā)送至高分辨率解碼器(或編碼器)。可以通過執(zhí)行多通路策略或通過考慮要編碼的內(nèi)容的特定特性,來選擇插值濾波器。在一個實施例中,使用初始濾波器對位移矢量的初始集合進(jìn)行估計。然后,通過在使用這些位移矢量執(zhí)行運動補償預(yù)測時最小化(或減小)預(yù)測誤差的能量,來估計每個塊的濾波器系數(shù)。然后,基于直方圖方法對濾波器進(jìn)行整理,并在必要時進(jìn)行改進(jìn),然后選擇最好的N個濾波器用于信號通知和最終編碼。圖10A是用于確定插值參數(shù)的過程的一個實施例的流程圖。該過程由處理邏輯執(zhí)行,該處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如在通用計算機系統(tǒng)或?qū)S脵C器上運行的)、或兩者的組合。參照圖10A,該過程開始于由處理邏輯對濾波器統(tǒng)計量進(jìn)行初始化(處理塊IOOI)。在一個實施例中,初始化濾波器統(tǒng)計量包括將直方圖初始化(HIST^T)。在一個實施例中,統(tǒng)計量負(fù)責(zé)的是每個濾波器被選擇了多少次。接下來,處理邏輯進(jìn)入循環(huán)(處理塊1002)。在該循環(huán)中,處理邏輯為緩沖器中的每個參考設(shè)置默認(rèn)插值濾波器(處理塊1003),并進(jìn)入另一循環(huán),在此循環(huán)中,對于每個塊,處理邏輯執(zhí)行運動估計(處理塊1005)、使用最佳運動矢量改進(jìn)插值濾波器(處理塊1006)、并更新直方圖HISTwT中的插值統(tǒng)計量(處理塊1007)。至運動估計的結(jié)果是確定了最佳運動矢量(MVbest)的位置。在處理了緩沖器中的每個參考的每個塊之后,處理邏輯轉(zhuǎn)移至處理塊IOIO,在此處理邏輯分析統(tǒng)計量以確定針對所有參考的最佳濾波器。在一個實施例中,處理邏輯査看HIST^T,以確定針對所有參考的最佳濾波器。然后,處理邏輯保持插值濾波器不變,對幀進(jìn)行重新編碼(處理塊1011)。在一個實施例中,作為對幀重新編碼的過程的一部分,處理邏輯改進(jìn)了運動估計和參考。之后該過程結(jié)束。在也可以具有較低復(fù)雜度成本的備選實施例中,考慮到每個參考,對每個塊執(zhí)行運動估計。使用來自每個參考的最佳運動矢量,也可以找到針對該參考的最佳插值濾波器。然而,可以僅考慮來自最佳參考的參數(shù),而丟棄所有其它參數(shù),以避免可能需要的任何額外處理。圖10B是用于確定插值參數(shù)的備選實施例的流程圖。該過程由處理邏輯執(zhí)行,該處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如在通用計算機系統(tǒng)或?qū)S脵C器上運行的)、或兩者的組合。參照圖10B,該過程開始于對每個塊進(jìn)行處理的循環(huán)(處理塊1020)。在該循環(huán)中,處理邏輯開始處理另一內(nèi)部循環(huán)(處理塊1021),在該內(nèi)部循環(huán)中,對于緩沖器中的每個參考,處理邏輯設(shè)置默認(rèn)插值濾波器(處理塊1022),執(zhí)行運動估計以找到最佳運動矢量(MV^t)(處理塊1024),并使用最佳運動矢量(MV^t)改進(jìn)插值濾波器(處理塊1024)。一旦處理了緩沖器中的所有參考,則內(nèi)部環(huán)路結(jié)束。之后,在外部循環(huán)中繼續(xù)進(jìn)行處理,其中處理邏輯選擇最佳參考(處理塊1027)并基于來自最佳參考的統(tǒng)計量來更新HISTwT中的插值統(tǒng)計量(處理塊1026)。外部循環(huán)繼續(xù)進(jìn)行,直至對每個塊進(jìn)行了處理,之后,外部循環(huán)結(jié)束(處理塊1028)。一旦已處理了每個塊,處理邏輯便更新首部信息,并對比特流進(jìn)行編碼和/或?qū)懭?處理塊1029)。也可以對插值濾波器施加其它限制(即,對于每個參考所允許的濾波器的最大數(shù)目,對于引入每個新濾波器時的損失(penalty)的考慮等),這也有助于確定最佳濾波器。在解碼器端,可以基于參考索引立即確定插值濾波器,并由此執(zhí)行插值,而不會對任何其它解碼過程產(chǎn)生影響。圖11是由解碼器執(zhí)行的插值選擇性過程的一個實施例的流程圖。該過程由處理邏輯執(zhí)行,該處理邏輯可以包括硬件(例如電路、專用邏輯等)、軟件(例如在通用計算機系統(tǒng)或?qū)S脵C器上運行的)、或兩者的組合。參照圖ll,該過程開始于對包括重新排序信息、加權(quán)參數(shù)信息和插值信息的片信息進(jìn)行解碼(處理塊1101)。在一個實施例中,重新排序信息包括重新排序命令。在對片信息進(jìn)行解碼之后,處理邏輯產(chǎn)生參考列表(處理塊1102)。然后處理邏輯針對每個塊進(jìn)行循環(huán)(處理塊1103),在該循環(huán)中處理邏輯對每個列表i的參考索引ri進(jìn)行解碼(處理塊1104),對包括運動矢量和加權(quán)參數(shù)的運動信息進(jìn)行解碼(處理塊1105),基于選擇r。和n選擇插值濾波器(處理塊1106),并使用所選濾波器和運動矢量參數(shù)來執(zhí)行運動補償(處理塊1107)。之后,循環(huán)結(jié)束(處理塊1108)。在循環(huán)結(jié)束之后,該過程結(jié)束。已經(jīng)示出了自適應(yīng)分?jǐn)?shù)采樣插值,以對運動補償視頻編碼提供附加益處。可以通過利用在特定視頻編碼標(biāo)準(zhǔn)(如H.264)中提供的重新排序機制,使用這里所描述的技術(shù)來有效地考慮和表示這種自適應(yīng)分?jǐn)?shù)采樣插值機制;當(dāng)序列的局部特性在混疊方面發(fā)生改變時,提高編碼效率(即,針對給定比特率,增大PSNR);以及提高空間可縮放視頻編碼結(jié)構(gòu)的編碼效率。示纖教織圖13是可以執(zhí)行這里所描述的操作中的一個或更多個的示例性計算機系統(tǒng)的框圖。參照圖13,計算機系統(tǒng)1300可以包括示例性客戶端或服務(wù)器計算機系統(tǒng)。計算機系統(tǒng)1300包括用于進(jìn)行信息通信的通信機制或總線1311、以及與總線1311連接以處理信息的處理器1312。處理器1312包括微處理器,但是并不限于例如PentiumTM,powerPCTM,AlphaTM之類的微處理器。系統(tǒng)1300還包括隨機存取存儲器(RAM)、或與總線1311連接并用于存儲要由處理器1312執(zhí)行的信息和指令的其它動態(tài)存儲設(shè)備1304(稱為主存儲器)。主存儲器1304也可以用于在處理器1312執(zhí)行指令期間存儲臨時變量或其它中間信息。計算機系統(tǒng)1300也包括只讀存儲器(ROM)和/或與總線1311連接以存儲處理器1312使用的存儲靜態(tài)信息和指令的其它靜態(tài)存儲設(shè)備1306、以及諸如磁盤或光盤以及相應(yīng)盤驅(qū)動之類的數(shù)據(jù)存儲設(shè)備1307。數(shù)據(jù)存儲設(shè)備1307與總線1311連接并用于存儲信息和指令。計算機系統(tǒng)1300還可以與諸如陰極射線管(CRT)或液晶顯示器(LCD)之類的顯示設(shè)備1321連接,該顯示設(shè)備1321與總線1311連接以向計算機用戶顯示信息。字母數(shù)字輸入設(shè)備1322(包括字母數(shù)字和其它按鍵)也可以與總線1311連接以向處理器1312通信信息和命令選擇。附加的用戶輸入設(shè)備是與總線1311連接的光標(biāo)控制設(shè)備1323(如鼠標(biāo)、跟蹤球、觸摸板、手寫筆或光標(biāo)方向按鍵),用于向處理器1312通信方向信息和命令選擇,并用于控制顯示器1321上的光標(biāo)移動。可以與總線1311連接的另一設(shè)備可以是硬拷貝設(shè)備1324,其可以用于在諸如紙張、膠片或類似類型的介質(zhì)上標(biāo)注信息??梢耘c總線1311連接的另一設(shè)備是能夠與電話或手持掌上設(shè)備進(jìn)行通信的有線/無線通信功能1325。注意,系統(tǒng)1300的組件中的任何一個或全部及相關(guān)硬件均可以用于本發(fā)明。然而,可以理解,計算機系統(tǒng)的其它配置可以包括這些設(shè)備中的一些或全部。無庸置疑,在閱讀了上述說明書之后,本發(fā)明的許多替換和修改對于本領(lǐng)域普通技術(shù)人員來說是顯而易見的,要理解,通過示例示出并描述的任何特定實施例并不意在限定本發(fā)明。因此,對于各種實施例的細(xì)節(jié)的參考并不意在限制權(quán)利要求的范圍,權(quán)利要求本身記載了作為本發(fā)明必要內(nèi)容的特征。權(quán)利要求1、一種視頻編碼器,包括運動補償模塊,用于使用一個或更多個參考來產(chǎn)生運動補償預(yù)測的預(yù)測部分,其中一個或更多個參考中每一個均與一個或更多個參考索引相關(guān)聯(lián),所述多個參考索引中的每一個均與濾波器參數(shù)集合相關(guān)聯(lián),通過所述濾波器參數(shù)集合對與所述參考索引相關(guān)聯(lián)的部分進(jìn)行濾波,以產(chǎn)生所述預(yù)測部分;以及編碼器,用于對視頻數(shù)據(jù)進(jìn)行編碼,所述視頻數(shù)據(jù)包括與輸入視頻數(shù)據(jù)和來自所述運動補償模塊的補償預(yù)測之間的殘差相對應(yīng)的數(shù)據(jù)。2、一種編碼方法,包括使用多個參考來產(chǎn)生運動補償預(yù)測,其中多個參考中的每一個均與多個參考索引相關(guān)聯(lián),其中所述多個參考索引中的每一個均與濾波器參數(shù)集合相關(guān)聯(lián),通過所述濾波器參數(shù)集合對與每個參考相關(guān)聯(lián)的塊進(jìn)行濾波,以產(chǎn)生分?jǐn)?shù)采樣位置;以及對視頻數(shù)據(jù)進(jìn)行編碼,所述視頻數(shù)據(jù)包括與輸入視頻數(shù)據(jù)和來自所述運動補償模塊的補償預(yù)測之間的殘差相對應(yīng)的數(shù)據(jù)。3、一種制造產(chǎn)品,具有一個或更多個存儲有指令的可讀介質(zhì),所述指令在被系統(tǒng)執(zhí)行時使所述系統(tǒng)執(zhí)行包括以下步驟的編碼方法使用多個參考來產(chǎn)生運動補償預(yù)測,其中一個或更多個參考中的每一個均與一個或更多個參考索引相關(guān)聯(lián),所述多個參考索引中的每一個均與濾波器參數(shù)集合相關(guān)聯(lián),通過所述濾波器參數(shù)集合對與每個參考相關(guān)聯(lián)的塊進(jìn)行濾波,以產(chǎn)生分?jǐn)?shù)采樣位置;以及對視頻數(shù)據(jù)進(jìn)行編碼,所述視頻數(shù)據(jù)包括與輸入視頻數(shù)據(jù)和來自所述運動補償模塊的補償預(yù)測之間的殘差相對應(yīng)的數(shù)據(jù)。4、一種設(shè)備,包括解碼器,用于對參考索引和運動矢量進(jìn)行解碼;運動補償模塊,用于根據(jù)所述參考索引,選擇參考幀以及多個濾波器之一,所選濾波器對由運動矢量確定的、所述參考幀的采樣集合進(jìn)行濾波,以獲得預(yù)測塊。5、一種用于在視頻解碼器中產(chǎn)生預(yù)測塊的方法,包括對參考索引進(jìn)行解碼;對運動矢量進(jìn)行解碼;根據(jù)所述參考索引來選擇參考幀;根據(jù)所述參考索引來選擇濾波器;以及使用所述濾波器對所述參考幀的采樣集合進(jìn)行濾波,以獲得預(yù)測塊,其中所述參考幀的采樣集合是由所述運動矢量確定的。6、一種制造產(chǎn)品,具有一個或更多個存儲有指令的可讀介質(zhì),所述指令在被系統(tǒng)執(zhí)行時使所述系統(tǒng)執(zhí)行包括以下步驟的用于產(chǎn)生預(yù)測塊的方法對參考索引進(jìn)行解碼;對運動矢量進(jìn)行解碼;根據(jù)所述參考索引來選擇參考幀;根據(jù)所述參考索引來選擇濾波器;以及使用所述濾波器對所述參考幀的采樣集合進(jìn)行濾波,以獲得預(yù)測塊,其中所述參考幀的采樣集合是由所述運動矢量確定的。7、一種用于在視頻解碼器中產(chǎn)生預(yù)測塊的方法,包括以下步驟對第一參考索引和第二參考索引進(jìn)行解碼;對第一運動矢量和第二運動矢量進(jìn)行解碼;根據(jù)所述第一參考索引選擇第一參考幀,并根據(jù)所述第二參考索引選擇第二參考幀;根據(jù)所述第一參考索引選擇第一濾波器,并根據(jù)所述第二參考索引選擇第二濾波器;使用所述第一濾波器對所述第一參考幀的第一采樣集合進(jìn)行濾波,以獲得第一塊,其中所述第一參考幀的第一采樣集合是由所述第一運動矢量確定的;使用所述第二濾波器對所述第二參考幀的第二采樣集合進(jìn)行濾波,以獲得第二塊,其中所述第二參考幀的第二采樣集合是由所述第二運動矢量確定的;以及組合所述第一塊和所述第二塊,以獲得所述預(yù)測塊。8、一種空間可縮放編碼器,使用自適應(yīng)分?jǐn)?shù)采樣插值機制對一個或更多個增強層進(jìn)行編碼,并指定如下方式針對所述增強層內(nèi)的每個塊,通過其與參考索引的關(guān)聯(lián),執(zhí)行低分辨率層的插值。9、一種空間可縮放解碼器,包括解碼器,用于對比特流進(jìn)行解碼;上采樣模塊,用于使用自適應(yīng)分?jǐn)?shù)插值濾波器對低分辨率層進(jìn)行上采樣,所述適應(yīng)分?jǐn)?shù)插值濾波器是由分配給每個塊的多個參考索引之一指示的。全文摘要公開了使用自適應(yīng)插值進(jìn)行視頻編碼和/或解碼的方法和設(shè)備。在一個實施例中,解碼方法包括對參考索引進(jìn)行解碼;對運動矢量進(jìn)行解碼;根據(jù)參考索引選擇參考幀;根據(jù)參考索引選擇濾波器;以及使用所述濾波器對參考幀的采樣集合進(jìn)行濾波,以獲得預(yù)測塊,其中所述參考幀的采樣集合是由所述運動矢量確定的。文檔編號H04N7/26GK101208957SQ200680022776公開日2008年6月25日申請日期2006年6月23日優(yōu)先權(quán)日2005年6月24日發(fā)明者亞歷山德羅斯·圖拉皮斯,弗蘭克·賈·博森申請人:株式會社Ntt都科摩