本申請是2013年9月30日提交的申請?zhí)枮?01280016858.6(pct/kr2012/002345)、申請日為2012年3月30日、標題為“環(huán)路濾波方法及其設(shè)備”的專利申請的分案申請。
本發(fā)明涉及一種視頻處理,并且更具體而言,涉及環(huán)路濾波方法。
技術(shù)背景
對于諸如高清(hd)和超高清(uhd)視頻的具有高分辨率和高質(zhì)量的視頻的需求,近來已經(jīng)在各種領(lǐng)域中增加。隨著視頻具有較高分辨率和較高品質(zhì),當(dāng)與現(xiàn)有視頻數(shù)據(jù)相比較時,將要傳輸?shù)囊曨l數(shù)據(jù)中的信息量或比特增加。因此,如果使用諸如現(xiàn)有有線/無線寬帶線的介質(zhì)傳輸視頻數(shù)據(jù),或者在現(xiàn)有存儲介質(zhì)中存儲視頻數(shù)據(jù),則用于傳輸和存儲的成本增加。為了解決這些問題,可以利用高效率視頻壓縮技術(shù)。
可以采用各種視頻壓縮技術(shù),例如間預(yù)測(interprediction),在間預(yù)測中,基于當(dāng)前圖片的先前或隨后圖片來預(yù)測在當(dāng)前圖片中包括的像素值;內(nèi)預(yù)測(intraprediction),在內(nèi)預(yù)測中,使用當(dāng)前圖片中的像素信息來預(yù)測在當(dāng)前圖片中包括的像素值;以及熵編碼技術(shù),所述熵編碼技術(shù)將短碼字分配給具有呈現(xiàn)高頻的符號以及將長碼字分配給具有呈現(xiàn)低頻的符號。這樣的視頻壓縮方法使能視頻數(shù)據(jù)被有效率地壓縮用于傳輸和存儲。
技術(shù)實現(xiàn)要素:
技術(shù)問題
本發(fā)明的一方面提供能夠改善視頻編碼/解碼效率的視頻編碼方法和視頻編碼設(shè)備。
本發(fā)明的另一方面提供能夠改善視頻編碼/解碼效率的視頻解碼方法和視頻解碼設(shè)備。
本發(fā)明的又一方面提供能夠改善視頻編碼/解碼效率的環(huán)路濾波方法和環(huán)路濾波設(shè)備。
本發(fā)明的又一方面提供能夠改善視頻編碼/解碼效率的解塊濾波方法和解塊濾波設(shè)備。
本發(fā)明的又一方面提供能夠改善視頻編碼/解碼效率的sao處理和用于執(zhí)行該sao處理的設(shè)備。
本發(fā)明的又一方面提供能夠改善視頻編碼/解碼效率的適應(yīng)性回路濾波方法和適應(yīng)性回路濾波設(shè)備。
技術(shù)解決方案
(1)本發(fā)明的實施例涉及視頻解碼方法。該方法包括接收視頻信息、基于視頻信息產(chǎn)生當(dāng)前塊的重建塊、以及基于視頻信息通過將環(huán)路濾波器應(yīng)用到重建塊來產(chǎn)生當(dāng)前塊的最終重建塊,其中,根據(jù)用于當(dāng)前塊的編碼模式是否為內(nèi)(intra)脈沖代碼調(diào)制(i_pcm)模式,確定最終重建塊中的最終像素值。
(2)在(1)中,環(huán)路濾波器包括解塊濾波器,最終重建塊的產(chǎn)生可以進一步包括:確定位于重建塊內(nèi)或邊界上的塊邊緣的邊界強度(bs),基于bs來確定是否將解塊濾波器應(yīng)用到塊邊緣,以及基于是否應(yīng)用解塊濾波器來得到最終像素值,以及當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,最終像素值的得到可以將在重建塊內(nèi)未經(jīng)受解塊濾波的像素值確定為最終像素值。
(3)在(2)中,當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,是否應(yīng)用解塊濾波器的確定可以確定不將解塊濾波器應(yīng)用到塊邊緣。
(4)在(1)中,環(huán)路濾波器包括采樣適應(yīng)性偏移(sao),以及當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,最終重建塊的產(chǎn)生可以不將sao應(yīng)用到重建塊內(nèi)的像素。
(5)在(1)中,環(huán)路濾波器包括適應(yīng)性回路濾波器(alf),最終重建塊的產(chǎn)生可以進一步包括:確定是否將alf應(yīng)用到重建塊,確定alf的濾波器形狀和濾波器系數(shù),以及根據(jù)是否應(yīng)用alf基于濾波器形狀和濾波器系數(shù)來得到最終像素值,以及當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,得到最終像素值可以確定在重建塊內(nèi)未經(jīng)受適應(yīng)性回路濾波的像素值作為最終像素值。
(6)在(5)中,當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,是否應(yīng)用alf的確定可以確定不將alf應(yīng)用到重建塊。
(7)在(5)中,視頻信息可以進一步包括pcm標記信息,以指示是否用于當(dāng)前塊的編碼模式為i_pcm模式,以及是否應(yīng)用alf的確定可以基于pcm標記信息來確定是否應(yīng)用alf。
(8)在(7)中,視頻信息可以進一步包括pcm回路濾波器標記信息,以指示是否環(huán)路濾波器應(yīng)用到以i_pcm模式編碼的塊,以及是否應(yīng)用alf的確定可以基于pcm標記信息和pcm回路濾波器標記信息來確定是否應(yīng)用alf。
(9)在(7)中,當(dāng)前塊可以是要解碼的編譯單元(cu),視頻信息可以進一步包括alf標記信息,以指示是否對當(dāng)前塊執(zhí)行適應(yīng)性回路濾波,以及是否應(yīng)用alf的確定可以基于pcm標記信息和alf標記信息來確定是否應(yīng)用alf。
(10)在(1)中,環(huán)路濾波器可以包括解塊濾波器、sao和alf中的至少一個,以及最終重建塊的產(chǎn)生僅對最終應(yīng)用到解塊濾波器、sao和alf之中的重建塊的環(huán)路濾波器的輸出執(zhí)行剪切。
(11)本發(fā)明的另一實施例涉及視頻編碼方法。該方法包括:產(chǎn)生當(dāng)前塊的重建塊,通過將環(huán)路濾波器應(yīng)用到重建塊產(chǎn)生當(dāng)前塊的最終重建塊,以及傳輸關(guān)于環(huán)路濾波器的應(yīng)用的視頻信息,其中,根據(jù)用于當(dāng)前塊的編碼模式是否是內(nèi)脈沖代碼調(diào)制(i_pcm)模式來確定最終重建塊中的最終像素值。
(12)在(11)中,環(huán)路濾波器可以包括解塊濾波器,最終重建塊的產(chǎn)生可以進一步包括確定位于重建塊內(nèi)或邊界上的塊邊緣的邊界強度(bs),基于bs來確定是否將解塊濾波器應(yīng)用到塊邊緣,以及基于是否應(yīng)用解塊濾波器來得到最終像素值,以及當(dāng)用于當(dāng)前塊的編碼模式為i_pcm模式時,最終像素值的得到可以確定在重建塊內(nèi)未經(jīng)受解塊濾波的像素值作為最終像素值。
(13)在(11)中,環(huán)路濾波器可以包括采樣適應(yīng)性偏移(sao),當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,最終重建塊的產(chǎn)生可以不將sao應(yīng)用到重建塊內(nèi)的像素。
(14)在(11)中,環(huán)路濾波器可以包括適應(yīng)性回路濾波器(alf),生成最終重建塊可以進一步包括:確定是否將alf應(yīng)用到重建塊,確定alf的濾波器形狀和濾波器系數(shù),以及根據(jù)是否應(yīng)用alf基于濾波器形狀和濾波器系數(shù)來得到最終像素值,以及當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,得到最終像素值可以確定在重建塊內(nèi)未經(jīng)受適應(yīng)性回路濾波的像素值作為最終像素。
(15)在(14)中,當(dāng)用于當(dāng)前塊的編碼模式是i_pcm模式時,是否應(yīng)用alf的確定可以確定不將alf應(yīng)用到重建塊。
[有益效果]
根據(jù)本發(fā)明的視頻編碼方法,可以增強視頻編碼/解碼效率。
根據(jù)本發(fā)明的視頻解碼方法,可以提高視頻編碼/解碼效率。
根據(jù)本發(fā)明的環(huán)路濾波方法,可以提高視頻編碼/解碼效率。
根據(jù)本發(fā)明的解塊濾波方法,可以提高視頻編碼/解碼效率。
根據(jù)本發(fā)明的sao處理,可以提高視頻編碼/解碼效率。
根據(jù)本發(fā)明的適應(yīng)性回路濾波方法,可以提高視頻編碼/解碼效率。
附圖說明
圖1是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻編碼設(shè)備的框圖。
圖2是示意地示出根據(jù)本發(fā)明的示例性實施例的預(yù)測模塊的框圖。
圖3是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼設(shè)備的框圖。
圖4是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼設(shè)備的預(yù)測模塊的框圖。
圖5是示意地示出根據(jù)本發(fā)明的示例性實施例的解塊濾波處理的流程圖。
圖6是示意地示出帶偏移的圖。
圖7是示出基于當(dāng)前像素(c)的邊緣偏移的四個代表性邊緣類型的框圖。
圖8示意地示出當(dāng)前像素和相鄰像素的強度比較的結(jié)果被分成四個類別。
圖9是示意地示出根據(jù)本發(fā)明的示例性實施例的適應(yīng)性回路濾波處理的流程圖。
圖10是示意地示出在應(yīng)用本發(fā)明的系統(tǒng)中的編碼設(shè)備的操作的流程圖。
圖11是示意地示出在應(yīng)用本發(fā)明的系統(tǒng)中的解碼設(shè)備的操作的流程圖。
圖12是示意地示出根據(jù)本發(fā)明的示例性實施例的環(huán)路濾波處理的流程圖。
具體實施方式
可以以各種方式來修改本發(fā)明,并且本發(fā)明可以具有幾個實施例。在附圖中圖示并且詳細描述了本發(fā)明的特定實施例。然而,本發(fā)明不僅限于所給出的特定實施例。在本說明書中使用的術(shù)語僅用于描述該特定實施例,并且不意欲限制本發(fā)明的技術(shù)范圍。引用單數(shù)值的表達另外地指示復(fù)數(shù)的相應(yīng)表達,除非上下文另外明確地限制。在本說明書中,諸如“包括”或“具有”的術(shù)語意欲指定存在的在說明書中描述的那些特性、數(shù)字、步驟、操作、元件或部件或者它們的組合,以及應(yīng)當(dāng)理解,它們不排除一個或多個另外的特性、數(shù)字、步驟、操作、元件或部件或者其組合的存在或可能添加的可能性。
其間,為了關(guān)于編碼器和解碼器的不同特性和功能的描述方便,獨立地圖示在本發(fā)明中描述的附圖中的元件,但是這不指示使用單獨的硬件或單獨的軟件來實現(xiàn)每一個元件。例如,可以將兩個或更多元件組合以形成一個元件,以及可以將一個元件劃分為多個元件。應(yīng)當(dāng)注意,在本發(fā)明的范圍中包括將一些元件集成到一個組合元件內(nèi)和/或?qū)⒃殖啥鄠€單獨的元件的實施例,只要它們不偏離本發(fā)明的本質(zhì)。
一些組件對于本發(fā)明的基本功能不是必要的,并且僅用于改善性能的可選組件。本發(fā)明可以被實施為僅包含對于本發(fā)明的實施例必要的組件,除了僅用于改善性能的組件以外。僅包含除了僅用于改善性能的光學(xué)組件以外的必要組件的結(jié)構(gòu)屬于本發(fā)明的范圍。
以下,參考附圖來詳細描述本發(fā)明的一些示例性實施例。以下,相同的附圖標記貫穿附圖指示相同的元件,并且省略相同元件的冗余說明。
圖1是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻編碼設(shè)備的框圖。參考圖1,視頻編碼設(shè)備100包括圖片分割模塊105、預(yù)測模塊110、變換模塊115、量化模塊120、重新排列模塊125、熵編碼模塊130、去量化模塊135、逆變換模塊140、濾波器模塊145和存儲器150。
圖片分割模塊105可以將輸入圖片分割為一個或多個處理單元。該處理單元可以是預(yù)測單元(以下稱為“pu”)、變換單元(以下稱為“tu”)或編譯單元(以下稱為“cu”)。
cu可以是指圖片的編碼/解碼單元。要被編碼的圖片中的單一編譯塊具有基于四叉樹結(jié)構(gòu)的深度,并且可以遞歸地細分。此處,不能被分割的編譯塊可以是cu,并且編譯器可以編譯該cu。cu具有不同大小,例如64x64、32x32、16x16和8x8??梢詫我籧u分割成多個pu和/或多個tu。在下文中,可以將“單元”稱為“塊”。
預(yù)測模塊110可以包括用于執(zhí)行間預(yù)測的間預(yù)測模塊和用于執(zhí)行內(nèi)預(yù)測的內(nèi)預(yù)測模塊,其將被隨后描述。預(yù)測模塊110通過對由圖片分割模塊105得到的圖片的處理單元執(zhí)行預(yù)測來產(chǎn)生預(yù)測塊。從預(yù)測模塊110預(yù)測的圖片的處理單元可以是cu、tu或pu。此外,預(yù)測模塊110可以確定對相應(yīng)的處理單元執(zhí)行的預(yù)測是間預(yù)測或內(nèi)預(yù)測,以及確定每個預(yù)測方法的細節(jié)(例如,預(yù)測模式)。在此,對其執(zhí)行預(yù)測的處理單元可以與對其確定預(yù)測方法和細節(jié)的處理單元不同。例如,可以在pu上確定預(yù)測方法和預(yù)測模式,以及可以在tu上執(zhí)行預(yù)測。在所產(chǎn)生的預(yù)測塊和原始塊之間的殘留值(或殘留塊)可以被輸入到變換模塊115。此外,用于預(yù)測的關(guān)于預(yù)測模式的信息、關(guān)于運動矢量的信息與殘留值一起在熵編碼模塊130中被編譯,并且被傳輸?shù)浇獯a器。
變換模塊115通過在tu中對殘留塊執(zhí)行變換來產(chǎn)生變換系數(shù)。通過變換模塊115變換的變換單元可以是tu,以及tu具有四叉樹結(jié)構(gòu)。在此,在具有最大和最小值的范圍內(nèi),可以確定tu的大小。變換模塊115可以使用離散余弦變換(dct)和/或離散正弦變換(dst)來變換殘留塊。
量化模塊120通過量化由變換模塊115變換的殘留值來產(chǎn)生量化系數(shù)。由量化模塊120產(chǎn)生的量化系數(shù)被提供到去量化模塊135和重新排列模塊125。
重新排列模塊125可以重新排列由量化模塊120提供的量化系數(shù)。通過重新排列量化系數(shù),可以改善熵編碼模塊130中的編譯效率。重新排列模塊125使用系數(shù)掃描方法將二維塊形式的量化系數(shù)重新排列為一維向量形式的量化系數(shù)。重新排列模塊125可以基于從量化模塊120接收的量化系數(shù)的概率統(tǒng)計來改變系數(shù)掃描的順序,從而改善在熵編碼模塊130中的熵編碼效率。
熵編碼模塊130可以對由重新排列模塊125重新排列的量化系數(shù)執(zhí)行熵編碼。熵編碼模塊130可以編譯各種信息,例如關(guān)于從重新排列模塊125和預(yù)測模塊110接收的cu的量化系數(shù)和塊類型的信息、關(guān)于預(yù)測模式的信息、關(guān)于分割單元的信息、關(guān)于pu的信息、關(guān)于傳輸單元的信息、關(guān)于運動矢量的信息、關(guān)于參考圖片的信息、關(guān)于塊的插值的信息和濾波信息。
諸如指數(shù)哥倫布、上下文適應(yīng)性可變長度編譯(cavlc)或上下文適應(yīng)性二進制算術(shù)編譯(cabac)的編譯方法可以用于熵編譯。例如,熵編碼模塊130可以存儲用于執(zhí)行例如可變長度編譯(vlc)表的熵編譯的表,以及使用存儲的vlc表來執(zhí)行熵編碼??商孢x地,在cabac中,熵編碼模塊130可以將符號二進制化為二進制數(shù)(bin),以及基于二進制數(shù)發(fā)生的概率對該二進制數(shù)執(zhí)行算術(shù)編碼,從而產(chǎn)生比特流。
當(dāng)應(yīng)用熵編碼時,具有高發(fā)生概率的符號可以被分配低值索引和相應(yīng)的短碼字,而具有低發(fā)生概率的符號可以被分配高值索引和相應(yīng)的長碼字。因此,可以減少用于要被編譯的符號的比特數(shù)量,以及通過熵編譯來提高視頻壓縮性能。
去量化模塊135對由量化模塊120量化的值執(zhí)行去量化,以及逆變換模塊140對由去量化模塊135逆量化的值執(zhí)行逆變換。可以將從去量化模塊135和逆變換模塊140產(chǎn)生的殘留值添加到由預(yù)測模塊110預(yù)測的預(yù)測塊,從而產(chǎn)生重建塊。
濾波器模塊145可以向重建塊和/或圖片應(yīng)用環(huán)路濾波器。環(huán)路濾波器包括解塊濾波器、采樣適應(yīng)性偏移(sao)、和/或適應(yīng)性回路濾波器(alf)。
解塊濾波器可以去除在重建圖片中的塊之間的邊界上出現(xiàn)的塊失真。sao可以將適當(dāng)?shù)钠浦堤砑拥较袼刂狄员阈U幾g錯誤。alf基于通過解塊濾波器對塊進行濾波之后重建的圖片與原始圖片比較所獲得的值,來執(zhí)行濾波。
其間,濾波器模塊145可以不對間預(yù)測中使用的重建塊應(yīng)用濾波。
存儲器150可以存儲通過濾波器模塊145獲得的重建塊或圖片。在存儲器150中存儲的重建塊或圖片可以被提供到預(yù)測模塊110,以用于執(zhí)行間預(yù)測。
圖2是示意地示出根據(jù)本發(fā)明的示例性實施例的預(yù)測模塊的框圖。參見圖2,預(yù)測模塊200包括間預(yù)測模塊210和內(nèi)預(yù)測模塊220。
間預(yù)測模塊210基于關(guān)于當(dāng)前圖片的先前或隨后圖片中的至少一個的信息來執(zhí)行預(yù)測,以產(chǎn)生預(yù)測塊。內(nèi)預(yù)測模塊220基于關(guān)于當(dāng)前圖片的像素的信息來執(zhí)行預(yù)測,以產(chǎn)生預(yù)測塊。
間預(yù)測模塊210可以通過整數(shù)像素采樣單位來選擇用于pc的參考圖片以及具有與pu相同大小的參考塊。接下來,間預(yù)測模塊210可以產(chǎn)生與當(dāng)前pu最相似以具有最小殘留信號和最小運動矢量大小的預(yù)測塊,在諸如1/2像素采樣單位和1/4像素采樣單位的比整數(shù)小的采樣單位中產(chǎn)生預(yù)測塊。在此,運動矢量被表示為比整數(shù)像素小的單位。
可以將關(guān)于由間預(yù)測模塊210選擇的參考圖片索引和運動矢量的信息編碼并傳輸?shù)浇獯a器。
圖3是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼設(shè)備的框圖。參考圖3,視頻解碼設(shè)備300包括熵解碼模塊310、重新排列模塊315、去量化模塊320、逆變換模塊325、預(yù)測模塊330、濾波器模塊335和存儲器340。
當(dāng)將視頻比特流輸入到視頻編碼設(shè)備時,可以根據(jù)視頻編碼設(shè)備已經(jīng)處理視頻信息的過程來解碼輸入視頻比特流。
熵解碼模塊310可以對輸入比特流執(zhí)行熵解碼,并且熵解碼方法與上述熵解碼方法相似。當(dāng)應(yīng)用熵解碼時,具有高發(fā)生概率的符號可以被分配低值索引和相應(yīng)的短碼字,而具有低發(fā)生概率的符號可以被分配高值索引和相應(yīng)的長碼字。因此,用于要被編譯的符號的比特的數(shù)量可以減少,并且可以通過熵編譯來提高視頻壓縮性能。
由熵解碼模塊310解碼的信息之中的用于產(chǎn)生預(yù)測塊的信息可以被提供到預(yù)測模塊330,并且關(guān)于通過熵解碼模塊已經(jīng)執(zhí)行的熵解碼的殘留值可以被輸入到重新排列模塊315。
重新排列模塊315可以基于在視頻編碼設(shè)備中使用的重新排列方法來重新排列已經(jīng)被熵解碼模塊310執(zhí)行熵解碼的比特流。重新排列模塊315可以通過將該系數(shù)重建為二維塊形式的系數(shù)來重新排列以一維矢量表示的系數(shù)。重新排列模塊315可以接收與由編碼設(shè)備執(zhí)行的系數(shù)掃描相關(guān)的信息,并且使用基于由相應(yīng)的編碼設(shè)備使用的掃描順序的逆掃描方法來執(zhí)行重新排列。
去量化模塊320可以基于由編碼設(shè)備提供的重新排列塊的量化參數(shù)和系數(shù)值來執(zhí)行去量化。
相對于由視頻編碼設(shè)備執(zhí)行的量化結(jié)果,逆變換模塊325可以對由編碼設(shè)備的變換模塊所執(zhí)行的dct和dst執(zhí)行逆dct和/或逆dst?;谌缤ㄟ^編碼設(shè)備確定的圖片的傳輸單元或分割單元,可以執(zhí)行逆變換。在編碼設(shè)備的變換模塊中,基于諸如預(yù)測方法、當(dāng)前塊的大小和/或預(yù)測方向的多個因素來選擇性地執(zhí)行dct和/或dst。解碼設(shè)備的逆變換模塊325可以基于從編碼設(shè)備的變換模塊導(dǎo)致的變換信息來執(zhí)行逆變換。
預(yù)測模塊330可以基于關(guān)于由熵解碼模塊310提供的預(yù)測塊的產(chǎn)生的信息和由存儲器340提供的先前解碼塊和/或圖片的信息來產(chǎn)生預(yù)測塊。可以使用由預(yù)測模塊330產(chǎn)生的預(yù)測塊和由逆變換模塊325提供的殘留塊來產(chǎn)生重建塊。
可以將重建塊和/或圖片提供到濾波器模塊335。濾波器模塊335可以將環(huán)路濾波器應(yīng)用到重建塊和/或圖片。環(huán)路濾波器可以包括解塊濾波器、sao和/或alf。
存儲器340可以存儲重建圖片或塊,使得重建圖片或塊可以用作參考圖片或參考塊,以及也可以將重建圖片提供給輸出模塊。
圖4是示意地示出根據(jù)本發(fā)明的示例性實施例的視頻解碼設(shè)備的預(yù)測模塊的框圖。
參考圖4,預(yù)測模塊400可以包括內(nèi)預(yù)測模塊410和間預(yù)測模塊420。
當(dāng)用于相應(yīng)pu的預(yù)測模式是內(nèi)預(yù)測模式時,內(nèi)預(yù)測模式410可以基于關(guān)于當(dāng)前圖片中的像素的信息來產(chǎn)生預(yù)測模塊。
當(dāng)用于相應(yīng)pu的預(yù)測模式是間預(yù)測模式時,使用從視頻編碼設(shè)備提供的當(dāng)前pu的間預(yù)測所需要的信息,例如關(guān)于運動矢量和參考圖片索引的信息,基于在包括當(dāng)前pu的當(dāng)前圖片的先前或隨后圖片中的至少一個中包括的信息,間預(yù)測模塊420可以對當(dāng)前pu執(zhí)行間預(yù)測。
在此,當(dāng)從編碼設(shè)備接收的cu的跳過標記或合并標記被標識時,根據(jù)被標識的標記可以得出運動信息。
在下文,當(dāng)“視頻”或“屏幕”指示與基于本發(fā)明的配置或表達的“圖片”相同的含義時,“圖片”可以由“視頻”或“屏幕”來取代。此外,間預(yù)測是指幀間預(yù)測,以及內(nèi)預(yù)測是指幀內(nèi)預(yù)測。
如上參考圖2和圖4所述,內(nèi)預(yù)測模塊可以基于在當(dāng)前圖片中的像素信息來執(zhí)行預(yù)測,以產(chǎn)生關(guān)于當(dāng)前塊的預(yù)測塊。例如,內(nèi)預(yù)測模塊可以使用設(shè)置在當(dāng)前塊的上、左、左上和/或右上側(cè)的重建塊中的像素來預(yù)測當(dāng)前塊的像素值。此處,對其執(zhí)行預(yù)測的處理單元可以是不同于對其確定預(yù)測方法和細節(jié)的處理單元。例如,在pu上確定預(yù)測方法和預(yù)測模式,以及在tu上執(zhí)行預(yù)測。
基于用于當(dāng)前塊(例如cu)內(nèi)的每個pu的內(nèi)預(yù)測模式,可以實施內(nèi)預(yù)測。內(nèi)預(yù)測模式可以根據(jù)用于預(yù)測當(dāng)前塊的的像素值的參考像素的位置和/或預(yù)測方法而包括垂直、水平、dc、平面和角模式。在垂直模式中,使用相鄰塊的像素值以垂直方向來執(zhí)行預(yù)測。在水平模式中,使用相鄰塊的像素值以水平方向來執(zhí)行水平。在dc模式中,使用參考像素的平均像素值來產(chǎn)生預(yù)測塊。在角模式中,根據(jù)為每個模式提前定義的角度和/或方向,可以執(zhí)行預(yù)測。對于內(nèi)預(yù)測,可以使用預(yù)定預(yù)測方向和預(yù)測模式值。
當(dāng)用于當(dāng)前塊的預(yù)測模式是幀內(nèi)模式時,除了內(nèi)預(yù)測模式之外,編碼設(shè)備和解碼設(shè)備可以使用內(nèi)脈沖代碼調(diào)制(i_pcm)模式用于無損編碼。當(dāng)將i_pcm模式應(yīng)用到當(dāng)前塊時,在沒有預(yù)測、變換和/或量化的情形下,編碼設(shè)備可以將當(dāng)前塊中的像素值依照原樣傳輸?shù)浇獯a設(shè)備。此處,例如以光柵掃描順序編譯當(dāng)前塊中的像素值,并且傳輸?shù)浇獯a設(shè)備。解碼設(shè)備可以對i_pcm模式應(yīng)用塊不執(zhí)行預(yù)測、逆掃描、逆變換和/或去量化。此處,解碼設(shè)備可以解析從編碼設(shè)備傳輸?shù)南袼刂?,以及從被解析的像素值直接得到重建塊中的像素值。
當(dāng)使用i-pcm模式時,編碼設(shè)備可以將關(guān)于是否i-pcm模式應(yīng)用到當(dāng)前塊(例如cu)的信息傳輸?shù)浇獯a設(shè)備。例如,通過pcm標記來指示該信息。此處,pcm標記可以是指示是否i-pcm模式應(yīng)用到當(dāng)前cu,即是否當(dāng)前cu由i_pcm編譯的標記。在一個示例性實施例中,該標記可以通過pcm_flag來表示。編碼設(shè)備可以熵編碼該標記,并且將該標記傳輸?shù)浇獯a設(shè)備。此處,解碼設(shè)備可以接收和解碼被編碼的pcm標記,以及確定是否使用被解碼的pcm標記將i_pcm模式應(yīng)用到當(dāng)前cu。
如上所述,當(dāng)通過i-pcm來編譯當(dāng)前cu中的像素值時,解碼設(shè)備對當(dāng)前cu不執(zhí)行預(yù)測、逆掃描、逆變換和/或去量化。此處,解碼設(shè)備可以解析從編碼設(shè)備傳輸?shù)南袼刂?,以及從解析的像素值得到重建像素值。此處,重建像素值可以是指在?yīng)用環(huán)路濾波器之前重建的像素值。
其間,視頻信號可以通常包括表示光的三基色分量的大小的三個顏色信號。三個顏色信號可以由紅(r)、綠(g)和藍(b)表示。為了減少用于視頻處理的頻帶,可以將r、g和b信號變換成相當(dāng)于r、g和b信號的亮度和色度。此處,視頻信號可以包括一個亮度信號和兩個色度信號。此處,亮度信號是表示屏幕亮度的分量,而色度信號是表示屏幕顏色的分量。亮度信號可以由1表示,而兩個色度信號可以分別由cb和cr表示。由于人眼對亮度信號敏感但是對色度信號不敏感,所以一個圖片或塊可以包括比亮度分量的像素數(shù)目少的色度分量的像素數(shù)目。以4:2:0視頻格式,與亮度分量塊相對應(yīng)的色度分量塊的像素數(shù)目可以是水平方向的亮度分量塊的像素數(shù)目的1/2以及垂直方向的亮度分量的像素數(shù)目的1/2。
當(dāng)通過i_pcm模式來編碼當(dāng)前cu時,得到亮度分量的重建像素值的示例可以表示如下。
此處,currcodingunitsize可以表示當(dāng)前cu的大小??梢詫urrcodingunitsize初始化以滿足1<<log2cusize,其中l(wèi)og2cusize可以是當(dāng)前cu的大小的對數(shù)。此外,r'l可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前的亮度分量的重建像素值,即亮度重建像素值。(xb,yb)可以是當(dāng)前cu中的最左上像素的坐標。pcm_sample_luma可以是關(guān)于當(dāng)前cu以i_pcm模式編碼并且傳輸?shù)浇獯a設(shè)備的亮度分量的像素值。此處,例如可以以光柵掃描順序來編碼亮度分量的像素值。
當(dāng)由i_pcm模式來編碼當(dāng)前cu時,得到亮度分量的重建像素值的另一示例可以表示如下。
recsamplesl[xb+i,yb+j]=
pcm_sample_luma[(ns*j)+i]<<(bitdepthy-
pcmbitdepthy),withi,j=0..ns-1
此處,ns可以表示當(dāng)前cu的大小。ns可以被初始化以滿足1<<log2cbsize,其中l(wèi)og2cbsize可以是當(dāng)前cu的大小的對數(shù)。recsamplesl可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前的亮度分量的重建像素值,即亮度重建像素值。(xb,yb)可以是當(dāng)前cu中的最左上像素的坐標。pcm_sample_luma可以是關(guān)于當(dāng)前cu以i_pcm模式編碼并且傳輸?shù)浇獯a設(shè)備的亮度分量的像素值。此處,例如可以以光柵掃描順序編碼亮度分量的像素值。此外,pcmbitdepthy可以是用于指示與pcm_sample_luma相對應(yīng)的每個像素的比特號,以及bitdepthy可以是當(dāng)前cu中的亮度分量的像素的比特深度。
當(dāng)通過i_pcm模式編碼當(dāng)前cu時,得到色度分量的重建像素值的示例可以表達如下。
此處,currcodingunitsizec可以表示關(guān)于當(dāng)前cu的色度分量塊的大小??梢詫urrcodingunitsizec初始化以滿足(1<<log2cusize)>>1,其中l(wèi)og2cusize可以是當(dāng)前cu的大小的對數(shù)。此外,r'cb可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前的色度分量cb的重建像素值,即色度cb重建像素值。r'cr可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前的色度分量cr的重建像素值,即色度cr重建像素值。pcm_sample_chroma可以是關(guān)于當(dāng)前cu以i_pcm模式編碼并且傳輸?shù)浇獯a設(shè)備的色度分量的像素值。此處,例如可以以光柵掃描順序編碼色度分量的像素值。
當(dāng)通過i_pcm模式編碼當(dāng)前cu時,得到色度分量的重建像素值的另一示例可以表達如下。
此處,recsamplescb可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前色度分量cb的重建像素值,即色度cb重建像素值。recsamplescr可以是應(yīng)用環(huán)路濾波器(例如解塊濾波器)之前的色度分量cr的重建像素值,即色度cr重建像素值。pcm_sample_chroma可以是關(guān)于當(dāng)前cu以i_pcm模式編碼并且傳輸?shù)浇獯a設(shè)備的色度分量的像素值。此處,例如可以以光柵掃描順序編碼色度分量的像素值。此外,pcmbitdepthc可以是用于指示與pcm_sample_chroma相對應(yīng)的每個像素的比特號,以及bitdepthc可以是當(dāng)前cu中的色度分量的像素的比特深度。
根據(jù)得到重建像素值的上述方法,解碼設(shè)備可以解析從編碼設(shè)備傳輸?shù)南袼刂担⑶胰缭瓉硪粯訌?fù)制被解析的像素值(pcm_sample_luma,pcm_sample_chroma),以用作重建像素值。當(dāng)將i-pcm模式應(yīng)用到當(dāng)前cu時,編碼設(shè)備可以在沒有預(yù)測、變換和/或量化的情形下如原來一樣編譯當(dāng)前cu中的像素值,以及將該像素值傳輸?shù)浇獯a設(shè)備。因此,i_pcm模式是無損編碼模式,以及解碼設(shè)備可以解析被傳輸?shù)南袼刂?,以及從被解析的像素值直接得到重建像素值?/p>
其間,為了彌補由發(fā)生諸如量化的壓縮編碼處理的錯誤所導(dǎo)致的在原始圖片和重建圖片之間的差,環(huán)路濾波器可以應(yīng)用重建圖片。如上所述,可以通過編碼設(shè)備和解碼設(shè)備的濾波器模塊來實施環(huán)路濾波,其中濾波器模塊可以針對重建圖片來應(yīng)用解塊濾波器、sao和alf中的至少一個。
圖5是示意地示出根據(jù)本發(fā)明的示例性實施例的解塊濾波處理的流程圖。
如上所述,編碼設(shè)備和解碼設(shè)備可以基于塊單元來重建視頻。當(dāng)基于塊單元來重建視頻時,塊失真可以發(fā)生在重建圖片的塊之間的邊界上。因此,編碼設(shè)備和解碼設(shè)備可以使用解塊濾波器,以去除發(fā)生在重建圖片中的塊之間的邊界上的塊失真。
可以將解塊濾波處理應(yīng)用到圖片內(nèi)的任何pu的邊緣和任何cu的邊緣。此處,解塊濾波處理可以不應(yīng)用到圖片的邊界上。因此,編碼設(shè)備和解碼設(shè)備可以確定將經(jīng)受解塊濾波器的區(qū)域。詳細地,編碼設(shè)備和解碼設(shè)備可以確定cu之間的邊界以及pu之間的邊界,以在關(guān)于當(dāng)前塊的信息(位置、寬度、高度、深度、大小和預(yù)測分割模式)的基礎(chǔ)上經(jīng)受當(dāng)前塊內(nèi)的解塊濾波器。
參考圖5,編碼設(shè)備和解碼設(shè)備可以基于cu之間的確定的邊界和在pu之間的確定的邊界來確定關(guān)于塊之間的邊界和/或塊的邊緣的邊界強度(bs)(s510)。此處,bs可以表示塊之間的邊界強度。在下文說明中,為了方便,一個塊的“邊緣”可以表示塊之間的“邊界”,除非另外說明。
一個圖片可以包括塊失真容易發(fā)生的區(qū)域和塊失真幾乎不發(fā)生的區(qū)域。因此,編碼設(shè)備和解碼設(shè)備可以在考慮到塊失真發(fā)生的可能性的情況下來確定關(guān)于塊之間的邊界的bs,以便增加編碼效率。例如,在塊p和塊q之間的邊界(塊邊緣)的bs值被計算的情況下,編碼設(shè)備和解碼設(shè)備可以基于是否將解塊濾波器應(yīng)用到邊界、塊邊緣的方向、塊的位置和/或在幀內(nèi)模式中是否塊p和塊q被編碼來確定關(guān)于該邊界的bs值。
此處,下文將提及,編碼設(shè)備和解碼設(shè)備在相同圖片內(nèi)的具有塊失真發(fā)生高可能性的區(qū)域的邊界和具有塊失真發(fā)生的低可能性的區(qū)域的邊界上,以不同方法執(zhí)行過濾,從而提高編碼效率。
當(dāng)bs被確定時,編碼設(shè)備和解碼設(shè)備可以確定是否執(zhí)行過濾(s520)。
在塊p和塊q之間的邊界(塊邊緣)的bs值被計算的情形下,編碼設(shè)備和解碼設(shè)備可以基于在塊p內(nèi)的采樣線和塊q內(nèi)的采樣線之間的線性來確定是否執(zhí)行過濾。
此處,編碼設(shè)備和解碼設(shè)備可以基于塊p內(nèi)的采樣線的像素值、塊q內(nèi)的采樣線的像素值和變量β來確定是否執(zhí)行濾波。編碼設(shè)備可以使用塊p中的采樣線的像素值和塊q中的采樣線的像素值、根據(jù)預(yù)設(shè)方法來執(zhí)行計算,從而得到正變量d。此處,當(dāng)變量d小于變量β時,編碼設(shè)備可以確定執(zhí)行濾波。此處,可以基于當(dāng)前cu的量化參數(shù)(qp)來確定變量β。變量β隨著qp增加而變得更大。例如,當(dāng)qp是0時,可以將變量β確定為0。因此,在當(dāng)前cu的qp是0時,變量d總是等于或大于變量β,并且因此編碼設(shè)備和解碼設(shè)備可以確定不執(zhí)行濾波。
返回圖5,編碼設(shè)備和解碼設(shè)備可以根據(jù)bs值和是否執(zhí)行濾波的確定來執(zhí)行解塊濾波(s530)。
編碼設(shè)備和解碼設(shè)備可以基于確定的bs值來確定用于塊之間的邊界和/或塊的邊緣的濾波器。該濾波器可以分成強濾波器和弱濾波器。即,編碼設(shè)備和解碼設(shè)備可以將強濾波器或弱濾波器確定為用于塊之間的邊界和/或塊的邊緣的濾波器。此處,編碼設(shè)備和解碼設(shè)備在相同圖片中的具有發(fā)生塊失真的高可能性的區(qū)域的邊界和具有發(fā)生塊失真的低可能性的區(qū)域邊界上,以不同方法執(zhí)行濾波,從而提高編碼效率。
當(dāng)在確定是否執(zhí)行濾波的步驟s520中確定執(zhí)行濾波時,編碼設(shè)備可以使用確定的濾波器(例如,強濾波器或弱濾波器),在塊之間的邊界和/或塊的邊緣上執(zhí)行解塊濾波。
其間,編碼設(shè)備和解碼設(shè)備可以在以i_pcm模式編碼的塊中,不對像素執(zhí)行解塊濾波。例如,當(dāng)以i_pcm模式編碼當(dāng)前cu時,編碼設(shè)備和解碼設(shè)備可以在當(dāng)前cu中省略解塊濾波處理。如上所述,當(dāng)i_pcm模式被應(yīng)用時,在沒有預(yù)測、變換和/或量化的情形下,編碼設(shè)備可以將當(dāng)前塊中的像素值如原來一樣傳輸?shù)浇獯a設(shè)備。此處,解碼設(shè)備可以根據(jù)從編碼設(shè)備傳輸?shù)南袼刂祦淼玫脚c原始數(shù)據(jù)中的像素值相同的重建像素值。因此,為了重建具有最佳質(zhì)量的視頻,環(huán)路濾波(例如解塊濾波、sao和alf)處理會需要省略。
在一個示例性實施例中,在通過i_pcm編碼當(dāng)前cu時,編碼設(shè)備和解碼設(shè)備可以在確定是否執(zhí)行濾波的步驟s520中來確定對cu中的像素不執(zhí)行解塊濾波。為此,編碼設(shè)備和解碼設(shè)備可以假定當(dāng)前cu的qp是0并且確定變量β。此處,可以將變量β確定為0,并且編碼設(shè)備和解碼設(shè)備可以確定不執(zhí)行濾波。即,在該情形下,編碼設(shè)備和解碼設(shè)備可以省略解塊濾波處理。此處,例如基于pcm標記可以確定是否當(dāng)前cu由i_pcm編碼。
在另一示例性實施例中,編碼設(shè)備和解碼設(shè)備可以確定關(guān)于i_pcm模式(例如cu)中編碼的塊中的像素的未經(jīng)受解塊濾波的重建像素值,作為解塊濾波處理中的最終像素值。因此,編碼設(shè)備和解碼設(shè)備可以省略解塊濾波處理。在下文,在i_pcm模式中編碼的塊被稱為i_pcm塊。
此處,可以基于pcm回路濾波器標記來確定是否關(guān)于i_pcm塊的未經(jīng)受解塊濾波的重建像素值被確定為最終像素值。pcm回路濾波器標記可以是指示是否將環(huán)路濾波器應(yīng)用到i_pcm塊的標記。在一個示例性實施例中,該標記可以是pcm_loop_filter_disable_flag。編碼設(shè)備可以將關(guān)于視頻序列的pcm回路濾波器標記信息傳輸?shù)浇獯a設(shè)備,以及解碼設(shè)備可以基于傳輸?shù)膒cm回路濾波器標記信息來確定是否應(yīng)用解塊濾波器。
其間,如上所述,除了解塊濾波器之外,編碼設(shè)備和解碼設(shè)備的濾波器模塊可以采用sao濾波器作為環(huán)路濾波器。sao濾波可以是通過像素單位來補償解塊濾波圖像與原始圖片不同的偏移。sao濾波將補償可以由量化導(dǎo)致的編譯錯誤。可以將sao分類成兩種類型,其是帶偏移和邊緣偏移。
圖6是示意地示出帶偏移的圖。
為了應(yīng)用帶偏移,根據(jù)每個像素的強度,可以對sao應(yīng)用單元中的像素進行分類。可以將整個強度范圍分成諸如帶的預(yù)定數(shù)目的強度間隔。每個帶可以包括具有每個強度間隔內(nèi)的強度的像素。此處,可以為每個帶確定偏移。
由n-比特像素形成的視頻可以具有0至2n-1的強度范圍。例如,8-比特像素可以具有0至255的強度范圍。圖6示出被分成具有相同強度間隔的32個帶的整個強度范圍。
參考圖6,每個帶具有例如8的強度范圍??梢詫?2個帶分成中心第一組和相鄰第二組。第一組可以包括16個帶,并且第二組也可以包括16個帶。偏移可以應(yīng)用到每個帶,以及可以將用于每個帶的偏移值傳輸?shù)浇獯a設(shè)備。
解碼設(shè)備可以分組像素,以及以與編碼設(shè)備應(yīng)用帶偏移的相同方式將傳輸?shù)钠浦祽?yīng)用到每個帶。
第二sao類型是通過像素考慮邊緣信息的邊緣偏移模式?;诋?dāng)前像素、以及當(dāng)前像素和相鄰像素的強度,可以在考慮邊緣方向的情況下應(yīng)用邊緣偏移模式。
在塊中存在四個典型方向性邊緣。四個方向性邊緣可以包括例如0-度邊緣、90-度邊緣、135-度邊緣和45-度邊緣。因此,可以使用基于邊緣的角度或方向的用于每個濾波單元的邊緣偏移,即用于sao應(yīng)用單元的四個類型。在下文,為了描述方便,用于sao應(yīng)用單元的四種邊緣可以被稱為邊緣偏移的邊緣類型。
圖7是示出基于當(dāng)前像素(c)的邊緣偏移的四個典型邊緣類型的框圖。參考圖7,(a)是一維(1d)0-度邊緣,(b)是1d90-度邊緣,(c)是1d135-度邊緣,以及(d)是1d45-度邊緣?;趫D7中示出的四個方向性邊緣類型可以使用四個邊緣偏移。即,與四個邊緣類型之一相對應(yīng)的偏移可以應(yīng)用到每個sao應(yīng)用單元。
當(dāng)邊緣類型被確定時,可以考慮當(dāng)前像素和相鄰像素之間的關(guān)系,以應(yīng)用邊緣偏移。
圖8示意地示出將比較當(dāng)前像素和相鄰像素的強度的結(jié)果分成四個類別。
圖8(a)至8(b)示出在各個類別中的當(dāng)前像素(c)和相鄰像素的分布。圖8(a)示出當(dāng)相鄰像素的強度大于當(dāng)前像素(c)的強度時的類別。圖8(b)示出當(dāng)兩個相鄰像素之一的強度小于當(dāng)前像素的強度時的類別。圖8(c)示出當(dāng)兩個相鄰像素之一的強度大于當(dāng)前像素的強度時的類別。圖8(d)示出當(dāng)兩個相鄰像素的強度小于當(dāng)前像素強度時的類別。
例如,圖8(a)和8(d)示出當(dāng)前像素的強度大于或小于相鄰像素的強度。此外,圖8(b)和8(c)可以在當(dāng)前像素位于特定區(qū)域的邊界上時發(fā)生。
表1示意地示出圖8中示出的四個類別。
[表1]
在表1中,c表示當(dāng)前像素。此外,類別1與圖8(a)相對應(yīng),類別2與圖8(b)相對應(yīng),類別3與圖8(c)相對應(yīng),以及類別4與圖8(d)相對應(yīng)。
編碼設(shè)備可以傳輸每個類別中的邊緣偏移值。解碼設(shè)備可以添加每個像素以及與邊緣類型和類別相對應(yīng)的邊緣偏移值,以重建像素。例如,解碼設(shè)備可以確定在圖7的四個邊緣類型之中當(dāng)前像素屬于哪個模式以及在表1的類別之中當(dāng)前像素屬于哪個類別,以及將相應(yīng)類別中的偏移應(yīng)用到當(dāng)前像素。
其間,sao處理是對整個條帶(slice)和/或圖片執(zhí)行的處理。如果i_pcm模式被應(yīng)用到當(dāng)前cu,則在沒有預(yù)測、變換和/或量化的情形下,編碼設(shè)備可以將當(dāng)前cu中的像素值如原來一樣傳輸?shù)浇獯a設(shè)備。此處,由于解碼設(shè)備可以根據(jù)從編碼設(shè)備傳輸?shù)南袼刂祦淼玫脚c原始數(shù)據(jù)相同的重建像素值,所以不執(zhí)行sao處理會更有效。
因此,在sao應(yīng)用處理期間,編碼設(shè)備和解碼設(shè)備可以對以i_pcm模式編碼的塊中的像素不執(zhí)行sao處理。即,編碼設(shè)備和解碼設(shè)備可以省略對i_pcm塊中的像素的sao處理?;谠搲K是否處于i_pcm模式中的sao處理的省略,可以應(yīng)用到帶偏移類型和邊緣偏移類型中的至少一個。此處,可以基于例如pcm標記和/或pcm回路濾波器標記來確定是否應(yīng)用sao。
例如,編碼設(shè)備和解碼設(shè)備可以確定不對以i_pcm模式編碼的塊中的像素執(zhí)行sao處理。此外,編碼設(shè)備和解碼設(shè)備可以在關(guān)于以i_pcm模式編碼的塊中的像素的sao處理中,將未經(jīng)受sao的重建像素值確定為最終像素值。
其間,如上所述,除了解塊濾波器和sao之外,編碼設(shè)備和解碼設(shè)備的濾波器模塊也可以將alf采用為環(huán)路濾波器。alf可以基于通過將經(jīng)由解塊濾波和/或sao濾波的重建圖片和原始圖片進行比較所獲得的值來執(zhí)行濾波。
圖9是示意地示出根據(jù)本發(fā)明的示例性實施例的適應(yīng)性回路濾波處理的流程圖。
alf可以使用維納(wiener)濾波器來補償編譯錯誤,以及在條帶中全球地應(yīng)用。alf可以在sao應(yīng)用之后被應(yīng)用以及僅以高效率(he)被應(yīng)用。
參考圖9,編碼設(shè)備和解碼設(shè)備可以確定是否應(yīng)用適應(yīng)性回路濾波(s910)。
關(guān)于是否執(zhí)行濾波的信息可以被包括在比特流中,以及從編碼設(shè)備傳輸?shù)浇獯a設(shè)備。例如,編碼設(shè)備可以將指示是否對每個cu執(zhí)行適應(yīng)性回路濾波的alf標記信息傳輸?shù)浇獯a設(shè)備。此處,alf標記信息可以是指示是否對當(dāng)前cu執(zhí)行適應(yīng)性回路濾波和由例如alf_cu_flag表示的標記。即,alf標記信息可以是關(guān)于alf的cu單元打開/關(guān)閉信息。解碼設(shè)備可以使用傳輸?shù)腶lf標記信息來確定是否將alf應(yīng)用到每個cu單元。
關(guān)于是否執(zhí)行濾波的信息可以包括cu-單元控制標記信息。即,編碼設(shè)備可以包括比特流中的cu-單元控制標記信息,以將該信息傳輸?shù)浇獯a設(shè)備。此處,cu-單元控制標記可以是確定是否通過每個cu執(zhí)行濾波,即指示是否alf適應(yīng)性地應(yīng)用到每個cu的標記。例如,cu-單元控制標記可以由alf_cu_control_flag表示。
例如,alf_cu_control_flag具有1的值,編碼設(shè)備和解碼設(shè)備可以基于alf標記的值(例如alf_cu_flag)來確定是否將alf應(yīng)用到當(dāng)前cu。即,當(dāng)alf_cu_control_flag具有1的值時,編碼設(shè)備和解碼設(shè)備可以基于alf標記的值、通過cu來打開/關(guān)閉alf處理。當(dāng)alf_cu_control_flag具有0的值時,與alf_cu_control_flag相對應(yīng)的cu可以不具有alf標記信息。即,不存在關(guān)于alf的cu-單元打開/關(guān)閉信息。
其間,編碼設(shè)備和解碼設(shè)備可以不對i_pcm模式中編碼的塊中的像素執(zhí)行alf處理。即,以i_pcm模式編碼當(dāng)前cu,編碼設(shè)備和解碼設(shè)備可以省略對當(dāng)前cu中的像素的alf處理。如上所述,當(dāng)應(yīng)用i_pcm模式時,在沒有預(yù)測、變換和/或量化的情形下,編碼設(shè)備可以將當(dāng)前cu中的像素值如原來一樣傳輸?shù)浇獯a設(shè)備。此處,解碼設(shè)備可以根據(jù)從編碼設(shè)備傳輸?shù)南袼刂祦淼玫脚c原始數(shù)據(jù)的像素值相同的重建像素值。因此,可以省略環(huán)路濾波(例如解塊濾波、sao和alf)以重建具有最佳質(zhì)量的視頻。
在一個實施例中,當(dāng)以i_pcm模式編碼當(dāng)前cu時,編碼設(shè)備和解碼設(shè)備可以確定對cu中的像素不執(zhí)行alf處理。此處,可以基于例如pcm標記和pcm回路濾波器標記來確定是否在i_pcm模式中編碼當(dāng)前cu。已經(jīng)在上文描述了pcm標記和pcm回路濾波器標記,以及在此省略其描述。
當(dāng)以i_pcm模式編碼當(dāng)前cu時,編碼設(shè)備和解碼設(shè)備可以根據(jù)不同方法、基于cu-單元控制標記(例如alf_cu_control_flag,在下文稱為“alf_cu_control_flag”)來確定是否應(yīng)用alf。
如上所述,當(dāng)alf_cu_control_flag具有1的值時,編碼設(shè)備和解碼設(shè)備可以基于alf標記的值(例如alf_cu_flag,在下文稱為“alf_cu_flag”)來確定是否將alf應(yīng)用到當(dāng)前cu。此處,編碼設(shè)備可以將0的值分配到關(guān)于在i_pcm模式中編碼的cu的alf_cu_flag,以將alf_cu_flag傳輸?shù)浇獯a設(shè)備。在該情形下,解碼設(shè)備可以基于alf_cu_flag的值來確定是否應(yīng)用alf,從而省略對i_pcm模式中編碼的cu的alf處理??商孢x地,當(dāng)alf_cu_control_flag具有1的值時,編碼設(shè)備和解碼設(shè)備可以忽略alf_cu_flag的值和關(guān)于在i_pcm模式中編碼的cu的alf處理。
當(dāng)alf_cu_control_flag標記具有0的值時,與alf_cu_control_flag相對應(yīng)的cu可以不具有alf標記信息。即,不存在關(guān)于alf的cu-單元打開/關(guān)閉信息。此處,編碼設(shè)備和解碼設(shè)備可以推斷關(guān)于i_pcm模式中編碼的cu的alf_cu_flag的值是0,并且省略alf處理。
返回圖9,編碼設(shè)備和解碼設(shè)備可以確定濾波器形狀和濾波器系數(shù)(s920)。
當(dāng)alf處理被確定為要被執(zhí)行時,編碼設(shè)備和解碼設(shè)備可以確定濾波器形狀和濾波器系數(shù)??梢酝ㄟ^條帶報頭將關(guān)于濾波器形狀和/或濾波器系數(shù)的信息從編碼設(shè)備傳輸?shù)浇獯a設(shè)備。例如,濾波器系數(shù)可以在編碼設(shè)備中被計算,其中可以提供一個或多個濾波器系數(shù)。
當(dāng)濾波器形狀和濾波器系數(shù)被確定時,編碼設(shè)備和解碼設(shè)備可以基于確定的濾波器形狀和濾波器系數(shù)來對重建圖片的像素執(zhí)行適應(yīng)性回路濾波(s930)。此處,重建圖片可以是已經(jīng)經(jīng)歷解塊濾波和/或sao處理的視頻。
圖10是示意地示出應(yīng)用本發(fā)明的系統(tǒng)中的編碼設(shè)備的操作的流程圖。
參考圖10,編碼設(shè)備可以重建塊(s1010)。例如,編碼設(shè)備可以變換、量化預(yù)測塊、以及去量化和逆變換基于預(yù)測塊和當(dāng)前塊產(chǎn)生的殘留塊,從而產(chǎn)生重建殘留塊。編碼設(shè)備可以基于重建殘留塊和預(yù)測塊來產(chǎn)生重建塊??商孢x地,當(dāng)i_pcm模式應(yīng)用到當(dāng)前塊時,編碼設(shè)備可以不執(zhí)行預(yù)測、變換和/或量化。此處,編碼設(shè)備如原來一樣編譯當(dāng)前塊中的像素值,以將該像素值傳輸?shù)浇獯a設(shè)備以及從當(dāng)前塊中的像素值直接地產(chǎn)生重建塊。
隨后,編碼設(shè)備可以將環(huán)路濾波器應(yīng)用到重建塊(s1020)。環(huán)路濾波器可以在圖1的濾波器模塊中使用,其中濾波器模塊可以采用解塊濾波器、sao或alf。此處,編碼設(shè)備可以不將解塊濾波器、sao和alf中的至少一個應(yīng)用到以i_pcm模式編碼的塊和/或i_pcm塊中的像素,其已經(jīng)在上文中詳細描述。
編碼設(shè)備可以將包括解塊濾波器、sao和/或alf應(yīng)用視頻信息和關(guān)于環(huán)路濾波器的視頻信息傳輸?shù)浇獯a設(shè)備(s1030)。
圖11是示意地示出本發(fā)明應(yīng)用的系統(tǒng)中的解碼設(shè)備的操作的流程圖。
參考圖11,解碼設(shè)備從編碼設(shè)備接收比特流(s1110)。接收的比特流可以不僅包括視頻信號,而且包括重建視頻信息所需要的信息。
解碼設(shè)備可以基于接收的信息來重建塊(s1120)。例如,解碼設(shè)備可以基于通過預(yù)測產(chǎn)生的預(yù)測塊以及經(jīng)由去量化和逆變換產(chǎn)生的殘留塊來產(chǎn)生重建塊??商孢x地,當(dāng)將i_pcm模式應(yīng)用到當(dāng)前塊時,解碼設(shè)備可以不執(zhí)行預(yù)測、變換和/或量化。此處,編碼設(shè)備可以如原來一樣編譯當(dāng)前塊中的像素值,以將像素值傳輸?shù)浇獯a設(shè)備,同時解碼設(shè)備可以從傳輸?shù)南袼刂祦碇苯赢a(chǎn)生重建塊。
隨后,解碼設(shè)備可以將環(huán)路濾波器應(yīng)用到重建塊(s1130)。環(huán)路濾波器可以用于圖3的濾波器模塊,其中濾波器模塊可以采用解塊濾波器、sao或alf。此處,解碼設(shè)備可以不將解塊濾波器、sao和alf中的至少一個應(yīng)用到以i_pcm模式編碼的塊和/或i_pcm塊中的像素,其已經(jīng)在上文中詳細描述。
在如上文已經(jīng)描述的環(huán)路濾波處理中,編碼設(shè)備和解碼設(shè)備可以針對通過解塊濾波器、sao和alf分別產(chǎn)生的輸出進行剪切和/或舍入(rounding)的處理。此處,剪切可以表示將隨機值切割成特定范圍內(nèi)的值的處理。例如,剪切操作可以由clip3(x,y,z)表示。此處,當(dāng)z小x時,clip3(x,y,z)可以具有x;當(dāng)z大于y時,clip3(x,y,z)可以具有y。否則,clip3(x,y,z)具有z。剪切處理可以將分別經(jīng)由解塊濾波器、sao和alf的輸出限制成特定范圍內(nèi)的值。
在一個實施例中,假定用于指示輸入視頻的每個像素的比特號,即比特深度為8比特。此處,編碼設(shè)備和解碼設(shè)備可以執(zhí)行解塊濾波,然后執(zhí)行將每個解塊濾波的像素值剪切成8-比特范圍內(nèi)的值。此外,編碼設(shè)備和解碼設(shè)備可以執(zhí)行sao處理,然后執(zhí)行將每個sao應(yīng)用像素值剪切成8-比特范圍內(nèi)的值。同樣地,編碼設(shè)備和解碼設(shè)備可以執(zhí)行alf處理,然后執(zhí)行將每個alf應(yīng)用像素值剪切成8-比特范圍內(nèi)的值。
如上所述,可以應(yīng)用關(guān)于所有解塊濾波器、sao和alf的剪切處理??商孢x地,在沒有限制上述實施例的情形下,可以應(yīng)用關(guān)于解塊濾波器、sao和alf中的一些的剪切處理。
多個剪切和/或舍入處理可以使能經(jīng)由解塊濾波器、sao和alf的輸出,以被限制到8-比特范圍內(nèi)的值。然而,剪切和/或舍入處理可以導(dǎo)致輸出精確度的損失以及減少編譯效率。因此,可以提供環(huán)路濾波處理,以去除不必要的剪切處理。
圖12是示意地示出根據(jù)本發(fā)明的示例性實施例的環(huán)路濾波處理的流程圖。
如上所述,編碼設(shè)備和解碼設(shè)備可以將環(huán)路濾波器應(yīng)用到重建圖片。應(yīng)用到重建圖片的環(huán)路濾波器可以包括解塊濾波器、sao和alf中的至少一個。
編碼設(shè)備和解碼設(shè)備可以在環(huán)路濾波的每個處理(解塊濾波、sao和alf)中執(zhí)行剪切。在該情形下,然而,輸出精確度的損失和編譯效率的降低會被涉及。因此,編碼設(shè)備和解碼設(shè)備可以僅在最終處理和/或環(huán)路濾波中執(zhí)行剪切。在這種情況下,剪切可以不在其他濾波處理中執(zhí)行,而是在最終濾波處理中執(zhí)行。例如,當(dāng)所有解塊濾波、sao和alf應(yīng)用到重建圖片時,編碼設(shè)備和解碼設(shè)備可以在解塊濾波和sao處理中不執(zhí)行剪切,而是經(jīng)由alf處理僅對像素執(zhí)行剪切。在該情形下,最終輸出值也可以被限制到特定范圍內(nèi)的值。
參考圖12,編碼設(shè)備和解碼設(shè)備可以產(chǎn)生重建圖片(s1210)。
可以通過由每個塊單元產(chǎn)生重建塊來產(chǎn)生重建圖片。例如,編碼設(shè)備和解碼設(shè)備可以基于通過預(yù)測產(chǎn)生的預(yù)測塊和經(jīng)由去量化和逆變換重建的殘留塊來產(chǎn)生重建塊??商孢x地,編碼設(shè)備和解碼設(shè)備可以對應(yīng)用i_pcm模式的塊不執(zhí)行預(yù)測、變換和/或量化。此處,編碼設(shè)備可以如原來一樣編譯在i_pcm塊中的像素值,以將像素值傳輸?shù)浇獯a設(shè)備,以及從i_pcm塊中的像素值來直接地產(chǎn)生重建塊。此外,解碼設(shè)備可以根據(jù)從編碼設(shè)備傳輸?shù)南袼刂祦碇苯拥禺a(chǎn)生重建塊。
當(dāng)重建圖片產(chǎn)生時,編碼設(shè)備和解碼設(shè)備可以確定是否應(yīng)用sao(s1220)。
例如,關(guān)于是否應(yīng)用sao的信息可以在編碼設(shè)備中編碼以及傳輸?shù)浇獯a設(shè)備。此處,解碼設(shè)備可以使用傳輸?shù)男畔泶_定是否應(yīng)用sao。此外,如上所述,編碼設(shè)備和解碼設(shè)備可以不對以i_pcm模式編碼的塊中的像素執(zhí)行sao處理。因此,編碼設(shè)備和解碼設(shè)備可以確定不對例如以i_pcm模式編碼的塊中的像素執(zhí)行sao處理。
當(dāng)sao不被應(yīng)用時,編碼設(shè)備和解碼設(shè)備可以執(zhí)行解塊濾波,然后對每個解塊濾波像素值執(zhí)行剪切(s1230)。此處,經(jīng)由剪切的像素值可以是環(huán)路濾波處理的最終輸出值。當(dāng)剪切完成時,環(huán)路濾波處理可以終止。
當(dāng)應(yīng)用sao時,編碼設(shè)備和解碼設(shè)備可以執(zhí)行解塊濾波,以及不執(zhí)行剪切(s1240)。當(dāng)應(yīng)用sao時,解塊濾波處理不是環(huán)路濾波處理的最終階段。因此,可以省略在解塊濾波處理中的剪切,以防止輸出精確度的損失和降低編譯效率。
當(dāng)應(yīng)用sao時,編碼設(shè)備和解碼設(shè)備可以確定是否在實施解塊濾波之后應(yīng)用alf(s1250)。
例如,關(guān)于是否應(yīng)用alf的信息可以被包括在比特流中,以及從編碼設(shè)備傳輸?shù)浇獯a設(shè)備。此處,解碼設(shè)備可以使用傳輸?shù)男畔泶_定是否應(yīng)用alf。此處,如上所述,編碼設(shè)備和解碼設(shè)備可以不對以i_pcm模式編碼的塊中的像素執(zhí)行alf處理。因此,在以i_pcm模式編碼當(dāng)前cu時,編碼設(shè)備和解碼設(shè)備可以確定不將alf應(yīng)用到cu中的像素,其已經(jīng)在上文中詳細描述并且在此不反復(fù)提及。
當(dāng)不應(yīng)用alf時,編碼設(shè)備和解碼設(shè)備可以在sao處理之后對每個sao應(yīng)用像素執(zhí)行剪切(s1260)。此處,經(jīng)由剪切的每個像素值可以是環(huán)路濾波處理的最終輸出值。當(dāng)完成剪切時,環(huán)路濾波處理可以終止。
當(dāng)應(yīng)用alf時,編碼設(shè)備和解碼設(shè)備可以執(zhí)行sao處理并且不執(zhí)行剪切(s1270)。當(dāng)應(yīng)用alf時,sao處理不是環(huán)路濾波處理的最終階段。因此,可以省略sao處理中的剪切,以防止輸出精確度的損失和編譯效率降低。
此處,執(zhí)行sao處理之后,編碼設(shè)備和解碼設(shè)備可以執(zhí)行alf處理以及對每個alf應(yīng)用像素值執(zhí)行剪切(s1280)。此處,經(jīng)由剪切的每個像素值可以是環(huán)路濾波處理的最終輸出值。當(dāng)剪切完成時,環(huán)路濾波處理可以終止。
盡管基于包括一系列步驟或塊的流程已經(jīng)描述了上述示例性實施例中的方法時,但是本發(fā)明不限于這些步驟的順序,以及一些步驟可以以與上述不同的階段或不同順序或同時來執(zhí)行。此外,應(yīng)該注意的是,不限制在這些流程圖中指示的步驟,而是在不脫離本發(fā)明的范圍的情形下,其他步驟可以被包括或者在流程圖中的一個或多個步驟可以被刪除。
此外,上述實施例包括各種形式的示例。雖然沒有示出所有可能的組合以描述各種示例性實施例,但是本領(lǐng)域的技術(shù)人員應(yīng)該理解的是,各種組合是可能的。因此,本發(fā)明應(yīng)當(dāng)被解釋為包括落入在權(quán)利要求的范圍內(nèi)的所有其他替代、修改和改變。