用于對(duì)圖像進(jìn)行編碼的裝置本申請(qǐng)是2011年7月29日向國(guó)家知識(shí)產(chǎn)權(quán)局提交的申請(qǐng)?zhí)枮?01180042188.0、發(fā)明名稱為“幀內(nèi)預(yù)測(cè)解碼設(shè)備”的專利申請(qǐng)的分案申請(qǐng)。技術(shù)領(lǐng)域本發(fā)明涉及一種用于對(duì)運(yùn)動(dòng)圖片進(jìn)行解碼的裝置,更具體地,涉及一種對(duì)幀內(nèi)預(yù)測(cè)模式進(jìn)行解碼、根據(jù)幀內(nèi)預(yù)測(cè)模式自適應(yīng)地產(chǎn)生預(yù)測(cè)塊和殘差塊并由此產(chǎn)生重建塊的裝置。
背景技術(shù):在如運(yùn)動(dòng)圖像專家組(MPEG)-1、MPEG-2、MPEG-4和H.264/MPEG-4高級(jí)視頻編碼(AVC)的圖像壓縮方法中,一張圖片被分割成多個(gè)宏塊以對(duì)圖像進(jìn)行編碼。然后,使用幀間預(yù)測(cè)或幀內(nèi)預(yù)測(cè)對(duì)各個(gè)宏塊進(jìn)行編碼。在幀內(nèi)預(yù)測(cè)中,不使用參考圖片,而是使用與當(dāng)前塊在空間上相鄰的像素的值來(lái)對(duì)當(dāng)前圖片的塊進(jìn)行編碼。通過(guò)使用相鄰的像素值產(chǎn)生的預(yù)測(cè)塊與原始宏塊比較,來(lái)選擇具有較小失真的幀內(nèi)預(yù)測(cè)模式。然后,使用選擇的幀內(nèi)預(yù)測(cè)模塊和相鄰的像素值,計(jì)算出當(dāng)前塊的預(yù)測(cè)值。并且,計(jì)算出預(yù)測(cè)值和初始當(dāng)前塊的像素值之間的差異,然后通過(guò)變換編碼、量化和熵編碼來(lái)編碼。幀內(nèi)預(yù)測(cè)模式也被編碼。幀內(nèi)預(yù)測(cè)通常分類成用于亮度分量和色度分量的4×4幀內(nèi)預(yù)測(cè)、8×8幀內(nèi)預(yù)測(cè)和16×16幀內(nèi)預(yù)測(cè)。在根據(jù)現(xiàn)有技術(shù)的16×16幀內(nèi)預(yù)測(cè)中,有垂直模式、水平模式、直流(DC)模式和平面模式四種模式。在根據(jù)現(xiàn)有技術(shù)的4×4幀內(nèi)預(yù)測(cè)中,有垂直模式、水平模式、DC模式、對(duì)角線左下模式、對(duì)角線右下模式、垂直向右模式、垂直向左模式、水平向上模式和水平向下模式九種模式。根據(jù)各個(gè)模式的使用頻率把每個(gè)預(yù)測(cè)模式編入索引。垂直模式是模式0示出最可能是最頻繁用于對(duì)目標(biāo)塊執(zhí)行幀內(nèi)預(yù)測(cè)的模式,并且水平向上模式是模式8示出最可能是最不頻繁使用的。根據(jù)H.264標(biāo)準(zhǔn),使用總計(jì)13種模式來(lái)對(duì)當(dāng)前塊進(jìn)行編碼,即是,4×4幀內(nèi)預(yù)測(cè)的4種模式和16×16幀內(nèi)預(yù)測(cè)的9種模式。根據(jù)這些模式中的最佳模式產(chǎn)生當(dāng)前塊的比特流。然而,在與當(dāng)前塊相鄰的像素的一些或所有值都不存在或之前沒(méi)被編碼時(shí),不可能對(duì)當(dāng)前塊應(yīng)用這些或所有的幀內(nèi)預(yù)測(cè)模式。并且,當(dāng)相鄰參考像素之間的差異很大時(shí),預(yù)測(cè)塊和原始?jí)K之間的差異變大。因此,需要新技術(shù)來(lái)降低初始?jí)K和基于用于產(chǎn)生預(yù)測(cè)塊的參考像素的位置產(chǎn)生的預(yù)測(cè)塊之間的差異。
技術(shù)實(shí)現(xiàn)要素:技術(shù)問(wèn)題本發(fā)明涉及一種用于通過(guò)產(chǎn)生或重建鄰近初始圖像的預(yù)測(cè)塊而有效地重建具有高壓縮效率的編碼圖像的幀內(nèi)預(yù)測(cè)解碼裝置。技術(shù)方案本發(fā)明的一個(gè)方面提供了一種用于對(duì)運(yùn)動(dòng)圖片進(jìn)行解碼的裝置,包括:熵解碼器,被配置為復(fù)原量化殘差系數(shù)和幀內(nèi)預(yù)測(cè)信息;預(yù)測(cè)模式解碼器,被配置為在幀內(nèi)預(yù)測(cè)信息的基礎(chǔ)上復(fù)原幀內(nèi)預(yù)測(cè)模式;殘差信號(hào)解碼器,被配置為使用幀內(nèi)預(yù)測(cè)模式對(duì)量化殘差信號(hào)進(jìn)行解碼;參考像素產(chǎn)生器,被配置為當(dāng)存在一個(gè)或多個(gè)不可用參考像素時(shí)產(chǎn)生參考像素,并且被配置為使用幀內(nèi)預(yù)測(cè)模式對(duì)參考像素自適應(yīng)地濾波;預(yù)測(cè)塊產(chǎn)生器,被配置為使用由幀內(nèi)預(yù)測(cè)模式確定的參考像素產(chǎn)生預(yù)測(cè)像素;預(yù)測(cè)塊濾波器,被配置為使用幀內(nèi)預(yù)測(cè)模式對(duì)預(yù)測(cè)像素的某些預(yù)測(cè)像素自適應(yīng)地濾波;以及圖像重建器,被配置為使用預(yù)測(cè)像素和殘差信號(hào)產(chǎn)生重建的圖像。有益效果根據(jù)本發(fā)明的用于對(duì)運(yùn)動(dòng)圖片進(jìn)行解碼的裝置產(chǎn)生參考像素并且對(duì)參考像素自適應(yīng)地濾波,以產(chǎn)生將預(yù)測(cè)塊與初始?jí)K之間的差最小化的預(yù)測(cè)塊。并且,通過(guò)使用不用于產(chǎn)生預(yù)測(cè)塊的參考像素產(chǎn)生或修改預(yù)測(cè)塊,能夠重建與初始?jí)K相似的預(yù)測(cè)塊,并且能夠提高圖像的壓縮。附圖說(shuō)明圖1是根據(jù)本發(fā)明的運(yùn)動(dòng)圖片編碼裝置的框圖;圖2是根據(jù)本發(fā)明的幀內(nèi)預(yù)測(cè)器的框圖;圖3是顯示根據(jù)本發(fā)明的定向幀內(nèi)預(yù)測(cè)模式的示意圖;圖4是示出根據(jù)本發(fā)明的在預(yù)測(cè)模式編碼器中執(zhí)行的對(duì)預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式進(jìn)行編碼的過(guò)程的流程圖;圖5是根據(jù)本發(fā)明的幀內(nèi)預(yù)測(cè)解碼裝置的框圖。具體實(shí)施方式下文中,將參照附圖詳細(xì)描述本發(fā)明的各個(gè)實(shí)施例。然而,本發(fā)明不限于以下公開(kāi)的示例性實(shí)施例,而是能夠以各種方式實(shí)施。因此,可以對(duì)本發(fā)明進(jìn)行許多其他修改和變型,并且將理解的是在所公開(kāi)的原理的范圍內(nèi),可以用除了如同已被明確描述的方式之外的方式實(shí)現(xiàn)本發(fā)明。對(duì)于圖像編碼,每張圖片由一個(gè)或多個(gè)切片組成,并且每個(gè)切片由多個(gè)編碼單元組成。由于高清晰度(HD)級(jí)別或更高級(jí)別的圖像具有許多平滑區(qū)域,所以可以通過(guò)用各種尺寸的編碼單元對(duì)圖像進(jìn)行編碼,以提高圖像的壓縮。根據(jù)本發(fā)明的編碼單元具有四叉樹(shù)結(jié)構(gòu)并且能夠用深度信息被分級(jí)地分割。最大尺寸的編碼單元被稱作最大編碼單元(LCU),并且最小尺寸的編碼單元被稱作最小編碼單元(SCU)。序列參數(shù)集(SPS)中可以包括關(guān)于LCU和SCU的信息并且可以傳送這些信息。LCU是由一個(gè)或多個(gè)編碼單元組成。LCU具有遞歸編碼樹(shù)的形式,以包括LCU的分割結(jié)構(gòu)和對(duì)應(yīng)的編碼單元。當(dāng)LCU沒(méi)有被分割成四個(gè)編碼單元時(shí),編碼樹(shù)可以由表示LCU沒(méi)有被分割的信息和一個(gè)編碼單元組成。當(dāng)LCU被分割成四個(gè)編碼單元時(shí),編碼樹(shù)可以由表示LCU被分割的信息和四個(gè)子編碼樹(shù)組成。同樣地,每個(gè)子編碼樹(shù)具有與LCU的編碼樹(shù)相同的結(jié)構(gòu)。然而,SCU尺寸的編碼單元沒(méi)有被分割成多個(gè)編碼單元。同時(shí),編碼樹(shù)中的每個(gè)編碼單元以編碼單元自身或子分割物為單位受到幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)。其中執(zhí)行了幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)的單元被稱作預(yù)測(cè)單元。在幀內(nèi)預(yù)測(cè)中,預(yù)測(cè)單元的尺寸可以是2N×2N或N×N。在幀間預(yù)測(cè)中,預(yù)測(cè)單元的尺寸可以是2N×2N、2N×N、N×2N或N×N。此處,2N表示編碼單元的水平和垂直長(zhǎng)度。同時(shí),用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)單元可以不是正方形。例如,正方形編碼單元可以被分割成用于幀內(nèi)預(yù)測(cè)的四個(gè)hN×2N預(yù)測(cè)單元或四個(gè)2N×hN預(yù)測(cè)單元。在這種情況下,參考像素和用于幀內(nèi)預(yù)測(cè)的預(yù)測(cè)塊的像素之間的距離減小,這使得能夠提高預(yù)測(cè)效率。這種幀內(nèi)預(yù)測(cè)方法是短距幀內(nèi)預(yù)測(cè)(SDIP)。編碼單元包括在編碼單元內(nèi)部的每個(gè)預(yù)測(cè)單元的預(yù)測(cè)模式信息和尺寸信息(片段模式)。為了提高編碼效率,預(yù)測(cè)模式信息和尺寸信息可以被組合并聯(lián)合編碼。在這種情況下,每個(gè)編碼單元包括聯(lián)合編碼預(yù)測(cè)類型。編碼單元包括產(chǎn)生每個(gè)預(yù)測(cè)單元的預(yù)測(cè)塊所需要的附加信息和殘差信號(hào)。編碼單元中的每個(gè)預(yù)測(cè)單元都限定了附加信息。在幀內(nèi)預(yù)測(cè)中,附加信息包括被編碼的幀內(nèi)預(yù)測(cè)信息。在幀間預(yù)測(cè)中,附加信息包括被編碼的運(yùn)動(dòng)信息。運(yùn)動(dòng)信息包括運(yùn)動(dòng)向量和參考圖片索引。在每個(gè)編碼單元中均包括殘差信號(hào)。殘差信號(hào)包括一個(gè)變換樹(shù)、一個(gè)亮度殘差信號(hào)載體和兩個(gè)色度殘差信號(hào)載體。殘差信號(hào)載體包括一個(gè)或多個(gè)變換單元上的被編碼的殘差信號(hào)。變換單元的最大尺寸等于或小于編碼單元的尺寸。變換單元可以與最大變換單元或最大變換單元的子變換單元具有相同的尺寸。對(duì)于編碼單元中所包括的殘差信號(hào),變換樹(shù)包括表示變換單元的分割結(jié)構(gòu)的信息。并且,變換樹(shù)包括表示每個(gè)變換單元的殘差信號(hào)是否為0的信息。殘差信號(hào)載體以編碼單元為單位攜帶在與表示變換樹(shù)中的分割結(jié)構(gòu)的信息對(duì)應(yīng)的變換單元的被編碼的殘差信息。雖然以上僅僅對(duì)通過(guò)等分編碼單元獲得的預(yù)測(cè)單元做出了描述,但是也可能是不等分的。換句話說(shuō),為了壓縮殘差信號(hào),根據(jù)圖像的邊界在特定方向不等分圖像信號(hào)并執(zhí)行幀內(nèi)或幀間預(yù)測(cè)可能更有效。最簡(jiǎn)單的自適應(yīng)模式是使用直線把編碼單元分割成兩個(gè)塊,以在局部上提取預(yù)測(cè)區(qū)域的統(tǒng)計(jì)相關(guān)性。圖像的邊界與直線匹配并且被分割。在這種情況下,可分割方向可能被限于預(yù)定的數(shù)量。例如,可以將分割塊的方法限于水平、垂直、向上對(duì)角線和向下對(duì)角線四個(gè)方向。并且,也可以僅將分割限于水平和垂直方向。可分割方向的數(shù)量可以是三、五、七個(gè)等。可分割方向的數(shù)量可以根據(jù)塊的尺寸而變化。例如,對(duì)于大尺寸的編碼單元,可分割方向的數(shù)量可以相對(duì)增加。在幀間預(yù)測(cè)中,當(dāng)為了更多的自適應(yīng)預(yù)測(cè)而將一個(gè)編碼單元分割成兩個(gè)預(yù)測(cè)單元時(shí),應(yīng)該對(duì)每個(gè)預(yù)測(cè)單元執(zhí)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償。在從一個(gè)編碼單元分割的兩個(gè)預(yù)測(cè)單元分別提取預(yù)測(cè)塊后,這兩個(gè)預(yù)測(cè)塊可以相加,以產(chǎn)生具有與編碼單元的尺寸相同的預(yù)測(cè)塊。在這種情況下,為了減少編碼單元尺寸的預(yù)測(cè)塊的分割邊界的兩側(cè)的像素值之間的差異,可以濾波位于分割邊界的像素。可以產(chǎn)生預(yù)測(cè)塊,以使得對(duì)應(yīng)于各個(gè)預(yù)測(cè)單元的預(yù)測(cè)塊相重疊,并且可以將重疊邊界部分平滑以產(chǎn)生一個(gè)預(yù)測(cè)塊。圖1是根據(jù)本發(fā)明的運(yùn)動(dòng)圖片編碼裝置的框圖。參照?qǐng)D1,根據(jù)本發(fā)明的運(yùn)動(dòng)圖片編碼裝置100包括:圖片分割器110、變換器120、量化器130、掃描器131、熵編碼器140、幀內(nèi)預(yù)測(cè)器150、幀間預(yù)測(cè)器160、逆量化器135、逆變換器125、后處理器170、圖片存儲(chǔ)器180、減法器190和加法器195。圖片分割器110分析輸入的視頻信號(hào),以把圖片的每張LCU分割成一個(gè)或多個(gè)具有預(yù)定尺寸的編碼單元,確定每個(gè)編碼單元的預(yù)測(cè)模式,并且確定每個(gè)編碼單元的預(yù)測(cè)單元的尺寸。圖片分割器110根據(jù)預(yù)測(cè)模式把將被編碼的預(yù)測(cè)單元發(fā)送到幀內(nèi)預(yù)測(cè)器150或幀間預(yù)測(cè)器160。并且,圖片分割器110把將被編碼的預(yù)測(cè)單元發(fā)送到減法器190。變換器120變換殘差塊,該殘差塊是輸入預(yù)測(cè)單元的初始?jí)K和通過(guò)幀內(nèi)預(yù)測(cè)器150或幀間預(yù)測(cè)器160產(chǎn)生的預(yù)測(cè)塊之間的殘差信號(hào)。優(yōu)選地,殘差塊可以具有編碼單元的尺寸。殘差塊可以被分割成最佳變換單元并且被變換??梢愿鶕?jù)預(yù)測(cè)模式(幀內(nèi)或幀間)和幀內(nèi)預(yù)測(cè)模式自適應(yīng)地確定變換矩陣類型。殘差信號(hào)的變換單元可以通過(guò)水平和垂直的一維(1D)變換矩陣而變換。在幀間預(yù)測(cè)中,應(yīng)用一個(gè)預(yù)定的變換矩陣。在幀內(nèi)預(yù)測(cè)中,當(dāng)幀內(nèi)預(yù)測(cè)模式是水平時(shí),殘差塊很可能具有垂直方向性。這樣,在垂直方向上應(yīng)用基于離散余弦變換(DCT)的整數(shù)矩陣,并且在水平方向上應(yīng)用基于離散正弦變換(DST)或卡胡南-洛夫變換(KarhunenLoèvetransform(KLT))的整數(shù)矩陣。當(dāng)幀內(nèi)預(yù)測(cè)模式是垂直時(shí),在垂直方向上應(yīng)用基于DST或KLT的整數(shù)矩陣,并且在水平方向上應(yīng)用基于DCT的整數(shù)矩陣。二選一地,在幀內(nèi)預(yù)測(cè)中,可以根據(jù)變換單元的尺寸自適應(yīng)地確定變換矩陣。量化器130確定每個(gè)編碼單元的量化步長(zhǎng),以量化被變換矩陣變換的殘差塊的變換系數(shù)。確定尺寸等于或大于預(yù)定尺寸的每個(gè)編碼單元的量化步長(zhǎng)。預(yù)定尺寸可以是8×8或16×16。使用所確定的量化步長(zhǎng)和根據(jù)預(yù)測(cè)模式所確定的量化矩陣,量化變換系數(shù)。量化器130使用與當(dāng)前編碼單元相鄰的編碼單元的量化步長(zhǎng)作為當(dāng)前編碼單元的量化步長(zhǎng)預(yù)測(cè)器。量化器130按序搜索當(dāng)前編碼單元的左編碼單元、上編碼單元和左上編碼單元,使用一個(gè)或多個(gè)有效編碼單元的量化步長(zhǎng)來(lái)確定當(dāng)前編碼單元的量化步長(zhǎng)預(yù)測(cè)器,并且把量化步長(zhǎng)與當(dāng)前編碼單元的量化步長(zhǎng)預(yù)測(cè)器之間的差傳送到熵編碼器140。當(dāng)切片被分割成編碼單元時(shí),當(dāng)前編碼單元可能沒(méi)有左編碼單元、上編碼單元和左上編碼單元。另一方面,在編碼順序中當(dāng)前編碼單元可能有前編碼單元。這樣,與當(dāng)前編碼單元相鄰的編碼單元和前編碼單元可以是候選。在這種情況下,優(yōu)先權(quán)可以按序給與1)當(dāng)前編碼單元的左編碼單元,2)當(dāng)前編碼單元的上編碼單元,3)當(dāng)前編碼單元的左上編碼單元和4)當(dāng)前編碼單元的前編碼單元。可以改變順序,或可以省略左上編碼單元。把量化的變換塊提供到逆量化器135和掃描器131。掃描器131掃描量化變換塊的系數(shù),并且把該量化變換塊的系數(shù)轉(zhuǎn)換成1D量化系數(shù)。根據(jù)預(yù)測(cè)模式和幀內(nèi)預(yù)測(cè)模式確定系數(shù)掃描方法。并且,可以根據(jù)變換單元的尺寸差別確定系數(shù)掃描方法。掃描器131確定是否在當(dāng)前變換單元的尺寸的基礎(chǔ)上把量化變換塊分割成多個(gè)子集。當(dāng)變換單元的尺寸大于第一參考尺寸時(shí),掃描器131將量化變換塊分割成多個(gè)子集。第一參考尺寸可以是4×4或8×8。掃描器131確定將應(yīng)用到量化變換塊的掃描方式。在幀間預(yù)測(cè)中,可以只應(yīng)用一個(gè)預(yù)定的掃描方式(例如,鋸齒掃描)。在幀內(nèi)預(yù)測(cè)中,能夠應(yīng)用根據(jù)幀內(nèi)預(yù)測(cè)模式確定的掃描方式。掃描方式可以根據(jù)定向幀內(nèi)預(yù)測(cè)模式而變化。將鋸齒掃描應(yīng)用到不定向幀內(nèi)預(yù)測(cè)模式。不定向模式可以是直流(DC)模式或平面模式。逆向掃描量化變換塊的系數(shù)。當(dāng)量化變換塊被分割成多個(gè)子集時(shí),將相同的掃描方式應(yīng)用到每個(gè)子集中的量化系數(shù)。多個(gè)子集由一個(gè)主子集和一個(gè)或多個(gè)殘差子集組成。主子集位于左上側(cè)并且包括DC系數(shù)和除了主子集之外的一個(gè)或多個(gè)的殘差子集覆蓋區(qū)域??梢詰?yīng)用鋸齒掃描對(duì)子集進(jìn)行掃描??梢栽谇跋蚍较蛏蠌闹髯蛹_(kāi)始到殘差子集來(lái)掃描子集,或可以在反向方向上掃描子集??梢詫⒂糜趻呙枳蛹膾呙璺绞皆O(shè)定為與用于掃描子集中的量化系數(shù)的掃描方式相同。在這種情況下,根據(jù)幀內(nèi)預(yù)測(cè)模式確定用于子集的掃描方式。同時(shí),運(yùn)動(dòng)圖片編碼裝置100把能夠表示變換單元的最后一個(gè)非零量化系數(shù)的位置的信息傳送到解碼器。運(yùn)動(dòng)圖片編碼裝置100也把能夠表示在每個(gè)子集中的最后一個(gè)非零量化系數(shù)的位置的信息傳送到解碼器。逆量化器135對(duì)量化系數(shù)進(jìn)行逆量化。逆變換器125從逆量化系數(shù)重建空間域的殘差塊。加法器195通過(guò)把被逆變換器125重建的殘差塊和來(lái)自幀內(nèi)預(yù)測(cè)器150或幀間預(yù)測(cè)器160的預(yù)測(cè)塊相加來(lái)產(chǎn)生重建塊。后處理器170執(zhí)行:用于移除在重建圖片中產(chǎn)生的塊效應(yīng)的去塊濾波過(guò)程,用于補(bǔ)償重建圖片和初始圖像的每個(gè)像素之間的差異的自適應(yīng)偏移應(yīng)用過(guò)程,和用于在編碼單元中補(bǔ)償重建圖片和初始圖像之間的差異的自適應(yīng)環(huán)路濾波過(guò)程。去塊濾波過(guò)程可以被應(yīng)用到預(yù)測(cè)單元之間的邊界和變換單元之間的邊界。預(yù)定尺寸可以是8×8。去塊濾波過(guò)程包括確定將要濾波的邊界的步驟、確定將被應(yīng)用到邊界的邊界濾波強(qiáng)度的步驟、確定是否應(yīng)用去塊濾波器的步驟、和當(dāng)確定應(yīng)用去塊濾波器時(shí)選擇將被應(yīng)用到邊界的濾波器的步驟。確定是否應(yīng)用去塊濾波是根據(jù)i)邊界濾波強(qiáng)度是否大于0,以及ii)表示與將被濾波的邊界相鄰的兩個(gè)塊(P塊和Q塊)的邊界像素之間的差異的值是否小于根據(jù)量化參數(shù)確定的第一參考值。可以存在兩個(gè)或更多濾波器。當(dāng)與塊邊界相鄰的兩個(gè)像素之間差異的絕對(duì)值等于或大于第二參考值時(shí),選擇弱濾波器。通過(guò)量化參數(shù)和邊界濾波強(qiáng)度確定第二參考值。自適應(yīng)偏移施加過(guò)程意在減少經(jīng)過(guò)去塊濾波器的圖像中的像素和初始像素之間的差異(失真)。圖片或切片可以被分割成多個(gè)偏移區(qū)域,并且可以對(duì)每個(gè)偏移區(qū)域確定一個(gè)偏移模式。有四個(gè)邊緣偏移模式,兩個(gè)帶偏移模式和一個(gè)不施加偏移模式。根據(jù)每個(gè)偏移模式,在每個(gè)偏移區(qū)域中的像素被分類成預(yù)定數(shù)量的種類,并且對(duì)應(yīng)于所分類的種類的偏移被增加到像素。在邊緣補(bǔ)償模式的情況下,通過(guò)比較當(dāng)前像素值和與當(dāng)前像素相鄰的兩個(gè)或更多像素的像素值來(lái)確定當(dāng)前像素的種類??梢栽谕ㄟ^(guò)比較初始圖像和應(yīng)用了去塊濾波過(guò)程或自適應(yīng)偏移應(yīng)用過(guò)程的重建圖像獲得的值的基礎(chǔ)上執(zhí)行自適應(yīng)環(huán)路濾波過(guò)程。在4×4塊的基礎(chǔ)上通過(guò)一個(gè)拉普拉斯算子活動(dòng)值而檢測(cè)自適應(yīng)環(huán)路濾波器(ALF)。所確定的ALF能夠被應(yīng)用到包括在4×4塊或8×8塊中的所有像素??梢愿鶕?jù)編碼單元確定是否應(yīng)用ALF。環(huán)路濾波器的尺寸和系數(shù)可以根據(jù)每個(gè)編碼單元變化。切片頭可以包括表示是否對(duì)每個(gè)編碼單元應(yīng)用ALF的信息、濾波器系數(shù)的信息、濾波器形狀的信息等等,并且將這些信息傳送到解碼器。在色度信號(hào)的情況下,可以在圖片單元中確定是否應(yīng)用ALF。與亮度不同,環(huán)路濾波器可以具有矩形形狀。圖片存儲(chǔ)器180從后處理器170接收后處理圖像數(shù)據(jù),并存儲(chǔ)在圖片單元中重建的圖像。圖片可以是以幀或場(chǎng)為單位的圖像。圖片存儲(chǔ)器180具有能夠存儲(chǔ)多個(gè)圖片的緩沖區(qū)(未示出)。幀間預(yù)測(cè)器160使用存儲(chǔ)在圖片存儲(chǔ)器180中的一個(gè)或多個(gè)參考圖片來(lái)執(zhí)行運(yùn)動(dòng)估計(jì),并且確定表示參考圖片和運(yùn)動(dòng)矢量的參考圖片索引。根據(jù)參考圖片索引和運(yùn)動(dòng)矢量,幀間預(yù)測(cè)器160從存儲(chǔ)在圖片存儲(chǔ)器180中的多個(gè)參考圖片中選擇的一個(gè)參考圖片中提取出對(duì)應(yīng)于將被編碼的預(yù)測(cè)單元的預(yù)測(cè)塊,并且輸出所提取的預(yù)測(cè)塊。幀內(nèi)預(yù)測(cè)器150使用在包括當(dāng)前預(yù)測(cè)單元的圖片中的重建像素值來(lái)執(zhí)行幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)器150接收將被預(yù)測(cè)性地編碼的當(dāng)前預(yù)測(cè)單元,選擇預(yù)定數(shù)量的幀內(nèi)預(yù)測(cè)模式的一種,并且執(zhí)行幀內(nèi)預(yù)測(cè)。幀內(nèi)預(yù)測(cè)模式的預(yù)定數(shù)量取決于當(dāng)前預(yù)測(cè)單元的尺寸。幀內(nèi)預(yù)測(cè)器150對(duì)用于產(chǎn)生幀內(nèi)預(yù)測(cè)塊的參考像素自適應(yīng)地濾波。當(dāng)一些參考像素不可用時(shí),可以使用可用參考像素在不可用位置處產(chǎn)生參考像素。熵編碼器140對(duì)被量化器130量化的量化系數(shù)、從幀內(nèi)預(yù)測(cè)器150接收的幀內(nèi)預(yù)測(cè)信息、從幀間預(yù)測(cè)器160接收的運(yùn)動(dòng)信息等進(jìn)行熵編碼。圖2是根據(jù)本發(fā)明的幀內(nèi)預(yù)測(cè)器150的框圖。參考圖2,幀內(nèi)預(yù)測(cè)器150包括預(yù)測(cè)單元接收器141、參考像素產(chǎn)生器142、預(yù)測(cè)塊產(chǎn)生器143、預(yù)測(cè)塊后處理器144、預(yù)測(cè)模式確定器145和預(yù)測(cè)模式編碼器146。預(yù)測(cè)單元接收器141接收從圖片分割器110輸入的預(yù)測(cè)單元。預(yù)測(cè)單元接收器141把在接收的預(yù)測(cè)單元上的尺寸信息傳送到預(yù)測(cè)模式確定器145和參考像素產(chǎn)生器142,并且把預(yù)測(cè)單元傳送到參考像素產(chǎn)生器142和預(yù)測(cè)塊產(chǎn)生器143。參考像素產(chǎn)生器142確定接收的當(dāng)前預(yù)測(cè)單元的參考像素是否可用。用于幀內(nèi)預(yù)測(cè)的當(dāng)前預(yù)測(cè)單元的參考像素由位于(x=-1,y=-1)處的角參考像素、位于(x=0,…,2L-1,y=-1)處的2L個(gè)上參考像素和位于(x=0,y=0,…,and2M-1)處的2M個(gè)左參考像素組成。此處,L是當(dāng)前預(yù)測(cè)單元的寬度,并且M是當(dāng)前預(yù)測(cè)單元的高度。當(dāng)參考像素不可用或不夠時(shí),產(chǎn)生參考像素。當(dāng)沒(méi)有參考像素可用時(shí),產(chǎn)生具有預(yù)定值的參考像素。當(dāng)一些參考像素不可用時(shí),確定不可用參考像素是否只存在于從可用像素起的一個(gè)方向上或可用像素之間。當(dāng)不可用參考像素只存在于從可用像素起的一個(gè)方向上時(shí),通過(guò)復(fù)制與不可用像素最接近的可用像素的值來(lái)產(chǎn)生參考像素。例如,在當(dāng)前預(yù)測(cè)單元位于圖片或切片的上邊界處時(shí),角參考像素和上參考像素不可用。這樣,在這種情況下,通過(guò)復(fù)制位于最靠近位置(x=-1,y=0)處的參考像素能夠產(chǎn)生角參考像素和上參考像素。二選一地,可以使用最靠近位置的可用參考像素和一個(gè)或多個(gè)可用參考像素產(chǎn)生參考像素。例如,當(dāng)位于(x=-1,y=0)處的角參考像素和位于(x=0,…,和L-1,y=-1)處的參考像素可用、并且位于(x=L,…,2L-1,y=-1)的參考像素不可用時(shí),能夠使用位于(x=L-1,y=-1)處的參考像素值和角參考像素值或另一個(gè)參考像素值之間差異的改變?cè)诓豢捎梦恢锰幃a(chǎn)生參考像素。當(dāng)在可用像素之間存在不可用參考像素時(shí),使用與不可用參考像素相鄰的兩個(gè)可用像素p和q來(lái)產(chǎn)生參考像素。例如,當(dāng)角參考像素和位于(x=0,…,andL-1,y=-1)處的L個(gè)上參考像素不可用時(shí),能夠使用參考像素p和q來(lái)產(chǎn)生在位于(x=-1,y=0)處的參考像素p和位于(x=L,y=-1)處的參考像素q之間存在的參考像素??梢酝ㄟ^(guò)四舍五入?yún)⒖枷袼豴和參考像素q的平均值來(lái)獲得產(chǎn)生的參考像素值。并且,可以使用參考像素p和參考像素q的像素值之間的差異的變化來(lái)產(chǎn)生參考像素值。在這種情況下,可以通過(guò)根據(jù)對(duì)應(yīng)于所產(chǎn)生的像素的位置確定的線性插值或使用兩個(gè)參考像素的加權(quán)平均值來(lái)產(chǎn)生參考像素值。同時(shí),當(dāng)多個(gè)預(yù)測(cè)單元在當(dāng)前預(yù)測(cè)單元的上側(cè)時(shí),很有可能在兩個(gè)上預(yù)測(cè)單元之間的邊界的兩側(cè)上存在的邊界像素之間的差異將大于在每個(gè)上預(yù)測(cè)單元中的相鄰像素之間的差異。這是量化系數(shù)引起的誤差所導(dǎo)致的。很有可能在其中使用兩個(gè)相鄰參考像素產(chǎn)生預(yù)測(cè)塊的定向幀內(nèi)預(yù)測(cè)模式中將發(fā)生這種誤差。特別地,最嚴(yán)重地影響圖3的與水平或垂直方向成45°方向的定向幀內(nèi)預(yù)測(cè)模式(模式編號(hào)3、6和9)。在垂直和水平幀內(nèi)預(yù)測(cè)模式(模式編號(hào)0和1)中,一個(gè)像素被用于產(chǎn)生預(yù)測(cè)塊的預(yù)測(cè)像素,因此垂直和水平幀內(nèi)預(yù)測(cè)模式受到輕微地影響。為此原因,將濾波器(平滑濾波器)應(yīng)用到定向幀內(nèi)預(yù)測(cè)模式3、6和9中的參考像素,并且不應(yīng)用到垂直和水平幀內(nèi)預(yù)測(cè)模式中的參考像素。在非定向幀內(nèi)預(yù)測(cè)模式中的DC模式中,濾波器也沒(méi)有被應(yīng)用到參考像素。對(duì)于這些模式,無(wú)論當(dāng)前預(yù)測(cè)單元的尺寸為多大,均可以確定是否應(yīng)用濾波器。在存在于幀內(nèi)預(yù)測(cè)模式3、6或9和水平或垂直幀內(nèi)預(yù)測(cè)模式之間的定向幀內(nèi)預(yù)測(cè)模式中,能夠根據(jù)預(yù)測(cè)單元的尺寸自適應(yīng)地把濾波器應(yīng)用到參考像素。隨著定向幀內(nèi)預(yù)測(cè)模式的方向相對(duì)地靠近呈45°方向的幀內(nèi)預(yù)測(cè)模式的方向,優(yōu)選增加應(yīng)用濾波器的可能性。尤其是,當(dāng)?shù)谝欢ㄏ驇瑑?nèi)預(yù)測(cè)模式比第二定向幀內(nèi)預(yù)測(cè)模式在方向上更靠近呈45°方向的幀內(nèi)預(yù)測(cè)模式時(shí),如果濾波器被應(yīng)用到在第二定向幀內(nèi)預(yù)測(cè)模式中的參考像素,則濾波器也被應(yīng)用到第一定向幀內(nèi)預(yù)測(cè)模式中的參考像素。另一方面,如果濾波器被應(yīng)用到第一定向幀內(nèi)預(yù)測(cè)模式中的參考像素,則該濾波器可以應(yīng)用或不應(yīng)用到第二定向幀內(nèi)預(yù)測(cè)模式中的參考像素。很可能在大尺寸的預(yù)測(cè)單元中的像素之間的差異變化將小于小尺寸的預(yù)測(cè)單元中的像素之間的差異變化。這樣,隨著預(yù)測(cè)單元的尺寸增加,應(yīng)用濾波器的定向模式的數(shù)量可以增加或可以應(yīng)用強(qiáng)濾波器。另一方面,當(dāng)預(yù)測(cè)單元變小到小于特定尺寸時(shí),將不應(yīng)用濾波器。舉一個(gè)例子,在幀內(nèi)預(yù)測(cè)模式3、6或9中,第一濾波器可以被應(yīng)用到尺寸等于或小于第一尺寸的預(yù)測(cè)單元的參考像素,并且比第一濾波器強(qiáng)的第二濾波器可以被應(yīng)用到尺寸大于第一尺寸的預(yù)測(cè)單元的參考像素。第一尺寸可以根據(jù)定向預(yù)測(cè)模式而變化。舉另一個(gè)例子,在垂直幀內(nèi)預(yù)測(cè)模式和幀內(nèi)預(yù)測(cè)模式6之間存在的幀內(nèi)預(yù)測(cè)模式5中,沒(méi)有濾波器可以被應(yīng)用到尺寸等于或小于第二尺寸的預(yù)測(cè)單元,第一濾波器可以被應(yīng)用到尺寸大于第二尺寸并且等于或小于第三尺寸的預(yù)測(cè)單元的參考像素,并且第二濾波器可以被應(yīng)用到尺寸大于第三尺寸的預(yù)測(cè)單元。第二尺寸和第三尺寸可以根據(jù)定向預(yù)測(cè)模式而變化。第一濾波器可以是3抽頭濾波器[1,2,1]或5抽頭濾波器[1,2,4,2,1]。第二濾波器比第一濾波器具有更大的平滑效果。預(yù)測(cè)塊產(chǎn)生器143使用被幀內(nèi)預(yù)測(cè)模式確定的參考像素來(lái)產(chǎn)生預(yù)測(cè)塊。在定向幀內(nèi)預(yù)測(cè)模式中,對(duì)應(yīng)的參考像素根據(jù)幀內(nèi)預(yù)測(cè)模式而變化。例如,在垂直模式中,使用位于(x=0,…,和L-1,y=-1)處的L個(gè)上參考像素,并且在水平模式中,使用位于(x=-1,y=0,…,和L-1)處的L個(gè)左參考像素。在非定向幀內(nèi)預(yù)測(cè)模式中,使用角像素、位于(x=0,…,和L-1,y=-1)處的L個(gè)上參考像素和位于(x=-1,y=0,…,和L-1)處的L個(gè)左參考像素。非定向幀內(nèi)預(yù)測(cè)模式是DC模式或平面模式。在平面模式中,使用角參考像素、左參考像素和上參考像素而產(chǎn)生預(yù)測(cè)塊的參考像素。當(dāng)將要產(chǎn)生的參考像素位于(a,b)處時(shí),使用角參考像素C(x=-1,y=-1)、上參考像素T(x=a,y=-1)和左參考像素L(x=-1,y=b)而產(chǎn)生預(yù)測(cè)像素X(a,b)。尤其是,X(a,b)可以是L(x=-1,y=b)+T(x=a,y=-1)-C(x=-1,y=-1)。在圖3的垂直模式(模式編號(hào)為0)的右側(cè)存在的幀內(nèi)預(yù)測(cè)模式中,如果只使用上參考像素來(lái)產(chǎn)生預(yù)測(cè)塊,則有可能所產(chǎn)生的預(yù)測(cè)塊的左下區(qū)域的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)的像素之間的差異將增加。然而,當(dāng)使用上參考像素和左參考像素產(chǎn)生預(yù)測(cè)塊時(shí),能夠降低差異。在幀內(nèi)預(yù)測(cè)模式6中該效果最大。同樣在圖3的水平模式(模式編號(hào)為1)的下方存在的幀內(nèi)預(yù)測(cè)模式中,將應(yīng)用相同的方法,并且在幀內(nèi)預(yù)測(cè)模式9中該效果最大。這樣,在幀內(nèi)預(yù)測(cè)模式6或9中,可以使用一個(gè)上插值參考像素和一個(gè)左插值參考像素產(chǎn)生預(yù)測(cè)像素??梢酝ㄟ^(guò)一個(gè)上插值參考像素和一個(gè)左插值參考像素的線性插值或使用兩個(gè)插值參考像素的被四舍五入的平均值而產(chǎn)生預(yù)測(cè)像素。同樣地,在與模式6或9相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測(cè)模式中,能夠使用左參考像素和上參考像素產(chǎn)生預(yù)測(cè)塊。例如,在幀內(nèi)預(yù)測(cè)模式6或?qū)儆谂c模式6相鄰的預(yù)定數(shù)量(例如,4個(gè))的預(yù)測(cè)模式的模式中,能夠使用左參考像素和上參考像素來(lái)產(chǎn)生預(yù)測(cè)塊。在這種情況下,為了降低復(fù)雜性,上述方法可以不被應(yīng)用到模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17)的幀內(nèi)預(yù)測(cè)模式中。并且,該方法可以只應(yīng)用到尺寸等于或大于預(yù)定尺寸的當(dāng)前預(yù)測(cè)單元。預(yù)定尺寸是8×8或16×16。預(yù)測(cè)塊后處理器144對(duì)預(yù)測(cè)塊產(chǎn)生器143產(chǎn)生的預(yù)測(cè)塊進(jìn)行自適應(yīng)地濾波。為了減少參考像素和與參考像素相鄰的像素之間的差異,預(yù)測(cè)塊后處理器144根據(jù)幀內(nèi)預(yù)測(cè)模式對(duì)與不用于產(chǎn)生預(yù)測(cè)塊的參考像素相鄰的一些或所有像素自適應(yīng)地濾波。在預(yù)測(cè)塊中存在與參考像素相鄰的像素。在平面模式中,使用參考像素產(chǎn)生與參考像素相鄰的像素,因而不應(yīng)用濾波器。在DC模式中,使用參考像素的平均值來(lái)產(chǎn)生預(yù)測(cè)像素。能夠根據(jù)預(yù)測(cè)單元的尺寸使用不同類型的濾波器。對(duì)于大尺寸的預(yù)測(cè)單元,可以使用與在小尺寸的預(yù)測(cè)單元中使用的濾波器一樣的濾波器,或者使用具有大的平滑效果的強(qiáng)濾波器。同時(shí),在存在于圖3的垂直模式(模式編號(hào)0)的右側(cè)的幀內(nèi)預(yù)測(cè)模式中,如果只使用上參考像素產(chǎn)生預(yù)測(cè)塊,則隨著預(yù)測(cè)塊中的像素的位置向預(yù)測(cè)塊的左下區(qū)域下移,存在預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異將增大的可能性。尤其是,在幀內(nèi)預(yù)測(cè)模式6中,差異明顯地增加。同樣地,在存在于圖3的水平模式(模式編號(hào)1)下方的幀內(nèi)預(yù)測(cè)模式中,如果只使用左參考像素產(chǎn)生預(yù)測(cè)塊,則隨著預(yù)測(cè)塊中的像素的位置移動(dòng)到預(yù)測(cè)塊的右上區(qū)域,存在預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異增大的可能性。在幀內(nèi)預(yù)測(cè)模式9中,差異明顯地增加。在垂直模式(模式編號(hào)0)中,隨著預(yù)測(cè)塊中的像素的位置向下移動(dòng),預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異增加。在水平模式(模式編號(hào)1)中,隨著預(yù)測(cè)塊中的像素的位置向右移動(dòng),預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異增加。因此,為了減少差異,能夠根據(jù)定向幀內(nèi)預(yù)測(cè)模式對(duì)預(yù)測(cè)塊中的一些預(yù)測(cè)像素自適應(yīng)地濾波。在這種情況下,使用沒(méi)有被用于產(chǎn)生預(yù)測(cè)塊的預(yù)測(cè)單元中的參考像素對(duì)預(yù)測(cè)塊中的一些預(yù)測(cè)像素濾波??梢愿鶕?jù)定向幀內(nèi)預(yù)測(cè)模式不同地設(shè)定將被濾波的區(qū)域。隨著幀內(nèi)預(yù)測(cè)模式的方向靠近模式6或模式9時(shí),將被濾波的區(qū)域變大或保持原樣。舉一個(gè)例子,當(dāng)幀內(nèi)預(yù)測(cè)模式6中的預(yù)測(cè)單元的尺寸是2N×2N時(shí),可以只對(duì)與垂直模式(模式編號(hào)0)的右側(cè)存在的幀內(nèi)預(yù)測(cè)模式中的幀內(nèi)預(yù)測(cè)模式6相鄰的預(yù)定數(shù)量(1~3)的幀內(nèi)預(yù)測(cè)模式應(yīng)用濾波器。在這種情況下,為了降低復(fù)雜性,可以不對(duì)模式數(shù)量大于預(yù)定模式數(shù)量(例如,9到17個(gè))的幀內(nèi)預(yù)測(cè)模式應(yīng)用濾波器。并且,根據(jù)預(yù)測(cè)單元的尺寸,將被濾波的預(yù)測(cè)塊的數(shù)量可能會(huì)自適應(yīng)地改變。隨著預(yù)測(cè)單元的尺寸增加,將被濾波的預(yù)測(cè)像素的數(shù)量可以增加或保持原樣。舉另一個(gè)例子,在幀內(nèi)預(yù)測(cè)模式6中,如果預(yù)測(cè)單元的尺寸是4×4,可以不對(duì)預(yù)測(cè)塊濾波。如果預(yù)測(cè)單元的尺寸是8×8或16×16,則可以只對(duì)位于(x=0,y=0,…,和7)處的預(yù)測(cè)塊的8個(gè)像素中的預(yù)測(cè)塊的四個(gè)左下邊界像素濾波。如果預(yù)測(cè)單元的尺寸是32×32或更大,可以對(duì)全部8個(gè)邊界像素均濾波。被應(yīng)用到預(yù)測(cè)塊中的像素的濾波器的強(qiáng)度也可以根據(jù)預(yù)測(cè)單元的尺寸而變化。隨著預(yù)測(cè)單元的尺寸增加,濾波強(qiáng)度可以增加或保持原樣。預(yù)測(cè)模式確定器145使用參考像素確定當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式。預(yù)測(cè)模式確定器145可以將具有殘差塊的最小編碼比特的幀內(nèi)預(yù)測(cè)模式確定為當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式。此處,使用對(duì)應(yīng)于每個(gè)幀內(nèi)預(yù)測(cè)模式的預(yù)測(cè)塊或后處理預(yù)測(cè)塊來(lái)產(chǎn)生殘差塊。預(yù)測(cè)模式編碼器146使用與當(dāng)前預(yù)測(cè)單元相鄰的預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式來(lái)對(duì)當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式編碼。圖4是示出根據(jù)本發(fā)明的在預(yù)測(cè)模式編碼器146中執(zhí)行的對(duì)當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式進(jìn)行編碼的過(guò)程的流程圖。首先,搜索當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式候選(S110)。當(dāng)前預(yù)測(cè)單元的上幀內(nèi)預(yù)測(cè)模式和左幀內(nèi)預(yù)測(cè)模式可以是幀內(nèi)預(yù)測(cè)模式候選。也可以增加角幀內(nèi)預(yù)測(cè)模式,或可以根據(jù)上幀內(nèi)預(yù)測(cè)模式和左幀內(nèi)預(yù)測(cè)模式增加任何其他模式。在當(dāng)前預(yù)測(cè)單元有多個(gè)上預(yù)測(cè)單元時(shí),在預(yù)定方向上(例如,從右到左)掃描多個(gè)上預(yù)測(cè)單元,以將第一可用預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式確定為上幀內(nèi)預(yù)測(cè)模式。此外,在當(dāng)前預(yù)測(cè)單元有多個(gè)左預(yù)測(cè)單元時(shí),在預(yù)定方向上(例如,從下到上)掃描多個(gè)左預(yù)測(cè)單元,以將第一可用預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式確定為左幀內(nèi)預(yù)測(cè)模式。二選一地,在多個(gè)可用的預(yù)測(cè)單元中,具有最小幀內(nèi)預(yù)測(cè)模式數(shù)量的可用預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式可以被設(shè)定為上幀內(nèi)預(yù)測(cè)模式。角幀內(nèi)預(yù)測(cè)模式可以被設(shè)定為與當(dāng)前預(yù)測(cè)單元的右上側(cè)或左上側(cè)相鄰的預(yù)測(cè)單元的預(yù)測(cè)模式。二選一地,角幀內(nèi)預(yù)測(cè)模式可以被設(shè)定為第一可用幀內(nèi)預(yù)測(cè)模式,該第一可用幀內(nèi)預(yù)測(cè)模式通過(guò)以預(yù)定順序掃描與當(dāng)前預(yù)測(cè)單元的左上側(cè)、右上側(cè)和右下側(cè)相鄰的幀內(nèi)預(yù)測(cè)模式而獲得。預(yù)定順序是左上側(cè)、右下側(cè)和右上側(cè)。二選一地,可以增加兩個(gè)(右上側(cè)和左上側(cè))或三個(gè)(右上側(cè)、左上側(cè)和左下側(cè))角幀內(nèi)預(yù)測(cè)模式,作為當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式候選。下一步,確定是否改變可用幀內(nèi)預(yù)測(cè)模式候選的幀內(nèi)預(yù)測(cè)模式(S120)。當(dāng)確定改變幀內(nèi)預(yù)測(cè)模式時(shí),改變可用幀內(nèi)預(yù)測(cè)模式候選(S130)。詳細(xì)地,當(dāng)可用幀內(nèi)預(yù)測(cè)模式候選的模式數(shù)量等于或大于當(dāng)前預(yù)測(cè)單元允許的幀內(nèi)預(yù)測(cè)模式的數(shù)量時(shí),可用幀內(nèi)預(yù)測(cè)模式候選被轉(zhuǎn)換成一個(gè)允許模式。允許模式的數(shù)量可以根據(jù)當(dāng)前預(yù)測(cè)單元的尺寸而變化。例如,在當(dāng)前預(yù)測(cè)單元的尺寸是4×4時(shí),可用幀內(nèi)預(yù)測(cè)模式候選的幀內(nèi)預(yù)測(cè)模式被轉(zhuǎn)換成9個(gè)模式(模式0~9)或18個(gè)模式中的一種,并且在當(dāng)前預(yù)測(cè)單元的尺寸是64×64時(shí),可用幀內(nèi)預(yù)測(cè)模式候選的幀內(nèi)預(yù)測(cè)模式被轉(zhuǎn)換成四個(gè)模式(模式0到模式3)中的一種。下一步,建立當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)候選列表(S140)??梢园茨J骄幪?hào)的順序列出候選。二選一地,可以按頻率的順序列出候選,并且可以按模式編號(hào)的順序列出具有相同頻率的幀內(nèi)預(yù)測(cè)候選。當(dāng)幀內(nèi)預(yù)測(cè)模式候選具有相同的模式編號(hào)時(shí),幀內(nèi)預(yù)測(cè)候選者除了一個(gè)之外都被從列表上移除。下一步,確定當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式是否與建立的列表中的幀內(nèi)預(yù)測(cè)模式候選的任何一個(gè)相同(S150)。在當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式與幀內(nèi)預(yù)測(cè)模式候選之一相同時(shí),將表示幀內(nèi)預(yù)測(cè)模式與幀內(nèi)預(yù)測(cè)模式候選之一相同并且將候選索引的信息確定為幀內(nèi)預(yù)測(cè)信息(S160)。在當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式與任何一個(gè)幀內(nèi)預(yù)測(cè)模式候選都不同時(shí),計(jì)算用于改變當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式的模式改變值(S170)。模式改變值是幀內(nèi)預(yù)測(cè)模式數(shù)量不大于當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式的數(shù)量的幀內(nèi)預(yù)測(cè)模式候選的數(shù)量。下一步,使用模式改變值來(lái)改變當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式(S180)。將改變的幀內(nèi)預(yù)測(cè)模式確定為當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式。當(dāng)前預(yù)測(cè)單元的改變的幀內(nèi)預(yù)測(cè)模式被傳送到熵編碼器140。圖5是根據(jù)本發(fā)明的幀內(nèi)預(yù)測(cè)解碼裝置200的框圖。根據(jù)本發(fā)明的幀內(nèi)預(yù)測(cè)解碼裝置200包括熵解碼器210、殘差信號(hào)解碼器220、預(yù)測(cè)模式解碼器230、參考像素產(chǎn)生器240、預(yù)測(cè)塊產(chǎn)生器250、預(yù)測(cè)塊濾波器260和圖像重建器270。熵解碼器210從接收的比特流中提取量化的殘差系數(shù),并且以變換單元為單位把量化殘差系數(shù)和變換單元的尺寸傳送到殘差信號(hào)解碼器220。并且,熵解碼器210把幀內(nèi)預(yù)測(cè)信息和將被解碼的預(yù)測(cè)單元的尺寸傳送到預(yù)測(cè)模式解碼器230。殘差信號(hào)解碼器220把量化的殘差系數(shù)轉(zhuǎn)換成二維(2D)陣列的逆量化塊。為了這個(gè)轉(zhuǎn)換,選擇多個(gè)掃描方式之一。在預(yù)測(cè)模式和幀內(nèi)預(yù)測(cè)模式至少之一的基礎(chǔ)上確定變換塊的掃描方式。逆掃描操作與圖1的掃描器131的操作的逆過(guò)程相同。例如,當(dāng)將被解碼的當(dāng)前變換單元的尺寸大于第一參考尺寸時(shí),根據(jù)掃描方式對(duì)量化殘差系數(shù)逆掃描以形成多個(gè)子集,并且使用多個(gè)子集產(chǎn)生具有變換單元的尺寸的逆量化塊。另一方面,當(dāng)將被解碼的當(dāng)前變換單元的尺寸不大于第一參考尺寸時(shí),根據(jù)掃描方式對(duì)量化殘差系數(shù)逆掃描,以產(chǎn)生尺寸與變換單元的尺寸相同的逆量化塊。預(yù)測(cè)模式解碼器230在關(guān)于從熵解碼器210接收的當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)信息和尺寸信息的基礎(chǔ)上重建當(dāng)前預(yù)測(cè)模式的幀內(nèi)預(yù)測(cè)模式。通過(guò)圖4所示的過(guò)程的逆過(guò)程而復(fù)原所接收的幀內(nèi)預(yù)測(cè)信息。參考像素產(chǎn)生器240產(chǎn)生當(dāng)前預(yù)測(cè)單元的不可用參考像素,并且根據(jù)從預(yù)測(cè)模式解碼器230接收的當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式對(duì)參考像素自適應(yīng)地濾波。產(chǎn)生參考像素的方法和對(duì)參考像素濾波的方法與圖2的幀內(nèi)預(yù)測(cè)器150中參考像素產(chǎn)生器142的方法相同。尤其是,確定當(dāng)前預(yù)測(cè)單元的參考像素是否可用。用于幀內(nèi)預(yù)測(cè)的當(dāng)前預(yù)測(cè)單元的參考像素由位于(x=-1,y=-1)處的角參考像素、位于(x=0,…,和2L-1,y=-1)處的2L個(gè)上參考像素和位于(x=0,y=0,…,和2M-1)處的2M個(gè)左參考像素組成。此處,L是當(dāng)前預(yù)測(cè)單元的寬度,并且M是當(dāng)前預(yù)測(cè)單元的高度。當(dāng)用于產(chǎn)生預(yù)測(cè)塊的參考像素不可用或不夠時(shí),產(chǎn)生參考像素。當(dāng)所有的參考像素均不可用時(shí),產(chǎn)生具有預(yù)定值的參考像素。當(dāng)一些參考像素不可用時(shí),確定不可用參考像素是否只存在于從可用像素起的一個(gè)方向上或可用像素之間。當(dāng)不可用參考像素只存在于從可用像素起的一個(gè)方向上時(shí),通過(guò)復(fù)制最靠近不可用像素的可用像素的值來(lái)產(chǎn)生參考像素。例如,在當(dāng)前預(yù)測(cè)單元位于圖片或切片的上邊界處時(shí),角參考像素和上參考像素不可用。這樣,在這種情況下,能夠通過(guò)復(fù)制位于(x=-1,y=0)處的參考像素而產(chǎn)生角參考像素和上參考像素。二選一地,可以使用最接近位置的可用參考像素和一個(gè)或多個(gè)可用參考像素來(lái)產(chǎn)生參考像素。例如,當(dāng)具有(x=-1,y=-1)的位置的角參考像素和位于(x=0,…,和L-1,y=-1)處的參考像素可用時(shí),并且位于(x=L,…,2L-1,y=-1)處的參考像素不可用時(shí),能夠使用位于(x=L-1,y=-1)處的參考像素和角參考像素值或另一個(gè)參考像素值之間差異的改變而在不可用位置處產(chǎn)生參考像素。當(dāng)在可用像素之間存在不可用參考像素時(shí),使用與不可用參考像素相鄰的兩個(gè)可用像素p和q來(lái)產(chǎn)生參考像素。例如,當(dāng)角參考像素和位于(x=0,…,和L-1,y=-1)處的L個(gè)上參考像素不可用,能夠使用參考像素p和q來(lái)產(chǎn)生在位于(x=-1,y=0)處的參考像素p和位于(x=L,y=-1)處的參考像素q之間存在的參考像素。可以通過(guò)四舍五入?yún)⒖枷袼豴和參考像素q的平均值而獲得產(chǎn)生的參考像素值。并且,可以使用參考像素p和參考像素q的像素值之間的差異的變化而產(chǎn)生參考像素值。在這種情況下,可以通過(guò)根據(jù)對(duì)應(yīng)于所產(chǎn)生的像素值的位置線性插值或使用兩個(gè)參考像素的加權(quán)平均值而產(chǎn)生參考像素值。同時(shí),當(dāng)多個(gè)預(yù)測(cè)單元在當(dāng)前預(yù)測(cè)單元的上側(cè)時(shí),很有可能在兩個(gè)上預(yù)測(cè)單元之間的邊界的兩側(cè)上存在的邊界像素之間的差異將大于在每個(gè)上預(yù)測(cè)單元中的相鄰像素之間的差異。這是量化系數(shù)引起的誤差所導(dǎo)致的。很有可能在其中使用兩個(gè)相鄰參考像素產(chǎn)生預(yù)測(cè)塊的預(yù)測(cè)像素的定向幀內(nèi)預(yù)測(cè)模式中將發(fā)生這種誤差。特別地,最嚴(yán)重地影響圖3的與水平或垂直方向成45°方向的模式(模式編號(hào)3、6和9)。在垂直和水平模式(模式編號(hào)0和1)中,一個(gè)像素被用于產(chǎn)生預(yù)測(cè)塊的預(yù)測(cè)像素,因此垂直和水平模式受到輕微地影響。為此原因,將濾波器(平滑濾波器)應(yīng)用到定向幀內(nèi)預(yù)測(cè)模式3、6和9中的參考像素,并且不應(yīng)用到垂直和水平幀內(nèi)預(yù)測(cè)模式中的參考像素。在DC模式中,也不應(yīng)用濾波器。對(duì)于這些模式,無(wú)論當(dāng)前預(yù)測(cè)單元的尺寸為多大,均可以確定是否應(yīng)用濾波器。在存在于幀內(nèi)預(yù)測(cè)模式3、6或9和水平或垂直幀內(nèi)預(yù)測(cè)模式之間的定向幀內(nèi)預(yù)測(cè)模式中,能夠把濾波器自適應(yīng)地應(yīng)用到參考像素。隨著定向幀內(nèi)預(yù)測(cè)模式的方向相對(duì)地靠近呈45°方向的幀內(nèi)預(yù)測(cè)模式的方向,優(yōu)選增加應(yīng)用濾波器的可能性。尤其是,當(dāng)?shù)谝欢ㄏ驇瑑?nèi)預(yù)測(cè)模式比第二定向幀內(nèi)預(yù)測(cè)模式在方向上更靠近呈45°方向的幀內(nèi)預(yù)測(cè)模式時(shí),如果濾波器被應(yīng)用到在第二定向幀內(nèi)預(yù)測(cè)模式中的參考像素,則濾波器也被應(yīng)用到第一定向幀內(nèi)預(yù)測(cè)模式中的參考像素。另一方面,如果濾波器被應(yīng)用到第一定向幀內(nèi)預(yù)測(cè)模式中的參考像素,則該濾波器可以應(yīng)用或不應(yīng)用到第二定向幀內(nèi)預(yù)測(cè)模式中的參考像素。很可能在大尺寸的預(yù)測(cè)單元中的像素之間的差異變化將小于小尺寸的預(yù)測(cè)單元中的像素之間的差異變化。這樣,隨著預(yù)測(cè)單元的尺寸增加,應(yīng)用濾波器的定向模式的數(shù)量可以增加或可以應(yīng)用強(qiáng)濾波器。另一方面,當(dāng)預(yù)測(cè)單元變小到小于特定尺寸時(shí),將不應(yīng)用濾波器。舉一個(gè)例子,在具有45°方向的幀內(nèi)預(yù)測(cè)模式3、6或9中,第一濾波器可以被應(yīng)用到尺寸等于或小于第一尺寸的預(yù)測(cè)單元的參考像素,并且比第一濾波器更強(qiáng)的第二濾波器可以被應(yīng)用到尺寸大于第一尺寸的預(yù)測(cè)單元的參考像素。第一尺寸可以根據(jù)定向預(yù)測(cè)模式而變化。舉另一個(gè)例子,在垂直幀內(nèi)預(yù)測(cè)模式和具有45°方向的幀內(nèi)預(yù)測(cè)模式6之間存在的幀內(nèi)預(yù)測(cè)模式5中,沒(méi)有濾波器被應(yīng)用到等于或小于第二尺寸的預(yù)測(cè)單元的參考像素,第一濾波器可以被應(yīng)用到大于第二尺寸并等于或小于第三尺寸的預(yù)測(cè)單元的的參考像素,并且第二濾波器可以被應(yīng)用到大于第三尺寸的預(yù)測(cè)單元的參考像素。第二尺寸和第三尺寸可以根據(jù)定向預(yù)測(cè)模式而變化。第一濾波器可以是3抽頭濾波器[1,2,1]或5抽頭濾波器[1,2,4,2,1]。第二濾波器比第一濾波器具有更大的平滑效果。預(yù)測(cè)塊產(chǎn)生器250根據(jù)從預(yù)測(cè)模式解碼器230接收的當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式而產(chǎn)生預(yù)測(cè)塊。產(chǎn)生預(yù)測(cè)塊的方法與圖2的幀內(nèi)預(yù)測(cè)器150中預(yù)測(cè)塊產(chǎn)生器142的方法相同。即是,在定向幀內(nèi)預(yù)測(cè)模式中,對(duì)應(yīng)的參考像素根據(jù)幀內(nèi)預(yù)測(cè)模式變化。例如,在垂直模式中,使用位于(x=0,…,和L-1,y=-1)處的L個(gè)上參考像素,并且在水平模式中,使用位于(x=-1,y=0,…,和L-1)處的L個(gè)左參考像素。在非定向幀內(nèi)預(yù)測(cè)模式中,使用角像素、位于(x=0,…,和L-1,y=-1)處的L個(gè)上參考像素和位于(x=-1,y=0,…,和L-1)處的L個(gè)左參考像素。非定向幀內(nèi)預(yù)測(cè)模式是DC模式和平面模式。在平面模式中,使用角參考像素、左參考像素和上參考像素產(chǎn)生預(yù)測(cè)塊的參考像素。當(dāng)將要產(chǎn)生的參考像素位于(a,b)處時(shí),使用角參考像素C(x=-1,y=-1)、上參考像素T(x=a,y=-1)和左參考像素L(x=-1,y=b)產(chǎn)生預(yù)測(cè)塊X(a,b)的參考像素。尤其是,X(a,b)可以是L(x=-1,y=b)+T(x=a,y=-1)-C(x=-1,y=-1)。在圖3的垂直模式(模式編號(hào)為0)的右側(cè)存在的幀內(nèi)預(yù)測(cè)模式中,如果只使用上參考像素來(lái)產(chǎn)生預(yù)測(cè)塊,則有可能所產(chǎn)生的預(yù)測(cè)塊的左下區(qū)域的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異將增加。然而,對(duì)于多個(gè)模式中的數(shù)個(gè)模式,當(dāng)使用上參考像素和左參考像素產(chǎn)生預(yù)測(cè)塊時(shí),能夠降低差異。在幀內(nèi)預(yù)測(cè)模式6中該效果最大。同樣在圖3的水平模式(模式編號(hào)為1)的下方存在的幀內(nèi)預(yù)測(cè)模式中,將應(yīng)用相同的方法,并且在幀內(nèi)預(yù)測(cè)模式9中該效果最大。這樣,在幀內(nèi)預(yù)測(cè)模式6或9中,可以使用一個(gè)上插值參考像素和一個(gè)左插值參考像素產(chǎn)生預(yù)測(cè)像素??梢酝ㄟ^(guò)一個(gè)上插值參考像素和一個(gè)左插值參考像素的線性插值或使用四舍五入的平均值而產(chǎn)生預(yù)測(cè)像素。同樣地,在與模式6或9相鄰的預(yù)定數(shù)量的幀內(nèi)預(yù)測(cè)模式中,能夠使用左參考像素和上參考像素產(chǎn)生預(yù)測(cè)塊。在這種情況下,為了降低復(fù)雜性,上述方法可以不被應(yīng)用到模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17)的幀內(nèi)預(yù)測(cè)模式中。并且,該方法可以只應(yīng)用到尺寸等于或大于預(yù)定尺寸的當(dāng)前預(yù)測(cè)單元。預(yù)定尺寸是8×8或16×16。預(yù)測(cè)塊濾波器260根據(jù)從預(yù)測(cè)模式解碼器230接收的當(dāng)前預(yù)測(cè)單元的幀內(nèi)預(yù)測(cè)模式對(duì)預(yù)測(cè)塊產(chǎn)生器250產(chǎn)生的預(yù)測(cè)塊自適應(yīng)地濾波。預(yù)測(cè)塊濾波器260可以被集成到預(yù)測(cè)塊產(chǎn)生器250中。預(yù)測(cè)塊濾波方法與圖2的幀內(nèi)預(yù)測(cè)器150的預(yù)測(cè)塊后處理器144的方法相同。即是,為了減少參考像素和與參考像素相鄰的預(yù)測(cè)塊中的像素之間的像素值的差異,預(yù)測(cè)塊濾波器260根據(jù)幀內(nèi)預(yù)測(cè)模式對(duì)與參考像素相鄰的預(yù)測(cè)塊中的一些或所有像素自適應(yīng)地濾波。在預(yù)測(cè)塊中存在與參考像素相鄰的像素。在平面模式中,使用參考像素產(chǎn)生與參考像素相鄰的預(yù)測(cè)塊中的像素,因而不應(yīng)用濾波器。在DC模式中,使用參考像素的平均值以產(chǎn)生預(yù)測(cè)像素,因而應(yīng)用濾波器。能夠根據(jù)預(yù)測(cè)單元(預(yù)測(cè)塊的尺寸)的尺寸使用不同類型的濾波器。在大尺寸的預(yù)測(cè)單元中,可以使用與在小尺寸的預(yù)測(cè)單元中使用的濾波器一樣的濾波器,或使用具有大的平滑效果的強(qiáng)濾波器。同時(shí),在存在于圖3的垂直模式(模式編號(hào)0)的右側(cè)的幀內(nèi)預(yù)測(cè)模式中,如果只使用上參考像素產(chǎn)生預(yù)測(cè)塊,則隨著預(yù)測(cè)塊中的像素向預(yù)測(cè)塊的左下區(qū)域下移,存在在預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異將增大的可能性。尤其是,在幀內(nèi)預(yù)測(cè)模式6中,差異明顯地增加。同樣地,在存在于圖3的水平模式(模式編號(hào)1)之下的幀內(nèi)預(yù)測(cè)模式中,如果只使用左參考像素產(chǎn)生預(yù)測(cè)塊,則隨著預(yù)測(cè)塊的像素的位置移動(dòng)到預(yù)測(cè)塊的右上區(qū)域,存在可能在預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異增大的可能性。在幀內(nèi)預(yù)測(cè)模式9中,差異明顯地增加。在垂直模式(模式編號(hào)0)中,隨著預(yù)測(cè)塊中的像素的位置向下移動(dòng),預(yù)測(cè)塊中的像素和初始單元的對(duì)應(yīng)像素之間的差異增加。在水平模式(模式編號(hào)1)中,隨著預(yù)測(cè)塊中的像素的位置向右運(yùn)動(dòng),預(yù)測(cè)塊中的像素和初始預(yù)測(cè)單元的對(duì)應(yīng)像素之間的差異增加。因此,為了減少差異,能夠根據(jù)定向幀內(nèi)預(yù)測(cè)模式對(duì)預(yù)測(cè)塊中的一些像素自適應(yīng)地濾波。在這種情況下,使用沒(méi)有被用于產(chǎn)生預(yù)測(cè)塊的預(yù)測(cè)單元中的參考像素對(duì)預(yù)測(cè)塊中的一些預(yù)測(cè)像素濾波??梢愿鶕?jù)定向幀內(nèi)預(yù)測(cè)模式不同地設(shè)定將被濾波的區(qū)域。隨著幀內(nèi)預(yù)測(cè)模式的方向靠近模式6或模式9,將被濾波的區(qū)域變大或保持原樣。舉一個(gè)例子,當(dāng)預(yù)測(cè)模式6中的預(yù)測(cè)單元的尺寸是2N×2N時(shí),可以只將濾波器應(yīng)用到與垂直模式(模式編號(hào)0)的右側(cè)存在的幀內(nèi)預(yù)測(cè)模式中的幀內(nèi)預(yù)測(cè)模式6相鄰的預(yù)定數(shù)量(1~3)的幀內(nèi)預(yù)測(cè)模式。在這種情況下,為了降低復(fù)雜性,可以不對(duì)模式數(shù)量大于預(yù)定模式數(shù)量(例如,9或17個(gè))的幀內(nèi)預(yù)測(cè)模式應(yīng)用濾波器。并且,將被濾波的預(yù)測(cè)像素的數(shù)量可以根據(jù)預(yù)測(cè)單元的尺寸改變。隨著預(yù)測(cè)單元的尺寸增加,預(yù)測(cè)像素的數(shù)量增加或保持原樣。舉另一個(gè)例子,在幀內(nèi)預(yù)測(cè)模式6中,如果預(yù)測(cè)單元的尺寸是4×4,可以不對(duì)預(yù)測(cè)塊濾波。如果預(yù)測(cè)單元的尺寸是8×8或16×16,則可以只對(duì)位于(x=0,y=0,…,和7)處的預(yù)測(cè)塊的8個(gè)像素中的預(yù)測(cè)塊的四個(gè)左下邊界像素濾波。如果預(yù)測(cè)單元的尺寸是32×32或更大,可以對(duì)全部8個(gè)邊界像素均濾波。被應(yīng)用到預(yù)測(cè)塊中的像素的濾波器的強(qiáng)度也可以根據(jù)預(yù)測(cè)單元的尺寸而變化。隨著預(yù)測(cè)單元的尺寸增加,濾波器強(qiáng)度可以增加或保持原樣。圖像重建器270根據(jù)幀內(nèi)預(yù)測(cè)模式,以預(yù)測(cè)單元為單位從預(yù)測(cè)塊產(chǎn)生器250或預(yù)測(cè)塊濾波器260接收預(yù)測(cè)塊。圖像重建器270以變換單元為單位接收通過(guò)殘差信號(hào)解碼器220重建的殘差信號(hào)。圖像重建器270通過(guò)增加復(fù)原的預(yù)測(cè)塊和殘差信號(hào)而產(chǎn)生重建圖像。圖像可以以編碼單元為單位重建。盡管參照某些示例性實(shí)施例示出并描述了本發(fā)明,然而本領(lǐng)域的技術(shù)人員將理解,在不偏離如同附加權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以對(duì)其做出形式和細(xì)節(jié)上的各種變化。