基于幀內(nèi)預(yù)測的自適應(yīng)變換方法及使用該方法的裝置制造方法
【專利摘要】公開了一種基于幀內(nèi)預(yù)測的自適應(yīng)變換方法及使用該方法的裝置。一種對待被解碼的具有當(dāng)前塊的視頻信號進(jìn)行解碼的方法包括:從所述視頻信號獲取當(dāng)前塊的量化系數(shù);通過對量化系數(shù)進(jìn)行反量化來獲取當(dāng)前塊的反量化系數(shù);通過基于變換跳過標(biāo)志選擇性地執(zhí)行針對當(dāng)前塊的反量化系數(shù)的逆變換來獲取殘留采樣,該變換跳過標(biāo)志指定針對當(dāng)前塊的逆變換是否被跳過;基于當(dāng)前塊的幀內(nèi)預(yù)測模式和當(dāng)前塊的鄰近采樣來獲取當(dāng)前塊的預(yù)測采樣;以及通過使用殘留采樣和預(yù)測采樣來重構(gòu)當(dāng)前塊。
【專利說明】基于幀內(nèi)預(yù)測的自適應(yīng)變換方法及使用該方法的裝置
[0001] 本申請為于2014年6月13日提交、申請?zhí)枮?01280061890. 6、發(fā)明名稱為"基于 幀內(nèi)預(yù)測的自適應(yīng)變換方法及使用該方法的裝置"的中國專利申請的分案申請。所述母案 申請的國際申請日為2012年8月1日,國際申請?zhí)枮镻CT/KR2012/006118。
【技術(shù)領(lǐng)域】
[0002] 本發(fā)明涉及一種基于幀內(nèi)預(yù)測模式的自適應(yīng)變換方法以及使用該方法的裝置,尤 其涉及一種編碼/解碼方法和裝置。
【背景技術(shù)】
[0003] 近來,在各種應(yīng)用領(lǐng)域中對高分辨率和高品質(zhì)的視頻如高清(HD)和超高清(UHD) 視頻的需求增大。由于視頻數(shù)據(jù)具有高分辨率和高品質(zhì),因此數(shù)據(jù)量相比于現(xiàn)有的視頻數(shù) 據(jù)也極大增加。因而,當(dāng)使用介質(zhì)如現(xiàn)有的有線和無線寬帶線路傳輸視頻數(shù)據(jù),或者將視頻 數(shù)據(jù)存儲在現(xiàn)有的存儲介質(zhì)中時,傳輸成本和存儲成本增加。為了解決伴隨著視頻數(shù)據(jù)的 分辨率和品質(zhì)提高而發(fā)生的這些問題,可以使用高效的視頻壓縮技術(shù)。
[0004] 視頻壓縮技術(shù)包括多種技術(shù),例如從當(dāng)前圖像的在前或在后的圖像預(yù)測包括在當(dāng) 前圖像中的像素值的巾貞間預(yù)測(inter prediction)技術(shù),使用當(dāng)前圖像中的像素信息預(yù)測 包括在當(dāng)前圖像中的像素值的巾貞內(nèi)預(yù)測(intra prediction)技術(shù),以及為高出現(xiàn)頻率的值 分配短碼、低出現(xiàn)頻率的值分配長碼的熵編碼技術(shù)。使用這樣的視頻壓縮技術(shù)可以有效地 壓縮以及傳輸或存儲視頻數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0005] 技術(shù)問題
[0006] 本發(fā)明一方面提供了基于幀內(nèi)預(yù)測模式來自適應(yīng)改變變換模式的方法,以提高視 頻編碼效率。
[0007] 本發(fā)明另一方面提供了基于幀內(nèi)預(yù)測模式來自適應(yīng)改變掃描方法的方法,以提高 視頻編碼效率。
[0008] 本發(fā)明又一方面提供了執(zhí)行基于幀內(nèi)預(yù)測模式來自適應(yīng)改變變換模式的方法的 裝置,以提高視頻編碼效率。
[0009] 本發(fā)明又一方面提供了執(zhí)行基于巾貞內(nèi)預(yù)測模式來自適應(yīng)改變掃描方法的方法的 裝置,以提高視頻編碼效率。
[0010] 技術(shù)方案
[0011] 本發(fā)明的實施方式提供了一種視頻解碼方法,該視頻解碼方法包括確定塊的幀內(nèi) 預(yù)測模式,以及依據(jù)塊的幀內(nèi)預(yù)測模式,使用不同的逆變換方法來逆變換該塊。該塊的幀內(nèi) 預(yù)測模式的確定可以確定該塊的幀內(nèi)預(yù)測模式包括在以下哪個幀內(nèi)預(yù)測模式組中:包括垂 直預(yù)測模式的第一幀內(nèi)預(yù)測模式組;包括水平預(yù)測模式的第二幀內(nèi)預(yù)測模式組;以及包括 除了第一幀內(nèi)預(yù)測模式組和第二幀內(nèi)預(yù)測模式組之外的任一定向預(yù)測模式的第三幀內(nèi)預(yù) 測模式組。依據(jù)塊的幀內(nèi)預(yù)測模式,使用不同的逆變換方法來進(jìn)行的塊的逆變換可以將該 塊的幀內(nèi)預(yù)測模式劃分成多個預(yù)測模式組,并依據(jù)該預(yù)測模式組來確定逆變換方法。視頻 解碼方法可以進(jìn)一步包括通過解碼用于確定在塊上是否執(zhí)行逆變換的標(biāo)志信息來確定在 塊上是否執(zhí)行逆變換。
[0012] 本發(fā)明的另一個實施方式提供了一種視頻解碼方法,該視頻解碼方法包括確定塊 的幀內(nèi)預(yù)測模式,以及依據(jù)該塊的幀內(nèi)預(yù)測模式來確定掃描順序。依據(jù)塊的幀內(nèi)預(yù)測模式 來進(jìn)行的掃描順序的確定可以將該塊的幀內(nèi)預(yù)測模式劃分成多個預(yù)測模式組,并依據(jù)該預(yù) 測模式組來確定掃描順序。
[0013] 本發(fā)明的又一個實施方式提供了一種視頻編碼方法,該視頻編碼方法包括確定塊 的幀內(nèi)預(yù)測模式,以及依據(jù)該塊的幀內(nèi)預(yù)測模式,使用不同的變換方法來變換該塊。依據(jù)該 塊的幀內(nèi)預(yù)測模式,使用不同的變換方法來進(jìn)行的塊的變換可以將該塊的幀內(nèi)預(yù)測模式劃 分成多個預(yù)測模式組,并依據(jù)該預(yù)測模式組來確定變換方法。視頻編碼方法可以進(jìn)一步包 括確定是否變換該塊,以及對是否變換該塊的信息進(jìn)行編碼。
[0014] 本發(fā)明的又一個實施方式提供了一種視頻編碼方法,該視頻編碼方法包括確定塊 的幀內(nèi)預(yù)測模式,以及依據(jù)該塊的幀內(nèi)預(yù)測模式來確定掃描順序。依據(jù)塊的幀內(nèi)預(yù)測模式 進(jìn)行的掃描順序的確定可以將該塊的幀內(nèi)預(yù)測模式劃分成多個預(yù)測模式組,并依據(jù)該預(yù)測 模式組來確定掃描順序。
[0015] 本發(fā)明的又一個實施方式提供了一種視頻解碼裝置,該視頻解碼裝置包括基于幀 內(nèi)預(yù)測模式來解碼信息的熵解碼模塊,以及基于該熵解碼模塊解碼的幀內(nèi)預(yù)測模式,使用 不同的逆變換方法來逆變換塊的逆變換模塊。該逆變換模塊可以依據(jù)劃分成多個預(yù)測模式 組的塊的幀內(nèi)預(yù)測模式來確定逆變換方法。熵解碼模塊可以解碼標(biāo)志信息,以確定是否對 該塊執(zhí)行逆變換。
[0016] 本發(fā)明的又一個實施方式提供了一種視頻解碼裝置,該視頻解碼裝置包括基于幀 內(nèi)預(yù)測模式來解碼信息的熵解碼模塊,以及基于依據(jù)由熵解碼模塊解碼的幀內(nèi)預(yù)測模式確 定的掃描順序來掃描系數(shù)的重排模塊。該重排模塊可以基于劃分成多個預(yù)測模式組的塊的 幀內(nèi)預(yù)測模式來執(zhí)行掃描。
[0017] 本發(fā)明的又一個實施方式提供了一種視頻編碼裝置,該視頻解碼裝置包括確定塊 的幀內(nèi)預(yù)測模式的預(yù)測模塊,以及依據(jù)塊的幀內(nèi)預(yù)測模式,使用不同的變換方法來變換該 塊的變換模塊。該變換模塊可以將塊的幀內(nèi)預(yù)測模式劃分成多個預(yù)測模式組,并依據(jù)該預(yù) 測模式組來確定變換方法。該變換模塊可以確定是否變換塊。
[0018] 本發(fā)明的又一個實施方式提供了一種視頻編碼裝置,該視頻編碼裝置包括確定塊 的幀內(nèi)預(yù)測模式的預(yù)測模塊,以及基于由塊的幀內(nèi)預(yù)測模式來確定的掃描順序來掃描和重 排塊的系數(shù)的重排模塊。
[0019] 有益效果
[0020] 根據(jù)本發(fā)明的示例性實施方式,基于幀內(nèi)預(yù)測模式的自適應(yīng)變換方法以及使用該 方法的裝置可以將幀內(nèi)預(yù)測模式劃分成組,并依據(jù)幀內(nèi)預(yù)測模式,使用不同的變換方法來 執(zhí)行變換。因而,可以減少操作的復(fù)雜性并可以實現(xiàn)有效的變換。
【專利附圖】
【附圖說明】
[0021] 圖1是示出了根據(jù)本發(fā)明的示例性實施方式的視頻編碼裝置的框圖。
[0022] 圖2是示出了根據(jù)本發(fā)明的示例性實施方式的視頻解碼裝置的框圖。
[0023] 圖3示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)幀內(nèi)預(yù)測模式來改變變換方法 的方法。
[0024] 圖4示出了根據(jù)本發(fā)明的示例性實施方式的變換方法。
[0025] 圖5示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)幀內(nèi)預(yù)測模式的變換方法。
[0026] 圖6是示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)幀內(nèi)預(yù)測模式來選擇不同的 變換方法的方法的流程圖。
[0027] 圖7示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)幀內(nèi)預(yù)測模式來重新分配碼字 的方法。
[0028] 圖8示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)變換方法的掃描模式。
[0029] 圖9是示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)變換方法來確定掃描模式的 方法的流程圖。
[0030] 圖10是示出了根據(jù)本發(fā)明的示例性實施方式的依據(jù)變換方法來確定掃描模式的 方法的流程圖。
【具體實施方式】
[0031] 本發(fā)明可以以各種方式改變和修改,并且可以結(jié)合不同的示例性實施方式示出, 其中一些示例性實施方式將在附圖中描述和示出。但是,這些實施方式不意在限制本發(fā)明, 而是被解釋為包括所有屬于本發(fā)明的精神和技術(shù)范圍的修改、等效物和替代物。在附圖中 相同的標(biāo)記在本文中指代相同的元件。
[0032] 雖然可以使用術(shù)語第一、第二等來描述各種元件,但是這些元件不應(yīng)該被這些術(shù) 語所限制。這些術(shù)語僅僅被用來區(qū)分一個元件與另一個元件。例如,在不背離本發(fā)明的教導(dǎo) 的情況下,第一元件可以被稱為第二元件,并且同樣地,第二元件可以被稱為第一元件。術(shù) 語"和/或"包括多個相關(guān)的所列項的任一項以及所有組合。
[0033] 應(yīng)當(dāng)理解的是,當(dāng)一個元件涉及被"連接至"或"耦接至"另一個元件時,該元件可 以被直接地連接或耦接至另一個元件或中介元件。反之,當(dāng)一個元件涉及被"直接地連接 至"或"直接地耦接至"另一個元件時,不存在中介元件。
[0034] 本文使用的術(shù)語僅僅是用于描述具體的實施方式的目的,而不意在限制本發(fā)明。 如本文中所使用的,單數(shù)術(shù)語"一個(a)"、"一個(an)"和"該(the)"意在也包括復(fù)數(shù)形式, 除非上下文另有明確地說明。進(jìn)一步應(yīng)當(dāng)理解的是,當(dāng)術(shù)語"包括"和/或"具有"在本說 明書中使用時,指定所陳述的特征、整體、步驟、操作、元件和/或部件的存在,而不排除一 個或多個其它特征、整體、步驟、操作、元件、部件和/或它們的組合的存在或相加。
[0035] 在下文中,將參考附圖詳細(xì)描述本發(fā)明的示例性實施方式。在附圖中相同的標(biāo)記 在本文中指代相同的元件,且本文中相同元件的重復(fù)說明將被省略。
[0036] 圖1是示出根據(jù)本發(fā)明的示例性實施方式的視頻編碼裝置的框圖。
[0037] 參照圖1,視頻編碼裝置100包括圖像分割模塊105、預(yù)測模塊110、變換模塊115、 量化模塊120、重排模塊125、熵編碼模塊130、反量化模塊135、逆變換模塊140、濾波模塊 145以及存儲器150。
[0038] 雖然圖1所示的元件被獨立地示出,以便表示在視頻編碼裝置中不同的區(qū)別功 能,但是這樣的配置并不象征著每個元件通過單獨的硬件組成或軟件組成來構(gòu)造。也就是 說,為了便于描述,獨立地排列元件,其中至少兩個元件可以組合成單一的元件,或者單一 的元件可以劃分成多個元件以執(zhí)行功能。應(yīng)當(dāng)注意的是,在不背離本發(fā)明精神的情況下,一 些元件被集成為一個組合元件和/或元件被劃分成多個單獨的元件的實施方式被包括在 本發(fā)明的范圍內(nèi)。
[0039] -些元件對于在本發(fā)明中重要的功能可以不是基本的,而可以是僅僅為了提高性 能可選的組成。可以通過除了僅僅用來提高性能的組成以外,僅包括對本發(fā)明的實施方式 是基本的組成來實施本發(fā)明。除了僅僅用于提高性能的可選的組成以外,僅包括基本組成 的結(jié)構(gòu)屬于本發(fā)明的范圍。
[0040] 圖像分割模塊105可以將輸入圖像分割成至少一個處理單元。此處,處理單元可 以是預(yù)測單元(PU)、變換單元(TU)或者編碼單元(CU)。圖像分割模塊105可以將一個圖 像分割成編碼單元、預(yù)測單元和變換單元的多個組合,并且基于預(yù)定標(biāo)準(zhǔn)(例如成本函數(shù)) 選擇編碼單元、預(yù)測單元和變換單元的一個組合,從而對圖像進(jìn)行編碼。
[0041] 例如,一個圖像可以被分割成多個編碼單元。遞歸樹結(jié)構(gòu)如四叉樹結(jié)構(gòu)可以用于 將圖像分割成編碼單元。將最大尺寸的圖像或者編碼單元作為根,編碼單元可以被分割成 子編碼單元,其具有如分割的編碼單元一樣多的子節(jié)點。根據(jù)預(yù)定約束不再分割的編碼單 元將成為葉節(jié)點。也就是說,假設(shè)編碼單元只能被分割成四等分,單一的編碼單元可以分割 成至多四個不同的編碼單元。
[0042] 在本發(fā)明的實施方式中,編碼單元不僅可以用于指代編碼單元,也可以指代譯碼 單元。
[0043] 預(yù)測單元可以被分割成在編碼單元中具有相同尺寸的至少一個正方形或矩形的 形式,或者被分割以使得在編碼單元中分割的預(yù)測單元的形狀與其它預(yù)測單元的形狀不 同。
[0044] 當(dāng)待進(jìn)行幀內(nèi)預(yù)測的預(yù)測單元基于編碼單元產(chǎn)生且該編碼單元不是最小的編碼 單元時,可以執(zhí)行幀內(nèi)預(yù)測而不需要將編碼單元分割成多個預(yù)測單元(NXN)。
[0045] 預(yù)測模塊110可以包括幀間預(yù)測模塊以執(zhí)行幀間預(yù)測,以及幀內(nèi)預(yù)測模塊以執(zhí)行 幀內(nèi)預(yù)測。預(yù)測模塊Iio可以確定幀間預(yù)測和幀內(nèi)預(yù)測中的哪個應(yīng)當(dāng)在預(yù)測單元上執(zhí)行, 并且可以根據(jù)所確定的預(yù)測方法來確定具體的信息(例如幀內(nèi)預(yù)測模式、運動向量以及參 考圖像等)。此處,在其上執(zhí)行預(yù)測的處理單元可以不同于用于確定預(yù)測方法和具體的信息 的處理單元。例如,可以針對每個預(yù)測單元確定預(yù)測方法和預(yù)測模式,而針對每個變換單元 執(zhí)行預(yù)測。在生成的預(yù)測塊和原始塊之間的殘留值(殘留塊)可以被輸入至變換模塊115。 此外,用于預(yù)測的預(yù)測模式信息、運動向量信息等連同殘留值可以通過熵編碼模塊130進(jìn) 行編碼,并且可以被發(fā)送至譯碼裝置。當(dāng)使用特定的編碼模式時,可以將原始塊進(jìn)行編碼并 發(fā)送至譯碼裝置,而不需要通過預(yù)測模塊110生成預(yù)測塊。
[0046] 幀間預(yù)測模塊可以基于當(dāng)前圖像的在前圖像和在后圖像中的至少一個圖像的信 息針對預(yù)測單元進(jìn)行預(yù)測。幀間預(yù)測模塊可以包括參考圖像插值模塊、運動預(yù)測模塊以及 運動補(bǔ)償模塊。
[0047] 參考圖像插值模塊可以被供應(yīng)來自存儲器150的參考圖像信息,并且生成小于來 自參考圖像的整數(shù)像素位置單元(整數(shù)像素單元(integer pixelunit)或像素單元)的像 素信息。在亮度像素的情況下,具有不同濾波系數(shù)的基于DCT的8抽頭插值濾波器可以用 于以1/4像素位置為單元(以1/4像素為單元)生成小于整數(shù)像素單元的像素信息。在色 度像素的情況下,具有不同濾波系數(shù)的基于DCT的4抽頭插值濾波器可以用于以1/8像素 位置為單元(以1/8像素為單元)中生成小于整數(shù)像素單元的像素信息。
[0048] 運動預(yù)測模塊可以基于由參考圖像插值模塊進(jìn)行插值的參考圖像來執(zhí)行運動預(yù) 測。可以使用各種方法如基于全搜索的塊匹配算法(FBMA)、三步搜索(TSS)算法以及新三 步搜索(NTS)算法來計算運動向量。運動向量可以具有基于插值像素的以1/2或1/4像素 為單元的運動向量值。運動預(yù)測模塊可以使用不同的運動預(yù)測方法對當(dāng)前預(yù)測單元執(zhí)行預(yù) 測??梢允褂酶鞣N方法(例如跳過、合并以及先進(jìn)運動向量預(yù)測(AMVP)等)作為運動預(yù)測 方法。
[0049] 幀內(nèi)預(yù)測模塊可以基于與當(dāng)前塊相鄰的參考像素信息生成預(yù)測塊,該參考像素信 息是當(dāng)前圖像中的像素信息。當(dāng)與當(dāng)前預(yù)測單元相鄰的塊是已經(jīng)進(jìn)行了幀間預(yù)測的塊,并 且參考像素是已經(jīng)進(jìn)行了幀間預(yù)測的像素時,可以利用已經(jīng)進(jìn)行了幀內(nèi)預(yù)測的塊中的參考 像素信息來代替包括在已經(jīng)進(jìn)行了幀間預(yù)測的塊中的參考像素信息。也就是說,當(dāng)參考像 素不可用時,可以利用可用的參考像素中的至少一個參考像素來代替不可用的參考像素的 信息。
[0050] 幀內(nèi)預(yù)測的預(yù)測模式可以包括根據(jù)預(yù)測方向來使用參考像素信息的定向預(yù)測模 式,以及在執(zhí)行預(yù)測時不使用方向信息的非定向預(yù)測模式。預(yù)測亮度信息的模式和預(yù)測色 度信息的模式可以彼此不同。用于獲得亮度信息或者預(yù)測亮度信號信息的幀內(nèi)預(yù)測模式信 息可以用于預(yù)測色度信息。
[0051] 當(dāng)執(zhí)行幀內(nèi)預(yù)測中預(yù)測單元和變換單元具有相同的尺寸時,預(yù)測單元上的幀內(nèi)預(yù) 測可以基于預(yù)測單元的左像素、左上像素以及上像素來執(zhí)行。另一方面,當(dāng)執(zhí)行幀內(nèi)預(yù)測 中預(yù)測單元和變換單元具有不同的尺寸時,幀內(nèi)預(yù)測可以基于變換單元使用參考像素來執(zhí) 行。具有NXN分割的幀內(nèi)預(yù)測可以僅在最小編碼單元上執(zhí)行。
[0052] 在幀間預(yù)測方法中,在預(yù)測塊生成之前,根據(jù)預(yù)測模式可以將自適應(yīng)幀內(nèi)平滑 (AIS)濾波器應(yīng)用于參考像素。不同種類的AIS濾波器可以應(yīng)用于參考像素。在幀內(nèi)預(yù)測 方法中,當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式可以從位于當(dāng)前預(yù)測單元鄰近位置的預(yù)測單元的幀 內(nèi)預(yù)測模式來預(yù)測。在使用從相鄰預(yù)測單元預(yù)測的模式信息來對當(dāng)前預(yù)測單元的預(yù)測模式 進(jìn)行預(yù)測中,在當(dāng)前預(yù)測單元和相鄰預(yù)測單元具有相同的幀內(nèi)預(yù)測模式時,可以使用預(yù)定 標(biāo)志信息來發(fā)送指示當(dāng)前預(yù)測單元和相鄰預(yù)測單元具有相同的預(yù)測模式的信息。如果當(dāng)前 預(yù)測單元和相鄰預(yù)測單元具有不同的預(yù)測模式,關(guān)于當(dāng)前塊的預(yù)測模式的信息可以通過熵 編碼來編碼。
[0053] 包括殘留信息的殘留塊可以通過預(yù)測模塊110基于預(yù)測單元來生成,其中殘留信 息是在預(yù)測單元的預(yù)測塊和原始塊之間的差。生成的殘留塊可以被輸入至變換模塊115。 變換模塊115可以使用例如離散余弦變換(DCT)或離散正弦變換(DST)的變換方法對殘 留塊進(jìn)行變換,該殘留塊包括由預(yù)測模塊110基于原始塊生成的預(yù)測單元的殘留信息。用 于變換殘留塊的變換方法可以基于用于生成殘留塊的預(yù)測單元的幀內(nèi)預(yù)測模式信息在DCT 和DST中確定。
[0054] 針對當(dāng)前變換單元的幀內(nèi)預(yù)測模式可以被劃分為:包括垂直預(yù)測模式的第一幀內(nèi) 預(yù)測模式組;包括水平預(yù)測模式的第二幀內(nèi)預(yù)測模式組;以及包括除了第一幀內(nèi)預(yù)測模式 組和第二幀內(nèi)預(yù)測模式組之外的任一定向預(yù)測模式的第三幀內(nèi)預(yù)測模式組。變換模塊115 可以確定幀內(nèi)預(yù)測模式組,并且依據(jù)幀內(nèi)預(yù)測模式組,使用不同的變換方法來執(zhí)行變換。
[0055] 量化模塊120可以對由變換模塊115變換到頻域的值進(jìn)行量化。量化參數(shù)可以依 據(jù)塊或圖像的重要性而改變。從量化模塊120輸出的值可以被提供至反量化模塊135和重 排模塊125。
[0056] 對于量化殘留值,重排模塊125可以重排系數(shù)。
[0057] 重排模塊125可以通過系數(shù)掃描將系數(shù)的二維(2D)塊改變?yōu)橄禂?shù)的一維(ID)向 量。例如,重排模塊125可以使用對角線掃描將系數(shù)的2D塊改變?yōu)橄禂?shù)的ID向量。可以 依據(jù)變換單元的尺寸和幀內(nèi)預(yù)測模式使用沿列方向掃描系數(shù)的2D塊的垂直掃描以及沿行 方向掃描系數(shù)的2D塊的水平掃描,來替代對角線掃描。也就是說,使用的掃描方法可以基 于變換單元的尺寸和幀內(nèi)預(yù)測模式從對角線掃描、垂直掃描和水平掃描中選擇。
[0058] 熵編碼模塊130可以基于由重排模塊125獲得的值來執(zhí)行熵編碼。各種編碼方法 可以用于熵編碼,例如指數(shù)哥倫布編碼,上下文自適應(yīng)可變長度編碼(CAVLC),以及上下文 自適應(yīng)二進(jìn)制算術(shù)編碼(CABAC)。
[0059] 熵編碼模塊130可以編碼多種信息,例如可以從重排模塊125和預(yù)測模塊110獲 得的關(guān)于編碼單元的殘留系數(shù)信息和塊類型信息、預(yù)測模式信息、分割單元信息、預(yù)測單元 信息、變換單元信息、運動向量信息、參考巾貞信息、塊插值信息以及濾波信息。
[0060] 熵編碼模塊130可以對從重排模塊125輸入的編碼單元的系數(shù)進(jìn)行熵編碼。
[0061] 熵編碼模塊130可以存儲針對熵編碼的表,例如可變長度編碼(VLC)表,以及使用 VLC表的熵編碼。在熵編碼中,針對包括在表中的某些碼字使用計數(shù)器的方法,或直接交換 方法可以用來改變信息的碼字向碼數(shù)的分配。例如,在映射碼數(shù)和碼字的表中,將短位碼字 分配至較高碼數(shù),映射碼字和碼數(shù)的表的映射順序可以自適應(yīng)改變,以使得將短長度的碼 字分配至具有使用計數(shù)器的碼數(shù)的所計次數(shù)的最高數(shù)值的碼數(shù)。當(dāng)由計數(shù)器所計次數(shù)的數(shù) 值是預(yù)設(shè)閾值時,在計數(shù)器中記錄的所計數(shù)次數(shù)的數(shù)值可以分成兩半,接著再次計數(shù)。
[0062] 當(dāng)對應(yīng)于碼數(shù)的信息發(fā)生時,可以通過使用直接交換方法交換具有適當(dāng)?shù)妮^高碼 數(shù)的位置的方法來減少分配至碼數(shù)的位數(shù),進(jìn)而將表中沒有被計數(shù)的碼數(shù)用于進(jìn)行熵編 碼。
[0063] 熵編碼模塊可以依據(jù)幀內(nèi)預(yù)測模式組來針對編碼變換方法使用不同的映射表。
[0064] 反量化模塊135和逆變換模塊140將由量化模塊120量化的值進(jìn)行反量化,并將 由變換模塊115變換的值進(jìn)行逆變換。由反量化模塊135和逆變換模塊140生成的殘留值 可以加入到預(yù)測塊,該預(yù)測塊由預(yù)測模塊110的運動預(yù)測模塊、運動補(bǔ)償模塊和幀內(nèi)預(yù)測 模塊進(jìn)行預(yù)測,進(jìn)而生成重建塊。
[0065] 濾波模塊145可以包括去塊濾波器、偏移校正模塊和自適應(yīng)環(huán)路濾波器(ALF)中 的至少一個。
[0066] 去塊濾波器145可以將在重建圖像中塊之間的邊界處生成的塊失真移除。是否向 當(dāng)前塊應(yīng)用去塊濾波器可以基于包括在該塊的多個行或列中的像素來確定。當(dāng)去塊濾波器 被應(yīng)用到塊時,可以依據(jù)需要的去塊濾波強(qiáng)度來應(yīng)用強(qiáng)濾波器或者弱濾波器。此外,當(dāng)應(yīng)用 去塊濾波器中執(zhí)行水平濾波和垂直濾波時,水平濾波和垂直濾波可以并行執(zhí)行。
[0067] 偏移校正模塊可以通過像素來校正去塊濾波圖像與原始圖像的偏移。將圖像的像 素分割為預(yù)定數(shù)量的區(qū)域、確定要進(jìn)行偏移校正的區(qū)域,以及向確定的區(qū)域應(yīng)用偏移校正 的方法,或者在考慮關(guān)于每個像素的邊緣信息的情況下應(yīng)用偏移校正的方法可以用于執(zhí)行 特定圖像上的偏移校正。
[0068] ALF可以基于濾波重建圖像與原始圖像的比較結(jié)果來執(zhí)行濾波。包括在圖像中的 像素可以被分割成預(yù)定組,可以確定應(yīng)用到每個組的濾波器,并且針對每個組可以執(zhí)行不 同的濾波。關(guān)于是否應(yīng)用ALF的信息可以由每個編碼單元(CU)發(fā)送,并且要應(yīng)用到每個塊 的ALF的形狀和系數(shù)可以改變。ALF可以具有多種類型,并且包括在相應(yīng)的濾波器中的多個 系數(shù)可以改變。關(guān)于ALF的濾波相關(guān)信息(例如濾波系數(shù)信息、ALF開/關(guān)信息以及濾波 類型信息)可以被包括并發(fā)送在比特流的預(yù)定參數(shù)集合中。
[0069] 存儲器150可以存儲從濾波模塊145輸出的重建塊或圖像,并且當(dāng)執(zhí)行幀間預(yù)測 時,存儲的重建塊或圖像可以被提供至預(yù)測模塊110。
[0070] 圖2是示出了根據(jù)本發(fā)明的示例性實施方式的視頻解碼裝置的框圖。
[0071] 參照圖2,視頻解碼裝置200可以包括熵解碼模塊210、重排模塊215、反量化模塊 220、逆變換模塊225、預(yù)測模塊230、濾波模塊235以及存儲器240。
[0072] 當(dāng)視頻比特流從視頻編碼裝置輸入時,可以根據(jù)由視頻編碼裝置進(jìn)行的視頻編碼 過程的逆過程對輸入的比特流進(jìn)行解碼。
[0073] 熵解碼模塊210可以根據(jù)由視頻編碼裝置的熵編碼模塊進(jìn)行的熵編碼過程的逆 過程執(zhí)行熵解碼。例如,在視頻編碼裝置中用于熵編碼相同的VLC表可以用于執(zhí)行熵解碼。 在熵解碼模塊210中解碼的信息中用于生成預(yù)測塊的信息可以被提供至預(yù)測模塊230,通 過由熵解碼模塊進(jìn)行的熵解碼獲得的殘留值可以被輸入至重排模塊215。
[0074] 類似的熵編碼模塊、熵解碼模塊210也可以使用計數(shù)器或者直接交換方法來改變 碼字分配表,并且基于改變的碼字分配表來執(zhí)行熵解碼。
[0075] 熵解碼模塊210可以解碼與由編碼裝置執(zhí)行的幀內(nèi)預(yù)測和幀間預(yù)測相關(guān)的信息。 如上文所描述的,當(dāng)在執(zhí)行幀內(nèi)預(yù)測和幀間預(yù)測中視頻編碼裝置具有預(yù)定的約束時,熵解 碼模塊可以基于該約束來執(zhí)行熵解碼,以獲取關(guān)于當(dāng)前塊的幀內(nèi)預(yù)測和幀間預(yù)測的信息。
[0076] 重排模塊215可以基于編碼模塊的重排方法,在由熵解碼模塊210執(zhí)行熵解碼的 比特流上執(zhí)行重排。重排模塊215可以將以ID向量形式表示的系數(shù)重建和重排成以2D塊 形式的系數(shù)。重排模塊215可以被提供利用與由編碼模塊執(zhí)行的系數(shù)掃描相關(guān)的信息,并 且可以基于編碼模塊執(zhí)行掃描的掃描順序,使用逆掃描系數(shù)的方法來執(zhí)行重排。
[0077] 反量化模塊220可以基于由編碼裝置提供的量化參數(shù)和塊的重排系數(shù)來執(zhí)行反 量化。
[0078] 逆變換模塊225可以關(guān)于由變換模塊執(zhí)行的DCT和DST來執(zhí)行逆DCT和逆DST,其 中DCT和DST已經(jīng)被視頻編碼裝置基于量化結(jié)果而被執(zhí)行。逆變換可以基于由視頻編碼裝 置確定的傳輸單元而被執(zhí)行。視頻編碼裝置的變換模塊可以依據(jù)多個信息元素(例如預(yù)測 方法、當(dāng)前塊的尺寸和預(yù)測方向等)來選擇性地執(zhí)行DCT和DST,并且視頻解碼裝置的逆變 換模塊225可以基于關(guān)于由視頻編碼裝置的變換模塊來執(zhí)行的變換的信息來執(zhí)行逆變換。
[0079] 可以由編碼單元替代變換單元來執(zhí)行變換。
[0080] 針對當(dāng)前變換單元的幀內(nèi)預(yù)測模式可以被劃分為包括垂直預(yù)測模式的第一幀內(nèi) 預(yù)測模式組、包括水平預(yù)測模式的第二幀內(nèi)預(yù)測模式組以及包括除了第一幀內(nèi)預(yù)測模式組 和第二幀內(nèi)預(yù)測模式組以外的任一定向預(yù)測模式的第三幀內(nèi)預(yù)測模式組。逆變換模塊225 可以確定幀內(nèi)預(yù)測模式組并且依據(jù)幀內(nèi)預(yù)測模式組,使用不同的變換方法來執(zhí)行逆變換。
[0081] 在解碼變換方法中,當(dāng)幀內(nèi)預(yù)測模式組是第一幀內(nèi)預(yù)測模式組時,使用第一映射 表來解碼變換方法;當(dāng)幀內(nèi)預(yù)測模式組是第二幀內(nèi)預(yù)測模式組時,使用第二映射表來解碼 變換方法;當(dāng)幀內(nèi)預(yù)測模式組是第三幀內(nèi)預(yù)測模式組時,使用第三映射表來解碼變換方法。
[0082] 預(yù)測模塊230可以基于由熵解碼模塊210提供的預(yù)測塊生成信息和由存儲器240 提供的關(guān)于在前解碼塊或圖像的信息來生成預(yù)測塊。
[0083] 與上文描述的視頻編碼裝置的操作相類似,當(dāng)執(zhí)行幀內(nèi)預(yù)測中預(yù)測單元和變換單 元具有相同的尺寸時,基于預(yù)測單元的左像素、左上像素和上像素執(zhí)行來預(yù)測單元上的幀 內(nèi)預(yù)測。另一方面,當(dāng)執(zhí)行幀內(nèi)預(yù)測中預(yù)測單元和變換單元具有不同的尺寸時,可以基于變 換單元使用參考像素來執(zhí)行幀內(nèi)預(yù)測。具有NXN分割的幀內(nèi)預(yù)測可以僅對最小編碼單元 執(zhí)行。
[0084] 預(yù)測模塊230可以包括預(yù)測單元確定模塊、幀間預(yù)測模塊和幀內(nèi)預(yù)測模塊。預(yù)測 單元確定模塊可以接收多種信息,例如從熵解碼模塊輸入的預(yù)測單元信息、幀內(nèi)預(yù)測方法 的預(yù)測模式信息和幀間預(yù)測方法的運動預(yù)測相關(guān)信息,并且可以確定在預(yù)測單元上執(zhí)行幀 間預(yù)測和幀內(nèi)預(yù)測中的哪一個。幀間預(yù)測模塊可以基于當(dāng)前圖像的在前圖像和在后圖像中 的至少一個圖像的信息執(zhí)行當(dāng)前預(yù)測單元上的幀間預(yù)測,包括使用從視頻編碼裝置提供的 對于當(dāng)前預(yù)測單元的幀間預(yù)測必要的信息的當(dāng)前預(yù)測單元。
[0085] 為了執(zhí)行幀間預(yù)測,可以基于編碼單元來確定用于包括在編碼單元中的預(yù)測單元 的運動預(yù)測方法是跳過模式、合并模式,還是AMVP模式。
[0086] 幀內(nèi)預(yù)測模式可以基于當(dāng)前圖像中的像素信息來生成預(yù)測塊。當(dāng)預(yù)測單元是在其 上執(zhí)行幀內(nèi)預(yù)測的預(yù)測單元時,可以基于從視頻編碼裝置提供的關(guān)于預(yù)測單元的幀內(nèi)預(yù)測 模式信息來執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測模塊可以包括AIS濾波器、參考像素插值模塊和DS濾 波器。AIS濾波器在當(dāng)前塊的參考像素上執(zhí)行濾波,并且可以依據(jù)當(dāng)前預(yù)測單元的預(yù)測模 式來確定是否應(yīng)用AIS濾波器??梢允褂脧囊曨l編碼裝置提供的預(yù)測單元的預(yù)測模式和關(guān) 于AIS濾波器的信息在當(dāng)前塊的參考像素上執(zhí)行AIS濾波。當(dāng)當(dāng)前塊的預(yù)測模式是不包括 AIS濾波的模式時,可以不應(yīng)用AIS濾波器。
[0087] 當(dāng)預(yù)測單元的預(yù)測模式是基于通過對參考像素進(jìn)行插值而獲得的像素值來執(zhí)行 幀內(nèi)預(yù)測的預(yù)測模式時,參考像素插值模塊可以通過對參考像素進(jìn)行插值而以比整數(shù)位置 單元小的像素單元生成參考像素。當(dāng)當(dāng)前預(yù)測單元的預(yù)測模式是沒有對參考像素進(jìn)行插值 而生成預(yù)測塊的預(yù)測模式時,可以不對參考像素進(jìn)行插值。當(dāng)當(dāng)前塊的預(yù)測模式是DC模式 時,DC濾波器可以通過濾波生成預(yù)測塊。
[0088] 重建塊或圖像可以被提供至濾波模塊235。濾波模塊235可以包括去塊濾波器、偏 移校正模塊和ALF。
[0089] 可以從視頻編碼裝置提供關(guān)于是否將去塊濾波器應(yīng)用到相應(yīng)的塊或圖像的信息, 以及關(guān)于當(dāng)使用去塊濾波器時應(yīng)用強(qiáng)濾波器和弱濾波器中的哪一個的信息。視頻解碼裝置 的去塊濾波器可以被提供利用來自視頻編碼裝置的關(guān)于去塊濾波器的信息,并且可以在相 應(yīng)的塊上執(zhí)行去塊濾波。與視頻編碼裝置類似,首先執(zhí)行垂直去塊濾波和水平去塊濾波,其 中在重疊區(qū)域可以執(zhí)行垂直去塊濾波和水平去塊濾波中的至少一個。在垂直去塊濾波和水 平去塊濾波重疊的區(qū)域上可以執(zhí)行垂直去塊濾波和水平去塊濾波中先前沒有被執(zhí)行的任 一個。這個去塊濾波過程可以使去塊濾波的并行處理成為可能。
[0090] 偏移校正模塊可以基于在編碼過程中應(yīng)用到圖像的偏移校正類型和偏移值信息 來在重建圖像上執(zhí)行偏移校正。
[0091] ALF可以基于在濾波后的重建圖像和原始圖像之間的比較結(jié)果來執(zhí)行濾波??梢?基于從編碼裝置提供的是否應(yīng)用ALF的信息以及ALF系數(shù)信息來將ALF應(yīng)用到編碼單元。 ALF信息可以包括并提供在特定參數(shù)集中。
[0092] 存儲器240可以存儲用作參考圖像或參考塊的重建圖像或塊,并且可以向輸出模 塊提供該重建圖像。
[0093] 如上所述,在本發(fā)明的實施方式中,術(shù)語"編碼單元(coding unit) "用作編碼單元 (encoding unit)并且也可以用作解碼的單元(解碼單元)。
[0094] 圖3示出了根據(jù)本發(fā)明的示例性實施方式的根據(jù)幀內(nèi)預(yù)測模式來改變變換方法 的方法。
[0095] 參照圖3,可以根據(jù)幀內(nèi)預(yù)測模式的方向來使用不同的變換方法。
[0096] 第一幀內(nèi)預(yù)測模式組300包括垂直幀內(nèi)預(yù)測模式26和鄰近模式23、24、25、27、28 和29。第二幀內(nèi)預(yù)測模式組320包括水平幀內(nèi)預(yù)測模式10和鄰近模式13、12、11、9、8和 7。第三幀內(nèi)預(yù)測模式組340包括除了第一幀內(nèi)預(yù)測模式組300和第二幀內(nèi)預(yù)測模式組320 之外的對角線預(yù)測模式。
[0097] 第一幀內(nèi)預(yù)測模式組300、第二幀內(nèi)預(yù)測模式組320和第三幀內(nèi)預(yù)測模式組340具 有隨機(jī)設(shè)置的值。在根據(jù)本實施方式的依賴于幀內(nèi)預(yù)測模式的變換方法中,其它預(yù)測模式 可以被包括在相應(yīng)的組中。也就是說,第一幀內(nèi)預(yù)測模式組300表示包括具有高的垂直預(yù) 測趨勢的幀內(nèi)預(yù)測模式的組;第二幀內(nèi)預(yù)測模式組320表示具有高的水平預(yù)測趨勢的幀內(nèi) 預(yù)測模式的組。包括在相應(yīng)的組中的幀內(nèi)預(yù)測模式可以在本發(fā)明的范圍內(nèi)改變。
[0098] 也就是說,在根據(jù)本實施方式的變換方法中,幀內(nèi)預(yù)測模式被劃分為組,并且根據(jù) 該組來應(yīng)用不同的變換方法,其中幀內(nèi)預(yù)測模式也可以被劃分為多個組,而不是三個組,并 且根據(jù)該組來應(yīng)用不同的變換方法。
[0099] 圖4示出了根據(jù)本發(fā)明的示例性實施方式的一種變換方法。
[0100] 參考圖4,可以使用四個變換方法來對殘留信號進(jìn)行變換。
[0101] 可以根據(jù)是在塊上執(zhí)行行變換還是列變換將下面所述的變換方法進(jìn)行分類。在解 碼過程中,可以執(zhí)行關(guān)于用于編碼過程中的變換的變換方法的逆變換。在下文中,為便于描 述,本實施方式僅示出了用于編碼過程的變換方法。在解碼過程中,可以基于在編碼過程中 的變換方法來進(jìn)行逆變換。
[0102] 第一變換方法400執(zhí)行行變換和列變換兩者,并且可以在塊上執(zhí)行二維(2D)變 換。
[0103] 第二變換方法420僅執(zhí)行行變換,并且可以沿行的方向在塊上執(zhí)行一維(ID)變 換。第三變換方法440僅執(zhí)行列變換,并且可以沿列的方向在塊上執(zhí)行一維變換。
[0104] 第四變換方法460可以既不執(zhí)行行變換也不執(zhí)行列變換??梢曰陬A(yù)定標(biāo)志信息 來表示第四變換方法,標(biāo)志信息可以指定不在當(dāng)前塊上執(zhí)行變換。此外,在編碼過程中,關(guān) 于不變換(變換跳過)的方法例如第四變換方法是否用于整個編碼過程的信息可以利用附 加標(biāo)志信息來指示。
[0105] 在本實施方式中,可以選擇性地僅使用第一變換方法至第四變換方法中的一些變 換方法,而不是使用第一變換方法至第四變換方法中的全部變換方法。例如,第四變換方法 (其是不變換的方法)可以使用標(biāo)志信息選擇性地使用。也就是說,在對塊進(jìn)行變換中,可 以僅使用第一變換方法至第三變換方法,而選擇性地使用第四變換方法。可選地,當(dāng)僅使用 第一變換方法和第四變換方法時,可以僅使用標(biāo)志信息選擇性地使用第一變換方法或者可 以使用第一變換方法或第一變換方法和第四變換方法兩者。
[0106] 表1示出了變換方法和表示變換方法的碼字。
[0107] [表 1]
[0108]
【權(quán)利要求】
1. 一種對待被解碼的具有當(dāng)前塊的視頻信號進(jìn)行解碼的方法,包括: 從所述視頻信號獲取當(dāng)前塊的量化系數(shù); 通過對所述量化系數(shù)進(jìn)行反量化來獲取當(dāng)前塊的反量化系數(shù); 通過基于變換跳過標(biāo)志選擇性地執(zhí)行針對當(dāng)前塊的反量化系數(shù)的逆變換來獲取殘留 采樣,所述變換跳過標(biāo)志指定針對當(dāng)前塊的逆變換是否被跳過; 基于當(dāng)前塊的幀內(nèi)預(yù)測模式和當(dāng)前塊的鄰近采樣來獲取當(dāng)前塊的預(yù)測采樣;以及 通過使用所述殘留采樣和所述預(yù)測采樣來重構(gòu)當(dāng)前塊。
2. 根據(jù)權(quán)利要求1所述的方法,其中,當(dāng)所述變換跳過標(biāo)志指定不跳過針對當(dāng)前塊的 逆變換時,獲取殘留采樣包括: 確定當(dāng)前塊的變換類型;以及 使用確定的變換類型來執(zhí)行針對當(dāng)前塊的反量化系數(shù)的逆變換。
3. 根據(jù)權(quán)利要求2所述的方法,其中,基于當(dāng)前塊的預(yù)測模式或針對當(dāng)前塊的變換單 元的大小中的至少一個來確定所述變換類型。
4. 根據(jù)權(quán)利要求3所述的方法,其中,所述預(yù)測模式代表幀內(nèi)模式和幀間模式中的一 種。
5. 根據(jù)權(quán)利要求3所述的方法,其中,所述變換類型代表離散余弦變換DCT和離散正弦 變換DST中的一種。
6. 根據(jù)權(quán)利要求2所述的方法,其中,所述逆變換包括當(dāng)前塊的行變換和當(dāng)前塊的列 變換。
7. 根據(jù)權(quán)利要求1所述的方法,其中,當(dāng)所述鄰近采樣包括未用于當(dāng)前塊的幀內(nèi)預(yù)測 的不可用采樣時,用與所述不可用采樣相鄰的可用采樣中的至少一個來替換所述不可用采 樣。
8. 根據(jù)權(quán)利要求7所述的方法,其中,所述不可用采樣對應(yīng)于以幀間模式編碼的相鄰 塊中的至少一個采樣,所述相鄰塊與當(dāng)前塊相鄰。
9. 根據(jù)權(quán)利要求1所述的方法,其中,獲取當(dāng)前塊的量化系數(shù)包括: 基于針對當(dāng)前塊的變換單元的大小或所述幀內(nèi)預(yù)測模式中的至少一個來確定當(dāng)前塊 的掃描模式;以及 通過考慮確定的掃描模式的掃描順序來獲取當(dāng)前塊的量化系數(shù)。
10. 根據(jù)權(quán)利要求9所述的方法,其中,確定的掃描模式代表對角掃描、垂直掃描和水 平掃描中的一種。
【文檔編號】H04N19/176GK104378633SQ201410645217
【公開日】2015年2月25日 申請日期:2012年8月1日 優(yōu)先權(quán)日:2011年10月17日
【發(fā)明者】李培根, 權(quán)載哲, 金柱英 申請人:株式會社Kt