執(zhí)行預(yù)測編碼和變換??筛鶕?jù)正交變換或整數(shù) 變換的方法來執(zhí)行變換。
[0167] 由于每當(dāng)根據(jù)深度對(duì)最大編碼單元進(jìn)行劃分時(shí),較深層編碼單元的數(shù)量增加,因 此對(duì)隨著深度加深而產(chǎn)生的所有較深層編碼單元執(zhí)行包括預(yù)測編碼和變換的編碼。為了便 于描述,在至少一個(gè)最大編碼單元中,現(xiàn)在將基于當(dāng)前深度的編碼單元來描述預(yù)測編碼和 變換。
[0168] 視頻編碼設(shè)備100可不同地選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的數(shù)據(jù)單元的尺寸或 形狀。為了對(duì)圖像數(shù)據(jù)進(jìn)行編碼,執(zhí)行諸如預(yù)測編碼、變換和熵編碼的操作,此時(shí),可針對(duì)所 有操作使用相同的數(shù)據(jù)單元,或者可針對(duì)每個(gè)操作使用不同的數(shù)據(jù)單元。
[0169] 例如,視頻編碼設(shè)備100不僅可選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的編碼單元,還可 選擇不同于編碼單元的數(shù)據(jù)單元,以便對(duì)編碼單元中的圖像數(shù)據(jù)執(zhí)行預(yù)測編碼。
[0170] 為了以最大編碼單元執(zhí)行預(yù)測編碼,可基于與編碼深度相應(yīng)的編碼單元(即,基 于不再被劃分到與更低深度相應(yīng)的編碼單元的編碼單元)來執(zhí)行預(yù)測編碼。在下文中,不 再被劃分且成為用于預(yù)測編碼的基本單元的編碼單元現(xiàn)在將被稱為"預(yù)測單元"。通過劃分 預(yù)測單元獲得的分區(qū)可包括預(yù)測單元或通過對(duì)預(yù)測單元的高度和寬度中的至少一個(gè)進(jìn)行 劃分而獲得的數(shù)據(jù)單元。分區(qū)可以是編碼單元的預(yù)測單元?jiǎng)澐中问降臄?shù)據(jù)單元,預(yù)測單元 可以是與編碼單元具有相同的尺寸的分區(qū)。
[0171] 例如,當(dāng)2NX2N(其中,N是正整數(shù))的編碼單元不再被劃分,并且成為2NX2N的 預(yù)測單元時(shí),分區(qū)的尺寸可以是2NX2N、2NXN、NX2N或NXN。分區(qū)類型的示例包括通過 對(duì)預(yù)測單元的高度或?qū)挾冗M(jìn)行對(duì)稱地劃分而獲得的對(duì)稱分區(qū)、通過對(duì)預(yù)測單元的高度或?qū)?度進(jìn)行非對(duì)稱地劃分(諸如,I:n或n:l)而獲得的分區(qū)、通過對(duì)預(yù)測單元進(jìn)行幾何地劃分 而獲得的分區(qū)、以及具有任意形狀的分區(qū)。
[0172] 預(yù)測單元的預(yù)測模式可以是幀內(nèi)模式、幀間模式和跳過模式中的至少一個(gè)。例如, 可對(duì)2NX2N、2NXN、NX2N或NXN的分區(qū)執(zhí)行幀內(nèi)模式或幀間模式。另外,可僅對(duì)2NX2N 的分區(qū)執(zhí)行跳過模式??蓪?duì)編碼單元中的一個(gè)預(yù)測單元獨(dú)立地執(zhí)行編碼,從而選擇具有最 小編碼誤差的預(yù)測模式。
[0173] 視頻編碼設(shè)備100不僅可基于用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的編碼單元,還可基于與 編碼單元不同的數(shù)據(jù)單元,來對(duì)編碼單元中的圖像數(shù)據(jù)執(zhí)行變換。為了在編碼單元中執(zhí)行 變換,可基于具有小于或等于編碼單元的尺寸的數(shù)據(jù)單元來執(zhí)行變換。例如,用于變換的數(shù) 據(jù)單元可包括幀內(nèi)模式的數(shù)據(jù)單元和幀間模式的數(shù)據(jù)單元。
[0174] 以與根據(jù)一個(gè)或更多個(gè)實(shí)施例的具有樹結(jié)構(gòu)的編碼單元類似的方式,編碼單元中 的變換單元可進(jìn)一步被遞歸地劃分為更小的變換單元,使得還可基于根據(jù)變換深度的具有 樹結(jié)構(gòu)的變換單元,對(duì)編碼單元的殘差數(shù)據(jù)進(jìn)行劃分。
[0175] 還可在變換單元中設(shè)置變換深度,其中,變換深度表示通過對(duì)編碼單元的高度和 寬度進(jìn)行劃分以達(dá)到變換單元的劃分次數(shù)。例如,在2NX2N的當(dāng)前編碼單元中,當(dāng)變換單 元的尺寸是2NX2N時(shí),變換深度可以為0,當(dāng)變換單元的尺寸是NXN時(shí),變換深度可以為 1,當(dāng)變換單元的尺寸是N/2XN/2時(shí),變換深度可以為2。換句話說,可根據(jù)變換深度設(shè)置具 有樹結(jié)構(gòu)的變換單元。
[0176] 根據(jù)與編碼深度相應(yīng)的編碼單元的編碼信息不僅需要關(guān)于編碼深度的信息,還需 要關(guān)于與預(yù)測編碼和變換相關(guān)的信息的信息。因此,編碼單元確定器120不僅確定具有最 小編碼誤差的編碼深度,還確定預(yù)測單元中的分區(qū)類型、根據(jù)預(yù)測單元的預(yù)測模式和用于 變換的變換單元的尺寸。
[0177] 稍后將參照?qǐng)D7至圖17詳細(xì)描述根據(jù)本公開的實(shí)施例確定最大編碼單元中的根 據(jù)樹結(jié)構(gòu)的編碼單元和確定預(yù)測單元/分區(qū)以及變換單元的一個(gè)或更多個(gè)方法。
[0178] 編碼單元確定器120可通過使用基于拉格朗日乘數(shù)的率失真優(yōu)化,測量根據(jù)深度 的較深層編碼單元的編碼誤差。
[0179] 輸出單元130在比特流中輸出最大編碼單元的圖像數(shù)據(jù)和關(guān)于根據(jù)編碼深度的 編碼模式的信息,其中,所述最大編碼單元的圖像數(shù)據(jù)基于由編碼單元確定器120確定的 至少一個(gè)編碼深度被編碼。
[0180] 可通過對(duì)圖像的殘差數(shù)據(jù)進(jìn)行編碼來獲得編碼圖像數(shù)據(jù)。
[0181] 關(guān)于根據(jù)編碼深度的編碼模式的信息可包括關(guān)于編碼深度的信息、關(guān)于預(yù)測單元 中的分區(qū)類型的信息、關(guān)于預(yù)測模式的信息和關(guān)于變換單元的尺寸的信息。
[0182] 可通過使用根據(jù)深度的劃分信息來定義關(guān)于編碼深度的信息,其中,根據(jù)深度的 劃分信息指示是否對(duì)更低深度而不是當(dāng)前深度的編碼單元執(zhí)行編碼。如果當(dāng)前編碼單元的 當(dāng)前深度是編碼深度,則對(duì)當(dāng)前編碼單元中的圖像數(shù)據(jù)進(jìn)行編碼和輸出,因此可將劃分信 息定義為不將當(dāng)前編碼單元?jiǎng)澐值礁蜕疃取?蛇x地,如果當(dāng)前編碼單元的當(dāng)前深度不是 編碼深度,則對(duì)更低深度的編碼單元執(zhí)行編碼,并因此可將劃分信息定義為對(duì)當(dāng)前編碼單 元進(jìn)行劃分來獲得更低深度的編碼單元。
[0183] 如果當(dāng)前深度不是編碼深度,則對(duì)被劃分到更低深度的編碼單元的編碼單元執(zhí)行 編碼。由于更低深度的至少一個(gè)編碼單元存在于當(dāng)前深度的一個(gè)編碼單元中,因此對(duì)更低 深度的每個(gè)編碼單元重復(fù)執(zhí)行編碼,并且因此可對(duì)具有相同深度的編碼單元遞歸地執(zhí)行編 碼。
[0184] 由于針對(duì)一個(gè)最大編碼單元確定具有樹結(jié)構(gòu)的編碼單元,并且針對(duì)編碼深度的編 碼單元確定關(guān)于至少一個(gè)編碼模式的信息,所以可針對(duì)一個(gè)最大編碼單元確定關(guān)于至少一 個(gè)編碼模式的信息。此外,由于根據(jù)深度對(duì)最大編碼單元中的編碼單元進(jìn)行分層劃分,因此 最大編碼單元的編碼單元的編碼深度可根據(jù)編碼單元的位置而不同,因此可針對(duì)編碼單元 設(shè)置關(guān)于編碼深度和編碼模式的信息。
[0185] 因此,輸出單元130可將關(guān)于相應(yīng)的編碼深度和編碼模式的編碼信息分配給包括 在最大編碼單元中的編碼單元、預(yù)測單元和最小單元中的至少一個(gè)。
[0186] 根據(jù)一個(gè)或更多個(gè)實(shí)施例的最小單元是通過將構(gòu)成最低深度的最小編碼單元?jiǎng)?分為4份而獲得的正方形數(shù)據(jù)單元。可選擇地,最小單元可以是可包括在最大編碼單元中 所包括的所有編碼單元、預(yù)測單元、分區(qū)單元和變換單元中的最大正方形數(shù)據(jù)單元。
[0187] 例如,通過輸出單元130輸出的編碼信息可被分類為根據(jù)基于編碼深度的編碼單 元的編碼信息和根據(jù)預(yù)測單元的編碼信息。根據(jù)基于編碼深度的編碼單元的編碼信息可包 括關(guān)于預(yù)測模式的信息和關(guān)于分區(qū)尺寸的信息。根據(jù)預(yù)測單元發(fā)送的編碼信息可包括關(guān)于 幀間模式的估計(jì)方向的信息、關(guān)于幀間模式的參考圖像索引的信息、關(guān)于運(yùn)動(dòng)矢量的信息、 關(guān)于幀內(nèi)模式的色度分量的信息、以及關(guān)于幀內(nèi)模式的插值方法的信息。
[0188] 此外,根據(jù)畫面、條帶或GOP定義的關(guān)于編碼單元的最大尺寸的信息和關(guān)于最大 深度的信息可被插入到比特流的頭、序列參數(shù)集(SPS)或畫面參數(shù)集(PPS)。
[0189] 此外,可通過比特流的頭、SPS或PPS輸出針對(duì)當(dāng)前視頻允許的關(guān)于變換單元的最 大尺寸的信息和關(guān)于變換的最小尺寸的信息。輸出單元130可對(duì)與預(yù)測有關(guān)的參考信息、 預(yù)測信息和條帶類型信息等進(jìn)行編碼,并輸出這些信息。
[0190] 在根據(jù)實(shí)施例的視頻編碼設(shè)備100中,較深層編碼單元可以是通過將更高深度 (更高一層)的編碼單元的高度或?qū)挾葎澐殖蓛煞荻@得的編碼單元。換句話說,在當(dāng)前 深度的編碼單元的尺寸是2NX2N時(shí),更低深度的編碼單元的尺寸是NXN。此外,尺寸為 2NX2N的當(dāng)前深度的編碼單元可包括最多4個(gè)更低深度的編碼單元。
[0191] 因此,視頻編碼設(shè)備100可基于考慮當(dāng)前畫面的特征而確定的最大編碼單元的尺 寸和最大深度,通過針對(duì)每個(gè)最大編碼單元確定具有最優(yōu)形狀和最優(yōu)尺寸的編碼單元來形 成具有樹結(jié)構(gòu)的編碼單元。此外,由于可通過使用各種預(yù)測模式和變換中的任意一個(gè)對(duì)每 個(gè)最大編碼單元執(zhí)行編碼,因此可考慮各種圖像尺寸的編碼單元的特征來確定最優(yōu)編碼模 式。
[0192] 因此,如果以傳統(tǒng)宏塊對(duì)具有高分辨率或大數(shù)據(jù)量的圖像進(jìn)行編碼,則每個(gè)畫面 的宏塊的數(shù)量極度增加。因此,針對(duì)每個(gè)宏塊產(chǎn)生的壓縮信息的條數(shù)增加,因此難以發(fā)送壓 縮的信息,并且數(shù)據(jù)壓縮效率降低。然而,通過使用視頻編碼設(shè)備100,由于考慮圖像的尺 寸,在增加編碼單元的最大尺寸的同時(shí),考慮圖像的特征來調(diào)整編碼單元,因此圖像壓縮效 率可增加。
[0193] 視頻編碼設(shè)備100可確定參考畫面列表來執(zhí)行根據(jù)以上參照?qǐng)D2A和圖2B描述的 運(yùn)動(dòng)預(yù)測方法的幀間預(yù)測。
[0194] 編碼單元確定器120可針對(duì)每個(gè)最大編碼單元,確定用于具有樹結(jié)構(gòu)的每個(gè)編碼 單元的幀間預(yù)測的預(yù)測單元,并可針對(duì)每個(gè)預(yù)測單元和其分區(qū)執(zhí)行幀間預(yù)測。
[0195] 編碼單元確定器120針對(duì)視頻的圖像確定用于時(shí)間預(yù)測的參考圖像。參考圖像確 定設(shè)備10確定指示當(dāng)前圖像與鄰近圖像之間的時(shí)間距離的預(yù)測信息、殘差等。因此,可通 過使用預(yù)測信息而非整個(gè)圖像數(shù)據(jù)來記錄圖像信息。
[0196] 編碼單元確定器120可確定包括在編碼單元中的預(yù)測單元的尺寸,并可確定針對(duì) 當(dāng)前預(yù)測單元是執(zhí)行幀內(nèi)預(yù)測還是執(zhí)行幀間預(yù)測。在當(dāng)前條帶是B條帶時(shí),將用于當(dāng)前預(yù) 測單元的幀間預(yù)測的參考列表可被確定。也就是說,指示參考列表是LO列表、Ll列表還是 雙預(yù)測列表的幀間預(yù)測索引可被確定。
[0197] 在根據(jù)一個(gè)或更多個(gè)實(shí)施例的當(dāng)前預(yù)測單元的尺寸是4X8或8X4時(shí),幀間預(yù)測 索引可指示LO列表和Ll列表之一的參考畫面列表。在根據(jù)一個(gè)或更多個(gè)實(shí)施例的當(dāng)前預(yù) 測單元的尺寸不是4X8或8X4時(shí),幀間預(yù)測索引可指示LO列表、Ll列表和雙預(yù)測之一的 參考畫面列表。
[0198] 輸出單元130可將雙預(yù)測限制信息包括在條帶頭,其中,所述雙預(yù)測限制信息指 示在當(dāng)前條帶中針對(duì)4X8或8X4尺寸的預(yù)測單元是否允許進(jìn)行下述幀間預(yù)測:在所述幀 間預(yù)測中,針對(duì)當(dāng)前預(yù)測單元使用包括LO列表和Ll列表的雙預(yù)測列表。
[0199] 輸出單元130可用參考索引信息和運(yùn)動(dòng)矢量差信息,對(duì)根據(jù)當(dāng)前預(yù)測單元的尺寸 確定的幀間預(yù)測索引信息進(jìn)行編碼和輸出。
[0200] 在根據(jù)一個(gè)或更多個(gè)實(shí)施例的當(dāng)前預(yù)測單元的尺寸是4X8或8X4時(shí),可跳過針 對(duì)指示畫面列表是雙預(yù)測列表的信息的二值化操作。
[0201] 編碼單元確定器120可確定指示參考索引以及當(dāng)前圖像和周圍圖像之間的時(shí)間 距離的預(yù)測信息、殘差等。
[0202] 圖6是根據(jù)一個(gè)或更多個(gè)實(shí)施例的基于具有樹結(jié)構(gòu)的編碼單元的涉及視頻預(yù)測 的視頻解碼設(shè)備200的框圖。
[0203] 視頻解碼設(shè)備200包括接收器210、圖像數(shù)據(jù)和編碼信息提取器220以及圖像數(shù)據(jù) 解碼器230。在下文中,為了便于描述,根據(jù)一個(gè)或更多個(gè)實(shí)施例的"基于具有樹結(jié)構(gòu)的編 碼單元的涉及視頻預(yù)測的視頻解碼設(shè)備200"將被稱為"視頻解碼設(shè)備200"。
[0204] 用于視頻解碼設(shè)備200的各種解碼操作的各種術(shù)語(諸如編碼單元、深度、預(yù)測單 元、變換單元和關(guān)于各種編碼模式的信息)的定義與參照?qǐng)D5和視頻編碼設(shè)備100描述的 那些術(shù)語相同。
[0205] 接收器210接收和解析編碼視頻的比特流。圖像數(shù)據(jù)和編碼信息提取器220從解 析的比特流,針對(duì)每個(gè)編碼單元提取編碼圖像數(shù)據(jù),并將提取的圖像數(shù)據(jù)輸出到圖像數(shù)據(jù) 解碼器230,其中,編碼單元具有根據(jù)每個(gè)最大編碼單元的樹結(jié)構(gòu)。圖像數(shù)據(jù)和編碼信息提 取器220可從關(guān)于當(dāng)前畫面的頭、SPS或PPS提取關(guān)于當(dāng)前畫面的編碼單元的最大尺寸的 信息。
[0206] 此外,圖像數(shù)據(jù)和編碼信息提取器220從解析的比特流,根據(jù)每個(gè)最大編碼單元, 提取關(guān)于具有樹結(jié)構(gòu)的編碼單元的編碼深度和編碼模式的信息。提取的關(guān)于編碼深度和編 碼模式的信息被輸出到圖像數(shù)據(jù)解碼器230。換句話說,比特流中的圖像數(shù)據(jù)被劃分為最大 編碼單元,使得圖像數(shù)據(jù)解碼器230針對(duì)每個(gè)最大編碼單元對(duì)圖像數(shù)據(jù)進(jìn)行解碼。
[0207] 可針對(duì)關(guān)于與編碼深度相應(yīng)的至少一個(gè)編碼單元的信息設(shè)置關(guān)于根據(jù)最大編碼 單元的編碼深度和編碼模式的信息,關(guān)于編碼模式的信息可包括關(guān)于與編碼深度相應(yīng)的相 應(yīng)編碼單元的分區(qū)類型的信息、關(guān)于預(yù)測模式的信息和關(guān)于變換單元的尺寸的信息。此外, 根據(jù)深度的劃分信息可被提取為關(guān)于編碼深度的信息。
[0208] 由圖像數(shù)據(jù)和編碼信息提取器220提取的關(guān)于根據(jù)每個(gè)最大編碼單元的編碼深 度和編碼模式的信息是關(guān)于這樣的編碼深度和編碼模式的信息:該編碼深度和編碼模式被 確定為在編碼器(諸如,視頻編碼設(shè)備100)根據(jù)每個(gè)最大編碼單元對(duì)根據(jù)深度的每個(gè)較深 層編碼單元重復(fù)地執(zhí)行編碼時(shí)產(chǎn)生最小編碼誤差。因此,視頻解碼設(shè)備200可通過根據(jù)產(chǎn) 生最小編碼誤差的編碼深度和編碼模式對(duì)圖像數(shù)據(jù)進(jìn)行解碼來恢復(fù)圖像。
[0209] 由于關(guān)于編碼深度和編碼模式的編碼信息可被分配給相應(yīng)的編碼單元、預(yù)測單元 和最小單元之中的預(yù)定數(shù)據(jù)單元,因此圖像數(shù)據(jù)和編碼信息提取器220可根據(jù)預(yù)定數(shù)據(jù)單 元,提取關(guān)于編碼深度和編碼模式的信息。可將被分配了相同的關(guān)于編碼深度和編碼模式 的信息的預(yù)定數(shù)據(jù)單元推斷為是包括在同一最大編碼單元中的數(shù)據(jù)單元。
[0210] 圖像數(shù)據(jù)解碼器230基于關(guān)于根據(jù)最大編碼單元的編碼深度和編碼模式的信息, 通過對(duì)每個(gè)最大編碼單元中的圖像數(shù)據(jù)進(jìn)行解碼,來恢復(fù)當(dāng)前畫面。換句話說,圖像數(shù)據(jù)解 碼器230可基于提取出的關(guān)于包括在每個(gè)最大編碼單元中的具有樹結(jié)構(gòu)的編碼單元之中 的每個(gè)編碼單元的分區(qū)類型、預(yù)測模式和變換單元的信息,對(duì)編碼圖像數(shù)據(jù)進(jìn)行解碼。解碼 處理可包括預(yù)測(包含幀內(nèi)預(yù)測和運(yùn)動(dòng)補(bǔ)償)和逆變換。
[0211] 圖像數(shù)據(jù)解碼器230可基于關(guān)于根據(jù)編碼深度的編碼單元的預(yù)測單元的分區(qū)類 型和預(yù)測模式的信息,根據(jù)每個(gè)編碼單元的分區(qū)和預(yù)測模式,執(zhí)行幀內(nèi)預(yù)測或運(yùn)動(dòng)補(bǔ)償。
[0212] 此外,圖像數(shù)據(jù)解碼器230可基于關(guān)于根據(jù)深度的編碼單元的變換單元的尺寸的 信息,根據(jù)編碼單元中的每個(gè)變換單元來執(zhí)行逆變換,從而根據(jù)每個(gè)最大編碼單元執(zhí)行逆 變換。通過逆變換,可恢復(fù)編碼單元的空間域的像素值。
[0213] 圖像數(shù)據(jù)解碼器230可通過使用根據(jù)深度的劃分信息來確定當(dāng)前最大編碼單元 的至少一個(gè)編碼深度。如果劃分信息指示圖像數(shù)據(jù)在當(dāng)前深度中不再被劃分,則當(dāng)前深度 是編碼深度。因此,圖像數(shù)據(jù)解碼器230可通過使用關(guān)于與編碼深度相應(yīng)的每個(gè)編碼單元 的預(yù)測單元的分區(qū)類型、預(yù)測模式和變換單元的尺寸的信息,對(duì)當(dāng)前最大編碼單元中的編 碼圖像數(shù)據(jù)進(jìn)行解碼。
[0214] 換句話說,可通過觀察分配給編碼單元、預(yù)測單元和最小單元之中的預(yù)定數(shù)據(jù)單 元的編碼信息集來收集包含包括相同劃分信息的編碼信息的數(shù)據(jù)單元,并且