專利名稱:用于對視頻數(shù)據(jù)進行熵編碼和熵解碼的方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明總體涉及一種用于對視頻數(shù)據(jù)進行熵編碼/熵解碼的方法和設(shè)備, 更為具體地講,涉及一種通過有效地二進制化當(dāng)前塊的殘余塊的離散余弦變
換(DCT)系數(shù)來對視頻數(shù)據(jù)進行熵編碼/熵解碼的方法和設(shè)備。
背景技術(shù):
在視頻壓縮標準(諸如,運動圖像專家組(MPEG) -1、 MPEG-2和 H.264/MPEG-4先進視頻編碼(AVC ))中,圖像被分割為視頻處理的預(yù)定單 位(例如,宏塊)以進行視頻編碼。然后,使用幀間預(yù)測或幀內(nèi)預(yù)測來對每 個宏塊進行編碼。然后,基于編碼的宏塊的數(shù)據(jù)大小和編碼的宏塊與初始宏 塊之間的失真程度來選擇最優(yōu)編碼模式,并以選擇的編碼模式對宏塊進行編 碼,該過程將參照圖1進行更詳細的描述。
圖1是根據(jù)現(xiàn)有技術(shù)的視頻編碼器100的框圖。
參照圖1,運動補償單元104或幀內(nèi)預(yù)測單元106以塊為單位執(zhí)行幀間 預(yù)測或幀內(nèi)預(yù)測。運動補償單元104通過搜索存儲在幀存儲器120中的參考 圖像來基于運動估計單元102估計的當(dāng)前塊的運動矢量,執(zhí)行對當(dāng)前塊的幀 間預(yù)測。幀內(nèi)預(yù)測單元106使用包括在當(dāng)前圖像的先前編碼的區(qū)域中的像素 執(zhí)行對當(dāng)前塊的幀內(nèi)預(yù)測。
從初始塊減去預(yù)測塊,該預(yù)測塊是作為預(yù)測結(jié)果而產(chǎn)生的當(dāng)前塊的預(yù)測 值,從而產(chǎn)生殘余塊。產(chǎn)生的殘余塊被變換單元108變換為頻域。變換單元 108還執(zhí)行離散余弦變換(DCT),從而產(chǎn)生殘余塊在頻域中的系數(shù),即,DCT 系數(shù)。量化單元110對DCT系數(shù)進行量化。量化的系數(shù)^皮熵編碼單元112熵 編碼,并^^皮插入到比特 流。
被量化單元110量化的系數(shù)被逆量化單元114逆量化,逆變換單元116 對逆量化的系數(shù)執(zhí)行離散余弦逆變換(IDCT)。將由IDCT重構(gòu)的殘余塊與預(yù) 測塊相加,乂人而重構(gòu)初始塊。
重構(gòu)的初始塊被濾波單元118去塊濾波,然后被存儲到幀存儲器,以用于其它塊的幀間預(yù)觀'J或幀內(nèi)預(yù)觀'J 。
下文自適應(yīng)二進制算數(shù)編碼(CABAC)執(zhí)行熵編碼。通過將不同的熵編碼方 法應(yīng)用到不同的語法元素來執(zhí)行熵編碼。
在各種語法元素中,DCT系數(shù)通過運行-級別編碼(run-level coding )被 CAVLC編碼。具有"0"值的DCT系數(shù)被稱為"運行(run)",具有非"0" 值的DCT系數(shù)被稱為"級別(level ),,。將DCT系數(shù)分別二進制化為"運行" 和"級別",使用上下文模型對通過二進制化產(chǎn)生的二進制串(bin string )進 行算數(shù)編碼。
使用級聯(lián)的一元/k階指數(shù)Golomb 二進制化將具有非"0"值的DCT系 數(shù)(即,"級別")二進制化為可變長度碼,然后,對通過二進制化產(chǎn)生的二 進制串進行算數(shù)編碼,該過程將參照圖2進行詳細描述。
參照圖2,使用二進制化方法對級別進行二進制化,該二進制化方法是 具有最大碼值(cMax) "14"的截斷(truncated) —元二進制化與0階指數(shù) Golomb 二進制化的組合。
僅使用截斷一元二進制化對具有小于等于14的值(absjevel)的級數(shù)進 行二進制化,使用截斷一元二進制化和指數(shù)Golomb 二進制化的組合對具有 大于14的值的級凄t進行二進制化。
然而,在DCT系數(shù)的概率分布中,級別集中在低頻分量的系數(shù)中,運行 集中在高頻分量的系數(shù)中。換言之,級別集中在通過對殘余塊執(zhí)行DCT產(chǎn)生 的DCT系數(shù)塊的左上部分,運行集中在DCT系數(shù)塊的右下部分。因此,由 于沒有考慮運行和級別的概率分布而對DCT系數(shù)進行二進制化,所以,如圖 2所示將相同二進制化方法應(yīng)用到DCT系數(shù)是低效率的。
發(fā)明公開
技術(shù)方案
本發(fā)明提供了一種用于通過考慮離散余弦變換(DCT)系數(shù)的概率分布 來對視頻數(shù)據(jù)進行有效地熵編碼和熵解碼的方法和設(shè)備,以及一種具有在其 上記錄了執(zhí)行所述方法的程序的計算機可讀記錄介質(zhì)。 有益效果
根據(jù)本發(fā)明,在熵編碼中,根據(jù)DCT系數(shù)的頻率是高還是低將DCT系
8數(shù)自適應(yīng)地二進制化為可變長度碼,對二進制化的DCT系數(shù)進行二進制算數(shù)
編碼,從而提高視頻數(shù)據(jù)的壓縮效率。
通過結(jié)合附圖對示例性實施例進行詳細的描述,本發(fā)明的上述和其它特
點和優(yōu)點將會變得清楚,其中
圖1是根據(jù)現(xiàn)有技術(shù)的視頻編碼器的框圖2示出根據(jù)現(xiàn)有技術(shù)的用于對頻域的系數(shù)進行二進制化的方法;
圖3是根據(jù)本發(fā)明示例性實施例的視頻編碼器的框圖4是根據(jù)本發(fā)明示例性實施例的熵編碼單元的框圖5示出根據(jù)本發(fā)明示例性實施例的DCT系數(shù)的分組;
圖6是根據(jù)本發(fā)明示例性實施例的DCT系數(shù)的二進制化的表格;
圖7是根據(jù)本發(fā)明另一示例性實施例的DCT系數(shù)的二進制化的表格;
圖8是根據(jù)本發(fā)明示例性實施例的對視頻數(shù)據(jù)進行熵編碼的方法的流程
圖9是根據(jù)本發(fā)明示例性實施例的視頻解碼器的框圖10是#^居本發(fā)明示例性實施例的熵解碼單元的框圖11是示出根據(jù)本發(fā)明示例性實施例的對視頻數(shù)據(jù)熵解碼的方法的流程圖。
最佳模式
根據(jù)本發(fā)明的一方面,提供了一種對視頻數(shù)據(jù)進行熵編碼的方法。所述 方法包括使用不同的二進制化方法對通過將當(dāng)前塊的殘余塊變換為頻域而 產(chǎn)生的頻域的系數(shù)進行二進制化,并對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
頻域的系數(shù)可以是通過對殘余塊執(zhí)行離散余弦變換(DCT)而產(chǎn)生的 DCT系數(shù)。
對系數(shù)進行二進制化的步驟包括基于通過DCT產(chǎn)生的DCT系數(shù)的頻 率是高還是低將DCT系數(shù)分組為多個組,并通過將不同的二進制化方法應(yīng)用 到所述多個組來對DCT系數(shù)進行二進制化。
對系數(shù)進行二進制化的步驟可包括基于DCT系數(shù)的頻率是高還是低使 用不同級聯(lián)的 一元/k階指數(shù)Golomb 二進制化方法對DCT系數(shù)進行二進制化。
根據(jù)本發(fā)明的另一方面,提供了一種視頻編碼方法,所述方法包括產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊,從當(dāng)前塊減去產(chǎn)生的預(yù)測塊,乂人而產(chǎn)生當(dāng)
前塊的殘余塊;通過對產(chǎn)生的殘余塊執(zhí)行離散余弦變換(DCT)而產(chǎn)生殘余 塊的DCT系數(shù),并量化產(chǎn)生的DCT系數(shù);基于DCT系數(shù)的頻率是高還是低 將量化的DCT系數(shù)分組為多個組,通過將不同二進制化方法應(yīng)用到多個組對 DCT系數(shù)進行二進制化,并對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
根據(jù)本發(fā)明的另 一方面,提供了 一種用于對視頻數(shù)據(jù)進行熵編碼的設(shè)備。 所述設(shè)備包括二進制化單元,使用不同的二進制化方法對通過將當(dāng)前塊的 殘余塊變換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化;二進制算數(shù)編碼單元, 對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
根據(jù)本發(fā)明的另一方面,提供了一種視頻編碼設(shè)備。所述設(shè)備包括殘 余產(chǎn)生單元、變換單元、量化單元和熵編碼單元。殘余產(chǎn)生單元,產(chǎn)生作為 當(dāng)前塊的預(yù)測值的預(yù)測塊并從當(dāng)前塊減去產(chǎn)生的預(yù)測塊,^v而產(chǎn)生當(dāng)前塊的 殘余塊。變換單元,通過對產(chǎn)生的殘余塊執(zhí)行離散余弦變換(DCT)而產(chǎn)生 殘余塊的DCT系數(shù)。量化單元,對產(chǎn)生的DCT系數(shù)進行量化。熵編碼單元, 基于DCT系數(shù)的頻率是高還是低將量化的DCT系數(shù)分組為多個組,通過將 不同的二進制化方法應(yīng)用到多個組對DCT系數(shù)進行二進制化,并對二進制化 的系數(shù)執(zhí)行二進制算數(shù)編碼。
根據(jù)本發(fā)明的另一方面,提供了一種對視頻數(shù)據(jù)進行熵解碼的方法。所 述方法包括接收關(guān)于殘余塊的數(shù)據(jù),其中,使用不同的二進制化方法對通 過將當(dāng)前塊的殘余塊轉(zhuǎn)換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化,并對二 進制化的系數(shù)執(zhí)行二進制算數(shù)編碼而產(chǎn)生所述關(guān)于殘余塊的數(shù)據(jù);對接收的 數(shù)據(jù)執(zhí)行二進制算數(shù)解碼,從而產(chǎn)生二進制化的系數(shù);使用不同的反二進制 化方法對二進制化的系數(shù)進行反二進制化。
根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼方法,所述方法包括通 過對關(guān)于殘余塊的數(shù)據(jù)執(zhí)行二進制算數(shù)解碼來產(chǎn)生二進制化的離散余弦變換 (DCT)系數(shù),其中,通過對當(dāng)前塊的殘余塊執(zhí)行熵編碼而產(chǎn)生所述關(guān)于殘 余塊的數(shù)據(jù),基于二進制化的DCT系數(shù)的頻率是高還是低將二進制化的DCT 系數(shù)分組為多個組,并通過將不同的反二進制化方法應(yīng)用到多個組來對DCT 系數(shù)進行反二進制化;對反二進制化的DCT系數(shù)執(zhí)行反量化,并對反量化的 DCT系數(shù)執(zhí)行反DCT,從而重構(gòu)殘余塊;產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊 并將產(chǎn)生的預(yù)測塊與重構(gòu)的殘余塊相加,從而重構(gòu)當(dāng)前塊。根據(jù)本發(fā)明的另 一方面,提供了 一種用于對視頻數(shù)據(jù)進行熵解碼的設(shè)備, 所述設(shè)備包括算數(shù)解碼單元和反二進制化單元。算數(shù)解碼單元接收關(guān)于殘余 塊的數(shù)據(jù)并對接收的數(shù)據(jù)執(zhí)行二進制算數(shù)解碼,從而產(chǎn)生二進制化的系數(shù), 其中,使用不同的二進制化方法對通過將當(dāng)前塊的殘余塊變換為頻域而產(chǎn)生 的頻域的系數(shù)進行二進制化,隨后對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼而 產(chǎn)生所述關(guān)于殘余塊的數(shù)據(jù)。反二進制化單元使用不同的反二進制化方法對 二進制化的系數(shù)進行反二進制化。
根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼設(shè)備,所述設(shè)備包括熵解 碼單元、反量化單元、逆變換單元和重構(gòu)單元。熵解碼單元通過對經(jīng)由當(dāng)前
產(chǎn)生二進制化的離散余弦變換(DCT)系數(shù),基于二進制化的DCT系數(shù)的頻 率是高還是低將二進制化的DCT系數(shù)分組為多個組,并通過將不同反二進制 化方法應(yīng)用到多個組對DCT系數(shù)進行反二進制化。反量化單元,對反量化的 DCT系數(shù)執(zhí)行反量化。逆變換單元,對反量化的DCT系數(shù)執(zhí)行逆DCT,從 而重構(gòu)殘余塊。重構(gòu)單元,產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊并將產(chǎn)生的預(yù) 測塊與重構(gòu)殘余塊相加,從而重構(gòu)當(dāng)前塊。
根據(jù)本發(fā)明的另 一方面,提供了 一種在其上記錄有用于執(zhí)行對視頻數(shù)據(jù) 進行熵編碼的方法、對纟見頻數(shù)據(jù)進行熵解碼的方法、碎見頻編碼方法和纟見頻解 碼方法的程序的計算機可讀記錄介質(zhì)。
具體實施例方式
現(xiàn)在,將參照附圖對本發(fā)明示例性實施例進行詳細的描述。 圖3是根據(jù)本發(fā)明示例性實施例的視頻編碼器300的框圖。 參照圖3, ^L頻編碼器300包括殘余產(chǎn)生單元310、變換單元320、量化
單元330和熵編碼單元340。
殘余產(chǎn)生單元310產(chǎn)生當(dāng)前塊的殘余塊。更具體地,殘余產(chǎn)生單元310
通過執(zhí)行幀間預(yù)測或幀內(nèi)預(yù)測產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊,并從當(dāng)前
塊減去預(yù)測塊,從而產(chǎn)生殘余塊。
變換單元320將殘余產(chǎn)生單元310產(chǎn)生的殘余塊變換為頻域,從而產(chǎn)生
殘余塊的頻域系數(shù)。優(yōu)選地,但不是必需的,變換單元320對殘余塊執(zhí)行離
散余弦變換(DCT),從而產(chǎn)生DCT系數(shù)。在以下描述中,為了便于描述,
iiDCT系數(shù)將作為頻域系數(shù)的示例。然而,本領(lǐng)域普通技術(shù)人員應(yīng)該容易理解, DCT系數(shù)僅僅是頻域系數(shù)的示例,通過將殘余塊變換為頻域而產(chǎn)生的所有系 數(shù)均落入本發(fā)明的范圍。
量化單元330對變換單元320產(chǎn)生的DCT系數(shù)進行量化。更具體地,量 化單元330使用預(yù)定量化參數(shù)(QP )對產(chǎn)生的DCT系數(shù)進行量化。
熵編碼單元340對量化單元330量化的DCT系數(shù)執(zhí)行熵編碼。更具體地, 在量化單元330通過掃描DCT系數(shù)來一維地重新排列DCT系數(shù)之后,熵編 碼單元34(H吏用運^于-級別編碼獨立地對"運行"和"級別"進行熵編碼。更 詳細地,根據(jù)本發(fā)明示例性實施例的熵編碼單元340使用不同二進制化方法 對頻域系數(shù)中具有非"0"值的系數(shù)(即,級別)進行二進制化并對二進制化 的系數(shù)執(zhí)行二進制算數(shù)編碼,將參照圖4詳細描述該過程。
圖4是根據(jù)本發(fā)明示例性實施例的熵編碼單元340的框圖。
參照圖4,熵編碼單元340包括二進制化單元410和算數(shù)編碼單元420。
二進制化單元410從量化單元330接收量化的DCT系數(shù),并使用不同二 進制化方法對一些具有非"0"值的接收DCT系數(shù)進行二進制化。
優(yōu)選地,但不是必需的,根據(jù)本發(fā)明示例性實施例的二進制化單元410 包括分組單元412和二進制化執(zhí)行單元414。
分組單元412根據(jù)DCT系數(shù)的頻率是高還是低來將從量化單元330接收 的DCT系數(shù)劃分為多個組,將參照圖5詳細描述該過程。
圖5示出根據(jù)本發(fā)明示例性實施例的DCT系數(shù)的分組。圖5示出對4 x 4塊執(zhí)行DCT的情況。
如圖5所示的被量化單元330量化的變換系數(shù)塊中,在變換系數(shù)塊的左 上部的系數(shù)是低頻余弦系數(shù),在變換系數(shù)塊的右下部的系數(shù)是高頻余弦系數(shù)。 如以上針對現(xiàn)有技術(shù)所討論的,級別主要位于變換系數(shù)塊的左上部。在變換 系數(shù)塊的左上部的級別具有的值可能大于位于變換系數(shù)塊的右下部的級別的 值。
因此,根據(jù)本發(fā)明示例性實施例的二進制化單元340根據(jù)DCT系數(shù)的頻 率是高還是低將DCT系數(shù)分組為多個組,以使用不同二進制化方法對組進行 二進制化。如圖5所示,DCT系數(shù)可被分組為組A、組B、組C和組D。然 而,本領(lǐng)域普通技術(shù)人員可容易理解,圖5中示出的對DCT系數(shù)進行分組的 方法僅是示例,還可使用除圖5示出的方法之外的方法對DCT系數(shù)進行分組。返回參照圖4, 一旦分組單元412將DCT系凄t分組為多個組,二進制化 執(zhí)行單元414使用不同二進制化方法對多個組執(zhí)行二進制化,參照圖6將詳 細描述該過程。
圖6是示出根據(jù)本發(fā)明示例性實施例的DCT系數(shù)的二進制化的表格。
參照圖6,包括在圖5中示出的組A中的DCT系數(shù)中,使用具有最大碼 值(cMax) "7"的截斷一元二進制化與二階指數(shù)Golomb 二進制化的組合對 級別進行二進制化。
更具體地,使用截斷一元二進制化對具有絕對值(abs—level)(以下簡稱 為值)'T'至"7"的級別進行二進制化,使用截斷一元二進制化和指數(shù)Golomb 二進制化的組合對具有大于"7"的值的級別進行二進制化。
包括在組B中的DCT系數(shù)中,使用具有最大碼值"8"的截斷一元二進 制化與一階指數(shù)Golomb 二進制化的組合對級別進行二進制化。
更具體地,使用截斷一元二進制化對具有值'T,至"8"的級數(shù)進行二 進制化,使用截斷一元二進制化和指數(shù)Golomb 二進制化的組合對具有大于 "8"的值的級數(shù)進行二進制化。
包括在組C中的DCT系數(shù)中,使用具有最大碼值"10"的截斷一元二 進制化與一階指數(shù)Golomb 二進制化的組合對級別進行二進制化。
更具體地,使用截斷一元二進制化對具有值'T,至"10"的級別進行二 進制化,使用截斷一元二進制化和指數(shù)Golomb 二進制化的組合對具有大于 "10"的值的級別進行二進制化。
包括在組D(圖6中未示出)中的DCT系數(shù)中,使用具有最大碼值"14" 的截斷一元二進制化與0階指數(shù)Golomb 二進制化的組合對級別進行二進制 化。
更具體地,使用截斷一元二進制化對具有值"1"至"14"的級別進行二 進制化,使用截斷一元二進制化和指數(shù)Golomb 二進制化的組合對具有大于 "14"的值的級別進行二進制化。
當(dāng)如圖6所示使用不同二進制化方法對DCT系數(shù)執(zhí)行二進制化時,可通 過較少數(shù)量的二進制串來表示組A的級別的較大值,可通過較少數(shù)量的二進 制串來表示組D的級別的較小值。
例如,級別具有值"19"。當(dāng)屬于組A的DCT系數(shù)的絕對值是"19"時, 根據(jù)圖2中示出的現(xiàn)有技術(shù),其通過共19個二進制串來表示。然而,根據(jù)本發(fā)明,絕對值通過13個二進制串來表示。換言之,級別值可能比其它組的 DCT系數(shù)大的組A的DCT系數(shù)可通過較少數(shù)量的二進制串來表示。
可通過如圖6所示的同時改變一元二進制化的最大碼值和指數(shù)Golomb 編碼的階來改變二進制化方法,但是也可通過僅改變一元二進制化的最大碼 值和指數(shù)Golomb編碼的階中的一個來改變二進制化方法。
圖7是示出根據(jù)本發(fā)明另一示例性實施例的DCT系數(shù)的二進制化的表格。
還可根據(jù)量化參數(shù)(QP)來改變DCT系數(shù)的級別值和概率分布。已在 實驗上證明圖5中示出的組A的級別值的概率分布隨QP而改變。因此,有 必要基于QP來改變二進制化DCT系數(shù)的方法。
參照圖7,才艮據(jù)QP改變用于對圖5中示出的組A、組B、組C所包括 的DCT系數(shù)進行二進制化的方法。"T"表示一元二進制化的最大碼值,"k" 表示指數(shù)Golomb編碼的階。
包括在組D (圖7中未示出)中的DCT系數(shù)中,與現(xiàn)有技術(shù)相似地使用 具有最大碼值"14"的截斷一元二進制化和0階指數(shù)Golomb 二進制化的組 合對級別進行二進制化。
返回參照圖4,由二進制化執(zhí)行單元414 二進制化的DCT系數(shù)被發(fā)送到 算數(shù)編碼單元420。算數(shù)編碼單元420對二進制化的DCT系數(shù)執(zhí)行上下文自 適應(yīng)可變長度編碼(CAVLC), A/v而完成熵編碼。
圖8是示出根據(jù)本發(fā)明示例性實施例的對視頻數(shù)據(jù)進行熵編碼的方法的 流程圖。
參照圖8,在操作810,根據(jù)本發(fā)明示例性實施例的熵編碼單元340使用 不同的二進制化方法對通過對當(dāng)前塊的殘余塊執(zhí)行DCT而產(chǎn)生的DCT系數(shù) 進行二進制化。熵編碼單元340可根據(jù)DCT系數(shù)的頻率是高還是低將DCT 系數(shù)分組為多個組,并使用不同的二進制化方法對所述組進行二進制化。作 為將進行二進制化的對象的DCT系數(shù)是在對其執(zhí)行DCT之后已使用預(yù)定QP 量化的DCT系數(shù)。
在操作820,熵編碼單元340對在操作810中二進制化的DCT系數(shù)執(zhí)行 二進制算數(shù)編碼。優(yōu)選地,但不是必需的,熵編碼單元340執(zhí)行CABAC。通 過二進制算數(shù)編碼產(chǎn)生的二進制串被插入到比特流。
圖9是根據(jù)本發(fā)明示例性實施例的視頻解碼器卯0的框圖。
14參照圖9, ^L頻解碼器900包括熵解碼單元910、逆變換單元920和重構(gòu) 單元930。
熵解碼單元910接收包括關(guān)于當(dāng)前塊的殘余塊的數(shù)據(jù)的比特流,并對關(guān) 于包括在接收的比特流中的殘余塊的數(shù)據(jù)進行熵解碼。
關(guān)于殘余塊的數(shù)據(jù)包括通過根據(jù)本發(fā)明示例性實施例的對視頻數(shù)據(jù)進行 熵編碼的方法熵編碼的DCT系數(shù)。換言之,關(guān)于殘余塊的數(shù)據(jù)包括關(guān)于通過 以下方法進行熵編碼后的DCT系數(shù)的數(shù)據(jù),即,通過使用不同的二進制化方 法對通過對殘余塊執(zhí)行DCT而產(chǎn)生的DCT系數(shù)進行二進制化并隨后對二進 制化的DCT系數(shù)進行二進制算數(shù)編碼。
圖10是根據(jù)本發(fā)明示例性實施例的熵解碼單元910的框圖。
參照圖10,熵解碼單元910包括算數(shù)解碼單元1010和反二進制化單元 1020。
算數(shù)解碼單元1010對包括在比特流中的殘余塊的數(shù)據(jù)執(zhí)行二進制算數(shù) 解碼。優(yōu)選地,但不是必需的,算數(shù)解碼單元1010執(zhí)行CAVLC。
通過二進制算數(shù)解碼而產(chǎn)生二進制化的DCT系數(shù),所述二進制化的DCT 系數(shù)隨后被發(fā)送到反二進制化單元1020。
反二進制化單元1020使用不同的反二進制化方法對二進制化DCT系數(shù) 執(zhí)行反二進制化。反二進制化單元1020使用與參照圖6和圖7描述的二進制 化方法相應(yīng)的反二進制化方法執(zhí)行反二進制化。更具體地,反二進制化單元 1020通過考慮DCT系數(shù)的頻率和QP使用不同反二進制化方法執(zhí)行反二進制 化。
優(yōu)選地,但不是必需地,反二進制化單元1020包括分組單元1022和反 二進制化執(zhí)行單元1024。
分組單元1022根據(jù)DCT系數(shù)的頻率是高還是低將在算數(shù)解碼單元1010 中經(jīng)過二進制算數(shù)解碼的DCT系數(shù)分組為多個組。如圖5所示,DCT系數(shù) 可4皮分組為4個組。
反二進制化執(zhí)行單元1024使用不同的反二進制化方法對多個組執(zhí)行反 二進制化。更具體地,反二進制化執(zhí)行單元1024使用不同的一元二進制化/ 指數(shù)Golomb 二進制化方法對所述組執(zhí)行反二進制化。例如,反二進制化執(zhí) 行單元1024對二進制化的DCT系數(shù)中具有非"0"級別值的系數(shù)(即,級別) 執(zhí)行反二進制化。將不同的反二進制化方法應(yīng)用到級別所屬的不同的組。反二進制化執(zhí)行單元1024通過改變一元二進制化的最大碼值和指數(shù) Golomb二進制化的階中的一個來使用不同二進制化方法。換言之,反二進制 化執(zhí)行單元通過將與在視頻編碼器中DCT系數(shù)的二進制化中應(yīng)用的二進制 化方法相應(yīng)的反二進制化方法應(yīng)用到所述組來執(zhí)行反二進制化。
返回參照圖9,通過反二進制化單元1020反二進制化而熵解碼的DCT 系數(shù)^^量化單元930反量化。逆變換單元920對被反量化單元930反量化 的DCT系數(shù)執(zhí)行離散余弦逆變換(IDCT),從而重構(gòu)殘余塊。
重構(gòu)單元940通過^U亍幀間預(yù)測或幀內(nèi)預(yù)測來產(chǎn)生作為當(dāng)前塊的預(yù)測值 的預(yù)測塊,并將產(chǎn)生的預(yù)測塊與被逆變換單元920重構(gòu)的殘余塊相加,從而 重構(gòu)當(dāng)前塊。
圖11是示出根據(jù)本發(fā)明示例性實施例的對視頻數(shù)據(jù)進行熵解碼的方法 的流程圖。
參照圖11,在操作1110,熵解碼單元910對關(guān)于殘余塊的數(shù)據(jù)執(zhí)行二進 制算數(shù)解碼。優(yōu)選地,但不是必需的,如上所述,解碼單元910執(zhí)行CAVLC。 產(chǎn)生殘余塊的二進制化的DCT系數(shù)作為二進制算數(shù)解碼結(jié)果。
在操作1120,熵解碼單元910通過使用不同反二進制化方法對二進制化 的DCT系數(shù)執(zhí)行反二進制化。換言之,熵解碼單元910使用不同反二進制化 方法對二進制化的DCT系數(shù)執(zhí)行反二進制化。
更具體地,熵解碼單元910可根據(jù)DCT系數(shù)的頻率是高還是低將二進制 化的DCT系數(shù)分組為多個組,并通過將不同的反二進制化方法應(yīng)用到組來執(zhí) 行反二進制化。在二進制化的DCT系數(shù)中,具有非"0"值的級別值的系數(shù) (即,級別)^H二進制化。
本發(fā)明還可被實現(xiàn)為計算機可讀記錄介質(zhì)或其它計算機可讀介質(zhì)上的計 算機可讀代碼。計算機可讀記錄介質(zhì)是可存儲其后可被計算機系統(tǒng)讀取的數(shù) 據(jù)的任何數(shù)據(jù)存儲裝置。計算機可讀記錄介質(zhì)的示例包括只讀存儲器 (ROM)、隨機存取存儲器(RAM)、 CD-ROM、磁帶、軟盤和光學(xué)數(shù)據(jù)存儲 裝置。其它計算機可讀介質(zhì)的示例是載波。計算機可讀記錄介質(zhì)也可分布于 網(wǎng)絡(luò)連接的計算機系統(tǒng)上,以便所述計算機可讀代碼以分布方式被存儲并被 執(zhí)行。
雖然參照本發(fā)明示例性實施例具體地示出和描述了本發(fā)明,但是本領(lǐng)域 技術(shù)人員應(yīng)該理解,在不脫離權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可進行形式和細節(jié)的各種改變,
權(quán)利要求
1、一種對視頻數(shù)據(jù)進行熵編碼的方法,所述方法包括使用不同的二進制化方法對通過將當(dāng)前塊的殘余塊變換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化;對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
2、 如權(quán)利要求l所述的方法,其中,頻域的系數(shù)是通過對殘余塊執(zhí)行離 散余弦變換DCT而產(chǎn)生的DCT系數(shù)。
3、 如權(quán)利要求2所述的方法,其中,對系數(shù)進行二進制化的步驟包括 基于DCT系數(shù)的頻率是高還是低使用不同的二進制化方法對通過執(zhí)行DCT 產(chǎn)生的DCT系數(shù)進行二進制化。
4、 如權(quán)利要求3所述的方法,其中,對系數(shù)進行二進制化的步驟包括 基于DCT系數(shù)的頻率是高還是低將通過執(zhí)行DCT而產(chǎn)生的DCT系數(shù)分組為多個組;以及通過將不同的二進制化方法應(yīng)用于所述多個組對DCT系數(shù)進行二進制化。
5、 如權(quán)利要求3所述的方法,其中,對系數(shù)進行二進制化的步驟包括 基于DCT系數(shù)的頻率是高還是低使用不同級聯(lián)的一元/k階指數(shù)Golomb 二進 制化方法對DCT系數(shù)進行二進制化。
6、 如權(quán)利要求5所述的方法,其中,對系數(shù)進行二進制化的步驟包括 使用不同最大碼值的級聯(lián)的一元二進制化對DCT系數(shù)進行二進制化。
7、 如權(quán)利要求5所述的方法,其中,對系數(shù)進行二進制化的步驟包括 使用不同階的指數(shù)Golomb 二進制化對DCT系數(shù)進行二進制化。
8、 一種一見頻編碼方法,包括產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊,從當(dāng)前塊減去產(chǎn)生的預(yù)測塊,從而 產(chǎn)生當(dāng)前塊的殘余塊;通過對產(chǎn)生的殘余塊執(zhí)行離散余弦變換DCT而產(chǎn)生殘余塊的DCT系數(shù), 并量化產(chǎn)生的DCT系數(shù);基于DCT系數(shù)的頻率是高還是低將量化的DCT系數(shù)分組為多個組,通 過將不同二進制化方法應(yīng)用到多個組對DCT系數(shù)進行二進制化,并對二進制 化的系數(shù)執(zhí)行二進制算數(shù)編碼。
9、 一種用于對視頻數(shù)據(jù)進行熵編碼的設(shè)備,所述設(shè)備包括 二進制化單元,使用不同的二進制化方法對頻域的系數(shù)進行二進制化,其中,通過將當(dāng)前塊的殘余塊變換為頻域而產(chǎn)生所述頻域的系數(shù); 二進制算數(shù)編碼單元,對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
10、 如權(quán)利要求9所述的設(shè)備,其中,所述頻域的系數(shù)是通過對殘余塊 執(zhí)行離散余弦變換DCT而產(chǎn)生的DCT系數(shù)。
11、 如權(quán)利要求10所述的設(shè)備,其中,二進制化單元基于DCT系數(shù)的 頻率是高還是低使用不同的二進制化方法對通過執(zhí)行DCT產(chǎn)生的DCT系數(shù)進行二進制化。
12、 如權(quán)利要求11所述的設(shè)備,其中,二進制化單元包括 分組單元,基于DCT系數(shù)的頻率是高還是低將通過執(zhí)行DCT產(chǎn)生的DCT系數(shù)分組為多個組;二進制化執(zhí)行單元,通過將不同的二進制化方法應(yīng)用到多個組對DCT 系數(shù)進行二進制化。
13、 如權(quán)利要求11所述的設(shè)備,其中,二進制化單元基于DCT系數(shù)的 頻率是高還是低使用不同級聯(lián)的一元/k階指數(shù)Golomb 二進制化的方法對 DCT系數(shù)進行二進制化。
14、 如權(quán)利要求11所述的設(shè)備,其中,二進制化單元使用不同的最大碼 值的級聯(lián)的一元二進制化對DCT系數(shù)進行二進制化。
15、 如權(quán)利要求11所述的設(shè)備,其中,二進制化單元使用不同階的指數(shù) Golomb 二進制化對DCT系數(shù)進行二進制化。
16、 一種一見頻編碼i殳備,包i舌殘余產(chǎn)生單元,產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊,從當(dāng)前塊減去預(yù)測 塊,從而產(chǎn)生當(dāng)前塊的殘余塊;變換單元,通過對產(chǎn)生的殘余塊執(zhí)行離散余弦變換DCT產(chǎn)生殘余塊的 DCT系數(shù);量化單元,對產(chǎn)生的DCT系數(shù)進行量化;熵編碼單元,基于DCT系數(shù)的頻率是高還是低將量化的DCT系數(shù)分組 為多個組,通過將不同的二進制化方法應(yīng)用到所述多個組對DCT系數(shù)進行二 進制化,并對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。
17、 一種對視頻數(shù)據(jù)進行熵解碼的方法,所述方法包括接收關(guān)于殘余塊的數(shù)據(jù),其中,使用不同的二進制化方法對通過將當(dāng)前 塊的殘余塊轉(zhuǎn)換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化,并對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼而產(chǎn)生所述關(guān)于殘余塊的數(shù)據(jù);對接收的數(shù)據(jù)執(zhí)行二進制算數(shù)解碼,從而產(chǎn)生二進制化的系數(shù); 使用不同的反二進制化方法對二進制化的系數(shù)進行反二進制化。
18、 如權(quán)利要求17所述的方法,其中,二進制化的系數(shù)是通過對殘余塊 執(zhí)行離散余弦變換DCT而產(chǎn)生的DCT系數(shù)。
19、 如權(quán)利要求18所述的方法,其中,對二進制化的系數(shù)進行反二進制 化的步驟包括基于二進制化的DCT系數(shù)的頻率是高還是低使用不同的反二 進制化方法對二進制化的DCT系數(shù)進行反二進制化。
20、 如權(quán)利要求19所述的方法,其中,對二進制化的系數(shù)進行反二進制 化的步驟包括基于DCT系數(shù)的頻率是高還是低將通過執(zhí)行DCT而產(chǎn)生的DCT系數(shù)分 組為多個組;通過將不同的反二進制化方法應(yīng)用到所述多個組對DCT系數(shù)進行反二進制化。
21、 如權(quán)利要求19所述的方法,其中,對二進制化的系數(shù)進行反二進制 化的步驟包括基于DCT系數(shù)的頻率是高還是低使用不同級聯(lián)的一元二進制 化/k階指數(shù)Golomb 二進制化的方法對DCT系數(shù)進行反二進制化。
22、 如權(quán)利要求21所述的方法,其中,對二進制化的系數(shù)進行反二進制 化的步驟包括使用不同最大碼值的級聯(lián)的一元二進制化對DCT系數(shù)進行反 二進制化。
23、 如權(quán)利要求21所述的方法,其中,對二進制化的系數(shù)進行反二進制 化的步驟包括使用不同階的指數(shù)Golomb 二進制化對二進制化的DCT系數(shù) 進行反二進制化。
24、 一種^L頻解碼方法,包括通過對關(guān)于殘余塊的數(shù)據(jù)執(zhí)行二進制算數(shù)解碼來產(chǎn)生二進制化的離散余 弦變換DCT系數(shù),其中,通過對當(dāng)前塊的殘余塊執(zhí)行熵編碼而產(chǎn)生所述關(guān)于 殘余塊的數(shù)據(jù),基于二進制化的DCT系數(shù)的頻率是高還是低將二進制化的 DCT系數(shù)分組為多個組,并通過將不同的反二進制化方法應(yīng)用到多個組來對 DCT系數(shù)進行反二進制化;對反二進制化的DCT系數(shù)執(zhí)行反量化,并對反量化的DCT系數(shù)執(zhí)行反 DCT,從而重構(gòu)殘余塊;產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊并將產(chǎn)生的預(yù)測塊與重構(gòu)的殘余塊相 力口, 乂人而重才勾當(dāng)前i夾。
25、 一種用于對視頻數(shù)據(jù)進行熵解碼的設(shè)備,所述設(shè)備包括 算數(shù)解碼單元,接收關(guān)于殘余塊的數(shù)據(jù)并對接收的數(shù)據(jù)執(zhí)行二進制算數(shù)編碼,從而產(chǎn)生二進制化的系數(shù),其中,使用不同的二進制化方法對通過將 當(dāng)前塊的殘余塊變換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化,隨后對二進 制化的系數(shù)執(zhí)行二進制算數(shù)編碼而產(chǎn)生所述關(guān)于殘余塊的數(shù)據(jù);反二進制化單元,使用不同的反二進制化方法對二進制化的系數(shù)進行反 二進制化。
26、 如權(quán)利要求25所述的設(shè)備,其中,二進制化的系數(shù)是通過對殘余塊 執(zhí)行離散余弦變換DCT而產(chǎn)生的DCT系數(shù)。
27、 如權(quán)利要求26所述的設(shè)備,其中,反二進制化單元基于二進制化的 DCT系數(shù)的頻率是高還是低使用不同反二進制化方法對二進制化的DCT系 數(shù)進行反二進制化。
28、 如權(quán)利要求27所述的設(shè)備,其中,反二進制化單元包括 分組單元,基于DCT系數(shù)的頻率是高還是低將通過執(zhí)行DCT而產(chǎn)生的DCT系數(shù)分組為多個組;反二進制化執(zhí)行單元,通過將不同的反二進制化方法應(yīng)用到所述多個組 對DCT系數(shù)進行反二進制化。
29、 如權(quán)利要求27所述的設(shè)備,其中,反二進制化單元基于DCT系數(shù) 的頻率是高還是低,使用不同級聯(lián)的一元二進制化/k階指數(shù)Golomb 二進制 化方法對DCT系數(shù)進行反二進制化。
30、 如權(quán)利要求29所述的設(shè)備,其中,反二進制化單元使用不同最大碼 值的級聯(lián)的一元二進制化對DCT系數(shù)進行反二進制化。
31、 如權(quán)利要求29所述的設(shè)備,其中,反二進制化單元使用不同階的指 數(shù)Golomb 二進制化對DCT系數(shù)進行反二進制化。
32、 一種視頻解碼設(shè)備,包括熵解碼單元,通過對關(guān)于殘余塊的數(shù)據(jù)執(zhí)行二進制算數(shù)解碼來產(chǎn)生二進 制化的離散余弦變換DCT系數(shù),通過對當(dāng)前塊的殘余塊執(zhí)行熵編碼而產(chǎn)生所述關(guān)于殘余塊的數(shù)據(jù),基于二進制化的DCT系數(shù)的頻率是高還是低將二進制化的DCT系數(shù)分組為多個組,并通過將不同的反二進制化方法應(yīng)用到多個組來對DCT系數(shù)進行反二進制化;反量化單元,對反二進制化的DCT系數(shù)執(zhí)行反量化,從而重構(gòu)殘余塊; 逆變換單元,對反量化的DCT系數(shù)執(zhí)行逆DCT,從而重構(gòu)殘余塊; 重構(gòu)單元,產(chǎn)生作為當(dāng)前塊的預(yù)測值的預(yù)測塊并將產(chǎn)生的預(yù)測塊與重構(gòu)的殘余塊相加,,人而重構(gòu)當(dāng)前塊。
33、 一種在其上記錄有用于執(zhí)行權(quán)利要求1的方法的程序的計算機可讀 記錄介質(zhì)。
34、 一種在其上記錄有用于執(zhí)行權(quán)利要求8的視頻編碼方法的程序的計 算機可讀記錄介質(zhì)。
35、 一種在其上記錄有用于執(zhí)行權(quán)利要求17的方法的程序的計算機可讀 記錄介質(zhì)。
36、 一種在其上記錄有用于執(zhí)行權(quán)利要求24的視頻解碼方法的程序的計 算機可讀記錄介質(zhì)。
全文摘要
提供了一種對視頻數(shù)據(jù)進行熵編碼/熵解碼的方法和設(shè)備。對視頻數(shù)據(jù)進行熵編碼的方法包括使用不同的二進制化方法對通過將當(dāng)前塊的殘余塊變換為頻域而產(chǎn)生的頻域的系數(shù)進行二進制化,對二進制化的系數(shù)執(zhí)行二進制算數(shù)編碼。通過這種方法,基于系數(shù)的頻率是高還是低對系數(shù)進行自適應(yīng)二進制化,從而提高視頻數(shù)據(jù)的壓縮效率。
文檔編號H04N7/30GK101682773SQ200880020191
公開日2010年3月24日 申請日期2008年4月22日 優(yōu)先權(quán)日2007年6月14日
發(fā)明者李英烈, 金旲衍 申請人:三星電子株式會社;世宗大學(xué)校產(chǎn)學(xué)協(xié)力團