本發(fā)明涉及視頻編碼方法和視頻解碼方法,更具體地,涉及使用幀內(nèi)預(yù)測(cè)方法的視頻編碼和解碼方法。
背景技術(shù):
隨著不斷開發(fā)和供應(yīng)用于再現(xiàn)和存儲(chǔ)高分辨率或高質(zhì)量視頻內(nèi)容的硬件,針對(duì)用于將高分辨率或高質(zhì)量視頻內(nèi)容高效編碼或解碼的視頻編解碼器的需求逐漸增長。根據(jù)傳統(tǒng)的視頻編解碼器,基于具有樹形結(jié)構(gòu)的編碼單元來根據(jù)有限編碼方法對(duì)視頻進(jìn)行編碼。
經(jīng)由頻率轉(zhuǎn)換將空間區(qū)域的圖像數(shù)據(jù)轉(zhuǎn)換成頻率區(qū)域的系數(shù)。根據(jù)視頻編解碼器,將圖像分割成具有預(yù)定尺寸的塊,在每個(gè)塊上執(zhí)行離散余弦變換(dct),并且以塊為單位對(duì)頻率系數(shù)進(jìn)行編碼,以便快速計(jì)算頻率轉(zhuǎn)換。與空間區(qū)域的圖像數(shù)據(jù)相比,頻率區(qū)域的系數(shù)容易被壓縮。具體而言,由于根據(jù)視頻編解碼器的幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)的預(yù)測(cè)誤差來表達(dá)空間區(qū)域的圖像像素值,因此,當(dāng)在預(yù)測(cè)誤差上執(zhí)行頻率轉(zhuǎn)換時(shí),可能將大量的數(shù)據(jù)轉(zhuǎn)換成0。通過用小尺寸的數(shù)據(jù)來替換連續(xù)且重復(fù)生成的數(shù)據(jù),可以減少圖像數(shù)據(jù)量。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
為了增加視頻編碼/解碼效率,提供一種能夠改變預(yù)測(cè)單元與變換單元之間的關(guān)系的幀內(nèi)預(yù)測(cè)方法。
技術(shù)解決方案
根據(jù)實(shí)施例的一方面,視頻解碼方法包括:確定與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)相對(duì)應(yīng)的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式;基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本;通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及基于預(yù)測(cè)值來重建當(dāng)前下部塊,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
上部塊可以是編碼單元,并且多個(gè)下部塊可以是編碼單元中包括的預(yù)測(cè)單元。
確定參考樣本可以包括將與上部塊相鄰的所有樣本確定為參考樣本。
確定參考樣本可以包括將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。
視頻解碼方法還可以包括獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記,其表明是否基于與上部塊相鄰的樣本來確定參考樣本。
確定參考樣本可以包括:如果上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明參考樣本被確定為與上部塊相鄰的樣本,那么將與上部塊相鄰的樣本確定為當(dāng)前下部塊的參考樣本。
獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記可以包括針對(duì)上部塊或者上部塊的上部視頻數(shù)據(jù)來獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
可以通過在上部塊中包括的所有下部塊上執(zhí)行確定幀內(nèi)預(yù)測(cè)模式、確定參考樣本以及確定預(yù)測(cè)值來預(yù)測(cè)上部塊。
當(dāng)前下部塊和在上部塊中包括的其他下部塊可以彼此并行地預(yù)測(cè)和重建。
視頻解碼方法還可以包括將平滑濾波器應(yīng)用到與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰的樣本。
根據(jù)實(shí)施例的另一方面,視頻解碼設(shè)備包括:幀內(nèi)預(yù)測(cè)模式確定器,其被配置成確定與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)相對(duì)應(yīng)的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式;參考樣本確定器,其被配置成基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本;預(yù)測(cè)器,其被配置成通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及重建器,其被配置成基于預(yù)測(cè)值來重建當(dāng)前下部塊,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
上部塊可以是編碼單元,并且多個(gè)下部塊可以是編碼單元中包括的預(yù)測(cè)單元。
參考樣本確定器可以將與上部塊相鄰的所有樣本確定為參考樣本。
參考樣本確定器可以將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。
視頻解碼設(shè)備還可以包括上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記獲取器,其用于獲取表明是否基于與上部塊相鄰的樣本來確定參考樣本的上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
如果上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明參考樣本被確定為與上部塊相鄰的樣本,那么參考樣本確定器可以將與上部塊相鄰的樣本確定為當(dāng)前下部塊的參考樣本。
上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記獲取器可以針對(duì)上部塊或者上部塊的上部視頻數(shù)據(jù)來獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
可以通過在上部塊中包括的所有下部塊上執(zhí)行幀內(nèi)預(yù)測(cè)模式確定器、參考樣本確定器和預(yù)測(cè)器的功能來預(yù)測(cè)上部塊。
當(dāng)前下部塊和在上部塊中包括的其他下部塊可以彼此并行地預(yù)測(cè)。
視頻解碼設(shè)備還可以包括邊界濾波器,其用于將平滑濾波器應(yīng)用到與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰的樣本。
根據(jù)實(shí)施例的另一方面,視頻編碼方法包括:確定與上部塊相鄰的樣本之中的、上部塊中包括的當(dāng)前下部塊的參考樣本;確定當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,該幀內(nèi)預(yù)測(cè)模式針對(duì)參考樣本進(jìn)行優(yōu)化;通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
根據(jù)實(shí)施例的另一方面,視頻編碼設(shè)備包括:參考樣本確定器,其被配置成確定與上部塊相鄰的樣本之中的、上部塊中包括的當(dāng)前下部塊的參考樣本;幀內(nèi)預(yù)測(cè)模式確定器,其被配置成確定當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,該幀內(nèi)預(yù)測(cè)模式針對(duì)參考樣本進(jìn)行優(yōu)化;預(yù)測(cè)器,其被配置成通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及編碼器,其用于基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
根據(jù)實(shí)施例的另一方面,一種計(jì)算機(jī)可讀記錄介質(zhì)在其上記錄有計(jì)算機(jī)程序,該計(jì)算機(jī)程序用于執(zhí)行視頻解碼方法和視頻編碼方法。
本發(fā)明的有益效果
通過將與編碼單元相鄰的樣本用作參考樣本,可以彼此獨(dú)立且并行地預(yù)測(cè)編碼單元中包括的預(yù)測(cè)單元。此外,預(yù)測(cè)單元的預(yù)測(cè)可以獨(dú)立于變換單元的變換并且與之并行地執(zhí)行。此外,無論變換單元的形式如何,預(yù)測(cè)單元都可以具有多種形式。
由于上述效果,視頻編碼/解碼效率得以提供。
附圖說明
圖1a示出根據(jù)實(shí)施例的基于具有樹形結(jié)構(gòu)的編碼單元的視頻編碼設(shè)備的框圖。
圖1b示出根據(jù)實(shí)施例的基于具有樹形結(jié)構(gòu)的編碼單元的視頻解碼設(shè)備的框圖。
圖2示出根據(jù)實(shí)施例的編碼單元的概念。
圖3a示出根據(jù)實(shí)施例的基于編碼單元的視頻編碼器的框圖。
圖3b示出根據(jù)實(shí)施例的基于編碼單元的視頻解碼器的框圖。
圖4示出根據(jù)實(shí)施例的根據(jù)深度的較深編碼單元和分區(qū)。
圖5示出根據(jù)實(shí)施例的編碼單元與變換單元之間的關(guān)系。
圖6示出根據(jù)實(shí)施例的根據(jù)深度的多個(gè)編碼信息片。
圖7示出根據(jù)實(shí)施例的根據(jù)深度的較深編碼單元。
圖8、圖9和圖10示出根據(jù)實(shí)施例的編碼單元、預(yù)測(cè)單元與變換單元之間的關(guān)系。
圖11示出根據(jù)表1的編碼模式信息的,編碼單元、預(yù)測(cè)單元與變換單元之間的關(guān)系。
圖12a是根據(jù)實(shí)施例的視頻解碼設(shè)備的框圖。
圖12b是根據(jù)實(shí)施例的視頻解碼方法的流程圖。
圖13a是根據(jù)實(shí)施例的視頻編碼設(shè)備的框圖。
圖13b是根據(jù)實(shí)施例的視頻編碼方法的流程圖。
圖14a到圖14d是用于描述使用與預(yù)測(cè)單元相鄰的樣本的幀內(nèi)預(yù)測(cè)方法與使用與編碼單元相鄰的樣本的幀內(nèi)預(yù)測(cè)方法之間的差異的示意圖。
圖15是用于描述根據(jù)實(shí)施例的使用與編碼單元相鄰的樣本的幀內(nèi)預(yù)測(cè)方法的示意圖。
圖16是用于描述根據(jù)實(shí)施例的在預(yù)測(cè)單元之間應(yīng)用平滑濾波器的方法的示意圖。
具體實(shí)施方式
最佳實(shí)施方式
根據(jù)實(shí)施例的一方面,視頻解碼方法包括:確定與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)相對(duì)應(yīng)的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式;基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本;通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及基于預(yù)測(cè)值來重建當(dāng)前下部塊,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
根據(jù)實(shí)施例的另一方面,視頻解碼設(shè)備包括:幀內(nèi)預(yù)測(cè)模式確定器,其被配置成確定與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)相對(duì)應(yīng)的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式;參考樣本確定器,其被配置成基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本;預(yù)測(cè)器,其被配置成通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及重建器,其被配置成基于預(yù)測(cè)值來重建當(dāng)前下部塊,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
根據(jù)實(shí)施例的另一方面,視頻編碼方法包括:確定與上部塊相鄰的樣本之中的、上部塊中包括的當(dāng)前下部塊的參考樣本;確定當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,該幀內(nèi)預(yù)測(cè)模式針對(duì)參考樣本進(jìn)行優(yōu)化;通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
根據(jù)實(shí)施例的另一方面,視頻編碼設(shè)備包括:參考樣本確定器,其被配置成確定與上部塊相鄰的樣本之中的、上部塊中包括的當(dāng)前下部塊的參考樣本;幀內(nèi)預(yù)測(cè)模式確定器,其被配置成確定當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,該幀內(nèi)預(yù)測(cè)模式針對(duì)參考樣本進(jìn)行優(yōu)化;預(yù)測(cè)器,其被配置成通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值;以及編碼器,其用于基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼,其中從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。
本發(fā)明的實(shí)施方式
在以下描述中,“圖像”指代靜態(tài)圖像或動(dòng)態(tài)圖像,諸如,視頻?!皥D片”指代將被編碼或解碼的靜態(tài)圖像。
“樣本”指代分配到圖像的采樣位置并且將進(jìn)行處理的數(shù)據(jù)。例如,空間域中的圖像的像素可以是樣本。
幀內(nèi)預(yù)測(cè)模式指代通過使用圖片的連續(xù)性來預(yù)測(cè)圖片的樣本的預(yù)測(cè)模式。
基于位于塊的左上角的樣本來確定坐標(biāo)(x,y)。具體而言,將位于塊的左上角的樣本的坐標(biāo)確定為(0,0)。坐標(biāo)的x值在向右方向上增加,并且坐標(biāo)的y值在向下方向上增加。
圖1a是根據(jù)各種實(shí)施例的基于具有樹形結(jié)構(gòu)的編碼單元的視頻解碼設(shè)備100的框圖。
基于具有樹形結(jié)構(gòu)的編碼單元的、用于視頻預(yù)測(cè)的視頻編碼設(shè)備100包括編碼器110和輸出單元120。在下文中,為便于描述,根據(jù)實(shí)施例的基于樹形結(jié)構(gòu)的編碼單元的、涉及視頻預(yù)測(cè)的視頻編碼設(shè)備100將簡稱為“視頻編碼設(shè)備100”。
編碼器110可以基于最大編碼單元來分割當(dāng)前圖片,所述最大編碼單元是具有圖像的當(dāng)前圖片的最大尺寸的編碼單元。如果當(dāng)前圖片大于最大編碼單元,那么當(dāng)前圖片的圖像數(shù)據(jù)可以被分割成至少一個(gè)最大編碼單元。根據(jù)實(shí)施例的最大編碼單元可以是具有32×32、64×64、128×128、256×256等尺寸的數(shù)據(jù)單元,其中數(shù)據(jù)單元的形狀是具有2的平方的寬度和長度的正方形。
根據(jù)實(shí)施例的編碼單元的特征可以是最大尺寸和深度。深度表示編碼單元從最大編碼單元進(jìn)行空間分割的次數(shù),并且隨著深度加深,根據(jù)深度的較深編碼單元可以從最大編碼單元分割到最小編碼單元。最大編碼單元的深度是最高深度,并且最小編碼單元的深度是最低深度。由于對(duì)應(yīng)于每個(gè)深度的編碼單元的尺寸隨著最大編碼單元的深度加深而減小,因此,對(duì)應(yīng)于較高深度的編碼單元可以包括對(duì)應(yīng)于較低深度的多個(gè)編碼單元。
如上文所述,當(dāng)前圖片的圖像數(shù)據(jù)根據(jù)編碼單元的最大尺寸分割成最大編碼單元,并且最大編碼單元中的每個(gè)可以包括根據(jù)深度分割的較深編碼單元。由于根據(jù)實(shí)施例的最大編碼單元根據(jù)深度進(jìn)行分割,因此,最大編碼單元中包括的空間域的圖像數(shù)據(jù)可以根據(jù)深度進(jìn)行分層分類。
限制最大編碼單元的高度和寬度進(jìn)行分層分割的總次數(shù)的編碼單元的最大深度和最大尺寸可以預(yù)先確定。
編碼器110對(duì)通過根據(jù)深度來分割最大編碼單元的區(qū)域而獲得的至少一個(gè)分割區(qū)域進(jìn)行編碼,并且根據(jù)所述至少一個(gè)分割區(qū)域確定輸出最終編碼的圖像數(shù)據(jù)的深度。換言之,通過根據(jù)當(dāng)前圖片的最大編碼單元對(duì)根據(jù)深度的較深編碼單元中的圖像數(shù)據(jù)進(jìn)行編碼并且選擇具有最小編碼誤差的深度,編碼器110確定編碼深度。根據(jù)最大編碼單元確定的編碼深度和圖像數(shù)據(jù)輸出到輸出單元120。
最大編碼單元中的圖像數(shù)據(jù)基于與等于或小于最大深度的至少一個(gè)深度相對(duì)應(yīng)的較深編碼單元進(jìn)行編碼,并且基于較深編碼單元中的每個(gè)而將對(duì)圖像數(shù)據(jù)進(jìn)行編碼的結(jié)果進(jìn)行比較。在比較了較深編碼單元的編碼誤差之后,可以選擇具有最小編碼誤差的深度。針對(duì)每個(gè)最大編碼單元,可以選擇至少一個(gè)編碼深度。
隨著編碼單元根據(jù)深度進(jìn)行分層分割,并且隨著編碼單元的數(shù)量增加,最大編碼單元的尺寸被分割。此外,即使編碼單元對(duì)應(yīng)于一個(gè)最大編碼單元中的相同深度,也要通過分別測(cè)量每個(gè)編碼單元的圖像數(shù)據(jù)的編碼誤差來確定是否將對(duì)應(yīng)于相同深度的編碼單元中的每個(gè)編碼單元分割到較低深度。因此,即使在圖像數(shù)據(jù)被包括在一個(gè)最大編碼單元中時(shí),根據(jù)深度的編碼誤差也可以根據(jù)一個(gè)最大編碼單元中的區(qū)域而不同,從而編碼深度可以根據(jù)圖像數(shù)據(jù)中的區(qū)域而不同。因此,在一個(gè)最大編碼單元中可以確定一個(gè)或多個(gè)編碼深度,并且最大編碼單元的圖像數(shù)據(jù)可以根據(jù)至少一個(gè)編碼深度的編碼單元分開。
因此,根據(jù)實(shí)施例的編碼器110可以確定當(dāng)前最大編碼單元中包括的具有樹形結(jié)構(gòu)的編碼單元。根據(jù)實(shí)施例的“具有樹形結(jié)構(gòu)的編碼單元”包括在當(dāng)前最大編碼單元中包括的所有較深編碼單元之中的、與確定為編碼深度的深度相對(duì)應(yīng)的編碼單元。編碼深度的編碼單元可以根據(jù)最大編碼單元的相同區(qū)域中的深度來分層確定,并且可以在不同區(qū)域中獨(dú)立確定。同樣,當(dāng)前區(qū)域中的編碼深度可以獨(dú)立于另一區(qū)域中的編碼深度進(jìn)行確定。
根據(jù)實(shí)施例的最大深度是與從最大編碼單元到最小編碼單元的分割次數(shù)相關(guān)的索引。根據(jù)實(shí)施例的最大深度可以表示從最大編碼單元到最小編碼單元的總分割次數(shù)。例如,當(dāng)最大編碼單元的深度為0時(shí),最大編碼單元被分割一次的編碼單元的深度可以設(shè)置為1,并且最大編碼單元被分割兩次的編碼單元的深度可以設(shè)置為2。在這種情況下,如果通過將最大編碼單元分割四次而獲取的編碼單元對(duì)應(yīng)于最小編碼單元,由于存在0、1、2、3和4的深度等級(jí),那么最大深度可以設(shè)置為4。
預(yù)測(cè)編碼和變換可以根據(jù)最大編碼單元來執(zhí)行。預(yù)測(cè)編碼和變換也根據(jù)最大編碼單元而基于根據(jù)等于或小于最大深度的深度的較深編碼單元來執(zhí)行。
由于每當(dāng)最大編碼單元根據(jù)深度而被分割時(shí)較深編碼單元的數(shù)量都增加,因此,在隨著深度加深而生成的所有較深編碼單元上執(zhí)行包括預(yù)測(cè)編碼和變換在內(nèi)的編碼。在下文中,為便于描述,將基于當(dāng)前深度的編碼單元,在至少一個(gè)最大編碼單元中描述預(yù)測(cè)編碼和變換。
根據(jù)實(shí)施例的視頻編碼設(shè)備100可以不同地選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的數(shù)據(jù)單元的尺寸或形狀。為了對(duì)圖像數(shù)據(jù)進(jìn)行編碼,執(zhí)行諸如預(yù)測(cè)編碼、變換和熵編碼的操作,并且此時(shí),可以將相同的數(shù)據(jù)單元用于所有操作或者將不同的數(shù)據(jù)單元用于每個(gè)操作。
例如,視頻編碼設(shè)備100不僅可以選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的某一編碼單元,而且可以選擇不同于上述編碼單元的數(shù)據(jù)單元,以便在編碼單元中的圖像數(shù)據(jù)上執(zhí)行預(yù)測(cè)編碼。
為了在最大編碼單元中執(zhí)行預(yù)測(cè)編碼,可以基于根據(jù)實(shí)施例的對(duì)應(yīng)于編碼深度的編碼單元(即,基于不再分割成對(duì)應(yīng)于較低深度的編碼單元的編碼單元)執(zhí)行預(yù)測(cè)編碼。在下文中,不再進(jìn)行分割并且成為用于預(yù)測(cè)編碼的基礎(chǔ)單元的編碼單元現(xiàn)在將被稱為“預(yù)測(cè)單元”。通過分割預(yù)測(cè)單元而獲得的分區(qū)可以包括預(yù)測(cè)單元和通過分割預(yù)測(cè)單元的高度和寬度中的至少一個(gè)而獲得的數(shù)據(jù)單元。分區(qū)是編碼單元的預(yù)測(cè)單元被分割的數(shù)據(jù)單元,并且預(yù)測(cè)單元可以是與編碼單元具有相同尺寸的分區(qū)。
例如,當(dāng)2n×2n(其中n是正整數(shù))的編碼單元不再分割并且成為2n×2n的預(yù)測(cè)單元時(shí),分區(qū)的尺寸可以是2n×2n、2n×n、n×2n或n×n。分區(qū)類型的示例可以包括通過對(duì)稱地分割預(yù)測(cè)單元的高度或?qū)挾榷@得的對(duì)稱分區(qū),并且可以選擇性地包括通過不對(duì)稱地分割預(yù)測(cè)單元的高度或?qū)挾?諸如1:n或n:1)而獲得的分區(qū)、通過幾何分割預(yù)測(cè)單元而獲得的分區(qū)、具有任意形狀的分區(qū)等。
預(yù)測(cè)單元的預(yù)測(cè)模式可以是幀內(nèi)模式、幀間模式和跳躍模式中的至少一個(gè)。例如,幀內(nèi)模式和幀間模式可以在2n×2n、2n×n、n×2n或n×n的分區(qū)上執(zhí)行。此外,跳躍模式只可以在2n×2n的分區(qū)上執(zhí)行。編碼可以在編碼單元中的一個(gè)預(yù)測(cè)單元上獨(dú)立執(zhí)行,以便可以選擇具有最小編碼誤差的預(yù)測(cè)模式。
根據(jù)實(shí)施例的視頻編碼設(shè)備100也可以在一編碼單元中對(duì)圖像數(shù)據(jù)執(zhí)行變換,這不僅基于用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的該編碼單元,而且還基于不同于該編碼單元的數(shù)據(jù)單元。為了在編碼單元中執(zhí)行變換,可以基于具有小于或等于編碼單元的尺寸的變換單元來執(zhí)行變換。例如,變換單元可以包括用于幀內(nèi)模式的數(shù)據(jù)單元和用于幀間模式的變換單元。
根據(jù)實(shí)施例,編碼單元中的變換單元可以按與編碼單元根據(jù)樹形結(jié)構(gòu)進(jìn)行分割的類似方式遞歸地分割成更小尺寸的區(qū)域。因此,編碼單元中的殘差數(shù)據(jù)可以根據(jù)具有樹形結(jié)構(gòu)的變換單元依據(jù)變換深度進(jìn)行分割。
根據(jù)實(shí)施例,變換深度也可以在變換單元中設(shè)置,所述變換深度表明通過分割編碼單元的高度和寬度來達(dá)到變換單元的分割次數(shù)。例如,在2n×2n的當(dāng)前編碼單元中,當(dāng)變換單元的尺寸是2n×2n時(shí)變換深度可以為0,當(dāng)變換單元的尺寸是n×n時(shí)變換深度可以為1,以及當(dāng)變換單元的尺寸是n/2×n/2時(shí)變換深度可以為2。換言之,關(guān)于變換單元,具有樹形結(jié)構(gòu)的變換單元可以根據(jù)變換深度進(jìn)行設(shè)置。
根據(jù)編碼深度的編碼信息不僅需要編碼深度,而且需要與預(yù)測(cè)有關(guān)的信息和與變換有關(guān)的信息。因此,編碼器110不僅確定具有最小編碼誤差的深度,而且確定將預(yù)測(cè)單元分割成分區(qū)的分區(qū)模式、根據(jù)預(yù)測(cè)單元的預(yù)測(cè)模式以及用于變換的變換單元的尺寸。
下文將參考圖8到圖24詳細(xì)描述根據(jù)實(shí)施例的最大編碼單元中的具有樹形結(jié)構(gòu)的編碼單元以及確定預(yù)測(cè)單元/分區(qū)和變換單元的方法。
編碼器110可以通過使用基于拉格朗日乘子的率失真優(yōu)化來測(cè)量根據(jù)深度的較深編碼單元的編碼誤差。
輸出單元120以比特流的形式輸出最大編碼單元的圖像數(shù)據(jù)(基于由編碼器110確定的至少一個(gè)編碼深度進(jìn)行編碼)以及根據(jù)深度的編碼模式信息。
通過對(duì)圖像的殘差數(shù)據(jù)進(jìn)行編碼可以獲得編碼的圖像數(shù)據(jù)。
根據(jù)深度的編碼模式信息可以包括編碼深度信息、預(yù)測(cè)單元的分區(qū)類型信息、預(yù)測(cè)模式信息以及變換單元尺寸信息。
編碼深度信息可以通過使用根據(jù)深度的分割信息進(jìn)行定義,從而表明是否在較低深度而非當(dāng)前深度的編碼單元上執(zhí)行編碼。如果當(dāng)前編碼單元的當(dāng)前深度是編碼深度,那么對(duì)當(dāng)前編碼單元進(jìn)行編碼,因此,分割信息可以定義為不將當(dāng)前編碼單元分割到較低深度。相反,如果當(dāng)前編碼單元的當(dāng)前深度不是編碼深度,那么必須在較低深度的編碼單元上執(zhí)行編碼,因此,當(dāng)前深度的分割信息可以定義為將當(dāng)前編碼單元分割為較低深度的編碼單元。
如果當(dāng)前深度不是編碼深度,那么在分割成較低深度的編碼單元的編碼單元上執(zhí)行編碼。由于較低深度的至少一個(gè)編碼單元存在于當(dāng)前深度的一個(gè)編碼單元中,因此,在較低深度的每個(gè)編碼單元上重復(fù)執(zhí)行編碼,因而可以針對(duì)具有相同深度的編碼單元遞歸地執(zhí)行編碼。
由于在一個(gè)最大編碼單元內(nèi)確定具有樹形結(jié)構(gòu)的編碼單元,并且應(yīng)針對(duì)每個(gè)編碼深度的編碼單元確定與至少一個(gè)編碼模式有關(guān)的信息,因此,可以相對(duì)于一個(gè)最大編碼單元來確定與至少一個(gè)編碼模式有關(guān)的信息。此外,最大編碼單元的圖像數(shù)據(jù)的編碼深度可以根據(jù)位置而不同,這是因?yàn)閳D像數(shù)據(jù)根據(jù)深度進(jìn)行分層分割,因此,可以針對(duì)圖像數(shù)據(jù)來設(shè)置與編碼深度和編碼模式有關(guān)的信息。
因此,根據(jù)實(shí)施例的輸出單元120可以將與對(duì)應(yīng)的編碼深度和編碼模式有關(guān)的編碼信息分配到最大編碼單元中包括的編碼單元、預(yù)測(cè)單元和最小單元中的至少一個(gè)。
根據(jù)實(shí)施例的最小單元是通過將構(gòu)成最低編碼深度的最小編碼單元分割成4個(gè)而獲得的正方形數(shù)據(jù)單元?;蛘?,根據(jù)實(shí)施例的最小單元可以是可被包括在最大編碼單元所包括的所有編碼單元、預(yù)測(cè)單元、分區(qū)單元和變換單元中的最大正方形數(shù)據(jù)單元。
例如,由輸出單元120輸出的編碼信息可以分類成根據(jù)較深編碼單元的編碼信息和根據(jù)預(yù)測(cè)單元的編碼信息。根據(jù)較深編碼單元的編碼信息可以包括預(yù)測(cè)模式信息和分區(qū)尺寸信息。根據(jù)預(yù)測(cè)單元的編碼信息可以包括與幀間模式期間的估計(jì)方向有關(guān)的信息、與幀間模式的參考圖像索引有關(guān)的信息、與運(yùn)動(dòng)矢量有關(guān)的信息、與幀內(nèi)模式的色度分量有關(guān)的信息以及與幀內(nèi)模式期間的內(nèi)插法有關(guān)的信息。
與根據(jù)圖片、截片段或gop定義的編碼單元的最大尺寸有關(guān)的信息以及與最大深度有關(guān)的信息可以插入到比特流的標(biāo)頭、序列參數(shù)集或圖片參數(shù)集中。
與當(dāng)前視頻準(zhǔn)許的變換單元的最大尺寸有關(guān)的信息以及與變換單元的最小尺寸有關(guān)的信息也可以通過比特流的標(biāo)頭、序列參數(shù)集或圖片參數(shù)集輸出。輸出單元120可以對(duì)與預(yù)測(cè)相關(guān)的參考信息、預(yù)測(cè)信息和截片段類型信息進(jìn)行編碼并輸出這些信息。
根據(jù)視頻編碼設(shè)備100的最簡單實(shí)施例,較深編碼單元可以是通過將較高深度的編碼單元(上一層的編碼單元)的高度和寬度一分為二所得到的編碼單元。換言之,在當(dāng)前深度的編碼單元的尺寸是2n×2n時(shí),較低深度的編碼單元的尺寸是n×n。此外,具有2n×2n尺寸的當(dāng)前編碼單元可以最大包括四個(gè)具有n×n尺寸的較低深度編碼單元。
因此,基于最大編碼單元的尺寸和考慮到當(dāng)前圖片的特征而確定的最大深度,通過確定每個(gè)最大編碼單元的具有最佳形狀和最佳尺寸的編碼單元,視頻編碼設(shè)備100可以形成具有樹形結(jié)構(gòu)的編碼單元。此外,由于可以通過使用各種預(yù)測(cè)模式和變換中的任一個(gè)在每個(gè)最大編碼單元上執(zhí)行編碼,因此,可以通過考慮到各種圖像尺寸的編碼單元的特征來確定最佳編碼模式。
因此,如果具有高分辨率或大數(shù)據(jù)量的圖像在傳統(tǒng)宏塊中編碼,那么每個(gè)圖片的宏塊數(shù)量過度增加。因此,針對(duì)每個(gè)宏塊生成的壓縮信息的片數(shù)增加,因而難以傳輸壓縮的信息并且數(shù)據(jù)壓縮效率降低。然而,通過使用根據(jù)實(shí)施例的視頻編碼設(shè)備,圖像壓縮效率可以增加,這是因?yàn)樵诳紤]圖像的特征同時(shí)調(diào)整編碼單元,同時(shí)考慮圖像的尺寸而增大編碼單元的最大尺寸。
圖1b是根據(jù)各種實(shí)施例的基于具有樹形結(jié)構(gòu)的編碼單元的視頻解碼設(shè)備150的框圖。
根據(jù)實(shí)施例,基于具有樹形結(jié)構(gòu)的編碼單元的、用于視頻預(yù)測(cè)的視頻解碼設(shè)備150包括圖像數(shù)據(jù)與編碼信息接收器與提取器160以及解碼器170。在下文中,為便于描述,根據(jù)實(shí)施例的基于具有樹形結(jié)構(gòu)的編碼單元的、用于視頻預(yù)測(cè)的視頻解碼設(shè)備150將簡稱為“視頻解碼設(shè)備150”。
根據(jù)實(shí)施例,用于視頻解碼設(shè)備150的解碼操作的各種術(shù)語(諸如,編碼單元、深度、預(yù)測(cè)單元、變換單元和與各種編碼模式有關(guān)的信息)的定義與上文參考圖8和視頻編碼設(shè)備100描述的相同。
接收器與提取器160接收并解析編碼視頻的比特流。圖像數(shù)據(jù)與編碼信息接收器與提取器160從解析的比特流中提取根據(jù)每個(gè)最大編碼單元的具有樹形結(jié)構(gòu)的編碼單元中的每個(gè)的編碼圖像數(shù)據(jù),并且將提取的圖像數(shù)據(jù)輸出到解碼器170。圖像數(shù)據(jù)與編碼信息接收器與提取器160可以從與當(dāng)前圖片有關(guān)的標(biāo)頭、序列參數(shù)集或圖片參數(shù)集中提取與當(dāng)前圖片的編碼單元的最大尺寸有關(guān)的信息。
此外,圖像數(shù)據(jù)與編碼信息接收器與提取器160針對(duì)根據(jù)每個(gè)最大編碼單元的具有樹形結(jié)構(gòu)的編碼單元從解析的比特流中提取編碼深度和編碼模式信息。提取的編碼深度和編碼模式信息輸出到解碼器170。換言之,比特流的圖像數(shù)據(jù)可以按照使得解碼器170對(duì)每個(gè)最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼的方式分割成最大編碼單元。
根據(jù)每個(gè)最大編碼單元的編碼深度和編碼模式信息可以相對(duì)于一片或多片編碼深度信息進(jìn)行設(shè)置,并且根據(jù)編碼深度的編碼模式信息可以包括例如相應(yīng)編碼單元的分區(qū)類型信息、預(yù)測(cè)模式信息和變換單元尺寸信息。此外,根據(jù)深度的分割信息可以被提取為與編碼深度有關(guān)的信息。
如在根據(jù)實(shí)施例的視頻編碼設(shè)備100中,由圖像數(shù)據(jù)與編碼信息接收器與提取器160提取的根據(jù)每個(gè)最大編碼單元的編碼深度和編碼模式信息是被確定為在編碼器根據(jù)最大編碼單元和深度對(duì)編碼單元重復(fù)編碼時(shí)生成最小編碼誤差的編碼深度和編碼模式信息。因此,視頻解碼設(shè)備150可以通過根據(jù)生成最小編碼誤差的編碼方法對(duì)數(shù)據(jù)進(jìn)行解碼來重建圖像。
由于根據(jù)實(shí)施例的編碼深度和編碼模式信息可以分配到對(duì)應(yīng)的編碼單元、預(yù)測(cè)單元和最小單元之中的預(yù)定數(shù)據(jù)單元,因此,圖像數(shù)據(jù)與編碼信息接收器與提取器160可以根據(jù)每個(gè)預(yù)定數(shù)據(jù)單元來提取編碼深度和編碼模式信息。當(dāng)對(duì)應(yīng)的最大編碼單元的編碼深度和編碼模式信息被分配到預(yù)定數(shù)據(jù)單元中的每個(gè)時(shí),可以推斷,被分配相同編碼深度和編碼模式信息的預(yù)定數(shù)據(jù)單元就是相同最大編碼單元中包括的數(shù)據(jù)單元。
解碼器170基于根據(jù)每個(gè)最大編碼單元的編碼深度和編碼式信息將每個(gè)最大編碼單元的圖像數(shù)據(jù)解碼,以此來重建當(dāng)前圖片。換言之,解碼器170可以基于每個(gè)最大編碼單元中包括的具有樹形結(jié)構(gòu)的編碼單元之中針對(duì)每個(gè)編碼單元的讀取分區(qū)模式、預(yù)測(cè)類型和變換單元而對(duì)編碼的圖像數(shù)據(jù)進(jìn)行解碼。解碼過程可以包括預(yù)測(cè)過程和逆變換過程,所述預(yù)測(cè)過程包括幀內(nèi)預(yù)測(cè)和運(yùn)動(dòng)補(bǔ)償。
基于與根據(jù)編碼深度的編碼單元的預(yù)測(cè)單元有關(guān)的分區(qū)模式信息和預(yù)測(cè)類型信息,解碼器170可以根據(jù)每個(gè)編碼單元的分區(qū)和預(yù)測(cè)模式來執(zhí)行幀內(nèi)預(yù)測(cè)或運(yùn)動(dòng)補(bǔ)償。
此外,解碼器170可以讀取與用于每個(gè)編碼單元的具有樹形結(jié)構(gòu)的變換單元有關(guān)的信息,以便基于每個(gè)編碼單元的變換單元來執(zhí)行逆變換,從而針對(duì)每個(gè)最大編碼單元進(jìn)行逆變換。經(jīng)由逆變換,可以重建編碼單元的空間區(qū)域的像素值。
解碼器170可以通過使用根據(jù)深度的分割信息來確定當(dāng)前最大編碼單元的編碼深度。如果分割信息表明圖像數(shù)據(jù)不再以當(dāng)前深度進(jìn)行分割,那么當(dāng)前深度就是編碼深度。因此,解碼器170可以通過使用與對(duì)應(yīng)于當(dāng)前深度的每個(gè)編碼單元的預(yù)測(cè)單元的分區(qū)模式、預(yù)測(cè)類型和變換單元的尺寸有關(guān)的信息來對(duì)當(dāng)前最大編碼單元的圖像數(shù)據(jù)進(jìn)行解碼。
換言之,通過觀察分配給編碼單元、預(yù)測(cè)單元和最小單元之中的預(yù)定數(shù)據(jù)單元的編碼信息集,可以收集含有包括相同分割信息的編碼信息的數(shù)據(jù)單元,并且可以將收集的數(shù)據(jù)單元視作將由解碼器170以相同編碼模式解碼的一個(gè)數(shù)據(jù)單元。如此,可以通過獲取與用于每個(gè)編碼單元的編碼模式有關(guān)的信息來對(duì)當(dāng)前編碼單元進(jìn)行解碼。
接收器與提取器160可以從所接收的當(dāng)前層比特流中獲取樣本自適應(yīng)偏移(sao)類型和偏移,可以基于當(dāng)前層預(yù)測(cè)圖像的每個(gè)樣本的樣本值的分布來確定sao類別,因而可以通過使用sao類型和偏移根據(jù)每個(gè)sao類別來獲取偏移。因此,盡管沒有接收每個(gè)樣本的預(yù)測(cè)誤差,但解碼器170可以針對(duì)當(dāng)前層預(yù)測(cè)圖像的每個(gè)樣本根據(jù)每個(gè)類別來補(bǔ)償偏移,并且可以參考所補(bǔ)償?shù)漠?dāng)前層預(yù)測(cè)圖像來確定當(dāng)前層重建圖像。
因此,視頻解碼設(shè)備150可以獲取與一編碼單元有關(guān)的信息(該編碼單元通過在編碼過程中對(duì)每個(gè)最大編碼單元進(jìn)行遞歸地編碼而生成最小編碼誤差),并且可以使用所獲取的信息對(duì)當(dāng)前圖片進(jìn)行解碼。換言之,可以對(duì)確定是每個(gè)最大編碼單元中的最佳編碼單元的、具有樹形結(jié)構(gòu)的編碼單元進(jìn)行解碼。
因此,即使圖像具有高分辨率或具有過大的數(shù)據(jù)量,圖像仍可以通過使用編碼單元的尺寸和編碼模式來高效解碼和重建,所述編碼單元的尺寸和編碼模式是通過使用從編碼器接收的最佳編碼模式信息根據(jù)圖像的特征而自適應(yīng)地確定的。
圖2示出根據(jù)各種實(shí)施例的編碼單元的概念。
編碼單元的尺寸可以由寬度×高度來表示,并且可以是64×64、32×32、16×16和8×8。64×64的編碼單元可以分割成64×64、64×32、32×64或32×32的分區(qū),并且32×32的編碼單元可以分割成32×32、32×16、16×32或16×16的分區(qū),16×16的編碼單元可以分割成16×16、16×8、8×16或8×8的分區(qū),而8×8的編碼單元可以分割成8×8、8×4、4×8或4×4的分區(qū)。
在視頻數(shù)據(jù)210中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是2。在視頻數(shù)據(jù)220中,分辨率是1920×1080,編碼單元的最大尺寸是64,并且最大深度是3。在視頻數(shù)據(jù)230中,分辨率是352×288,編碼單元的最大尺寸是16,并且最大深度是1。圖8所示的最大深度是指從最大編碼單元到最小編碼單元的總分割次數(shù)。
如果分辨率高或數(shù)據(jù)量大,那么編碼單元的最大尺寸可以較大,以便不僅增加編碼效率,而且準(zhǔn)確反映圖像的特征。因此,分辨率比視頻數(shù)據(jù)230高的視頻數(shù)據(jù)210和220的編碼單元的最大尺寸可以被選擇為64。
由于視頻數(shù)據(jù)210的最大深度是2,因此,視頻數(shù)據(jù)210的編碼單元215可以包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32和16的編碼單元,這是因?yàn)橥ㄟ^將最大編碼單元分割兩次,深度加深到兩個(gè)層。由于視頻數(shù)據(jù)230的最大深度是1,因此,視頻數(shù)據(jù)230的編碼單元235可以包括長軸尺寸為16的最大編碼單元,以及長軸尺寸為8的編碼單元,這是因?yàn)橥ㄟ^將最大編碼單元分割一次,深度加深到一層。
由于視頻數(shù)據(jù)220的最大深度是3,因此,視頻數(shù)據(jù)220的編碼單元225可以包括長軸尺寸為64的最大編碼單元,以及長軸尺寸為32、16和8的編碼單元,這是因?yàn)橥ㄟ^將最大編碼單元分割三次,深度加深到3個(gè)層。隨著深度加深,可以提高對(duì)詳細(xì)信息的表達(dá)能力。
圖3a是根據(jù)各種實(shí)施例的基于編碼單元的視頻編碼器300的框圖。
根據(jù)實(shí)施例的視頻編碼器300包括視頻編碼設(shè)備100的編碼器210的操作,以便對(duì)圖像數(shù)據(jù)進(jìn)行編碼。換言之,幀內(nèi)預(yù)測(cè)器304相對(duì)于當(dāng)前幀302以幀內(nèi)模式在編碼單元上執(zhí)行幀內(nèi)預(yù)測(cè),并且運(yùn)動(dòng)估算器306和運(yùn)動(dòng)補(bǔ)償器308通過使用當(dāng)前幀302和參考幀326以幀內(nèi)模式在編碼單元上分別執(zhí)行幀間估算和運(yùn)動(dòng)補(bǔ)償。
從幀內(nèi)預(yù)測(cè)器304、運(yùn)動(dòng)估算器306和運(yùn)動(dòng)補(bǔ)償器308輸出的數(shù)據(jù)通過變換器310和量化器312作為經(jīng)量化的變換系數(shù)輸出。經(jīng)量化的變換系數(shù)通過反量化器318和逆變換器320而重建成空間域的數(shù)據(jù),并且空間域的重建數(shù)據(jù)通過去塊化單元322和偏移補(bǔ)償器324進(jìn)行后處理并且作為參考幀326輸出。經(jīng)量化的變換系數(shù)可以通過熵編碼器314作為比特流316輸出。
為了將視頻編碼器300應(yīng)用于視頻編碼設(shè)備100,視頻編碼器300的所有元件(即,幀內(nèi)預(yù)測(cè)器304、運(yùn)動(dòng)估算器306、運(yùn)動(dòng)補(bǔ)償器308、變換器310、量化器312、熵編碼器314、反量化器318、逆變換器320、去塊化單元322和偏移補(bǔ)償器324)必須在考慮每個(gè)最大編碼單元的最大深度的同時(shí)基于具有樹形結(jié)構(gòu)的編碼單元中的每個(gè)編碼單元來執(zhí)行操作。
具體而言,幀內(nèi)預(yù)測(cè)器304、運(yùn)動(dòng)估算器306和運(yùn)動(dòng)補(bǔ)償器308在考慮當(dāng)前最大編碼單元的最大尺寸和最大深度的同時(shí)確定具有樹形結(jié)構(gòu)的編碼單元中的每個(gè)編碼單元的分區(qū)和預(yù)測(cè)模式,并且變換器310確定具有樹形結(jié)構(gòu)的編碼單元之中的每個(gè)編碼單元中的變換單元的尺寸。
圖3b是根據(jù)各種實(shí)施例的基于編碼單元的視頻解碼器350的框圖。
比特流352經(jīng)過解析器354,因而待解碼的編碼圖像數(shù)據(jù)和解碼所需的編碼信息被解析。編碼圖像數(shù)據(jù)通過熵解碼器356和反量化器358而作為反量化數(shù)據(jù)輸出,并且通過逆變換器360而被重建成空間域的圖像數(shù)據(jù)。
針對(duì)空間域的圖像數(shù)據(jù),幀內(nèi)預(yù)測(cè)器362在幀內(nèi)模式的編碼單元上執(zhí)行幀內(nèi)預(yù)測(cè),并且運(yùn)動(dòng)補(bǔ)償器364通過使用參考幀370在幀間模式的編碼單元上執(zhí)行運(yùn)動(dòng)補(bǔ)償。
經(jīng)過幀內(nèi)預(yù)測(cè)器362和運(yùn)動(dòng)補(bǔ)償器364的空間域的數(shù)據(jù)通過去塊化單元366和偏移補(bǔ)償器368進(jìn)行后處理,并且可以作為重建幀372輸出。此外,通過去塊化單元366和偏移補(bǔ)償器368進(jìn)行后處理的數(shù)據(jù)可以作為參考幀370輸出。
為了由視頻解碼設(shè)備150的解碼器170對(duì)圖像數(shù)據(jù)進(jìn)行解碼,可以執(zhí)行根據(jù)實(shí)施例的視頻解碼器350的解析器354之后的順序操作。
為了將視頻解碼器350應(yīng)用于視頻解碼設(shè)備200,視頻解碼器350的所有元件(即,解析器354、熵解碼器356、反量化器358、逆變換器360、幀內(nèi)預(yù)測(cè)器362、運(yùn)動(dòng)補(bǔ)償器364、去塊化單元366和偏移補(bǔ)償器368)針對(duì)每個(gè)最大編碼單元基于具有樹形結(jié)構(gòu)的編碼單元來執(zhí)行操作。
具體而言,幀內(nèi)預(yù)測(cè)器362和運(yùn)動(dòng)補(bǔ)償器364確定具有樹形結(jié)構(gòu)的每個(gè)編碼單元的分區(qū)和預(yù)測(cè)模式,并且逆變換器360必須確定每個(gè)編碼單元的變換單元的尺寸。
圖4示出根據(jù)各種實(shí)施例的根據(jù)深度的較深編碼單元和分區(qū)。
根據(jù)實(shí)施例的視頻編碼設(shè)備100和根據(jù)實(shí)施例的視頻解碼設(shè)備150使用分層編碼單元,以便考慮圖像的特征。編碼單元的最大高度、最大寬度和最大深度可以根據(jù)圖像的特征而自適應(yīng)地確定,或者可以根據(jù)用戶需要而不同地設(shè)置。根據(jù)深度的較深編碼單元的尺寸可以根據(jù)編碼單元的預(yù)定最大尺寸進(jìn)行確定。
在根據(jù)實(shí)施例的編碼單元的分層結(jié)構(gòu)400中,編碼單元的最大高度和最大寬度均是64,并且最大深度是3。在這種情況下,最大深度是指編碼單元從最大編碼單元分割到最小編碼單元的總次數(shù)。由于深度沿著編碼單元的分層結(jié)構(gòu)400的豎直軸加深,因此,較深編碼單元的高度和寬度均被分割。此外,沿著編碼單元的分層結(jié)構(gòu)400的水平軸示出作為每個(gè)較深編碼單元的預(yù)測(cè)編碼的基礎(chǔ)的預(yù)測(cè)單元和分區(qū)。
換言之,編碼單元410是編碼單元的分層結(jié)構(gòu)400中的最大編碼單元,其中深度為0并且尺寸(即,高度乘寬度)為64×64。深度沿著豎直軸加深,而且存在尺寸為32×32且深度為1的編碼單元420、尺寸為16×16且深度為2的編碼單元430,以及尺寸為8×8且深度為3的編碼單元440。尺寸為8×8且深度為3的編碼單元440是最小編碼單元。
編碼單元的預(yù)測(cè)單元和分區(qū)根據(jù)每個(gè)深度沿著水平軸布置。換言之,如果尺寸為64×64且深度為0的編碼單元410是預(yù)測(cè)單元,那么預(yù)測(cè)單元可以分割成尺寸為64×64的編碼單元410中包括的分區(qū),即,尺寸為64×64的分區(qū)410、尺寸為64×32的分區(qū)412、尺寸為32×64的分區(qū)414,或者尺寸為32×32的分區(qū)416。
同樣,尺寸為32×32且深度為1的編碼單元420的預(yù)測(cè)單元可以分割成尺寸為32×32的編碼單元420中包括的分區(qū),即,尺寸為32×32的分區(qū)420、尺寸為32×16的分區(qū)422、尺寸為16×32的分區(qū)424以及尺寸為16×16的分區(qū)426。
同樣,尺寸為16×16且深度為2的編碼單元430的預(yù)測(cè)單元可以分割成尺寸為16×16的編碼單元430中包括的分區(qū),即,編碼單元430中包括的尺寸為16×16的分區(qū)、尺寸為16×8的分區(qū)432、尺寸為8×16的分區(qū)434以及尺寸為8×8的分區(qū)436。
同樣,尺寸為8×8且深度為3的編碼單元440的預(yù)測(cè)單元可以分割成尺寸為8×8的編碼單元440中包括的分區(qū),即,編碼單元440中包括的尺寸為8×8的分區(qū)440、尺寸為8×4的分區(qū)442、尺寸為4×8的分區(qū)444以及尺寸為4×4的分區(qū)446。
為了確定最大編碼單元410的編碼深度,視頻編碼設(shè)備100的編碼器110必須在最大編碼單元410中包括的分別與深度對(duì)應(yīng)的編碼單元上執(zhí)行編碼。
包括相同范圍和相同尺寸的數(shù)據(jù)的、根據(jù)深度的較深編碼單元的數(shù)量隨著深度加深而增加。例如,需要四個(gè)對(duì)應(yīng)于深度2的編碼單元來覆蓋一個(gè)對(duì)應(yīng)于深度1的編碼單元中包括的數(shù)據(jù)。因此,為了將根據(jù)深度的相同數(shù)據(jù)的編碼結(jié)果進(jìn)行比較,必須通過使用對(duì)應(yīng)于深度1的編碼單元和對(duì)應(yīng)于深度2的四個(gè)編碼單元中的每個(gè)來對(duì)數(shù)據(jù)進(jìn)行編碼。
為了根據(jù)深度中的每個(gè)來執(zhí)行編碼,可以通過沿著編碼單元的分層結(jié)構(gòu)400的水平軸,根據(jù)深度在編碼單元的預(yù)測(cè)單元中的每個(gè)上執(zhí)行編碼來選擇出最小編碼誤差,也就是相對(duì)應(yīng)的深度的代表性編碼誤差?;蛘撸S著深度沿著編碼單元的分層結(jié)構(gòu)400的豎直軸加深,可以通過針對(duì)每個(gè)深度執(zhí)行編碼,根據(jù)深度來比較最小編碼誤差而搜索出最小編碼誤差。最大編碼單元1310中生成最小編碼誤差的深度和分區(qū)可以被選作最大編碼單元1310的編碼深度和分區(qū)類型。
圖5示出根據(jù)各種實(shí)施例的編碼單元與變換單元之間的關(guān)系。
根據(jù)實(shí)施例的視頻編碼設(shè)備100或根據(jù)實(shí)施例的視頻解碼設(shè)備150根據(jù)每個(gè)最大編碼單元的、尺寸小于或等于最大編碼單元的編碼單元而對(duì)圖像進(jìn)行編碼或解碼。在編碼期間用于變換的變換單元的尺寸可以基于不大于相對(duì)應(yīng)的編碼單元的數(shù)據(jù)單元進(jìn)行選擇。
例如,在根據(jù)實(shí)施例的視頻編碼設(shè)備100或根據(jù)實(shí)施例的視頻解碼設(shè)備150中,如果編碼單元510的尺寸是64×64,那么可以通過使用尺寸為32×32的變換單元520來執(zhí)行變換。
此外,可以通過在尺寸為32×32、16×16、8×8和4×4(都小于64×64)的變換單元中的每個(gè)上執(zhí)行變換而對(duì)尺寸為64×64的編碼單元510的數(shù)據(jù)進(jìn)行編碼,并且隨后可以針對(duì)原始圖像選擇具有最小編碼誤差的變換單元。
圖6示出根據(jù)各種實(shí)施例的多個(gè)編碼信息片。
視頻編碼設(shè)備100的輸出單元120可以針對(duì)與編碼深度對(duì)應(yīng)的每個(gè)編碼單元來編碼并傳輸分區(qū)模式信息600、預(yù)測(cè)模式信息610和變換單元尺寸信息620,以作為編碼模式信息。
分區(qū)類型信息600表明與通過分割當(dāng)前編碼單元的預(yù)測(cè)單元而獲得的分區(qū)的形狀有關(guān)的信息,其中分區(qū)是用于對(duì)當(dāng)前編碼單元進(jìn)行預(yù)測(cè)編碼的數(shù)據(jù)單元。例如,尺寸為2n×2n的當(dāng)前編碼單元cu_0可以分割成下列分區(qū)中的任一個(gè):尺寸為2n×2n的分區(qū)802、尺寸為2n×n的分區(qū)604、尺寸為n×2n的分區(qū)606以及尺寸為n×n的分區(qū)608。在這種情況下,與當(dāng)前編碼單元有關(guān)的分區(qū)類型信息600設(shè)置成表示下列一個(gè):尺寸為2n×2n的分區(qū)602、尺寸為2n×n的分區(qū)604、尺寸為n×2n的分區(qū)606以及尺寸為n×n的分區(qū)608。
預(yù)測(cè)模式信息610表明每個(gè)分區(qū)的預(yù)測(cè)模式。例如,預(yù)測(cè)類型信息610可以表明在由分區(qū)模式信息600表明的分區(qū)上執(zhí)行的預(yù)測(cè)編碼的模式,即,幀內(nèi)模式612、幀間模式614或跳躍模式616。
變換單元尺寸信息620表示在當(dāng)前編碼單元上執(zhí)行變換時(shí)將依據(jù)的變換單元。例如,所述變換單元可以是第一幀內(nèi)變換單元622、第二幀內(nèi)變換單元624、第一幀間變換單元626或者第二幀間變換單元628。
根據(jù)實(shí)施例的視頻解碼設(shè)備150的接收器與提取器160可以針對(duì)每個(gè)深度的編碼單元來提取分區(qū)類型信息600、預(yù)測(cè)模式信息610和變換單元尺寸信息620,并且將這些信息用于解碼。
圖7示出根據(jù)各種實(shí)施例的根據(jù)深度的較深編碼單元。
分割信息可以用來表示深度的變化。分割信息表明當(dāng)前深度的編碼單元是否分割成較低深度的編碼單元。
用于對(duì)深度為0且尺寸為2n_0×2n_0的編碼單元700進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)單元710可以包括下列分區(qū)類型的分區(qū):尺寸為2n_0×2n_0的分區(qū)類型712、尺寸為2n_0×n_0的分區(qū)類型714、尺寸為n_0×2n_0的分區(qū)類型716和尺寸為n_0×n_0的分區(qū)類型718。盡管所示分區(qū)712、714、716和718中的全部都是對(duì)稱分割的,但如上文所述,分區(qū)類型不限于此并且可以包括不對(duì)稱分區(qū)、任意分區(qū)、幾何分區(qū)等。
根據(jù)每個(gè)分區(qū)類型,在尺寸為2n_0×2n_0的一個(gè)分區(qū)、尺寸為2n_0×n_0的兩個(gè)分區(qū)、尺寸為n_0×2n_0的兩個(gè)分區(qū)和尺寸為n_0×n_0的四個(gè)分區(qū)上重復(fù)執(zhí)行預(yù)測(cè)編碼??梢栽诔叽鐬?n_0×2n_0、n_0×2n_0、2n_0×n_0和n_0×n_0的分區(qū)上執(zhí)行幀內(nèi)模式和幀間模式的預(yù)測(cè)編碼。只可以在尺寸為2n_0×2n_0的分區(qū)上執(zhí)行跳躍模式的預(yù)測(cè)編碼。
如果尺寸為2n_0×2n_0的分區(qū)類型712、尺寸為2n_0×n_0的分區(qū)類型714和尺寸為n_0×2n_0的分區(qū)類型716中的一個(gè)分區(qū)類型的編碼誤差是最小的,那么預(yù)測(cè)單元可以不分割到較低深度。
如果尺寸為n_0×n_0的分區(qū)類型718的編碼誤差是最小的,那么深度從0變成1并且執(zhí)行分割(操作720),并且在深度為2且尺寸為n_0×n_0的分區(qū)類型的編碼單元730上重復(fù)執(zhí)行編碼,以便搜索最小編碼誤差。
用于對(duì)深度為1且尺寸為2n_1×2n_1(=n_0×n_0)的編碼單元730進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)單元740可以包括:尺寸為2n_1×2n_1的分區(qū)類型742、尺寸為2n_1×n_1的分區(qū)類型744、尺寸為n_1×2n_1的分區(qū)類型746和尺寸為n_1×n_1的分區(qū)類型748。
如果尺寸為n_1×n_1的分區(qū)類型748的編碼誤差是最小的,那么深度從1變成2并且執(zhí)行分割(在操作750中),并且在深度為2且尺寸為n_2×n_2的編碼單元760上重復(fù)執(zhí)行編碼,以便搜索最小編碼誤差。
當(dāng)最大深度為d時(shí),可以對(duì)根據(jù)深度的較深編碼單元進(jìn)行設(shè)置,直到深度對(duì)應(yīng)于d-1時(shí),并且可以對(duì)分割信息進(jìn)行設(shè)置,直到深度對(duì)應(yīng)于d-2時(shí)。換言之,當(dāng)在對(duì)應(yīng)于深度d-2的編碼單元進(jìn)行分割之后執(zhí)行編碼直到深度為d-1(在操作770中)時(shí),用于對(duì)深度為d-1且尺寸為2n_(d-1)×2n_(d-1)的編碼單元780進(jìn)行預(yù)測(cè)編碼的預(yù)測(cè)單元790可以包括下列分區(qū)類型的分區(qū):尺寸為2n_(d-1)×2n_(d-1)的分區(qū)類型792、尺寸為2n_(d-1)×n_(d-1)的分區(qū)類型794、尺寸為n_(d-1)×2n_(d-1)的分區(qū)類型796和尺寸為n_(d-1)×n_(d-1)的分區(qū)類型798。
可以在分區(qū)類型之中的尺寸為2n_(d-1)×2n_(d-1)的一個(gè)分區(qū)、尺寸為2n_(d-1)×n_(d-1)的兩個(gè)分區(qū)、尺寸為n_(d-1)×2n_(d-1)的兩個(gè)分區(qū)、尺寸為n_(d-1)×n_(d-1)的四個(gè)分區(qū)上重復(fù)執(zhí)行預(yù)測(cè)編碼,以便搜索生成最小編碼誤差的分區(qū)類型。
即使在尺寸為n_(d-1)×n_(d-1)的分區(qū)類型798具有最小編碼誤差時(shí),由于最大深度為d,因此,深度為d-1的編碼單元cu_(d-1)不再分割到較深深度,并且構(gòu)成當(dāng)前最大編碼單元700的編碼單元的編碼深度被確定為d-1,而且當(dāng)前最大編碼單元700的分區(qū)類型可以被確定為n_(d-1)×n_(d-1)。此外,由于最大深度為d,因此,不設(shè)置深度為d-1的編碼單元752的分割信息。
數(shù)據(jù)單元799可以是當(dāng)前最大編碼單元的“最小單元”。根據(jù)實(shí)施例的最小單元可以是通過將具有最低編碼深度的最小編碼單元分割成4個(gè)而獲得的正方形數(shù)據(jù)單元。通過重復(fù)執(zhí)行編碼,根據(jù)實(shí)施例的視頻編碼設(shè)備100可以通過比較根據(jù)編碼單元700的深度的編碼誤差來選擇具有最小編碼誤差的編碼深度以便確定深度,并且將對(duì)應(yīng)的分區(qū)類型和預(yù)測(cè)模式設(shè)置為編碼深度的編碼模式。
如此,在所有的深度0、1、……、d-1、d中比較根據(jù)深度的最小編碼誤差,并且可以將具有最小編碼誤差的深度確定為編碼深度。編碼深度以及預(yù)測(cè)單元的分區(qū)類型和預(yù)測(cè)模式可以作為編碼模式信息而被編碼和傳輸。此外,由于編碼單元應(yīng)從深度0而被分割到編碼深度,因此,只有編碼深度的分割信息應(yīng)設(shè)置為“0”,而除編碼深度之外的根據(jù)深度的分割信息應(yīng)設(shè)置為“1”。
根據(jù)實(shí)施例的視頻解碼設(shè)備150的圖像數(shù)據(jù)與編碼信息接收器與提取器160可以提取并使用與編碼單元700有關(guān)的編碼深度和預(yù)測(cè)單元信息,以便對(duì)編碼單元712進(jìn)行解碼。根據(jù)實(shí)施例的視頻解碼設(shè)備150可以通過使用根據(jù)深度的分割信息而將分割信息為“0”的深度確定為編碼深度,并且可以將與對(duì)應(yīng)深度有關(guān)的編碼模式信息用于解碼。
圖8、圖9和圖10示出根據(jù)各種實(shí)施例的編碼單元、預(yù)測(cè)單元與變換單元之間的關(guān)系。
編碼單元810是最大編碼單元中的由視頻編碼設(shè)備100確定的、根據(jù)編碼深度的較深編碼單元。預(yù)測(cè)單元860是根據(jù)編碼深度的編碼單元810中的每個(gè)的預(yù)測(cè)單元的分區(qū),并且變換單元870是根據(jù)編碼深度的編碼單元中的每個(gè)的變換單元。
當(dāng)根據(jù)深度的編碼單元810之中的最大編碼單元的深度為0時(shí),編碼單元812具有深度1,編碼單元814、816、818、828、850和852具有深度2,編碼單元820、822、824、826、830、832和848具有深度3,并且編碼單元840、842、844和846具有深度4。
編碼單元在預(yù)測(cè)單元860的一些分區(qū)814、816、822、832、848、850、852和854中進(jìn)行分割。換言之,分區(qū)814、822、850和854具有2n×n的分區(qū)類型,分區(qū)816、848和852具有n×2n的分區(qū)類型,并且分區(qū)832具有n×n的分區(qū)類型。編碼單元810的預(yù)測(cè)單元和分區(qū)小于或等于每個(gè)編碼單元。
在小于編碼單元852的數(shù)據(jù)單元中,對(duì)變換單元870中的編碼單元852的圖像數(shù)據(jù)執(zhí)行變換或逆變換。此外,變換單元814、816、822、832、848、850、852和854是尺寸或形狀不同于預(yù)測(cè)單元860的對(duì)應(yīng)預(yù)測(cè)單元和分區(qū)的那些尺寸或形狀的數(shù)據(jù)單元。換言之,根據(jù)實(shí)施例的視頻編碼設(shè)備100和視頻解碼設(shè)備150可以在相同編碼單元中的單個(gè)數(shù)據(jù)單元上執(zhí)行幀內(nèi)預(yù)測(cè)/運(yùn)動(dòng)估算/運(yùn)動(dòng)補(bǔ)償以及變換/逆變換。
因此,對(duì)最大編碼單元的每個(gè)區(qū)域中具有分層結(jié)構(gòu)的編碼單元中的每個(gè)遞歸地執(zhí)行編碼,以便確定最佳編碼單元,從而可以獲得具有遞歸樹形結(jié)構(gòu)的編碼單元。編碼信息可以包括與編碼單元有關(guān)的分割信息、分區(qū)類型信息、預(yù)測(cè)模式信息,以及變換單元尺寸信息。
根據(jù)實(shí)施例的視頻編碼設(shè)備100的輸出單元120可以輸出與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息,并且根據(jù)實(shí)施例的視頻解碼設(shè)備150的圖像數(shù)據(jù)與編碼信息接收器與提取器160可以從接收的比特流中提取與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息。
分割信息指明當(dāng)前編碼單元是否分割成較低深度的編碼單元。如果當(dāng)前深度d的分割信息為0,那么(當(dāng)前編碼單元不再分割到較低深度所在的)深度是編碼深度,因此,可以針對(duì)編碼深度來限定分區(qū)類型信息、預(yù)測(cè)模式信息和變換單元尺寸信息。如果當(dāng)前編碼單元根據(jù)分割信息進(jìn)一步分割,那么必須在較低深度的四個(gè)分割編碼單元上獨(dú)立執(zhí)行編碼。
預(yù)測(cè)模式可以是幀內(nèi)模式、幀間模式和跳躍模式中的一個(gè)。幀內(nèi)模式和幀間模式可以限定于所有分區(qū)類型,而跳躍模式只限定于尺寸為2n×2n的分區(qū)類型。
分區(qū)類型信息可以表明通過對(duì)稱地分割預(yù)測(cè)單元的高度或?qū)挾榷@得的尺寸為2n×2n、2n×n、n×2n和n×n的對(duì)稱分區(qū)類型,以及通過不對(duì)稱地分割預(yù)測(cè)單元的高度或?qū)挾榷@得的尺寸為2n×nu、2n×nd、nl×2n和nr×2n的不對(duì)稱分區(qū)類型。尺寸為2n×nu和2n×nd的不對(duì)稱分區(qū)類型可以分別通過以1:3和3:1分割預(yù)測(cè)單元的高度來獲得,并且尺寸為nl×2n和nr×2n的不對(duì)稱分區(qū)類型可以分別通過以1:3和3:1分割預(yù)測(cè)單元的寬度來獲得。
變換單元的尺寸可以設(shè)置為在幀內(nèi)模式下有兩個(gè)類型并且在幀間模式下有兩個(gè)類型。換言之,如果變換單元的分割信息為0,那么變換單元的尺寸可以是2n×2n,也就是當(dāng)前編碼單元的尺寸。如果變換單元的分割信息為1,那么可以通過分割當(dāng)前編碼單元來獲得變換單元。此外,如果尺寸為2n×2n的當(dāng)前編碼單元的分區(qū)類型是對(duì)稱分區(qū)類型,那么變換單元的尺寸可以是n×n,并且如果當(dāng)前編碼單元的分區(qū)類型是不對(duì)稱分區(qū)類型,那么變換單元的尺寸可以是n/2×n/2。
根據(jù)實(shí)施例的與具有樹形結(jié)構(gòu)的編碼單元有關(guān)的編碼信息可以分配到與編碼深度對(duì)應(yīng)的編碼單元、預(yù)測(cè)單元和最小單元中的至少一個(gè)。與編碼深度對(duì)應(yīng)的編碼單元可以包括含有相同編碼信息的預(yù)測(cè)單元和最小單元中的至少一個(gè)。
因此,通過比較相鄰數(shù)據(jù)單元的多片編碼信息來確定所述相鄰數(shù)據(jù)單元是否包括在與相同編碼深度對(duì)應(yīng)的編碼單元中。此外,通過使用數(shù)據(jù)單元的編碼信息來確定對(duì)應(yīng)于編碼深度的對(duì)應(yīng)編碼單元,因此可以推斷出最大編碼單元中的編碼深度的分布。
因此,如果通過參考相鄰數(shù)據(jù)單元來預(yù)測(cè)當(dāng)前編碼單元,那么可以直接參考并使用與當(dāng)前編碼單元相鄰的較深編碼單元中的數(shù)據(jù)單元的編碼信息。
在另一實(shí)施例中,如果當(dāng)前編碼單元基于相鄰數(shù)據(jù)單元進(jìn)行預(yù)測(cè)編碼,那么可以參考相鄰數(shù)據(jù)單元,以使得通過使用與當(dāng)前編碼單元相鄰的較深編碼單元的編碼信息在較深編碼單元中搜索出與當(dāng)前編碼單元相鄰的數(shù)據(jù)。
圖11示出根據(jù)表1的編碼模式信息的編碼單元、預(yù)測(cè)單元與變換單元之間的關(guān)系。
最大編碼單元1100包括編碼單元1102、1104、1106、1112、1114、1116、以及具有編碼深度的1118。此處,由于編碼單元1118是具有編碼深度的編碼單元,因此,分割信息可以設(shè)置為0。尺寸為2n×2n的編碼單元1318的分區(qū)類型信息可以設(shè)置為包括下列的分區(qū)類型中的一個(gè):2n×2n1122、2n×n1124、n×2n1126、n×n1128、2n×nu1132、2n×nd1134、nl×2n1136和nr×2n1138。
變換單元分割信息(tu尺寸標(biāo)記)是一種類型的變換索引,并且與變換索引對(duì)應(yīng)的變換單元的尺寸可以根據(jù)編碼單元的預(yù)測(cè)單元類型或分區(qū)類型而改變。
例如,當(dāng)分區(qū)模式信息設(shè)置為對(duì)稱分區(qū)類型2n×2n1122、2n×n1124、n×2n1126和n×n1128中的一個(gè)時(shí),如果變換單元分割信息為0,那么設(shè)置尺寸為2n×2n的變換單元1142,并且如果變換單元分割信息為1,那么設(shè)置尺寸為n×n的變換單元1144。
當(dāng)分區(qū)類型信息設(shè)置為不對(duì)稱分區(qū)類型2n×nu1132、2n×nd1134、nl×2n1136和nr×2n1138中的一個(gè)時(shí),如果變換單元分割信息(tu尺寸標(biāo)記)為0,那么可以設(shè)置尺寸為2n×2n的變換單元1152,并且如果變換單元分割信息為1,那么可以設(shè)置尺寸為n/2×n/2的變換單元1354。
上文參考圖5描述的變換單元分割信息(tu尺寸標(biāo)記)是值為0或1的標(biāo)記,但根據(jù)實(shí)施例的變換單元分割信息不限于具有1比特的標(biāo)記,并且變換單元可以分層地分割,而同時(shí)變換單元分割信息根據(jù)設(shè)置以0、1、2、3等的方式增長。變換單元分割信息可以是變換索引的示例。
在這種情況下,實(shí)際使用的變換單元的尺寸可以通過使用根據(jù)實(shí)施例的變換單元分割信息以及變換單元的最大尺寸和變換單元的最小尺寸一起來表示。根據(jù)實(shí)施例的視頻編碼設(shè)備100可以對(duì)最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息進(jìn)行編碼。對(duì)最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息進(jìn)行編碼的結(jié)果可以插入到sps。根據(jù)實(shí)施例的視頻解碼設(shè)備150可以通過使用最大變換單元尺寸信息、最小變換單元尺寸信息和最大變換單元分割信息來對(duì)視頻進(jìn)行解碼。
例如,(a)如果當(dāng)前編碼單元的尺寸是64×64并且最大變換單元尺寸是32×32,那么(a-1)變換單元的尺寸在tu尺寸標(biāo)記為0時(shí)可以是32×32,(a-2)在tu尺寸標(biāo)記為1時(shí)可以是16×16,以及(a-3)在tu尺寸標(biāo)記為2時(shí)可以是8×8。
作為另一示例,(b)如果當(dāng)前編碼單元的尺寸是32×32并且最小變換單元尺寸是32×32,那么(b-1)變換單元的尺寸在tu尺寸標(biāo)記為0時(shí)可以是32×32。此處,由于變換單元的尺寸不可小于32×32,因此,tu尺寸標(biāo)記無法設(shè)置成除了0之外的值。
作為另一示例,(c)如果當(dāng)前編碼單元的尺寸是64×64并且最大tu尺寸標(biāo)記是1,那么tu尺寸標(biāo)記可以是0或1。此處,tu尺寸標(biāo)記無法設(shè)置成除了0或1之外的值。
因此,如果將最大tu尺寸標(biāo)記定義為“maxtransformsizeindex”,將最小變換單元尺寸定義為“mintransformsize”,并且當(dāng)tu尺寸標(biāo)記為0時(shí)變換單元尺寸為“roottusize”,那么可以在當(dāng)前編碼單元中確定的當(dāng)前最小變換單元尺寸“currmintusize”可由等式(1)定義:
currmintusize
=max(mintransformsize,roottusize/(2^maxtransformsizeindex))...(1)
與可以在當(dāng)前編碼單元中確定的當(dāng)前最小變換單元尺寸“currmintusize”相比,tu尺寸標(biāo)記為0時(shí)的變換單元尺寸“roottusize”可表示可以在系統(tǒng)中選擇的最大變換單元尺寸。在等式(1)中,“roottusize/(2^maxtransformsizeindex)”表示在tu尺寸標(biāo)記為0時(shí)變換單元尺寸“roottusize”被分割對(duì)應(yīng)于最大tu尺寸標(biāo)記的次數(shù)時(shí)的變換單元尺寸,并且“mintransformsize”表示最小變換尺寸。因此,“roottusize/(2^maxtransformsizeindex)”和“mintransformsize”之中的較小值可以是可在當(dāng)前編碼單元中確定的當(dāng)前最小變換單元尺寸“currmintusize”。
根據(jù)實(shí)施例,最大變換單元尺寸roottusize可以根據(jù)預(yù)測(cè)模式的類型而改變。
例如,如果當(dāng)前預(yù)測(cè)模式是幀間模式,那么“roottusize”可以通過使用下列等式(2)來確定。在等式(2)中,“maxtransformsize”表示最大變換單元尺寸,并且“pusize”表示當(dāng)前預(yù)測(cè)單元尺寸。
roottusize=min(maxtransformsize,pusize).........(2)
換言之,如果當(dāng)前預(yù)測(cè)模式是幀間模式,那么在tu尺寸標(biāo)記為0時(shí),變換單元尺寸“roottusize”可以是最大變換單元尺寸和當(dāng)前預(yù)測(cè)單元尺寸之中的較小值。
如果當(dāng)前分區(qū)單元的預(yù)測(cè)模式是幀內(nèi)模式,那么“roottusize”可以通過使用下列等式(3)來確定。在等式(3)中,“partitionsize”表示當(dāng)前分區(qū)單元的尺寸。
roottusize=min(maxtransformsize,partitionsize)...........(3)
換言之,如果當(dāng)前預(yù)測(cè)模式是幀內(nèi)模式,那么在tu尺寸標(biāo)記為0時(shí),變換單元尺寸“roottusize”可以是最大變換單元尺寸和當(dāng)前分區(qū)單元的尺寸之中的較小值。
然而,根據(jù)分區(qū)單元中的預(yù)測(cè)模式的類型而改變的當(dāng)前最大變換單元尺寸“roottusize”僅僅是實(shí)施例,并且用于確定當(dāng)前最大變換單元尺寸的因素不限于此。
根據(jù)上文參考圖8到圖11描述的基于具有樹形結(jié)構(gòu)的編碼單元的視頻編碼方法,空間域的圖像數(shù)據(jù)在具有樹形結(jié)構(gòu)的編碼單元的每個(gè)中進(jìn)行編碼,并且空間域的圖像數(shù)據(jù)按如下方式進(jìn)行重建:即,基于具有樹形結(jié)構(gòu)的編碼單元根據(jù)視頻解碼方法在每個(gè)最大編碼單元上執(zhí)行解碼,以便可以重建由圖片和圖片序列形成的視頻。重建的視頻可以由再現(xiàn)設(shè)備再現(xiàn)、可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,或可以經(jīng)由網(wǎng)絡(luò)傳輸。
圖12a是根據(jù)實(shí)施例的視頻解碼設(shè)備1200的框圖。具體而言,圖12a的框圖示出使用幀內(nèi)預(yù)測(cè)模式的視頻解碼設(shè)備的實(shí)施例。
視頻解碼設(shè)備1200可以包括幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240。盡管在圖12a中示出幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240是單獨(dú)元件,但根據(jù)另一實(shí)施例,幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240可以組合到單個(gè)元件中。根據(jù)另一實(shí)施例,幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240的功能可以由兩個(gè)或更多元件執(zhí)行。
盡管在圖12a中示出幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240是一個(gè)設(shè)備的元件,但用于執(zhí)行幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240的功能的設(shè)備并不始終需要在物理上彼此相鄰。因此,根據(jù)另一實(shí)施例,幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240可以是分布式的。
圖12a的幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240可以根據(jù)實(shí)施例由單個(gè)處理器控制,或者根據(jù)另一實(shí)施例由多個(gè)處理器控制。
視頻解碼設(shè)備1200可以包括用于存儲(chǔ)由幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240生成的數(shù)據(jù)的存儲(chǔ)設(shè)備(未示出)。幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240可以從存儲(chǔ)設(shè)備中提取數(shù)據(jù)并且使用該數(shù)據(jù)。
圖12a的視頻解碼設(shè)備1200不限于物理設(shè)備。例如,視頻解碼設(shè)備1200的功能的一部分可以由軟件執(zhí)行,而不是硬件。
幀內(nèi)預(yù)測(cè)模式確定器1210確定與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)對(duì)應(yīng)的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式。
上部塊和下部塊的概念是相對(duì)的。上部塊可以包括多個(gè)下部塊。例如,上部塊可以是編碼單元,并且下部塊可以是編碼單元中包括的預(yù)測(cè)單元。作為另一示例,上部塊可以是最大編碼單元,并且下部塊可以是編碼單元中包括的預(yù)測(cè)單元。
當(dāng)前下部塊表示上部塊所包括的下部塊之中的當(dāng)前將被解碼的下部塊。當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式可以基于從比特流中獲取的幀內(nèi)預(yù)測(cè)模式信息進(jìn)行確定。
參考樣本確定器1220基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本。
在幀間預(yù)測(cè)模式下,從另一圖像中確定預(yù)測(cè)單元中包括的樣本的預(yù)測(cè)值。因此,編碼單元中包括的預(yù)測(cè)單元和變換單元之間沒有依賴關(guān)系。因此,編碼單元中包括的預(yù)測(cè)單元和變換單元可以彼此獨(dú)立且并行地進(jìn)行編碼和解碼。
然而,在幀內(nèi)預(yù)測(cè)模式下,編碼單元基于與相鄰的樣本的連續(xù)性進(jìn)行編碼和解碼。因此,在幀內(nèi)預(yù)測(cè)模式下,待解碼的樣本和用于幀內(nèi)預(yù)測(cè)的參考樣本越靠近,可以執(zhí)行越準(zhǔn)確的預(yù)測(cè)。
用于幀內(nèi)預(yù)測(cè)的參考樣本可以使用各種方法進(jìn)行確定。根據(jù)第一幀內(nèi)預(yù)測(cè)方法,將與預(yù)測(cè)單元相鄰的樣本確定為參考樣本,并且基于參考樣本來確定預(yù)測(cè)單元中包括的樣本的預(yù)測(cè)值。根據(jù)第二幀內(nèi)預(yù)測(cè)方法,將與編碼單元相鄰的樣本確定為參考樣本,并且基于參考樣本來確定預(yù)測(cè)單元中包括的樣本的預(yù)測(cè)值。
根據(jù)第一幀內(nèi)預(yù)測(cè)方法,為了增加預(yù)測(cè)值的準(zhǔn)確性,基于等于或小于預(yù)測(cè)單元的變換單元來執(zhí)行幀內(nèi)預(yù)測(cè)和重建。如果變換單元小于預(yù)測(cè)單元,那么將與變換單元相鄰的樣本確定為參考樣本,并且基于參考樣本來確定變換單元中包括的樣本的預(yù)測(cè)值。
如果變換單元大于預(yù)測(cè)單元,則由于基于變換單元來執(zhí)行解碼,因此,并不重建與一些預(yù)測(cè)單元相鄰的樣本,因而并不預(yù)測(cè)預(yù)測(cè)單元的樣本。因此,根據(jù)第一幀內(nèi)預(yù)測(cè)方法,預(yù)測(cè)單元應(yīng)始終大于變換單元。
根據(jù)第二幀內(nèi)預(yù)測(cè)方法,盡管與第一幀內(nèi)預(yù)測(cè)方法相比,所預(yù)測(cè)的值的準(zhǔn)確性略有降低,但由于除去了預(yù)測(cè)單元之間的依賴關(guān)系,因此可以彼此并行地預(yù)測(cè)預(yù)測(cè)單元。此外,盡管第一幀內(nèi)預(yù)測(cè)方法限制變換單元不應(yīng)大于預(yù)測(cè)單元,但根據(jù)第二幀內(nèi)預(yù)測(cè)方法,由于預(yù)測(cè)單元始終參考先前重建的樣本,因此預(yù)測(cè)單元可以小于變換單元。因此,根據(jù)第二幀內(nèi)預(yù)測(cè)方法,一個(gè)變換單元可以包括多個(gè)預(yù)測(cè)單元。
下文將參考圖14a到圖14d詳細(xì)描述上述第一和第二幀內(nèi)預(yù)測(cè)方法。
第一幀內(nèi)預(yù)測(cè)方法的問題在于,變換單元可以取決于編碼單元中包括的另一變換單元進(jìn)行預(yù)測(cè)。因此,變換單元可能不彼此獨(dú)立且并行地進(jìn)行編碼和解碼。此外,當(dāng)預(yù)測(cè)單元小于變換單元時(shí),參考樣本與預(yù)測(cè)單元中包括的樣本之間的空間相關(guān)性基于預(yù)測(cè)單元上的位置而減小。
因此,用于計(jì)算樣本的預(yù)測(cè)值的預(yù)測(cè)單元的分區(qū)類型和用于計(jì)算樣本的殘差數(shù)據(jù)的變換單元的尺寸取決于彼此進(jìn)行確定。此外,預(yù)測(cè)單元取決于彼此進(jìn)行預(yù)測(cè),因而沒有彼此并行地預(yù)測(cè)。
下文參考圖14a到圖14d詳細(xì)描述上述問題。
為了解決上述問題,類似于第二幀內(nèi)預(yù)測(cè)方法,可以基于與包括下部塊的上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本。由于上部塊中包括的下部塊分享與上部塊相鄰的樣本,因此,下部塊沒有參考用于幀內(nèi)預(yù)測(cè)的另一下部塊的重建樣本。換言之,從上部塊中包括的另一下部塊的參考樣本中去掉當(dāng)前下部塊中包括的當(dāng)前樣本。因此,下部塊可以彼此獨(dú)立地進(jìn)行幀內(nèi)預(yù)測(cè)。因此,下部塊可以彼此并行地進(jìn)行預(yù)測(cè),并且預(yù)測(cè)單元的分區(qū)類型和變換單元的尺寸可以彼此獨(dú)立地確定。
例如,當(dāng)上部塊是編碼單元并且下部塊是編碼單元中包括的預(yù)測(cè)單元時(shí),可以基于與包括預(yù)測(cè)單元的編碼單元相鄰的樣本來確定預(yù)測(cè)單元中包括的樣本的預(yù)測(cè)值。
作為另一示例,當(dāng)上部塊是最大編碼單元并且下部塊是上部塊中包括的編碼單元的預(yù)測(cè)單元時(shí),可以基于與包括預(yù)測(cè)單元的最大編碼單元相鄰的樣本來確定預(yù)測(cè)單元中包括的樣本的預(yù)測(cè)值。
可以基于與上部塊相鄰的樣本,使用各種方法來確定下部塊的參考樣本。例如,可以將與上部塊相鄰的所有樣本確定為下部塊的參考樣本。作為另一示例,可以將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。下文將參考圖15和圖16詳細(xì)描述參考樣本確定方法。
參考樣本確定器1220可以基于上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記來確定參考樣本確定方法,所述上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明是否基于與上部塊相鄰的樣本來確定參考樣本。例如,當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明基于與上部塊相鄰的樣本來確定參考樣本時(shí),可以基于與上部塊相鄰的樣本來確定參考樣本。相反,當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記沒有表明基于與上部塊相鄰的樣本來確定參考樣本時(shí),可以使用另一方法來確定參考樣本。例如,可以基于與下部塊相鄰的樣本來確定參考樣本。
可以針對(duì)上部塊的上部視頻數(shù)據(jù)從比特流中獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。例如,可以按照?qǐng)D像來獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明基于與上部塊相鄰的樣本來確定參考樣本時(shí),基于與上部塊相鄰的樣本來確定圖像的所有下部塊的參考樣本。
作為另一示例,可以按照包括多個(gè)圖像的序列單元來獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明基于與上部塊相鄰的樣本來確定參考樣本時(shí),基于與上部塊相鄰的樣本來確定序列單元中包括的所有下部塊的參考樣本。
預(yù)測(cè)器1230基于幀內(nèi)預(yù)測(cè)方法通過使用由參考樣本確定器1220確定的參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值。
當(dāng)前樣本表示當(dāng)前將被解碼的當(dāng)前下部塊中包括的樣本??梢曰谟蓭瑑?nèi)預(yù)測(cè)模式表明的預(yù)測(cè)方案來確定當(dāng)前樣本的預(yù)測(cè)值。下文將參考圖15和圖16詳細(xì)描述參考樣本確定方法。
邊界濾波器(未示出)可以將平滑濾波器應(yīng)用到樣本,該樣品與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰。下文參考圖17詳細(xì)描述邊界濾波器的功能。
重建器1240基于預(yù)測(cè)器1230確定的預(yù)測(cè)值來重建當(dāng)前下部塊。當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值與對(duì)應(yīng)于當(dāng)前樣本的殘差數(shù)據(jù)合計(jì)起來。合計(jì)的值用作當(dāng)前樣本的重建值。
幀內(nèi)預(yù)測(cè)模式確定器1210、參考樣本確定器1220、預(yù)測(cè)器1230和重建器1240的功能可以在上部塊所包括的所有下部塊上執(zhí)行。所有下部塊分享用于幀內(nèi)預(yù)測(cè)的參考樣本,因此可以彼此獨(dú)立且并行地進(jìn)行幀內(nèi)預(yù)測(cè)和解碼。
圖12b是根據(jù)實(shí)施例的視頻解碼方法1250的流程圖。具體而言,圖12b的流程圖示出使用幀內(nèi)預(yù)測(cè)方法的視頻解碼方法的實(shí)施例。
在操作12中,確定一當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,所述當(dāng)前下部塊與通過分割一上部塊而生成的多個(gè)下部塊中的一個(gè)對(duì)應(yīng)。根據(jù)實(shí)施例,上部塊可以是編碼單元,并且下部塊可以是該編碼單元中包括的預(yù)測(cè)單元。
在操作14中,基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本。根據(jù)實(shí)施例,可以將與上部塊相鄰的所有樣本確定為下部塊的參考樣本。根據(jù)另一實(shí)施例,可以將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。
在操作14之前,可以從比特流中獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記表明參考樣本被確定為與上部塊相鄰的樣本時(shí),可以基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本。可以針對(duì)上部塊的上部視頻數(shù)據(jù)獲取上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
在操作16中,基于幀內(nèi)預(yù)測(cè)模式使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值。平滑濾波器可以應(yīng)用到與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰的樣本。
在操作18中,基于預(yù)測(cè)值來重建當(dāng)前下部塊。
可以通過在上部塊中包括的所有下部塊上執(zhí)行操作12到18來預(yù)測(cè)和重建上部塊。上部塊中包括的所有下部塊可以彼此獨(dú)立且并行地進(jìn)行幀內(nèi)預(yù)測(cè)和重建。
根據(jù)實(shí)施例的上述視頻解碼方法1250可以由視頻解碼設(shè)備1200執(zhí)行。
圖13a是根據(jù)實(shí)施例的視頻編碼設(shè)備1300的框圖。具體而言,圖13a的框圖示出使用幀內(nèi)預(yù)測(cè)模式的視頻編碼設(shè)備的實(shí)施例。
視頻編碼設(shè)備1300可以包括參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340。盡管在圖13a中示出參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340是單獨(dú)元件,但根據(jù)另一實(shí)施例,參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340可以組合到單個(gè)元件中。根據(jù)另一實(shí)施例,參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340的功能可以由兩個(gè)或更多元件執(zhí)行。
盡管在圖13a中示出參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340是一個(gè)設(shè)備的元件,但用于執(zhí)行參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340的功能的設(shè)備并不始終需要在物理上彼此相鄰。因此,根據(jù)另一實(shí)施例,參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340可以是分布式的。
圖13a的參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340可以根據(jù)實(shí)施例由單個(gè)處理器控制,或者根據(jù)另一實(shí)施例由多個(gè)處理器控制。
視頻編碼設(shè)備1300可以包括用于存儲(chǔ)由參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340生成的數(shù)據(jù)的存儲(chǔ)設(shè)備(未示出)。參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340可以從存儲(chǔ)設(shè)備中提取數(shù)據(jù)并且使用該數(shù)據(jù)。
圖13a的視頻編碼設(shè)備1300不限于物理設(shè)備。例如,視頻編碼設(shè)備1300的功能的一部分可以由軟件執(zhí)行,而不是硬件。
參考樣本確定器1310在與上部塊相鄰的樣本之中確定上部塊中包括的當(dāng)前下部塊的參考樣本。根據(jù)實(shí)施例,上部塊可以是編碼單元,并且下部塊可以是編碼單元中包括的預(yù)測(cè)單元。
根據(jù)實(shí)施例,參考樣本確定器1310可以將與上部塊相鄰的所有樣本確定為參考樣本。根據(jù)另一實(shí)施例,參考樣本確定器1310可以將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。
當(dāng)上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記(其表明是否基于與上部塊相鄰的樣本來確定參考樣本)表明參考樣本被確定為與上部塊相鄰的樣本時(shí),參考樣本確定器1310可以將與上部塊相鄰的樣本確定為當(dāng)前下部塊的參考樣本??梢葬槍?duì)上部塊的上部視頻數(shù)據(jù)來確定上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
幀內(nèi)預(yù)測(cè)模式確定器1320確定針對(duì)參考樣本進(jìn)行優(yōu)化的當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式。下部塊的幀內(nèi)預(yù)測(cè)模式可以基于率失真優(yōu)化而被確定為最有效的幀內(nèi)預(yù)測(cè)模式。
預(yù)測(cè)器1330通過基于幀內(nèi)預(yù)測(cè)模式而使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值。預(yù)測(cè)器1330可以將平滑濾波器應(yīng)用到與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰的樣本。
編碼器1340基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼。編碼器1340可以生成包括原始值與當(dāng)前樣本的預(yù)測(cè)值之間的差值的殘差數(shù)據(jù)。編碼器1340可以將由參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320和預(yù)測(cè)器1330確定的編碼信息包括在比特流中。
參考樣本確定器1310、幀內(nèi)預(yù)測(cè)模式確定器1320、預(yù)測(cè)器1330和編碼器1340的功能可以在上部塊所包括的所有下部塊上執(zhí)行。上部塊中包括的所有下部塊可以彼此獨(dú)立且并行地進(jìn)行預(yù)測(cè)和編碼。
圖13b是根據(jù)實(shí)施例的視頻編碼方法1350的流程圖。具體而言,圖13b的流程圖示出使用幀內(nèi)預(yù)測(cè)方法的視頻編碼方法的實(shí)施例。
在操作22中,基于與上部塊相鄰的樣本來確定當(dāng)前下部塊的參考樣本。根據(jù)實(shí)施例,可以將與上部塊相鄰的所有樣本確定為下部塊的參考樣本。根據(jù)另一實(shí)施例,可以將與上部塊相鄰的樣本之中的位于當(dāng)前下部塊的水平方向上的樣本和位于當(dāng)前下部塊的豎直方向上的樣本確定為參考樣本。
根據(jù)實(shí)施例,上部塊可以是編碼單元,并且下部塊可以是編碼單元中包括的預(yù)測(cè)單元。根據(jù)另一實(shí)施例,下部塊可以是編碼單元中包括的預(yù)測(cè)單元,并且上部塊可以是包括下部塊的最大編碼單元。
在操作22之前,可以確定是否基于與上部塊相鄰的樣本來確定參考樣本??梢葬槍?duì)上部塊的上部視頻數(shù)據(jù)來確定參考樣本確定方法。基于參考樣本確定方法來生成上部塊邊界幀內(nèi)預(yù)測(cè)標(biāo)記。
在操作24中,確定一當(dāng)前下部塊的幀內(nèi)預(yù)測(cè)模式,其與通過分割上部塊而生成的多個(gè)下部塊中的一個(gè)對(duì)應(yīng)。下部塊的幀內(nèi)預(yù)測(cè)模式可以基于率失真優(yōu)化而被確定為最有效的幀內(nèi)預(yù)測(cè)模式。
在操作26中,基于幀內(nèi)預(yù)測(cè)模式使用參考樣本來確定當(dāng)前下部塊中包括的當(dāng)前樣本的預(yù)測(cè)值。平滑濾波器可以應(yīng)用到與所預(yù)測(cè)的當(dāng)前下部塊和在上部塊中包括的其他所預(yù)測(cè)的下部塊之間的邊界相鄰的樣本。
在操作28中,基于預(yù)測(cè)值對(duì)當(dāng)前下部塊進(jìn)行編碼。
可以通過在上部塊中包括的所有下部塊上執(zhí)行操作22到28來預(yù)測(cè)和編碼上部塊。上部塊中包括的所有下部塊可以彼此獨(dú)立且并行地進(jìn)行預(yù)測(cè)和編碼。
根據(jù)實(shí)施例的上述視頻編碼方法1350可以由視頻編碼設(shè)備1300執(zhí)行。
圖14a到圖14d是用于描述第一幀內(nèi)預(yù)測(cè)方法與第二幀內(nèi)預(yù)測(cè)方法之間的差異的示意圖。在圖14a到圖14d中,cu指編碼單元,pu指預(yù)測(cè)單元,并且tu指變換單元。
圖14a示出編碼單元1410、預(yù)測(cè)單元1411和變換單元1412具有相同尺寸的情況。由于編碼單元1410、預(yù)測(cè)單元1411和變換單元1412相同,因此,與編碼單元1410相鄰的樣本以及與預(yù)測(cè)單元1411和變換單元1412相鄰的樣本相同。因此,使用第一幀內(nèi)預(yù)測(cè)方法確定的參考樣本與使用第二幀內(nèi)預(yù)測(cè)方法確定的參考樣本相同。因此,基于幀內(nèi)預(yù)測(cè)方法,預(yù)測(cè)值沒有不同。
圖14b示出編碼單元1420和預(yù)測(cè)單元1421具有相同尺寸但變換單元1422、1423、1424和1425具有尺寸n×n的情況。
根據(jù)第一幀內(nèi)預(yù)測(cè)方法,基于變換單元來預(yù)測(cè)和解碼樣本。由于預(yù)測(cè)單元1421包括變換單元1422、1423、1424和1425,因此,變換單元1422、1423、1424和1425具有相同幀內(nèi)預(yù)測(cè)模式。然而,變換單元1422、1423、1424和1425中的每個(gè)參考與之相鄰的樣本進(jìn)行幀內(nèi)預(yù)測(cè)。例如,當(dāng)在z掃描方向上執(zhí)行預(yù)測(cè)和解碼時(shí),按照變換單元1422、變換單元1423、變換單元1424和變換單元1425的順序來執(zhí)行預(yù)測(cè)和解碼。因此,參考變換單元1422的樣本對(duì)變換單元1423進(jìn)行幀內(nèi)預(yù)測(cè)。
根據(jù)第二幀內(nèi)預(yù)測(cè)方法,基于與預(yù)測(cè)單元1421相鄰的塊來預(yù)測(cè)預(yù)測(cè)單元1421。變換單元1422、1423、1424和1425彼此獨(dú)立地生成殘余數(shù)據(jù)。由于第一幀內(nèi)預(yù)測(cè)方法和第二幀內(nèi)預(yù)測(cè)方法將不同參考樣本用于幀內(nèi)預(yù)測(cè),因此,樣本的預(yù)測(cè)值和殘余數(shù)據(jù)在第一幀內(nèi)預(yù)測(cè)方法與第二幀內(nèi)預(yù)測(cè)方法之間不同。
圖14c示出預(yù)測(cè)單元1431、1432、1433和1434以及變換單元1435、1436、1437和1438具有尺寸n×n的情況。
根據(jù)第一幀內(nèi)預(yù)測(cè)方法,基于變換單元來預(yù)測(cè)和解碼樣本?;趯?duì)應(yīng)的預(yù)測(cè)單元1431、1432、1433和1434的幀內(nèi)預(yù)測(cè)模式來預(yù)測(cè)變換單元1435、1436、1437和1438。變換單元1435、1436、1437和1438中的每個(gè)參考與之相鄰的樣本進(jìn)行幀內(nèi)預(yù)測(cè)。例如,當(dāng)在z方向上執(zhí)行預(yù)測(cè)和解碼時(shí),按照變換單元1435、變換單元1436、變換單元1437和變換單元1438的順序來執(zhí)行預(yù)測(cè)和解碼。因此,參考變換單元1436的樣本對(duì)變換單元1437進(jìn)行幀內(nèi)預(yù)測(cè)。
根據(jù)第二幀內(nèi)預(yù)測(cè)方法,基于與編碼單元1430相鄰的樣本來預(yù)測(cè)預(yù)測(cè)單元1431、1432、1433和1434。變換單元1435、1436、1437和1438彼此獨(dú)立地生成殘差數(shù)據(jù)。類似于圖14b的實(shí)施例,由于第一幀內(nèi)預(yù)測(cè)方法和第二幀內(nèi)預(yù)測(cè)方法將不同參考樣本用于幀內(nèi)預(yù)測(cè),因此,樣本的預(yù)測(cè)值和殘差數(shù)據(jù)在第一幀內(nèi)預(yù)測(cè)方法與第二幀內(nèi)預(yù)測(cè)方法之間不同。
圖14d示出編碼單元1440和變換單元1445具有相同尺寸但預(yù)測(cè)單元1441、1442、1443和1444具有尺寸n×n的情況。
根據(jù)第一幀內(nèi)預(yù)測(cè)方法,可以不在變換單元1445中包括的四個(gè)預(yù)測(cè)單元1441、1442、1443和1444中的全部上執(zhí)行幀內(nèi)預(yù)測(cè)。根據(jù)第一幀內(nèi)預(yù)測(cè)方法,由于基于變換單元對(duì)所有樣本進(jìn)行幀內(nèi)預(yù)測(cè)和解碼,因此,可以對(duì)與預(yù)測(cè)單元1441對(duì)應(yīng)的樣本進(jìn)行解碼,但不預(yù)測(cè)預(yù)測(cè)單元1442、1443和1444,這是因?yàn)榕c它們相鄰的樣本沒有解碼。例如,盡管預(yù)測(cè)單元1442在預(yù)測(cè)單元1441的樣本被解碼之后是可預(yù)測(cè)的,但由于同時(shí)預(yù)測(cè)和解碼變換單元1445的所有樣本,因此沒有預(yù)測(cè)預(yù)測(cè)單元1442。因此,第一幀內(nèi)預(yù)測(cè)方法不適用于圖14d。
然而,根據(jù)第二幀內(nèi)預(yù)測(cè)方法,由于基于與編碼單元1440相鄰的樣本來預(yù)測(cè)預(yù)測(cè)單元1441、1442、1443和1444,因此,可以彼此并行地預(yù)測(cè)變換單元1445的所有樣本。因此,不同于第一幀內(nèi)預(yù)測(cè)方法,甚至在變換單元大于預(yù)測(cè)單元時(shí)都可以執(zhí)行預(yù)測(cè)和解碼。
總結(jié)圖14a到圖14d的描述,根據(jù)第二幀內(nèi)預(yù)測(cè)方法,不同于第一幀內(nèi)預(yù)測(cè)方法,甚至在變換單元大于預(yù)測(cè)單元時(shí)都可以執(zhí)行預(yù)測(cè)和解碼。根據(jù)第一幀內(nèi)預(yù)測(cè)方法,變換單元可以按照變換單元的掃描順序進(jìn)行幀內(nèi)預(yù)測(cè)和解碼,但根據(jù)第二幀內(nèi)預(yù)測(cè)方法,可以預(yù)測(cè)預(yù)測(cè)單元,并且變換單元可以彼此獨(dú)立且并行地生成殘差數(shù)據(jù)。
在圖14b和圖14c的情況下,用于將相對(duì)靠近的樣本確定為參考樣本的第一幀內(nèi)預(yù)測(cè)方法可以比第二幀內(nèi)預(yù)測(cè)方法更有效。然而,高分辨率圖像在以下方面具有高可能性,即,維持與預(yù)測(cè)單元間隔開的參考樣本和在預(yù)測(cè)單元中包括的樣本之間的連續(xù)性,因而可以使用第二幀內(nèi)預(yù)測(cè)方法。
圖15示出第二幀內(nèi)預(yù)測(cè)方法的實(shí)施例。
圖15示出尺寸為16×16的編碼單元1510。編碼單元1510包括四個(gè)預(yù)測(cè)單元1512、1514、1516和1518。先前解碼的樣本t0到t32和l1到l32與編碼單元1510相鄰。t0到t32和l1到l32之中的解碼樣本可以被確定為用來預(yù)測(cè)預(yù)測(cè)單元1512、1514、1516和1518的參考樣本。
t0到t32和l1到l32之中的沒有解碼的樣本被確定為只在編碼單元1510的預(yù)測(cè)過程中才具有最接近的解碼樣本值。例如,當(dāng)l16被解碼但l17到l32沒有解碼時(shí),l17到l32被視作只在編碼單元1510的預(yù)測(cè)過程中才與最接近的解碼樣本值l16具有相同值。
四個(gè)預(yù)測(cè)單元1512、1514、1516和1518具有不同的幀內(nèi)預(yù)測(cè)模式。在圖15中,預(yù)測(cè)單元1512以豎直模式進(jìn)行預(yù)測(cè),預(yù)測(cè)單元1514以左下對(duì)角線模式進(jìn)行預(yù)測(cè),預(yù)測(cè)單元1516以dc模式進(jìn)行預(yù)測(cè),并且預(yù)測(cè)單元1518以右下對(duì)角線模式進(jìn)行預(yù)測(cè)。預(yù)測(cè)單元1512、1514、1516和1518基于位于編碼單元1510外部的參考樣本(例如,t0到t32和l1到l32)進(jìn)行預(yù)測(cè)。位于編碼單元1510中的樣本沒有用來預(yù)測(cè)預(yù)測(cè)單元1512、1514、1516和1518。
預(yù)測(cè)單元1512以豎直模式進(jìn)行預(yù)測(cè)。因此,位于預(yù)測(cè)單元1512的頂部方向上的參考樣本t1到t8用來預(yù)測(cè)預(yù)測(cè)單元1512。預(yù)測(cè)單元1512中包括的樣本具有與位于樣本的豎直方向上的參考樣本的值相等的預(yù)測(cè)值。例如,當(dāng)t1的值是64時(shí),與t1位于同一列中的樣本的預(yù)測(cè)值被確定為64。
預(yù)測(cè)單元1514以左下對(duì)角線模式進(jìn)行預(yù)測(cè)。因此,位于預(yù)測(cè)單元1514的右上方向上的參考樣本t10到t24用來預(yù)測(cè)預(yù)測(cè)單元1514。預(yù)測(cè)單元1514中包括的樣本具有與位于樣本的右上方向上的參考樣本的值相等的預(yù)測(cè)值。例如,當(dāng)t17的值是96時(shí),位于t17的左下方向上的樣本的預(yù)測(cè)值被確定為96。
預(yù)測(cè)單元1516以dc模式進(jìn)行預(yù)測(cè)。因此,與預(yù)測(cè)單元1516相鄰的參考樣本t0到t16和l1到l16用來預(yù)測(cè)預(yù)測(cè)單元1516。預(yù)測(cè)單元1516中包括的樣本具有與參考樣本t0到t16和l1到l16的平均值相等的預(yù)測(cè)值。例如,當(dāng)參考樣本t0到t16的平均值是80時(shí),預(yù)測(cè)單元1516中包括的樣本的預(yù)測(cè)值都被確定為80。
預(yù)測(cè)單元1518以右下對(duì)角線模式進(jìn)行預(yù)測(cè)。因此,位于預(yù)測(cè)單元1518的左上方向上的參考樣本t0到t7和l1到l7用來預(yù)測(cè)預(yù)測(cè)單元1518。預(yù)測(cè)單元1518中包括的樣本具有與位于樣本的左上方向上的參考樣本的值相等的預(yù)測(cè)值。例如,當(dāng)t0的值是64時(shí),位于t0的右下方向上的樣本的預(yù)測(cè)值被確定為64。
根據(jù)另一實(shí)施例,可以基于位置來確定預(yù)測(cè)單元1512、1514、1516和1518的參考樣本。參考樣本可以包括與編碼單元1510相鄰的樣本之中的位于每個(gè)預(yù)測(cè)單元的水平方向上的樣本和位于預(yù)測(cè)單元的豎直方向上的樣本。此外,參考樣本可以包括位于預(yù)測(cè)單元的右上方向上的樣本和位于預(yù)測(cè)單元的左下方向上的樣本。如有必要,參考樣本還可以包括與編碼單元1510相鄰的樣本。
例如,預(yù)測(cè)單元1512的參考樣本可以包括位于預(yù)測(cè)單元1512的豎直方向上的樣本t0到t8和位于預(yù)測(cè)單元1512的水平方向上的樣本l1到l8。預(yù)測(cè)單元1512的參考樣本還可以包括位于預(yù)測(cè)單元1512的右上方向上的樣本t9到t16和位于預(yù)測(cè)單元1512的左下方向上的樣本l9到l16。由于預(yù)測(cè)單元1512以豎直模式進(jìn)行預(yù)測(cè),因此,基于參考樣本t1到t8來預(yù)測(cè)預(yù)測(cè)單元1512。
例如,預(yù)測(cè)單元1514的參考樣本可以包括位于預(yù)測(cè)單元1514的豎直方向上的樣本t9到t16和位于預(yù)測(cè)單元1514的水平方向上的樣本l1到l8。預(yù)測(cè)單元1514的參考樣本還可以包括位于預(yù)測(cè)單元1514的右上方向上的樣本t17到t24和位于預(yù)測(cè)單元1514的左下方向上的樣本l17到l24。由于預(yù)測(cè)單元1514以左下對(duì)角線模式進(jìn)行預(yù)測(cè),因此,基于參考樣本t10到t24來預(yù)測(cè)預(yù)測(cè)單元1514。
例如,預(yù)測(cè)單元1516的參考樣本可以包括位于預(yù)測(cè)單元1516的豎直方向上的樣本t0到t8和位于預(yù)測(cè)單元1516的水平方向上的樣本l9到l16。預(yù)測(cè)單元1516的參考樣本還可以包括位于預(yù)測(cè)單元1516的右上方向上的樣本t17到t24和位于預(yù)測(cè)單元1516的左下方向上的樣本l17到l24。由于預(yù)測(cè)單元1516以dc模式被預(yù)測(cè),因此,基于參考樣本l9到l16和t0到t8的平均值來預(yù)測(cè)預(yù)測(cè)單元1516。
例如,預(yù)測(cè)單元1518的參考樣本可以包括位于預(yù)測(cè)單元1518的豎直方向上的樣本t9到t16和位于預(yù)測(cè)單元1518的水平方向上的樣本l9到l16。預(yù)測(cè)單元1518的參考樣本還可以包括位于預(yù)測(cè)單元1518的右上方向上的樣本t25到t32和位于預(yù)測(cè)單元1518的左下方向上的樣本l25到l32。由于預(yù)測(cè)單元1518以右下對(duì)角線模式進(jìn)行預(yù)測(cè),因此,基于參考樣本t9到t16和l9到l16來預(yù)測(cè)預(yù)測(cè)單元1518。
如有必要,預(yù)測(cè)單元1512、1514、1516和1518的參考樣本可以包括與編碼單元1510相鄰的樣本。
圖16是用于描述應(yīng)用到預(yù)測(cè)單元的邊界的平滑濾波器的示意圖。圖16示出用于在預(yù)測(cè)單元被預(yù)測(cè)之后將平滑濾波器應(yīng)用到預(yù)測(cè)單元的邊界的幀內(nèi)預(yù)測(cè)方法的實(shí)施例。
編碼單元1610包括四個(gè)預(yù)測(cè)單元1612、1614、1616和1618。由于預(yù)測(cè)單元1612、1614、1616和1618以不同的幀內(nèi)預(yù)測(cè)模式進(jìn)行預(yù)測(cè),因此,位于預(yù)測(cè)單元1612、1614、1616和1618的邊界處的樣本的連續(xù)性較低。因此,可以將平滑濾波器應(yīng)用到位于預(yù)測(cè)單元1612、1614、1616和1618的邊界處的樣本,從而增加樣本之間的連續(xù)性。
基于三個(gè)條件,可以使用各種方法來應(yīng)用平滑濾波器。第一,基于樣本距離應(yīng)用平滑濾波器的邊界有多遠(yuǎn),可以不同地應(yīng)用平滑濾波器。例如,平滑濾波器可以只應(yīng)用到恰好靠著邊界的樣本。作為另一示例,平滑濾波器可以應(yīng)用到下列樣本:從恰好靠著邊界的樣本到與邊界遠(yuǎn)離兩個(gè)樣本單元的樣本。作為另一示例,應(yīng)用平滑濾波器的樣本的范圍可以基于預(yù)測(cè)單元1612、1614、1616和1618的尺寸進(jìn)行確定。
第二,基于所使用的濾波器的抽頭的數(shù)量,可以不同地應(yīng)用平滑濾波器。例如,當(dāng)使用3抽頭濾波器時(shí),基于左樣本和右樣本來對(duì)應(yīng)用平滑濾波器的樣本進(jìn)行濾波。作為另一示例,當(dāng)使用5抽頭濾波器時(shí),基于兩個(gè)左樣本和兩個(gè)右樣本來對(duì)應(yīng)用平滑濾波器的樣本進(jìn)行濾波。
第三,基于所使用的濾波器的濾波器系數(shù),可以不同地應(yīng)用平滑濾波器。當(dāng)使用3抽頭濾波器時(shí),可以將濾波器系數(shù)確定為[a1,a2,a3]。如果a2大于a1和a3,那么濾波的強(qiáng)度減小。當(dāng)使用5抽頭濾波器時(shí),可以將濾波器系數(shù)確定為[a1,a2,a3,a4,a5]。如果a3大于a1、a2、a4和a5,那么濾波的強(qiáng)度減小。例如,濾波器系數(shù)為[1,4,6,4,1]的5抽頭濾波器的濾波強(qiáng)度比濾波器系數(shù)為[1,2,10,2,1]的5抽頭濾波器的濾波強(qiáng)度高。
根據(jù)圖16的實(shí)施例1600,將平滑濾波器應(yīng)用到與預(yù)測(cè)單元1612、1614、1616和1618的邊界相鄰的樣本1620。由于將平滑濾波器應(yīng)用到樣本1620,因此,編碼單元1610中包括的樣本的連續(xù)性增加。
一個(gè)或多個(gè)實(shí)施例可以編寫為計(jì)算機(jī)程序,并且可以在使用非瞬時(shí)計(jì)算機(jī)可讀記錄介質(zhì)執(zhí)行程序的通用數(shù)字計(jì)算機(jī)中實(shí)施。非瞬時(shí)計(jì)算機(jī)可讀記錄介質(zhì)的示例包括磁存儲(chǔ)介質(zhì)(例如,rom、軟盤、硬盤等)、光記錄介質(zhì)(例如,cd-rom或dvd)等。
雖然已參考本發(fā)明的實(shí)施例特別展示并描述了本發(fā)明,但本領(lǐng)域普通技術(shù)人員將理解,在不脫離所附權(quán)利要求書的精神和范圍的情況下,可以對(duì)形式和細(xì)節(jié)做出各種改變。實(shí)施例應(yīng)僅被視作描述,而不是用于限制的目的。因此,本發(fā)明的范圍并不由具體實(shí)施方式限定,而是由所附權(quán)利要求限定,并且該范圍內(nèi)的所有差異都將被解釋為包括在本發(fā)明中。