圖像編碼方法、圖像解碼方法、圖像編碼器及圖像解碼器的制造方法
【專利摘要】本發(fā)明涉及一種用于對圖像進(jìn)行編碼和解碼的技術(shù)。根據(jù)本發(fā)明的用于對圖像進(jìn)行編碼的方法包括以下步驟:相對于當(dāng)前塊執(zhí)行預(yù)測;以及對通過所述預(yù)測生成的殘差進(jìn)行變換,其中在所述變換步驟中,對所述殘差執(zhí)行第一變換,然后對低頻域執(zhí)行第二變換,并且其中,第二變換的模式可以基于第一變換的模式來決定。
【專利說明】圖像編碼方法、圖像解碼方法、圖像編碼器及圖像解碼器
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及視頻編碼和解碼,更具體地,涉及用于在視頻編碼和解碼中對信號進(jìn) 行變換的方法和設(shè)備。
【背景技術(shù)】
[0002] 最近,在各個應(yīng)用領(lǐng)域已經(jīng)增加了對于高分辨率和高質(zhì)量視頻例如高清晰度(HD) 和超高清晰度(UHD)視頻的需求。
[0003] 隨著視頻數(shù)據(jù)具有更高分辨率和更高質(zhì)量,相對于現(xiàn)有視頻數(shù)據(jù),數(shù)據(jù)量越來越 大。因此,當(dāng)使用介質(zhì)如現(xiàn)有的有線和無線寬帶線傳遞視頻數(shù)據(jù)或者將視頻數(shù)據(jù)存儲于現(xiàn) 有存儲介質(zhì)時,傳遞成本和存儲成本增加。
[0004] 為了解決隨著視頻數(shù)據(jù)的分辨率和質(zhì)量的提高而出現(xiàn)的這些問題,可以利用高效 視頻視頻壓縮技術(shù)。
[0005] 視頻壓縮技術(shù)包括各種技術(shù),例如:從當(dāng)前圖片之前或之后的圖片來預(yù)測包含在 當(dāng)前圖片中的像素值的幀間預(yù)測技術(shù);使用當(dāng)前圖片中的像素信息來預(yù)測包含在當(dāng)前圖片 中的像素值的幀內(nèi)預(yù)測技術(shù);通過預(yù)定單元和將變換系數(shù)量化來將像素信息變換到頻域的 技術(shù);以及將短碼分配給具有高出現(xiàn)頻率的值而將長碼分配給具有低出現(xiàn)頻率的值的熵編 碼技術(shù)。
[0006] 使用這樣的視頻壓縮技術(shù)可以有效地壓縮和傳遞或存儲視頻數(shù)據(jù)。
【發(fā)明內(nèi)容】
[0007] 技術(shù)問題
[0008] 本發(fā)明的一個方面是提供用于高效變換視頻信息的方法和設(shè)備。
[0009] 本發(fā)明的另一個方面是提供用于根據(jù)預(yù)測方法執(zhí)行第一變換并且根據(jù)第一變換 對低頻域執(zhí)行第二變換以提高壓縮效率的方法和設(shè)備。
[0010] 本發(fā)明的再一個方面是提供用于根據(jù)分割的形狀執(zhí)行第一變換并且根據(jù)第一變 換對低頻域執(zhí)行第二變換以提高壓縮效率的方法和設(shè)備。
[0011] 技術(shù)方案
[0012] 本發(fā)明的實施方式提供一種視頻編碼方法,其包括:對當(dāng)前塊執(zhí)行預(yù)測;以及對 通過所述預(yù)測生成的殘差進(jìn)行變換,其中,在所述變換步驟中,在對殘差執(zhí)行第一變換后對 低頻域執(zhí)行第二變換,以及基于第一變換的模式來確定第二變換的模式。
[0013] 在所述執(zhí)行步驟中,可以對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,并且可以基于幀內(nèi)預(yù)測的預(yù)測 模式的方向?qū)⒌谝蛔儞Q的模式確定為二維(2D)變換、一維(1D)堅直變換、1D水平變換和無 變換中之一。在此,第二變換的模式可以與第一變換的模式相同。
[0014] 在所述執(zhí)行步驟中,可以對當(dāng)前塊執(zhí)行幀間預(yù)測,并且可以基于當(dāng)前塊的形狀將 第一變換的模式確定為2D變換、1D堅直變換、1D水平變換和無變換中之一。在此,第二變 換的模式可以與第一變換的模式相同。
[0015] 在所述變換步驟中,可以基于率失真優(yōu)化來確定第一變換的模式。在此,可以傳輸 表示所確定的第一變換的模式的信息。
[0016] 第二變換可以是4X4塊的離散正弦變換(DST)。
[0017] 本發(fā)明的另一個實施方式提供一種視頻解碼方法,其包括:執(zhí)行逆變換以生成當(dāng) 前塊的殘差塊;以及執(zhí)行預(yù)測以生成當(dāng)前塊的預(yù)測塊,其中,在執(zhí)行逆變換中,可以在對當(dāng) 前塊的編碼殘差信息執(zhí)行第一逆變換后對低頻域執(zhí)行第二逆變換,以及可以基于第一變換 的模式來確定第二變換的模式。
[0018] 在執(zhí)行預(yù)測時,可以對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測,并且可以基于幀內(nèi)預(yù)測的預(yù)測模式 的方向?qū)⒌谝荒孀儞Q的模式確定為2D變換、1D堅直變換、1D水平變換和無變換中之一。在 此,第二逆變換的模式可以與第一逆變換的模式相同。
[0019] 在執(zhí)行預(yù)測時,可以對當(dāng)前塊執(zhí)行幀間預(yù)測,并且基于當(dāng)前塊的形狀將第一逆變 換的模式確定為2D變換、1D堅直變換、1D水平變換和無變換中之一。在此,第二逆變換的 模式可以與第一逆變換的模式相同。
[0020] 在執(zhí)行逆變換時,可以根據(jù)由接收到的信息表示的模式來執(zhí)行第一逆變換,所述 接收到的信息表示作為第一逆變換的模式的2D變換、1D堅直變換、1D水平變換和無變換中 之一。在此,第二逆變換的模式可以與第一逆變換的模式相同。
[0021] 第二變換可以是4X4塊的DST。
[0022] 本發(fā)明的再一個實施方式提供一種視頻編碼設(shè)備,其包括:預(yù)測模塊,所述預(yù)測模 塊對當(dāng)前塊執(zhí)行預(yù)測;以及變換模塊,所述變換模塊對通過預(yù)測生成的殘差進(jìn)行變換,其 中,變換模塊在對殘差執(zhí)行第一變換后對低頻域執(zhí)行第二變換,并且基于第一變換的模式 確定第二變換的模式。
[0023] 本發(fā)明的又一個實施方式提供一種視頻解碼設(shè)備,其包括:逆變換模塊,所述逆變 換模塊通過執(zhí)行逆變換來生成當(dāng)前塊的殘差塊;以及預(yù)測模塊,所述預(yù)測模塊生成當(dāng)前塊 的預(yù)測塊,其中逆變換模塊在對當(dāng)前塊的編碼殘差信息執(zhí)行第一逆變換后對低頻域執(zhí)行第 二逆變換,并且基于第一變換的模式確定第二變換的模式。
[0024] 有益效果
[0025] 根據(jù)本發(fā)明,殘差信息可以被高效地變換和逆變換。
[0026] 根據(jù)本發(fā)明,可以根據(jù)預(yù)測方法執(zhí)行第一變換以及可以根據(jù)第一變換對低頻域執(zhí) 行第二變換,從而提高壓縮和傳輸效率。
[0027] 根據(jù)本發(fā)明,可以根據(jù)分割的形狀執(zhí)行第一變換以及可以根據(jù)第一變換對低頻域 執(zhí)行第二變換,從而提高壓縮和傳輸效率。
【專利附圖】
【附圖說明】
[0028] 圖1為示出根據(jù)本發(fā)明的示例性實施方式的視頻編碼設(shè)備的框圖。
[0029] 圖2為示出根據(jù)本發(fā)明的示例性實施方式的視頻解碼設(shè)備的框圖。
[0030] 圖3示意性地示出用于幀內(nèi)預(yù)測的預(yù)測模式。
[0031] 圖4示意性地示出變換跳過模式(TMS)。
[0032] 圖5為示意性地示出根據(jù)本發(fā)明的采用變換跳過模式和第二變換的編碼處理的 流程圖。
[0033] 圖6示意性地示出關(guān)于在跳過模式、合并模式和AMVP模式下可用的相鄰塊的信 肩、。
[0034] 圖7為示意性地示出根據(jù)本發(fā)明的采用變換跳過模式和第二變換的解碼處理的 流程圖。
【具體實施方式】
[0035] 本發(fā)明可以以各種方式改變和修改并且可以參考不同的示例性實施方式示出,其 中一些實施方式將在附圖中進(jìn)行描述和示出。然而,這些實施方式并非意在限制本發(fā)明而 是應(yīng)被理解為包括屬于本發(fā)明的精神和技術(shù)范圍的所有修改、等價物和替代物。貫穿全文, 附圖中相同的附圖標(biāo)記指代相同的要素。
[0036] 盡管可以使用術(shù)語第一、第二等來描述各種要素,但是這些要素不應(yīng)該被這些術(shù) 語限制。這些術(shù)語僅被用于將一個要素與另一個要素進(jìn)行區(qū)分。例如,在不背離本發(fā)明的 教示的情況下,第一要素可以稱為第二要素,同樣地,第二要素可以稱為第一要素。術(shù)語"和 /或"包括多個相關(guān)聯(lián)的列出項的任意或者所有組合。
[0037] 將要理解的是當(dāng)要素被稱為與另一個要素"連接"或者"耦接"時,該要素可以直接 與另一個要素或者中間要素連接或者耦接。相反,當(dāng)要素被稱為與另一個要素"直接連接" 或者"直接耦接"時,不存在中間要素。
[0038] 本文所使用的術(shù)語僅是為了描述特定的實施方式并且并不意在限制本發(fā)明。當(dāng)在 本文中使用時,除非上下文明確指明其他情況,否則單數(shù)形式"一個(a、an)"和"該(the)" 意在也包括復(fù)數(shù)形式。還將理解的是當(dāng)在本說明書中使用時,術(shù)語"包括"和/或"具有"指 定所陳述的特征、整體、步驟、操作、要素和/或部件的存在,但是不排除存在或者添加一個 或更多個其他特征、整體、步驟、操作、要素、部件和/或它們的組合。
[0039] 在下文中,將參考附圖對本發(fā)明的示例性實施方式進(jìn)行詳細(xì)描述。貫穿全文,附圖 中相同的附圖標(biāo)記指代相同的要素,并且本文中相同要素的多余描述將被省略。
[0040] 圖1為示出根據(jù)本發(fā)明的示例性實施方式的視頻編碼設(shè)備的框圖。
[0041] 參考圖1,視頻編碼設(shè)備100包括圖片分割模塊105、預(yù)測模塊110,變換模塊115、 量化模塊120、重排模塊125、熵編碼模塊130、逆量化模塊135、逆變換模塊140、濾波模塊 145和存儲器150。
[0042] 盡管圖1中所示的各個要素被獨(dú)立地示出以代表視頻編碼設(shè)備中不同的獨(dú)特功 能,然而這樣的配置不表示每個要素是由單獨(dú)的硬件組成或者軟件組成構(gòu)造的。也就是說, 為了方便描述而將各個要素獨(dú)立布置,其中至少兩個要素可以組合成單個要素,或者單個 要素可以被分成多個執(zhí)行功能的要素。要注意的是,在不背離本發(fā)明本質(zhì)的情況下,其中一 些要素集成為一個組合要素和/或一個要素被分成多個單獨(dú)要素的實施方式包括在本發(fā) 明的范圍內(nèi)。
[0043] 一些要素對于本發(fā)明中的基本功能可能不是必要的并且可能是僅為了改善性能 的可選組成。本發(fā)明可以通過僅包括對于本發(fā)明的實施方式必要的組成來實施,不包括僅 用于改善性能的組成。僅包括必要組成而不包括僅用于改善性能的光學(xué)組成的結(jié)構(gòu)屬于本 發(fā)明的范圍。
[0044] 圖片分割模塊105可以將輸入圖片分割成至少一個處理單元。在此,處理單元可 以是預(yù)測單元(PU)、變換單元(TU)或編碼單元(CU)。圖片分割模塊105可以將一個圖片 分割成編碼單元、預(yù)測單元和變換單元的多個組合并且基于預(yù)定標(biāo)準(zhǔn)(例如,成本函數(shù))選 擇編碼單元、預(yù)測單元和變換單元的一個組合,從而對圖片編碼。
[0045] 例如,一個圖片可以分割成多個編碼單元??梢允褂弥T如四叉樹結(jié)構(gòu)的遞歸樹結(jié) 構(gòu)將圖片分割成編碼單元。作為具有與根一樣的最大尺寸的圖片或編碼單元,編碼單元可 以被分割成具有與分割的編碼單元一樣多的子節(jié)點(diǎn)的子編碼單元。根據(jù)預(yù)定約束不再被分 割的編碼單元成為葉節(jié)點(diǎn)。也就是說,假設(shè)編碼單元僅可以分割成方形,單個編碼單元可以 被分割成至多四個不同的編碼單元。
[0046] 在本發(fā)明的實施方式中,編碼單元不僅可以用于指代編碼的單元而且可以用于指 代解碼的單元。
[0047] 預(yù)測單元可以被分割成編碼單元中的具有相同尺寸的至少一個正方形形狀或矩 形形狀,或者被分割成使得分割的預(yù)測單元的形狀與編碼單元中的其他預(yù)測單元的形狀不 同。
[0048] 當(dāng)基于編碼單元生成要經(jīng)歷幀內(nèi)預(yù)測的預(yù)測單元并且該編碼單元不是最小編碼 單元時,可以在不將編碼單元分割成多個預(yù)測單元(NXN)的情況下執(zhí)行幀內(nèi)預(yù)測。
[0049] 預(yù)測模塊110可以包括執(zhí)行幀間預(yù)測的幀間預(yù)測模塊和執(zhí)行幀內(nèi)預(yù)測的幀內(nèi)預(yù) 測模塊。預(yù)測模塊可以確定應(yīng)該對預(yù)測單元執(zhí)行幀間預(yù)測還是幀內(nèi)預(yù)測,并且可以根據(jù)所 確定的預(yù)測方法確定具體的信息(例如,幀內(nèi)預(yù)測模式、運(yùn)動向量和參考圖片等)。在此,對 其執(zhí)行預(yù)測的處理單元可以與針對其來確定預(yù)測方法和具體信息的處理單元不同。例如, 可以針對每個預(yù)測單元確定預(yù)測方法和預(yù)測模式,同時可以針對每個變換單元執(zhí)行預(yù)測。 可以將生成的預(yù)測塊與原始塊之間的殘差值(殘差塊)輸入變換模塊115。此外,用于預(yù)測 的預(yù)測模式信息、運(yùn)動向量信息等可以連同殘差值一起通過熵編碼模塊130進(jìn)行編碼并且 傳輸給解碼設(shè)備。當(dāng)使用具體的編碼模式時,可以對原始塊進(jìn)行編碼并將其傳輸至解碼設(shè) 備而無需通過預(yù)測模塊110生成預(yù)測塊。
[0050] 幀間預(yù)測模塊可以基于關(guān)于當(dāng)前圖片之前和之后的圖片中的至少一個圖片的信 息來針對預(yù)測單元進(jìn)行預(yù)測。幀間預(yù)測模塊可以包括參考圖片內(nèi)插模塊、運(yùn)動預(yù)測模塊和 運(yùn)動補(bǔ)償模塊。
[0051] 參考圖片內(nèi)插模塊可以被提供來自存儲器150的參考圖片信息并生成少于來自 參考圖片的整數(shù)像素位置單元(整數(shù)像素單元或者像素單元)的像素信息。在亮度像素情 況下,可以使用具有變化濾波系數(shù)的基于離散余弦變換(DCT)的8抽頭內(nèi)插濾波器來以1/4 像素位置為單位(以1/4像素為單位)生成少于整數(shù)像素單元的像素信息。在色度像素情 況下,可以使用具有變化濾波系數(shù)的基于離散余弦變換的4抽頭內(nèi)插濾波器來以1/8像素 為單位生成少于整數(shù)像素單元的像素信息。
[0052] 運(yùn)動預(yù)測模塊可以基于通過參考圖片內(nèi)插模塊進(jìn)行內(nèi)插所得到的參考圖片來執(zhí) 行運(yùn)動預(yù)測。可以使用各種方法,例如基于全面搜索的塊匹配算法(FBMA)、三步搜索(TSS) 算法和新三步搜索(NTS)算法,來計算運(yùn)動向量。運(yùn)動向量具有基于內(nèi)插像素的以1/2像 素或者1/4像素為單位的運(yùn)動向量值。運(yùn)動預(yù)測模塊可以使用不同的運(yùn)動預(yù)測方法來對當(dāng) 前預(yù)測單元執(zhí)行預(yù)測。可以使用各種方法,例如跳過、合并和改進(jìn)的運(yùn)動向量預(yù)測(AMVP) 等,來用作運(yùn)動預(yù)測方法。
[0053] 幀內(nèi)預(yù)測模塊可以基于與作為當(dāng)前圖片中的像素信息的當(dāng)前塊的相鄰的參考像 素的信息來生成預(yù)測塊。當(dāng)與當(dāng)前預(yù)測單元相鄰的塊是已經(jīng)歷幀間預(yù)測的塊并且參考像素 是已經(jīng)歷幀間預(yù)測的像素時,包括在已經(jīng)歷幀間預(yù)測的塊中的參考像素信息可以被已經(jīng)歷 幀內(nèi)預(yù)測的塊中的參考像素信息替換。也就是說,當(dāng)參考像素不可用時,關(guān)于不可用的參考 像素的信息可以被可用的參考像素中的至少一個參考像素替換。
[0054] 幀內(nèi)預(yù)測的預(yù)測模式包括定向預(yù)測模式和非定向預(yù)測模式,在定向預(yù)測模式下, 根據(jù)預(yù)測方向使用關(guān)于參考像素的信息;在非定向預(yù)測模式下,在執(zhí)行預(yù)測時不使用方向 信息。用于預(yù)測亮度信息的模式和用于預(yù)測色度信息的模式可以彼此不同??梢允褂糜糜?獲得亮度信息的幀內(nèi)預(yù)測模式信息或者所預(yù)測的亮度信號信息來預(yù)測色度信息。
[0055] 當(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í)行。
[0056] 在幀內(nèi)預(yù)測方法中,可以在生成預(yù)測塊之前根據(jù)預(yù)測模式對參考像素應(yīng)用自適應(yīng) 幀內(nèi)平滑濾波器(AIS)??梢詫⒖枷袼貞?yīng)用不同類型的AIS濾波器。在幀內(nèi)預(yù)測方法中, 當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式可以根據(jù)與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式 來預(yù)測。在使用根據(jù)相鄰預(yù)測單元預(yù)測的模式信息對當(dāng)前預(yù)測單元的預(yù)測模式進(jìn)行的預(yù)測 中,當(dāng)當(dāng)前預(yù)測單元和相鄰預(yù)測單元具有相同的幀內(nèi)預(yù)測模式時,可以使用預(yù)定的標(biāo)志信 息對表示當(dāng)前預(yù)測單元和相鄰預(yù)測單元具有相同預(yù)測模式的信息進(jìn)行傳輸。如果當(dāng)前預(yù)測 單元和相鄰預(yù)測單元具有不同的預(yù)測模式,則可以通過熵編碼來對關(guān)于當(dāng)前塊的預(yù)測模式 的信息進(jìn)行編碼。
[0057] 可以通過預(yù)測模塊110基于預(yù)測單元生成包括關(guān)于預(yù)測單元的預(yù)測塊與原始塊 之間的差異的殘差信息的殘差塊。生成的殘差塊可以被輸入至變換模塊115。
[0058] 變換模塊115可以使用變換方法,例如離散余弦變換(DCT)或者離散正弦變換 (DST),來變換包括通過預(yù)測模塊110基于原始塊生成的預(yù)測單元的殘差信息的殘差塊。用 于變換殘差塊的變換方法可以基于用于生成殘差塊的預(yù)測單元的幀內(nèi)預(yù)測模式信息來在 DCT和DST中確定。
[0059] 量化模塊120可以量化通過變換模塊115變換到頻域的值。量化參數(shù)可以依賴圖 片的重要性或者塊而改變。從量化模塊120輸出的值可以提供給逆量化模塊135和重排模 塊 125。
[0060] 對于量化的殘差值,重排模塊125可以重排系數(shù)。
[0061] 重排模塊125可以通過系數(shù)掃描將二維(2D)的系數(shù)塊變?yōu)橐痪S(1D)的系數(shù)向 量。例如,重排模塊125可以使用立式掃描(upright scanning)將二維系數(shù)塊變?yōu)橐痪S系 數(shù)向量。取決于變換單元的尺寸和幀內(nèi)預(yù)測模式,可以使用在列方向上的二維系數(shù)塊的堅 直掃描和在行方向上的二維系數(shù)塊的水平掃描,而非立式掃描。也就是說,所用的掃描方法 可以基于變換單兀的尺寸和巾貞內(nèi)預(yù)測模式在立式掃描、堅直掃描和水平掃描中選擇。
[0062] 熵編碼模塊130可以基于通過重排模塊125獲得的值來執(zhí)行熵編碼。可以使用各 種編碼方法,例如指數(shù)哥倫布編碼、上下文自適應(yīng)可變長度編碼(CAVLC)和上下文自適應(yīng) 二進(jìn)制算術(shù)編碼(CABAC),用于熵編碼。
[0063] 熵編碼模塊130可以編碼各種信息,例如可以從重排模塊125和預(yù)測模塊110獲 得的編碼單元的塊類型信息以及殘差系數(shù)信息、預(yù)測模式信息、分割單元信息、預(yù)測單元信 息、傳遞單元信息、運(yùn)動向量信息、參考幀信息、塊內(nèi)插信息和濾波信息。
[0064] 熵編碼模塊130可以對從重排模塊125輸入的編碼單元的系數(shù)進(jìn)行熵編碼。
[0065] 逆量化模塊135和逆變換模塊140對通過量化模塊120量化得到的值進(jìn)行逆量化 以及對通過變換模塊115變換的值進(jìn)行逆變換。通過逆量化模塊135和逆變換模塊140生 成的殘差可以被加入到通過預(yù)測模塊110的幀內(nèi)預(yù)測模塊、運(yùn)動向量預(yù)測模塊和運(yùn)動補(bǔ)償 模塊所預(yù)測的預(yù)測塊,由此生成重構(gòu)的塊。
[0066] 濾波模塊145可以包括解塊濾波器、偏差校正模塊和自適應(yīng)環(huán)路濾波器(ALF)中 至少之一。
[0067] 解塊濾波器145可以去除在重構(gòu)的圖片中各塊之間邊界處生成的塊失真。是否對 當(dāng)前塊應(yīng)用解塊濾波器可以基于在塊的若干行或者若干列中包括的像素來確定。當(dāng)解塊濾 波器應(yīng)用于塊時,可以依賴所需的解塊濾波強(qiáng)度來應(yīng)用強(qiáng)濾波器或弱濾波器。另外,當(dāng)在應(yīng) 用解塊濾波器時執(zhí)行水平濾波和堅直濾波時,可以并行執(zhí)行水平濾波和堅直濾波。
[0068] 偏差校正模塊可以通過像素來校正解塊濾波圖片與原始圖片的偏差??梢允褂靡?下方法來執(zhí)行對具體圖片的偏差校正:將圖片的像素分割成預(yù)定數(shù)目的區(qū)域;確定要經(jīng)歷 偏差校正的區(qū)域;以及向所確定的區(qū)域應(yīng)用偏差校正?;蛘?,可以使用考慮每個像素的邊緣 信息來應(yīng)用偏差校正的方法來對具體的圖片執(zhí)行偏差校正。
[0069] ALF可以基于濾波重構(gòu)圖片與原始圖片的比較結(jié)果來執(zhí)行濾波。包括在圖片中的 像素可以分割成預(yù)定的組,可以確定應(yīng)用于每個組的濾波器,并且可以針對每個組執(zhí)行差 分濾波。關(guān)于是否應(yīng)用ALF的信息可以通過每個編碼單元(CU)傳遞,并且待應(yīng)用于每個塊 的ALF的形狀和系數(shù)可以變化。ALF可以具有各種類型,并且包括在相應(yīng)濾波器中的許多系 數(shù)可以變化。此外,可以不管塊的特征而向塊應(yīng)用具有相同形式(固定形式)的ALF濾波 器。
[0070] 存儲器150可以存儲從濾波模塊145輸出的重構(gòu)的塊或圖片,當(dāng)執(zhí)行幀間預(yù)測時 存儲的重構(gòu)的塊或圖片可以提供給預(yù)測模塊110。
[0071] 圖2為示出根據(jù)本發(fā)明的示例性實施方式的視頻解碼設(shè)備的框圖。
[0072] 參考圖2,視頻解碼設(shè)備200可以包括熵解碼模塊210、重排模塊215,逆量化模塊 220、逆變換模塊225、預(yù)測模塊230、濾波模塊235和存儲器240。
[0073] 當(dāng)從視頻編碼設(shè)備輸入視頻比特流時,可以根據(jù)視頻編碼設(shè)備的視頻編碼處理的 逆處理來解碼輸入的比特流。
[0074] 熵解碼模塊210可以根據(jù)視頻編碼設(shè)備的熵編碼模塊的熵編碼處理的逆處理來 執(zhí)行熵解碼。例如,對應(yīng)于視頻編碼設(shè)備所使用的方法,可以使用各種方法,比如指數(shù)哥倫 布編碼、CAVLC和CABAC,用于熵解碼。
[0075] 熵解碼模塊210可以對與編碼設(shè)備所執(zhí)行的幀內(nèi)預(yù)測和幀間預(yù)測相關(guān)聯(lián)的信息 進(jìn)行解碼。
[0076] 重排模塊215可以基于編碼模塊的重排方法對被熵解碼模塊210熵解碼的比特流 執(zhí)行重排。重排模塊215可以將以一維向量形式表達(dá)的系數(shù)重構(gòu)和重排為二維塊系數(shù)。重 排模塊215可以設(shè)置有與通過編碼模塊執(zhí)行的系數(shù)掃描相關(guān)聯(lián)的信息以及可以使用基于 編碼模塊執(zhí)行掃描的掃描順序來逆掃描系數(shù)的方法來執(zhí)行重排。
[0077] 逆量化模塊220可以基于從編碼設(shè)備提供的量化參數(shù)和重排的塊的系數(shù)來執(zhí)行 逆量化。
[0078] 逆變換模塊225可以執(zhí)行相對于由變換模塊執(zhí)行的DCT和DST的逆DCT和逆DST, 其中已經(jīng)對通過視頻編碼設(shè)備量化結(jié)果執(zhí)行了 DCT和DST。逆變換可以基于通過視頻編碼 設(shè)備確定的變換單元來執(zhí)行。視頻編碼設(shè)備的變換模塊可以依賴多個信息要素,例如預(yù)測 方法、當(dāng)前塊尺寸和預(yù)測方向等,來選擇性地執(zhí)行DCT和DST,并且視頻解碼設(shè)備的逆變換 模塊225可以基于關(guān)于通過視頻編碼設(shè)備的變換模塊執(zhí)行的變換的信息來執(zhí)行逆變換。
[0079] 預(yù)測模塊230可以基于從熵解碼模塊210提供的預(yù)測塊生成信息和從存儲器240 提供的關(guān)于先前解碼的塊或者圖片的信息來生成預(yù)測塊。
[0080] 類似于如上所述的視頻編碼設(shè)備的操作,當(dāng)預(yù)測單元和變換單元在執(zhí)行幀內(nèi)預(yù)測 時具有相同的尺寸時,基于預(yù)測單元的左像素、左上像素和上像素來執(zhí)行對預(yù)測單元的幀 內(nèi)預(yù)測。另一方面,當(dāng)預(yù)測單元和變換單元在執(zhí)行幀內(nèi)預(yù)測時具有不同尺寸時,可以使用參 考像素基于變換單元來執(zhí)行幀內(nèi)預(yù)測。具有NXN分割的幀內(nèi)預(yù)測可以僅對于最小編碼單 元執(zhí)行。
[0081] 預(yù)測模塊230包括預(yù)測單元確定模塊、幀間預(yù)測模塊和幀內(nèi)預(yù)測模塊。預(yù)測單元 確定模塊可以接收各種信息,例如從熵解碼模塊輸入的預(yù)測單元信息、幀內(nèi)預(yù)測方法的預(yù) 測模式信息和關(guān)于幀間預(yù)測方法的運(yùn)動預(yù)測相關(guān)信息。并且,預(yù)測單元確定模塊可以確定 在當(dāng)前編碼單元中的預(yù)測單元,并且可以確定對預(yù)測單元執(zhí)行幀間預(yù)測和幀內(nèi)預(yù)測中的哪 一個。幀間預(yù)測模塊可以基于當(dāng)前圖片之前圖片和之后圖片中的至少一個圖片的信息來對 當(dāng)前預(yù)測單元執(zhí)行幀間預(yù)測,包括當(dāng)前預(yù)測單元使用從視頻編碼設(shè)備提供的、當(dāng)前預(yù)測單 元的幀間預(yù)測所需的信息。
[0082] 為了執(zhí)行幀間預(yù)測,可以基于編碼單元確定用于包括在編碼單元中的預(yù)測單元的 運(yùn)動預(yù)測方法為跳過模式、合并模式還是AMVP模式。
[0083] 幀內(nèi)預(yù)測模塊可以基于當(dāng)前圖片中的像素信息生成預(yù)測塊。當(dāng)預(yù)測單元是對其執(zhí) 行幀內(nèi)預(yù)測的預(yù)測單元時,可以基于從視頻編碼設(shè)備提供的關(guān)于預(yù)測單元的幀內(nèi)預(yù)測模式 信息來執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測模塊可以包括AIS濾波器、參考像素內(nèi)插模塊和DC濾波器。 AIS濾波器對當(dāng)前塊的參考像素執(zhí)行濾波,并且可以依賴當(dāng)前預(yù)測單元的預(yù)測模式來確定 是否應(yīng)用AIS濾波器??梢允褂妙A(yù)測單元的預(yù)測模式和從視頻編碼設(shè)備提供的關(guān)于AIS濾 波器的信息來對當(dāng)前塊的參考像素執(zhí)行AIS濾波。當(dāng)當(dāng)前塊的預(yù)測模式是不牽涉AIS濾波 的模式時,可以不應(yīng)用AIS濾波器。
[0084] 當(dāng)預(yù)測單元的預(yù)測模式是基于通過對參考像素進(jìn)行內(nèi)插而獲得的像素值執(zhí)行幀 內(nèi)預(yù)測的預(yù)測模式時,參考像素內(nèi)插模塊可以通過對參考像素進(jìn)行內(nèi)插來以小于整數(shù)位置 單元的像素單元生成參考像素。當(dāng)當(dāng)前預(yù)測單元的預(yù)測模式是在不對參考像素進(jìn)行內(nèi)插的 情況下生成預(yù)測塊的預(yù)測模式時,可以不對參考像素進(jìn)行內(nèi)插。當(dāng)當(dāng)前塊的預(yù)測模式是DC 模式時,DC濾波器可以通過濾波生成預(yù)測塊。
[0085] 重構(gòu)的塊或圖片可以提供給濾波模塊235。濾波模塊235可以包括解塊濾波器、偏 差校正模塊或者ALF。
[0086] 可以從視頻編碼設(shè)備提供關(guān)于是否對相應(yīng)的塊或圖片應(yīng)用解塊濾波器的信息以 及關(guān)于當(dāng)使用解塊濾波器時應(yīng)用強(qiáng)濾波器和弱濾波器中哪一個的信息。視頻解碼設(shè)備的解 塊濾波器可以被提供來自視頻編碼設(shè)備的關(guān)于解塊濾波的信息,并且可以對相應(yīng)塊執(zhí)行解 塊濾波。
[0087] 偏差校正模塊可以基于在編碼處理中應(yīng)用于圖片的偏差校正類型和偏差值信息 來執(zhí)行對重構(gòu)圖片的偏差校正。
[0088] 可以基于關(guān)于是否應(yīng)用ALF的信息和從編碼設(shè)備提供的ALF系數(shù)信息來將ALF應(yīng) 用于編碼單元??梢栽谔囟ǖ膮?shù)集中包括和提供ALF信息。
[0089] 存儲器240可以存儲重構(gòu)的圖片或者塊來用作參考圖片或者參考塊,并且可以將 重構(gòu)的圖片提供給輸出模塊。
[0090] 如上所述,在本發(fā)明的實施方式中,術(shù)語"編碼單元(coding unit) "用作編碼的單 元(encoding unit)以及也可以用作解碼的單元(解碼單元(decoding unit))。
[0091] 如圖1和圖2中所示,編碼設(shè)備的變換模塊和解碼設(shè)備的變換模塊可以對殘差塊 (變換塊)執(zhí)行基于塊的變換,例如DST或者DCT。
[0092] 在此,如果殘差塊是基于通過幀內(nèi)預(yù)測生成的預(yù)測塊而生成的,則可以根據(jù)預(yù)測 模式確定變換。
[0093] 圖3示意性地示出用于幀內(nèi)預(yù)測的預(yù)測模式。參考圖3,使用兩個非定向預(yù)測模式 和32個定向預(yù)測模式來執(zhí)行幀內(nèi)預(yù)測。
[0094] 編碼設(shè)備和解碼設(shè)備可以使用選自兩個非定向預(yù)測模式、平面模式和DC模式以 及對應(yīng)于圖3中所示的方向的32個定向預(yù)測模式中的預(yù)測模式來對當(dāng)前塊執(zhí)行幀內(nèi)預(yù)測。 [0095] 當(dāng)使用定向幀內(nèi)預(yù)測模式時,編碼設(shè)備和解碼設(shè)備可以基于與當(dāng)前塊相鄰的樣本 中的位于相應(yīng)方向上的樣本來對當(dāng)前塊執(zhí)行預(yù)測以生成預(yù)測塊。
[0096] 因而,如上所述,編碼設(shè)備和解碼設(shè)備可以基于用于生成預(yù)測塊的預(yù)測模式來確 定變換方法。
[0097] 同時,當(dāng)包括稀疏信號時或當(dāng)水平和堅直信號具有不同特征時,對于信號,堅直變 換或者水平變換可以被跳過,或這兩種變換均可以被跳過,從而減少解碼設(shè)備中處理的復(fù) 雜度并提高編碼效率。
[0098] 對于編碼設(shè)備,變換跳過模式(TSM)是通過執(zhí)行所有二維(2D)變換、跳過堅直變 換或者水平變換或者跳過水平和堅直變換二者以提高編碼效率的方法。
[0099] 在變換跳過模式中,TS0是對變換塊執(zhí)行二維變換的模式。TS1是僅對變換塊中的 行執(zhí)行變換的模式(行變換),以及TS2是僅對變換塊中的列執(zhí)行變換的模式(列變換)。 TS3是既不對行執(zhí)行變換(水平變換)又不對列執(zhí)行變換(堅直變換)的模式。
[0100] 對于解碼設(shè)備,變換跳過模式是執(zhí)行所有二維逆變換、跳過堅直逆變換或者水平 逆變換、或者跳過水平和堅直逆變換二者的方法。
[0101] 例如,在解碼處理中,在變換跳過模式中,TS0是對變換塊執(zhí)行二維逆變換的模式。 TS1是僅對變換塊中的行執(zhí)行逆變換(逆行變換)的模式,TS2是僅對變換塊中的列執(zhí)行逆 變換(逆列變換)的模式。TS3是既不對行執(zhí)行逆變換(水平逆變換)又不對列執(zhí)行逆變 換(堅直逆變換)的模式。
[0102] 圖4示意性地示出變換跳過模式。
[0103] 當(dāng)在編碼設(shè)備中采用TS0400時,對變換塊應(yīng)用二維變換。在此,當(dāng)采用TS0400時, 水平變換可以在堅直變換之前執(zhí)行或者堅直變換可以在水平變換之前執(zhí)行。當(dāng)采用TS1420 時,對變換塊執(zhí)行水平變換。當(dāng)采用TS2440時,對變換塊執(zhí)行堅直變換。當(dāng)采用TS3460時, 對變換塊既不執(zhí)行水平變換又不執(zhí)行堅直變換。
[0104] 當(dāng)在解碼設(shè)備中采用TS0400時,對變換塊應(yīng)用二維逆變換。在此,當(dāng)采用TS0400 時,水平逆變換可以在堅直逆變換之前執(zhí)行或者堅直逆變換可以在水平逆變換之前執(zhí)行。 當(dāng)采用TS1420時,對變換塊執(zhí)行水平逆變換。當(dāng)采用TS2440時,對變換塊執(zhí)行堅直逆變換。 當(dāng)采用TS3460時,對變換塊既不執(zhí)行水平逆變換也不執(zhí)行堅直逆變換。
[0105] 表1示出變換跳過模式下分配給每個模式的代碼字。
[0106] [表 1]
[0107]
【權(quán)利要求】
1. 一種視頻編碼方法,包括: 對當(dāng)前塊執(zhí)行預(yù)測;以及 對通過所述預(yù)測生成的殘差進(jìn)行變換, 其中,在所述變換步驟中,在對所述殘差執(zhí)行第一變換后,對低頻域執(zhí)行第二變換,所 述第二變換的模式是基于所述第一變換的模式確定的。
2. 根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,在所述執(zhí)行步驟中,對所述當(dāng)前塊執(zhí) 行幀內(nèi)預(yù)測,以及基于所述幀內(nèi)預(yù)測的預(yù)測模式的方向?qū)⑺龅谝蛔儞Q的模式確定為二維 (2D)變換、一維(1D)堅直變換、一維水平變換和無變換中之一。
3. 根據(jù)權(quán)利要求2所述的視頻編碼方法,其中,所述第二變換的模式與所述第一變換 的模式相同。
4. 根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,在所述執(zhí)行步驟中,對所述當(dāng)前塊執(zhí)行 幀間預(yù)測,以及基于所述當(dāng)前塊的形狀將所述第一變換的模式確定為二維變換、一維堅直 變換、一維水平變換和無變換中之一。
5. 根據(jù)權(quán)利要求4所述的視頻編碼方法,其中,所述第二變換的模式與所述第一變換 的模式相同。
6. 根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,在所述變換步驟中,所述第一變換的模 式是基于率失真優(yōu)化來確定的。
7. 根據(jù)權(quán)利要求6所述的視頻編碼方法,其中,傳輸表示所確定的所述第一變換的模 式的信息。
8. 根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,所述第二變換是4X4塊的離散正弦變 換(DST)。
9. 一種視頻解碼方法,包括: 執(zhí)行逆變換以生成當(dāng)前塊的殘差塊;以及 執(zhí)行預(yù)測以生成所述當(dāng)前塊的預(yù)測塊, 其中,在所述執(zhí)行步驟中,在對所述當(dāng)前塊的編碼殘差信息執(zhí)行第一逆變換后,對低頻 域執(zhí)行第二逆變換,以及基于所述第一變換的模式確定所述第二變換的模式。
10. 根據(jù)權(quán)利要求9所述的視頻解碼方法,其中,在所述執(zhí)行步驟中,對所述當(dāng)前塊執(zhí) 行幀內(nèi)預(yù)測,以及基于所述幀內(nèi)預(yù)測的預(yù)測模式的方向?qū)⑺龅谝荒孀儞Q的模式確定為二 維(2D)變換、一維(1D)堅直變換、一維水平變換和無變換中之一。
11. 根據(jù)權(quán)利要求10所述的視頻解碼方法,其中,所述第二逆變換的模式與所述第一 逆變換的模式相同。
12. 根據(jù)權(quán)利要求9所述的視頻解碼方法,其中,在所述執(zhí)行步驟中,對所述當(dāng)前塊執(zhí) 行幀間預(yù)測,以及基于所述當(dāng)前塊的形狀將所述第一逆變換的模式確定為二維變換、一維 堅直變換、一維水平變換和無變換中之一。
13. 根據(jù)權(quán)利要求12所述的視頻解碼方法,其中,所述第二逆變換的模式與所述第一 逆變換的模式相同。
14. 根據(jù)權(quán)利要求9所述的視頻解碼方法,其中,在所述執(zhí)行步驟中,根據(jù)由接收到的 信息表示的模式來執(zhí)行所述第一逆變換,以及所述接收到的信息表示作為所述第一逆變換 的模式的二維變換、一維堅直變換、一維水平變換和無變換中之一。
15. 根據(jù)權(quán)利要求14所述的視頻解碼方法,其中,所述第二逆變換的模式與所述第一 逆變換的模式相同。
16. 根據(jù)權(quán)利要求9所述的視頻解碼方法,其中,所述第二變換是4X4塊的離散正弦變 換(DST)。
17. -種視頻編碼設(shè)備,包括: 預(yù)測模塊,所述預(yù)測模塊對當(dāng)前塊執(zhí)行預(yù)測;以及 變換模塊,所述變換模塊對通過所述預(yù)測生成的殘差進(jìn)行變換, 其中,所述變換模塊在對所述殘差執(zhí)行第一變換后對低頻域執(zhí)行第二變換并且基于所 述第一變換的模式確定所述第二變換的模式。
18. -種視頻解碼設(shè)備,包括: 逆變換模塊,所述逆變換模塊通過執(zhí)行逆變換來生成當(dāng)前塊的殘差塊;以及 預(yù)測模塊,所述預(yù)測模塊生成所述當(dāng)前塊的預(yù)測塊, 其中,所述逆變換模塊在對所述當(dāng)前塊的編碼殘差信息執(zhí)行第一逆變換后對低頻域執(zhí) 行第二逆變換,并且基于所述第一變換的模式確定所述第二變換的模式。
【文檔編號】H04N19/61GK104067622SQ201280062710
【公開日】2014年9月24日 申請日期:2012年10月18日 優(yōu)先權(quán)日:2011年10月18日
【發(fā)明者】李培根, 權(quán)載哲, 金柱英 申請人:株式會社Kt