專利名稱::一種自適應(yīng)的幀預(yù)測(cè)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及視頻編碼技術(shù),尤其是指一種自適應(yīng)的幀預(yù)測(cè)的方法及裝置。
背景技術(shù):
:隨著多々某體技術(shù)和網(wǎng)絡(luò)技術(shù)的飛速發(fā)展和廣泛應(yīng)用,通過(guò)網(wǎng)絡(luò)來(lái)傳輸?shù)囊曨l數(shù)據(jù)變得越來(lái)越多。由于原始的視頻數(shù)據(jù)所需帶寬極大,同時(shí)有具有^f艮大的冗余性,因此通常將視頻數(shù)據(jù)經(jīng)過(guò)編碼壓縮后再進(jìn)行傳輸。在視頻編碼技術(shù)中,為了提高壓縮效率,通常將輸入的一幀視頻圖象分割成多個(gè)宏塊,并對(duì)各個(gè)宏塊進(jìn)行預(yù)測(cè)、變換、量化、編碼。其中,預(yù)測(cè)包括幀內(nèi)預(yù)測(cè)和幀間預(yù)測(cè),幀內(nèi)預(yù)測(cè)可去除空間冗余性,而幀間預(yù)測(cè)可去除時(shí)間冗余性。所述的幀間預(yù)測(cè)是利用圖像間數(shù)據(jù)的冗余,即活動(dòng)圖像序列中相鄰幀之間像素存在的相關(guān)性,根據(jù)相鄰的幀進(jìn)行圖像預(yù)測(cè)的技術(shù)。在幀間預(yù)測(cè)過(guò)程中,可以采用不同大小的匹配塊,例如,可將一個(gè)大小為(16xl6)(單位為象素點(diǎn))的宏塊劃分成大小為(16x8)、(8x16)或(8x8)的子塊,最小可被劃分成大小為(4x4)的子塊,進(jìn)行運(yùn)動(dòng)搜索和匹配;對(duì)宏塊進(jìn)行劃分后,可通過(guò)對(duì)當(dāng)前幀的前向幀、后向幀或雙向的參考幀的選擇,采用不同大小的匹配塊進(jìn)行運(yùn)動(dòng)搜索和匹配,根據(jù)不同的預(yù)測(cè)模式對(duì)子塊進(jìn)行預(yù)測(cè),得到子塊的子塊殘差;然后對(duì)不同子塊的子塊殘差使用整數(shù)離散余弦變換(IDCT),從而得到碼率失真比,并通過(guò)碼率失真比來(lái)選擇最優(yōu)的塊劃分的方法和預(yù)測(cè)模式進(jìn)行幀間預(yù)測(cè)。而在幀內(nèi)預(yù)測(cè)中,目前運(yùn)用廣泛的浮見(jiàn)頻編解碼標(biāo)準(zhǔn)H.264/AVC在以前標(biāo)準(zhǔn)中的幀內(nèi)宏塊預(yù)測(cè)方式的基礎(chǔ)上,提出了一種新的幀內(nèi)預(yù)測(cè)方法,即將一幀圖象分割成多個(gè)大小為(16x16)的宏塊,然后再分別將各個(gè)宏塊劃分成16個(gè)(4x4)的子塊,并對(duì)每一個(gè)子塊分別進(jìn)行幀內(nèi)預(yù)測(cè),并各自有獨(dú)立的預(yù)測(cè)模式。在H.264/AVC中,對(duì)每個(gè)(4x4)的子塊來(lái)說(shuō),可使用如圖1所示的9種預(yù)測(cè)模式。此外,H.264/AVC中還包含了基于大小為(8x8)和(16x16)的子塊的幀內(nèi)預(yù)測(cè)模式。在現(xiàn)有技術(shù)中,有一種針對(duì)H.264/AVC的雙向幀內(nèi)預(yù)測(cè)方法。該方法將H.264/AVC中已有的9種預(yù)測(cè)模式,按照一定的加權(quán)系數(shù)兩兩結(jié)合,從而得到36種新的預(yù)測(cè)模式,使得幀內(nèi)預(yù)測(cè)的模式達(dá)到9+36=45種。而在現(xiàn)有技術(shù)中,還提出了一種針對(duì)H.264/AVC的自適應(yīng)的變換方法,即將宏塊劃分成如圖2所示的大小為(4x8)或(8x4)的非正方形的子塊,并對(duì)于上述非正方形子塊提出了非正方形的整數(shù)離散余弦變換(IDCT)。其中,圖2中還給出了將宏塊劃分成(4x4)和(8x8)的正方形的子塊的示意圖。此外,在現(xiàn)有技術(shù)中,還提出了一種針對(duì)雙向幀內(nèi)預(yù)測(cè)的KL變換,即在對(duì)大小為(4x4)和(8x8)的子塊進(jìn)行雙向幀內(nèi)預(yù)測(cè)后,使用K-L變換來(lái)替代原有的IDCT對(duì)預(yù)測(cè)結(jié)果進(jìn)行變換。K-L變換是建立在統(tǒng)計(jì)特性基礎(chǔ)上的一種變換方法,其突出優(yōu)點(diǎn)是相關(guān)性好,是均方誤差意義下的最佳變換,在數(shù)據(jù)壓縮技術(shù)中占有重要地位。在上述的現(xiàn)有技術(shù)中,無(wú)論是H.264/AVC中的幀內(nèi)預(yù)測(cè)方法,還是雙向幀內(nèi)預(yù)測(cè)方法,它們的模式選擇的適應(yīng)性都依賴于對(duì)殘差的變換及量化。由于所劃分的子塊為規(guī)則的正方形,且所使用的變換方法為傳統(tǒng)的整數(shù)離散余弦變換(IDCT),因此會(huì)破壞圖像中連續(xù)的紋理特性,從而將導(dǎo)致明顯的塊效應(yīng)。而無(wú)論是上述幀間預(yù)測(cè)中的變換方法,還時(shí)幀內(nèi)預(yù)測(cè)中的自適應(yīng)的變換方法和雙向幀內(nèi)預(yù)測(cè)的KL變換方法,它們的變換方法都是基于當(dāng)前的規(guī)則劃分塊。雖然雙向幀內(nèi)預(yù)測(cè)的KL變換方法取代了傳統(tǒng)的IDCT,但是由于不同的塊劃分方法所產(chǎn)生的子塊具有不同的能量分布,因此如果仫使用單一的變換方法,將導(dǎo)致編碼效率不高。
發(fā)明內(nèi)容有鑒于此,本發(fā)明實(shí)施例的主要目的在于提供一種自適應(yīng)的幀預(yù)測(cè)的方法及裝置,從而可根據(jù)最優(yōu)的幀預(yù)測(cè)方法來(lái)進(jìn)行幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè)。為達(dá)到上述目的,本發(fā)明實(shí)施例中的技術(shù)方案是這樣實(shí)現(xiàn)的一種自適應(yīng)的幀預(yù)測(cè)的方法,該方法包括使用至少一種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分;使用至少一種預(yù)測(cè)模式對(duì)每種塊劃分的結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;根據(jù)所得到的所有碼率失真比中具有最小值的碼率失真比所對(duì)應(yīng)的塊劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀予貞測(cè)。本發(fā)明的實(shí)施例中還提供了一種自適應(yīng)的幀預(yù)測(cè)裝置,該裝置包括塊劃分模塊、預(yù)測(cè)模塊、變換模塊、選擇模塊和幀預(yù)測(cè)模塊;所述塊劃分模塊,用于使用至少一種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分,將塊劃分結(jié)果發(fā)送給預(yù)測(cè)模塊;所述預(yù)測(cè)模塊,用于使用至少一種預(yù)測(cè)模式對(duì)所接收到的每種塊劃分結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;將所述子塊殘差發(fā)送給變換模塊;所述變換模塊,用于根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)所接收到的每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;將所述碼率失真比發(fā)送給選擇模塊;所述選擇模塊,用于從所得到的所有碼率失真比中選擇具有最小值的碼率失真比,將所選擇的碼率失真比發(fā)送給幀預(yù)測(cè)模塊;所述幀預(yù)測(cè)模塊,用于根據(jù)所接收到的碼率失真比所對(duì)應(yīng)的劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀預(yù)測(cè)。綜上可知,本發(fā)明的實(shí)施例中提供了一種自適應(yīng)的幀預(yù)測(cè)的方法及裝置。通過(guò)使用本發(fā)明實(shí)施例所提供的方法及裝置,將傳統(tǒng)的幀內(nèi)預(yù)測(cè)技術(shù)和雙向預(yù)測(cè)技術(shù)組合后,利用不同的變換方法,選擇最優(yōu)的幀預(yù)測(cè)方法來(lái)實(shí)現(xiàn)靈活的幀內(nèi)預(yù)測(cè)或幀間預(yù)測(cè),為宏塊的幀內(nèi)、幀間編碼提供了最大的靈活性,可在不同的紋理特性的情況下,提供最優(yōu)的幀內(nèi)、幀間編碼性能,可更好地適應(yīng)宏塊的局部紋理統(tǒng)計(jì)特性,使得編碼效率得到顯著地提高。圖1為現(xiàn)有技術(shù)中的9中預(yù)測(cè)模式的示意圖。圖2為現(xiàn)有技術(shù)中的對(duì)宏塊的劃分結(jié)果的示意圖。圖3為本發(fā)明實(shí)施例中自適應(yīng)的幀內(nèi)預(yù)測(cè)方法的流程圖。圖4(a)和圖4(b)為本發(fā)明實(shí)施例中對(duì)宏塊的非規(guī)則的劃分方法示意圖。圖5為本發(fā)明實(shí)施例中對(duì)宏塊的另一種非規(guī)則的劃分方法的示意圖。圖6為本發(fā)明實(shí)施例中自適應(yīng)的幀內(nèi)預(yù)測(cè)裝置的示意圖。具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明再作進(jìn)一步詳細(xì)的說(shuō)明。在本發(fā)明的實(shí)施例中,將以需做幀內(nèi)預(yù)測(cè)的宏塊大小為(16xl6)個(gè)《象素點(diǎn)為例,對(duì)本發(fā)明的實(shí)施例中的技術(shù)方案進(jìn)行介紹。圖3為本發(fā)明實(shí)施例中自適應(yīng)的幀內(nèi)預(yù)測(cè)方法的流程圖。如圖3所示,本發(fā)明實(shí)施例中自適應(yīng)的幀內(nèi)預(yù)測(cè)方法包括如下所述的步驟步驟301,使用多種方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分。即可使用n(n〉1)種塊劃分的方法,將需^f故幀內(nèi)預(yù)測(cè)的宏塊劃分成子塊。由于不同的劃分方法將產(chǎn)生不同形狀或大小的子塊,因此使用n種塊劃分的方法后,將產(chǎn)生n種不同的劃分結(jié)果。一般來(lái)說(shuō),可將上述的n種塊劃分方法分成規(guī)則的塊劃分方法和非規(guī)則的塊劃分方法兩類。所述的規(guī)則的塊劃分方法,即所產(chǎn)生的子塊為矩形的塊劃分方法,包括如圖2所示的4種塊劃分方法;而所述的非規(guī)則的塊劃分方法即利用宏塊的紋理特性,將根據(jù)上線分割為兩個(gè)非矩形的子塊的塊劃分方法。例如,沿各個(gè)子塊的對(duì)角線將每個(gè)子塊劃分為兩個(gè)對(duì)稱的三角形的塊劃分方法,此時(shí),對(duì)于規(guī)則的塊劃分結(jié)果(4x8)和(8x4),可以有如圖4(a)所示的4種塊劃分方法,產(chǎn)生的劃分結(jié)果分別為(4x8—down)、(4x8—up)、(8x4—down)和(8x4—up);而對(duì)于規(guī)則的塊劃分結(jié)果(4x4)和(8x8),則可以有如圖4(b)所示的4種塊劃分方法,產(chǎn)生的劃分結(jié)果分別為(4x4—down)、(4x4—up)、(8x8一down)和(8x8—up)。此夕卜,還可以有如圖5所示的非MJ寸的塊劃分方法,即在形狀為矩形的子塊中,沿圖5所示的直線將矩形子塊劃分為兩個(gè)非矩形的子塊。該直線的中點(diǎn)與矩形子塊的幾何中心重合,且該直線可繞垂直于紙面并通過(guò)其中心的軸旋轉(zhuǎn),旋轉(zhuǎn)后的角度A可根據(jù)實(shí)際應(yīng)用情況或圖像的紋理特性預(yù)先進(jìn)行設(shè)定。步驟302,對(duì)每種劃分結(jié)果中的每個(gè)子塊均使用多種預(yù)測(cè)模式或預(yù)測(cè)方向進(jìn)行幀內(nèi)預(yù)測(cè)。即對(duì)上述n種劃分結(jié)果的每種劃分結(jié)果,都使用m(m〉l)種預(yù)測(cè)模式(例如,H.264/AVC中已有的9種預(yù)測(cè)模式,以及將上述9種預(yù)測(cè)模式按照一定的加權(quán)系數(shù)兩兩結(jié)合,從而得到的36種新的預(yù)測(cè)模式)對(duì)每種劃分結(jié)果中的每個(gè)子塊進(jìn)行幀內(nèi)預(yù)測(cè),并根據(jù)預(yù)測(cè)結(jié)果得到相應(yīng)的子塊殘差(即預(yù)測(cè)值與原始值的差值)。由于對(duì)于同一種劃分結(jié)果中的各個(gè)子塊所采用的預(yù)測(cè)模式相同,因此,經(jīng)過(guò)本步驟的處理后,可得到(nxm)個(gè)子塊殘差。步驟303,對(duì)每個(gè)子塊殘差,均使用多種變換方法進(jìn)行變換。即對(duì)于上述(nxm)個(gè)子塊殘差中的每一個(gè)子塊殘差,均使用k種變換方法進(jìn)行變換。由于使用不同的劃分方法、不同的預(yù)測(cè)模式或不同的變換方法時(shí),可得到不同的碼率失真比(RD—Cost),因此,經(jīng)過(guò)本步驟的處理后,將得到(nxmxk)個(gè)碼率失真比。此外,所述的變換方法可以為IDCT、K-L變換或小波變換。例如,對(duì)于上述所得到的子塊殘差,可按照兩種或兩種以上的變換方法做變換。所述的變換方法可以為IDCT或K-L變換。對(duì)于使用規(guī)則的塊劃分方法得到的子塊,可使用K-L變換或IDCT分別做變換;而對(duì)于使用非規(guī)則的塊劃分方法得到的子塊,則可利用K-L變換做變換。在做K-L變換時(shí),對(duì)于KL系數(shù)的選擇,可先設(shè)置一個(gè)統(tǒng)一整合的K-L變換(KLT)碼表,然后按照不同的塊劃分方法和不同的預(yù)測(cè)模式,在該統(tǒng)一整合的KLT碼表的一定范圍內(nèi)進(jìn)行搜索,從而得到最優(yōu)KL變換系數(shù),并按照最優(yōu)KL變換系數(shù)對(duì)子塊殘差做變換,從而得到碼率失真比。此外,對(duì)于KL系數(shù)的選擇,也可直接根據(jù)不同的塊劃分方法、不同的預(yù)測(cè)模式分別獲得相應(yīng)的KLT的系數(shù)碼表,并"fe照相應(yīng)的KL變換系數(shù)對(duì)子塊殘差做變換,從而得到碼率失真比。步驟304,根據(jù)具有最小值的碼率失真比所對(duì)應(yīng)的劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀內(nèi)預(yù)測(cè)。即從上述(nxmxk)個(gè)碼率失真比中選擇一個(gè)具有最小值的碼率失真比,并將該被選擇的碼率失真比所對(duì)應(yīng)的塊劃分方法、預(yù)測(cè)模式和變換方法,做為最優(yōu)的塊劃分方法、預(yù)測(cè)模式和變換方式對(duì)所述宏塊進(jìn)行幀內(nèi)預(yù)測(cè)。在選定上述最優(yōu)的塊劃分方法、預(yù)測(cè)模式和變換方式后,還需將所選擇的最優(yōu)的塊劃分方法、預(yù)測(cè)才莫式和變換方式分別通知給編碼端和解碼端,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的編碼和解碼,從而完成數(shù)據(jù)的傳輸。在本發(fā)明的實(shí)施例中,可通過(guò)對(duì)宏塊頭信息的修改來(lái)實(shí)現(xiàn)上述的通知。其中,由于宏塊頭信息已包括了對(duì)當(dāng)前模塊所使用的預(yù)測(cè)模式的信息,因此編碼端和解碼端可從宏塊頭信息中直接得到預(yù)測(cè)模式的信息。對(duì)于所使用的塊劃分方法的信息來(lái)說(shuō),由于存在上述的多種規(guī)則的塊劃分方法和非規(guī)則的塊劃分方法,因此,可以通過(guò)對(duì)原有的宏塊頭信息進(jìn)行相應(yīng)的^f奮改,即在宏塊頭信息中加入一個(gè)塊劃分標(biāo)志位(mb_partition—flag),然后根據(jù)具體的實(shí)際情況,對(duì)上述標(biāo)志位的值進(jìn)行設(shè)置,從而在編碼、解碼過(guò)程中可根據(jù)上述的標(biāo)志位的值來(lái)確定對(duì)宏塊的最優(yōu)的塊劃分方法。如表1所示,上述對(duì)宏塊頭信息的修改為表1<table>tableseeoriginaldocumentpage11</column></row><table>在表1中,macroblock—layer表示宏塊層,C表示重要性,Descriptor表示編碼類型;mb—type表示宏塊類型,其重要性為2,編碼方式可以為變長(zhǎng)編碼方法u(v)或基于上下文模型的編碼方法ae(v);mb_partition—flag表示新加入的標(biāo)志位,其重要性為2,編碼方式可以為變長(zhǎng)編碼u(v)或基于上下文編碼ae(v)。其中,u(v)中的v可以為2,此時(shí)u(2)表示定長(zhǎng)為2的變長(zhǎng)編碼方法,并可依此類推。在對(duì)上述的宏塊頭信息進(jìn)行設(shè)置后,在編碼或解碼過(guò)程中,編碼端或解碼端可根據(jù)上述宏塊頭信息中的宏塊類型和新加入的標(biāo)志位來(lái)確定所選擇的最優(yōu)的塊劃分方法。例如,如果可選的塊劃分方法為圖2所示的四種規(guī)則的塊劃分方法以及圖4(a)所示的四種塊劃分方式,則標(biāo)志位mb_partition—flag的長(zhǎng)度可以是2位(bit),可取0、1、2和3等四個(gè)值。此時(shí),可根據(jù)宏塊類型和標(biāo)志位的值來(lái)獲知所選擇的最優(yōu)的塊劃分方法,例如首先判斷宏塊的類型,如果宏塊的類型為14x4MB,則當(dāng)標(biāo)志位的值小于2時(shí),可知所選擇的最優(yōu)的塊劃分方法為規(guī)則的塊劃分方法,例如,當(dāng)標(biāo)志位的值為0時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(4x4)的規(guī)則的塊劃分方法;當(dāng)標(biāo)志位的值為1時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(4x8)的規(guī)則的塊劃分方法;而當(dāng)標(biāo)志位的值大于等于2時(shí),則可知所選擇的最優(yōu)的塊劃分方法為非規(guī)則的塊劃分方法,例如,當(dāng)標(biāo)志位的值為2時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(4x8—down)的非規(guī)則的塊劃分方法;當(dāng)標(biāo)志位的值為3時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(4x8—up)的非規(guī)則的塊劃分方法。同理,如果宏塊的類型為18x8MB,則當(dāng)標(biāo)志位的值小于2時(shí),則可知所選擇的最優(yōu)的塊劃分方法為規(guī)則的塊劃分方法,例如,當(dāng)標(biāo)志位的值為0時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(8x4)的規(guī)則的塊劃分方法;當(dāng)標(biāo)志位的值為1時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(8x8)的規(guī)則的塊劃分方法;而當(dāng)標(biāo)志位的值大于等于2時(shí),則可知所選擇的最優(yōu)的塊劃分方法為非規(guī)則的塊劃分方法,例如,當(dāng)標(biāo)志位的值為2時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(8x4—down)的非規(guī)則的塊劃分方法;當(dāng)標(biāo)志位的值為3時(shí),即表示所選擇的最優(yōu)的塊劃分方法為(8x4_up)的非規(guī)則的塊劃分方法。如上所述的實(shí)施方式,-f叉為本實(shí)施例中的一種4支佳實(shí)施方式。在實(shí)際應(yīng)用場(chǎng)景中,可根據(jù)具體的實(shí)際情況,靈活地設(shè)定上述標(biāo)志位的長(zhǎng)度,以及標(biāo)志位的值與塊劃分方法的對(duì)應(yīng)關(guān)系。例如,在上述的實(shí)施方式中,僅以使用圖4(a)中的四種非規(guī)則的劃分方式為例進(jìn)行了說(shuō)明,但在實(shí)際應(yīng)用情況下,還可使用圖4(b)中的四種非規(guī)則的劃分方式,或者使用圖4中所示的8種非規(guī)則的劃分方式中的若干種劃分方式。當(dāng)所使用的非規(guī)則的劃分方式超過(guò)4種時(shí),可擴(kuò)展標(biāo)志位的長(zhǎng)度,并重新設(shè)置標(biāo)志位的值與塊劃分方法的對(duì)應(yīng)關(guān)系。例如,可將標(biāo)志位的長(zhǎng)度擴(kuò)展為3bit,并設(shè)置標(biāo)志位的值與8種塊劃分方法的對(duì)應(yīng)關(guān)系。另外,對(duì)于所使用的變換方法的信息來(lái)說(shuō),由步驟303可知,如果所使用的變換方法為兩種,即IDCT和K-L變換時(shí),不4吏用IDCT,而使用K-L變換對(duì)非規(guī)則的劃分方法得到的子塊做變換,而對(duì)于通過(guò)規(guī)則的劃分方法得到的子塊,在每種預(yù)測(cè)模式下都可從上述2種變換方法中選擇一種變換方法,因此還需要在宏塊預(yù)測(cè)信息后增加一個(gè)長(zhǎng)度為1位(bit)的變換標(biāo)志位,即宏塊變化類型(Mb—Transform—Type);編碼端和解碼端可才艮據(jù)此標(biāo)志位來(lái)確定對(duì)當(dāng)前子塊的變換方法。添加后的宏塊變化類型在宏塊預(yù)測(cè)變換語(yǔ)法中的位置如表2所示表2<table>tableseeoriginaldocumentpage13</column></row><table>志位,而是根據(jù)事先約定好的規(guī)則,根據(jù)塊劃分方式確定對(duì)當(dāng)前子塊的變換方法。例如,以使用的變換方法為兩種,即IDCT和K-L變換為例,編碼端和解碼端可事先達(dá)成如下的變換方法與劃分方法和預(yù)測(cè)模式之間的對(duì)應(yīng)關(guān)系如果所選擇的塊劃分方法為規(guī)則的塊劃分方法(4x4)、(8x8)、(4x8)或(8x4),且對(duì)于劃分結(jié)果中的子塊中的采用垂直、橫向或直流(DC)預(yù)測(cè)模式時(shí),則可利用IDCT對(duì)當(dāng)前子塊做變換;如果所選擇的塊劃分方法為規(guī)則的塊劃分方法(4x4)、(8x8)、(4x8)或(8x4),且對(duì)于劃分結(jié)果中的子塊中的不采用垂直、橫向或直流(DC)預(yù)測(cè)模式時(shí),或者所選擇的塊劃分方法為非規(guī)則的塊劃分方法時(shí),則可利用K-L變換(KLT)對(duì)當(dāng)前子塊做變換。根據(jù)上述事先達(dá)成的變換方法與劃分方法和預(yù)測(cè)模式之間的對(duì)應(yīng)關(guān)系,編碼端和解碼端可根據(jù)已經(jīng)獲知的塊劃分方法以及預(yù)測(cè)模式,直接獲知對(duì)當(dāng)前子塊所使用的變換方法。同理,當(dāng)所使用的變換方法為兩種以上時(shí),則可將上述增加的在宏塊頭信息中的標(biāo)志位的長(zhǎng)度適當(dāng)延長(zhǎng)(例如,2bit,3bit,…等),使得編碼端和解碼端可根據(jù)此標(biāo)志位來(lái)確定對(duì)當(dāng)前子塊的變換方法;或者可通過(guò)事先達(dá)成的約定,獲知對(duì)當(dāng)前子塊的變換方法。以上所述為自適應(yīng)的幀內(nèi)預(yù)測(cè)方法,由于幀間預(yù)測(cè)法與幀內(nèi)預(yù)觀'J的不同點(diǎn)在于塊劃分的方式以及進(jìn)行預(yù)測(cè)的方法,即幀間預(yù)測(cè)主要是利用前、后幀的信息作為預(yù)測(cè)的參考信息,并采用不同大小的子塊在參考幀上進(jìn)行運(yùn)動(dòng)搜索和匹配,找尋匹配塊,得到子塊殘差并進(jìn)行變換;而幀內(nèi)預(yù)測(cè)的的參考信息主要為為同一幀內(nèi)的宏塊周?chē)男畔?。因此,上述自適應(yīng)的幀內(nèi)預(yù)測(cè)方法也可應(yīng)用到幀間預(yù)測(cè)上,由于所使用的方法是類似的,因此不再贅述。圖6為本發(fā)明實(shí)施例中自適應(yīng)的幀預(yù)測(cè)裝置的示意圖。如圖6所示,本發(fā)明實(shí)施例中自適應(yīng)的幀內(nèi)預(yù)測(cè)裝置包括塊劃分模塊、預(yù)測(cè)模塊、變換模塊、選擇模塊和幀預(yù)測(cè)模塊。所述塊劃分模塊,用于使用至少一種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分,將塊劃分結(jié)果發(fā)送給預(yù)測(cè)模塊;所述預(yù)測(cè)模塊,用于使用至少一種預(yù)測(cè)模式對(duì)所接收到的每種塊劃分結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;將所述子塊殘差發(fā)送給變換模塊;所述變換模塊,用于根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)所接收到的每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;將所述碼率失真比發(fā)送給選擇模塊;所述選擇模塊,用于從所得到的所有碼率失真比中選擇具有最小值的碼率失真比,將所選擇的碼率失真比發(fā)送給幀預(yù)測(cè)模塊;所述幀內(nèi)預(yù)測(cè)模塊,用于根據(jù)所接收到的碼率失真比所對(duì)應(yīng)的劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀內(nèi)預(yù)測(cè),輸出幀內(nèi)預(yù)測(cè)結(jié)果。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。權(quán)利要求1、一種自適應(yīng)的幀預(yù)測(cè)的方法,其特征在于,該方法包括使用至少一種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分;使用至少一種預(yù)測(cè)模式對(duì)每種塊劃分的結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;根據(jù)所得到的所有碼率失真比中具有最小值的碼率失真比所對(duì)應(yīng)的塊劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀預(yù)測(cè)。2、根據(jù)權(quán)利要求1所述的方法,其特征在于,當(dāng)所述幀預(yù)測(cè)為幀內(nèi)預(yù)測(cè)時(shí),所述塊劃分的方法包括至少一種非規(guī)則的塊劃分方法。3、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述非規(guī)則的塊劃分方法包括將每一個(gè)形狀為矩形的子塊,沿非垂直且非水平的直線分割為兩個(gè)非矩形的子塊的塊劃分方法。4、根據(jù)權(quán)利要求3所述的方法,其特征在于,所述非規(guī)則的塊劃分方法包括將每一個(gè)形狀為矩形的子塊,沿矩形的對(duì)角線分割為兩個(gè)非矩形的子塊的劃分方法。5、根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)每個(gè)子塊殘差進(jìn)行變換包括當(dāng)所述當(dāng)前子塊的類型為非規(guī)則的塊劃分方法所產(chǎn)生的子塊時(shí),則選擇除整數(shù)離散余弦變換之外的至少一種變換方法對(duì)當(dāng)前子塊的子塊殘差做變換;當(dāng)所述當(dāng)前子塊的類型為規(guī)則的塊劃分方法所產(chǎn)生的子塊時(shí),則選擇至少兩種變換方法對(duì)當(dāng)前子塊的子塊殘差做變換。6、根據(jù)權(quán)利要求1所述的方法,其特征在于,所述變換方法包括整數(shù)離散余弦變換、K-L變換或小波變換。7、根據(jù)權(quán)利要求3所述的方法,其特征在于,當(dāng)使用K-L變換對(duì)子塊殘差進(jìn)行變換時(shí)按照不同的塊劃分方法和不同的預(yù)測(cè)模式,在預(yù)先設(shè)置的整合的K-L變換碼表中進(jìn)行搜索,得到最優(yōu)的K-L變換系數(shù),并按照最優(yōu)K-L變換系數(shù)對(duì)子塊殘差做K-L變換;或根據(jù)不同的塊劃分方法和不同的預(yù)測(cè)模式,分別獲得相應(yīng)的K-L變換系數(shù)碼表,并按照相應(yīng)的K-L變換系數(shù)對(duì)子塊殘差做K-L變換。8、根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括在宏塊頭信息中設(shè)置塊劃分標(biāo)志位,根據(jù)宏塊類型和所述塊劃分標(biāo)志位的值確定對(duì)宏塊進(jìn)行塊劃分的塊劃分方法。9、根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括在宏塊預(yù)測(cè)信息后設(shè)置變換標(biāo)志位,根據(jù)所述變換標(biāo)志位的值確定對(duì)當(dāng)前子塊的子塊殘差進(jìn)行變換的變換方法。10、根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括根據(jù)預(yù)先設(shè)定的變換方法與劃分方法和預(yù)測(cè)模式之間的對(duì)應(yīng)關(guān)系,并根據(jù)當(dāng)前的劃分方法和預(yù)測(cè)模式確定對(duì)當(dāng)前子塊的子塊殘差進(jìn)進(jìn)行變換的變換方法。11、一種自適應(yīng)的幀預(yù)測(cè)裝置,其特征在于,該裝置包括塊劃分模塊、預(yù)測(cè)模塊、變換模塊、選擇模塊和幀預(yù)測(cè)模塊;所述塊劃分模塊,用于使用至少一種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分,將塊劃分結(jié)果發(fā)送給預(yù)測(cè)模塊;所述預(yù)測(cè)模塊,用于使用至少一種預(yù)測(cè)模式對(duì)所接收到的每種塊劃分結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;將所述子塊殘差發(fā)送給變換模塊;所述變換模塊,用于根據(jù)子塊的類型選擇至少一種或至少兩種變換方法對(duì)所接收到的每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;將所述碼率失真比發(fā)送給選擇模塊;所述選擇模塊,用于從所得到的所有碼率失真比中選擇具有最小值的碼率失真比,將所選擇的碼率失真比發(fā)送給幀預(yù)測(cè)模塊;所述幀預(yù)測(cè)模塊,用于根據(jù)所接收到的碼率失真比所對(duì)應(yīng)的劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行幀預(yù)測(cè)。全文摘要本發(fā)明實(shí)施例中公開(kāi)了一種自適應(yīng)的預(yù)測(cè)的方法,該方法包括使用多種塊劃分的方法對(duì)需做幀內(nèi)預(yù)測(cè)的宏塊進(jìn)行塊劃分;使用多種預(yù)測(cè)模式對(duì)每種塊劃分的結(jié)果中的每個(gè)子塊進(jìn)行預(yù)測(cè),得到當(dāng)前子塊的子塊殘差;根據(jù)子塊的類型選擇多種變換方法對(duì)每個(gè)子塊殘差進(jìn)行變換,得到當(dāng)前子塊的碼率失真比;根據(jù)所得到的所有碼率失真比中具有最小值的碼率失真比所對(duì)應(yīng)的塊劃分方法、預(yù)測(cè)模式和變換方法對(duì)所述宏塊進(jìn)行預(yù)測(cè)。本發(fā)明實(shí)施例中公開(kāi)了一種自適應(yīng)的預(yù)測(cè)裝置,該裝置包括塊劃分模塊、預(yù)測(cè)模塊、變換模塊、選擇模塊和幀預(yù)測(cè)模塊。通過(guò)使用所述方法及裝置,可靈活地進(jìn)行宏塊的幀內(nèi)或幀間編碼,更好地適應(yīng)宏塊的局部紋理統(tǒng)計(jì)特性,提高編碼效率。文檔編號(hào)H04N7/32GK101415121SQ20071018182公開(kāi)日2009年4月22日申請(qǐng)日期2007年10月15日優(yōu)先權(quán)日2007年10月15日發(fā)明者傅佳莉,劉盈嘉,周建同,張曉森,林四新,熊聯(lián)歡,謝清鵬,山高申請(qǐng)人:華為技術(shù)有限公司