本申請是申請?zhí)枮?01280047215.8(國際申請?zhí)枮閜ct/kr2012/003081,國際申請日為2012年04月20日,發(fā)明名稱為“用于對幀內(nèi)預(yù)測模式進(jìn)行解碼的方法和設(shè)備”)的發(fā)明專利申請的分案申請。
本發(fā)明涉及一種幀內(nèi)預(yù)測模式解碼方法和幀內(nèi)預(yù)測模式解碼設(shè)備,并且更具體地,涉及使用當(dāng)前塊的左側(cè)塊和上部塊的幀內(nèi)預(yù)測模式生成mpm組并且使用該mpm組、幀內(nèi)預(yù)測模式組指示符和預(yù)測模式索引對幀內(nèi)預(yù)測模式進(jìn)行解碼的方法和設(shè)備。
背景技術(shù):
圖像數(shù)據(jù)必須被編碼以有效地存儲或發(fā)送圖像數(shù)據(jù)。已知mpeg-1、mpeg-2、mpeg-4、h.264/mpeg-4avc(高級視頻編碼)等被對圖像數(shù)據(jù)進(jìn)行編碼的技術(shù)。在這些技術(shù)中,圖片被劃分成多個(gè)宏塊,以宏塊為單元來確定應(yīng)當(dāng)執(zhí)行幀內(nèi)編碼或或幀間編碼中的哪一種,并且使用確定的編碼方法對宏塊進(jìn)行編碼。
在作為最新的圖像壓縮技術(shù)的h.264中,執(zhí)行幀內(nèi)預(yù)測以增強(qiáng)幀內(nèi)編碼的效率。即,使用在空間上與待編碼的當(dāng)前塊相鄰的像素值來產(chǎn)生預(yù)測塊,而不是參照參考圖片來編碼當(dāng)前塊。具體地,通過與使用相鄰像素值原始宏塊相比較來選擇具有很小失真的幀內(nèi)預(yù)測模式,并且使用所選擇的幀內(nèi)預(yù)測模式和相鄰的像素值來創(chuàng)建待編碼的當(dāng)前塊到的預(yù)測塊。創(chuàng)建包括當(dāng)前塊與預(yù)測塊之間的差異信號的殘留塊,并且對殘留塊進(jìn)行變換、量化和熵編碼。還對用于創(chuàng)建預(yù)測塊的幀內(nèi)預(yù)測模式進(jìn)行編碼。
然而,在h.264中,不管當(dāng)前塊的左側(cè)塊和上部塊的幀內(nèi)預(yù)測模式的方向性,均對當(dāng)前塊的幀內(nèi)預(yù)測模式進(jìn)行編碼,因此存在編碼效率低的問題。當(dāng)幀內(nèi)預(yù)測模式的數(shù)量增加以增強(qiáng)殘留塊的編碼效率時(shí),需要一種具有比h.264的幀內(nèi)預(yù)測模式編碼方法效率高的幀內(nèi)預(yù)測編碼方法和幀內(nèi)預(yù)測模式解碼方法。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
本發(fā)明的目的在于提供一種方法和設(shè)備,其能夠通過使用當(dāng)前塊的左側(cè)塊和上部塊的幀內(nèi)預(yù)測模式創(chuàng)建mpm組并且使用該mpm組并使用該mpm組對當(dāng)前塊的幀內(nèi)預(yù)測模式進(jìn)行編碼來增強(qiáng)圖像的壓縮效率和解壓縮效率。
技術(shù)方案
根據(jù)本發(fā)明的一個(gè)方面,提供了一種幀內(nèi)預(yù)測模式解碼方法,該方法包括如下步驟:重構(gòu)幀內(nèi)預(yù)測模式組指示符和預(yù)測模式索引;使用當(dāng)前塊的左側(cè)塊和上部塊的有效幀內(nèi)預(yù)測模式來構(gòu)造mpm組,所述mpm組包括三個(gè)幀內(nèi)預(yù)測模式;當(dāng)所述幀內(nèi)預(yù)測模式組指示符指示所述mpm組時(shí),確定與所述mpm組中的所述預(yù)測模式索引相對應(yīng)的幀內(nèi)預(yù)測模式作為所述當(dāng)前塊的幀內(nèi)預(yù)測模式;以及當(dāng)所述幀內(nèi)預(yù)測模式組指示符不指示所述mpm組時(shí),使用所述預(yù)測模式索引和所述mpm組的幀內(nèi)預(yù)測模式來確定所述當(dāng)前塊的所述幀內(nèi)預(yù)測模式。非方向性模式的模式編號比所述方向性模式的模式編號低。
在所述幀內(nèi)預(yù)測模式解碼方法中,當(dāng)僅所述當(dāng)前塊的所述左側(cè)塊和所述上部塊的所述幀內(nèi)預(yù)測模式中的一個(gè)幀內(nèi)預(yù)測模式有效時(shí),所述mpm組中包括兩個(gè)附加幀內(nèi)預(yù)測模式,并且所述兩個(gè)附加的幀內(nèi)預(yù)測模式根據(jù)所述幀內(nèi)預(yù)測模式來確定。模式0被指派給平面模式并且模式1被指派給dc模式。
在所述幀內(nèi)預(yù)測模式解碼方法中,當(dāng)所述當(dāng)前塊的所述左側(cè)塊和所述上部塊的所述幀內(nèi)預(yù)測模式全部有效、彼此不相同并且所述幀內(nèi)預(yù)測模式中的至少一個(gè)是非方向性模式時(shí),向所述mpm組添加方向性模式;并且當(dāng)所述當(dāng)前塊的所述左側(cè)塊和所述上部塊的所述幀內(nèi)預(yù)測模式全部有效、彼此相同并且是方向性模式時(shí),向所述mpm組添加兩個(gè)方向性模式。
有益效果
在根據(jù)本發(fā)明的圖像編碼方法中,重構(gòu)了幀內(nèi)預(yù)測模式組指示符和預(yù)測模式索引,使用當(dāng)前塊的左側(cè)塊和上部塊的有效幀內(nèi)預(yù)測模式來構(gòu)造包括三個(gè)幀內(nèi)預(yù)測模式的mpm組,當(dāng)幀內(nèi)預(yù)測模式組指示符指示mpm組時(shí)確定與mpm組中的預(yù)測模式索引相對應(yīng)的幀內(nèi)預(yù)測模式作為當(dāng)前塊的幀內(nèi)預(yù)測模式,并且當(dāng)幀內(nèi)預(yù)測模式組指示符不指示mpm組時(shí)使用預(yù)測模式索引和mpm組的幀內(nèi)預(yù)測模式來確定當(dāng)前塊的幀內(nèi)預(yù)測模式。非方向性模式的模式編號比方向性模式的模式編號低。
因此,通過向第一組添加具有與當(dāng)前塊的幀內(nèi)預(yù)測模式相同的較高可能性的幀內(nèi)預(yù)測模式,可以減少用于對當(dāng)前塊的幀內(nèi)預(yù)測模式進(jìn)行編碼的信息量。此外,通過向非方向性模式指派最低模式編,可以減少信息量。
附圖說明
圖1是例示根據(jù)本發(fā)明實(shí)施方式的運(yùn)動(dòng)圖像編碼設(shè)備的框圖。
圖2是例示根據(jù)本發(fā)明另一實(shí)施方式的運(yùn)動(dòng)圖像解碼設(shè)備的框圖。
圖3是例示在根據(jù)本發(fā)明實(shí)施方式運(yùn)動(dòng)圖像解碼設(shè)備中創(chuàng)建幀內(nèi)預(yù)測塊的方法的圖。
圖4是例示根據(jù)本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的概念圖。
圖5是例示根據(jù)本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式編碼順序的圖。
具體實(shí)施方式
在下文中,將參照附圖詳細(xì)描述本發(fā)明的各種實(shí)施方式。本發(fā)明可以按照各種形式來修改并且可以具有各種實(shí)施方式。這些實(shí)施方式不旨在限制本發(fā)明,而應(yīng)當(dāng)被理解為本發(fā)明包括屬于本發(fā)明的精神和技術(shù)范圍內(nèi)的所有的變型、等同物和替換。在參照附圖來描述本發(fā)明時(shí),相同的元件由相同的附圖標(biāo)記表示。
根據(jù)本發(fā)明的運(yùn)動(dòng)圖像編碼設(shè)備和運(yùn)動(dòng)圖像解碼設(shè)備可以是用戶終端,諸如個(gè)人計(jì)算機(jī)、筆記本式個(gè)人計(jì)算機(jī)、個(gè)人數(shù)字助理、便攜式多媒體播放器、智能電話、無線通信終端以及電視機(jī)或提供服務(wù)的服務(wù)器。運(yùn)動(dòng)圖像編碼設(shè)備和運(yùn)動(dòng)圖像解碼設(shè)備可以是這樣一種設(shè)備,該設(shè)備具有:諸如通信調(diào)制解調(diào)器的用于與各種裝置或無線或有線通信網(wǎng)絡(luò)通信的通信設(shè)備;存儲用于對圖像進(jìn)行編碼或解碼的各種程序和數(shù)據(jù)的存儲器;以及執(zhí)行所述程序以執(zhí)行操作和控制的微處理器。
圖1是例示根據(jù)本發(fā)明實(shí)施方式的運(yùn)動(dòng)圖像編碼設(shè)備的框圖。
根據(jù)本發(fā)明實(shí)施方式的運(yùn)動(dòng)圖像編碼設(shè)備100包括:幀內(nèi)預(yù)測模塊110、幀間預(yù)測模塊120、變換與量化模塊130、熵編碼模塊140、逆量化與逆變換模塊150、后處理模塊160、圖片緩沖器170、減法模塊190和加法模塊195。
幀內(nèi)預(yù)測模塊110使用當(dāng)前塊所屬的圖片或片段的重構(gòu)像素來創(chuàng)建幀內(nèi)預(yù)測塊。幀內(nèi)預(yù)測模塊110根據(jù)要被預(yù)測編碼的當(dāng)前塊的大小來選擇預(yù)定數(shù)量個(gè)幀內(nèi)預(yù)測模式中的一個(gè),并且利用所選擇的幀內(nèi)預(yù)測模式來創(chuàng)建預(yù)測塊。
幀間預(yù)測模塊120使用存儲在圖片緩沖器170中的參考圖片來執(zhí)行運(yùn)動(dòng)估計(jì)運(yùn)算,并且確定用于運(yùn)動(dòng)估計(jì)運(yùn)算的參考圖片索引和運(yùn)動(dòng)向量。然后,幀間預(yù)測模塊120使用參考圖片索引和運(yùn)動(dòng)向量來創(chuàng)建當(dāng)前塊的幀間預(yù)測塊。
變換與量化模塊130對由幀內(nèi)預(yù)測模塊110或幀間預(yù)測模塊120創(chuàng)建的預(yù)測塊的殘留塊進(jìn)行變換和量化。使用在水平和垂直方向上的一維變換矩陣來執(zhí)行該變換。使用根據(jù)變換塊的大小(即,殘留塊的大小)和幀內(nèi)預(yù)測模塊而確定的變換矩陣來變換用于幀內(nèi)預(yù)測的殘留塊。使用預(yù)定的變換矩陣來變換用于幀間預(yù)測的殘留塊。
變換與量化模塊130使用量化步長對變換塊進(jìn)行量化。量化步長可以按照等于或大于預(yù)定大小的編碼單元來改變。
量化的變換塊被提供給逆量化與逆變換模塊150和熵編碼模塊140。
逆量化與逆變換模塊150對量化的變換塊進(jìn)行逆量化并且對逆量化的變換塊進(jìn)行逆變換以重構(gòu)殘留塊。加法模塊將逆量化與逆變換模塊150重構(gòu)的殘留塊和來自幀內(nèi)預(yù)測模塊110或幀間預(yù)測模塊120的預(yù)測塊相加以創(chuàng)建重構(gòu)塊。
后處理模塊160用于重構(gòu)的圖片的圖像質(zhì)量,并且包括去塊濾波器模塊161、補(bǔ)償(offset)模塊162以及環(huán)路濾波器模塊163。
去塊濾波器模塊161將去塊濾波器自適應(yīng)地應(yīng)用于預(yù)測塊和變換塊的邊界。可以將邊界限制為8×8網(wǎng)格的邊界。去塊濾波器模塊161確定待濾波的邊界,確定其邊界強(qiáng)度,并且在邊界強(qiáng)度大于0時(shí)確定是否應(yīng)將去塊濾波器應(yīng)用于邊界。當(dāng)確定了應(yīng)對邊界濾波時(shí),去塊濾波器模塊161選擇要應(yīng)用于邊界的濾波器并且利用所選擇的濾波器對邊界濾波。
補(bǔ)償模塊162按圖片或片段來確定是否應(yīng)施加補(bǔ)償以減少經(jīng)歷去塊濾波器模塊的圖像中的像素與相應(yīng)的原始像素之間的失真。另選地,將片段劃分成多個(gè)補(bǔ)償區(qū)并且可以強(qiáng)度各個(gè)補(bǔ)償區(qū)的補(bǔ)償類型。補(bǔ)償類型可以包括預(yù)定數(shù)量個(gè)邊緣補(bǔ)償類型和帶補(bǔ)償類型。當(dāng)補(bǔ)償類型是邊緣補(bǔ)償類型時(shí),確定各個(gè)像素所屬的邊緣類型并向其應(yīng)用對應(yīng)的補(bǔ)償。邊緣類型是基于與當(dāng)前像素相鄰的兩個(gè)像素值的分布而確定的。
環(huán)路濾波器模塊163在對經(jīng)歷了補(bǔ)償模塊162的重構(gòu)圖像與原始圖像相比較的結(jié)果的基礎(chǔ)上對重構(gòu)圖像自適應(yīng)地環(huán)路濾波。按照編碼單元來確定是否應(yīng)對重構(gòu)圖像進(jìn)行環(huán)路濾波。可以按照編碼單元來改變要應(yīng)用的環(huán)路濾波器的大小和系數(shù)??梢栽诿總€(gè)片段的頭部中包括指示是否應(yīng)當(dāng)按照編碼單元施加自適應(yīng)環(huán)路濾波器的信息。在色度信號的情況下,可以確定是否應(yīng)當(dāng)按圖片來應(yīng)用自適應(yīng)環(huán)路濾波器。因此,可以在片段頭部或圖片頭部中包括指示是否對色度分量進(jìn)行濾波的信息。
圖片緩沖器170從后處理模塊160中接收經(jīng)后處理的圖像數(shù)據(jù)并且以圖片為單元來重構(gòu)并存儲圖像。圖片可以是以幀為單元的圖像或者以字段為單元的圖像。
熵編碼模塊140對由變換與量化模塊130量化的量化系數(shù)信息、從幀內(nèi)預(yù)測模塊140接收到的幀內(nèi)預(yù)測信息、從幀間預(yù)測單元150接收到的運(yùn)動(dòng)信息進(jìn)行熵編碼。熵編碼模塊140包括掃描模塊145,掃描模塊145用于將經(jīng)量化的變換塊的系數(shù)變換成一維量化系數(shù)。
掃描模塊145確定用于將經(jīng)量化的變換塊的系數(shù)變換成一維量化系數(shù)的掃描類型。掃描類型可以根據(jù)方向性幀內(nèi)預(yù)測模式和變換塊的大小而變化。在向后的方向上掃描量化系數(shù)。
當(dāng)經(jīng)量化的變換塊大于預(yù)定大小時(shí),變換系數(shù)被劃分成多個(gè)子塊并且被掃描。應(yīng)用于子塊的變換系數(shù)的掃描類型是相同的。應(yīng)用于子塊的掃描類型可以是z字形掃描,或者可以是與應(yīng)用于子塊的變換系數(shù)相同的掃描類型。
圖2是例示根據(jù)本發(fā)明另一實(shí)施方式的運(yùn)動(dòng)圖像解碼設(shè)備200的框圖。
根據(jù)本發(fā)明實(shí)施方式的運(yùn)動(dòng)圖像解碼設(shè)備200包括:熵解碼模塊210、逆量化模塊220、逆變換模塊230、幀內(nèi)預(yù)測模塊240、幀間預(yù)測模塊250、后處理模塊260、圖片緩沖器270和加法模塊280。
熵解碼模塊210對接收到的比特流進(jìn)行解碼并且將所述比特流分離成幀內(nèi)預(yù)測信息、幀間預(yù)測信息、量化系數(shù)信息等。熵解碼模塊210將解碼的幀內(nèi)預(yù)測信息提供給幀內(nèi)預(yù)測模塊240,并且將解碼的幀間預(yù)測信息提供給幀間預(yù)測模塊250。熵解碼模塊210包括逆掃描模塊215,逆掃描模塊215對解碼的量化系數(shù)信息進(jìn)行逆掃描。
逆掃描模塊215將量化系數(shù)信息轉(zhuǎn)換成二維量化塊。為了轉(zhuǎn)換,選擇多個(gè)掃描類型中的一個(gè)。掃描類型可以根據(jù)方向性幀內(nèi)預(yù)測模式和變換塊的大小而變化。在向后的方向上掃描量化系數(shù)。當(dāng)量化變換塊大于預(yù)定大小時(shí),變換系數(shù)被劃分成多個(gè)子塊并且被掃描。應(yīng)用于子塊的變換系數(shù)的掃描類型是相同的。應(yīng)用于子塊的掃描類型可以是z字形掃描,或者可以是與施加到子塊的變換系數(shù)相同的掃描類型。
逆量化模塊220確定當(dāng)前編碼單元的量化步長預(yù)報(bào)值,并且將所確定的量化步長預(yù)報(bào)值與接收到的殘留量化步長相加以重構(gòu)當(dāng)前編碼單元的量化步長。逆量化模塊220使用所述量化步長和逆量化矩陣對量化塊進(jìn)行逆量化。量化矩陣是根據(jù)量化塊的大小和預(yù)測模式而確定的。即,量化矩陣是在當(dāng)前塊的預(yù)測模式和針對具有預(yù)定大小的量化塊的幀內(nèi)預(yù)測模式中的至少一個(gè)的基礎(chǔ)上選擇的。
逆變換模塊230對逆量化的變換塊進(jìn)行逆變換以重構(gòu)殘留塊。要應(yīng)用于逆量化的塊的逆變換矩陣可以根據(jù)預(yù)測模式和幀內(nèi)預(yù)測模式來確定。
加法模塊280將由幀內(nèi)預(yù)測模塊240或幀間預(yù)測模塊250創(chuàng)建的預(yù)測塊與由逆變換模塊230重構(gòu)的殘留塊相加以創(chuàng)建重構(gòu)塊。
幀內(nèi)預(yù)測模塊240在從熵解碼模塊210接收到的幀內(nèi)預(yù)測信息的基礎(chǔ)上重構(gòu)當(dāng)前塊的幀內(nèi)預(yù)測模式。然后,幀內(nèi)預(yù)測模塊240根據(jù)重構(gòu)的幀內(nèi)預(yù)測模式來創(chuàng)建預(yù)測塊。
幀間預(yù)測模塊250在從熵解碼模塊210接收到的幀間預(yù)測信息的基礎(chǔ)上重構(gòu)參考圖片索引和運(yùn)動(dòng)向量。然后,幀間預(yù)測模塊250使用所述參考圖片索引和運(yùn)動(dòng)向量來創(chuàng)建當(dāng)前塊的預(yù)測塊。當(dāng)應(yīng)用具有十進(jìn)制預(yù)測的運(yùn)動(dòng)補(bǔ)償時(shí),應(yīng)用選擇的內(nèi)插濾波器以創(chuàng)建預(yù)測塊。
后處理模塊260的操作與圖1所示的后處理模塊160的操作相同,并且因此將不再描述。
圖片緩沖器270以圖片為單元存儲經(jīng)過后處理模塊260后處理的解碼圖像。
圖3是例示根據(jù)本發(fā)明實(shí)施方式的在運(yùn)動(dòng)圖像解碼設(shè)備200中創(chuàng)建幀內(nèi)預(yù)測塊的方法的圖。
首先,熵解碼模塊210對來自接收到的比特流的幀內(nèi)預(yù)測信息進(jìn)行熵解碼(s110)。
幀內(nèi)預(yù)測信息包括幀內(nèi)預(yù)測模式組指示符和預(yù)測模式索引。幀內(nèi)預(yù)測模式組指示符指示當(dāng)前塊的幀內(nèi)預(yù)測模式是屬于mpm組還是mpm組以外的組。預(yù)測模式索引是指示由幀內(nèi)預(yù)測模式組指示符所指示的幀內(nèi)預(yù)測模式組中的特定幀內(nèi)預(yù)測模式的信息。
然后,幀內(nèi)預(yù)測模塊240使用與當(dāng)前塊相鄰的塊的幀內(nèi)預(yù)測模式來創(chuàng)建mpm組并接著重構(gòu)當(dāng)前塊的幀內(nèi)預(yù)測模式(s120)。mpm組包括三個(gè)幀內(nèi)預(yù)測模式。這將參照圖4來描述。圖4是例示根據(jù)本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式的圖。
(1)在當(dāng)前塊的上部塊或左側(cè)塊的幀內(nèi)預(yù)測模式都存在并且彼此不同時(shí),mpm組包括兩個(gè)幀內(nèi)預(yù)測模式和一個(gè)附加幀內(nèi)預(yù)測模式。
當(dāng)兩個(gè)幀內(nèi)預(yù)測模式中的一個(gè)是dc模式并且另一個(gè)不是平面模式時(shí),附加幀內(nèi)預(yù)測模式可以是平面模式。類似地,當(dāng)兩個(gè)幀內(nèi)預(yù)測模式中的一個(gè)是平面模式并且另一個(gè)不是dc模式時(shí),附加幀內(nèi)預(yù)測模式可以是dc模式。
當(dāng)兩個(gè)幀內(nèi)預(yù)測模式是dc模式和平面模式時(shí),附加幀內(nèi)預(yù)測模式可以是垂直模式或水平模式。
當(dāng)兩個(gè)幀內(nèi)預(yù)測模式既不是dc模式又不是平面模式時(shí),附加幀內(nèi)預(yù)測模式可以是在兩個(gè)幀內(nèi)預(yù)測模式之間具有方向性的幀內(nèi)預(yù)測模式,或者是dc模式或平面模式。
(2)在當(dāng)前塊的上部塊或左側(cè)塊的幀內(nèi)預(yù)測模式都存在且彼此相同時(shí),mpm組包括幀內(nèi)預(yù)測模式和兩個(gè)附加幀內(nèi)預(yù)測模式。
當(dāng)幀內(nèi)預(yù)測模式既不是dc模式又不是平面模式時(shí),兩個(gè)附加幀內(nèi)預(yù)測模式被設(shè)置為與幀內(nèi)預(yù)測模式相鄰的兩個(gè)幀內(nèi)預(yù)測模式。當(dāng)幀內(nèi)預(yù)測模式是dc模式時(shí),兩個(gè)附加幀內(nèi)預(yù)測模式可以是平面模式和垂直模式。
(3)當(dāng)只存在當(dāng)前塊的上部塊或左側(cè)塊的幀內(nèi)預(yù)測模式中的一個(gè)時(shí),mpm組包括幀內(nèi)預(yù)測模式和兩個(gè)附加幀內(nèi)預(yù)測模式。兩個(gè)附加幀內(nèi)預(yù)測模式根據(jù)幀內(nèi)預(yù)測模式而確定。
(4)在當(dāng)前塊的上部塊或左側(cè)塊的幀內(nèi)預(yù)測模式根本不存在時(shí),mpm組包括dc模式、平面模式和垂直模式。
當(dāng)幀內(nèi)預(yù)測模式組指示符指示mpm組時(shí),幀內(nèi)預(yù)測模塊240從該mpm組中選擇由預(yù)測模式索引指示的幀內(nèi)預(yù)測模式,并且將所選擇的幀內(nèi)預(yù)測模式確定為當(dāng)前塊的幀內(nèi)預(yù)測模式。幀內(nèi)預(yù)測模式組指示符可以是表示當(dāng)前塊的幀內(nèi)預(yù)測模式是屬于mpm組還是mpm組以外的組的標(biāo)記信息。
當(dāng)幀內(nèi)預(yù)測模式組指示符不指示mpm組時(shí),幀內(nèi)預(yù)測模塊240將屬于mpm組的幀內(nèi)預(yù)測模式以外的幀內(nèi)預(yù)測模式(在下文中被稱作殘留幀內(nèi)預(yù)測模式)中的預(yù)測模式索引所指示的幀內(nèi)預(yù)測模式確定為當(dāng)前塊的幀內(nèi)預(yù)測模式。指派給殘留幀內(nèi)預(yù)測模式的預(yù)測模式索引可以根據(jù)mpm組的配置來改變。也就是說,解碼的預(yù)測模式索引指示根據(jù)mpm組的配置而重新排列的殘留幀內(nèi)預(yù)測模式的索引。因此,幀內(nèi)預(yù)測模塊240根據(jù)解碼的預(yù)測模式索引和屬于mpm組的幀內(nèi)預(yù)測模式從殘留幀內(nèi)預(yù)測模式中選擇當(dāng)前塊的幀內(nèi)預(yù)測模式。
具體地說,按照模式編號次序重新排列當(dāng)前塊的殘留幀內(nèi)爾預(yù)測模式,并且將與接收到的預(yù)測模式索引相對應(yīng)的幀內(nèi)預(yù)測模式選擇為當(dāng)前塊的幀內(nèi)預(yù)測模式。在這種情況下,可以重新排列殘留幀內(nèi)預(yù)測模式,但是當(dāng)前塊的幀內(nèi)預(yù)測模式可以通過將屬于mpm組的幀內(nèi)預(yù)測模式編號與當(dāng)前塊的幀內(nèi)預(yù)測模式索引進(jìn)行比較來確定。
這種方法可應(yīng)用于模式編號2被指派給非方向性模式的dc模式,模式編號34被指派給平面模式,并且方向性模式編號被指派給其它模式的情況。然而,由于選擇平面模式和dc模式作為當(dāng)前塊的幀內(nèi)預(yù)測模式的概率高于其它方向性模式,因此將小的模式編號(例如,模式編號0)指派給平面模式并且可以應(yīng)用上述方法。在這種情況下,其它排序較低的模式的模式編號增加1。
另選地,可以將最低的索引指派給非方向性模式。例如,在當(dāng)前塊的幀內(nèi)預(yù)測模式是平面模式并且殘留幀內(nèi)預(yù)測模式包括平面模式時(shí),幀內(nèi)預(yù)測模式索引可以包括0。例如,當(dāng)殘留幀內(nèi)預(yù)測模式包括平面模式和dc模式時(shí),在按照平面模式、dc模式和方向性模式的次序來排列這些模式的狀態(tài)下,可以將預(yù)測模式索引相對應(yīng)的幀內(nèi)預(yù)測模式設(shè)置為當(dāng)前塊的幀內(nèi)預(yù)測模式。例如,模式編號0和模式編碼1可以分別指派給平面模式和dc模式,或者模式編號0和模式編碼1可以分別指派給dc模式和平面模式。在這種情況下,可以將當(dāng)前塊的幀內(nèi)預(yù)測模式索引屬于mpm組的幀內(nèi)預(yù)測模式編號進(jìn)行比較以確定當(dāng)前塊的幀內(nèi)預(yù)測模式。
幀內(nèi)預(yù)測模塊240使用指示當(dāng)前塊的變換大小的信息來確定預(yù)測塊的大小(s130)。
當(dāng)預(yù)測塊的大小等于當(dāng)前塊的大小時(shí),使用當(dāng)前塊的幀內(nèi)預(yù)測模式和當(dāng)前塊的參考像素來創(chuàng)建預(yù)測塊。參考像素是在當(dāng)前塊之前被重構(gòu)或創(chuàng)建的像素。
當(dāng)預(yù)測塊的大小小于當(dāng)前塊的大小時(shí)(即,在當(dāng)前塊可以被劃分成多個(gè)子塊并且可以對這些子塊執(zhí)行幀內(nèi)預(yù)測時(shí)),使用同一幀內(nèi)預(yù)測模式(即,當(dāng)前塊的幀內(nèi)預(yù)測模式)來創(chuàng)建每個(gè)子塊的預(yù)測塊。解碼次序中的第二子塊或隨后子塊的預(yù)測塊使用之前子塊的重構(gòu)像素來創(chuàng)建。因此,在以子塊為單元?jiǎng)?chuàng)建預(yù)測塊、殘留塊和重構(gòu)塊之后,下一個(gè)子塊的預(yù)測塊被創(chuàng)建。
幀內(nèi)預(yù)測模塊240確定與預(yù)測塊的大小相對應(yīng)的塊的參考像素是否全部有效(s140)。參考像素是之前解碼或重構(gòu)的像素。當(dāng)確定參考像素中的至少一個(gè)無效時(shí),創(chuàng)建該參考像素(s150)。
具體地說,當(dāng)確定參考像素根本無效時(shí),使用值2l-1替換參考像素值。這里,l表示代表亮度分量的灰度的比特的數(shù)量。
當(dāng)僅在無效參考像素的位置的一個(gè)方向上存在有效的參考像素時(shí),復(fù)制有效參考像素中的最靠近參考像素以創(chuàng)建參考像素。
當(dāng)在針對無效參考像素的位置的兩個(gè)方向上存在有效的參考像素時(shí),可以復(fù)制位于預(yù)定方向上的最靠近位置的參考像素可以,或者可以取在兩個(gè)方向上的兩個(gè)最靠近的參考像素的平均值以創(chuàng)建參考像素。
幀內(nèi)預(yù)測模塊240確定是否應(yīng)當(dāng)對參考像素進(jìn)行過濾(s160)。根據(jù)重構(gòu)的幀內(nèi)預(yù)測模式和預(yù)測塊的大小對參考像素進(jìn)行自適應(yīng)過濾(s170)。
當(dāng)幀內(nèi)預(yù)測模式是dc模式時(shí),幀內(nèi)預(yù)測模塊240不對參考像素進(jìn)行過濾。當(dāng)幀內(nèi)預(yù)測模式是垂直模式和水平模式時(shí),幀內(nèi)預(yù)測模塊240也不過濾參考像素。然而,當(dāng)幀內(nèi)預(yù)測模式是垂直模式和水平模式以外的方向性模式時(shí),根據(jù)幀內(nèi)預(yù)測模式和預(yù)測塊的大小對參考像素進(jìn)行自適應(yīng)過濾。當(dāng)預(yù)測塊的大小是4×4時(shí),不管幀內(nèi)預(yù)測模式如何,出于降低復(fù)雜性的目的,不對參考像素進(jìn)行過濾。過濾用于使參考像素之間的像素值的變化平滑并使用低通濾波器。低通濾波器可以是作為3-tap濾波器的[1,2,1]或者作為5-tap濾波器的[1,2,4,2,1]。當(dāng)預(yù)測塊的大小的范圍從8×8到32×32時(shí),隨著預(yù)測塊的大小的增加,在更多幀內(nèi)預(yù)測模式中對參考像素進(jìn)行過濾。
幀內(nèi)預(yù)測模塊240根據(jù)幀內(nèi)預(yù)測模式來創(chuàng)建預(yù)測塊(s180)。用于預(yù)測塊的參考像素可以是根據(jù)預(yù)測塊的大小和幀內(nèi)預(yù)測模式而被自適應(yīng)過濾的像素。
在dc模式中,位于(x=0,…,n-1,y=-1)的位置處的n個(gè)上部參考像素、位于(x=1-,y=0,…,m-1)的位置處的m個(gè)左側(cè)參考像素、以及位于(x=-1,y=-1)的位置處的角部像素的平均值可以確定為預(yù)測塊的預(yù)測像素。然而,可以使用該平均值的加權(quán)平均和與預(yù)測像素相鄰的參考像素來創(chuàng)建與參考像素相鄰的預(yù)測像素。在平面模式中,可以按照與dc模式中相同的方式來創(chuàng)建預(yù)測像素。
在垂直模式中,位于垂直方向上的參考像素被設(shè)置為預(yù)測像素。然而,可以使用位于垂直方向上的參考像素以及左側(cè)參考像素之間的變化來創(chuàng)建與左側(cè)參考像素相鄰的預(yù)測像素。所述變化表示角部參考像素和與預(yù)測像素相鄰的參考像素之間的變化。在水平模式中,除了方向之外,可以按照與垂直模式相同的方式來創(chuàng)建預(yù)測像素。
圖5是例示根據(jù)本發(fā)明實(shí)施方式的幀內(nèi)預(yù)測模式編碼順序的圖。下面將描述在圖1所示的運(yùn)動(dòng)圖像編碼設(shè)備中對當(dāng)前塊的幀內(nèi)預(yù)測模式進(jìn)行編碼的方法。這種方法可以由圖1所示的幀內(nèi)預(yù)測模塊110和熵編碼模塊140來執(zhí)行。
首先,確定當(dāng)前塊的幀內(nèi)預(yù)測模式(s210)。
然后,創(chuàng)建當(dāng)前塊的mpm組(s220)。創(chuàng)建mpm組的方法與在圖2所示的幀內(nèi)預(yù)測模式240中創(chuàng)建mpm組的方法相同,并且因此將不再描述。
隨后,確定當(dāng)前塊的幀內(nèi)預(yù)測模式是否屬于mpm組(s230)。
當(dāng)幀內(nèi)預(yù)測模式屬于mpm組時(shí),確定指示mpm組的標(biāo)記(即,幀內(nèi)預(yù)測模式組指示符)和指示mpm組中的特定幀內(nèi)預(yù)測模式的預(yù)測模式索引(s240)。
當(dāng)幀內(nèi)預(yù)測模式不屬于mpm組時(shí),確定未指示mpm組的標(biāo)記和指示mpm組的幀內(nèi)預(yù)測模式以外的幀內(nèi)預(yù)測模式(下文中被稱作殘留幀內(nèi)預(yù)測模式)中的特定幀內(nèi)預(yù)測模式的預(yù)測模式索引(s250)。
指示殘留幀內(nèi)預(yù)測模式中的當(dāng)前塊的幀內(nèi)預(yù)測模式的預(yù)測模式索引根據(jù)mpm組的配置而改變。也就是說,預(yù)測模式索引表示根據(jù)mpm組的配置而重新排列的殘留幀內(nèi)預(yù)測模式的索引。因此,預(yù)測模式索引根據(jù)當(dāng)前塊的幀內(nèi)預(yù)測模式和屬于mpm組的幀內(nèi)預(yù)測模式而確定。
具體地說,可以按照模式編號次序來重新排列當(dāng)前塊的殘留的幀內(nèi)預(yù)測模式,并且當(dāng)前塊的幀內(nèi)預(yù)測模式的次序可以確定為預(yù)測模式索引。另選地,殘留的幀內(nèi)預(yù)測模式可以重新排列,但是當(dāng)前塊的幀內(nèi)預(yù)測模式可以通過將屬于mpm組的幀內(nèi)預(yù)測模式編號與當(dāng)前塊的幀內(nèi)預(yù)測模式索引進(jìn)行比較來確定。
這種方法可應(yīng)用于模式編號2被指派給非方向性模式的dc模式,模式編號34被指派給平面模式,并且方向性模式編號被指派給其它模式的情況。然而,由于選擇平面模式和dc模式作為當(dāng)前的幀內(nèi)預(yù)測模式的概率高于其它方向性模式,因此將小的模式編號(例如,模式編號0)指派給平面模式并且可以應(yīng)用上述方法。在這種情況下,其它排序較低的模式的模式編號增加1。另選地,可以將最低索引指派給非方向性模式。例如,在當(dāng)前塊的幀內(nèi)預(yù)測模式是平面模式并且殘留幀內(nèi)預(yù)測模式包括平面模式時(shí),幀內(nèi)預(yù)測模式索引可以包括0。例如,當(dāng)殘留幀內(nèi)預(yù)測模式包括平面模式和dc模式時(shí),在按照平面模式、dc模式和方向性模式的次序?qū)@些模式進(jìn)行排列的情況下,可以將與預(yù)測模式索引相對應(yīng)的幀內(nèi)預(yù)測模式設(shè)置為當(dāng)前塊的幀內(nèi)預(yù)測模式。例如,模式編號0和模式編碼1可以分別指派給平面模式和dc模式,或者模式編號0和模式編碼1可以分別指派給dc模式和平面模式。在這種情況下,當(dāng)前塊的幀內(nèi)預(yù)測模式索引可以與屬于mpm組的幀內(nèi)預(yù)測模式編號進(jìn)行比較以確定當(dāng)前塊的幀內(nèi)預(yù)測模式。
盡管參照上述實(shí)施方式對本發(fā)明進(jìn)行了描述,但是本領(lǐng)域普通技術(shù)人員能夠理解的是,在不脫離所附的權(quán)利要求所描述到的本發(fā)明的精神和范圍的情況下,可以以各種形式對本發(fā)明做出修改和改變。