本發(fā)明涉及用于處理視頻信號的方法和設備。
背景技術:
近來,在各應用領域中對高分辨率、高品質圖像如高清晰度(HD)圖像和超高清晰度(UHD)圖像的需求已經增加。隨著視頻數(shù)據具有較高分辨率和較高品質,視頻數(shù)據在量上大于傳統(tǒng)視頻數(shù)據。因此,如果視頻數(shù)據通過現(xiàn)有介質如有線/無線寬帶電路進行傳送或者被存儲在現(xiàn)有存儲介質中,則傳送成本和存儲成本增大。為了避免較高分辨率、較高品質的視頻數(shù)據遇到的這些問題,可以使用高效的視頻壓縮技術。
存在各種視頻壓縮技術,包括:根據當前圖片之前或之后的圖片對包括在當前圖片中的像素值進行預測的圖片間預測;使用當前圖片中的像素信息對包括在當前圖片中的像素值進行預測的圖片內預測;以及向較頻繁的值分配短碼并且向較不頻繁的值分配長碼的熵編碼。使用這樣的視頻壓縮技術,視頻數(shù)據可以被高效地壓縮以及傳送或存儲。
隨著對高分辨率視頻的需求日益增加,對作為新的視頻服務的三維(3D)視頻內容的需求也正在增加。用于高效地提供HD和3D UHD視頻內容的視頻壓縮技術正在討論中。
技術實現(xiàn)要素:
技術問題
本發(fā)明的目的是提供一種用于在對視頻信號進行編碼/解碼時基于索引串匹配技術來預測或重構視頻信號的方法和設備。
本發(fā)明的目的是提供一種用于在對視頻信號進行編碼/解碼時基于樣本串匹配技術來預測或重構視頻信號的方法和設備。
技術方案
根據本發(fā)明的視頻信號解碼方法和設備基于樣本串匹配技術來確定當前塊中的要被解碼的當前串的長度,基于與當前串有關的串矢量或當前串的長度中的至少一個來確定參考串,以及使用所確定的參考串來預測當前串。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,基于編碼的串長度信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,確定當前串的長度的步驟可以包括:從比特流獲得當前串的串行標記(string_same_row_flag);基于串行標記從比特流獲得用于指定當前串的最后樣本的位置的串最后矢量信息;以及基于當前串的第一樣本的位置和所獲得的串最后矢量信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,串行標記指示當前串的第一樣本和最后樣本是否屬于同一行。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,串矢量指示包括當前串的當前塊的左上方樣本與包括參考串的參考塊的左上方樣本之間的位置差。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,將參考串確定為由串矢量指定的參考塊中的與當前串處于相同位置的串。
根據本發(fā)明的視頻信號編碼方法和設備基于樣本串匹配技術來確定當前塊中的要被編碼的當前串的長度,基于與當前串有關的串矢量或當前串的長度中的至少一個來確定參考串,以及使用所確定的參考串來預測當前串。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,基于串長度信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,利用與當前串的長度有關的最高有效位信息和偏移信息對串長度信息進行編碼。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,確定當前串的長度可以包括:確定當前串的第一樣本和最后樣本是否屬于同一行;以及如果當前串的第一樣本和最后樣本屬于同一行,則對用于指定當前串的最后樣本的位置的串最后矢量信息進行編碼。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,串矢量指示包括當前串的當前塊的左上方樣本與包括參考串的參考塊的左上方樣本之間的位置差。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,將參考串確定為由串矢量指定的參考塊中的與當前串處于相同位置的串。
有益效果
根據本發(fā)明,可以基于索引串匹配技術高效地對調色板索引進行編碼/解碼。
根據本發(fā)明,可以基于樣本串匹配技術高效地執(zhí)行對一個或更多個樣本陣列的預測/重構。
附圖說明
圖1是示出根據本發(fā)明的實施方式的視頻編碼設備的框圖。
圖2是示出根據本發(fā)明的實施方式的視頻解碼設備的框圖。
圖3示出了根據本發(fā)明的實施方式的基于調色板模式重構當前塊的方法。
圖4示出了根據本發(fā)明的實施方式的限制性地用信號傳送再次使用標記(previous_palette_entry_flag)的方法。
圖5示出了根據本發(fā)明的實施方式的基于游程編碼用信號傳送呈二進制矢量形式的再次使用標記的方法。
圖6示出了根據本發(fā)明的實施方式的用于基于最后條目標記(last_previous_entry_flag)來限制性地獲得再次使用標記的方法。
圖7示出了根據本發(fā)明的實施方式的基于索引串匹配技術對當前塊的調色板索引進行編碼的方法。
圖8示出了根據本發(fā)明的實施方式的基于索引串匹配技術得到當前塊的調色板索引的方法。
圖9示出了根據本發(fā)明的實施方式的在調色板模式下的掃描順序。
圖10示出了根據本發(fā)明的實施方式的樣本串匹配技術的示意配置。
圖11示出了根據本發(fā)明的實施方式的基于樣本串匹配技術來預測/重構當前塊的過程。
圖12示出了根據本發(fā)明的實施方式的基于當前串的第一樣本和最后樣本是否存在于同一行來得到當前串的長度的方法。
本發(fā)明的最佳實施方式
根據本發(fā)明的視頻信號解碼方法和設備基于樣本串匹配技術來確定當前塊中的要被解碼的當前串的長度,基于與當前串有關的串矢量或當前串的長度中的至少一個來確定參考串,以及使用所確定的參考串來預測當前串。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,基于編碼的串長度信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,確定當前串的長度的步驟可以包括:從比特流獲得當前串的串行標記(string_same_row_flag);基于串行標記從比特流獲得用于指定當前串的最后樣本的位置的串最后矢量信息;以及基于當前串的第一樣本的位置和所獲得的串最后矢量信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,串行標記指示當前串的第一樣本和最后樣本是否屬于同一行。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,串矢量指示包括當前串的當前塊的左上方樣本與包括參考串的參考塊的左上方樣本之間的位置差。
在根據本發(fā)明的用于對視頻信號進行解碼的方法和設備中,將參考串確定為由串矢量指定的參考塊中的與當前串處于相同位置的串。
根據本發(fā)明的視頻信號編碼方法和設備基于樣本串匹配技術來確定當前塊中的要被編碼的當前串的長度,基于與當前串有關的串矢量或當前串的長度中的至少一個來確定參考串,以及使用所確定的參考串來預測當前串。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,基于串長度信息來確定當前串的長度。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,利用與當前串的長度有關的最高有效位信息和偏移信息對串長度信息進行編碼。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,確定當前串的長度可以包括:確定當前串的第一樣本和最后樣本是否屬于同一行,以及如果當前串的第一樣本和最后樣本屬于同一行,則對用于指定當前串的最后樣本的位置的串最后矢量信息進行編碼。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,串矢量指示包括當前串的當前塊的左上方樣本與包括參考串的參考塊的左上方樣本之間的位置差。
在根據本發(fā)明的用于對視頻信號進行編碼的方法和設備中,將參考串確定為由串矢量指定的參考塊中的與當前串處于相同位置的串。
具體實施方式
本發(fā)明可以以各種方式被改變和修改并且可以參考不同的示例性實施方式被說明,其中一些實施方式將在附圖中描述和示出。然而,這些實施方式不意在限制本發(fā)明,而是被理解為包括屬于本發(fā)明的精神和技術范圍內的所有修改方案、等同方案和替換方案。在附圖中自始至終相同附圖標記指代相同元件。
雖然術語第一、第二等可以用于描述各種元件,但是這些元件不應當被這些術語限制。這些術語僅用于將一個元件與另一元件區(qū)分開。例如,在不偏離本發(fā)明的教導的情況下,第一元件可以被稱為第二元件,并且同樣地第二元件可以被稱為第一元件。術語“和/或”包括多個關聯(lián)列出項的任何組合和所有組合。
將要理解,當元件被稱為“連接至”或“耦合至”另一元件時,該元件可以直接連接至或耦合至另一元件或中間元件。相反,當元件被稱為“直接連接至”或“直接耦接至”另一元件時,不存在中間元件。
本文中所使用的術語僅用于描述特定實施方式的目的而不意在限制本發(fā)明。如本文中所使用的,除非上下文另外清楚地指出,否則單數(shù)形式“一(a)”、“一個(an)”和“該(the)”意在也包括復數(shù)形式。還將理解的是,當在本說明書中使用時,術語“包括”和/或“具有”指定存在所陳述的特征、整數(shù)、步驟、操作、元件和/或部件,但是不排除存在或添加一個或更多個其他特征、整數(shù)、步驟、操作、元件、部件和/或前述的組。
在下文中,將參照附圖來詳細描述本發(fā)明的示例性實施方式。在附圖中自始至終相似附圖標記指代相似元件,并且在本文中將省略對相似元件的冗長描述。
圖1是示出根據本發(fā)明的實施方式的視頻編碼設備的框圖。
參照圖1,視頻編碼設備100包括:圖片劃分單元110、預測單元120和125、變換單元130、量化單元135、重排單元160、熵編碼單元165、逆量化單元140、逆變換單元145、濾波器單元150以及存儲器155。
圖1所示的元件中的每個元件被獨立地示出以表示視頻編碼設備中的不同特征功能,但并不意指每個元件由單獨的硬件或一個軟件配置單元構成。也就是說,為了方便描述,元件被獨立地布置,其中至少兩個元件可以組合成單個元件,或者單個元件可以被劃分為多個元件以執(zhí)行功能。要注意,在不偏離本發(fā)明的精神的情況下,一些元件被集成為一個組合的元件和/或元件被劃分為多個分開的元件的實施方式包括在本發(fā)明的范圍內。
一些元件對于本發(fā)明的實質功能并非是必需的,并且可能是僅用于提高性能的可選構成部件??梢酝ㄟ^僅包括除了僅用于提高性能的構成部件之外的對于本發(fā)明的實施方式必需的構成部件來實施本發(fā)明。僅包括除了僅用于提高性能的光學構成部件之外的必需構成部件的結構屬于本發(fā)明的范圍。
圖片劃分單元110可以將輸入圖片劃分為至少一個處理單元。此處,所述處理單元可以是預測單元(PU)、變換單元(TU)或編碼單元(CU)。圖片劃分單元110可以將一個圖片劃分為多個CU、PU和TU組合,并且通過基于預定準則(例如成本函數(shù))選擇一個CU、PU和TU組合來對圖片進行編碼。
例如,一個圖片可以被劃分為多個CU。可以使用遞歸樹結構如四叉樹結構來將圖片劃分為CU。圖片或最大大小的CU可以作為樹根的CU可以被劃分為具有與所劃分的CU一樣多的子節(jié)點的子編碼單元。根據預定限制不能再被劃分的CU是葉節(jié)點。也就是說,假設CU僅可以被劃分為四分體,則單個CU可以被劃分為最多四個不同的CU。
在本發(fā)明的實施方式中,CU不僅可以用于指編碼的單元而且可以用于指解碼的單元。
在CU中可以將PU劃分為具有相同大小的至少一個正方形或長方形形式。對于從同一CU劃分的PU,PU可以具有與另一PU不同的形狀和/或大小。
當基于CU生成用于幀內預測的PU并且CU不是最小CU時,CU可以在不被劃分為多個PU(N×N)的情況下經受幀內預測。
預測單元120和125可以包括用于執(zhí)行幀間預測的幀間預測單元120和用于執(zhí)行幀內預測的幀內預測單元125。預測單元120和125可以確定對PU執(zhí)行幀間預測和幀內預測中的哪一個,并且可以確定所確定的預測方法的具體信息(例如,幀內預測模式、運動矢量和參考圖片)。此處,執(zhí)行預測的處理單元可以不同于確定預測方法和具體信息的處理單元。例如,可以針對每個PU來確定預測方法和預測模式,而可以針對每個TU來執(zhí)行預測??梢詫⑸傻念A測塊與原始塊之間的殘差值(殘差塊)輸入至變換單元130。此外,用于預測的預測模式信息、運動矢量信息等可以與殘差值一起被熵編碼單元165編碼并且被傳送至解碼設備。當使用特定編碼模式時,原始塊可以被編碼并且被傳送至解碼設備,而不通過預測單元120和125生成預測塊。
幀間預測單元120可以基于關于在當前圖片的先前圖片和當前圖片的后續(xù)圖片之中的至少一個圖片的信息來預測PU。在一些情況下,幀間預測單元120可以基于當前圖片中的部分編碼的區(qū)域的信息來預測PU。幀間預測單元120可以包括參考圖片插值單元、運動預測單元以及運動補償單元。
可以向參考圖片插值單元提供來自存儲器155的參考圖片信息并且參考圖片插值單元可以生成小于或等于參考圖片上的整像素的像素信息。在亮度像素的情況下,可以使用具有可變?yōu)V波器系數(shù)的基于DCT的8-抽頭插值濾波器以1/4像素為單位生成小于或等于整像素的像素信息。在色度像素的情況下,可以使用具有可變?yōu)V波器系數(shù)的基于DCT的4-抽頭插值濾波器以1/8像素為單位生成小于或等于整像素的像素信息。
運動預測單元可以基于由參考圖片插值單元插值的參考圖片來執(zhí)行運動預測??梢允褂酶鞣N方法如基于全搜索的塊匹配算法(FBMA)、三步搜索(TSS)算法和新三步搜索(NTS)算法來計算運動矢量。在插值像素的基礎上,運動矢量具有1/2或1/4像素單元中的運動矢量值。運動預測單元可以使用不同的運動預測方法來預測當前PU??梢詫⒏鞣N方法如跳過模式、合并模式和先進運動矢量預測(AMVP)模式、塊內復制模式等用作為運動預測方法。
幀內預測單元125可以基于關于與當前塊相鄰的參考像素的信息來生成PU。當由于與當前PU相鄰的塊是已經執(zhí)行了幀間預測的塊而導致參考像素是已經執(zhí)行了幀間預測的像素時,可以用關于已經執(zhí)行了幀內預測的塊中的參考像素的信息來取代關于已經執(zhí)行了幀間預測的塊中的參考像素的信息。也就是說,當參考像素不可用時,可以用關于可用參考像素中的至少一個參考像素的信息來取代關于不可用參考像素的信息。
幀內預測的預測模式包括根據預測方向使用參考像素信息的方向預測模式和在執(zhí)行預測時不使用關于方向的信息的非方向預測模式。用于預測亮度信息的模式和用于預測色度信息的模式可以彼此不同。此外,可以使用用于獲得亮度信息的幀內預測模式信息或預測的亮度信號信息來預測色度信息。
當PU和TU具有相同大小時,可以基于該PU的左側像素、左上側像素和上側像素對PU執(zhí)行幀內預測。另一方面,當PU和TU具有不同大小時,可以通過使用基于TU確定的參考像素來執(zhí)行幀內預測??梢詢H針對最小CU來執(zhí)行使用N×N劃分的幀內預測。
在幀內預測方法中,可以通過根據預測模式對參考像素應用自適應幀內平滑(AIS)濾波器來生成預測塊。可以對參考像素應用不同類型的AIS濾波器。在幀內預測方法中,可以根據與當前PU相鄰的PU的幀內預測模式來預測當前PU的幀內預測模式。在使用根據相鄰PU預測的模式信息預測當前PU的預測模式時,當當前PU與相鄰PU具有相同的幀內預測模式時,可以使用預定標記信息來傳送指示當前PU與相鄰PU具有相同的預測模式的信息。當當前PU與相鄰PU具有不同的預測模式時,可以通過熵編碼對關于當前塊的預測模式的信息進行編碼。
可以生成包括殘差信息的殘差塊。殘差信息是PU的原始塊與由預測單元120和125生成的PU的預測塊之間的差。可以將所生成的殘差塊輸入至變換單元130。
變換單元130可以使用變換方法如離散余弦變換(DCT)、離散正弦變換(DST)或KLT來對殘差塊進行變換。殘差塊包括關于由預測單元120和預測單元125生成的PU與原始塊之間的殘差的信息??梢曰陉P于用于生成殘差塊的PU的幀內預測模式的信息在DCT、DST和KLT之中確定用于對殘差塊進行變換的變換方法。
量化單元135可以對由變換單元130變換到頻域的值進行量化。量化系數(shù)可以取決于圖像的塊或重要性而改變。可以將從量化單元135輸出的值提供至逆量化單元140和重排單元160。
重排單元160可以對量化的系數(shù)進行重新排列。
重排單元160可以通過系數(shù)掃描將二維(2D)的系數(shù)塊改變?yōu)橐痪S(1D)的系數(shù)矢量。例如,重排單元160可以通過使用之字形掃描從DC系數(shù)掃描至高頻域的系數(shù)來將2D系數(shù)塊改變?yōu)?D系數(shù)矢量。替代之字形掃描,可以取決于TU的大小和幀內預測模式來使用用于沿垂直方向掃描2D系數(shù)塊的垂直掃描和用于沿水平方向掃描2D系數(shù)塊的水平掃描。也就是說,可以基于TU的大小和幀內預測模式在之字形掃描、垂直掃描和水平掃描中選擇掃描方法。
熵編碼單元165可以基于由重排單元160獲得的值來執(zhí)行熵編碼。針對熵編碼,可以使用各種編碼方法如指數(shù)哥倫布(Golomb)碼、上下文自適應可變長度編碼(CAVLC)或上下文自適應二進制算術編碼(CABAC)。
熵編碼單元165可以對來自重排單元160以及預測單元120和125的各種信息如關于CU的殘差系數(shù)信息和塊類型信息、預測模式信息、劃分單元信息、PU信息、傳輸單元信息、運動矢量信息、參考幀信息、塊插值信息和濾波信息進行編碼。
熵編碼單元165可以對從重排單元160輸入的CU的系數(shù)進行熵編碼。
逆量化單元140和逆變換單元145對由量化單元135量化的值進行逆量化以及對由變換單元130變換的值進行逆變換。可以通過將殘差值加至預測的PU來生成重構塊。殘差值可以由逆量化單元140和逆變換單元145生成。預測的PU可以由預測單元120和125的運動矢量預測單元、運動補償單元以及幀內預測單元來預測。
濾波器單元150可以包括去塊濾波器、偏移單元以及自適應環(huán)路濾波器(ALF)中的至少一個。
去塊濾波器可以去除由于重構圖片中的塊之間的邊界而生成的塊失真??梢曰诎ㄔ趬K的若干行或列中的像素來確定是否對當前塊應用去塊濾波器。當對塊應用去塊濾波器時,可以取決于所需的去塊濾波強度來應用強濾波器或弱濾波器。當在應用去塊濾波器時執(zhí)行水平濾波和垂直濾波時,可以并行地執(zhí)行水平濾波和垂直濾波。
偏移單元可以以像素為單位對經去塊濾波的圖像施加相對于原始圖像的偏移??梢栽趯D片的像素劃分為預定數(shù)目的區(qū)域之后確定可以施加偏移的區(qū)域??梢钥紤]關于每個像素的邊緣信息或對所確定的區(qū)域施加偏移的方法來對所確定的區(qū)域施加偏移。
ALF可以基于經濾波的重構圖像與原始圖像的比較結果來執(zhí)行濾波??梢詫ㄔ趫D像中的像素劃分為預定組,可以確定要應用于每個組的濾波器以及可以針對每個組來執(zhí)行差分濾波??梢杂擅總€編碼單元(CU)傳輸關于是否應用ALF的信息,并且要應用于每個塊的ALF的形狀和濾波器系數(shù)可以變化。此外,可以對塊應用具有相同形式(固定形式)的ALF,而不管塊的特征如何。
存儲器155可以存儲從濾波器單元150輸出的重構塊或重構圖片,并且當執(zhí)行幀間預測時,所存儲的重構塊或重構圖片可以被提供至預測單元120和125。
圖2是示出根據本發(fā)明的示例性實施方式的視頻解碼設備的框圖。
參照圖2,視頻解碼設備200可以包括:熵解碼單元210、重排單元215、逆量化單元220、逆變換單元225、預測單元230和235、濾波器單元240以及存儲器245。
當從視頻編碼設備輸入視頻比特流時,可以根據在視頻編碼設備中執(zhí)行的視頻編碼過程的逆過程對輸入的比特流進行解碼。
熵解碼單元210可以根據視頻編碼設備的熵編碼單元的熵編碼過程的逆過程來執(zhí)行熵解碼。例如,與視頻編碼設備使用的方法對應,可以使用各種方法如指數(shù)哥倫布碼、CAVLC或CABAC。
熵解碼單元210可以對與由編碼設備執(zhí)行的幀內預測和幀間預測相關聯(lián)的信息進行解碼。
重排單元215可以基于編碼單元的重排方法對由熵解碼單元210熵解碼的比特流進行重新排列。重排單元215可以將1D矢量形式的系數(shù)重構和重排為2D系數(shù)塊。可以向重排單元215提供關于由編碼設備執(zhí)行的系數(shù)掃描的信息,并且重排單元215可以基于由編碼設備執(zhí)行的掃描順序使用對系數(shù)逆掃描的方法來執(zhí)行重排。
逆量化單元220可以基于從編碼設備提供的量化參數(shù)和經重排的塊的系數(shù)來執(zhí)行逆量化。
逆變換單元225可以對由視頻編碼設備執(zhí)行的量化的結果執(zhí)行由變換單元執(zhí)行變換的逆變換(也就是說,逆DCT、逆DST或逆KLT)。可以基于由視頻編碼設備確定的傳輸單元來執(zhí)行逆變換。視頻解碼設備的變換單元225可以取決于多個信息要素如預測方法、當前塊的大小和預測方向等來選擇性地執(zhí)行變換方案(例如,DCT、DST、KLT)。
預測單元230和235可以基于用于生成預測塊的信息和提供的關于先前解碼的塊或圖片的信息來生成預測塊。用于生成預測塊的信息可以由熵解碼單元210提供,關于先前解碼的塊或圖片的信息可以由存儲器245提供。
類似于上述視頻編碼設備的操作,當PU和TU具有相同大小時,基于PU的左側像素、左上側像素和上側像素對PU執(zhí)行幀內預測。另一方面,當PU和TU具有不同大小時,可以使用基于TU確定的參考像素來執(zhí)行幀內預測??梢詢H針對最小CU來利用使用N×N劃分的幀內預測。
預測單元230和235可以包括PU確定單元、幀間預測單元以及幀內預測單元。PU確定單元可以從熵解碼單元210接收各種信息,如PU信息、關于幀內預測方法的預測模式信息和關于幀間預測方法的運動預測相關信息等,PU確定單元可以確定當前CU的PU。PU確定單元可以確定對PU執(zhí)行幀間預測和幀內預測中的哪一個。幀間預測單元230可以基于關于包括當前PU的當前圖片的先前圖片和后續(xù)圖片之中的至少一個的信息對當前PU執(zhí)行幀間預測。幀間預測單元230可以使用由視頻編碼設備提供的用于當前PU的幀間預測所必需的信息??梢曰诎ó斍癙U的當前圖片中的預先重構的部分區(qū)域的信息來執(zhí)行幀間預測。
為了執(zhí)行幀間預測,可以以CU為單位來確定包括在CU中的PU的運動預測方法是跳過模式、合并模式、AMVP模式還是幀內塊復制模式。
幀內預測單元235可以基于當前圖片中的像素信息來生成預測塊。當PU是執(zhí)行幀內預測的PU時,可以基于由視頻編碼設備提供的關于該PU的幀內預測模式信息來執(zhí)行幀內預測。幀內預測單元235可以包括AIS(自適應幀內平滑)濾波器、參考像素插值單元以及DC濾波器。AIS濾波器對當前塊的參考像素執(zhí)行濾波。AIS濾波器可以取決于當前PU的預測模式來決定是否應用濾波器。可以使用由視頻編碼設備提供的PU的預測模式和關于AIS濾波器的信息對當前塊的參考像素執(zhí)行AIS濾波。當當前塊的預測模式是不執(zhí)行AIS濾波的模式時,可以不應用AIS濾波器。
當PU的預測模式指示基于通過對參考像素進行插值而獲得的像素值來執(zhí)行幀內預測的預測模式時,參考像素插值單元可以通過對參考像素進行插值以小于整像素(即全像素)的分數(shù)像素為單位生成參考像素。當當前PU的預測模式指示在不對參考像素進行插值的情況下生成預測塊的預測模式時,可以不對參考像素進行插值。當當前塊的預測模式是DC模式時,DC濾波器可以通過濾波來生成預測塊。
可以將重構塊或重構圖片提供至濾波器單元240。濾波器單元240包括去塊濾波器、偏移單元以及ALF。
視頻編碼設備可以提供關于是否對相應塊或圖片應用去塊濾波器的信息以及關于在使用去塊濾波器的情況下應用強濾波器和弱濾波器中的哪個濾波器的信息。可以向視頻解碼設備的去塊濾波器提供來自視頻編碼設備的關于去塊濾波器的信息,并且去塊濾波器可以對相應塊執(zhí)行去塊濾波。
偏移單元可以基于關于在編碼過程中應用于圖片的偏移類型和偏移值的信息來對重構圖片施加偏移。
可以基于由編碼設備提供的關于是否應用ALF的信息和ALF系數(shù)信息等來對CU應用ALF。ALF信息可以包括在特定參數(shù)集中并且在特定參數(shù)集中提供。
存儲器245可以存儲用作為參考圖片或參考塊的重構圖片或重構塊,并且存儲器245可以將重構圖片提供至輸出單元。
如上所述,在本發(fā)明的實施方式中,為了方便描述,將術語“編碼單元”用作為編碼的單元。然而,術語“編碼單元”還可以用作為解碼的單元。
圖3示出了根據本發(fā)明的實施方式的基于調色板模式來重構當前塊的方法。
在圖像包括動畫或圖形的情況下,可能發(fā)生的是圖像的全部或一部分包括僅特定像素值。在這種情況下,可以使用在不使用幀間預測或幀內預測方法的情況下對構成該區(qū)域的特定像素值進行編碼的方法,這被稱為調色板模式。調色板模式可以應用于塊單元(例如,編碼單元、預測單元)。出于這個目的,可以基于塊來用信號傳送指示是否使用調色板模式的標記信息(palette_mode_flag)。
參照圖3,可以構造以調色板模式編碼的當前塊的調色板映射(S300)。
調色板映射可以包括至少一個調色板條目和標識每個調色板條目的映射索引??梢愿鶕惹皦K的調色板映射(在下文中被稱為先前調色板映射)得到當前塊的調色板映射。此處,先前塊可以意指在當前塊之前已經被編碼或解碼的塊。
當前塊的調色板條目可以包括預測的調色板條目或用信號傳送的調色板條目中的至少一個。當前塊可以使用先前塊使用的調色板條目中的所有調色板條目或一部分調色板條目。預測的調色板條目可以表示在先前塊中使用的調色板條目中并且在當前塊中再次使用的調色板條目。
具體地,當前塊可以使用與先前塊相同的調色板映射。對于此,可以用信號傳送指示當前塊是否使用與先前塊相同的調色板映射的標記(palette_share_flag)。此處,相同的調色板映射意指調色板映射的大小(或包括在調色板映射中的調色板條目的數(shù)目)相同并且包括在調色板映射中的調色板條目相同。當palette_share_flag的值為1時,當前塊使用與先前塊相同的調色板映射。當palette_share_flag的值為0時,當前塊可以使用以下調色板映射:包括在所述調色板映射中的調色板條目或所述調色板映射的大小中的至少一個與相鄰塊的不同。
可替選地,當前塊可以選擇性地使用先前調色板映射中的一些調色板條目。出于這個目的,可以使用用于指定調色板條目是否被再次使用的標記(previous_palette_entry_flag,在下文中被稱為再次使用標記)。具體地,向先前調色板映射的調色板條目中的每個調色板條目分配再次使用標記的值。再次使用標記(previous_palette_entry_flag[i])指示與先前調色板映射中的映射索引i對應的調色板條目是否被再次使用。例如,如果再次使用標記的值為1,則在當前塊的調色板映射中再次使用與先前調色板映射中的映射索引i對應的調色板條目。否則,不再次使用與先前調色板映射中的映射索引i對應的調色板條目??梢酝ㄟ^從先前調色板映射提取具有等于1的再次使用標記的調色板條目并且順序地布置所述調色板條目來構造當前塊的調色板映射??梢杂眯盘杺魉歪槍γ總€調色板條目編碼的標記的形式的再次使用標記,或者可以基于游程編碼用信號傳送二進制矢量的形式的再次使用標記,這將參照圖4至圖6詳細進行描述。
為了選擇性地使用先前塊的調色板映射中的一些調色板條目,可以使用用于指定先前調色板條目是否被再次使用的再次使用變量陣列(predictor_palette_entry_reuse_flag)和用于指定在再次使用變量陣列中的非零再次使用變量之間的等于0的再次使用變量的數(shù)目的語法palette_predictor_run值。
另外,當前塊的調色板映射還可以包括來自比特流的用信號傳送的用信號傳送的調色板條目。此處,用信號傳送的調色板條目包括在當前塊使用的調色板條目中但未包括在先前調色板映射中的調色板條目。
參照圖3,可以根據在當前塊的樣本單元(或像素單元)中的預定掃描順序來得到調色板索引(S310)。
作為本發(fā)明的掃描順序,可以使用水平掃描、垂直掃描、水平來回掃描、垂直來回掃描等,這將參照圖9詳細進行描述。
第一標記信息(first_palette_idx_flag)指示當前索引是否是在當前解碼緩沖器中使用的調色板索引。調色板索引信息(palette_idx)被編碼成指定當前塊中使用的調色板索引。可以使用以下中的至少一個來得到當前塊的調色板索引:第一標記信息、調色板索引信息、調色板索引游程信息(palette_idx_run)或索引距離信息(distance_minus1_from_used_idx)。該方法將被稱為索引串匹配技術。此處,調色板索引游程信息可以意指具有相同值的連續(xù)的調色板索引中的除首次生成的調色板索引之外剩余的調色板索引的數(shù)目。可替選地,調色板索引游程信息可以意指具有相同值的連續(xù)的調色板索引中的第一調色板索引與最后調色板索引之間的位置差或掃描順序差。索引距離信息可以被編碼成指定與當前樣本具有相同調色板索引的先前樣本的位置。此處,先前樣本可以是具有早于當前樣本的掃描順序的樣本以及與當前樣本具有相同調色板索引的樣本中的具有最后掃描順序的樣本。
將參照圖7和圖8來詳細描述基于索引串匹配技術對當前塊的調色板索引進行編碼/解碼的方法。
參照圖3,可以基于在步驟S310中得到的調色板索引來重構當前塊的樣本(S320)。
具體地,可以基于在步驟S300中構造的當前塊的調色板映射和在步驟S310中得到的調色板索引來重構當前塊的樣本。從當前塊的調色板映射中提取與所得到的調色板索引具有相同值的映射索引的調色板條目,然后可以使用該調色板條目來重構當前塊的樣本。例如,可以將從調色板映射中提取的調色板條目的值設置為當前塊的樣本的預測值或重構值。
然而,所得到的調色板索引的值可以等于構成當前塊的調色板映射的調色板條目的數(shù)目。在這種情況下,可以通過使用在步驟S300中構造的調色板映射的調色板條目來重構當前塊的樣本。也就是說,由于調色板映射的映射索引具有0與(調色板條目的數(shù)目-1)之間的值,因此所得到的調色板索引的值等于調色板條目的數(shù)目意味著在步驟S300中構造的調色板映射中不存在與所得到的調色板索引對應的調色板條目。以這種方式,當存在具有與當前塊中的調色板條目的數(shù)目相同的值的調色板索引的樣本時,可以確定該樣本以逸出模式被編碼。此處,逸出模式可以指基于另外用信號傳送的調色板逸出值而不是使用在步驟S300中構造的調色板映射的調色板條目來重構樣本值的方法。因此,可以使用另外用信號傳送的調色板逸出值來重構調色板索引等于調色板條目的數(shù)目的樣本。
另一方面,可以基于構成當前塊的調色板映射的調色板條目的數(shù)目來自適應地使用逸出模式。此處,可以將調色板條目的數(shù)目導出為根據先前塊的調色板映射預測的調色板條目的數(shù)目與用信號傳送的調色板條目的數(shù)目之和。參照圖3來描述預測的調色板條目和用信號傳送的調色板條目。例如,如果當前塊使用的調色板條目的數(shù)目大于零(例如,如果調色板條目的數(shù)目為一),則可以允許基于逸出模式來重構當前塊的至少一個樣本。相反,如果當前塊使用的調色板條目的數(shù)目為零,則不允許基于逸出模式來重構當前塊。
圖4示出了根據本發(fā)明的實施方式的用信號傳送再次使用標記(previous_palette_entry_flag)的方法。
參照圖4,可以從比特流獲得與當前塊的調色板映射有關的再次使用數(shù)目信息(num_previous_palette_entry)(S400)。
此處,再次使用數(shù)目信息可以意指被編碼的用于指示先前調色板映射的調色板條目中的被再次用作為當前塊的調色板條目的調色板條目的數(shù)目的信息。
可以從比特流獲得指定第i個調色板條目是否被再次使用的再次使用標記(previous_palette_entry_flag[i])(S410)。
依據先前調色板映射的大小(或包括在先前調色板映射中的調色板條目的數(shù)目)用信號傳送再次使用標記。此處,i對應于標識先前調色板映射的調色板條目的映射索引,并且i的值在0到(先前調色板映射的大小-1)的范圍內。
可以檢查在步驟S410中獲得的再次使用標記的值是否為1(S420)。
作為檢查的結果,如果再次使用標記的值為1,則可以更新指示等于1的再次使用標記的數(shù)目的變量numPredPreviousPalette(S430)。例如,可以將變量numPredPreviousPalette的值增加1。
另一方面,如果再次使用標記的值為0,則可以從比特流獲得指定是否再次使用第(i+1)個調色板條目的再次使用標記(previous_palette_entry_flag[i+1])(S410)。
可以比較在步驟S430中增加的變量numPredPreviousPalette值與在步驟S400中獲得的再次使用數(shù)目信息是否相同(S440)。
如果變量numPredPreviousPalette不等于在步驟S400中獲得的數(shù)目信息,則可以從比特流獲得指定是否再次使用第(i+1)個調色板條目的再次使用標記(previous_palette_entry_flag[i+1])(S410)。然而,如果變量numPredPreviousPalette等于在步驟S400中獲得的數(shù)目信息,則可以不將具有大于i的值的映射索引的調色板條目用作為當前塊的調色板條目。為此,如果變量numPredPreviousPalette等于在步驟S400中獲得的數(shù)目信息,則可以得到i的值等于或大于先前調色板映射的大小。例如,可以通過將先前調色板映射的大小加上1來得到i的值。因此,通過將i的值設置為等于或大于先前調色板映射的大小,可以不用信號傳送與第(i+1)個調色板條目相關聯(lián)的再次使用標記。
圖5示出了根據本發(fā)明的實施方式的基于游程編碼用信號傳送二進制矢量形式的再次使用標記的方法。
在本實施方式中,假設先前塊的調色板映射使用具有0至7的映射索引的8個調色板條目。
對于先前塊的具有索引0至7的調色板條目中的每個調色板條目,視頻編碼設備確定該調色板條目是否被再次用作為當前塊的調色板條目。如果該調色板條目被再次用作為當前塊的調色板條目,則可以將調色板條目的再次使用標記的值設置為1,否則,可以將再次使用標記的值設置為0。例如,如圖5所示,當先前塊的調色板條目中的調色板條目0、1、3和7被再次用作為當前塊的調色板條目并且剩余的調色板條目不被再次使用,則可以生成由11010001表示的二進制矢量。
然后,二進制矢量中的1的數(shù)目(即,先前塊中的被再次用作為當前塊的調色板條目的調色板條目的數(shù)目)或二進制矢量中的在1前面的0的數(shù)目中的至少一個被編碼,然后可以用信號傳送至視頻解碼設備。例如,由于二進制矢量中的1的數(shù)目為4,因此4可以被編碼為先前塊中的被再次用作為當前塊的調色板條目的調色板條目的數(shù)目。另外,二進制矢量中的在1前面的0的數(shù)目,也就是說,0、0、1和3可以被順序地編碼。
視頻解碼設備可以從視頻編碼設備接收關于先前塊中的被再次用作為當前塊的調色板條目的調色板條目的數(shù)目的信息(num_previous_palette_entry)或關于二進制矢量中的在1前面的0的數(shù)目的信息(palette_entry_run)中的至少一個,然后通過使用所接收的信息來構造當前塊的調色板映射。
例如,視頻解碼設備依次從比特流中提取關于二進制矢量中的在1前面的0的數(shù)目的信息(palette_entry_run),也就是說,0、0、1和3??梢酝ㄟ^使用所提取的信息來恢復指示是否再次使用先前塊的調色板條目的二進制矢量,也就是說,11010001。當在恢復二進制矢量的過程中生成1的值時,可以將先前塊中的與值1對應的調色板條目插入在當前塊的調色板條目中。通過該過程,可以通過選擇性地再次使用來自先前塊的調色板映射的一些調色板條目來構造當前塊的調色板映射。
圖6示出了根據本發(fā)明的實施方式的基于最后條目標記(last_previous_entry_flag)以限制的方式獲得再次使用標記的方法。
參照圖6,可以考慮先前塊的調色板映射的大小來獲得再次使用標記(previous_palette_entry_flag[idx])(S600)。
再次使用標記可以指示先前塊的調色板映射中的與當前映射索引idx對應的調色板條目是否被再次用作為當前塊的調色板條目。在當前映射索引idx小于先前塊的調色板映射的大小(或構成先前塊的調色板映射的調色板條目的數(shù)目)的范圍內可以獲得再次使用標記。
可以基于在步驟S600中獲得的再次使用標記來獲得最后條目標記(last_previous_entry_flag)(S610)。
具體地,如果再次使用標記的值為1,則從比特流中提取最后條目標記,如果再次使用標記的值為0,則不從比特流中提取最后條目標記。
此處,最后條目標記可以指示與當前映射索引idx對應的調色板條目是否是先前塊中的被再次用作為當前塊的調色板條目的調色板條目的最后調色板條目。例如,如果最后條目標記的值為1,則不將具有大于當前映射索引idx的映射索引值的調色板條目再次用作為當前塊的調色板條目。另一方面,如果最后條目標記的值為0,則可以將具有大于當前映射索引idx的調色板條目中的至少一個調色板條目再次用作為當前塊的調色板條目。
可以基于在步驟S610中獲得的最后條目標記將當前映射索引idx的值更新為預定值(S620)。
例如,如果最后條目標記的值為1,則可以將當前映射索引idx的值更新為與先前塊的調色板映射的大小相同的值。在這種情況下,如上所述,由于再次使用標記是在先前塊的調色板映射的大小范圍內提取的,因此對于具有大于當前映射索引idx的映射索引值的調色板條目,不用信號傳送再次使用標記。
另一方面,當最后條目標記的值為0時,這意味著具有大于當前映射索引idx的映射索引的調色板條目中的至少一個調色板條目可以被再次用作為當前塊的調色板條目。因此,可以將當前映射索引idx增加1。也就是說,當前映射索引idx的值被更新為(idx+1),可以重復步驟S600和步驟S610直到最后條目標記的值達到1為止。
通過上述過程,可以基于最后條目標記的值來限制性地用信號傳送本發(fā)明的再次使用標記。
圖7示出了根據本發(fā)明的實施方式的基于索引串匹配技術對當前塊的調色板索引進行編碼的方法。
在本實施方式中,假設當前塊是4×4的塊,由16個樣本組成。如圖7所示,可以根據預定掃描順序通過一維陣列表示與當前塊有關的調色板索引。此處,假設當前塊具有一維調色板索引陣列,比如{8,8,8,15,15,15,15,2,8,8,8,8,8,2,2,2}。
根據預定掃描順序對當前塊的調色板索引進行編碼。此時,首先在具有掃描順序0的樣本(在下文中被稱為第0個樣本)中生成要被編碼的調色板索引。這可以意指第0個樣本的調色板索引8是不在當前解碼緩沖器中使用的調色板索引。因此,可以將指示當前索引是否是在當前解碼緩沖器中使用的調色板索引的第一標記信息(first_palette_idx_flag)的值編碼為1。
因此,由于第0個樣本的調色板索引是8,因此可以將第0個樣本的調色板索引信息(palette_idx)編碼為8。然后,可以將指示在第0個樣本之后連續(xù)出現(xiàn)相同值的調色板索引的數(shù)目的調色板索引游程信息(palette_idx_run)的值編碼為2。以這種方式,可以使用第一標記信息、調色板索引信息以及調色板索引游程信息對從第0個樣本至第2個樣本的調色板索引進行編碼。
類似地,第3個樣本具有調色板索引15,調色板索引15不是在當前解碼緩沖器中使用的調色板索引。因此,第一標記信息(first_palette_idx_flag)的值被編碼為1,并且第3個樣本的調色板索引信息(palette_idx)被編碼為15。由于在第3個樣本之后連續(xù)存在三個相同值的調色板索引,因此調色板索引游程信息(palette_idx_run)的值被編碼為3。
另一方面,第8個樣本具有調色板索引8,調色板索引8對應于在當前解碼緩沖器中使用的調色板索引(具體地,第0個樣本至第2個樣本)。在這種情況下,第一標記信息(first_palette_idx_flag)的值被編碼為0,并且作為替代,可以將索引距離信息(distance_minus1_from_used_idx)編碼成指定使用調色板索引8的樣本的位置。如上所述,將索引距離信息(distance_minus1_from_used_idx)編碼成指定與當前樣本具有相同調色板索引的先前樣本的位置,其中,先前樣本是具有早于當前樣本的掃描順序的樣本。先前樣本可以意指與當前樣本具有相同調色板索引的樣本中的具有最后掃描順序的樣本。例如,可以通過從第8個樣本與先前使用調色板索引8的第2個樣本之間的位置差減去1來對索引距離信息進行編碼。然后,由于在第8個樣本之后連續(xù)存在四個相同值的調色板索引,因此可以將調色板索引游程信息(palette_idx_run)的值編碼為4。以這種方式,可以使用第一標記信息、索引距離信息以及調色板索引游程信息來對從第8個樣本至第12個樣本的調色板索引進行編碼。無需贅言可以以相同的方式對從第13個樣本至第15個樣本的調色板索引進行編碼。
如上所述,可以照原樣對索引距離信息和/或調色板索引游程信息的值進行編碼或者可以利用兩個分量即最高有效位和偏移來編碼以提高編碼效率。此處,偏移可以意指索引距離信息(或調色板索引游程信息)的值與和索引距離信息(或調色板索引游程信息)的最高有效位對應的值之間的差。
例如,當索引距離信息的值為17時,索引距離信息的最高有效位是4,并且偏移變?yōu)?,1是等于17的索引距離信息與和等于4的最高有效位對應的16之間的差。因此,可以利用最高有效位4和偏移1對索引距離信息的值17進行編碼。
圖8示出了根據本發(fā)明的實施方式的基于索引串匹配技術得到當前塊的調色板索引的方法。
參照圖8,可以從比特流獲得關于當前塊中的當前樣本的第一標記信息(first_palette_idx_flag)(S800)。
第一標記信息可以指示當前樣本的調色板索引是否是在當前解碼緩沖器中使用的調色板索引。當前解碼緩沖器可以將在塊中使用的調色板索引存儲在塊單元中。塊單元可以意指一個編碼塊或預測塊,并且可以意指包括多個編碼塊或預測塊的塊。
例如,如果第一標記信息的值為1,則這可以指示當前樣本的調色板索引不是在當前解碼緩沖器中使用的調色板索引。如果第一標記信息的值為0,則這可以指示將當前樣本的調色板索引用作為具有在當前樣本之前的掃描順序的另一樣本的調色板索引。
如果在步驟S800中獲得的第一標記信息的值為1,則可以從比特流獲得調色板索引信息(palette_idx)或調色板索引游程信息(palette_idx_run)中的至少一個(S810)。
此處,調色板索引信息被編碼成指定當前樣本的調色板索引,調色板索引游程信息可以意指在當前樣本之后連續(xù)出現(xiàn)具有相同值的調色板索引的樣本的數(shù)目。調色板索引游程信息可以在視頻編碼設備處利用最高有效位和偏移被編碼。在這種情況下,調色板索引游程信息可以包括與調色板索引游程有關的最高有效位信息和偏移信息。
可以基于在步驟S810中獲得的調色板索引信息和/或調色板索引游程信息來得到當前塊的調色板索引中的所有調色板索引或一些調色板索引(S820)。
具體地,可以將根據調色板索引信息的調色板索引分配給當前樣本,并且可以順序地或并行地分配與對應于調色板索引游程信息的樣本數(shù)目一樣多的與當前樣本具有相同值的調色板索引。
另一方面,如果在步驟S800中獲得的第一標記的值為0,則可以從比特流獲得索引距離信息(distance_minus1_from_used_idx)或調色板索引游程信息(palette_idx_run)中的至少一個(S830)。
此處,索引距離信息被編碼成指定與當前樣本具有相同調色板索引的先前樣本的位置。先前樣本是具有早于當前樣本的掃描順序的樣本。先前樣本可以意指與當前樣本具有相同調色板索引的樣本中的具有最后掃描順序的樣本。調色板索引游程信息如在步驟S810中所描述的。
另外,索引距離信息和/或調色板索引游程信息可以在視頻編碼設備處利用最高有效位和偏移被編碼。在這種情況下,索引距離信息和/或調色板索引游程信息還可以包括最高有效位信息和偏移信息。
可以基于在步驟S830中獲得的索引距離信息和/或調色板索引游程信息來得到當前塊的調色板索引中的所有調色板索引或一些調色板索引(S840)。
具體地,可以基于索引距離信息來指定與當前樣本具有相同值的調色板索引的先前樣本??梢詫⑺付ǖ南惹皹颖镜恼{色板索引分配給當前樣本。然后,可以順序地或并行地分配與對應于調色板索引游程信息的樣本數(shù)目一樣多的與當前樣本具有相同值的調色板索引。
圖9示出了根據本發(fā)明的實施方式的在調色板模式下使用的掃描順序。
參照圖9,在調色板模式下使用的掃描順序包括:水平掃描、垂直掃描、水平來回掃描、垂直來回掃描。
具體地,水平掃描是從左至右掃描當前塊的每個行的方法,垂直掃描是自上而下掃描當前塊的每個列的方法。
水平來回掃描是從左至右掃描當前塊的奇數(shù)行并且從右至左掃描偶數(shù)行的方法,垂直來回掃描是自上而下掃描當前塊的奇數(shù)列而自下而上掃描偶數(shù)列的方法。
然而,在該實施方式中,假設當前塊的左上側樣本被設置為掃描開始位置,但是本發(fā)明不限于此,可以將當前塊的另一拐角樣本設置為掃描開始位置。
圖10示出了根據本發(fā)明的實施方式的樣本串匹配技術的示意配置。
可以通過參考下述樣本字典來預測/重構當前塊中具有預定長度的一連串樣本(在下文中被稱為串),所述樣本字典包括在要被解碼的當前圖像之前重構的樣本或當前圖片的重構圖像中的連續(xù)樣本。
參照圖10,可以使用當前串的長度和指示參考串與當前串之間的位置差的串矢量來指定參考串??梢酝ㄟ^使用所指定的參考串來預測或重構當前串的樣本。在下文中該方法將被稱為樣本串匹配技術。
樣本字典可以包括一個或更多個參考串候選者并且可以包括用于標識每個參考串候選者的索引。參考串候選者可以指一個或更多個像素的集合。
可以通過在重構當前圖像的過程中添加或刪除所有參考串候選者或一些參考串候選者來更新樣本字典。
例如,可以將由與當前塊鄰近的相鄰塊參考的參考串添加為當前塊的參考串候選者??商孢x地,可以基于相鄰塊用來指定參考串的串的長度和/或偏移來指定當前塊的參考串候選者,并且可以將當前塊的參考串候選者添加至樣本字典。
可替選地,可以針對當前塊從樣本字典中去除屬于與當前塊不同的區(qū)塊或屬于另一片(或片段)的參考串候選者。如果根據劃分模式將當前塊劃分為多個分區(qū),則可以針對另一分區(qū)從樣本字典中去除多個分區(qū)中的一個劃分使用的參考串候選者。
圖11示出了根據本發(fā)明的實施方式的基于樣本串匹配技術來預測/重構當前塊的過程。
參照圖11,可以基于樣本串匹配技術來確定當前塊中的要被解碼的當前串的長度(S1100)。
具體地,視頻編碼設備可以限制用于樣本串匹配的串的最小長度。例如,可以限制在樣本串匹配中使用長度等于1的串。在這種情況下,視頻編碼設備可以確定當前串的長度,通過將所確定的當前串的長度減去2來對串長度信息(dic_pred_length_minus2)進行編碼,以及將串長度信息用信號傳送至視頻解碼設備。視頻解碼設備可以通過將從視頻編碼設備接收到的串長度信息(dic_pred_length_minus2)加上2來得到當前串的長度。然而,當在樣本串匹配中使用長度等于1的串時,視頻編碼設備可以確定當前串的長度,通過將所確定的當前串的長度減去1來對串長度信息(dic_pred_length_minus1)進行編碼,以及將串長度信息用信號傳送至視頻解碼設備。在這種情況下,視頻解碼設備可以通過將從視頻編碼設備接收到的串長度信息(dic_pred_length_minus1)加上1來得到當前串的長度。
然而,本發(fā)明不限于此,并且視頻編碼設備可以可變地設置用于樣本串匹配的串的最小長度并且限制用于樣本串匹配的串的最大長度。
可以利用通過除以當前塊的寬度得到的值(string_len_div_width)和余值(string_len_refine)對串長度信息(例如,dic_pred_length_minus2和dic_pred_length_minus1)進行編碼。在這種情況下,視頻解碼設備可以從視頻編碼設備接收string_len_div_width和string_len_refine,并且如下面的式1所示的那樣得到串長度信息。
[式1]
串長度信息=string_len_div_width*寬度+string_len_refine
可替選地,可以利用兩個分量——即串長度信息的值的最高有效位和偏移——來對串長度信息進行編碼。此處,偏移可以意指串長度信息的值與和最高有效位對應的值之間的差。
例如,當串長度信息的值為18時,串長度信息的最高有效位被編碼為4,偏移被編碼為2,2是等于18的串長度信息與和等于4的最高有效位對應的值16的差。
在這種情況下,視頻解碼設備可以從視頻編碼設備接收最高有效位信息(string_len_msb)和偏移信息(string_len_offset),并且如下面的式2所示的那樣得到串長度信息。
[式2]
串長度信息=1<<string_len_msb+string_len_offset
可以通過考慮當前串的第一樣本和最后樣本是否存在于同一行中來得到當前串的長度。這將參照圖12來詳細描述。
參照圖11,可以基于與當前串有關的串矢量來確定參考串(S1110)。
此處,串矢量是被編碼成指定當前串參考的參考串的信息,并且串矢量可以表示當前串與參考串之間的位置差。例如,串矢量可以指包括當前串的當前塊的左上方樣本與包括參考串的參考塊的左上方樣本之間的位置差。在這種情況下,當前串基于串矢量來指定包括參考串的參考塊,并且可以將所指定的參考塊中的與當前串處于相同位置的串確定為參考串。
可替選地,串矢量可以意指包括當前串的當前塊的左上方樣本與參考串的第一樣本之間的位置差或當前串的第一樣本與參考串的第一樣本之間的位置差。
另一方面,視頻編碼設備可以通過照原樣對當前串的串矢量進行編碼來對串矢量信息(string_vector)進行編碼。在這種情況下,視頻解碼設備可以基于從視頻編碼設備用信號傳送的串矢量信息(string_vector)來得到串矢量。
可替選地,視頻編碼設備可以利用通過將串矢量除以當前塊的寬度而獲得的值(string_vector_div_width)及其余值(string_vector_refine)來對串矢量進行編碼。在這種情況下,視頻解碼設備可以基于從視頻編碼設備用信號傳送的string_vector_div_width和string_vector_refine來得到串矢量。例如,可以如式3所示的那樣得到串矢量。
[式3]
串矢量=string_vector_div_width*寬度+string_vector_refine
可替選地,視頻編碼設備可以利用串矢量的值的最高有效位(string_vector_msb)和偏移(string_vector_offset)來對串矢量進行編碼。此處,偏移可以意指串矢量的值與和最高有效位對應的值之間的差。在這種情況下,視頻解碼設備可以使用從視頻編碼設備用信號傳送的string_vector_msb和string_vector_offset來得到串矢量。例如,可以如式4所示的那樣得到串矢量。
[式4]
串矢量=1<<string_vector_msb+string_vector_offset
本發(fā)明的參考串可以與當前串包括在同一圖片中。參考串可以指在當前串之前重構的一個或更多個樣本陣列。然而,本發(fā)明不限于此,參考串可以包括在在當前圖片之前重構并且存儲在緩沖器中的參考圖片中。
另外,參考串可以與當前串具有相同的長度和/或形狀。對于此,可以使用在步驟S1100中確定的當前串的長度來確定參考串??商孢x地,可以對參考串應用預定比例因子以使其與當前串具有相同的長度和/或形狀??梢詫⒖即畱貌逯禐V波器或子采樣濾波器以使其與當前串具有相同的長度和/或形狀。
參照圖11,可以使用在步驟S1110中確定的參考串來預測/重構當前串(S1120)。
具體地,可以基于參考串的重構樣本來獲得當前串的預測樣本。在這種情況下,可以通過比特流用信號傳送當前串的殘差樣本??梢允褂卯斍按臍埐顦颖竞皖A測樣本來重構當前串。
可替選地,可以將參考串的重構樣本設置為當前串的重構樣本。
圖12示出了根據本發(fā)明的實施方式的基于當前串的第一樣本和最后樣本是否存在于同一行中來得到當前串的長度的方法。
參照圖12,可以從比特流獲得串行標記(string_same_row_flag)(S1200)。
此處,串行標記可以指示當前串的第一樣本和最后樣本是否屬于同一行。例如,如果串行標記的值為1,則當前串的第一樣本和最后樣本屬于同一行,如果串行標記的值為0,則當前串的第一樣本和最后樣本可能不屬于同一行。
參照圖12,如果串行標記的值為1,則可以從比特流獲得與當前串有關的串長度信息(S1210)。
本實施方式中的串長度信息被編碼成指定當前串的長度并且已經參照圖11詳細被描述,因而將省略對其的詳細描述。
可以基于在步驟S1210中獲得的串長度信息來得到當前串的長度(S1220)。
另一方面,如果串行標記的值為0,則可以從比特流獲得用于指定當前串的最后樣本的位置的串最后矢量信息(string_last_vector_X,string_last_vector_Y)(S1230)。
此處,串最后矢量可以指示當前塊的左上方樣本與當前串的最后樣本之間的位置差,或當前串的第一樣本與最后樣本之間的位置差。
如果當前串的第一樣本和最后樣本屬于不同行,則串最后矢量信息的y分量大于或等于一。因此,視頻編碼設備可以對通過將串最后矢量的y分量減去1而獲得的值進行編碼并且用信號傳送所述值。視頻解碼設備可以通過將用信號傳送的串最后矢量信息(string_last_vector_Y_minus1)加上1來重構y分量。
可以基于在步驟S1230中獲得的串最后矢量信息來得到當前串的長度(S1240)。
具體地,由串最后矢量信息來指定當前串的最后樣本的位置,并且可以得到從當前串的第一樣本至最后樣本的長度。此處,可以基于先前串的最后樣本的位置來得到當前串的第一樣本的位置。
工業(yè)實用性
本發(fā)明可以用于對視頻信號進行編碼。