專利名稱:用于高分辨率運動圖像的編碼/解碼方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及高分辨率視頻編碼/解碼方法和設(shè)備。更具體地說,本發(fā)明涉及用于通過以各種類型的塊為單位執(zhí)行編碼和解碼并根據(jù)適合于對應(yīng)的編碼和解碼的塊類型執(zhí)行變換、量化、掃描和濾波,來改進編碼效率的方法和設(shè)備。
背景技術(shù):
運動圖像專家組(MPEG)和視頻編碼專家組(VCEG)已經(jīng)在現(xiàn)有的MPEG-4第2部分和H. 263標準上開發(fā)出了經(jīng)改進的且優(yōu)良的視頻壓縮技木。新標準被稱作H. 264/AVC (高級視頻編碼)并同時發(fā)行作為MPEG-4第10部分AVC和ITU-T建議H. 264. H. 264/AVC (下文稱為“H. 264”)可以通過執(zhí)行以下步驟來減少經(jīng)編碼的數(shù)據(jù)的比特數(shù)以各自具有各種類型的子塊(subblock)的宏塊(macroblock)為單位執(zhí)行幀內(nèi)(intra)預(yù)測/幀間(inter) 預(yù)測以生成殘留信號,對所生成的殘留信號進行變換和量化,以及接著對所變換和量化的殘留信號進行編碼。采用以宏塊為單位的典型編碼方法的視頻編碼設(shè)備將輸入的視頻劃分成宏塊,針對各個宏塊,根據(jù)幀間模式或幀內(nèi)模式以該宏塊可能具有的子塊尺寸執(zhí)行預(yù)測以生成殘留土夬,向所生成的殘留塊應(yīng)用基于4X4或8X8離散余弦變換(DCT)的整數(shù)變換以生成變換系數(shù),以及根據(jù)指定的量化參數(shù)(QP)對該變換系數(shù)進行量化。通過環(huán)路濾波來減少因變換和量化處理而造成的塊(blocking)效應(yīng)。因為諸如H. 264的典型視頻壓縮技術(shù)以要被編碼的視頻被劃分成的16X 16宏塊為單位執(zhí)行編碼,并且還以4X4或8X8的塊尺寸來固定變換的単位,所以存在以下問題: 當視頻在像素之間具有高相關(guān)性吋,編碼效率降低。也就是說,當視頻的像素之間存在高相關(guān)性時,可以以大于尺寸為16X16的宏塊的宏塊為単位或者以各種類型的宏塊為単位來有效地執(zhí)行預(yù)測,進而還可以有效地使用除4X4塊尺寸或8X8塊尺寸以外的各種變換塊尺寸作為變換的単位,但是典型的視頻壓縮技術(shù)因為宏塊尺寸和變換塊尺寸固定而不能根據(jù)視頻的特征執(zhí)行自適應(yīng)編碼,這造成了編碼效率降低的問題。
發(fā)明內(nèi)容
技術(shù)問題因此,本發(fā)明致カ于上述問題,并且本發(fā)明提出通過以適合于高分辨率視頻的各種類型的宏塊為單位執(zhí)行編碼,并且對應(yīng)地執(zhí)行各種類型的預(yù)測、變換和量化、掃描、濾波等來改進壓縮效率。技術(shù)解決方案本發(fā)明的一方面提供了ー種視頻編碼方法,該視頻編碼方法包括以下步驟將輸入的視頻劃分成具有各種形狀或尺寸的多個宏塊;對所述多個宏塊中的每ー個宏塊進行編碼;以及生成指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息。對所述多個宏塊中的每ー個宏塊進行編碼的步驟可以包括以下步驟將所述多個宏塊中的每ー個宏塊劃分成多個子塊;針對所述多個子塊中的每ー個子塊執(zhí)行預(yù)測編碼; 以及生成指示針對所述多個子塊中的每ー個子塊的預(yù)測模式的預(yù)測模式信息和指示所述多個子塊中的每ー個子塊的尺寸的宏塊劃分信息。對所述多個宏塊中的每ー個宏塊進行編碼的步驟可以包括以下步驟預(yù)測所述多個子塊中的每ー個子塊以獲取預(yù)測子塊;獲取表示所述多個子塊中的每ー個子塊與所述多個子塊中的每ー個子塊的預(yù)測子塊之間的差的殘留塊;基于所述多個宏塊中的每ー個宏塊的尺寸、所述預(yù)測模式以及所述多個子塊中的每ー個子塊的尺寸中的至少ー個來確定變換類型;根據(jù)所確定的變換類型來對所述殘留塊進行變換;以及對所變換的殘留塊進行量化。對所述多個宏塊中的每ー個宏塊進行編碼的步驟還可以包括以下步驟對指示所確定的變換類型的信息進行編碼。指示所述變換類型的所述信息可以包括所述變換尺寸或種類。所述多個宏塊中的每ー個宏塊可以具有水平邊的長度與垂直邊的長度不同的矩形形狀。確定所述變換類型的步驟可以包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式時,將所述變換尺寸確定為與所述預(yù)測子塊的尺寸相同。對所述殘留塊進行變換的步驟可以包括以下步驟當所述殘留塊的尺寸小于所確定的變換尺寸吋,將多個殘留塊相互組合以生成具有等于所述變換尺寸的尺寸的組合殘留塊,并接著對所述組合殘留塊進行變換。對所述多個宏塊中的每ー個宏塊進行編碼的步驟可以包括以下步驟利用根據(jù)所述預(yù)測模式選擇的掃描圖案來對所變換和量化的殘留塊的系數(shù)進行掃描。對所述系數(shù)進行掃描的步驟可以包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,利用與多個幀內(nèi)預(yù)測模式當中的、用于預(yù)測所述多個子塊中的每ー個子塊的幀內(nèi)預(yù)測模式對應(yīng)的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)進行掃描。對所述系數(shù)進行掃描的步驟可以包括以下步驟當所述預(yù)測模式是幀間預(yù)測模式吋,利用根據(jù)針對所變換和量化的殘留塊的所述變換類型選擇的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)進行掃描。本發(fā)明的另一方面提供了一種視頻編碼設(shè)備,該視頻編碼設(shè)備包括宏塊類型確定器,該宏塊類型確定器用于將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊;以及宏塊編碼器,該宏塊編碼器用于對所述多個宏塊中的每ー個宏塊進行編碼,并對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行編碼。本發(fā)明的又一方面提供了ー種視頻解碼方法,該視頻解碼方法包括以下步驟接收通過將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊并對所述多個宏塊中的每一個宏塊進行編碼而獲取的視頻數(shù)據(jù);對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行解碼;以及基于所述宏塊信息對所述多個宏塊中的每ー個宏塊進行解碼。對所述多個宏塊中的每ー個宏塊進行解碼的步驟可以包括以下步驟當所述多個宏塊中的每ー個宏塊被劃分成多個子塊時,對指示所述多個子塊中的每ー個子塊的尺寸的宏塊劃分信息和指示針對所述多個子塊中的每ー個子塊的預(yù)測模式的預(yù)測模式信息進行解碼;以及基于所述宏塊劃分信息和所述預(yù)測模式信息來獲取所述多個子塊中的每ー個子
6塊的預(yù)測子塊。對所述多個宏塊中的每ー個宏塊進行解碼的步驟可以包括以下步驟基于所述多個宏塊中的每ー個宏塊的尺寸、所述預(yù)測模式以及所述多個子塊中的每ー個子塊的尺寸中的至少ー個來確定逆變換類型;根據(jù)所確定的逆變換類型來對殘留塊進行逆量化和逆變換,以獲取經(jīng)逆量化和逆變換的殘留塊;以及將所逆量化和逆變換的殘留塊與所述預(yù)測子塊相加,以獲取重建塊。確定所述逆變換類型的步驟可以包括以下步驟基于指示所述逆變換類型的信息來確定所述逆變換類型。指示所述逆變換類型的所述信息可以包括所述逆變換尺寸或種類。所述多個宏塊中的每ー個宏塊可以具有水平邊的長度與垂直邊的長度不同的矩形形狀。確定所述逆變換類型的步驟可以包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,將所述逆變換尺寸確定為與所述多個子塊中的每ー個子塊的尺寸相同。對所述多個宏塊中的每ー個宏塊進行解碼的步驟還可以包括以下步驟當所述預(yù)測子塊的尺寸小于所確定的逆變換尺寸時,將所逆量化和逆變換的殘留塊劃分成多個殘留子塊,該多個殘留子塊各自具有等于所述預(yù)測子塊的尺寸的尺寸;以及將所述多個殘留子塊中的每ー個殘留子塊與所述預(yù)測子塊相加,以獲取重建塊。對所述多個宏塊中的每ー個宏塊進行解碼的步驟還可以包括以下步驟對經(jīng)變換和量化的殘留塊的系數(shù)串進行掃描,以獲取經(jīng)ニ維變換和量化的殘留塊,其中,對所述系數(shù)串的掃描根據(jù)所述預(yù)測模式來選擇。對所述系數(shù)串進行掃描的步驟可以包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,利用與多個幀內(nèi)預(yù)測模式當中的、用于預(yù)測所述多個子塊中的每ー個子塊的幀內(nèi)預(yù)測模式對應(yīng)的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)串進行掃描。對所述系數(shù)串進行掃描的步驟可以包括以下步驟當所述預(yù)測模式是幀間預(yù)測模式吋,利用根據(jù)所述逆變換類型選擇的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)串進行掃描。本發(fā)明的又一方面提供了一種視頻解碼設(shè)備,該視頻解碼設(shè)備包括解碼器,該解碼器用于接收通過將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊并對所述多個宏塊中的每ー個宏塊進行編碼而獲取的視頻數(shù)據(jù),并且該解碼器對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行解碼;以及逆量化器和逆變換器,該逆量化器和逆變換器用于基于所述宏塊信息來對所述多個宏塊中的每ー個宏塊進行逆量化和逆變換。有利效果根據(jù)上述的本發(fā)明,不僅編碼效率能夠因為本發(fā)明使得能夠利用出現(xiàn)在視頻中的時間/空間相鄰的像素之間的高相關(guān)性來進行編碼而被提高,而且壓縮效率還能夠通過減少塊失真而被提高。而且,可以減少執(zhí)行濾波的次數(shù),這使得可以降低視頻編碼和解碼設(shè)備的實現(xiàn)復(fù)雜性。
圖1是例示根據(jù)本發(fā)明的一方面的視頻編碼設(shè)備的結(jié)構(gòu)的示意性框7
圖2至圖4是例示根據(jù)用于典型視頻編碼的宏塊類型的幀內(nèi)預(yù)測模式的視圖;圖5是例示根據(jù)用于典型視頻編碼的宏塊類型的幀間預(yù)測模式的視圖;圖6是例示根據(jù)本發(fā)明的一方面的尺寸為MXN的宏塊的視圖;圖7是例示根據(jù)本發(fā)明的一方面的尺寸為MXN的宏塊可以具有的各種類型的子宏塊的視圖;圖8是例示根據(jù)本發(fā)明的一方面的用于8X4變換的MF的視圖;圖9是用于說明根據(jù)本發(fā)明的一方面的在應(yīng)用各種變換和量化類型的情況下進行濾波的視圖;圖10是用于說明根據(jù)本發(fā)明的一方面的橫跨塊邊界執(zhí)行去塊(deblocking)濾波的處理的視圖;圖11是用于說明根據(jù)本發(fā)明的一方面的執(zhí)行去振鈴(deringing)濾波的處理的視圖;圖12是例示根據(jù)本發(fā)明的一方面的依照變換和量化類型的掃描序列的視圖;圖13至圖18是用于說明根據(jù)本發(fā)明的一方面的依照變換和量化類型來應(yīng)用 CAVLC的方法的視圖;圖19是用于說明根據(jù)本發(fā)明的一方面的視頻編碼方法的流程圖;圖20是根據(jù)本發(fā)明的一方面的視頻解碼設(shè)備的示意性框圖;圖21是用于說明根據(jù)本發(fā)明的一方面的視頻解碼方法的流程圖;圖22是例示根據(jù)本發(fā)明的一方面的64X64宏塊被劃分成的各種子塊的視圖;以及圖23是例示根據(jù)本發(fā)明的一方面的依照幀內(nèi)預(yù)測模式的針對幀內(nèi)4X4塊的系數(shù)的掃描圖案的視圖。
具體實施例方式下文將參照附圖詳細描述本發(fā)明的方面。在以下描述中,盡管在不同的附圖中示出,但是用相同的附圖標記來表示相同的元件。此外,在本發(fā)明的以下描述中,當對并入本文的公知功能和構(gòu)造的詳細描述使得本發(fā)明的主題不清晰時,將省略這些詳細描述。另外,在描述本發(fā)明的組件時,可以存在諸如第一第二、A、B、(a)和(b)的術(shù)語。這些術(shù)語僅出于將ー個組件與其它組件相區(qū)分的目的而不暗示或意指這些組件的實質(zhì)、順序或次序。如果將組件描述為“連接”、“耦接”或“鏈接”到其它組件,則這些組件不僅可以直接“連接”、“耦接”或“鏈接”到其它組件而且可以經(jīng)由第三組件間接地“連接”、“耦接”或 “鏈接”到其它組件。圖1示意性地例示了根據(jù)本發(fā)明的一方面的視頻編碼設(shè)備的結(jié)構(gòu)。根據(jù)本發(fā)明的一方面的視頻編碼設(shè)備100是用于對視頻進行編碼的設(shè)備,并且可以包括預(yù)測器110、減法器120、變換器和量化器130、掃描器140、編碼器150、逆量化器和逆變換器160、加法器170、濾波器180以及宏塊類型確定器190。該視頻編碼設(shè)備100可以是個人計算機或PC、筆記本計算機或膝上型計算機、個人數(shù)字助理或PDA、便攜式多媒體播放器或PMP、便攜式游戲機或PSP或移動通信終端、智能電話等裝置,并且表示配備有例如用于在各種裝置或有線/無線通信網(wǎng)絡(luò)之間執(zhí)行通信的諸如調(diào)制解調(diào)器的通信裝置、用于存儲用于對視頻和相關(guān)數(shù)據(jù)進行編碼的各種程序的存儲器以及用于執(zhí)行這些程序以實現(xiàn)操作和控制的微處理器的各種設(shè)備。可以將諸如幀或切片(slice)的要被編碼的輸入視頻劃分成用于編碼的単位塊。 在本發(fā)明中,用于編碼或解碼的各個單位塊被稱為宏塊。根據(jù)本發(fā)明的一方面,該宏塊可以具有MXN的可變尺寸。這里,M和N中的每ー個可以是值為2n的整數(shù)(其中,η是等于或大于1的整數(shù)),并且具體地說,可以是大于或等于16的整數(shù)。根據(jù)本發(fā)明的宏塊與常規(guī)宏塊的不同之處在干,根據(jù)本發(fā)明的宏塊可以具有可變的形狀或尺寸。另外,根據(jù)本發(fā)明,具有不同的形狀或尺寸的宏塊可以用于要被編碼的每ー個輸入視頻,諸如幀或切片。而且,可以將要被編碼或解碼的ー個輸入視頻(諸如幀或切片)劃分成具有不同的形狀或尺寸的多個宏塊,這些宏塊依次被編碼或解碼。對指示各個宏塊的形狀或尺寸的宏塊信息進行編碼,并且將所編碼的宏塊信息包括在圖片頭、切片頭或宏塊頭中。當視頻解碼設(shè)備對經(jīng)編碼的數(shù)據(jù)進行解碼時,該視頻解碼設(shè)備可以利用該宏塊信息來確定要解碼的宏塊的類型。使用什么類型的塊可以通過選擇在利用各種類型的塊來執(zhí)行視頻編碼時產(chǎn)生最優(yōu)效率的塊類型,或者根據(jù)通過分析幀的特性而獲取的特征選擇塊類型來確定。例如,如果幀視頻具有高空間冗余,則可以將大于常規(guī)的固定16X16宏塊的方形宏塊(諸如32X32宏塊或64X64宏塊)選擇為編碼的単位。另選的是,如果幀視頻具有高水平相關(guān)性或垂直相關(guān)性,則可以選擇具有水平長形狀或垂直長形狀的宏塊。為此,視頻編碼設(shè)備100可以包括宏塊類型確定器190,該宏塊類型確定器190用于確定宏塊類型,將諸如幀或切片的要編碼的輸入視頻劃分成各自具有所確定的形狀或尺寸的多個宏塊,對針對宏塊類型的宏塊信息進行編碼,以及將所編碼的宏塊信息包括在經(jīng)編碼的數(shù)據(jù)中。如圖1所示,作為本發(fā)明的組件的宏塊編碼器IOOa可以包括預(yù)測器110、減法器 120、變換器和量化器130、掃描器140、編碼器150、逆量化器和逆變換器160、加法器170以及濾波器180。宏塊編碼器IOOa對各個宏塊進行編碼,并且對指示各個宏塊的形狀或尺寸的宏塊信息進行編碼。預(yù)測器110利用其它先前經(jīng)解碼的像素值來預(yù)測要被編碼的當前塊,以生成當前塊的預(yù)測塊。也就是說,預(yù)測器110利用幀內(nèi)預(yù)測、幀間預(yù)測等來預(yù)測當前塊,以生成以預(yù)測像素值作為各個像素的像素值的預(yù)測塊。要預(yù)測的當前塊可以是宏塊,并且如果需要,還可以是通過劃分宏塊所獲取的子塊,以便優(yōu)化預(yù)測像素值。也就是說,還可以將作為編碼的単位的宏塊劃分成各自具有比該宏塊小的尺寸的多個預(yù)測単位。結(jié)果,可以以從宏塊劃分的子塊為單位來生成預(yù)測塊。這里,宏塊可以是具有方形或矩形形狀的MXN塊,子塊可以是分別具有在不超出宏塊尺寸的范圍內(nèi)的2η的水平尺寸和垂直尺寸的PXQ塊。預(yù)測器110生成指示子塊的類型(即,子塊類型)的信息,并將所生成的信息提供給編碼器150。編碼器150對指示子塊類型的信息進行編碼,并將所編碼的信息提供給視頻解碼設(shè)備。子塊類型包括子塊預(yù)測模式和子塊尺寸。子塊可以根據(jù)子塊預(yù)測模式而被分類成幀內(nèi)子塊和幀間子塊。幀內(nèi)子塊還可以根據(jù)子塊尺寸而被分類成幀內(nèi)4X4塊、幀內(nèi)8X8 塊、幀內(nèi)16X16塊等。另外,幀內(nèi)子塊可以被分類成各種幀內(nèi)子塊,諸如幀內(nèi)32X32塊和幀內(nèi)16X32塊。幀間子塊可以被分類成幀間4X4塊、幀間8X4塊、幀間4X8塊、幀間8X8 塊、幀間8X16塊、幀間16X8塊、幀間16X16塊等。另外,幀間子塊可以被分類成各種幀間子塊,諸如幀間32X16塊、幀間16X32塊以及幀間32X32塊。根據(jù)本發(fā)明的一方面,視頻編碼設(shè)備可以生成指示針對各個子塊的預(yù)測模式的預(yù)測模式信息并且將所生成的預(yù)測模式信息包括在比特流中。該預(yù)測模式可以包括幀內(nèi)預(yù)測模式、幀間預(yù)測模式、跳躍模式以及直接模式。而且,當為了預(yù)測而將作為編碼単位的宏塊劃分成多個子塊吋,根據(jù)本發(fā)明的視頻編碼設(shè)備可以生成指示宏塊被劃分成的子塊的形狀或尺寸的宏塊劃分信息,并將所生成的宏塊劃分信息發(fā)送至視頻解碼設(shè)備。宏塊劃分信息可以根據(jù)怎樣劃分宏塊來按照各種方式實現(xiàn)。根據(jù)本發(fā)明的一方面,宏塊劃分信息可以包括宏塊內(nèi)的各個子塊的起始位置和尺寸。在這種情況下,可以進行靈活的塊劃分,但是增加了要發(fā)送的數(shù)據(jù)量。根據(jù)本發(fā)明的另一方面,宏塊劃分信息可以通過指示劃分類型的、具有一個或更多個比特的標記來實現(xiàn)。該標記所具有的相應(yīng)值限定不同的塊劃分方案。例如,如果該標記的值為“0”,則該標記指示塊未被劃分。而且,如果該標記的值為“ 1 ”,則該標記指示塊被劃分成四個尺寸相等的子塊。 當存在三個或更多個劃分類型時,各個劃分類型可以通過具有兩個或更多個比特的標記來指示。如上所述,預(yù)測模式信息和宏塊劃分信息可以由獨立的語法元素來實現(xiàn),并且還可以同時由一個語法元素來表達。因為常規(guī)的H. 264標準將宏塊的尺寸固定為按照16X16 進行編碼和解碼的單位,所以針對對應(yīng)宏塊的預(yù)測模式和用于預(yù)測該宏塊的劃分模式可以僅由針對各個宏塊生成的一個語法元素“mb type”來指示。然而,在本發(fā)明中,因為宏塊的尺寸或形狀是可變的,所以視頻編碼設(shè)備可以生成預(yù)測模式信息和宏塊劃分信息以及指示宏塊的尺寸或形狀的宏塊信息,并將它們提供給視頻解碼設(shè)備。減法器120通過從當前塊中減去預(yù)測塊來生成殘留塊。也就是說,減法器120計算當前塊的各個像素的原始像素值與預(yù)測塊的各個像素的預(yù)測像素值之間的差,以生成具有殘留信號的殘留塊。變換器和量化器130根據(jù)要被編碼的當前宏塊的形狀和尺寸、當前宏塊或子塊的塊類型等來確定變換和量化類型,并且根據(jù)所確定的變換和量化類型來對殘留塊進行變換和量化。更具體地說,變換器和量化器130將殘留塊的殘留信號變換到頻域中,以生成具有變換系數(shù)的經(jīng)變換的殘留塊,并且對所變換的殘留塊進行量化,以生成具有經(jīng)量化的變換系數(shù)的經(jīng)變換和量化的殘留塊。當變換器和量化器130對殘留塊進行變換和量化吋,因為變換處理被包括在量化處理中,所以在量化完成之前,變換沒有完成。這里,用于將空間域中的視頻信號變換到頻域中的技術(shù)(諸如,基于哈達瑪(Hadamard)變換和離散余弦變換(DCT)的整數(shù)變換(下文簡稱為“整數(shù)變換”))可以被用作該變換方法,而諸如死區(qū)一致性閾值量化(下文稱為 “DZUTQ”)和量化加權(quán)矩陣的各種量化技術(shù)可以被用作該量化方法。而且,像塊尺寸為PXQ的變換和量化的各種變換和量化類型可以在不超出當前宏塊的尺寸的范圍內(nèi)。這里,塊尺寸為PXQ的變換和量化可以與具有當前尺寸為MXN的宏塊可能具有的(除了塊尺寸為4X4的典型變換和量化以及塊尺寸為8X8的變換和量化以外的)子塊尺寸的變換和量化對應(yīng)。而且,變換器和量化器130可以基于根據(jù)針對當前宏塊或子塊的預(yù)測模式和/或子塊的尺寸(即,作為預(yù)測単位的子塊)確定的變換和量化類型,來對殘留塊進行變換和量化。對此,當當前塊是幀內(nèi)塊類型吋,變換和量化類型可以被確定成與幀內(nèi)塊類型的塊尺寸相同。而且,當當前塊是幀間塊類型吋,可以利用編碼成本從多個變換和量化類型當中確定一個變換和量化類型。這里,所述多個變換和量化類型不僅可以是具有與子塊的塊尺寸相同的尺寸的變換和量化類型,而且可以是具有各種塊尺寸的變換和量化類型。以下對由變換器和量化器130對殘留塊進行變換和量化的處理進行詳細描述。掃描器140對從變換器和量化器130輸出的所變換和量化的殘留塊的經(jīng)量化的變換系數(shù)進行掃描,以生成經(jīng)量化的變換系數(shù)串。對此,考慮變換技術(shù)、量化技術(shù)以及塊(宏塊或子塊)的特性來確定掃描方法,并且確定掃描序列,以使得所掃描的量化變換系數(shù)串具有最小長度。而且,該掃描方法可以根據(jù)幀內(nèi)塊和幀間塊來改變。以下對幀內(nèi)塊和幀間塊的細節(jié)進行描述。雖然如圖1中獨立實現(xiàn)的,示出和描述了掃描器140,但是掃描器140可以省略并且其功能可以并入編碼器150中。編碼器150對所變換和量化的殘留塊進行編碼,以生成經(jīng)編碼的數(shù)據(jù)。也就是說, 編碼器150對由對從變換器和量化器130輸出的所變換和量化的殘留塊的所量化的變換系數(shù)進行掃描而得到的所量化的變換系數(shù)串進行編碼,以生成經(jīng)編碼的數(shù)據(jù),或者對由在掃描器140中進行掃描而得到的所量化的變換系數(shù)串進行編碼,以生成經(jīng)編碼的數(shù)據(jù)。熵編碼可以被用作該編碼技術(shù),但是各種其它無限制的編碼技術(shù)也是可用的。而且,從編碼器150輸出的經(jīng)編碼的數(shù)據(jù)不僅可以包括由對所量化的變換系數(shù)串進行編碼而得到的比特流,而且可以包括對所編碼的比特流進行解碼所需的各種信息。這里,對所編碼的比特流進行解碼所需的各種信息可以是上述信息,即,指示作為編碼単位的宏塊的尺寸或形狀的宏塊信息、預(yù)測模式信息、在為了預(yù)測而將宏塊劃分成多個子塊的情況下的指示子塊(即,作為預(yù)測単位的塊)的劃分方案或尺寸的宏塊劃分信息、針對預(yù)測模式是幀間預(yù)測模式的情況下的運動向量的信息、針對變換和量化類型的信息等,但是還可以是各種其
匕イロ‘ >Ε、。逆量化器和逆變換器160對從變換器和量化器130輸出的所變換和量化的殘留塊進行逆量化和逆變換,以重建殘留塊。逆量化和逆變換可以通過逆向執(zhí)行由變換器和量化器130執(zhí)行的變換和量化處理來實現(xiàn)。也就是說,逆量化器和逆變換器160可以利用從變換器和量化器130傳送的變換和量化信息(例如,針對變換和量化類型的信息)來執(zhí)行逆量化和逆變換,以逆向執(zhí)行由變換器和量化器130對殘留塊進行變換和量化的處理。加法器170將從逆量化器和逆變換器160輸出的所逆量化和逆變換的殘留塊與從預(yù)測器110輸出的預(yù)測塊相加,以重建當前塊。濾波器180對由加法器170重建的當前塊進行濾波。對此,濾波器180減少因以塊為單位對視頻進行變換和量化而在視頻的塊邊界處出現(xiàn)的塊效應(yīng)以及因高頻損失而造成的環(huán)繞視頻的邊緣出現(xiàn)的振鈴(ringing)噪聲。這里,去塊濾波器和去振鈴濾波器可以分別用于減少塊效應(yīng)和振鈴噪聲,而且可以選擇性地采用以下方式之一利用去塊濾波器和去振鈴濾波器這兩者來進行濾波、利用去塊濾波器或者利用去振鈴濾波器來進行濾波以及不利用去塊濾波器和去振鈴濾波器中的任ー個來進行濾波。而且,可以選擇性地采用以下方式之一在子塊之間的邊界處和宏塊之間的邊界處應(yīng)用去塊濾波以及僅在宏塊之間的邊界處應(yīng)用去塊濾波。在典型的視頻編碼中,用于視頻編碼的宏塊類型是具有16X16個像素的方形宏塊,并且可以通過針對各個宏塊執(zhí)行幀內(nèi)預(yù)測和幀間預(yù)測中的至少ー種來生成預(yù)測塊。廣泛使用以宏塊為單位的視頻編碼的原因在于其使得能夠考慮視頻的區(qū)域特征來進行有效編碼。而且,因為各種幀內(nèi)預(yù)測或幀間預(yù)測方法被用于生成預(yù)測塊,所以視頻的編碼效率很
問ο圖2至圖4例示了根據(jù)用于典型視頻編碼的宏塊類型的幀內(nèi)預(yù)測模式。圖2例示了在宏塊類型是幀內(nèi)4X4宏塊的情況下的九種幀內(nèi)預(yù)測模式,圖3例示了在宏塊類型是幀內(nèi)8X8宏塊的情況下的九種幀內(nèi)預(yù)測模式,并且圖4例示了在宏塊類型是幀內(nèi)16 X 16宏塊的情況下的四種幀內(nèi)預(yù)測模式。當宏塊類型是幀內(nèi)塊類型吋,利用幀內(nèi)預(yù)測來預(yù)測要編碼的宏塊。該幀內(nèi)塊類型被再劃分成幀內(nèi)4X4宏塊、幀內(nèi)8X8宏塊、幀內(nèi)16X16宏塊等。針對各個幀內(nèi)塊類型,根據(jù)圖2至圖4所示的預(yù)測模式,利用先前編碼、解碼和重建的相鄰塊的相鄰像素來預(yù)測宏塊。圖5例示了根據(jù)用于典型視頻編碼的宏塊類型的幀間預(yù)測模式。當宏塊類型是幀間塊類型吋,利用幀間預(yù)測來預(yù)測要編碼的宏塊。在這種情況下, 如圖5所示,通過利用先前編碼、解碼和重建的幀,針對宏塊以塊尺寸16X16、16X8、8X16 或8 X 8執(zhí)行預(yù)測來生成預(yù)測塊。當針對宏塊以塊尺寸8 X 8執(zhí)行預(yù)測時,通過針對各個8 X 8 塊以塊尺寸8X8、8X4、4X8或4X4執(zhí)行預(yù)測來生成預(yù)測塊。然而,當如典型視頻編碼中的,以各自具有塊尺寸16X 16的宏塊為單位對高分辨率視頻進行編碼吋,不能利用像素之間的高相關(guān)性(這是高分辨率視頻的特性)來有效地執(zhí)行編碼。這是因為盡管以各自具有MXN的擴展塊尺寸的宏塊為単位所生成的預(yù)測塊的預(yù)測準確度與以各自具有16X16的典型塊尺寸的宏塊為単位所生成的預(yù)測塊的預(yù)測準確度相似,但是增加了在以16X16宏塊為單位對視頻進行編碼的情況下的要編碼的宏塊的數(shù)量,進而降低了編碼效率。而且,在典型的視頻編碼中使用按照塊尺寸4X4或8X8的基于DCT的整數(shù)變換。 該整數(shù)變換在編碼效率和復(fù)雜性方面具有優(yōu)點,因為其不針對實數(shù)執(zhí)行運算(這是DCT中涉及的缺點),而是在盡可能多地保持DCT的特性的同時僅針對整數(shù)執(zhí)行運算。因以塊為單位的變換而造成的塊效應(yīng)和振鈴噪聲可以利用濾波來最小化。然而,針對視頻編碼設(shè)備100而言更有效的是,利用按照塊尺寸PXQ的各種類型的變換和量化而不是僅利用按照典型的4X4或8X8塊尺寸的變換和量化,來對高分辨率視頻進行編碼。這是因為在對具有高相關(guān)性的像素聚類在一起的寬區(qū)域進行編碼的情況下,僅利用按照4X4或8X8塊尺寸的變換和量化導(dǎo)致高頻分量的顯著塊效應(yīng)和損失。相反,如果按照塊尺寸PXQ的各種類型的變換和量化可用于執(zhí)行變換和量化,則因為與在僅使用按照典型塊尺寸的變換和量化時相比減少了高頻分量的損失,所以可以減少塊效應(yīng),并且還可以減少振鈴噪聲。由此,還減少了濾波操作的次數(shù),這使得可以降低濾波操作的復(fù)雜性,該濾波操作的復(fù)雜性主要貢獻于視頻編碼設(shè)備100和下面要描述的視頻解碼設(shè)備的實現(xiàn)復(fù)雜性。而且,因為使用按照塊尺寸PXQ的各種類型的變換和量化,所以作為編碼效率提高的結(jié)果,掃描器140可以按照適合于變換和量化塊尺寸的方式對由變換器和量化器130得到的經(jīng)量化的變換系數(shù)進行掃描。因此,在本發(fā)明的一方面中,與以各自具有塊尺寸16X16的宏塊為單位對視頻進行編碼的典型視頻編碼相比,通過以各自具有擴展塊尺寸MXN的宏塊為單位執(zhí)行預(yù)測來生成殘留塊。另外,不是僅4X4或8X8的塊尺寸被用作變換和量化塊尺寸,而是按照塊尺寸PXQ的各種變換和量化被用于執(zhí)行變換和量化,并且執(zhí)行適合于變換和量化塊尺寸的濾波和掃描。圖6例示了根據(jù)本發(fā)明的一方面的尺寸為MXN的宏塊。根據(jù)本發(fā)明的一方面,可以按照各種類型的宏塊(包括尺寸為64X64、U8X 128 和64X 128的宏塊以及如圖6所示的尺寸為32X32和32X 16的宏塊)為單位對視頻進行編碼。如圖6所示,尺寸為MXN的宏塊不僅可以具有方形形狀,而且可以具有矩形形狀。圖7例示了根據(jù)本發(fā)明的一方面的尺寸為MXN的宏塊可能具有的各種類型的子宏塊。圖7示出了塊尺寸為32X16的宏塊可以具有的子宏塊的塊尺寸的示例。當利用這些子宏塊預(yù)測宏塊吋,可以生成更類似于原始宏塊的預(yù)測塊,進而可以進ー步提高編碼效率。對此,確定尺寸為MXN的宏塊的尺寸的M和N可以分別按照2n來確定,并且確定尺寸為JXK的子宏塊的尺寸的J和K分別具有在不超出M和N的范圍內(nèi)的值2n。變換器和量化器130根據(jù)變換和量化類型來對殘留塊進行變換和量化,以將殘留塊的殘留信號變換成變換系數(shù),并通過對這些變換系數(shù)進行量化來生成經(jīng)量化的變換系數(shù)。對此,變換器和量化器130可以考慮要被編碼的當前宏塊的形狀或尺寸來確定用于變換和量化的變換和量化塊尺寸。也就是說,作為變換和量化的単位的塊的尺寸或變換和量化塊尺寸等于或大于當前宏塊的尺寸。而且,當當前宏塊具有矩形形狀吋,可以選擇矩形變換。而且,根據(jù)當前宏塊的尺寸可用的塊尺寸可以被選擇為變換和量化塊尺寸。例如,當當前宏塊是尺寸為64X64的大塊時,可以使用尺寸比4X4變換、4X8變換、8X4變換等更大的變換。如果當前宏塊是常規(guī)的尺寸為16X16的宏塊,則可以使用典型的4X4變換和 8X8變換。根據(jù)本發(fā)明的另一方面,變換器和量化器130可以考慮針對子宏塊的預(yù)測模式或作為預(yù)測的単位的塊的尺寸來確定用于變換和量化的變換和量化塊尺寸。例如,當塊是幀內(nèi)塊類型吋,可以將經(jīng)受幀內(nèi)預(yù)測的塊的尺寸確定為變換和量化塊尺寸。也就是說,在幀內(nèi)4X4預(yù)測的情況下可以使用塊尺寸為4X4的變換和量化,在幀內(nèi)8X8預(yù)測的情況下可以使用塊尺寸為8X8的變換和量化,在幀內(nèi)16X 16預(yù)測的情況下可以使用塊尺寸為16X16的變換和量化,并且在幀內(nèi)16X8預(yù)測的情況下可以使用塊尺寸為16X8的變換和量化。因此,當幀內(nèi)預(yù)測的單位是尺寸為PXQ的塊時,可以將塊尺寸為 PXQ的變換和量化確定為變換和量化類型。作為另ー示例,當塊是幀間塊類型吋,可以從多個變換和量化塊尺寸中確定使編碼成本最小的變換和量化塊尺寸。也就是說,可以從變換和量化塊尺寸4X 4、8 X 8、16 X 16、 32X16、8X16、16X8等中選擇ー個變換和量化塊尺寸,并且可以利用按照所選擇的塊尺寸的變換和量化來對殘留塊進行變換和量化。下文中,將基于將塊尺寸為8X4的變換和量化確定為變換和量化類型的假定來對根據(jù)本發(fā)明的一方面的變換和量化處理進行描述。塊尺寸為8 X 4的變換可以通過組合4X4整數(shù)變換與8 X 8整數(shù)變換來設(shè)計,并且可以由下式來表達Y=AXBt式 1
13
在式1中,X表示由塊尺寸為8X4的預(yù)測塊生成的、塊尺寸為8X4的殘留塊,A表示用于4X4整數(shù)變換的矩陣,B表示用于8X8整數(shù)變換的矩陣,T表示作為通過將對應(yīng)矩陣的行與列互換所獲取的矩陣的轉(zhuǎn)置矩陣,并且Y表示作為針對塊尺寸為8X4的殘留塊執(zhí)行8X4變換的結(jié)果的經(jīng)變換的殘留塊。在上式中,A和Bt的元素可以表示為如下式所給出的
權(quán)利要求
1.ー種視頻編碼方法,該視頻編碼方法包括以下步驟將輸入的視頻劃分成具有各種形狀或尺寸的多個宏塊;對所述多個宏塊中的每ー個宏塊進行編碼;以及生成指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息。
2.根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,對所述多個宏塊中的每ー個宏塊進行編碼的步驟包括以下步驟將所述多個宏塊中的每ー個宏塊劃分成多個子塊;針對所述多個子塊中的每ー個子塊執(zhí)行預(yù)測編碼;以及生成指示針對所述多個子塊中的每ー個子塊的預(yù)測模式的預(yù)測模式信息和指示所述多個子塊中的每ー個子塊的尺寸的宏塊劃分信息。
3.根據(jù)權(quán)利要求2所述的視頻編碼方法,其中,對所述多個宏塊中的每ー個宏塊進行編碼的步驟包括以下步驟預(yù)測所述多個子塊中的每ー個子塊以獲取預(yù)測子塊;獲取表示所述多個子塊中的每ー個子塊與所述多個子塊中的每ー個子塊的所述預(yù)測子塊之間的差的殘留塊;基于所述多個宏塊中的每ー個宏塊的尺寸、所述預(yù)測模式以及所述多個子塊中的每ー 個子塊的尺寸中的至少ー個來確定變換類型;根據(jù)所確定的變換類型來對所述殘留塊進行變換;以及對所變換的殘留塊進行量化。
4.根據(jù)權(quán)利要求3所述的視頻編碼方法,其中,對所述多個宏塊中的每ー個宏塊進行編碼的步驟還包括以下步驟對指示所確定的變換類型的信息進行編碼。
5.根據(jù)權(quán)利要求4所述的視頻編碼方法,其中,指示所述變換類型的所述信息包括所述變換的尺寸或種類。
6.根據(jù)權(quán)利要求1所述的視頻編碼方法,其中,所述多個宏塊中的每ー個宏塊具有水平邊的長度與垂直邊的長度不同的矩形形狀。
7.根據(jù)權(quán)利要求3所述的視頻編碼方法,其中,確定所述變換類型的步驟包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式時,將所述變換的尺寸確定為與所述預(yù)測子塊的尺寸相同。
8.根據(jù)權(quán)利要求3所述的視頻編碼方法,其中,對所述殘留塊進行變換的步驟包括以下步驟當所述殘留塊的尺寸小于所確定的變換的尺寸吋,將多個殘留塊相互組合以生成尺寸等于所述變換的尺寸的組合殘留塊,并接著對所述組合殘留塊進行變換。
9.根據(jù)權(quán)利要求3所述的視頻編碼方法,其中,對所述多個宏塊中的每ー個宏塊進行編碼的步驟包括以下步驟利用根據(jù)所述預(yù)測模式選擇的掃描圖案來對所變換和量化的殘留塊的系數(shù)進行掃描。
10.根據(jù)權(quán)利要求9所述的視頻編碼方法,其中,對所述系數(shù)進行掃描的步驟包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,利用與多個幀內(nèi)預(yù)測模式當中的、用于預(yù)測所述多個子塊中的每ー個子塊的幀內(nèi)預(yù)測模式對應(yīng)的掃描圖案,來對所變換和量化的殘留塊的所述系數(shù)進行掃描。
11.根據(jù)權(quán)利要求9所述的視頻編碼方法,其中,對所述系數(shù)進行掃描的步驟包括以下步驟當所述預(yù)測模式是幀間預(yù)測模式吋,利用根據(jù)針對所變換和量化的殘留塊的所述變換類型選擇的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)進行掃描。
12.ー種視頻解碼方法,該視頻解碼方法包括以下步驟接收通過將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊并對所述多個宏塊中的每ー個宏塊進行編碼而獲取的視頻數(shù)據(jù);對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行解碼;以及基于所述宏塊信息對所述多個宏塊中的每ー個宏塊進行解碼。
13.根據(jù)權(quán)利要求12所述的視頻解碼方法,其中,對所述多個宏塊中的每ー個宏塊進行解碼的步驟包括以下步驟當所述多個宏塊中的每ー個宏塊被劃分成多個子塊時,對指示所述多個子塊中的每ー 個子塊的尺寸的宏塊劃分信息和指示針對所述多個子塊中的每ー個子塊的預(yù)測模式的預(yù)測模式信息進行解碼;以及基于所述宏塊劃分信息和所述預(yù)測模式信息來獲取所述多個子塊中的每ー個子塊的預(yù)測子塊。
14.根據(jù)權(quán)利要求13所述的視頻解碼方法,其中,對所述多個宏塊中的每ー個宏塊進行解碼的步驟包括以下步驟基于所述多個宏塊中的每ー個宏塊的尺寸、所述預(yù)測模式以及所述多個子塊中的每ー 個子塊的尺寸中的至少ー個來確定逆變換類型;根據(jù)所確定的逆變換類型來對殘留塊進行逆量化和逆變換,以獲取經(jīng)逆量化和逆變換的殘留塊;以及將所逆量化和逆變換的殘留塊與所述預(yù)測子塊相加,以獲取重建塊。
15.根據(jù)權(quán)利要求14所述的視頻解碼方法,其中,確定所述逆變換類型的步驟包括以下步驟基于指示所述逆變換類型的信息來確定所述逆變換類型。
16.根據(jù)權(quán)利要求15所述的視頻解碼方法,其中,指示所述逆變換類型的所述信息包括所述逆變換的尺寸或種類。
17.根據(jù)權(quán)利要求12所述的視頻解碼方法,其中,所述多個宏塊中的每ー個宏塊具有水平邊的長度與垂直邊的長度不同的矩形形狀。
18.根據(jù)權(quán)利要求14所述的視頻解碼方法,其中,確定所述逆變換類型的步驟包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,將所述逆變換的尺寸確定為與所述多個子塊中的每ー個子塊的尺寸相同。
19.根據(jù)權(quán)利要求14所述的視頻解碼方法,其中,對所述多個宏塊中的每ー個宏塊進行解碼的步驟還包括以下步驟當所述預(yù)測子塊的尺寸小于所確定的逆變換的尺寸時,將所逆量化和逆變換的殘留塊劃分成多個殘留子塊,該多個殘留子塊各自具有等于所述預(yù)測子塊的尺寸的尺寸;以及將所述多個殘留子塊中的每ー個殘留子塊與所述預(yù)測子塊相加,以獲取重建塊。
20.根據(jù)權(quán)利要求14所述的視頻解碼方法,其中,對所述多個宏塊中的每ー個宏塊進行解碼的步驟還包括以下步驟對經(jīng)變換和量化的殘留塊的系數(shù)串進行掃描,以獲取經(jīng)ニ維變換和量化的殘留塊,其中,對所述系數(shù)串的掃描根據(jù)所述預(yù)測模式來選擇。
21.根據(jù)權(quán)利要求20所述的視頻解碼方法,其中,對所述系數(shù)串進行掃描的步驟包括以下步驟當所述預(yù)測模式是幀內(nèi)預(yù)測模式吋,利用與多個幀內(nèi)預(yù)測模式當中的、用于預(yù)測所述多個子塊中的每ー個子塊的幀內(nèi)預(yù)測模式對應(yīng)的掃描圖案,來對所變換和量化的殘留塊的所述系數(shù)串進行掃描。
22.根據(jù)權(quán)利要求20所述的視頻解碼方法,其中,對所述系數(shù)串進行掃描的步驟包括以下步驟當所述預(yù)測模式是幀間預(yù)測模式吋,利用根據(jù)所述逆變換類型選擇的掃描圖案來對所變換和量化的殘留塊的所述系數(shù)串進行掃描。
23.一種視頻編碼設(shè)備,該視頻編碼設(shè)備包括宏塊類型確定器,該宏塊類型確定器用于將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊;以及宏塊編碼器,該宏塊編碼器用于對所述多個宏塊中的每ー個宏塊進行編碼,并且該宏塊編碼器對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行編碼。
24.一種視頻解碼設(shè)備,該視頻解碼設(shè)備包括解碼器,該解碼器用于接收通過將輸入的視頻劃分成具有不同的形狀或尺寸的多個宏塊并對所述多個宏塊中的每ー個宏塊進行編碼而獲取的視頻數(shù)據(jù),并且該解碼器對指示所述多個宏塊中的每ー個宏塊的形狀或尺寸的宏塊信息進行解碼;以及逆量化器和逆變換器,該逆量化器和逆變換器用于基于所述宏塊信息來對所述多個宏塊中的每ー個宏塊進行逆量化和逆變換。
全文摘要
公開了一種高分辨率視頻編碼/解碼方法和設(shè)備。該視頻編碼方法包括以下步驟預(yù)測當前塊以生成預(yù)測塊,從所述當前塊中減去所述預(yù)測塊以生成殘留塊,根據(jù)所述當前塊的塊類型來確定變換和量化類型;根據(jù)所確定的變換和量化類型來對所述殘留塊進行變換和量化;以及對所變換和量化的殘留塊進行編碼。根據(jù)所述視頻編碼/解碼方法和設(shè)備,不僅編碼效率能夠因為本發(fā)明使得能夠利用出現(xiàn)在視頻中的時間/空間相鄰的像素之間的高相關(guān)性來進行編碼而被提高,而且壓縮效率還能夠通過減少塊失真而被提高。
文檔編號H04N7/34GK102598669SQ201080051482
公開日2012年7月18日 申請日期2010年9月3日 優(yōu)先權(quán)日2009年9月14日
發(fā)明者全炳宇, 徐正勛, 文柱禧, 李英烈, 林晶娟, 洪性旭, 金基五, 金守年, 金海光 申請人:Sk電信有限公司