專利名稱:視頻編碼和解碼的自適應模版匹配預測的方法和裝置的制作方法
技術領域:
本原理一般涉及視頻編碼和解碼,且更具體地涉及用于視頻編碼和解碼的模版匹配預測的自適應殘差更新的方法和裝置。
背景技術:
模版匹配預測(TMP)可以通過避免運動/位移信息(運動矢量、參考索引以及位移矢量)的傳送來增加幀間和幀內(nèi)預測二者的編碼效率。然而,從使用TMP獲得的預測高度依賴于目標塊和其鄰近像素之間的相關性(即,模版(template))。由此,模版匹配通常使用相對小的塊,諸如2X2,或者甚至像素作為處理單元。在很多基于塊的編碼器和解碼器中,通過變換大小來確定基本塊大小,其通常大于模版匹配操縱的塊單元?;緣K大小將進一步劃分為用于模版匹配預測的子塊。由于模版匹配利用鄰近像素(例如,上方和左側(cè)鄰居(neighbor))作為用于搜索的模版,一些子塊的模版可以包括來自鄰近子塊的一些像素。然而,僅僅可以在預測了整個基本塊之后將該殘差添加到預測中,這是因為一旦完全預測了基本塊就可以應用變換。由此,模版的一些部分可以包括不是通過添加殘差來重構(gòu)的一些預測數(shù)據(jù)。雖然使用模版中的預測數(shù)據(jù)可以在子塊邊界避免可能的塊化(Wockiness)JM這種使用可以引起低質(zhì)量匹配結(jié)果,這是因為預測數(shù)據(jù)可能比重構(gòu)數(shù)據(jù)具有更多的信息損失?;灸0嫫ヅ漕A測是基于在視頻畫面中存在很多重復的圖案的假設。在同樣的考慮下,模版匹配通過匹配鄰近像素在解碼視頻畫面中搜索相似圖案。由于后向預測特性,模版匹配可以避免開銷(諸如運動矢量或者位移矢量)的傳送,并且由此改進編碼性能。此外,模版匹配可以用于幀間和幀內(nèi)預測二者中。幀間預測的模版匹配預測幀間預測的模版匹配預測是在不發(fā)送運動矢量的情況下預測目標像素的一種方式。給出幀的目標塊,通過從參考樣本集找到最優(yōu)像素來確定塊中的目標像素,其中最優(yōu)像素的相鄰像素具有與目標像素的相鄰像素最高的相關性。目標像素的那些相鄰像素稱作模版。在現(xiàn)有技術中,通常從目標像素的重構(gòu)的周圍像素取得模版。轉(zhuǎn)到圖1,由參考標號100總體地指示幀間預測的模版匹配預測方案的示例。模版匹配預測方案100涉及具有搜索區(qū)域111、搜索區(qū)域111內(nèi)的預測112以及關于預測112的鄰域113的重構(gòu)參考幀110。模版匹配預測方案100還涉及具有目標塊151、關于目標塊151的模版152以及重構(gòu)區(qū)域153的當前幀150。在幀間預測的情形下,模版匹配處理可以被看作解碼器側(cè)的運動矢量搜索。在此,執(zhí)行的模版匹配很相似于傳統(tǒng)運動估計技術。即,對于參考幀中的相應位移的模版形狀的區(qū)域,通過計算成本函數(shù)來評估運動矢量。模版的最佳運動矢量然后用于預測目標區(qū)。為了搜索僅僅訪問其中已經(jīng)存在重構(gòu)或者至少預測信號的圖像的那些區(qū)。由此,解碼器在不需要附加邊信息(side information)的情況下能夠執(zhí)行模版匹配處理并且預測目標區(qū)。模版匹配可以在不需要傳送運動矢量的情況下預測目標塊中的像素。如果目標塊和其模版之間的相關性為高,則期望模版匹配預測的預測性能與傳統(tǒng)塊匹配方案的預測性能是相當?shù)?。在現(xiàn)有技術中,從目標像素的重構(gòu)空間鄰近像素取得模版。鄰近像素有時具有與目標像素低的相關性。由此,模版匹配預測的性能可以低于傳統(tǒng)塊匹配方案。
_9] 幀內(nèi)預測的模版匹配預測
在幀內(nèi)預測中,模版匹配是可用的非局部預測方法之一,這是因為通過遠離目標塊的像素可以生成預測。在幀內(nèi)模版匹配中,模版定義類似幀間模版匹配的模版定義。然而,一個區(qū)別是,搜索范圍限于當前畫面的解碼部分。轉(zhuǎn)到圖2,由參考標號200總體地指示幀內(nèi)預測的模版匹配預測方案的示例。模版匹配預測方案200涉及畫面277的解碼部分210。畫面277的解碼部分210具有搜索區(qū)域211、搜索區(qū)域211內(nèi)的候選預測212以及關于候選預測212的鄰域213。模版匹配預測方案200還涉及畫面277的未解碼部分220。畫面277的未解碼部分220具有目標塊221、關于目標塊221的模版222。為了簡化,以下描述是基于幀內(nèi)模版匹配。然而,本領域和相關領域的普通技術人員認識到可以容易地擴展中貞間模版對應物(counterpart)。模版預測中的殘差更新方案由于模版匹配可以避免附加開銷,所以其在預測視頻畫面中的相對粒狀區(qū)(grainy area)時通過最小化這種區(qū)通常所需的伴隨的附加開銷而具有優(yōu)點。為了利用模版匹配的該優(yōu)點,預測期間的目標塊通常小于基本編碼塊。例如,在國際標準化組織/國際電工委員會(IS0/IEC)運動圖像專家組-4 (MPEG-4)第10部分高級視頻編碼(AVC)標準/國際電信聯(lián)盟、電信分部(ITU-T) H. 264推薦標準(下文是“MPEG-4AVC標準”)中,基本編碼塊大小可以是4X 4或8 X 8。在一個現(xiàn)有技術方法中,模版匹配的目標塊大小定義為2X2,其是基本編碼塊4X4的大小的一半。轉(zhuǎn)到圖3,由參考標號300總體地指示幀內(nèi)模版匹配預測的子劃分塊的示例。幀內(nèi)模版匹配預測涉及畫面377的解碼部分310。畫面377的解碼部分310具有搜索區(qū)域311以及該搜索區(qū)域內(nèi)的候選預測312,以及關于候選預測312的鄰域313。幀內(nèi)模版匹配預測還涉及畫面377的未解碼部分320。畫面377的未解碼部分320具有目標塊321 (也稱為圖3的示例中幀內(nèi)模版匹配預測的子劃分塊)以及關于該目標塊321的模版322。由于變換大小通常等于基本塊大小(MPEG-4AVC標準中存在4X4變換和8X8變換),這意味著在至少預測了整個基本塊之后才可以使預測殘差被變換、量化和更新。由此,在與較小目標塊大小匹配的模版中,模版可以包括來自之前預測子塊的一些預測數(shù)據(jù)。該方法被稱為“方法I”。轉(zhuǎn)到圖4A-D,由參考標號400總體地指示子塊和它們的模版的示例。圖4的示例與前述“方法I”對應。在該示例中,基本塊410被劃分為4個子塊(分別由參考標號1、2、3和4指示),其每一個是模版匹配預測的相應目標塊。參考圖4A,由參考標號411指示目標塊I的模版,由參考標號412指示模版匹配預測的目標塊(應用于基本塊),以及由參考標號413指不基本塊大小。參考圖4B,由參考標號421和422代表的區(qū)域指不目標塊2的豐旲版。參考圖4C,由參考標號431和432代表的區(qū)域指不目標塊3的I旲版。參考圖4D,由參考標號441、442和443代表的區(qū)域指示目標塊4的模版。四個目標塊的預測處理涉及以下步驟(I)通過使用鄰近像素生成目標塊(例如,目標塊I)的模版;(2)為這個目標塊搜索匹配并且生成預測;(3)利用其預測更新該目標塊;(4)為目標塊2、3和4重復步驟(I)到(3);(5)獲得整個基本塊的殘差塊;(6)變換整個殘差塊、量化系數(shù)并且逆變換量化后的系數(shù);
(7)通過添加預測塊和量化的殘差塊生成重構(gòu)塊;(8)完成基本塊。由于目標塊I是塊的第一子塊,其模版中的像素都來自重構(gòu)畫面。然而,對于其他目標塊,諸如目標塊2,其模版需要具有來自目標塊I的一些像素。因此,當預測目標塊2時,剛好已經(jīng)預測了目標塊I但未被重構(gòu),這是因為還未完成變換和量化,直至在步驟(6)預測了四個目標塊。由此,對于目標塊2的模版,其模版的一些部分來自目標塊I的預測數(shù)據(jù)。當通過模版匹配預測其他目標塊(即,除了目標塊I之外,如上所述,目標塊I的模版中的像素都來自重構(gòu)畫面)時存在相同的問題。將之前目標塊的預測數(shù)據(jù)并入當前目標塊的模版可以使得整個基本塊的預測平滑地改變。此外,可以在當所有目標塊完全被預測時應用大的變換(以及伴隨的量化)時從使用該大的變換中獲得優(yōu)點。然而,將預測數(shù)據(jù)并入到匹配模版中可能傳播預測誤差并且使得預測變的更0差。
發(fā)明內(nèi)容
通過本原理解決了現(xiàn)有技術的這些和其他缺陷和不足,本原理致力于視頻編碼的模版匹配預測的自適應殘差更新的方法和裝置。按照本原理的一方面,提供了一種裝置。該裝置包括視頻編碼器,用于使用模版匹配預測編碼畫面中至少一個塊的畫面數(shù)據(jù)。模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。根據(jù)本原理的另一個方面,提供一種視頻編碼器中的方法。該方法包括使用模版匹配預測編碼畫面中至少一個塊的畫面數(shù)據(jù)。模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。根據(jù)本原理的又一方面,提供一種裝置。該裝置包括視頻解碼器,用于使用模版匹配預測解碼畫面中至少一個塊的畫面數(shù)據(jù)。模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。根據(jù)本原理的又一方面,提供一種視頻解碼器中的方法。該方法包括使用模版匹配預測解碼畫面中至少一個塊的畫面數(shù)據(jù)。模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。根據(jù)本原理的另一方面,提供一種裝置。該裝置包括視頻編碼器,用于使用模版匹配預測編碼畫面中的塊。模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在完成關于模版匹配預測的塊處理之前將變換應用到該特定子塊的殘差。根據(jù)本原理的又一方面,提供一種視頻編碼器中的方法。該方法包括使用模版匹配預測編碼畫面中的塊。模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在完成關于模版匹配預測的塊處理之前將變換應用到該特定子塊的殘差。 根據(jù)本原理的又一方面,提供一種裝置。該裝置包括視頻解碼器,用于使用模版匹配預測解碼畫面中的塊。模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在完成關于模版匹配預測的塊處理之前將變換應用到該特定子塊的殘差。根據(jù)本原理的附加方面,提供一種視頻解碼器中的方法。該方法包括使用模版匹配預測解碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在完成關于模版匹配預測的塊處理之前將變換應用到該特定子塊的殘差。從下面結(jié)合附圖閱讀的示例性實施例的詳細描述中,本原理的這些和其他方面、特征和優(yōu)點將變得明顯。
按照下列示例性附圖可以更好理解本原理,附圖中圖I是示出幀間預測的模版匹配預測方案的示例的圖;圖2是示出幀內(nèi)預測的模版匹配預測方案的示例的圖;圖3是示出幀內(nèi)模版匹配預測的子劃分塊的示例的圖;圖4A-D是共同地示出子塊和它們的模版的示例的圖;圖5是示出按照本原理實施例的、可以應用本原理的示例性視頻編碼器的框圖;圖6是示出按照本原理實施例的、可以應用本原理的示例性視頻解碼器的框圖;圖7是示出按照本原理實施例的視頻編碼器中用于模版匹配預測的自適應殘差更新的示例性方法的流程圖;圖8是示出按照本原理實施例的視頻解碼器中用于模版匹配預測的自適應殘差更新的示例性方法的流程圖;圖9是示出按照本原理實施例的視頻編碼器中用于模版匹配預測的自適應殘差更新的另一示例性方法的流程圖;圖10是示出按照本原理實施例的視頻解碼器中用于模版匹配預測的自適應殘差更新的另一示例性方法的流程圖;圖11是示出按照本原理實施例的視頻編碼器中用于模版匹配預測的自適應殘差更新的又一示例性方法的流程圖;圖12是示出按照本原理實施例的視頻解碼器中用于模版匹配預測的自適應殘差更新的又一示例性方法的流程圖;圖13是示出按照本原理實施例的視頻編碼器中用于模版匹配預測的自適應殘差更新的又一示例性方法的流程圖;以及
圖14是示出按照本原理實施例的視頻解碼器中用于模版匹配預測的自適應殘差更新的又一示例性方法的流程圖。
具體實施例方式本原理致力于用于視頻編碼和解碼的模版匹配預測的自適應殘差更新的方法和
>J-U裝直。本說明書圖示了本原理。因此,將要認識,本領域的技術人員將能夠設想出盡管在此未明顯地描述或示出、但體現(xiàn)本原理并且被包含在其精神和范圍之內(nèi)的各種布置。在此敘述的所有示例和條件性語言是教學性的目的,旨在輔助讀者理解由(多個) 發(fā)明人為推動技術進步而貢獻的本原理和構(gòu)思,并且應當被理解為不局限于這樣具體敘述的示例和條件此外,本文敘述本原理的原理、方面和實施例、以及其特定示例的所有語句旨在涵蓋其結(jié)構(gòu)和功能兩者的等效物。另外,這樣的等效物旨在包括當前已知的等效物、以及將來開發(fā)的等效物兩者,即,與結(jié)構(gòu)無關,開發(fā)出來執(zhí)行相同功能的任何元件。因此,例如,本領域技術人員將認識,本文呈現(xiàn)的方框圖代表體現(xiàn)本原理的例示性電路的概念圖。類似地,將認識,任何流程圖、流向圖、狀態(tài)轉(zhuǎn)移圖、偽碼等代表實質(zhì)上可以表示在計算機可讀介質(zhì)中并因此可被計算機或處理器執(zhí)行的各種處理,無論這樣的計算機或處理器是否顯式示出。在圖中示出的各種元件的功能可以通過使用專用硬件以及能夠與適當軟件相關聯(lián)地執(zhí)行軟件的硬件來提供。當由處理器提供時,這些功能可以由單個專用處理器,單個共享處理器,或其中一些可以共享的多個單獨處理器提供。此外,術語“處理器”或“控制器”的顯式使用不應該理解為唯一地指代能夠執(zhí)行軟件的硬件,也可以不受限制地隱式包括數(shù)字信號處理器(“DSP”)硬件、存儲軟件的只讀存儲器(“ROM”)、隨機存取存儲器(“RAM”)、和非易失性存儲設備。也可以包括常規(guī)的和/或定制的其他硬件。類似地,在圖中示出的任何開關都只是概念性的。它們的功能可以通過程序邏輯運算,通過專用邏輯,通過程序控制和專用邏輯的交互,或甚至人工實現(xiàn),正如從上下文中更具體理解到的那樣,具體技術可由實現(xiàn)者選擇。在本文的權(quán)利要求書中,表達成執(zhí)行指定功能的部件的任何元件旨在包含執(zhí)行那種功能的任何方式,例如,包括a)執(zhí)行那種功能的電路元件的組合,或b)任何形式的軟件,因此,包括固件、微代碼等,與執(zhí)行那種軟件的適當電路組合來執(zhí)行那種功能。如這樣的權(quán)利要求書定義的本原理基于各種所述部件提供的功能被以權(quán)利要求書要求的方式組合和聚集在一起的事實。因此,認為可以提供那些功能的任何部件都等效于本文所示的那些部件。在說明書中提到本原理的“一個實施例”或“實施例”,以及其其他變型,意味著結(jié)合該實施例所描述的具體特征、結(jié)構(gòu)、特性等被包括在本原理的至少一個實施例中。因此,出現(xiàn)在整個說明書的各個地方的短語“在一個實施例中”或“在實施例中”,以及任何其他變型的出現(xiàn)未必都指代相同實施例。此外,要認識,本文相互交換地使用措辭實施例和實現(xiàn)方式。
將要認識,如下和/或”、和“至少一個”的任何一種的使用,例如,在“A/B”、“A和/或B”、和“A和B的至少一個”的情況下,旨在包含只選擇第一列出選項(A),或只選擇第二列出選項(B),或選擇兩個選項(A和B)。作為進一步的示例,在“A、B和/或C”和“A、B和C的至少一個”的情況下,這樣的措詞旨在包含只選擇第一列出選項(A),或只選擇第二列出選項(B),或只選擇第三列出選項(C),或只選擇第一和第二列出選項(A和B),或只選擇第一和第三列出選項(A和C),或只選擇第二和第三列出選項(B和C),或選擇所有三個選項(A、B和C)。本領域及相關領域的普通技術人員容易明白,這可以推廣到許多列出項。此外,如本文中所使用的,詞語“畫面”和“圖像”相互交換地使用并且指代靜止圖像或者來自視頻序列的畫面。如所知的,畫面可以是一幀或一場。 此外,如本文所使用的,詞語“發(fā)信號”指代向?qū)慕獯a器指示什么。例如,編碼器可以用信號發(fā)送一個或者多個殘差更新方案,以使得解碼器注意到在編碼器側(cè)使用哪個特定殘差更新方案。以此方式,可以在編碼器側(cè)和解碼器側(cè)二者使用相同的殘差更新方案。 因此,例如,編碼器可以將特定的一個或者多個殘差更新方案傳送到解碼器,使得解碼器可以使用相同的特定殘差更新方案,或者,如果解碼器已經(jīng)具有特定的一個或者多個殘差更新方案以及其他,那么可以使用信令(而不用傳送),以簡單地允許解碼器知道并且從殘差更新方案的較大分組中選擇特定的一個或者多個殘差更新方案。通過避免傳送任何實際的殘差更新方案,可以實現(xiàn)比特節(jié)省。要認識到,可以以多種方式完成信令。例如,可以使用一個或者多個語法元素、標志等等來將信息用信號發(fā)送到對應的解碼器,另外,如在本文中使用的,詞語“基本塊”指代在編碼器和解碼器中應用預定義變換的塊。為了例示和描述的目的,通過使用MPEG-4AVC標準作為描述的基準并且解釋超出MPEG-4AVC標準的改進和擴展,本文在改進MPEG-4AVC標準的上下文中描述示例。然而,要認識本原理不單獨限于MPEG-4AVC標準和/或其擴展。給出本文提供的本原理的教導,本領域和相關領域的普通技術人員將容易理解,當將其應用至其他標準的擴展或者當將其應用和/或并入尚未開發(fā)的標準內(nèi)時,本原理是等同地可應用的并且將提供至少類似的益處。要進一步認識到,本原理還應用至不符合標準而是符合專用定義的視頻編碼器和視頻解碼器。轉(zhuǎn)到圖5,可以應用本原理的示例性視頻編碼器總體地用附圖標號500指示。視頻編碼器500包括幀排序緩沖器510,其具有與組合器585的非反向輸入端進行信號通信的輸出端。組合器585的輸出端與變換器和量化器525的第一輸入端進行信號通信連接。變換器和量化器525的輸出端與熵編碼器545的第一輸入端以及逆變換器和逆量化器550的第一輸入端進行信號通信連接。熵編碼器545的輸出端與組合器590的第一非反向輸入端進行信號通信連接。組合器590的輸出端與輸出緩沖器535的第一輸入端進行信號通信連接。編碼器控制器505的第一輸出端與幀排序緩沖器510的第二輸入端、逆變換器和逆量化器550的第二輸入端、畫面類型判定模塊515的輸入端、宏塊類型(MB類型)判定模塊520的第一輸入端、巾貞內(nèi)預測模塊560的第二輸入端、去塊濾波器565的第二輸入端、運動補償器570的第一輸入端、運動估計器575的第一輸入端以及參考畫面緩沖器580的第二輸入端進行信號通信連接。編碼器控制器505的第二輸出端與補充增強信息(SEI)插入器530的第一輸入端、變換器和量化器525的第二輸入端、熵編碼器545的第二輸入端、輸出緩沖器535的第二輸入端以及序列參數(shù)集(SPS)和畫面參數(shù)集(PPS)插入器540的輸入端進行信號通信連接。SEI插入器530的輸出端與組合器590的第二非反向輸入端進行信號通信連接。畫面類型判定模塊515的第一輸出端與幀排序緩沖器510的第三輸入端進行信號通信連接。畫面類型判定模塊515的第二輸出端與宏塊類型判定模塊520的第二輸入端進行信號通信連接。序列參數(shù)集(SPS)和畫面參數(shù)集(PPS)插入器540的輸出端與組合器590的第三非反向輸入端進行信號通信連接。逆量化器和逆變換器550的輸出端與組合器519的第一非反向輸入端進行信號通 信連接。組合器519的輸出端與巾貞內(nèi)預測模塊560的第一輸入端和去塊濾波器565的第一輸入端進行信號通信連接。去塊濾波器565的輸出端與參考畫面緩沖器580的第一輸入端進行信號通信連接。參考畫面緩沖器580的輸出端與運動估計器575的第二輸入端和運動補償器570的第三輸入端進行信號通信連接。運動估計器575的第一輸出端與運動補償器570的第二輸入端進行信號通信連接。運動估計器575的第二輸出端與熵編碼器545的第三輸入端進行信號通信連接。運動補償器570的輸出端與開關597的第一輸入端進行信號通信連接。幀內(nèi)預測模塊560的輸出端與開關597的第二輸入端進行信號通信連接。宏塊類型判定模塊520的輸出端與開關597的第三輸入端進行信號通信連接。開關597的第三輸入端確定開關的“數(shù)據(jù)”輸入端(與控制輸入端相比較,即,第三輸入端)是由運動補償器570還是由幀內(nèi)預測模塊560提供。開關597的輸出端與組合器519的第二非反向輸入端和組合器585的反向輸入端進行信號通信連接。幀排序緩沖器510的第一輸入端和編碼器控制器505的輸入端可用作編碼器500的用于接收輸入畫面的輸入端。此外,補充增強信息(SEI)插入器530的第二輸入端可用作編碼器500的用于接收元數(shù)據(jù)的輸入端。輸出緩沖器535的輸出端可用作編碼器500的用于輸出位流的輸出端。轉(zhuǎn)到圖6,可以應用本原理的示例性視頻解碼器總體地用附圖標號600表示。視頻解碼器600包括輸入緩沖器610,其具有與熵解碼器645的第一輸入端進行信號通信連接的輸出端。熵解碼器645的第一輸出端與逆變換器和逆量化器650的第一輸入端進行信號通信連接。逆變換器和逆量化器650的輸出端與組合器625的第二非反向輸入端進行信號通信連接。組合器625的輸出端與去塊濾波器665的第二輸入端和巾貞內(nèi)預測模塊660的第一輸入端進行信號通信連接。去塊濾波器665的第二輸出端與參考畫面緩沖器680的第一輸入端進行信號通信連接。參考畫面緩沖器680的輸出端與運動補償器670的第二輸入端進行信號通信連接。熵解碼器645的第二輸出端與運動補償器670的第三輸入端、去塊濾波器665的第一輸入端以及幀內(nèi)預測器660的第三輸入端進行信號通信連接。熵解碼器645的第三輸出端與解碼器控制器605的輸入端進行信號通信連接。解碼器控制器605的第一輸出端與熵解碼器645的第二輸入端進行信號通信連接。解碼器控制器605的第二輸出端與逆變換器和逆量化器650的第二輸入端進行信號通信連接。解碼器控制器605的第三輸出端與去塊濾波器665的第三輸入端進行信號通信連接。解碼器控制器605的第四輸出端與幀內(nèi)預測模塊660的第二輸入端、運動補償器670的第一輸入端和參考畫面緩沖器680的第二輸入端進行信號通信連接。運動補償器670的輸出端與開關697的第一輸入端進行信號通信連接。幀內(nèi)預測模塊660的輸出端與開關697的第二輸入端進行信號通信連接。開關697的輸出端與組合器625的第一非反向輸入端進行信號通信連接。輸入緩沖器610的輸入端可用作解碼器600的用于接收輸入位流的輸入端。去塊濾波器665的第一輸出端可用作解碼器600的用于輸出輸出畫面的輸出端。如上所述,本原理致力于用于視頻編碼和解碼的模版匹配預測的自適應殘差更新的方法和裝置。在一個實施例中,更新較小塊級上的殘差,這又可以通過犧牲大變換和伴隨量化的效率而提供更好的預測。在改進編碼性能的同時提供殘差更新方案的優(yōu)點的另一個 實施例中,還提出用以選擇某一編碼塊的最佳方案的自適應切換方法。具體地,提出在要編碼的當前塊的模版匹配的不同殘差更新方案中選擇。切換狀態(tài)的不確定性可以在作為結(jié)果的位流中顯式地傳送或者例如從解碼畫面信息中隱式地推導。該自適應切換方案的目的是通過利用不同殘差更新方法在模版匹配的預測和變換之間找到最佳折衷,并由此改進編碼效率。提出的技術可以應用于幀內(nèi)和幀間預測二者。由此,根據(jù)本原理,公開和描述了被稱為“方法2”的方法,其中利用較小的變換大小,由此改進預測數(shù)據(jù)。四個目標塊的預測處理涉及以下步驟(I)通過使用鄰近像素生成目標塊(在基本塊內(nèi)和/或另外與基本塊對應)的模版;(2)為這個目標塊搜索匹配并且生成預測;(3)利用其預測更新該目標塊;(4)變換目標塊的殘差以獲得變換系數(shù),量化該系數(shù)以及逆變換量化后的系數(shù);(5)通過添加預測目標塊和量化的殘差目標塊生成重構(gòu)目標塊;(6)利用其重構(gòu)更新目標塊;(7)為目標塊2、3和4重復步驟(I)到(6);(8)完成基本塊。一旦變換是基于較小塊時,就可以較早地重構(gòu)鄰近的子塊。由此,稍后的預測目標塊可以替代使用預測數(shù)據(jù)而使用重構(gòu)的像素作為模版,這將改進預測性能。自適應殘差更新在第一殘差更新方案中,在變換時使用更有效的方案(例如,使用較大變換)但是預測可能更差,而第二殘差更新方案可能(比第一方案)具有更好的預測,但是伴隨使用大變換可能犧牲效率。根據(jù)本原理,將這兩個方案組合為自適應殘差更新框架,以通過利用兩個方法的優(yōu)點來實現(xiàn)預測精確性和變換和量化的效率之間的良好折衷用于改進編碼效率。不同的目標大小和不同的可用變換大小可能導致不同的殘差更新方案。根據(jù)本原理的最優(yōu)殘差更新方案將能夠利用它們的所有優(yōu)點并且自適應地避開它們的缺點。根據(jù)本原理,建立以統(tǒng)一殘差更新方案的一框架。在這個框架中,可能存在模版匹配的很多不同殘差更新方案。這些方案中的不確定性可以在作為結(jié)果的位流中顯式地發(fā)送或者例如基于已經(jīng)編碼的畫面隱式地推導。為了說明和簡要的緣故,假定具有用以選擇的可用的兩個殘差更新方案,但注意,本領域和相關領域的普通技術人員可以容易地擴展本原理以包含多于兩個的殘差更新方案。實施例I :顯式切換方法當存在兩個或者更多的如上描述的殘差更新方案時,需要解決這樣的方案之間的不確定性。在本實施例中,提出通過例如使用用以指示選取哪個方案的標志或者指示符的顯式切換方法。在編碼器側(cè),可以評估所有的殘差更新方案并且在考慮例如率失真(RD)成本的情況下選擇最佳殘差更新方案,并且然后發(fā)送標志或者指示符到對應的解碼器。在解碼器側(cè),通過從位流讀取標志或者指示符來解決不確定性,并且當解碼時應用對應的方案。轉(zhuǎn)到圖7,由參考標號700總體地指示視頻編碼器中用于模版匹配預測的自適應殘差更新的示例性方法。方法700包括將控制傳遞到功能塊710的開始塊705。功能塊710通過設置 min_rdcost = max_value, best_scheme = default_value, k = 0 來執(zhí)行模版匹配預測的初始化,并且將控制傳遞到循環(huán)限制塊715。循環(huán)限制塊715開始在塊的所有殘差 更新方案上的循環(huán),并且將控制傳遞到循環(huán)限制塊720。循環(huán)限制塊720開始在所有子塊上的循環(huán),并且將控制傳遞到功能塊725。功能塊725生成模板,并且將控制傳遞到功能塊730。功能塊730執(zhí)行模版匹配,并且將控制傳遞到功能塊735。功能塊735利用預測更新目標塊,并且將控制傳遞到功能塊740。功能塊740根據(jù)當前方案判定是否在當前目標塊上進行變換、量化和重構(gòu)(更新殘差),并且將控制傳遞到循環(huán)限制塊745。循環(huán)限制塊745結(jié)束在所有子塊上的循環(huán),并且將控制傳遞到功能塊750。功能塊750根據(jù)當前方案判定是否在當前塊上進行變換、量化和重構(gòu)(更新殘差)并且將控制傳遞到功能塊755。功能塊755計算與功能塊750獲得的判定對應的率失真(RD)成本,并且將控制傳遞到判定塊760。判定塊760確定是否rdcost >= min_rdcost。如果這樣,則將控制傳遞到循環(huán)限制塊768。否則,將控制傳遞到功能塊765。功能塊765設置min_rdcost = rdcost,以及best_scheme=k,并且將控制傳遞到功能塊768。功能塊768設置k = k+1,并且將控制傳遞到循環(huán)限制塊770。循環(huán)限制塊770結(jié)束在所有殘差更新方案上的循環(huán),并且將控制傳遞到功能塊775。功能塊775選擇best_scheme的預測作為模版匹配預測的輸出,利用best_scheme設置tmp_res_upd_ind,并且將控制傳遞到功能塊780。功能塊780編碼所有語法(包括tmp_res_upd_ind)以及涉及的系數(shù)信息,并且將控制傳遞到結(jié)束塊799。轉(zhuǎn)達圖8,由參考標號800總體地指示視頻解碼器中模版匹配預測的自適應殘差更新的示例性方法。方法800包括將控制傳遞到功能塊810的開始塊805。功能塊810解析輸入位流,利用tmp_res_upd_ind設置best_scheme,并且將控制傳遞到循環(huán)限制塊815。循環(huán)限制塊815開始在所有子塊上的循環(huán),并且將控制傳遞到功能塊820。功能塊820生成模版,并且將控制傳遞到功能塊825。功能塊825執(zhí)行模版匹配,并且將控制傳遞到功能塊830。功能塊830利用預測更新目標塊,并且將控制傳遞到功能塊835。功能塊835根據(jù)best_scheme判定是否重構(gòu)當前目標塊(更新殘差),并且將控制傳遞到循環(huán)限制塊840。循環(huán)限制塊840結(jié)束在所有子塊上的循環(huán),并且將控制傳遞到功能塊845。功能塊845根據(jù)best_scheme判定是否重構(gòu)當前塊(更新殘差),并且將控制傳遞到結(jié)束899。實施例2 :隱式切換方法顯式切換方法可以通過為附加邊信息付出成本而總是在編碼器選擇最佳方案,這可能降低編碼性能。如上所述,為了避免必須傳送附加邊信息,可以隱式地推導不同方案之間的不確定性??梢岳梅謪^(qū)信息、鄰近塊編碼信息(例如,變換大小、系數(shù)、模式,等等)、局部畫面內(nèi)容統(tǒng)計(例如,平均值、方差,等等),等等。該隱式切換方法可以避免顯式切換方法中的附加開銷,并且由此可以在緩慢變化內(nèi)容的情形下利于使用。下面關于圖9描述在視頻編碼器中涉及本實施例的方法,并且下面關于圖10描述在視頻解碼器涉及本實施例的方法。實施例3 :依賴量化參數(shù)的切換方法殘差更新到特定子塊越快,以下子塊(關于特定子塊)將能夠獲得更好的預測的可能性越大。此外,整個塊的預測將更好。當利用大量化參數(shù)(QP)值編碼塊時,優(yōu)選具有更好的可用的預測以進行使用,這是因為在這種情況下殘差僅僅提供少量信息。另一方面,當利用相對小的量化參數(shù)值編碼塊時,殘差是很重要的并且可以補償相當量的預測誤差。因此,在考慮之前的情況下,提供依賴量化參數(shù)的切換方法。例如,考慮僅僅引入之前描述的兩個方案,當量化參數(shù)值大時,可以使用方法2以獲得更好的預測。否則,使用方法I以保持使用大變換的優(yōu)點。
下面的圖9和10屬于本文描述的實施例2和3 二者。轉(zhuǎn)到圖9,由參考標號900總體地指示視頻編碼器中模版匹配預測的自適應殘差更新的另一示例性方法。方法900包括將控制傳遞到功能塊910的開始塊905。功能塊910通過量化參數(shù)(QP)、分區(qū)信息、鄰近塊信息、解碼的內(nèi)容統(tǒng)計等等來推導best_scheme,并且將控制傳遞到循環(huán)限制塊915。循環(huán)限制塊915在所有子塊上循環(huán),并且將控制傳遞到功能塊920。功能塊920生成模版,并且將控制傳遞到功能塊925。功能塊925執(zhí)行模版匹配,并且將控制傳遞到功能塊930。功能塊930利用預測更新目標塊,并且將控制傳遞到功能塊935。功能塊935根據(jù)bestjcheme判定是否在當前目標塊上進行變換、量化和重構(gòu)(更新殘差),并且將控制傳遞到循環(huán)限制塊940。循環(huán)限制塊940結(jié)束在所有子塊上的循環(huán),并且將控制傳遞到功能塊945。功能塊945根據(jù)當前方案判定是否在當前塊上進行變換、量化和重構(gòu)(更新殘差),并且將控制傳遞到功能塊950。功能塊950編碼所有語法和涉及的系數(shù)信息,并且將控制傳遞到結(jié)束塊999。轉(zhuǎn)到圖10,由參考標號1000總體地指示視頻解碼器中模版匹配預測的自適應殘差更新的另一示例性方法。方法1000包括將控制傳遞到功能塊1010的開始塊1005。功能塊1010解析輸入位流,并且將控制傳遞到功能塊1015。功能塊1015通過量化參數(shù)(QP)、分區(qū)信息、鄰近塊信息、解碼的內(nèi)容統(tǒng)計等等來推導bestjcheme,并且將控制傳遞到循環(huán)限制塊1020。循環(huán)限制塊1020開始在所有子塊上循環(huán),并且將控制傳遞到功能塊1025。功能塊1025生成模版,并且將控制傳遞到功能塊1030。功能塊1030執(zhí)行模版匹配,并且將控制傳遞到功能塊1035。功能塊1035利用預測更新目標塊,并且將控制傳遞到功能塊1040。功能塊1040根據(jù)bestjcheme判定是否重構(gòu)當前目標塊(更新殘差),并且將控制傳遞到循環(huán)限制塊1045。循環(huán)限制塊1045結(jié)束在所有子塊上的循環(huán),并且將控制傳遞到功能塊1050。功能塊1050根據(jù)best_scheme判定是否重構(gòu)當前塊(更新殘差),并且將控制傳遞到結(jié)束塊1099。語法表I示出根據(jù)本原理實施例的實施例1、2和3的示例性片首標語法。
表I
權(quán)利要求
1.一種裝置,包括 視頻編碼器(500),使用模版匹配預測來編碼畫面中至少一個塊的畫面數(shù)據(jù),其中,模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。
2.—種視頻編碼器中的方法,包括 使用模版匹配預測來編碼畫面中至少一個塊的畫面數(shù)據(jù),其中,模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊(715,740,750,775,935,945)。
3.如權(quán)利要求2所述的方法,其中,多個殘差更新方案中的至少一個是基于率失真成本而選擇的(760,765,775)。
4.如權(quán)利要求2所述的方法,其中,多個殘差更新方案中的每一個涉及將該塊分區(qū)為多個子塊,所述多個殘差更新方案之一涉及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊的處理之前將變換應用至該特定子塊的殘差,以及 多個更新方案的另一個涉及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊的處理之后將所述變換應用至該特定子塊的殘差(740,750,935,945,1135,1175)。
5.如權(quán)利要求2所述的方法,其中,在作為結(jié)果的位流中顯式地指示所述多個殘差更新方案(780)。
6.如權(quán)利要求2所述的方法,其中,基于以下至少一項選擇多個殘差更新方案的至少一個殘差更新方案與所述畫面相同視頻序列對應的解碼畫面、至少一個塊的量化參數(shù)值、該塊內(nèi)的至少一個子塊、以及關于該塊或者該至少一個子塊的至少一個鄰近塊、畫面內(nèi)容統(tǒng)計、分區(qū)信息,以及該至少一個鄰近塊的編碼信息(910)。
7.如權(quán)利要求2所述的方法,其中,多個殘差更新方案中的兩個或者更多是可組合的以便預測該塊(I 100)。
8.如權(quán)利要求7所述的方法,其中,多個殘差更新方案的每一個是彼此獨立的,并且該塊的最終預測是所述多個殘差更新方案中的至少兩個的輸出的組合(1300)。
9.如權(quán)利要求7所述的方法,其中,多個殘差更新方案是彼此依賴的,并且多個殘差更新方案的一個特定殘差更新方案的一個輸出依賴于所述多個殘差更新方案的至少另一個特定殘差更新方案的至少另一個輸出(1100)。
10.一種裝置,包括 視頻解碼器(600),使用模版匹配預測解碼畫面中至少一個塊的畫面數(shù)據(jù),其中,模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。
11.一種視頻解碼器中的方法,包括 使用模版匹配預測解碼畫面中至少一個塊的畫面數(shù)據(jù),其中,模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊(810,835,845,1015,1040,1050)。
12.如權(quán)利要求11所述的方法,其中,多個殘差更新方案中的每一個涉及將該塊分區(qū)為多個子塊,多個殘差更新方案之一涉及在搜索來自所述多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之前將變換應用到該特定子塊的殘差,以及所述多個更新方案的另一個涉及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之后將所述變換應用到該特定子塊的殘差(835,845,=1015,1040,1050)。
13.如權(quán)利要求11所述的方法,其中,基于以下至少一項選擇多個殘差更新方案的至少一個殘差更新方案與所述畫面相同視頻序列對應的解碼畫面、至少一個塊的量化參數(shù)值、該塊內(nèi)的至少一個子塊、以及關于該塊或者該至少一個子塊的至少一個鄰近塊、畫面內(nèi)容統(tǒng)計、分區(qū)信息以及該至少一個鄰近塊的編碼信息(1015)。
14.如權(quán)利要求11所述的方法,其中,所述多個殘差更新方案中的兩個或者更多個是可組合的以便預測該塊(1200)。
15.如權(quán)利要求14所述的方法,其中,所述多個殘差更新方案中的每一個是彼此獨立的,并且對該塊的最終預測是所述多個殘差更新方案中的至少兩個殘差更新方案的輸出的組合(1400)。
16.如權(quán)利要求14所述的方法,其中,所述多個殘差更新方案是彼此依賴的,并且所述多個殘差更新方案中的一個特定殘差更新方案的一個輸出依賴于所述多個殘差更新方案中的至少另一個特定殘差更新方案的至少另一個輸出(1200)。
17.一種在其上編碼了視頻信號數(shù)據(jù)的非暫時性計算機可讀存儲介質(zhì),包括 使用模版匹配預測為畫面中至少一個塊編碼的畫面數(shù)據(jù),其中,模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊。
18.一種裝置,包括 視頻編碼器(500),使用模版匹配預測編碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之前將變換應用到該特定子塊的殘差。
19.一種視頻編碼器中的方法,包括 使用模版匹配預測編碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊(720,725,730,735,915,920,925,930,1115,1120,1125,1130,1150,1155,1160,1165),以及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊的處理之前將變換應用到該特定子塊的殘差(740,750,935,945,1135,1175)。
20.一種裝置,包括 視頻解碼器(600),使用模版匹配預測解碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之前將變換應用到該特定子塊的殘差。
21.一種視頻解碼器中的方法,包括 使用模版匹配預測解碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子±^(815,820,825,830,1020,1025,1030,1035,1215,1220,1225,1230,1245,1250,1255,1260),以及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之前將變換應用到該特定子塊的殘差(835,845,1040,1050,1235,1270)。
22.—種在其上編碼了視頻信號數(shù)據(jù)的非暫時性計算機可讀存儲介質(zhì),包括 使用模版匹配預測編碼的畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊,以及在搜索來自多個子塊中的特定子塊的預測之后并且在關于模版匹配預測完成對該塊處理之前將變換應用到該特定子塊的殘差。
全文摘要
提供了用于視頻編碼和解碼的模版匹配預測的自適應殘差更新的方法和裝置。在一個實施例中,一種裝置和方法使用模版匹配預測編碼畫面中至少一個塊的畫面數(shù)據(jù),其中模版匹配預測涉及從多個殘差更新方案中進行選擇以用于編碼該塊(715,740,750,775,935,945)。在另一個實施例中,一種裝置和方法使用模版匹配預測編碼畫面中的塊,其中,模版匹配預測涉及將該塊分區(qū)為多個子塊(720,725,730,735,915,920,925,930,1115,1120,1125,1130,1150,1155,1160,1165),以及在搜索來自多個子塊中的特定子塊的預測之后并且在完成關于模版匹配預測的塊處理之前將變換應用到該特定子塊的殘差(740,750,935,945,1135,1175)。
文檔編號H04N7/26GK102742268SQ201080063340
公開日2012年10月17日 申請日期2010年12月2日 優(yōu)先權(quán)日2009年12月8日
發(fā)明者J.索爾, 盧小安, 尹鵬, 許茜, 鄭云飛 申請人:湯姆森特許公司