視頻的解碼方法
【專(zhuān)利說(shuō)明】
[0001] 本申請(qǐng)是申請(qǐng)日為2013年7月2日,申請(qǐng)?zhí)枮?201380035699. 9",標(biāo)題為"對(duì)視 頻進(jìn)行熵編碼的方法和設(shè)備以及對(duì)視頻進(jìn)行熵解碼的方法和設(shè)備"的發(fā)明專(zhuān)利申請(qǐng)的分案 申請(qǐng)。
技術(shù)領(lǐng)域
[0002] 本發(fā)明的一個(gè)或更多個(gè)實(shí)施例涉及視頻編碼和解碼,更具體地講,涉及一種用于 對(duì)與變換單元相關(guān)的信息進(jìn)行熵編碼和熵解碼的方法和設(shè)備。
【背景技術(shù)】
[0003] 根據(jù)圖像壓縮方法(諸如MPEG-1、MPEG-2或MPEG-4H. 264/MPEG-4先進(jìn)視頻編碼 (AVC)),圖像被劃分為具有預(yù)定尺寸的塊,然后,通過(guò)幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)獲得塊的殘差數(shù) 據(jù)。通過(guò)變換、量化、掃描、游程編碼和熵編碼對(duì)殘差數(shù)據(jù)進(jìn)行壓縮。在熵編碼中,對(duì)句法元 素(諸如變換系數(shù)或預(yù)測(cè)模式)進(jìn)行熵編碼以輸出比特流。解碼器從比特流解析并提取句 法元素,并基于提取的句法元素重建圖像。
【發(fā)明內(nèi)容】
[0004] 技術(shù)問(wèn)題
[0005] 本發(fā)明的一個(gè)或更多個(gè)實(shí)施例包括這樣的熵編碼方法和設(shè)備以及熵解碼方法和 設(shè)備,所述方法和設(shè)備用于基于指示編碼單元和變換單元之間的分層劃分關(guān)系的變換深 度,來(lái)選擇上下文模型,該上下文模型用于對(duì)與作為用于對(duì)編碼單元進(jìn)行變換的數(shù)據(jù)單元 的變換單元有關(guān)的句法元素進(jìn)行熵編碼和熵解碼。
[0006] 解決方案
[0007] 基于變換深度來(lái)確定用于對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)解碼的上下文模型, 并且基于確定的上下文模型對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)解碼,其中,變換深度指示 為了確定包括在編碼單元中的變換單元而對(duì)編碼單元進(jìn)行劃分的次數(shù)。
[0008] 有益效果
[0009] 根據(jù)本發(fā)明的實(shí)施例,通過(guò)基于變換深度來(lái)選擇上下文模型,用于選擇上下文模 型的條件可被簡(jiǎn)化并且用于熵編碼和熵解碼的操作也可被簡(jiǎn)化。
【附圖說(shuō)明】
[0010] 圖1是根據(jù)本發(fā)明的實(shí)施例的視頻編碼設(shè)備的框圖。
[0011] 圖2是根據(jù)本發(fā)明的實(shí)施例的視頻解碼設(shè)備的框圖。
[0012] 圖3是用于描述根據(jù)本發(fā)明的實(shí)施例的編碼單元的概念的示圖。
[0013] 圖4是根據(jù)本發(fā)明的實(shí)施例的基于具有分層結(jié)構(gòu)的編碼單元的視頻編碼器的框 圖。
[0014] 圖5是根據(jù)本發(fā)明的實(shí)施例的基于具有分層結(jié)構(gòu)的編碼單元的視頻解碼器的框 圖。
[0015] 圖6是示出根據(jù)本發(fā)明的實(shí)施例的根據(jù)深度的較深層編碼單元和分區(qū)的示圖。
[0016] 圖7是用于描述根據(jù)本發(fā)明的實(shí)施例的編碼單元與變換單元之間的關(guān)系的示圖。
[0017] 圖8是用于描述根據(jù)本發(fā)明的實(shí)施例的與編碼深度相應(yīng)的編碼單元的編碼信息 的示圖。
[0018] 圖9是根據(jù)本發(fā)明的實(shí)施例的根據(jù)深度的較深層編碼單元的示圖。
[0019] 圖10至圖12是用于描述根據(jù)本發(fā)明的實(shí)施例的編碼單元、預(yù)測(cè)單元和頻率變換 單元之間的關(guān)系的示圖。
[0020] 圖13是用于描述根據(jù)表1的編碼模式信息的編碼單元、預(yù)測(cè)單元和變換單元之間 的關(guān)系的不圖。
[0021] 圖14是根據(jù)本發(fā)明的實(shí)施例的熵編碼設(shè)備的框圖。
[0022] 圖15是示出根據(jù)本發(fā)明的實(shí)施例的對(duì)與變換單元相關(guān)的句法元素進(jìn)行熵編碼和 熵解碼的操作的流程圖。
[0023] 圖16是示出根據(jù)本發(fā)明的實(shí)施例的編碼單元和包括在編碼單元中的變換單元的 示圖。
[0024] 圖17是示出用于基于變換深度確定圖16的每個(gè)變換單元的變換單元有效系數(shù)標(biāo) 記的上下文模型的上下文增加參數(shù)的示圖。
[0025] 圖18是示出根據(jù)本發(fā)明的另一實(shí)施例的編碼單元和包括在編碼單元中的變換單 元的示圖。
[0026] 圖19是示出根據(jù)本發(fā)明的實(shí)施例的用于確定包括在圖16的編碼單元中的變換單 元的結(jié)構(gòu)的劃分信息標(biāo)記的示圖。
[0027] 圖20示出根據(jù)本發(fā)明的實(shí)施例被熵編碼的變換單元。
[0028] 圖21示出與圖20的變換單元相應(yīng)的有效圖。
[0029] 圖 22 不出與圖 20 的 4X4 變換單元相應(yīng)的coeff_abs_level_greaterl_flag〇
[0030] 圖 23 不出與圖 20 的 4X4 變換單元相應(yīng)的coeff_abs_level_greater2_flag〇
[0031] 圖24不出與圖20的4X4變換單元相應(yīng)的coeff_abs_level_remaining。
[0032] 圖25是根據(jù)本發(fā)明的實(shí)施例的視頻的熵編碼方法的流程圖。
[0033] 圖26是根據(jù)本發(fā)明的實(shí)施例的熵解碼設(shè)備的框圖。
[0034] 圖27是根據(jù)本發(fā)明的實(shí)施例的視頻的熵解碼方法的流程圖。
[0035] 最佳實(shí)施方式
[0036] 根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施例,一種視頻的熵解碼方法,所述方法包括:確定 包括在編碼單元中并用于對(duì)編碼單元進(jìn)行逆變換的變換單元;從比特流獲得變換單元有效 系數(shù)標(biāo)記,其中,變換單元有效系數(shù)標(biāo)記指示非零變換系數(shù)是否存在于變換單元中;在為了 確定變換單元而對(duì)編碼單元進(jìn)行劃分的次數(shù)被稱為變換單元的變換深度的情況下,基于變 換單元的變換深度來(lái)確定用于對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)解碼的上下文模型;基于 確定的上下文模型來(lái)對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)解碼。
[0037] 根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施例,一種視頻的熵解碼設(shè)備,所述設(shè)備包括:解析 器,用于從比特流獲得變換單元有效系數(shù)標(biāo)記,其中,變換單元有效系數(shù)標(biāo)記指示非零變換 系數(shù)是否存在于變換單元中,變換單元包括在編碼單元中并用于對(duì)編碼單元進(jìn)行逆變換; 上下文建模器,用于在為了確定變換單元而對(duì)編碼單元進(jìn)行劃分的次數(shù)被稱為變換單元的 變換深度的情況下,基于變換單元的變換深度來(lái)確定用于對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算 術(shù)解碼的上下文模型;算術(shù)解碼器,用于基于確定的上下文模型來(lái)對(duì)變換單元有效系數(shù)標(biāo) 記進(jìn)行算術(shù)解碼。
[0038] 根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施例,一種視頻的熵編碼方法,所述方法包括:獲得 基于變換單元而變換的編碼單元的數(shù)據(jù);在為了確定變換單元而對(duì)編碼單元進(jìn)行劃分的次 數(shù)被稱為變換單元的變換深度的情況下,基于變換單元的變換深度來(lái)確定用于對(duì)變換單元 有效系數(shù)標(biāo)記進(jìn)行算術(shù)編碼的上下文模型,其中,變換單元有效系數(shù)標(biāo)記指示非零變換系 數(shù)是否存在于變換單元中;基于確定的上下文模型來(lái)對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)編 碼。
[0039] 根據(jù)本發(fā)明的一個(gè)或更多個(gè)實(shí)施例,一種視頻的熵編碼設(shè)備,所述設(shè)備包括:上下 文建模器,用于獲得基于變換單元而變換的編碼單元的數(shù)據(jù),并且在為了確定變換單元而 對(duì)編碼單元進(jìn)行劃分的次數(shù)被稱為變換單元的變換深度的情況下,基于變換單元的變換深 度來(lái)確定用于對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)編碼的上下文模型,其中,變換單元有效 系數(shù)標(biāo)記指示非零變換系數(shù)是否存在于變換單元中;算術(shù)編碼器,用于基于確定的上下文 模型來(lái)對(duì)變換單元有效系數(shù)標(biāo)記進(jìn)行算術(shù)編碼。
【具體實(shí)施方式】
[0040] 以下,將參照?qǐng)D1至圖13描述根據(jù)本發(fā)明的實(shí)施例的用于更新在對(duì)變換單元的尺 寸信息進(jìn)行熵編碼和熵解碼中使用的參數(shù)的方法和設(shè)備。此外,將參照?qǐng)D14至圖27詳細(xì) 地描述通過(guò)使用參照?qǐng)D1至圖13描述的對(duì)視頻進(jìn)行熵編碼和熵解碼的方法獲得的句法元 素進(jìn)行熵編碼和熵解碼的方法。當(dāng)諸如"…中的至少一個(gè)"的表述在一列元素之后時(shí),該表 述修飾整列元素而不是修飾該列中的個(gè)別元素。
[0041 ] 圖1是根據(jù)本發(fā)明的實(shí)施例的視頻編碼設(shè)備100的框圖。
[0042] 視頻編碼設(shè)備100包括分層編碼器110和熵編碼器120。
[0043] 分層編碼器110可以以預(yù)定數(shù)據(jù)單元為單位劃分將編碼的當(dāng)前畫(huà)面,以對(duì)每個(gè)數(shù) 據(jù)單元執(zhí)行編碼。詳細(xì)地講,分層編碼器110可基于最大編碼單元?jiǎng)澐之?dāng)前畫(huà)面,其中,最 大編碼單元是最大尺寸的編碼單元。根據(jù)本發(fā)明的實(shí)施例的最大編碼單元可以是尺寸為 32X32、64X64、128X128、256X256等的數(shù)據(jù)單元,其中,數(shù)據(jù)單元的形狀是具有2的若干 次方且大于8的寬度和長(zhǎng)度的方形。
[0044] 根據(jù)本發(fā)明的實(shí)施例的編碼單元可由最大尺寸和深度表征。深度表示編碼單元從 最大編碼單元被空間劃分的次數(shù),并且隨著深度加深,根據(jù)深度的較深層編碼單元可從最 大編碼單元被劃分到最小編碼單元。最大編碼單元的深度為最高深度,最小編碼單元的深 度為最低深度。由于隨著最大編碼單元的深度加深,與每個(gè)深度相應(yīng)的編碼單元的尺寸減 小,因此與更高深度相應(yīng)的編碼單元可包括多個(gè)與更低深度相應(yīng)的編碼單元。
[0045] 如上所述,當(dāng)前畫(huà)面的圖像數(shù)據(jù)根據(jù)編碼單元的最大尺寸被劃分為最大編碼單 元,并且每個(gè)最大編碼單元可包括根據(jù)深度被劃分的較深層編碼單元。由于根據(jù)深度對(duì)根 據(jù)本發(fā)明的實(shí)施例的最大編碼單元進(jìn)行劃分,因此可根據(jù)深度對(duì)在最大編碼單元中包括的 空間域的圖像數(shù)據(jù)進(jìn)行分層地分類(lèi)。
[0046] 可預(yù)先確定編碼單元的最大深度和最大尺寸,所述最大深度和最大尺寸限制對(duì)最 大編碼單元的高度和寬度進(jìn)行分層劃分的總次數(shù)。
[0047] 分層編碼器110對(duì)通過(guò)根據(jù)深度對(duì)最大編碼單元的區(qū)域進(jìn)行劃分而獲得的至少 一個(gè)劃分區(qū)域進(jìn)行編碼,并且根據(jù)所述至少一個(gè)劃分區(qū)域來(lái)確定用于輸出最終編碼的圖像 數(shù)據(jù)的深度。換句話說(shuō),分層編碼器110通過(guò)根據(jù)當(dāng)前畫(huà)面的最大編碼單元以根據(jù)深度的 較深層編碼單元對(duì)圖像數(shù)據(jù)進(jìn)行編碼,并選擇具有最小編碼誤差的深度,來(lái)確定編碼深度。 確定的編碼深度和根據(jù)最大編碼單元的被編碼的圖像數(shù)據(jù)被輸出到熵編碼器120。
[0048] 基于與等于或小于最大深度的至少一個(gè)深度相應(yīng)的較深層編碼單元,對(duì)最大編碼 單元中的圖像數(shù)據(jù)進(jìn)行編碼,并且基于每個(gè)較深層編碼單元來(lái)比較對(duì)圖像數(shù)據(jù)進(jìn)行編碼的 結(jié)果。在對(duì)較深層編碼單元的編碼誤差進(jìn)行比較之后,可選擇具有最小編碼誤差的深度???針對(duì)每個(gè)最大編碼單元選擇至少一個(gè)編碼深度。
[0049] 隨著編碼單元根據(jù)深度被分層地劃分并隨著編碼單元的數(shù)量增加,最大編碼單元 的尺寸被劃分。另外,即使在一個(gè)最大編碼單元中編碼單元與同一深度相應(yīng),也通過(guò)分別測(cè) 量每個(gè)編碼單元的圖像數(shù)據(jù)的編碼誤差來(lái)確定是否將與同一深度相應(yīng)的每個(gè)編碼單元?jiǎng)?分為更低深度。因此,即使圖像數(shù)據(jù)被包括在一個(gè)最大編碼單元中,圖像數(shù)據(jù)仍被劃分為根 據(jù)深度的區(qū)域,并且在一個(gè)最大編碼單元中編碼誤差根據(jù)區(qū)域而不同,因此在圖像數(shù)據(jù)中 編碼深度可根據(jù)區(qū)域而不同。因此,可在一個(gè)最大編碼單元中確定一個(gè)或更多個(gè)編碼深度, 并且可根據(jù)至少一個(gè)編碼深度的編碼單元來(lái)對(duì)最大編碼單元的圖像數(shù)據(jù)進(jìn)行劃分。
[0050] 因此,分層編碼器110可確定在最大編碼單元中包括的具有樹(shù)結(jié)構(gòu)的編碼單元。 根據(jù)本發(fā)明的實(shí)施例的"具有樹(shù)結(jié)構(gòu)的編碼單元"包括在最大編碼單元中包括的所有較深 層編碼單元中的與確定為編碼深度的深度相應(yīng)的編碼單元??稍谧畲缶幋a單元的同一區(qū)域 中根據(jù)深度來(lái)分層地確定具有編碼深度的編碼單元,并可在不同區(qū)域中獨(dú)立地確定具有編 碼深度的編碼單元。類(lèi)似地,當(dāng)前區(qū)域中的編碼深度可獨(dú)立于另一區(qū)域中的編碼深度而被 確定。
[0051] 根據(jù)本發(fā)明的實(shí)施例的最大深度是與最大編碼單元被劃分為最小編碼單元的次 數(shù)有關(guān)的索引。根據(jù)本發(fā)明的實(shí)施例的第一最大深度可表示最大編碼單元被劃分為最小編 碼單元的總次數(shù)。根據(jù)本發(fā)明的實(shí)施例的第二最大深度可表示從最大編碼單元到最小編碼 單元的深度等級(jí)的總數(shù)。例如,當(dāng)最大編碼單元的深度為〇時(shí),對(duì)最大編碼單元?jiǎng)澐忠淮蔚?編碼單元的深度可被設(shè)置為1,對(duì)最大編碼單元?jiǎng)澐謨纱蔚木幋a單元的深度可被設(shè)置為2。 這里,如果最小編碼單元是對(duì)最大編碼單元?jiǎng)澐炙拇蔚木幋a單元,則存在深度〇、1、2、3和4 的5個(gè)深度等級(jí),并因此第一最大深度可被設(shè)置為4,第二最大深度可被設(shè)置為5。
[0052] 可根據(jù)最大編碼單元執(zhí)行預(yù)測(cè)編碼和變換。還根據(jù)最大編碼單元,基于根據(jù)等于 或小于最大深度的深度的較深層編碼單元來(lái)執(zhí)行預(yù)測(cè)編碼和變換。
[0053] 由于每當(dāng)根據(jù)深度對(duì)最大編碼單元進(jìn)行劃分時(shí),較深層編碼單元的數(shù)量增加,因 此對(duì)隨著深度加深而產(chǎn)生的所有較深層編碼單元執(zhí)行包括預(yù)測(cè)編碼和變換的編碼。為了便 于描述,在最大編碼單元中,現(xiàn)在將基于當(dāng)前深度的編碼單元來(lái)描述預(yù)測(cè)編碼和變換。
[0054] 視頻編碼設(shè)備100可不同地選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的數(shù)據(jù)單元的尺寸或 形狀。為了對(duì)圖像數(shù)據(jù)進(jìn)行編碼,執(zhí)行諸如預(yù)測(cè)編碼、變換和熵編碼的操作,此時(shí),可針對(duì)所 有操作使用相同的數(shù)據(jù)單元,或者可針對(duì)每個(gè)操作使用不同的數(shù)據(jù)單元。
[0055] 例如,視頻編碼設(shè)備100不僅可選擇用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的編碼單元,還可 選擇不同于編碼單元的數(shù)據(jù)單元,以便對(duì)編碼單元中的圖像數(shù)據(jù)執(zhí)行預(yù)測(cè)編碼。
[0056] 為了對(duì)最大編碼單元執(zhí)行預(yù)測(cè)編碼,可基于與編碼深度相應(yīng)的編碼單元(即,基 于不再被劃分成與更低深度相應(yīng)的編碼單元的編碼單元)來(lái)執(zhí)行預(yù)測(cè)編碼。以下,不再被 劃分且成為用于預(yù)測(cè)編碼的基本單元的編碼單元將被稱為"預(yù)測(cè)單元"。通過(guò)劃分預(yù)測(cè)單元 而獲得的分區(qū)可包括預(yù)測(cè)單元或通過(guò)對(duì)預(yù)測(cè)單元的高度和寬度中的至少一個(gè)進(jìn)行劃分而 獲得的數(shù)據(jù)單元。
[0057] 例如,當(dāng)2NX2N(其中,N是正整數(shù))的編碼單元不再被劃分,并且成為2NX2N的 預(yù)測(cè)單元時(shí),分區(qū)的尺寸可以是2NX2N、2NXN、NX2N或NXN。分區(qū)類(lèi)型的示例包括通過(guò) 對(duì)預(yù)測(cè)單元的高度或?qū)挾冗M(jìn)行對(duì)稱地劃分而獲得的對(duì)稱分區(qū)、通過(guò)對(duì)預(yù)測(cè)單元的高度或?qū)?度進(jìn)行非對(duì)稱地劃分(諸如,1 :n或n:l)而獲得的分區(qū)、通過(guò)對(duì)預(yù)測(cè)單元進(jìn)行幾何地劃分 而獲得的分區(qū)、以及具有任意形狀的分區(qū)。
[0058] 預(yù)測(cè)單元的預(yù)測(cè)模式可以是幀內(nèi)模式、幀間模式和跳過(guò)模式中的至少一個(gè)。例如, 可對(duì)2NX2N、2NXN、NX2N或NXN的分區(qū)執(zhí)行幀內(nèi)模式或幀間模式。另外,可僅對(duì)2NX2N 的分區(qū)執(zhí)行跳過(guò)模式??蓪?duì)編碼單元中的一個(gè)預(yù)測(cè)單元獨(dú)立地執(zhí)行編碼,從而選擇具有最 小編碼誤差的預(yù)測(cè)模式。
[0059] 視頻編碼設(shè)備100不僅可基于用于對(duì)圖像數(shù)據(jù)進(jìn)行編碼的編碼單元還可基于與 編碼單元不同的數(shù)據(jù)單元,來(lái)對(duì)編碼單元中的圖像數(shù)據(jù)執(zhí)行變換。
[0060] 為了在編碼單元中執(zhí)行變換,可基于具有尺寸等于或小于編碼單元的尺寸的數(shù)據(jù) 單元,來(lái)執(zhí)行變換。例如,用于變換的數(shù)據(jù)單元可包括用于幀內(nèi)模式的數(shù)據(jù)單元和用于幀間 模式的數(shù)據(jù)單元。
[0061] 用作變換的基礎(chǔ)的數(shù)據(jù)單元被稱為"變換單元"。與編碼單元類(lèi)似,編碼單元中的 變換單元可被遞歸地劃分為更小尺寸的區(qū)域,使得變換單元可以以區(qū)域?yàn)閱挝槐华?dú)立地確 定。因此,可基于根據(jù)變換深度的具有樹(shù)結(jié)構(gòu)的變換單元,對(duì)編碼單元中的殘差數(shù)據(jù)進(jìn)行劃 分。
[0062] 還可在變換單元中設(shè)置變換深度,其中,變換深度表示對(duì)編碼單元的高