技術(shù)領(lǐng)域
本發(fā)明涉及一種幀內(nèi)預(yù)測模式中的運動圖片的解碼方法,更特別的是,涉及一種恢復(fù)幀內(nèi)預(yù)測模式、生成非常類似于原始塊的預(yù)測塊、解碼剩余塊以及利用預(yù)測塊和剩余塊生成重建塊的方法。
背景技術(shù):
在諸如運動圖像專家組(MPEG)-1、MPEG-2、MPEG-4和H.264/MPEG-4高級視頻編碼(AVC)的圖像壓縮方法中,將一張圖片分成多個宏塊以編碼圖像。然后,利用幀間預(yù)測或幀內(nèi)預(yù)測對各個宏塊進(jìn)行編碼。
在幀內(nèi)預(yù)測中,使用與當(dāng)前塊空間上相鄰的重建后的像素的值,而不使用參考圖片來對圖片的當(dāng)前塊進(jìn)行編碼。通過將使用相鄰像素值生成的預(yù)測塊與原始宏塊進(jìn)行比較來選擇畸變很小的幀內(nèi)預(yù)測模式。然后,使用選定的幀內(nèi)預(yù)測模式和相鄰的像素值,計算當(dāng)前塊的預(yù)測值。計算預(yù)測值與原始的當(dāng)前塊的像素值之差,然后通過變換編碼、量化和熵編碼來對該差值進(jìn)行編碼。還對幀內(nèi)預(yù)測模式進(jìn)行編碼。
在4×4的常規(guī)幀內(nèi)預(yù)測中,存在九種模式:垂直模式、水平模式、DC模式、對角線左下模式、對角線右下模式、垂直右模式、垂直左模式、水平上模式和水平下模式。
根據(jù)H.264標(biāo)準(zhǔn),在上述九種模式中選定一種模式來生成當(dāng)前塊的預(yù)測塊。根據(jù)正在研發(fā)的HEVC標(biāo)準(zhǔn),存在17或34種幀內(nèi)預(yù)測模式。
然而,當(dāng)與當(dāng)前塊相鄰的像素的某些或全部值不存在或未被編碼時,不可能對當(dāng)前塊應(yīng)用這些或全部幀內(nèi)預(yù)測模式。在這種情況下,如果通過從可用幀內(nèi)預(yù)測模式中選擇一種幀內(nèi)預(yù)測模式來實施幀內(nèi)預(yù)測,則預(yù)測塊與原始塊之間的畸變會變大。因此,降低編碼效率。
而且,隨著幀內(nèi)預(yù)測模式數(shù)量增多,需要一種比常規(guī)方法更加有效的幀內(nèi)預(yù)測模式編碼新方法,以及一種更加有效的解碼幀內(nèi)預(yù)測模式并生成重建塊的方法。
技術(shù)實現(xiàn)要素:
本發(fā)明涉及一種恢復(fù)幀內(nèi)預(yù)測模式、生成非常類似于原始塊的預(yù)測塊、解碼剩余塊并且利用預(yù)測塊和剩余塊生成重建塊的方法。
本發(fā)明的一個方面提供了一種幀內(nèi)預(yù)測模式中的運動圖片的解碼方法,包括:解復(fù)用比特流以提取幀內(nèi)預(yù)測信息和剩余信號,利用幀內(nèi)預(yù)測信息和與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式,恢復(fù)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式,如果在預(yù)測單元中存在不可用參考像素,則利用一個或多個可用參考像素生成參考像素,根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式適應(yīng)性地過濾參考像素,利用恢復(fù)后的幀內(nèi)預(yù)測模式和參考像素生成預(yù)測塊,解碼剩余信號以生成剩余塊,以及利用預(yù)測塊和剩余塊生成重建塊。
根據(jù)本發(fā)明的方法恢復(fù)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式,并且根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式適應(yīng)性過濾參考像素,以便生成使預(yù)測塊與原始塊之間的差別最小的預(yù)測塊。通過根據(jù)幀內(nèi)預(yù)測模式適應(yīng)性解碼剩余信號來生成剩余塊。因此,通過生成非常類似于原始塊的預(yù)測塊,解碼剩余塊所需的比特量被最小化。并且,通過使用多個備選編碼當(dāng)前塊的幀內(nèi)預(yù)測模式,提高了幀內(nèi)預(yù)測模式的編碼效率。
附圖說明
圖1是根據(jù)本發(fā)明的運動圖片編碼裝置的方框圖。
圖2是根據(jù)本發(fā)明的運動圖片編碼裝置的幀內(nèi)預(yù)測單元的方框圖。
圖3是示出根據(jù)本發(fā)明的用于幀內(nèi)預(yù)測的參考像素位置的概念圖。
圖4是表示根據(jù)本發(fā)明的方向性幀內(nèi)預(yù)測模式的概念圖。
圖5是根據(jù)本發(fā)明的運動圖片解碼裝置的方框圖。
圖6是根據(jù)本發(fā)明的運動圖片解碼裝置的幀內(nèi)預(yù)測單元的方框圖。
圖7是表示根據(jù)本發(fā)明的幀內(nèi)預(yù)測模式下解碼步驟的流程圖。
圖8是表示根據(jù)本發(fā)明的恢復(fù)幀內(nèi)預(yù)測模式的步驟的流程圖。
圖9是表示根據(jù)本發(fā)明的恢復(fù)幀內(nèi)預(yù)測模式的另一步驟的流程圖。
具體實施方式
下文中,將參照附圖具體描述本發(fā)明的各個實施例。然而,本發(fā)明不限于下述示例性實施例,而是可以以不同類型實現(xiàn)。因此,對本發(fā)明的許多其他修改和變型也是可能的,并且應(yīng)當(dāng)理解,在所公開的原理的范圍內(nèi),可以通過不同于具體描述的方式來實現(xiàn)本發(fā)明。
圖1是根據(jù)本發(fā)明的運動圖片編碼裝置的方框圖。
參照圖1,根據(jù)本發(fā)明的運動圖片編碼裝置100包括圖片分割單元110、轉(zhuǎn)換單元120、量化單元130、掃描單元131、熵編碼單元140、幀內(nèi)預(yù)測單元150、幀間預(yù)測單元160、反量化單元135、反轉(zhuǎn)換單元125、后處理單元170、圖片存儲單元180、減法器190和加法器195。
該圖片分割單元110分析輸入視頻信號,以將圖片的每個LCU分割成具有預(yù)定大小的一個或多個編碼單元,確定每個編碼單元的預(yù)測模式并且確定每個編碼單元的預(yù)測單元的大小。該圖片分割單元110根據(jù)預(yù)測模式將所要編碼的預(yù)測單元傳送到幀內(nèi)預(yù)測單元150或者幀間預(yù)測單元160。而且,該圖片分割單元110將所要編碼的預(yù)測單元傳送到減法器190。
該轉(zhuǎn)換單元120轉(zhuǎn)換預(yù)測單元的原始塊與幀內(nèi)預(yù)測單元150或幀間預(yù)測單元160生成的預(yù)測塊之間的剩余塊。剩余塊可以具有編碼單元的大小。該剩余塊可被分成最優(yōu)轉(zhuǎn)換單元并被轉(zhuǎn)換??梢愿鶕?jù)預(yù)測模式和幀內(nèi)預(yù)測模式適應(yīng)性確定轉(zhuǎn)換矩陣類型??梢酝ㄟ^水平和垂直一維(1D)轉(zhuǎn)換矩陣來轉(zhuǎn)換剩余信號的該轉(zhuǎn)換單元。在幀間預(yù)測中,應(yīng)用一種預(yù)定的轉(zhuǎn)換矩陣類型。在幀內(nèi)預(yù)測中,當(dāng)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式為水平時,剩余信號極有可能具有垂直方向性。因此,將基于離散余弦變換(DCT)的整數(shù)矩陣用于垂直方向,并且將基于離散正弦變換(DST)或者卡洛南-洛伊變換(KLT)的整數(shù)矩陣用于水平方向。當(dāng)幀內(nèi)預(yù)測模式為垂直時,將基于DST或KLT的整數(shù)矩陣用于垂直方向,并且將基于DCT的整數(shù)矩陣用于水平方向。而且,在幀內(nèi)預(yù)測中,可以根據(jù)轉(zhuǎn)換單元的大小適應(yīng)性確定轉(zhuǎn)換矩陣。
該量化單元130為每個編碼單元確定用于量化剩余塊的轉(zhuǎn)換系數(shù)的量化步距。為等于或大于預(yù)定大小的每個編碼單元確定量化步距。預(yù)定大小可以是8×8或者16×16。使用所確定的量化步距和根據(jù)預(yù)測模式確定的量化矩陣,對轉(zhuǎn)換系數(shù)進(jìn)行量化。該量化單元130使用與當(dāng)前編碼單元相鄰的一個或多個編碼單元的量化步距來生成當(dāng)前編碼單元的量化步距預(yù)測值。
該量化單元130按照以下掃描順序連續(xù)檢索編碼單元:1)當(dāng)前編碼單元的左編碼單元,2)當(dāng)前編碼單元的上編碼單元,以及3)當(dāng)前編碼單元的左上編碼單元。并且量化單元使用一個或兩個有效量化步距生成當(dāng)前編碼單元的量化步距預(yù)測值。例如,可以將該掃描順序中遇到的第一有效量化步距確定為量化步距預(yù)測值。當(dāng)兩個或更多個量化步距為有效時,可以將該掃描順序中檢索到的最先的兩個有效量化步距的平均值確定為量化步距預(yù)測值,并且當(dāng)僅有一個量化步距為有效時,將這個有效量化步距確定為量化步距預(yù)測值。當(dāng)確定了量化步距預(yù)測值時,將量化步距與量化步距預(yù)測值之差傳送到熵編碼單元140。
當(dāng)前編碼單元可以不存在左編碼單元、上編碼單元和左上編碼單元。另一方面,在編碼順序中,當(dāng)前編碼單元可能具有前一編碼單元。因此,與當(dāng)前編碼單元相鄰的編碼單元和前一編碼單元可以作為備選。在這種情況下,以上的掃描順序可以變?yōu)槿缦聮呙桧樞颍?)當(dāng)前編碼單元的左編碼單元,2)當(dāng)前編碼單元的上編碼單元,3)當(dāng)前編碼單元的左上編碼單元以及4)當(dāng)前編碼單元的前一編碼單元。掃描順序可以改變,或者可以在掃描順序中省略左上編碼單元。將量化后的轉(zhuǎn)換塊提供給反量化單元135和掃描單元131。
該掃描單元131掃描量化后轉(zhuǎn)換塊的量化后轉(zhuǎn)換系數(shù),從而將該量化后轉(zhuǎn)換系數(shù)變?yōu)?D量化后轉(zhuǎn)換系數(shù)。因為量化后轉(zhuǎn)換系數(shù)的分布依賴于幀內(nèi)預(yù)測模式,所以根據(jù)幀內(nèi)預(yù)測模式來確定掃描方式。還可以根據(jù)轉(zhuǎn)換單元的大小來確定掃描方式??梢愿鶕?jù)方向性幀內(nèi)預(yù)測模式來確定掃描方式。沿相反方向掃描量化后轉(zhuǎn)換系數(shù)。
當(dāng)量化后轉(zhuǎn)換系數(shù)被分成多個子集時,將相同的掃描方式應(yīng)用于每個子集。該多個子集由一個主子集和一個或多個剩余子集構(gòu)成。該主子集位于左上側(cè)并且包括DC系數(shù)。該一個或多個剩余子集覆蓋了不同于主子集的區(qū)域。
可以采用折線掃描來掃描子集。掃描子集可以按正向從主子集開始到剩余子集,或者能夠按反向掃描??梢詫呙枳蛹膾呙璺绞皆O(shè)定成與掃描子集中的量化后轉(zhuǎn)換系數(shù)的掃描方式相同。在這種情況下,根據(jù)幀內(nèi)預(yù)測模式來確定掃描子集的掃描方式。運動圖片編碼裝置100將能夠表示轉(zhuǎn)換單元最后一個非零量化后系數(shù)的位置的信息傳送給解碼器。運動圖片編碼裝置100還將能夠表示每個子集的最后一個非零量化后系數(shù)位置的信息傳送給解碼器。
反量化單元135反量化該量化后轉(zhuǎn)換系數(shù)。反轉(zhuǎn)換單元125由反量化后轉(zhuǎn)換系數(shù)恢復(fù)空間域的剩余信號。加法器195通過將反轉(zhuǎn)換單元125重建的剩余塊與來自幀內(nèi)預(yù)測單元150或幀間預(yù)測單元160的預(yù)測塊相加生成重建塊。
后處理單元170實施解塊過濾工序,以去除重建圖片中生成的塊效應(yīng);實施適應(yīng)性偏移施加工序,以補(bǔ)償重建圖片與原始圖像的每個像素的差別;以及實施適應(yīng)性環(huán)路過濾工序,以在編碼單元中補(bǔ)償重建圖片與原始圖像的差別。
可以將解塊過濾工序應(yīng)用于具有預(yù)定大小或更大的預(yù)測單元之間以及轉(zhuǎn)換單元之間的邊界。預(yù)定大小可以是8×8。該解塊過濾工序包括確定要過濾的邊界的步驟、確定所要應(yīng)用到該邊界的邊界過濾強(qiáng)度的步驟、確定是否應(yīng)用解塊過濾的步驟以及當(dāng)確定應(yīng)用解塊過濾時選擇應(yīng)用到該邊界的過濾器的步驟。
根據(jù)以下內(nèi)容來確定是否應(yīng)用解塊過濾:i)邊界過濾強(qiáng)度是否大于0,以及ii)表示與所要過濾的邊界相鄰的P塊和Q塊的邊界像素之差的值是否小于根據(jù)量化參數(shù)確定的第一參考值。
可以存在兩個或更多個過濾器。當(dāng)與塊邊界相鄰的兩個像素之差的絕對值等于或大于第二參考值時,選擇弱過濾器。該第二基準(zhǔn)值是由量化參數(shù)和邊界過濾強(qiáng)度來確定的。
適應(yīng)性偏移施加工序意在減少受到解塊過濾的像素與原始像素之間的差別(畸變)。能夠確定在圖片或切片的單元中是否實施適應(yīng)性偏移施加工序。可以將圖片或切片分成多個偏移區(qū)域,并且可以確定每個偏移區(qū)域的偏移模式。具有四邊偏移模式、兩帶偏移模式和偏移不應(yīng)用模式。可能存在預(yù)定數(shù)量的邊緣偏移模式(例如四邊偏移模式)、兩帶偏移模式。在邊緣偏移模式的情況下,確定每個像素所屬的邊緣模式并且施加對應(yīng)于所確定的邊緣模式的偏移。根據(jù)與當(dāng)前像素相鄰的兩個像素的像素值的分布來確定邊緣模式。
根據(jù)比較原始圖像與應(yīng)用了解塊過濾工序或自適應(yīng)偏移施加工序的重建圖像所獲得的值,可以實施適應(yīng)性環(huán)路過濾工序。所確定的ALF可以應(yīng)用于4×4塊或8×8塊中包含的全部像素??梢詾槊總€編碼單元確定是否應(yīng)用ALF。環(huán)路過濾器的大小和系數(shù)可以隨每個編碼單元變化。表示是否對每個編碼單元應(yīng)用ALF的信息可以包含在切片頭中并傳送到解碼器。在色度信號的情況下,可以為每個圖片單元確定是否應(yīng)用ALF。與亮度不同,環(huán)路過濾器可以具有矩形形狀。
根據(jù)切片實施適應(yīng)性環(huán)路過濾工序。因此,表示是否將適應(yīng)性環(huán)路過濾工序應(yīng)用于當(dāng)前切片的信息包含在切片頭或者圖片頭中。如果將適應(yīng)性環(huán)路過濾工序應(yīng)用于當(dāng)前切片,則切片頭或者圖片包括表示適應(yīng)性環(huán)路過濾工序中使用的亮度成分的水平過濾長度和/或垂直過濾長度的信息。如果使用預(yù)測方法,則切片頭或者圖片包括預(yù)測過濾系數(shù)。
還可以適應(yīng)性地過濾色度成分。切片頭或者圖片頭可以包括是否過濾每種色度成分的信息。為了減少比特量,可以共同編碼表示是否過濾Cr成分的信息和表示是否過濾Cb成分的信息。將最小索引分配給Cr成分和Cb成分均未被過濾的情況,這是因為使Cr和Cb成分均不被過濾以便減小復(fù)雜性的可能性很高,并且實施熵編碼。將最大索引分配給Cr成分和Cb成分均被過濾的情況。
圖片存儲單元180從后處理單元170接收后處理過的圖像,并且將恢復(fù)后的圖像存儲在圖片單元中。圖片可以是幀或場形式的圖像。圖片存儲單元180具有能夠存儲多幅圖片的緩存(未示出)。
幀間預(yù)測單元160利用存儲在該圖片存儲單元180中的一個或多個參考圖片實施運動估計,并且確定表示參考圖片的一個或多個參考圖片索引和一個或多個運動矢量。根據(jù)參考圖片索引和運動矢量,幀間預(yù)測單元160從圖片存儲單元180中存儲的多幅參考圖片中選擇的參考圖片,提取對應(yīng)于所要編碼的預(yù)測單元的預(yù)測塊,并且輸出提取出的預(yù)測塊。
幀內(nèi)預(yù)測單元150利用包含當(dāng)前預(yù)測單元的圖片中的重建參考像素實施幀內(nèi)預(yù)測。幀內(nèi)預(yù)測單元150接收所要預(yù)測編碼的當(dāng)前預(yù)測單元,選擇預(yù)定數(shù)量的幀內(nèi)預(yù)測模式之一,并且實施幀內(nèi)預(yù)測。幀內(nèi)預(yù)測模式的預(yù)定數(shù)量取決于當(dāng)前預(yù)測單元的大小。該幀內(nèi)預(yù)測單元150適應(yīng)性地過濾參考像素以生成幀內(nèi)預(yù)測塊。當(dāng)某些參考像素不可用時,可以利用可用參考像素在不可用位置處生成參考像素。
熵編碼單元140對經(jīng)量化單元130量化的量化后轉(zhuǎn)換系數(shù)、從幀內(nèi)預(yù)測單元150接收到的幀內(nèi)預(yù)測信息、從幀間預(yù)測單元160接收到的運動信息等進(jìn)行熵編碼。
圖2是根據(jù)本發(fā)明的運動圖片編碼單元100的幀內(nèi)預(yù)測單元150的方框圖。
參照圖2,該幀內(nèi)預(yù)測單元150包括參考像素生成單元151、參考像素過濾單元152、預(yù)測塊生成單元153、預(yù)測模式確定單元154和預(yù)測模式編碼單元155。
參考像素生成單元151確定必須生成用于幀內(nèi)預(yù)測的參考像素,并且如果必須生成參考像素則生成參考像素。
圖3是示出根據(jù)本發(fā)明的用于幀內(nèi)預(yù)測的參考像素位置的概念圖。如圖3所示,當(dāng)前預(yù)測的參考像素是由上參考像素、左參考像素和角落參考像素構(gòu)成的。當(dāng)前預(yù)測單元的上參考像素是當(dāng)前預(yù)測單元寬度兩倍的像素(區(qū)域C和D),當(dāng)前預(yù)測單元的左參考像素是當(dāng)前預(yù)測單元長度兩倍的像素(區(qū)域A和B)。角落參考像素位于(x=-1,y=-1)處。
參考像素生成單元151確定參考像素是否可用。如果一個或多個參考像素是不可用的,則參考像素生成單元151利用可用參考像素在不可用位置處生成參考像素。
當(dāng)當(dāng)前預(yù)測單元位于圖片或切片的上邊界處時,當(dāng)前預(yù)測單元的上參考像素(區(qū)域C和D)和角落參考像素不存在。當(dāng)當(dāng)前預(yù)測單元位于圖片或切片的左邊界處時,左參考像素(區(qū)域A和B)和角落參考像素不存在。在這些情況下,通過復(fù)制與不可用像素最接近的可用像素的值,生成參考像素。也就是說,當(dāng)當(dāng)前預(yù)測單元位于圖片或切片的上邊界處時,通過復(fù)制最上部的左參考像素(即位于區(qū)域A的最上部位置的參考像素),能夠生成上參考像素。當(dāng)當(dāng)前預(yù)測單元位于圖片或切片的左邊界處時,通過復(fù)制最左側(cè)的上參考像素(即位于區(qū)域C的最左側(cè)位置的參考像素),能夠生成左參考像素。
首先,將描述可用參考像素相對于不可用參考像素僅存在于一個方向上的情況。
可能的情況是與當(dāng)前預(yù)測單元(區(qū)域C)的上邊界相鄰的參考像素是可用的,但是右上參考像素(D)可能是不可用的。當(dāng)當(dāng)前預(yù)測單元位于切片或LCU的右邊界時,區(qū)域D中的參考像素是不可用的。在這種情況下,利用一個或多個可用的上參考像素生成參考像素(D)。通過復(fù)制上部最右的像素或者利用兩個或多個可用的上參考像素來生成右上參考像素。
當(dāng)與當(dāng)前預(yù)測單元的左側(cè)相鄰的參考像素(區(qū)域A)可用時,但左下參考像素(區(qū)域B)可能不可用。當(dāng)當(dāng)前預(yù)測單元位于切片或LCU的下邊界時,區(qū)域B中的參考像素不可用。在這種情況下,利用一個或多個可用左參考像素生成左下參考像素(區(qū)域B)。通過復(fù)制左側(cè)最下的像素或者使用兩個或多個可用左參考像素來生成左下參考像素。
如上所述,如果可用參考像素相對于不可用像素僅存在于一個方向上,則通過復(fù)制與不可用像素最接近的可用像素的值來生成參考像素??蛇x的是,可以利用與不可用像素最接近的兩個或多個可用像素來生成參考像素。
接著,將描述可用參考像素相對于不可用參考像素存在于兩個方向上的情況。
例如,當(dāng)當(dāng)前預(yù)測單元位于切片的上邊界并且當(dāng)前預(yù)測單元的右上預(yù)測單元可用時,對應(yīng)于當(dāng)前預(yù)測單元的區(qū)域C的參考像素是不可用的,但是位于區(qū)域A和D的參考像素是可用的。在存在于兩個方向上的參考像素可用的情況下,通過選擇最靠近每個方向的可用參考像素并且利用它們(即區(qū)域A中最上的參考像素和區(qū)域D中最左的參考像素)來生成參考像素。
通過把上述參考像素(即最靠近每個方向的像素)的平均值四舍五入來生成參考像素。但是,可以使用線性內(nèi)插法來生成參考像素,這是因為上述參考像素值之差很大。具體而言,可以通過考慮相對于兩個可用參考像素的位置來生成當(dāng)前位置的不可用參考像素。
參考像素過濾單元152適應(yīng)性過濾當(dāng)前預(yù)測單元的參考像素。
參照圖4,描述參考像素過濾單元152的工作。圖4是表示根據(jù)本發(fā)明的方向性幀內(nèi)預(yù)測模式的概念圖。
參考像素過濾單元152根據(jù)幀內(nèi)預(yù)測模式和參考像素位置適應(yīng)性過濾參考像素。
在垂直模式(模式0)、水平模式(模式1)和DC模式(模式2)中,不過濾參考像素。但是,在不同于模式0、1和2的方向性幀內(nèi)預(yù)測模式中,適應(yīng)性過濾參考像素。位于(x=2N-1,y=-1)處的上參考像素的最右像素和位于(x=-1,y=2N-1)處的左參考像素的最下像素未被過濾。利用兩個相鄰的參考像素過濾其他參考像素。
低通濾波器用于使相鄰參考像素之差變得平滑。該低通濾波器可以是3分濾波器[1,2,1]或者5分濾波器[1,2,4,2,1]。
由當(dāng)前預(yù)測單元的大小和幀內(nèi)預(yù)測模式來確定低通濾波器的應(yīng)用。
根據(jù)預(yù)測單元的大小,將濾波器適應(yīng)性用于關(guān)于水平或垂直方向具有45度方向的方向性幀內(nèi)預(yù)測模式3、6和9中的參考像素。如果預(yù)測單元的大小小于預(yù)定大小,則應(yīng)用第一濾波器。如果預(yù)測單元的大小等于或大于預(yù)定大小,則可以應(yīng)用比第一濾波器更強(qiáng)的濾波器。該預(yù)定大小可以是16×16。
在存在于幀內(nèi)預(yù)測模式3、6或9與水平或垂直幀內(nèi)預(yù)測模式之間的方向性幀內(nèi)預(yù)測模式中,能夠根據(jù)預(yù)測單元大小將濾波器適應(yīng)性應(yīng)用于參考像素。在與模式3、6或9最接近的預(yù)定數(shù)量的幀內(nèi)預(yù)測模式中可以應(yīng)用濾波器。對于具有相同數(shù)量的方向性幀內(nèi)預(yù)測模式的預(yù)測單元而言,該預(yù)定數(shù)量可以隨著預(yù)測塊大小的增加而增加。例如,對于8×8塊,將濾波器應(yīng)用于與模式3、6或9最接近的第一數(shù)量幀內(nèi)預(yù)測模式,對于16×16塊,將濾波器應(yīng)用于與模式3、6或9最接近的第二數(shù)量幀內(nèi)預(yù)測模式,對于32×32塊,將濾波器應(yīng)用于與模式3、6或9最接近的第三數(shù)量幀內(nèi)預(yù)測模式。第一數(shù)量等于或小于第二數(shù)量,并且第二數(shù)量等于或小于第三數(shù)量。
預(yù)測塊生成單元153生成對應(yīng)于幀內(nèi)預(yù)測模式的預(yù)測塊。
在DC模式中,預(yù)測塊由參考像素的平均值構(gòu)成,并且在與參考像素相鄰的預(yù)測塊中的像素之間會出現(xiàn)步差。因此,利用參考像素過濾與參考像素相鄰的上線和左線的預(yù)測像素。由3分濾波器來過濾與兩個參考像素(上參考像素和左參考像素)相鄰的左上預(yù)測像素。由2分濾波器過濾與一個參考像素相鄰的其他預(yù)測像素(預(yù)測塊中上線的像素和左線的像素)。
在平面模式中,利用角落參考像素、左參考像素和上參考像素生成預(yù)測像素。利用位于(x=-1,y=-1)處的角落參考像素、位于(x=a,y=-1)處的上參考像素以及位于(x=-1,y=b)處的左參考像素生成位于(a,b)處的預(yù)測像素。在平面模式中,預(yù)測像素未被參考像素過濾。
當(dāng)通過復(fù)制垂直模式(模式0)中相應(yīng)的上參考像素生成預(yù)測像素時,預(yù)測塊中的左參考像素和與該左參考像素相鄰的預(yù)測像素之間的相關(guān)性隨著預(yù)測像素位置向下而降低。當(dāng)通過復(fù)制水平模式(模式1)中相應(yīng)的左參考像素生成預(yù)測像素時,預(yù)測塊中的上參考像素和與該上參考像素相鄰的預(yù)測像素之間的相關(guān)性隨著預(yù)測像素位置向右而降低。出于這個原因,在垂直模式中,預(yù)測塊與原始預(yù)測單元之間的差別隨著預(yù)測像素的位置向下而增大。
因此,在垂直模式中,可以利用生成預(yù)測塊時未使用的左參考像素來過濾預(yù)測塊中的左像素,以便降低上述差別。在水平模式中,可以利用生成預(yù)測塊時未使用的上參考像素來過濾預(yù)測塊中的上像素。
在存在于模式0與模式6之間的方向性幀內(nèi)預(yù)測模式(模式編號22、12、23、5、24、13和25)以及模式6中,當(dāng)僅利用當(dāng)前預(yù)測單元的上參考像素生成預(yù)測塊時,參考像素與位于所生成的預(yù)測塊的左線中并且與參考像素相鄰的像素之間的差別隨著預(yù)測像素的位置向下而增大。
在存在于模式1與模式9之間的方向性幀內(nèi)預(yù)測模式(模式編號30、16、31、8、32、17、33)以及模式9中,當(dāng)僅利用當(dāng)前預(yù)測單元的左參考像素生成預(yù)測塊時,參考像素與位于所生成的預(yù)測塊的上線中并且與參考像素相鄰的像素之間的差別隨著預(yù)測像素的位置向右而增大。
因此,對于除DC模式之外的方向性幀內(nèi)預(yù)測模式而言,可以適應(yīng)性過濾預(yù)測塊的某些像素,以便抵消上述差別。另外,為了抵消上述差別,可以利用上參考像素和左參考像素來生成預(yù)測塊。
首先,描述用于過濾預(yù)測塊的某些像素的方法。
在模式6中,利用上參考像素生成預(yù)測塊并且過濾與參考像素相鄰的左預(yù)測像素。所要過濾的預(yù)測塊中的像素區(qū)域可以隨著預(yù)測單元大小而改變。也就是說,所要過濾的線的數(shù)量和線中的像素比例可以隨著預(yù)測單元大小改變。隨著預(yù)測單元大小增大,線的數(shù)量可以增加或保持不變,或者比例可以降低。并且,過濾強(qiáng)度可以隨著相對于參考像素的距離增加而降低。
例如,針對4×4預(yù)測單元過濾所生成的預(yù)測塊中的第一左線(x=0,y=0,…,3)的像素。針對8×8預(yù)測單元過濾第一左線的全部預(yù)測像素以及第二線的某些預(yù)測像素。某些預(yù)測像素可以位于(x=1,y=4,…,7)處。針對16×16預(yù)測單元過濾第一左線的全部預(yù)測像素、第二線的第一數(shù)量的預(yù)測像素以及第三線的第二數(shù)量的預(yù)測像素。第一數(shù)量的預(yù)測像素可以位于(x=1,y=4,…,7)處,第二數(shù)量的預(yù)測像素可以位于(x=2,y=8,…,15)處。針對32×32預(yù)測單元,過濾第一左線的全部預(yù)測像素、第二線的第一數(shù)量的預(yù)測像素、第三線的第二數(shù)量的預(yù)測像素以及第四線的第三數(shù)量的預(yù)測像素。第三數(shù)量的預(yù)測像素可以位于(x=3,y=16,…,31)處。
在最接近模式6并且存在于模式0與模式6之間的第一數(shù)量的幀內(nèi)預(yù)測模式中,可以利用與模式6中相同的方法來過濾預(yù)測像素。所要過濾的預(yù)測像素數(shù)量可以隨著幀內(nèi)預(yù)測模式的方向遠(yuǎn)離模式6的方向而降低或保持不變。在最接近模式0并且存在于模式0與模式6之間的第二數(shù)量的幀內(nèi)預(yù)測模式中,可以利用與模式0中相同的方法過濾預(yù)測像素。
在模式9中,可以利用與模式6中相同的方法來過濾預(yù)測像素。在存在于模式1與模式9之間的幀內(nèi)預(yù)測模式中,可以利用與存在于模式0與模式6之間的幀內(nèi)預(yù)測模式中相同的方法過濾預(yù)測像素。
同時,在模式6和與模式6相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測模式中,能夠利用全部上參考像素和左參考像素,而不利用上述過濾預(yù)測塊中某些像素的方法來生成預(yù)測塊。在模式9和與模式9相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測模式中,應(yīng)用相同方法。
幀內(nèi)預(yù)測模式確定單元154使用參考像素確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。該幀內(nèi)預(yù)測模式確定單元154選擇一種其中對于每種幀內(nèi)預(yù)測模式使剩余塊的編碼比特量最小化的幀內(nèi)預(yù)測模式,作為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。
幀內(nèi)預(yù)測模式編碼單元155將幀內(nèi)預(yù)測模式確定單元154確定的當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式編碼??梢詫瑑?nèi)預(yù)測模式編碼單元155集成到幀內(nèi)預(yù)測單元150中或者熵編碼單元140中。
幀內(nèi)預(yù)測模式編碼單元155利用與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式將當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式編碼。幀內(nèi)預(yù)測模式編碼單元155將幀內(nèi)預(yù)測模式分類成多個幀內(nèi)預(yù)測模式組,將表示包括當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測模式組的信息以及對應(yīng)于幀內(nèi)預(yù)測模式組中的當(dāng)前編碼單元的幀內(nèi)預(yù)測模式的模式索引進(jìn)行編碼。優(yōu)選的是,幀內(nèi)預(yù)測模式組的數(shù)量為2個或3個。
當(dāng)幀內(nèi)預(yù)測模式組的數(shù)量為2個時,幀內(nèi)預(yù)測模式編碼單元155的操作如下。
首先,獲得與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式。預(yù)測單元可以是左預(yù)測單元和上預(yù)測單元。當(dāng)當(dāng)前預(yù)測單元存在多個上預(yù)測單元時,沿著預(yù)定方向(例如從右到左)掃描該多個上預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為上幀內(nèi)預(yù)測模式。同樣,當(dāng)當(dāng)前預(yù)測單元存在多個左預(yù)測單元時,沿著預(yù)定方向(例如從下到上)掃描該多個左預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為左幀內(nèi)預(yù)測模式??蛇x的是,在多個可用預(yù)測單元中,可以將具有最低幀內(nèi)預(yù)測模式編號的可用預(yù)測單元的幀內(nèi)預(yù)測模式設(shè)定為上幀內(nèi)預(yù)測模式。
接著,當(dāng)所獲得的幀內(nèi)預(yù)測模式編號等于或大于當(dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式編號時,可以將所獲得的幀內(nèi)預(yù)測模式轉(zhuǎn)變?yōu)楫?dāng)前預(yù)測單元可允許的模式之一。
接著,利用所獲得的或者經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式構(gòu)建第一幀內(nèi)預(yù)測模式組。
所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式以及利用該所獲得的或者經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式按照預(yù)定順序確定的一個或多個幀內(nèi)預(yù)測模式備選用于構(gòu)建第一幀內(nèi)預(yù)測模式組。當(dāng)所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式是方向性模式時,該幀內(nèi)預(yù)測模式備選可以是與該所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式最接近的一個或多個方向性幀內(nèi)預(yù)測模式。
接著,確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否屬于第一幀內(nèi)預(yù)測模式組。
當(dāng)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式屬于第一幀內(nèi)預(yù)測模式組時,將表示第一幀內(nèi)預(yù)測模式組的信息以及該第一幀內(nèi)預(yù)測模式組中對應(yīng)于當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式的索引編碼。
但是,當(dāng)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式不屬于第一幀內(nèi)預(yù)測模式組時,將表示第二幀內(nèi)預(yù)測模式組的信息以及該第二幀內(nèi)預(yù)測模式組中對應(yīng)于當(dāng)前編碼單元的幀內(nèi)預(yù)測模式的索引進(jìn)行編碼。該第二幀內(nèi)預(yù)測模式組包括與屬于第一幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式不同的幀內(nèi)預(yù)測模式。
當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式當(dāng)中沒有一個可用時,將一個或多個幀內(nèi)預(yù)測模式添加到第一幀內(nèi)預(yù)測模式組中。例如,當(dāng)添加了一個幀內(nèi)預(yù)測模式時可以添加DC模式或者平面模式。當(dāng)添加兩個幀內(nèi)預(yù)測模式時可以添加DC模式和平面或垂直模式。當(dāng)添加三個幀內(nèi)預(yù)測模式時可以添加DC模式、平面模式和垂直模式與水平模式之一。
當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式之一可用時,或者當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式相同時,可以將一個或兩個幀內(nèi)預(yù)測模式添加到第一幀內(nèi)預(yù)測模式組中。例如,當(dāng)添加一個幀內(nèi)預(yù)測模式時可以添加DC模式或者平面模式。當(dāng)添加兩個幀內(nèi)預(yù)測模式時,所要添加的幀內(nèi)預(yù)測模式根據(jù)可用幀內(nèi)預(yù)測模式是否為方向性幀內(nèi)預(yù)測模式改變。如果可用幀內(nèi)預(yù)測模式是非方向性幀內(nèi)預(yù)測模式(即DC模式和平面模式)之一,則可以添加垂直模式和水平模式,或者可以添加其他方向性幀內(nèi)預(yù)測模式和垂直模式。如果可用幀內(nèi)預(yù)測模式是方向性幀內(nèi)預(yù)測模式,則可以添加兩側(cè)最接近方向性幀內(nèi)預(yù)測模式的兩個幀內(nèi)預(yù)測模式。但是,如果僅在可用幀內(nèi)預(yù)測模式的一側(cè)(即可用幀內(nèi)預(yù)測模式是模式6或模式9)存在相鄰幀內(nèi)預(yù)測模式,則可以添加這個相鄰的幀內(nèi)預(yù)測模式(模式25或模式33)以及DC模式和平面模式之一。
當(dāng)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式屬于第二幀內(nèi)預(yù)測模式組時,該索引對應(yīng)于第二幀內(nèi)預(yù)測模式組中當(dāng)前編碼單元的幀內(nèi)預(yù)測模式的重排編號。在這種情況下,可以使用一個VLC表。
幀內(nèi)預(yù)測模式組的數(shù)量可以為3。當(dāng)幀內(nèi)預(yù)測模式組的數(shù)量為3時,如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式不屬于第一幀內(nèi)預(yù)測模式組,則確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否屬于第二幀內(nèi)預(yù)測模式組。如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式屬于第二幀內(nèi)預(yù)測模式組,則將表示第二幀內(nèi)預(yù)測模式組的信息以及對應(yīng)于第二幀內(nèi)預(yù)測模式組中當(dāng)前編碼單元的幀內(nèi)預(yù)測模式的索引進(jìn)行編碼。如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式不屬于第二幀內(nèi)預(yù)測模式組,則將表示第三幀內(nèi)預(yù)測模式組的信息以及對應(yīng)于第三幀內(nèi)預(yù)測模式組中當(dāng)前編碼單元的幀內(nèi)預(yù)測模式的索引進(jìn)行編碼。根據(jù)當(dāng)前預(yù)測單元的左預(yù)測單元和上預(yù)測單元的幀內(nèi)預(yù)測模式生成第二幀內(nèi)預(yù)測模式組。
可選的是,當(dāng)前預(yù)測模式的幀內(nèi)預(yù)測模式可以按照以下方式編碼。首先,確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否等于前面的幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式之一。如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式等于前面的幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式之一,則將表示這種情況的信標(biāo)(pred_flag)設(shè)定為1,并且利用可用的左幀內(nèi)預(yù)測模式或上幀內(nèi)預(yù)測模式將當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式編碼。另外,將信標(biāo)(pred_flag)設(shè)定為0,并且將表示當(dāng)前編碼單元的幀內(nèi)預(yù)測模式當(dāng)中不同于左幀內(nèi)預(yù)測模式和上幀內(nèi)預(yù)測模式的有序編號的幀內(nèi)預(yù)測模式的索引編碼。
同時,色度成分的幀內(nèi)預(yù)測模式可以包括使用亮度成分的相應(yīng)幀內(nèi)預(yù)測模式的模式。表示使用亮度成分的相應(yīng)幀內(nèi)預(yù)測模式的模式是否使用的信標(biāo)可以包含在順序參數(shù)集(SPS)、圖片參數(shù)集(PPS)或切片頭中。色度成分的幀內(nèi)預(yù)測模式數(shù)量可以隨預(yù)測單元大小變化??梢允褂孟噜弶K的幀內(nèi)預(yù)測模式將色度成分的幀內(nèi)預(yù)測模式編碼。在這種情況下,編碼方法與上述相同。另外,可以不使用相鄰塊的幀內(nèi)預(yù)測模式信息來編碼色度成分的幀內(nèi)預(yù)測模式。在這種情況下,能夠使用VLC表。
預(yù)測塊傳送單元156將使用幀內(nèi)預(yù)測模式生成的預(yù)測塊傳送給減法器190。
圖5是根據(jù)本發(fā)明的運動圖片解碼裝置的方框圖。
根據(jù)本發(fā)明的運動圖片解碼裝置包括熵解碼單元210、反掃描單元220、反量化單元230、反轉(zhuǎn)換單元240、幀內(nèi)預(yù)測單元250、幀間預(yù)測單元260、后處理單元270、圖片存儲單元280、加法器290和幀內(nèi)/幀間改變開關(guān)295。
熵解碼單元210從接收到的比特流中提取幀內(nèi)預(yù)測信息、幀間預(yù)測信息和量化系數(shù)信息。該熵解碼單元210將幀間預(yù)測信息傳送給幀間預(yù)測單元260,將幀內(nèi)預(yù)測信息傳送給幀內(nèi)預(yù)測單元250,以及將量化系數(shù)信息傳送給反掃描單元220。
反掃描單元220將量化系數(shù)信息轉(zhuǎn)變?yōu)槎S量化轉(zhuǎn)換塊。在多個反掃描方式中選擇一種供轉(zhuǎn)變。根據(jù)幀內(nèi)預(yù)測模式選擇反掃描方式。如果所要解碼的轉(zhuǎn)換單元大小大于預(yù)定參考尺寸,則每個子集的量化轉(zhuǎn)換系數(shù)根據(jù)所選擇的反掃描方式被反掃描,以生成多個子集,并且使用多個子集生成具有轉(zhuǎn)換單元的大小的量化轉(zhuǎn)換塊。如果所要解碼的轉(zhuǎn)換單元的大小等于預(yù)定參考尺寸,則量化轉(zhuǎn)換塊的量化轉(zhuǎn)換系數(shù)根據(jù)所選擇的反掃描方式被反掃描,以生成具有轉(zhuǎn)換單元的大小的量化轉(zhuǎn)換塊。。該多個子集是由一個主子集和一個或多個剩余子集構(gòu)成的。主子集位于左上側(cè),并且包括DC系數(shù),一個或多個剩余子集覆蓋不同于主子集的區(qū)域。
應(yīng)用于子集的掃描方式可以是折線掃描??梢匝刂驈闹髯蛹_始到剩余子集反掃描子集,或者能夠沿著相反的方向掃描??梢詫呙枳蛹姆磼呙璺绞皆O(shè)定為與掃描量化轉(zhuǎn)換系數(shù)的反掃描方式相同。反掃描單元220利用表示轉(zhuǎn)換單元的最后一個非零量化系數(shù)位置的信息實施反掃描程序。
反量化單元230確定當(dāng)前編碼單元的量化步距預(yù)測值。確定量化步距預(yù)測值的操作與圖1的量化單元130的程序相同。反量化單元添加確定后的量化步距預(yù)測值以及接收到的剩余量化步距,以生成當(dāng)前編碼單元的量化步距。反量化單元230使用由量化步距確定的量化矩陣恢復(fù)反量化后的系數(shù)。該量化矩陣根據(jù)所要恢復(fù)的當(dāng)前塊的尺寸變化??梢愿鶕?jù)當(dāng)前塊的預(yù)測模式和幀內(nèi)預(yù)測模式中的至少一個為具有相同尺寸的塊選擇量化矩陣。
反轉(zhuǎn)換單元240反轉(zhuǎn)換該反量化后的塊,以恢復(fù)剩余塊。根據(jù)預(yù)測模式(以及幀內(nèi)預(yù)測模式,適應(yīng)性地確定將要用于反量化后的塊的反轉(zhuǎn)換矩陣。反轉(zhuǎn)換矩陣的確定程序與圖1的轉(zhuǎn)換單元120中的程序相同。
加法器290將反轉(zhuǎn)換單元240恢復(fù)的恢復(fù)后剩余塊和幀內(nèi)預(yù)測單元250或幀間預(yù)測單元260生成的預(yù)測塊相加,以生成重建的圖像塊。
幀內(nèi)預(yù)測單元250根據(jù)從熵解碼單元210接收到的幀內(nèi)預(yù)測信息恢復(fù)當(dāng)前塊的幀內(nèi)預(yù)測模式,并且根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式生成預(yù)測塊。
幀間預(yù)測單元260根據(jù)從熵解碼單元210接收到的幀間預(yù)測信息恢復(fù)參考圖片索引和運動矢量,并且使用該參考圖片索引和運動矢量生成預(yù)測塊。當(dāng)應(yīng)用具有部分精度的運動補(bǔ)償時,利用內(nèi)插濾波器生成預(yù)測塊。
后處理單元270與圖3的后處理單元160的工作方式相同。
圖片存儲單元280存儲經(jīng)后處理單元270后處理后的重建圖像。
圖6是根據(jù)本發(fā)明的運動圖片解碼裝置200的幀內(nèi)預(yù)測單元250的方框圖。
參照圖6,根據(jù)本發(fā)明的幀內(nèi)預(yù)測單元250包括幀內(nèi)預(yù)測模式解碼單元251、參考像素生成單元252、參考像素過濾單元253、預(yù)測塊生成單元254以及預(yù)測塊傳送單元255。
該幀內(nèi)預(yù)測模式解碼單元251從熵解碼單元210接收幀內(nèi)預(yù)測信息,并且使用幀內(nèi)預(yù)測信息恢復(fù)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。幀內(nèi)預(yù)測信息包括表示所要解碼的當(dāng)前預(yù)測單元所屬的幀內(nèi)預(yù)測模式組的信息以及幀內(nèi)預(yù)測模式索引。
該幀內(nèi)預(yù)測模式解碼單元251獲得與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式。該幀內(nèi)預(yù)測模式可以是當(dāng)前預(yù)測單元的左幀內(nèi)預(yù)測單元和上幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式。當(dāng)當(dāng)前預(yù)測單元存在多個上預(yù)測單元時,沿著預(yù)定方向(例如從右到左)掃描該多個上預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為上幀內(nèi)預(yù)測模式。同樣,當(dāng)當(dāng)前預(yù)測單元存在多個左預(yù)測單元時,沿著預(yù)定方向(例如從下到上)掃描該多個左預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為左幀內(nèi)預(yù)測模式。可選的是,在多個可用預(yù)測單元當(dāng)中,可以將具有最低幀內(nèi)預(yù)測模式編號的可用預(yù)測單元的幀內(nèi)預(yù)測模式設(shè)定為上幀內(nèi)預(yù)測模式。
當(dāng)上幀內(nèi)預(yù)測模式編號或左幀內(nèi)預(yù)測模式編號等于或大于當(dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式編號時,將該上幀內(nèi)預(yù)測模式或左幀內(nèi)預(yù)測模式轉(zhuǎn)變?yōu)榭稍试S模式之一。
利用所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式構(gòu)建第一幀內(nèi)預(yù)測模式組。該所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式以及由該所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式按照預(yù)定順序確定的一個或多個幀內(nèi)預(yù)測模式備選可以包含在該第一幀內(nèi)預(yù)測模式組中。當(dāng)所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式是方向性模式時,該一個或多個幀內(nèi)預(yù)測模式備選可以是與所獲得的或經(jīng)轉(zhuǎn)變的幀內(nèi)預(yù)測模式最接近的至少一個方向性幀內(nèi)預(yù)測模式。
該幀內(nèi)預(yù)測模式解碼單元251確定表示幀內(nèi)預(yù)測模式組的信息是否表示第一幀內(nèi)預(yù)測模式組。
如果表示幀內(nèi)預(yù)測模式組的信息表示第一幀內(nèi)預(yù)測模式組,則從第一幀內(nèi)預(yù)測模式組中選擇對應(yīng)于接收到的幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式,并且將選擇的幀內(nèi)預(yù)測模式設(shè)定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。
如果表示幀內(nèi)預(yù)測模式組的信息表示第二幀內(nèi)預(yù)測模式組,則從第二幀內(nèi)預(yù)測模式組中選擇對應(yīng)于接收到的幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式,并且將選擇的幀內(nèi)預(yù)測模式設(shè)定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。第二幀內(nèi)預(yù)測模式組包括不同于屬于第一幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測模式。可以參考幀內(nèi)預(yù)測模式索引重排編號第二幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測模式。可以基于幀內(nèi)預(yù)測模式索引和左和上幀內(nèi)預(yù)測模式來重排編號第二幀內(nèi)預(yù)測模式的當(dāng)前幀內(nèi)預(yù)測模式。
當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式均不可用時,將一個或多個幀內(nèi)預(yù)測模式添加到第一幀內(nèi)預(yù)測模式組中。例如,當(dāng)添加一個幀內(nèi)預(yù)測模式時可以添加DC模式或平面模式。當(dāng)添加兩個幀內(nèi)預(yù)測模式時可以添加DC模式和平面或垂直模式。當(dāng)添加三個幀內(nèi)預(yù)測模式時可以添加DC模式、平面模式以及垂直模式和水平模式之一。
當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式之一可用時,或者當(dāng)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式相同時,可以將一個或兩個幀內(nèi)預(yù)測模式添加到第一幀內(nèi)預(yù)測模式組。例如,當(dāng)添加一個幀內(nèi)預(yù)測模式時可以添加DC模式或者平面模式。當(dāng)添加兩個幀內(nèi)預(yù)測模式時,所添加的幀內(nèi)預(yù)測模式根據(jù)可用幀內(nèi)預(yù)測模式是否為方向性幀內(nèi)預(yù)測模式而變化。如果該可用幀內(nèi)預(yù)測模式是非方向性幀內(nèi)預(yù)測模式之一(即DC模式或平面模式),則可以添加垂直模式和水平模式,或者可以添加其他非方向性幀內(nèi)預(yù)測模式(即平面模式或DC模式)和垂直模式。如果可用幀內(nèi)預(yù)測模式是方向性幀內(nèi)預(yù)測模式,則可以添加在兩側(cè)最接近可用幀內(nèi)預(yù)測模式的兩個幀內(nèi)預(yù)測模式。但是,如果僅在可用幀內(nèi)預(yù)測模式(即模式6或者模式9)的一側(cè)具有相鄰幀內(nèi)預(yù)測模式,可以添加相鄰的幀內(nèi)預(yù)測模式(模式25或模式33)以及DC模式和平面模式之一。
可選的是,預(yù)測模式解碼單元251可以如下解碼當(dāng)前預(yù)測模式的幀內(nèi)預(yù)測模式。首先,解析出表示當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否等于在先幀內(nèi)預(yù)測單元(例如上預(yù)測單元和左預(yù)測單元)的幀內(nèi)預(yù)測模式之一的信標(biāo)(pred_flag)。如果該信標(biāo)(pred_flag)為1,則利用可用的左幀內(nèi)預(yù)測模式和可用的上幀內(nèi)預(yù)測模式確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。如果信標(biāo)(pred_flag)為0,則利用剩余預(yù)測模式信息(rem_pred_mode)確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。該剩余預(yù)測模式信息(rem_pred_mode)表示當(dāng)前幀內(nèi)預(yù)測單元的可用幀內(nèi)預(yù)測模式當(dāng)中不同于可用左幀內(nèi)預(yù)測模式和可用上幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測模式的順序。
參考像素生成單元252利用與編碼裝置100的參考像素生成單元151所述相同的方法生成參考像素。但是,參考像素生成單元252可以僅在用于生成預(yù)測塊和由幀內(nèi)預(yù)測模式確定的參考像素不可用時,根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式適應(yīng)性地生成參考像素。
該參考像素過濾單元253根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式和預(yù)測塊的大小適應(yīng)性地過濾參考像素。過濾條件和方法與編碼裝置100的參考像素過濾單元152的相同。
預(yù)測塊生成單元254根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式,利用參考像素生成預(yù)測塊。用于生成預(yù)測塊的方法與編碼裝置100的預(yù)測塊生成單元154中使用的方法相同。
預(yù)測塊傳送單元255將從預(yù)測塊生成單元254接收到的預(yù)測塊傳送到加法器290。
圖7是表示根據(jù)本發(fā)明的幀內(nèi)預(yù)測模式中的解碼程序的流程圖。
首先,在步驟S100中,從接收到的比特流中解復(fù)用幀內(nèi)預(yù)測信息和剩余信號。在編碼單元的單元中實施步驟S100。從編碼單元中的預(yù)測單元語法中提取幀內(nèi)預(yù)測信息。從編碼單元中的轉(zhuǎn)換單元語法中提取剩余信號。
在步驟S110中,利用幀內(nèi)預(yù)測信息恢復(fù)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。如果該幀內(nèi)預(yù)測信息不包括幀內(nèi)預(yù)測模式索引,則將幀內(nèi)預(yù)測信息設(shè)為0。該幀內(nèi)預(yù)測模式組標(biāo)識符表示當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式所屬的幀內(nèi)預(yù)測模式組。如果幀內(nèi)預(yù)測模式組的數(shù)量為2,則幀內(nèi)預(yù)測模式組標(biāo)識符(pred_mode)可以是1比特的信標(biāo)。幀內(nèi)預(yù)測模式組的數(shù)量可以是2個或3個。
圖8是表示根據(jù)本發(fā)明的恢復(fù)幀內(nèi)預(yù)測模式的程序的流程圖。屬于第一幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的數(shù)量變化。將描述幀內(nèi)預(yù)測模式組的數(shù)量為2的情況。
首先,在步驟S111中,利用與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式構(gòu)建第一幀內(nèi)預(yù)測模式組。
例如,該第一幀內(nèi)預(yù)測模式組是由當(dāng)前預(yù)測單元的上幀內(nèi)預(yù)測單元和左幀內(nèi)預(yù)測單元的可用幀內(nèi)預(yù)測模式構(gòu)成的。如果上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式均是不可用的,則可以將DC模式或平面模式添加到第一幀內(nèi)預(yù)測模式組。第一幀內(nèi)預(yù)測模式組可以包括至少一個附加的幀內(nèi)預(yù)測模式,其為恢復(fù)當(dāng)前預(yù)測單元的右上幀內(nèi)預(yù)測模式、左下幀內(nèi)預(yù)測模式、左上幀內(nèi)預(yù)測模式時遇到的第一可用幀內(nèi)預(yù)測模式。
當(dāng)當(dāng)前預(yù)測單元存在多個上預(yù)測單元時,沿著預(yù)定方向(例如從左到右)掃描該多個上預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為上幀內(nèi)預(yù)測模式。同樣,當(dāng)當(dāng)前預(yù)測單元存在多個左預(yù)測單元時,沿著預(yù)定方向(例如從上到下)掃描該多個左預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為左幀內(nèi)預(yù)測模式。
如果可用幀內(nèi)預(yù)測模式不等于當(dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式之一,則將該可用幀內(nèi)預(yù)測模式轉(zhuǎn)變?yōu)楫?dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式之一。
在步驟S112中,根據(jù)幀內(nèi)預(yù)測模式組標(biāo)識符確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否屬于第一幀內(nèi)預(yù)測模式組。
如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式屬于第一幀內(nèi)預(yù)測模式組,則在步驟S113中,確定幀內(nèi)預(yù)測模式索引是否存在。
如果幀內(nèi)預(yù)測模式索引存在,則在步驟S114中,將第一幀內(nèi)預(yù)測模式組中對應(yīng)于該幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式確定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。
如果幀內(nèi)預(yù)測模式索引不存在,則在步驟S115中,將幀內(nèi)預(yù)測模式索引設(shè)定為0,并且將第一幀內(nèi)預(yù)測模式組中對應(yīng)于幀內(nèi)預(yù)測模式索引0的幀內(nèi)預(yù)測模式確定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。也就是說,如果幀內(nèi)預(yù)測模式索引不存在,則在第一幀內(nèi)預(yù)測模式組中僅包括一種幀內(nèi)預(yù)測模式。
如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式不屬于第一幀內(nèi)預(yù)測模式組,則在步驟S116中,將第二幀內(nèi)預(yù)測模式組中對應(yīng)于幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式確定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。該第二幀內(nèi)預(yù)測模式組包括不同于屬于第一幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的全部幀內(nèi)預(yù)測模式??梢园凑盏诙瑑?nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的模式編號的順序分配幀內(nèi)預(yù)測模式索引。
圖9是表示根據(jù)本發(fā)明的用于恢復(fù)幀內(nèi)預(yù)測模式的另一程序的流程圖。屬于第一幀內(nèi)預(yù)測模式的幀內(nèi)預(yù)測模式數(shù)量是固定的。
首先,在步驟S211中,利用與當(dāng)前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式構(gòu)建第一幀內(nèi)預(yù)測模式組。
當(dāng)?shù)谝粠瑑?nèi)預(yù)測模式組包括兩種幀內(nèi)預(yù)測模式時,如下構(gòu)建第一幀內(nèi)預(yù)測模式組。
確定當(dāng)前預(yù)測單元的上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式是否可用。如果可用的幀內(nèi)預(yù)測模式不是當(dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式之一,則將可用幀內(nèi)預(yù)測模式轉(zhuǎn)變?yōu)榭稍试S的幀內(nèi)預(yù)測模式之一。當(dāng)上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式均可用并且不相同時,該第一幀內(nèi)預(yù)測模式組是由上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式構(gòu)成的。當(dāng)上和左幀內(nèi)預(yù)測單元僅有一種幀內(nèi)預(yù)測模式可用,或者當(dāng)上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式相同時,第一幀內(nèi)預(yù)測模式組是由可用幀內(nèi)預(yù)測模式和一種附加幀內(nèi)預(yù)測模式構(gòu)成的。如果可用幀內(nèi)預(yù)測模式不是DC模式,則附加幀內(nèi)預(yù)測模式可以是DC模式。如果可用幀內(nèi)預(yù)測模式是DC模式,則附加幀內(nèi)預(yù)測模式可以是平面模式或垂直模式。
當(dāng)?shù)谝粠瑑?nèi)預(yù)測模式組包括三種幀內(nèi)預(yù)測模式時,如下構(gòu)建第一幀內(nèi)預(yù)測模式組。
確定當(dāng)前預(yù)測單元的上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式是否可用。如果可用幀內(nèi)預(yù)測模式不是當(dāng)前預(yù)測單元可允許的幀內(nèi)預(yù)測模式之一,則可將該可用幀內(nèi)預(yù)測模式轉(zhuǎn)變?yōu)榭稍试S的幀內(nèi)預(yù)測模式之一。
當(dāng)上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式均可用并且相互不同時,第一幀內(nèi)預(yù)測模式組是由兩個可用幀內(nèi)預(yù)測模式和一個附加幀內(nèi)預(yù)測模式構(gòu)成的。該附加的幀內(nèi)預(yù)測模式與兩個可用的幀內(nèi)預(yù)測模式不同,并且是垂直模式、水平模式和DC模式之一。該附加的幀內(nèi)預(yù)測模式是能夠添加到DC模式、垂直模式和水平模式的順序中的第一幀內(nèi)預(yù)測模式。
當(dāng)上和左幀內(nèi)預(yù)測單元僅有一個幀內(nèi)預(yù)測模式可用時,或者當(dāng)上和左幀內(nèi)預(yù)測單元的幀內(nèi)預(yù)測模式相同時,第一幀內(nèi)預(yù)測模式組是由一個可用幀內(nèi)預(yù)測模式和兩個附加的幀內(nèi)預(yù)測模式構(gòu)成的。根據(jù)可用幀內(nèi)預(yù)測模式和預(yù)測單元的大小適應(yīng)性地確定兩個附加的幀內(nèi)預(yù)測模式。如果幀內(nèi)預(yù)測單元的大小等于或小于預(yù)定尺寸,并且可用幀內(nèi)預(yù)測模式是方向性模式時,選擇方向最接近可用幀內(nèi)預(yù)測模式方向的兩個幀內(nèi)預(yù)測模式作為兩個附加的幀內(nèi)預(yù)測模式。但是,如果僅存在一個幀內(nèi)預(yù)測模式具有與可用幀內(nèi)預(yù)測模式的方向最接近的方向(即可用幀內(nèi)預(yù)測模式是模式6或9),則選擇模式6或9作為其他附加的幀內(nèi)預(yù)測模式。如果可用幀內(nèi)預(yù)測模式是非方向性幀內(nèi)預(yù)測模式,則兩個附加的幀內(nèi)預(yù)測模式是垂直模式和水平模式,或者其他非方向性幀內(nèi)預(yù)測模式和垂直模式。
當(dāng)上和左幀內(nèi)預(yù)測單元的全部幀內(nèi)預(yù)測模式可用時,第一幀內(nèi)預(yù)測模式組是由三個附加幀內(nèi)預(yù)測模式構(gòu)成的。該三個附加的幀內(nèi)預(yù)測模式可以是DC模式、垂直模式和水平模式,或者DC模式、平面模式和垂直模式。
當(dāng)當(dāng)前預(yù)測單元存在多個上預(yù)測單元時,沿著預(yù)定方向(例如從左到右)掃描該多個上預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為上幀內(nèi)預(yù)測模式。同樣,當(dāng)當(dāng)前預(yù)測單元存在多個左預(yù)測單元時,沿著預(yù)定方向(例如從上到下)掃描該多個左預(yù)測單元,以確定第一可用預(yù)測單元的幀內(nèi)預(yù)測模式作為左幀內(nèi)預(yù)測模式。
接著,在步驟S212中,根據(jù)幀內(nèi)預(yù)測模式組標(biāo)識符確定當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式是否屬于第一幀內(nèi)預(yù)測模式組。
如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式屬于第一幀內(nèi)預(yù)測模式組,則在步驟S213中,將第一幀內(nèi)預(yù)測模式組對應(yīng)于幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式確定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。
如果當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式不屬于第一幀內(nèi)預(yù)測模式組,則在步驟S214中,將第二幀內(nèi)預(yù)測模式組對應(yīng)于幀內(nèi)預(yù)測模式索引的幀內(nèi)預(yù)測模式確定為當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式。該第二幀內(nèi)預(yù)測模式組包括不同于屬于第一幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的全部幀內(nèi)預(yù)測模式。
按照第二幀內(nèi)預(yù)測模式組的幀內(nèi)預(yù)測模式的模式編號的順序分配幀內(nèi)預(yù)測模式的索引。
接著,在步驟S120中,根據(jù)當(dāng)前預(yù)測單元恢復(fù)后的幀內(nèi)預(yù)測模式適應(yīng)性地生成參考像素。
當(dāng)僅在不可用參考像素位置的一側(cè)存在可用參考像素時,通過復(fù)制最接近不可用像素的可用像素的值生成參考像素。可選的是,利用最接近不可用像素的兩個可用像素生成參考像素。當(dāng)可用像素之間存在不可用參考像素時,利用兩側(cè)最接近不可用像素的兩個可用參考像素生成參考像素。所生成的參考像素的值可以是兩側(cè)最接近不可用像素的兩個可用參考像素的平均值。當(dāng)兩個可用參考像素之差很大時,可以使用線性內(nèi)插法來生成參考像素。
接著,根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式適應(yīng)性地過濾參考像素(S130)。當(dāng)恢復(fù)后的幀內(nèi)預(yù)測模式是垂直模式(模式0)、水平模式(模式1)或者DC模式(模式2)時,不過濾參考像素。在不同于垂直模式和水平模式的方向性幀內(nèi)預(yù)測模式中,適應(yīng)性地過濾參考像素。不過濾位于(x=2N-1,y=-1)的上參考像素的最右參考像素以及位于(x=-1,y=2N-1)的左參考像素的最下參考像素。利用兩個相鄰參考像素過濾剩余的參考像素。
低通濾波器用于使相鄰參考像素之差變得平滑。該低通濾波器可以是3分過濾器[1,2,1]或者5分過濾器[1,2,4,2,1]。
在水平或垂直模式與相對于水平或垂直方向成45°的幀內(nèi)預(yù)測模式之間存在的方向性幀內(nèi)預(yù)測模式下,根據(jù)預(yù)測塊的大小將濾波器適應(yīng)性地應(yīng)用于參考像素。根據(jù)預(yù)測塊的大小,可以將濾波器適應(yīng)性地應(yīng)用于水平模式與相對于水平模式成45°的模式之間存在的模式,或者垂直模式與相對于垂直模式成45°的模式之間存在的模式。預(yù)定的數(shù)量會隨著預(yù)測塊尺寸增大而增大。例如,針對8×8預(yù)測塊,將濾波器應(yīng)用于最接近模式3、6、9的第一數(shù)量的幀內(nèi)預(yù)測模式;針對16×16預(yù)測塊,將濾波器應(yīng)用于最接近模式3、6、9的第二數(shù)量的幀內(nèi)預(yù)測模式;針對32×32預(yù)測塊,將濾波器應(yīng)用于最接近模式3、6、9的第三數(shù)量的幀內(nèi)預(yù)測模式,第一數(shù)量等于或小于第二數(shù)量,第二數(shù)量等于或小于第三數(shù)量。
接著,在步驟S140中,根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式利用參考像素生成預(yù)測塊。生成預(yù)測塊的方法與圖6的幀內(nèi)預(yù)測模塊生成單元254的方法相同。
在步驟S150中,熵解碼剩余信號。
在步驟S160中,反掃描剩余信號。即,將剩余信號轉(zhuǎn)變?yōu)槎S量化后轉(zhuǎn)換塊。在多個反掃描方式中選擇用于上述轉(zhuǎn)變的一種反掃描方式。根據(jù)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式確定該反掃描方式。如果轉(zhuǎn)換單元的大小比預(yù)定尺寸大,則在子集單元中反掃描剩余信號并且使用多個子集生成量化后的轉(zhuǎn)換塊。如果轉(zhuǎn)換單元的大小等于預(yù)定尺寸,則在轉(zhuǎn)換單元的單元中反掃描該剩余信號并且生成量化后的轉(zhuǎn)換單元。
在步驟S170中,反量化二維量化后轉(zhuǎn)換塊。為反量化確定當(dāng)前編碼單元的量化步距預(yù)測值。利用與圖5的反量化單元230相同的方法確定量化步距預(yù)測值。將所確定的量化步距預(yù)測值和接收到的剩余量化步距相加以生成將要應(yīng)用于轉(zhuǎn)換塊的量化步距。利用量化步距確定的量化矩陣恢復(fù)轉(zhuǎn)換系數(shù)。
在步驟S180中反轉(zhuǎn)換經(jīng)反量化的塊。根據(jù)恢復(fù)后的幀內(nèi)預(yù)測模式可以適應(yīng)性地確定反轉(zhuǎn)換矩陣。可以由水平和垂直一維(1D)轉(zhuǎn)換矩陣來反轉(zhuǎn)換該轉(zhuǎn)換塊的剩余信號。在幀內(nèi)預(yù)測中,當(dāng)當(dāng)前預(yù)測單元的幀內(nèi)預(yù)測模式為水平時,則剩余信號很有可能具有垂直方向性。因此,將基于DCT的整數(shù)矩陣應(yīng)用于垂直方向,并且將基于DST或者KLT的整數(shù)矩陣應(yīng)用于水平方向。當(dāng)幀內(nèi)預(yù)測模式為垂直時,將基于反DST或KLT的整數(shù)矩陣應(yīng)用于垂直方向,并且將基于反DCT的整數(shù)矩陣應(yīng)用于水平方向。當(dāng)幀內(nèi)預(yù)測模式為DC模式時,在兩個方向上均應(yīng)用基于反DCT的整數(shù)矩陣。
將預(yù)測塊和反轉(zhuǎn)換后的塊相加以生成重建圖像(S190)??梢栽诰幋a單元的單元中將恢復(fù)后的剩余信號和恢復(fù)后的預(yù)測信號相加。
盡管參照本發(fā)明的某些示例性實施例示出并描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員可以理解,可以在不背離所附權(quán)利要求限定的本發(fā)明精神和范圍的情況下對本發(fā)明中的形式和細(xì)節(jié)進(jìn)行各種改變。