用于對圖像進行解碼的裝置的制造方法
【專利摘要】本發(fā)明的一種幀內(nèi)解碼設(shè)備從接收的比特流復(fù)原量化殘差系數(shù)、幀內(nèi)預(yù)測信息和預(yù)測單元尺寸信息;在幀內(nèi)預(yù)測信息和當前預(yù)測單元的尺寸信息的基礎(chǔ)上復(fù)原當前預(yù)測單元的幀內(nèi)預(yù)測模式;并且通過產(chǎn)生預(yù)測單元的不可用參考像素在幀內(nèi)預(yù)測模式的基礎(chǔ)上對參考像素自適應(yīng)地濾波。并且,本發(fā)明通過使用與幀內(nèi)預(yù)測模式對應(yīng)的參考像素并對其自適應(yīng)地濾波來產(chǎn)生預(yù)測塊。另外,本發(fā)明使用預(yù)測塊來產(chǎn)生復(fù)原圖像并復(fù)原殘差塊。因此,本發(fā)明通過復(fù)原靠近初始圖像的預(yù)測塊,來提高圖像壓縮率。
【專利說明】用于對圖像進行解碼的裝置
[0001 ] 本申請是2011年7月29日向國家知識產(chǎn)權(quán)局提交的申請?zhí)枮?01180042188.0、發(fā)明名稱為“幀內(nèi)預(yù)測解碼設(shè)備”的專利申請的分案申請。
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種用于對運動圖片進行解碼的裝置,更具體地,涉及一種對幀內(nèi)預(yù)測模式進行解碼、根據(jù)幀內(nèi)預(yù)測模式自適應(yīng)地產(chǎn)生預(yù)測塊和殘差塊并由此產(chǎn)生重建塊的裝置。
【背景技術(shù)】
[0003]在如運動圖像專家組(MPEG)-1、MPEG-2、MPEG-4和H.264/MPEG-4高級視頻編碼(AVC)的圖像壓縮方法中,一張圖片被分割成多個宏塊以對圖像進行編碼。然后,使用幀間預(yù)測或幀內(nèi)預(yù)測對各個宏塊進行編碼。
[0004]在幀內(nèi)預(yù)測中,不使用參考圖片,而是使用與當前塊在空間上相鄰的像素的值來對當前圖片的塊進行編碼。通過使用相鄰的像素值產(chǎn)生的預(yù)測塊與原始宏塊比較,來選擇具有較小失真的幀內(nèi)預(yù)測模式。然后,使用選擇的幀內(nèi)預(yù)測模塊和相鄰的像素值,計算出當前塊的預(yù)測值。并且,計算出預(yù)測值和初始當前塊的像素值之間的差異,然后通過變換編碼、量化和熵編碼來編碼。幀內(nèi)預(yù)測模式也被編碼。
[0005]幀內(nèi)預(yù)測通常分類成用于亮度分量和色度分量的4X4幀內(nèi)預(yù)測、8X8幀內(nèi)預(yù)測和16 X 16幀內(nèi)預(yù)測。
[0006]在根據(jù)現(xiàn)有技術(shù)的16X 16幀內(nèi)預(yù)測中,有垂直模式、水平模式、直流(DC)模式和平面模式四種模式。
[0007]在根據(jù)現(xiàn)有技術(shù)的4X 4幀內(nèi)預(yù)測中,有垂直模式、水平模式、DC模式、對角線左下模式、對角線右下模式、垂直向右模式、垂直向左模式、水平向上模式和水平向下模式九種模式。
[0008]根據(jù)各個模式的使用頻率把每個預(yù)測模式編入索引。垂直模式是模式O示出最可能是最頻繁用于對目標塊執(zhí)行幀內(nèi)預(yù)測的模式,并且水平向上模式是模式8示出最可能是最不頻繁使用的。
[0009]根據(jù)H.264標準,使用總計13種模式來對當前塊進行編碼,即是,4X4幀內(nèi)預(yù)測的4種模式和16X16幀內(nèi)預(yù)測的9種模式。根據(jù)這些模式中的最佳模式產(chǎn)生當前塊的比特流。
[0010]然而,在與當前塊相鄰的像素的一些或所有值都不存在或之前沒被編碼時,不可能對當前塊應(yīng)用這些或所有的幀內(nèi)預(yù)測模式。并且,當相鄰參考像素之間的差異很大時,預(yù)測塊和原始塊之間的差異變大。因此,需要新技術(shù)來降低初始塊和基于用于產(chǎn)生預(yù)測塊的參考像素的位置產(chǎn)生的預(yù)測塊之間的差異。
【發(fā)明內(nèi)容】
[0011]技術(shù)問題
[0012]本發(fā)明涉及一種用于通過產(chǎn)生或重建鄰近初始圖像的預(yù)測塊而有效地重建具有高壓縮效率的編碼圖像的幀內(nèi)預(yù)測解碼裝置。
[0013]技術(shù)方案
[0014]本發(fā)明的一個方面提供了一種用于對運動圖片進行解碼的裝置,包括:熵解碼器,被配置為復(fù)原量化殘差系數(shù)和幀內(nèi)預(yù)測信息;預(yù)測模式解碼器,被配置為在幀內(nèi)預(yù)測信息的基礎(chǔ)上復(fù)原幀內(nèi)預(yù)測模式;殘差信號解碼器,被配置為使用幀內(nèi)預(yù)測模式對量化殘差信號進行解碼;參考像素產(chǎn)生器,被配置為當存在一個或多個不可用參考像素時產(chǎn)生參考像素,并且被配置為使用幀內(nèi)預(yù)測模式對參考像素自適應(yīng)地濾波;預(yù)測塊產(chǎn)生器,被配置為使用由幀內(nèi)預(yù)測模式確定的參考像素產(chǎn)生預(yù)測像素;預(yù)測塊濾波器,被配置為使用幀內(nèi)預(yù)測模式對預(yù)測像素的某些預(yù)測像素自適應(yīng)地濾波;以及圖像重建器,被配置為使用預(yù)測像素和殘差信號產(chǎn)生重建的圖像。
[0015]有益效果
[0016]根據(jù)本發(fā)明的用于對運動圖片進行解碼的裝置產(chǎn)生參考像素并且對參考像素自適應(yīng)地濾波,以產(chǎn)生將預(yù)測塊與初始塊之間的差最小化的預(yù)測塊。并且,通過使用不用于產(chǎn)生預(yù)測塊的參考像素產(chǎn)生或修改預(yù)測塊,能夠重建與初始塊相似的預(yù)測塊,并且能夠提高圖像的壓縮。
【附圖說明】
[0017]圖1是根據(jù)本發(fā)明的運動圖片編碼裝置的框圖;
[0018]圖2是根據(jù)本發(fā)明的幀內(nèi)預(yù)測器的框圖;
[0019]圖3是顯示根據(jù)本發(fā)明的定向幀內(nèi)預(yù)測模式的示意圖;
[0020]圖4是示出根據(jù)本發(fā)明的在預(yù)測模式編碼器中執(zhí)行的對預(yù)測單元的幀內(nèi)預(yù)測模式進行編碼的過程的流程圖;
[0021]圖5是根據(jù)本發(fā)明的幀內(nèi)預(yù)測解碼裝置的框圖。
【具體實施方式】
[0022]下文中,將參照附圖詳細描述本發(fā)明的各個實施例。然而,本發(fā)明不限于以下公開的示例性實施例,而是能夠以各種方式實施。因此,可以對本發(fā)明進行許多其他修改和變型,并且將理解的是在所公開的原理的范圍內(nèi),可以用除了如同已被明確描述的方式之外的方式實現(xiàn)本發(fā)明。
[0023]對于圖像編碼,每張圖片由一個或多個切片組成,并且每個切片由多個編碼單元組成。由于高清晰度(HD)級別或更高級別的圖像具有許多平滑區(qū)域,所以可以通過用各種尺寸的編碼單元對圖像進行編碼,以提高圖像的壓縮。
[0024]根據(jù)本發(fā)明的編碼單元具有四叉樹結(jié)構(gòu)并且能夠用深度信息被分級地分割。最大尺寸的編碼單兀被稱作最大編碼單兀(LCU),并且最小尺寸的編碼單兀被稱作最小編碼單元(S⑶)。序列參數(shù)集(SPS)中可以包括關(guān)于IXU和S⑶的信息并且可以傳送這些信息。
[0025]IXU是由一個或多個編碼單元組成。IXU具有遞歸編碼樹的形式,以包括LCU的分割結(jié)構(gòu)和對應(yīng)的編碼單元。當LCU沒有被分割成四個編碼單元時,編碼樹可以由表示LCU沒有被分割的信息和一個編碼單元組成。當LCU被分割成四個編碼單元時,編碼樹可以由表示LCU被分割的信息和四個子編碼樹組成。同樣地,每個子編碼樹具有與LCU的編碼樹相同的結(jié)構(gòu)。然而,SCU尺寸的編碼單元沒有被分割成多個編碼單元。
[0026]同時,編碼樹中的每個編碼單元以編碼單元自身或子分割物為單位受到幀內(nèi)預(yù)測或幀間預(yù)測。其中執(zhí)行了幀內(nèi)預(yù)測或幀間預(yù)測的單元被稱作預(yù)測單元。在幀內(nèi)預(yù)測中,預(yù)測單元的尺寸可以是2~\21^^\1在幀間預(yù)測中,預(yù)測單元的尺寸可以是2~\212~\1~X 2N或N X N。此處,2N表示編碼單元的水平和垂直長度。
[0027]同時,用于幀內(nèi)預(yù)測的預(yù)測單元可以不是正方形。例如,正方形編碼單元可以被分害械用于幀內(nèi)預(yù)測的四個hNX2N預(yù)測單元或四個2NXhN預(yù)測單元。在這種情況下,參考像素和用于幀內(nèi)預(yù)測的預(yù)測塊的像素之間的距離減小,這使得能夠提高預(yù)測效率。這種幀內(nèi)預(yù)測方法是短距幀內(nèi)預(yù)測(SDIP)。
[0028]編碼單元包括在編碼單元內(nèi)部的每個預(yù)測單元的預(yù)測模式信息和尺寸信息(片段模式)。為了提高編碼效率,預(yù)測模式信息和尺寸信息可以被組合并聯(lián)合編碼。在這種情況下,每個編碼單元包括聯(lián)合編碼預(yù)測類型。
[0029]編碼單元包括產(chǎn)生每個預(yù)測單元的預(yù)測塊所需要的附加信息和殘差信號。編碼單元中的每個預(yù)測單元都限定了附加信息。在幀內(nèi)預(yù)測中,附加信息包括被編碼的幀內(nèi)預(yù)測信息。在幀間預(yù)測中,附加信息包括被編碼的運動信息。運動信息包括運動向量和參考圖片索弓I。
[0030]在每個編碼單元中均包括殘差信號。殘差信號包括一個變換樹、一個亮度殘差信號載體和兩個色度殘差信號載體。殘差信號載體包括一個或多個變換單元上的被編碼的殘差信號。變換單元的最大尺寸等于或小于編碼單元的尺寸。變換單元可以與最大變換單元或最大變換單元的子變換單元具有相同的尺寸。
[0031]對于編碼單元中所包括的殘差信號,變換樹包括表示變換單元的分割結(jié)構(gòu)的信息。并且,變換樹包括表示每個變換單元的殘差信號是否為O的信息。
[0032]殘差信號載體以編碼單元為單位攜帶在與表示變換樹中的分割結(jié)構(gòu)的信息對應(yīng)的變換單元的被編碼的殘差信息。
[0033]雖然以上僅僅對通過等分編碼單元獲得的預(yù)測單元做出了描述,但是也可能是不等分的。換句話說,為了壓縮殘差信號,根據(jù)圖像的邊界在特定方向不等分圖像信號并執(zhí)行幀內(nèi)或幀間預(yù)測可能更有效。
[0034]最簡單的自適應(yīng)模式是使用直線把編碼單元分割成兩個塊,以在局部上提取預(yù)測區(qū)域的統(tǒng)計相關(guān)性。圖像的邊界與直線匹配并且被分割。在這種情況下,可分割方向可能被限于預(yù)定的數(shù)量。例如,可以將分割塊的方法限于水平、垂直、向上對角線和向下對角線四個方向。并且,也可以僅將分割限于水平和垂直方向。可分割方向的數(shù)量可以是三、五、七個等??煞指罘较虻臄?shù)量可以根據(jù)塊的尺寸而變化。例如,對于大尺寸的編碼單元,可分割方向的數(shù)量可以相對增加。
[0035]在幀間預(yù)測中,當為了更多的自適應(yīng)預(yù)測而將一個編碼單元分割成兩個預(yù)測單元時,應(yīng)該對每個預(yù)測單元執(zhí)行運動估計和運動補償。在從一個編碼單元分割的兩個預(yù)測單元分別提取預(yù)測塊后,這兩個預(yù)測塊可以相加,以產(chǎn)生具有與編碼單元的尺寸相同的預(yù)測塊。在這種情況下,為了減少編碼單元尺寸的預(yù)測塊的分割邊界的兩側(cè)的像素值之間的差異,可以濾波位于分割邊界的像素??梢援a(chǎn)生預(yù)測塊,以使得對應(yīng)于各個預(yù)測單元的預(yù)測塊相重疊,并且可以將重疊邊界部分平滑以產(chǎn)生一個預(yù)測塊。
[0036]圖1是根據(jù)本發(fā)明的運動圖片編碼裝置的框圖。
[0037]參照圖1,根據(jù)本發(fā)明的運動圖片編碼裝置100包括:圖片分割器110、變換器120、量化器130、掃描器131、熵編碼器140、幀內(nèi)預(yù)測器150、幀間預(yù)測器160、逆量化器135、逆變換器125、后處理器170、圖片存儲器180、減法器190和加法器195。
[0038]圖片分割器110分析輸入的視頻信號,以把圖片的每張LCU分割成一個或多個具有預(yù)定尺寸的編碼單元,確定每個編碼單元的預(yù)測模式,并且確定每個編碼單元的預(yù)測單元的尺寸。圖片分割器110根據(jù)預(yù)測模式把將被編碼的預(yù)測單元發(fā)送到幀內(nèi)預(yù)測器150或幀間預(yù)測器160。并且,圖片分割器110把將被編碼的預(yù)測單元發(fā)送到減法器190。
[0039]變換器120變換殘差塊,該殘差塊是輸入預(yù)測單元的初始塊和通過幀內(nèi)預(yù)測器150或幀間預(yù)測器160產(chǎn)生的預(yù)測塊之間的殘差信號。優(yōu)選地,殘差塊可以具有編碼單元的尺寸。殘差塊可以被分割成最佳變換單元并且被變換??梢愿鶕?jù)預(yù)測模式(幀內(nèi)或幀間)和幀內(nèi)預(yù)測模式自適應(yīng)地確定變換矩陣類型。殘差信號的變換單元可以通過水平和垂直的一維(ID)變換矩陣而變換。在幀間預(yù)測中,應(yīng)用一個預(yù)定的變換矩陣。在幀內(nèi)預(yù)測中,當幀內(nèi)預(yù)測模式是水平時,殘差塊很可能具有垂直方向性。這樣,在垂直方向上應(yīng)用基于離散余弦變換(DCT)的整數(shù)矩陣,并且在水平方向上應(yīng)用基于離散正弦變換(DST)或卡胡南-洛夫變換(Karhunen Loeve transform(KLT))的整數(shù)矩陣。當幀內(nèi)預(yù)測模式是垂直時,在垂直方向上應(yīng)用基于DST或KLT的整數(shù)矩陣,并且在水平方向上應(yīng)用基于DCT的整數(shù)矩陣。二選一地,在幀內(nèi)預(yù)測中,可以根據(jù)變換單元的尺寸自適應(yīng)地確定變換矩陣。
[0040]量化器130確定每個編碼單元的量化步長,以量化被變換矩陣變換的殘差塊的變換系數(shù)。確定尺寸等于或大于預(yù)定尺寸的每個編碼單元的量化步長。預(yù)定尺寸可以是8X8或16X16。使用所確定的量化步長和根據(jù)預(yù)測模式所確定的量化矩陣,量化變換系數(shù)。量化器130使用與當前編碼單元相鄰的編碼單元的量化步長作為當前編碼單元的量化步長預(yù)測器。量化器130按序搜索當前編碼單元的左編碼單元、上編碼單元和左上編碼單元,使用一個或多個有效編碼單元的量化步長來確定當前編碼單元的量化步長預(yù)測器,并且把量化步長與當前編碼單元的量化步長預(yù)測器之間的差傳送到熵編碼器140。
[0041]當切片被分割成編碼單元時,當前編碼單元可能沒有左編碼單元、上編碼單元和左上編碼單元。另一方面,在編碼順序中當前編碼單元可能有前編碼單元。這樣,與當前編碼單元相鄰的編碼單元和前編碼單元可以是候選。在這種情況下,優(yōu)先權(quán)可以按序給與I)當前編碼單元的左編碼單元,2)當前編碼單元的上編碼單元,3)當前編碼單元的左上編碼單元和4)當前編碼單元的前編碼單元。可以改變順序,或可以省略左上編碼單元。
[0042]把量化的變換塊提供到逆量化器135和掃描器131。
[0043]掃描器131掃描量化變換塊的系數(shù),并且把該量化變換塊的系數(shù)轉(zhuǎn)換成ID量化系數(shù)。根據(jù)預(yù)測模式和幀內(nèi)預(yù)測模式確定系數(shù)掃描方法。并且,可以根據(jù)變換單元的尺寸差別確定系數(shù)掃描方法。掃描器131確定是否在當前變換單元的尺寸的基礎(chǔ)上把量化變換塊分割成多個子集。當變換單元的尺寸大于第一參考尺寸時,掃描器131將量化變換塊分割成多個子集。第一參考尺寸可以是4 X 4或8 X 8。
[0044]掃描器131確定將應(yīng)用到量化變換塊的掃描方式。在幀間預(yù)測中,可以只應(yīng)用一個預(yù)定的掃描方式(例如,鋸齒掃描)。在幀內(nèi)預(yù)測中,能夠應(yīng)用根據(jù)幀內(nèi)預(yù)測模式確定的掃描方式。掃描方式可以根據(jù)定向幀內(nèi)預(yù)測模式而變化。將鋸齒掃描應(yīng)用到不定向幀內(nèi)預(yù)測模式。不定向模式可以是直流(DC)模式或平面模式。逆向掃描量化變換塊的系數(shù)。
[0045]當量化變換塊被分割成多個子集時,將相同的掃描方式應(yīng)用到每個子集中的量化系數(shù)。多個子集由一個主子集和一個或多個殘差子集組成。主子集位于左上側(cè)并且包括DC系數(shù)和除了主子集之外的一個或多個的殘差子集覆蓋區(qū)域。
[0046]可以應(yīng)用鋸齒掃描對子集進行掃描??梢栽谇跋蚍较蛏蠌闹髯蛹_始到殘差子集來掃描子集,或可以在反向方向上掃描子集??梢詫⒂糜趻呙枳蛹膾呙璺绞皆O(shè)定為與用于掃描子集中的量化系數(shù)的掃描方式相同。在這種情況下,根據(jù)幀內(nèi)預(yù)測模式確定用于子集的掃描方式。同時,運動圖片編碼裝置100把能夠表示變換單元的最后一個非零量化系數(shù)的位置的信息傳送到解碼器。運動圖片編碼裝置100也把能夠表示在每個子集中的最后一個非零量化系數(shù)的位置的信息傳送到解碼器。
[0047]逆量化器135對量化系數(shù)進行逆量化。逆變換器125從逆量化系數(shù)重建空間域的殘差塊。加法器195通過把被逆變換器125重建的殘差塊和來自幀內(nèi)預(yù)測器150或幀間預(yù)測器160的預(yù)測塊相加來產(chǎn)生重建塊。
[0048]后處理器170執(zhí)行:用于移除在重建圖片中產(chǎn)生的塊效應(yīng)的去塊濾波過程,用于補償重建圖片和初始圖像的每個像素之間的差異的自適應(yīng)偏移應(yīng)用過程,和用于在編碼單元中補償重建圖片和初始圖像之間的差異的自適應(yīng)環(huán)路濾波過程。
[0049]去塊濾波過程可以被應(yīng)用到預(yù)測單元之間的邊界和變換單元之間的邊界。預(yù)定尺寸可以是8X8。去塊濾波過程包括確定將要濾波的邊界的步驟、確定將被應(yīng)用到邊界的邊界濾波強度的步驟、確定是否應(yīng)用去塊濾波器的步驟、和當確定應(yīng)用去塊濾波器時選擇將被應(yīng)用到邊界的濾波器的步驟。
[0050]確定是否應(yīng)用去塊濾波是根據(jù)i)邊界濾波強度是否大于0,以及ii)表示與將被濾波的邊界相鄰的兩個塊(P塊和Q塊)的邊界像素之間的差異的值是否小于根據(jù)量化參數(shù)確定的第一參考值。
[0051]可以存在兩個或更多濾波器。當與塊邊界相鄰的兩個像素之間差異的絕對值等于或大于第二參考值時,選擇弱濾波器。通過量化參數(shù)和邊界濾波強度確定第二參考值。
[0052]自適應(yīng)偏移施加過程意在減少經(jīng)過去塊濾波器的圖像中的像素和初始像素之間的差異(失真)。圖片或切片可以被分割成多個偏移區(qū)域,并且可以對每個偏移區(qū)域確定一個偏移模式。有四個邊緣偏移模式,兩個帶偏移模式和一個不施加偏移模式。根據(jù)每個偏移模式,在每個偏移區(qū)域中的像素被分類成預(yù)定數(shù)量的種類,并且對應(yīng)于所分類的種類的偏移被增加到像素。在邊緣補償模式的情況下,通過比較當前像素值和與當前像素相鄰的兩個或更多像素的像素值來確定當前像素的種類。
[0053]可以在通過比較初始圖像和應(yīng)用了去塊濾波過程或自適應(yīng)偏移應(yīng)用過程的重建圖像獲得的值的基礎(chǔ)上執(zhí)行自適應(yīng)環(huán)路濾波過程。在4X4塊的基礎(chǔ)上通過一個拉普拉斯算子活動值而檢測自適應(yīng)環(huán)路濾波器(ALF)。所確定的ALF能夠被應(yīng)用到包括在4 X 4塊或8 X 8塊中的所有像素。可以根據(jù)編碼單元確定是否應(yīng)用ALF。環(huán)路濾波器的尺寸和系數(shù)可以根據(jù)每個編碼單元變化。切片頭可以包括表示是否對每個編碼單元應(yīng)用ALF的信息、濾波器系數(shù)的信息、濾波器形狀的信息等等,并且將這些信息傳送到解碼器。在色度信號的情況下,可以在圖片單元中確定是否應(yīng)用ALF。與亮度不同,環(huán)路濾波器可以具有矩形形狀。
[0054]圖片存儲器180從后處理器170接收后處理圖像數(shù)據(jù),并存儲在圖片單元中重建的圖像。圖片可以是以幀或場為單位的圖像。圖片存儲器180具有能夠存儲多個圖片的緩沖區(qū)(未示出)。
[0055]幀間預(yù)測器160使用存儲在圖片存儲器180中的一個或多個參考圖片來執(zhí)行運動估計,并且確定表示參考圖片和運動矢量的參考圖片索引。根據(jù)參考圖片索引和運動矢量,幀間預(yù)測器160從存儲在圖片存儲器180中的多個參考圖片中選擇的一個參考圖片中提取出對應(yīng)于將被編碼的預(yù)測單元的預(yù)測塊,并且輸出所提取的預(yù)測塊。
[0056]幀內(nèi)預(yù)測器150使用在包括當前預(yù)測單元的圖片中的重建像素值來執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測器150接收將被預(yù)測性地編碼的當前預(yù)測單元,選擇預(yù)定數(shù)量的幀內(nèi)預(yù)測模式的一種,并且執(zhí)行幀內(nèi)預(yù)測。幀內(nèi)預(yù)測模式的預(yù)定數(shù)量取決于當前預(yù)測單元的尺寸。幀內(nèi)預(yù)測器150對用于產(chǎn)生幀內(nèi)預(yù)測塊的參考像素自適應(yīng)地濾波。當一些參考像素不可用時,可以使用可用參考像素在不可用位置處產(chǎn)生參考像素。
[0057]熵編碼器140對被量化器130量化的量化系數(shù)、從幀內(nèi)預(yù)測器140接收的幀內(nèi)預(yù)測信息、從幀間預(yù)測器160接收的運動信息等進行熵編碼。
[0058]圖2是根據(jù)本發(fā)明的幀內(nèi)預(yù)測器150的框圖。
[0059]參考圖2,幀內(nèi)預(yù)測器140包括預(yù)測單元接收器141、參考像素產(chǎn)生器142、預(yù)測塊產(chǎn)生器143、預(yù)測塊后處理器144、預(yù)測模式確定器145和預(yù)測模式編碼器146。
[0060]預(yù)測單元接收器141接收從圖片分割器110輸入的預(yù)測單元。預(yù)測單元接收器141把在接收的預(yù)測單元上的尺寸信息傳送到預(yù)測模式確定器145和參考像素產(chǎn)生器142,并且把預(yù)測單元傳送到參考像素產(chǎn)生器142和預(yù)測塊產(chǎn)生器143。
[0061]參考像素產(chǎn)生器142確定接收的當前預(yù)測單元的參考像素是否可用。用于幀內(nèi)預(yù)測的當前預(yù)測單元的參考像素由位于(x = -l,y = _l)處的角參考像素、位于(χ = 0,…,2L-1,y = -l)處的2L個上參考像素和位于(x = 0,y = 0,…,and 2M-1)處的2M個左參考像素組成。此處,L是當前預(yù)測單元的寬度,并且M是當前預(yù)測單元的高度。
[0062]當參考像素不可用或不夠時,產(chǎn)生參考像素。
[0063]當沒有參考像素可用時,產(chǎn)生具有預(yù)定值的參考像素。
[0064]當一些參考像素不可用時,確定不可用參考像素是否只存在于從可用像素起的一個方向上或可用像素之間。
[0065]當不可用參考像素只存在于從可用像素起的一個方向上時,通過復(fù)制與不可用像素最接近的可用像素的值來產(chǎn)生參考像素。例如,在當前預(yù)測單元位于圖片或切片的上邊界處時,角參考像素和上參考像素不可用。這樣,在這種情況下,通過復(fù)制位于最靠近位置(x = -l,y = 0)處的參考像素能夠產(chǎn)生角參考像素和上參考像素。二選一地,可以使用最靠近位置的可用參考像素和一個或多個可用參考像素產(chǎn)生參考像素。例如,當位于(x = -l,y=0)處的角參考像素和位于(χ = 0,.._,和L-1,y = -l)處的參考像素可用、并且位于(X =L,...,2L-l,y = -l)的參考像素不可用時,能夠使用位于(x = L-l,y = -l)處的參考像素值和角參考像素值或另一個參考像素值之間差異的改變在不可用位置處產(chǎn)生參考像素。
[0066]當在可用像素之間存在不可用參考像素時,使用與不可用參考像素相鄰的兩個可用像素P和q來產(chǎn)生參考像素。例如,當角參考像素和位于(χ = 0,…,and L_1,y = _l)處的L個上參考像素不可用時,能夠使用參考像素P和q來產(chǎn)生在位于(x = -l,y = 0)處的參考像素P和位于(x = L,y = -1)處的參考像素q之間存在的參考像素。
[0067]可以通過四舍五入?yún)⒖枷袼豍和參考像素q的平均值來獲得產(chǎn)生的參考像素值。并且,可以使用參考像素P和參考像素q的像素值之間的差異的變化來產(chǎn)生參考像素值。在這種情況下,可以通過根據(jù)對應(yīng)于所產(chǎn)生的像素的位置確定的線性插值或使用兩個參考像素的加權(quán)平均值來產(chǎn)生參考像素值。
[0068]同時,當多個預(yù)測單元在當前預(yù)測單元的上側(cè)時,很有可能在兩個上預(yù)測單元之間的邊界的兩側(cè)上存在的邊界像素之間的差異將大于在每個上預(yù)測單元中的相鄰像素之間的差異。這是量化系數(shù)引起的誤差所導(dǎo)致的。很有可能在其中使用兩個相鄰參考像素產(chǎn)生預(yù)測塊的定向幀內(nèi)預(yù)測模式中將發(fā)生這種誤差。
[0069]特別地,最嚴重地影響圖3的與水平或垂直方向成45°方向的定向幀內(nèi)預(yù)測模式(模式編號3、6和9)。在垂直和水平幀內(nèi)預(yù)測模式(模式編號O和I)中,一個像素被用于產(chǎn)生預(yù)測塊的預(yù)測像素,因此垂直和水平幀內(nèi)預(yù)測模式受到輕微地影響。
[0070]為此原因,將濾波器(平滑濾波器)應(yīng)用到定向幀內(nèi)預(yù)測模式3、6和9中的參考像素,并且不應(yīng)用到垂直和水平幀內(nèi)預(yù)測模式中的參考像素。在非定向幀內(nèi)預(yù)測模式中的DC模式中,濾波器也沒有被應(yīng)用到參考像素。對于這些模式,無論當前預(yù)測單元的尺寸為多大,均可以確定是否應(yīng)用濾波器。
[0071]在存在于幀內(nèi)預(yù)測模式3、6或9和水平或垂直幀內(nèi)預(yù)測模式之間的定向幀內(nèi)預(yù)測模式中,能夠根據(jù)預(yù)測單元的尺寸自適應(yīng)地把濾波器應(yīng)用到參考像素。隨著定向幀內(nèi)預(yù)測模式的方向相對地靠近呈45°方向的幀內(nèi)預(yù)測模式的方向,優(yōu)選增加應(yīng)用濾波器的可能性。尤其是,當?shù)谝欢ㄏ驇瑑?nèi)預(yù)測模式比第二定向幀內(nèi)預(yù)測模式在方向上更靠近呈45°方向的幀內(nèi)預(yù)測模式時,如果濾波器被應(yīng)用到在第二定向幀內(nèi)預(yù)測模式中的參考像素,則濾波器也被應(yīng)用到第一定向幀內(nèi)預(yù)測模式中的參考像素。另一方面,如果濾波器被應(yīng)用到第一定向幀內(nèi)預(yù)測模式中的參考像素,則該濾波器可以應(yīng)用或不應(yīng)用到第二定向幀內(nèi)預(yù)測模式中的參考像素。
[0072]很可能在大尺寸的預(yù)測單元中的像素之間的差異變化將小于小尺寸的預(yù)測單元中的像素之間的差異變化。這樣,隨著預(yù)測單元的尺寸增加,應(yīng)用濾波器的定向模式的數(shù)量可以增加或可以應(yīng)用強濾波器。另一方面,當預(yù)測單元變小到小于特定尺寸時,將不應(yīng)用濾波器。
[0073]舉一個例子,在幀內(nèi)預(yù)測模式3、6或9中,第一濾波器可以被應(yīng)用到尺寸等于或小于第一尺寸的預(yù)測單元的參考像素,并且比第一濾波器強的第二濾波器可以被應(yīng)用到尺寸大于第一尺寸的預(yù)測單元的參考像素。第一尺寸可以根據(jù)定向預(yù)測模式而變化。
[0074]舉另一個例子,在垂直幀內(nèi)預(yù)測模式和幀內(nèi)預(yù)測模式6之間存在的幀內(nèi)預(yù)測模式5中,沒有濾波器可以被應(yīng)用到尺寸等于或小于第二尺寸的預(yù)測單元,第一濾波器可以被應(yīng)用到尺寸大于第二尺寸并且等于或小于第三尺寸的預(yù)測單元的參考像素,并且第二濾波器可以被應(yīng)用到尺寸大于第三尺寸的預(yù)測單元。第二尺寸和第三尺寸可以根據(jù)定向預(yù)測模式而變化。
[0075]第一濾波器可以是3抽頭濾波器[1,2,1]或5抽頭濾波器[1,2,4,2,1]。第二濾波器比第一濾波器具有更大的平滑效果。
[0076]預(yù)測塊產(chǎn)生器143使用被幀內(nèi)預(yù)測模式確定的參考像素來產(chǎn)生預(yù)測塊。
[0077]在定向幀內(nèi)預(yù)測模式中,對應(yīng)的參考像素根據(jù)幀內(nèi)預(yù)測模式而變化。例如,在垂直模式中,使用位于(x = 0,...,和L-1,y = _l)處的L個上參考像素,并且在水平模式中,使用位于(x = -l,y = 0,...,和L-1)處的L個左參考像素。
[0078]在非定向幀內(nèi)預(yù)測模式中,使用角像素、位于(x= 0,…,和L-1,y = _l)處的L個上參考像素和位于(x = -l,y = 0,...,和L-1)處的L個左參考像素。非定向幀內(nèi)預(yù)測模式是DC模式或平面模式。
[0079]在平面模式中,使用角參考像素、左參考像素和上參考像素而產(chǎn)生預(yù)測塊的參考像素。當將要產(chǎn)生的參考像素位于(3,13)處時,使用角參考像素(:(1 = -1,7 = -1)、上參考像素T(x = a,y = _l)和左參考像素L(x = _l,y = b)而產(chǎn)生預(yù)測像素X(a,b)。尤其是,X(a,b)可以是L(x = -1,y = b)+T(x = a,y = -l)-C(x = -l,y = -l)。
[0080]在圖3的垂直模式(模式編號為O)的右側(cè)存在的幀內(nèi)預(yù)測模式中,如果只使用上參考像素來產(chǎn)生預(yù)測塊,則有可能所產(chǎn)生的預(yù)測塊的左下區(qū)域的像素和初始預(yù)測單元的對應(yīng)的像素之間的差異將增加。然而,當使用上參考像素和左參考像素產(chǎn)生預(yù)測塊時,能夠降低差異。在幀內(nèi)預(yù)測模式6中該效果最大。同樣在圖3的水平模式(模式編號為I)的下方存在的幀內(nèi)預(yù)測模式中,將應(yīng)用相同的方法,并且在幀內(nèi)預(yù)測模式9中該效果最大。
[0081]這樣,在幀內(nèi)預(yù)測模式6或9中,可以使用一個上插值參考像素和一個左插值參考像素產(chǎn)生預(yù)測像素??梢酝ㄟ^一個上插值參考像素和一個左插值參考像素的線性插值或使用兩個插值參考像素的被四舍五入的平均值而產(chǎn)生預(yù)測像素。同樣地,在與模式6或9相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測模式中,能夠使用左參考像素和上參考像素產(chǎn)生預(yù)測塊。例如,在幀內(nèi)預(yù)測模式6或?qū)儆谂c模式6相鄰的預(yù)定數(shù)量(例如,4個)的預(yù)測模式的模式中,能夠使用左參考像素和上參考像素來產(chǎn)生預(yù)測塊。在這種情況下,為了降低復(fù)雜性,上述方法可以不被應(yīng)用到模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17)的幀內(nèi)預(yù)測模式中。并且,該方法可以只應(yīng)用到尺寸等于或大于預(yù)定尺寸的當前預(yù)測單元。預(yù)定尺寸是8X8或16X16。
[0082]預(yù)測塊后處理器144對預(yù)測塊產(chǎn)生器143產(chǎn)生的預(yù)測塊進行自適應(yīng)地濾波。為了減少參考像素和與參考像素相鄰的像素之間的差異,預(yù)測塊后處理器144根據(jù)幀內(nèi)預(yù)測模式對與不用于產(chǎn)生預(yù)測塊的參考像素相鄰的一些或所有像素自適應(yīng)地濾波。在預(yù)測塊中存在與參考像素相鄰的像素。
[0083]在平面模式中,使用參考像素產(chǎn)生與參考像素相鄰的像素,因而不應(yīng)用濾波器。
[0084]在DC模式中,使用參考像素的平均值來產(chǎn)生預(yù)測像素。能夠根據(jù)預(yù)測單元的尺寸使用不同類型的濾波器。對于大尺寸的預(yù)測單元,可以使用與在小尺寸的預(yù)測單元中使用的濾波器一樣的濾波器,或者使用具有大的平滑效果的強濾波器。
[0085]同時,在存在于圖3的垂直模式(模式編號O)的右側(cè)的幀內(nèi)預(yù)測模式中,如果只使用上參考像素產(chǎn)生預(yù)測塊,則隨著預(yù)測塊中的像素的位置向預(yù)測塊的左下區(qū)域下移,存在預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異將增大的可能性。尤其是,在幀內(nèi)預(yù)測模式6中,差異明顯地增加。
[0086]同樣地,在存在于圖3的水平模式(模式編號I)下方的幀內(nèi)預(yù)測模式中,如果只使用左參考像素產(chǎn)生預(yù)測塊,則隨著預(yù)測塊中的像素的位置移動到預(yù)測塊的右上區(qū)域,存在預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異增大的可能性。在幀內(nèi)預(yù)測模式9中,差異明顯地增加。
[0087]在垂直模式(模式編號O)中,隨著預(yù)測塊中的像素的位置向下移動,預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異增加。在水平模式(模式編號I)中,隨著預(yù)測塊中的像素的位置向右移動,預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異增加。
[0088]因此,為了減少差異,能夠根據(jù)定向幀內(nèi)預(yù)測模式對預(yù)測塊中的一些預(yù)測像素自適應(yīng)地濾波。在這種情況下,使用沒有被用于產(chǎn)生預(yù)測塊的預(yù)測單元中的參考像素對預(yù)測塊中的一些預(yù)測像素濾波。
[0089]可以根據(jù)定向幀內(nèi)預(yù)測模式不同地設(shè)定將被濾波的區(qū)域。隨著幀內(nèi)預(yù)測模式的方向靠近模式6或模式9時,將被濾波的區(qū)域變大或保持原樣。
[0090]舉一個例子,當幀內(nèi)預(yù)測模式6中的預(yù)測單元的尺寸是2NX2N時,可以只對與垂直模式(模式編號O)的右側(cè)存在的幀內(nèi)預(yù)測模式中的幀內(nèi)預(yù)測模式6相鄰的預(yù)定數(shù)量(I?3)的幀內(nèi)預(yù)測模式應(yīng)用濾波器。在這種情況下,為了降低復(fù)雜性,可以不對模式數(shù)量大于預(yù)定模式數(shù)量(例如,9到17個)的幀內(nèi)預(yù)測模式應(yīng)用濾波器。并且,根據(jù)預(yù)測單元的尺寸,將被濾波的預(yù)測塊的數(shù)量可能會自適應(yīng)地改變。隨著預(yù)測單元的尺寸增加,將被濾波的預(yù)測像素的數(shù)量可以增加或保持原樣。
[0091]舉另一個例子,在幀內(nèi)預(yù)測模式6中,如果預(yù)測單元的尺寸是4X4,可以不對預(yù)測塊濾波。如果預(yù)測單元的尺寸是8 X 8或16 X 16,貝Ij可以只對位于(x = 0,y = 0,...,和7)處的預(yù)測塊的8個像素中的預(yù)測塊的四個左下邊界像素濾波。如果預(yù)測單元的尺寸是32X32或更大,可以對全部8個邊界像素均濾波。
[0092]被應(yīng)用到預(yù)測塊中的像素的濾波器的強度也可以根據(jù)預(yù)測單元的尺寸而變化。隨著預(yù)測單元的尺寸增加,濾波強度可以增加或保持原樣。
[0093]預(yù)測模式確定器145使用參考像素確定當前預(yù)測單元的幀內(nèi)預(yù)測模式。預(yù)測模式確定器145可以將具有殘差塊的最小編碼比特的幀內(nèi)預(yù)測模式確定為當前預(yù)測單元的幀內(nèi)預(yù)測模式。此處,使用對應(yīng)于每個幀內(nèi)預(yù)測模式的預(yù)測塊或后處理預(yù)測塊來產(chǎn)生殘差塊。
[0094]預(yù)測模式編碼器146使用與當前預(yù)測單元相鄰的預(yù)測單元的幀內(nèi)預(yù)測模式來對當前預(yù)測單元的幀內(nèi)預(yù)測模式編碼。
[0095]圖4是示出根據(jù)本發(fā)明的在預(yù)測模式編碼器146中執(zhí)行的對當前預(yù)測單元的幀內(nèi)預(yù)測模式進行編碼的過程的流程圖。
[0096]首先,搜索當前預(yù)測單元的幀內(nèi)預(yù)測模式候選(SllO)。當前預(yù)測單元的上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式可以是幀內(nèi)預(yù)測模式候選。也可以增加角幀內(nèi)預(yù)測模式,或可以根據(jù)上幀內(nèi)預(yù)測模式和左幀內(nèi)預(yù)測模式增加任何其他模式。
[0097]在當前預(yù)測單元有多個上預(yù)測單元時,在預(yù)定方向上(例如,從右到左)掃描多個上預(yù)測單元,以將第一可用預(yù)測單元的幀內(nèi)預(yù)測模式確定為上幀內(nèi)預(yù)測模式。此外,在當前預(yù)測單元有多個左預(yù)測單元時,在預(yù)定方向上(例如,從下到上)掃描多個左預(yù)測單元,以將第一可用預(yù)測單元的幀內(nèi)預(yù)測模式確定為左幀內(nèi)預(yù)測模式。二選一地,在多個可用的預(yù)測單元中,具有最小幀內(nèi)預(yù)測模式數(shù)量的可用預(yù)測單元的幀內(nèi)預(yù)測模式可以被設(shè)定為上幀內(nèi)預(yù)測模式。
[0098]角幀內(nèi)預(yù)測模式可以被設(shè)定為與當前預(yù)測單元的右上側(cè)或左上側(cè)相鄰的預(yù)測單元的預(yù)測模式。二選一地,角幀內(nèi)預(yù)測模式可以被設(shè)定為第一可用幀內(nèi)預(yù)測模式,該第一可用幀內(nèi)預(yù)測模式通過以預(yù)定順序掃描與當前預(yù)測單元的左上側(cè)、右上側(cè)和右下側(cè)相鄰的幀內(nèi)預(yù)測模式而獲得。預(yù)定順序是左上側(cè)、右下側(cè)和右上側(cè)。二選一地,可以增加兩個(右上側(cè)和左上側(cè))或三個(右上側(cè)、左上側(cè)和左下側(cè))角幀內(nèi)預(yù)測模式,作為當前預(yù)測單元的幀內(nèi)預(yù)測模式候選。
[0099]下一步,確定是否改變可用幀內(nèi)預(yù)測模式候選的幀內(nèi)預(yù)測模式(S120)。
[0100]當確定改變幀內(nèi)預(yù)測模式時,改變可用幀內(nèi)預(yù)測模式候選(SI30)。
[0101]詳細地,當可用幀內(nèi)預(yù)測模式候選的模式數(shù)量等于或大于當前預(yù)測單元允許的幀內(nèi)預(yù)測模式的數(shù)量時,可用幀內(nèi)預(yù)測模式候選被轉(zhuǎn)換成一個允許模式。允許模式的數(shù)量可以根據(jù)當前預(yù)測單元的尺寸而變化。例如,在當前預(yù)測單元的尺寸是4X4時,可用幀內(nèi)預(yù)測模式候選的幀內(nèi)預(yù)測模式被轉(zhuǎn)換成9個模式(模式O?9)或18個模式中的一種,并且在當前預(yù)測單元的尺寸是64X64時,可用幀內(nèi)預(yù)測模式候選的幀內(nèi)預(yù)測模式被轉(zhuǎn)換成四個模式(模式O到模式3)中的一種。
[0102]下一步,建立當前預(yù)測單元的幀內(nèi)預(yù)測候選列表(S140)。可以按模式編號的順序列出候選。二選一地,可以按頻率的順序列出候選,并且可以按模式編號的順序列出具有相同頻率的幀內(nèi)預(yù)測候選。當幀內(nèi)預(yù)測模式候選具有相同的模式編號時,幀內(nèi)預(yù)測候選者除了一個之外都被從列表上移除。
[0103]下一步,確定當前預(yù)測單元的幀內(nèi)預(yù)測模式是否與建立的列表中的幀內(nèi)預(yù)測模式候選的任何一個相同(S150)。
[0104]在當前預(yù)測單元的幀內(nèi)預(yù)測模式與幀內(nèi)預(yù)測模式候選之一相同時,將表示幀內(nèi)預(yù)測模式與幀內(nèi)預(yù)測模式候選之一相同并且將候選索引的信息確定為幀內(nèi)預(yù)測信息(S160)。
[0105]在當前預(yù)測單元的幀內(nèi)預(yù)測模式與任何一個幀內(nèi)預(yù)測模式候選都不同時,計算用于改變當前預(yù)測單元的幀內(nèi)預(yù)測模式的模式改變值(S170)。模式改變值是幀內(nèi)預(yù)測模式數(shù)量不大于當前預(yù)測單元的幀內(nèi)預(yù)測模式的數(shù)量的幀內(nèi)預(yù)測模式候選的數(shù)量。
[0106]下一步,使用模式改變值來改變當前預(yù)測單元的幀內(nèi)預(yù)測模式(S180)。將改變的幀內(nèi)預(yù)測模式確定為當前預(yù)測單元的幀內(nèi)預(yù)測模式。當前預(yù)測單元的改變的幀內(nèi)預(yù)測模式被傳送到熵編碼器140。
[0107]圖5是根據(jù)本發(fā)明的幀內(nèi)預(yù)測解碼裝置200的框圖。
[0108]根據(jù)本發(fā)明的幀內(nèi)預(yù)測解碼裝置200包括熵解碼器210、殘差信號解碼器220、預(yù)測模式解碼器230、參考像素產(chǎn)生器240、預(yù)測塊產(chǎn)生器250、預(yù)測塊濾波器260和圖像重建器270。
[0109]熵解碼器210從接收的比特流中提取量化的殘差系數(shù),并且以變換單元為單位把量化殘差系數(shù)和變換單元的尺寸傳送到殘差信號解碼器220。并且,熵解碼器210把幀內(nèi)預(yù)測信息和將被解碼的預(yù)測單元的尺寸傳送到預(yù)測模式解碼器230。
[0110]殘差信號解碼器220把量化的殘差系數(shù)轉(zhuǎn)換成二維(2D)陣列的逆量化塊。為了這個轉(zhuǎn)換,選擇多個掃描方式之一。在預(yù)測模式和幀內(nèi)預(yù)測模式至少之一的基礎(chǔ)上確定變換塊的掃描方式。逆掃描操作與圖1的掃描器131的操作的逆過程相同。例如,當將被解碼的當前變換單元的尺寸大于第一參考尺寸時,根據(jù)掃描方式對量化殘差系數(shù)逆掃描以形成多個子集,并且使用多個子集產(chǎn)生具有變換單元的尺寸的逆量化塊。另一方面,當將被解碼的當前變換單元的尺寸不大于第一參考尺寸時,根據(jù)掃描方式對量化殘差系數(shù)逆掃描,以產(chǎn)生尺寸與變換單元的尺寸相同的逆量化塊。
[0111]預(yù)測模式解碼器230在關(guān)于從熵解碼器210接收的當前預(yù)測單元的幀內(nèi)預(yù)測信息和尺寸信息的基礎(chǔ)上重建當前預(yù)測模式的幀內(nèi)預(yù)測模式。通過圖4所示的過程的逆過程而復(fù)原所接收的幀內(nèi)預(yù)測信息。
[0112]參考像素產(chǎn)生器240產(chǎn)生當前預(yù)測單元的不可用參考像素,并且根據(jù)從預(yù)測模式解碼器230接收的當前預(yù)測單元的幀內(nèi)預(yù)測模式對參考像素自適應(yīng)地濾波。產(chǎn)生參考像素的方法和對參考像素濾波的方法與圖2的幀內(nèi)預(yù)測器140中參考像素產(chǎn)生器142的方法相同。
[0113]尤其是,確定當前預(yù)測單元的參考像素是否可用。用于幀內(nèi)預(yù)測的當前預(yù)測單元的參考像素由位于(x = -l,y = _l)處的角參考像素、位于(χ = 0,.._,和2L-1,y = -l)處的2L個上參考像素和位于(x = 0,y = 0,...,和2M-1)處的2M個左參考像素組成。此處,L是當前預(yù)測單元的寬度,并且M是當前預(yù)測單元的高度。
[0114]當用于產(chǎn)生預(yù)測塊的參考像素不可用或不夠時,產(chǎn)生參考像素。
[0115]當所有的參考像素均不可用時,產(chǎn)生具有預(yù)定值的參考像素。
[0116]當一些參考像素不可用時,確定不可用參考像素是否只存在于從可用像素起的一個方向上或可用像素之間。
[0117]當不可用參考像素只存在于從可用像素起的一個方向上時,通過復(fù)制最靠近不可用像素的可用像素的值來產(chǎn)生參考像素。例如,在當前預(yù)測單元位于圖片或切片的上邊界處時,角參考像素和上參考像素不可用。這樣,在這種情況下,能夠通過復(fù)制位于(x = -l,y=0)處的參考像素而產(chǎn)生角參考像素和上參考像素。二選一地,可以使用最接近位置的可用參考像素和一個或多個可用參考像素來產(chǎn)生參考像素。例如,當具有(x = -l,y = -l)的位置的角參考像素和位于(X = O,…,和L-1,y = _l)處的參考像素可用時,并且位于(X = L,…,2L-l,y = _l)處的參考像素不可用時,能夠使用位于(x = L-l,y = _l)處的參考像素和角參考像素值或另一個參考像素值之間差異的改變而在不可用位置處產(chǎn)生參考像素。
[0118]當在可用像素之間存在不可用參考像素時,使用與不可用參考像素相鄰的兩個可用像素P和q來產(chǎn)生參考像素。例如,當角參考像素和位于(χ = 0,…,和L-1,y = _l)處的L個上參考像素不可用,能夠使用參考像素P和q來產(chǎn)生在位于(x = -l,y = 0)處的參考像素P和位于(x = L, y = _l)處的參考像素q之間存在的參考像素。
[0119]可以通過四舍五入?yún)⒖枷袼豍和參考像素q的平均值而獲得產(chǎn)生的參考像素值。并且,可以使用參考像素P和參考像素q的像素值之間的差異的變化而產(chǎn)生參考像素值。在這種情況下,可以通過根據(jù)對應(yīng)于所產(chǎn)生的像素值的位置線性插值或使用兩個參考像素的加權(quán)平均值而產(chǎn)生參考像素值。
[0120]同時,當多個預(yù)測單元在當前預(yù)測單元的上側(cè)時,很有可能在兩個上預(yù)測單元之間的邊界的兩側(cè)上存在的邊界像素之間的差異將大于在每個上預(yù)測單元中的相鄰像素之間的差異。這是量化系數(shù)引起的誤差所導(dǎo)致的。很有可能在其中使用兩個相鄰參考像素產(chǎn)生預(yù)測塊的預(yù)測像素的定向幀內(nèi)預(yù)測模式中將發(fā)生這種誤差。
[0121]特別地,最嚴重地影響圖3的與水平或垂直方向成45°方向的模式(模式編號3、6和9)。在垂直和水平模式(模式編號O和I)中,一個像素被用于產(chǎn)生預(yù)測塊的預(yù)測像素,因此垂直和水平模式受到輕微地影響。
[0122]為此原因,將濾波器(平滑濾波器)應(yīng)用到定向幀內(nèi)預(yù)測模式3、6和9中的參考像素,并且不應(yīng)用到垂直和水平幀內(nèi)預(yù)測模式中的參考像素。在DC模式中,也不應(yīng)用濾波器。對于這些模式,無論當前預(yù)測單元的尺寸為多大,均可以確定是否應(yīng)用濾波器。
[0123]在存在于幀內(nèi)預(yù)測模式3、6或9和水平或垂直幀內(nèi)預(yù)測模式之間的定向幀內(nèi)預(yù)測模式中,能夠把濾波器自適應(yīng)地應(yīng)用到參考像素。隨著定向幀內(nèi)預(yù)測模式的方向相對地靠近呈45°方向的幀內(nèi)預(yù)測模式的方向,優(yōu)選增加應(yīng)用濾波器的可能性。尤其是,當?shù)谝欢ㄏ驇瑑?nèi)預(yù)測模式比第二定向幀內(nèi)預(yù)測模式在方向上更靠近呈45°方向的幀內(nèi)預(yù)測模式時,如果濾波器被應(yīng)用到在第二定向幀內(nèi)預(yù)測模式中的參考像素,則濾波器也被應(yīng)用到第一定向幀內(nèi)預(yù)測模式中的參考像素。另一方面,如果濾波器被應(yīng)用到第一定向幀內(nèi)預(yù)測模式中的參考像素,則該濾波器可以應(yīng)用或不應(yīng)用到第二定向幀內(nèi)預(yù)測模式中的參考像素。
[0124]很可能在大尺寸的預(yù)測單元中的像素之間的差異變化將小于小尺寸的預(yù)測單元中的像素之間的差異變化。這樣,隨著預(yù)測單元的尺寸增加,應(yīng)用濾波器的定向模式的數(shù)量可以增加或可以應(yīng)用強濾波器。另一方面,當預(yù)測單元變小到小于特定尺寸時,將不應(yīng)用濾波器。
[0125]舉一個例子,在具有45°方向的幀內(nèi)預(yù)測模式3、6或9中,第一濾波器可以被應(yīng)用到尺寸等于或小于第一尺寸的預(yù)測單元的參考像素,并且比第一濾波器更強的第二濾波器可以被應(yīng)用到尺寸大于第一尺寸的預(yù)測單元的參考像素。第一尺寸可以根據(jù)定向預(yù)測模式而變化。
[0126]舉另一個例子,在垂直幀內(nèi)預(yù)測模式和具有45°方向的幀內(nèi)預(yù)測模式6之間存在的幀內(nèi)預(yù)測模式5中,沒有濾波器被應(yīng)用到等于或小于第二尺寸的預(yù)測單元的參考像素,第一濾波器可以被應(yīng)用到大于第二尺寸并等于或小于第三尺寸的預(yù)測單元的的參考像素,并且第二濾波器可以被應(yīng)用到大于第三尺寸的預(yù)測單元的參考像素。第二尺寸和第三尺寸可以根據(jù)定向預(yù)測模式而變化。
[0127]第一濾波器可以是3抽頭濾波器[I,2,I ]或5抽頭濾波器[I,2,4,2,I ]。第二濾波器比第一濾波器具有更大的平滑效果。
[0128]預(yù)測塊產(chǎn)生器250根據(jù)從預(yù)測模式解碼器230接收的當前預(yù)測單元的幀內(nèi)預(yù)測模式而產(chǎn)生預(yù)測塊。產(chǎn)生預(yù)測塊的方法與圖2的幀內(nèi)預(yù)測器140中預(yù)測塊產(chǎn)生器142的方法相同。
[0129]即是,在定向幀內(nèi)預(yù)測模式中,對應(yīng)的參考像素根據(jù)幀內(nèi)預(yù)測模式變化。例如,在垂直模式中,使用位于(X = O,…,和L-1,y = -1)處的L個上參考像素,并且在水平模式中,使用位于(x = -l, y = 0,...,和L-1)處的L個左參考像素。
[0130]在非定向幀內(nèi)預(yù)測模式中,使用角像素、位于(x= 0,…,和L-1,y = _l)處的L個上參考像素和位于(x = -l,y = 0,...,和L-1)處的L個左參考像素。非定向幀內(nèi)預(yù)測模式是DC模式和平面模式。
[0131]在平面模式中,使用角參考像素、左參考像素和上參考像素產(chǎn)生預(yù)測塊的參考像素。當將要產(chǎn)生的參考像素位于(3,13)處時,使用角參考像素(:(1 = -1,7 = -1)、上參考像素丁(x = a,y = _l)和左參考像素L(x = _l,y = b)產(chǎn)生預(yù)測塊X(a,b)的參考像素。尤其是,X(a,b)可以是L(x = _l,y = b)+T(x = a,y = -l)-C(x = _l,y = -1)。
[0132]在圖3的垂直模式(模式編號為O)的右側(cè)存在的幀內(nèi)預(yù)測模式中,如果只使用上參考像素來產(chǎn)生預(yù)測塊,則有可能所產(chǎn)生的預(yù)測塊的左下區(qū)域的像素和初始預(yù)測單元的對應(yīng)像素之間的差異將增加。然而,對于多個模式中的數(shù)個模式,當使用上參考像素和左參考像素產(chǎn)生預(yù)測塊時,能夠降低差異。在幀內(nèi)預(yù)測模式6中該效果最大。同樣在圖3的水平模式(模式編號為I)的下方存在的幀內(nèi)預(yù)測模式中,將應(yīng)用相同的方法,并且在幀內(nèi)預(yù)測模式9中該效果最大。
[0133]這樣,在幀內(nèi)預(yù)測模式6或9中,可以使用一個上插值參考像素和一個左插值參考像素產(chǎn)生預(yù)測像素??梢酝ㄟ^一個上插值參考像素和一個左插值參考像素的線性插值或使用四舍五入的平均值而產(chǎn)生預(yù)測像素。同樣地,在與模式6或9相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測模式中,能夠使用左參考像素和上參考像素產(chǎn)生預(yù)測塊。在這種情況下,為了降低復(fù)雜性,上述方法可以不被應(yīng)用到模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17)的幀內(nèi)預(yù)測模式中。并且,該方法可以只應(yīng)用到尺寸等于或大于預(yù)定尺寸的當前預(yù)測單元。預(yù)定尺寸是8X8或16X16。
[0134]預(yù)測塊濾波器260根據(jù)從預(yù)測模式解碼器230接收的當前預(yù)測單元的幀內(nèi)預(yù)測模式對預(yù)測塊產(chǎn)生器250產(chǎn)生的預(yù)測塊自適應(yīng)地濾波。預(yù)測塊濾波器260可以被集成到預(yù)測塊產(chǎn)生器250中。預(yù)測塊濾波方法與圖2的幀內(nèi)預(yù)測器140的預(yù)測塊后處理器144的方法相同。
[0135]即是,為了減少參考像素和與參考像素相鄰的預(yù)測塊中的像素之間的像素值的差異,預(yù)測塊濾波器260根據(jù)幀內(nèi)預(yù)測模式對與參考像素相鄰的預(yù)測塊中的一些或所有像素自適應(yīng)地濾波。在預(yù)測塊中存在與參考像素相鄰的像素。
[0136]在平面模式中,使用參考像素產(chǎn)生與參考像素相鄰的預(yù)測塊中的像素,因而不應(yīng)用濾波器。
[0137]在DC模式中,使用參考像素的平均值以產(chǎn)生預(yù)測像素,因而應(yīng)用濾波器。能夠根據(jù)預(yù)測單元(預(yù)測塊的尺寸)的尺寸使用不同類型的濾波器。在大尺寸的預(yù)測單元中,可以使用與在小尺寸的預(yù)測單元中使用的濾波器一樣的濾波器,或使用具有大的平滑效果的強濾波器。
[0138]同時,在存在于圖3的垂直模式(模式編號O)的右側(cè)的幀內(nèi)預(yù)測模式中,如果只使用上參考像素產(chǎn)生預(yù)測塊,則隨著預(yù)測塊中的像素向預(yù)測塊的左下區(qū)域下移,存在在預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異將增大的可能性。尤其是,在幀內(nèi)預(yù)測模式6中,差異明顯地增加。
[0139]同樣地,在存在于圖3的水平模式(模式編號I)之下的幀內(nèi)預(yù)測模式中,如果只使用左參考像素產(chǎn)生預(yù)測塊,則隨著預(yù)測塊的像素的位置移動到預(yù)測塊的右上區(qū)域,存在可能在預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異增大的可能性。在幀內(nèi)預(yù)測模式9中,差異明顯地增加。
[0140]在垂直模式(模式編號O)中,隨著預(yù)測塊中的像素的位置向下移動,預(yù)測塊中的像素和初始單元的對應(yīng)像素之間的差異增加。在水平模式(模式編號I)中,隨著預(yù)測塊中的像素的位置向右運動,預(yù)測塊中的像素和初始預(yù)測單元的對應(yīng)像素之間的差異增加。
[0141]因此,為了減少差異,能夠根據(jù)定向幀內(nèi)預(yù)測模式對預(yù)測塊中的一些像素自適應(yīng)地濾波。在這種情況下,使用沒有被用于產(chǎn)生預(yù)測塊的預(yù)測單元中的參考像素對預(yù)測塊中的一些預(yù)測像素濾波。
[0142]可以根據(jù)定向幀內(nèi)預(yù)測模式不同地設(shè)定將被濾波的區(qū)域。隨著幀內(nèi)預(yù)測模式的方向靠近模式6或模式9,將被濾波的區(qū)域變大或保持原樣。
[0143]舉一個例子,當預(yù)測模式6中的預(yù)測單元的尺寸是2NX2N時,可以只將濾波器應(yīng)用到與垂直模式(模式編號O)的右側(cè)存在的幀內(nèi)預(yù)測模式中的幀內(nèi)預(yù)測模式6相鄰的預(yù)定數(shù)量(I?3)的幀內(nèi)預(yù)測模式。在這種情況下,為了降低復(fù)雜性,可以不對模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17個)的幀內(nèi)預(yù)測模式應(yīng)用濾波器。并且,將被濾波的預(yù)測像素的數(shù)量可以根據(jù)預(yù)測單元的尺寸改變。隨著預(yù)測單元的尺寸增加,預(yù)測像素的數(shù)量增加或保持原樣。
[0144]舉另一個例子,在幀內(nèi)預(yù)測模式6中,如果預(yù)測單元的尺寸是4X4,可以不對預(yù)測塊濾波。如果預(yù)測單元的尺寸是8 X 8或16 X 16,貝Ij可以只對位于(x = 0,y = 0,...,和7)處的預(yù)測塊的8個像素中的預(yù)測塊的四個左下邊界像素濾波。如果預(yù)測單元的尺寸是32X32或更大,可以對全部8個邊界像素均濾波。
[0145]被應(yīng)用到預(yù)測塊中的像素的濾波器的強度也可以根據(jù)預(yù)測單元的尺寸而變化。隨著預(yù)測單元的尺寸增加,濾波器強度可以增加或保持原樣。
[0146]圖像重建器270根據(jù)幀內(nèi)預(yù)測模式,以預(yù)測單元為單位從預(yù)測塊產(chǎn)生器250或預(yù)測塊濾波器260接收預(yù)測塊。圖像重建器270以變換單元為單位接收通過殘差信號解碼器220重建的殘差信號。圖像重建器270通過增加復(fù)原的預(yù)測塊和殘差信號而產(chǎn)生重建圖像。圖像可以以編碼單元為單位重建。
[0147]盡管參照某些示例性實施例示出并描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員將理解,在不偏離如同附加權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對其做出形式和細節(jié)上的各種變化。
【主權(quán)項】
1.一種用于對圖像進行解碼的裝置,所述裝置包括: 熵解碼器,所述熵解碼器被配置為復(fù)原量化殘差系數(shù)和幀內(nèi)預(yù)測信息; 預(yù)測模式解碼器,所述預(yù)測模式解碼器被配置為在所述幀內(nèi)預(yù)測信息的基礎(chǔ)上復(fù)原幀內(nèi)預(yù)測模式; 殘差信號解碼器,所述殘差信號解碼器被配置為通過逆向掃描所述量化殘差系數(shù)復(fù)原殘差塊; 參考像素產(chǎn)生器,所述參考像素產(chǎn)生器被配置為產(chǎn)生對應(yīng)于不可用參考像素的參考像素,并且被配置為根據(jù)所述幀內(nèi)預(yù)測模式對所述參考像素自適應(yīng)地濾波; 預(yù)測塊產(chǎn)生器,所述預(yù)測塊產(chǎn)生器被配置為使用由所述幀內(nèi)預(yù)測模式確定的參考像素產(chǎn)生預(yù)測塊;以及 圖像構(gòu)建器,所述圖像構(gòu)建器被配置為使用所述預(yù)測塊和所述殘差塊產(chǎn)生重建的圖像, 其中,對于在水平模式與相對于所述水平模式成45°方向的幀內(nèi)預(yù)測模式之間存在的幀內(nèi)預(yù)測模式,所述參考像素產(chǎn)生器根據(jù)所述預(yù)測塊的尺寸對所述參考像素自適應(yīng)地濾波, 其中,當所述參考像素被濾波以用于第二定向幀內(nèi)預(yù)測模式時,所述參考像素也被濾波以用于第一定向幀內(nèi)預(yù)測模式,所述第一定向幀內(nèi)預(yù)測模式比所述第二定向幀內(nèi)預(yù)測模式更靠近相對于所述水平模式成45°方向的幀內(nèi)預(yù)測模式, 其中,所述第二定向幀內(nèi)預(yù)測模式和所述第一定向幀內(nèi)預(yù)測模式存在于所述水平模式與相對于所述水平模式成45°方向的幀內(nèi)預(yù)測模式之間, 其中,應(yīng)用所述濾波器的幀內(nèi)預(yù)測模式的數(shù)量隨所述預(yù)測塊的尺寸增加而增加, 其中,所述濾波器不應(yīng)用到所述水平模式和垂直模式, 其中,當確定變換單元的尺寸是8X8時,所述殘差信號解碼器以子塊為單位逆向掃描所述量化殘差系數(shù), 其中,所述多個子塊和每個子塊的系數(shù)根據(jù)掃描方式被逆向掃描,其中用于逆向掃描所述多個子塊和用于逆向掃描每個子塊的所述系數(shù)的掃描方式由所述預(yù)測塊的幀內(nèi)預(yù)測模式確定, 其中,當所述幀內(nèi)預(yù)測模式是水平模式時,所述掃描方式是垂直掃描方式。2.根據(jù)權(quán)利要求1所述的裝置,其中,所述參考像素產(chǎn)生器不對小于預(yù)定尺寸的預(yù)測塊的參考像素濾波。
【文檔編號】H04N19/46GK106067978SQ201610630184
【公開日】2016年11月2日
【申請日】2011年7月29日
【發(fā)明人】吳秀美, 梁文玉
【申請人】M&K控股株式會社