專利名稱:編碼方法、解碼方法、編碼裝置、解碼裝置及編解碼系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種編碼方法、解碼方法、編碼裝置、解碼裝置及編解碼系統(tǒng)。
背景技術(shù):
視頻技術(shù)在現(xiàn)代生活中得到了廣泛的應(yīng)用,一般來說,為了提高視頻質(zhì)量或減少視頻體積,常常需要對視頻進(jìn)行編解碼。現(xiàn)有的混合編碼框架下的編解碼流程大致為在編碼端,視頻信號首先會經(jīng)過預(yù)測模塊,編碼器依照一定的最優(yōu)化準(zhǔn)則從若干種預(yù)測模式中選擇最佳的一種,然后生成殘差信號;殘差信號經(jīng)過變換量化后進(jìn)入熵編碼模塊,并最終形成輸出碼流;在解碼端,首先從碼流中解析出預(yù)測模式信息,生成與編碼端完全一致的預(yù)測信號;接著解析出碼流中已經(jīng)量化過的變換系數(shù)值,進(jìn)行反量化與反變換,生成重構(gòu)殘差信號;最后用預(yù)測信號與重建殘差信號合成出重構(gòu)視頻信號。在混合編碼框架下,引入了變換這一過程,變換的作用是通過對殘差塊進(jìn)行某種線性運算,將殘差變換為另外一種表達(dá)形式,并且在這種表達(dá)形式下,數(shù)據(jù)的能量集中在少數(shù)的幾個變換系數(shù)上,其余大部分的系數(shù)的能量很低或者為零,從而提高熵編碼的性能?,F(xiàn)有技術(shù)中基于變換的一種視頻編碼方式的大致思想為1)通過幀內(nèi)預(yù)測后,在預(yù)測方向上依然存在最強(qiáng)的殘差,變換應(yīng)該根據(jù)預(yù)測方向的不同,針對性地進(jìn)行設(shè)計;2)對每個預(yù)測方向,為了求得其最佳的變換矩陣,首先編碼一些標(biāo)準(zhǔn)視頻序列,記錄每個預(yù)測方向的殘差數(shù)據(jù),然后再根據(jù)最優(yōu)變換的準(zhǔn)則,利用這些殘差數(shù)據(jù)訓(xùn)練得到一組最佳的變換矩陣;3)按照獲取得到的最佳的變換矩陣進(jìn)行編碼。 上述技術(shù)方案中,對于每個預(yù)測方向,都需要求得其最佳的變換矩陣,而每個預(yù)測方向都與一個變換矩陣存在綁定的關(guān)系,只有當(dāng)預(yù)測方向與變換矩陣的方向一致時,該變換矩陣才是該預(yù)測方向的最佳變換矩陣,但是,在實際應(yīng)用中,預(yù)測方向和變換矩陣方向卻常常不一致,所以當(dāng)預(yù)測方向和變換矩陣方向不一致時,在某些預(yù)測方向無法求得最佳變換矩陣,因此該方案并不能適用于這種情況,從而影響了編碼性能。
發(fā)明內(nèi)容
本發(fā)明實施例提供了一種編碼方法、解碼方法、編碼裝置、解碼裝置及編解碼系統(tǒng),能夠提高編碼性能。本發(fā)明實施例提供的編碼方法,包括對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號; 獲取所述殘差信號的殘差紋理預(yù)測方向;根據(jù)預(yù)置準(zhǔn)則從所述視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;若所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向不一致,則采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果,對所述編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;對所述變換結(jié)果以及所述編碼結(jié)果進(jìn)行編碼得到編碼流。本發(fā)明實施例提供的解碼方法,包括對接收到的編碼流進(jìn)行解析,得到變換結(jié)果;若對所述編碼流進(jìn)行解析還得到編碼變換矩陣的索引,則根據(jù)所述編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣;采用所述解碼變換矩陣對所述變換結(jié)果進(jìn)行反變換得到殘差信號,根據(jù)所述殘差信號重建視頻數(shù)據(jù)。本發(fā)明實施例提供的編碼裝置,包括殘差處理單元,用于對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號;獲取單元,用于獲取所述殘差信號的殘差紋理預(yù)測方向;矩陣選取單元,用于根據(jù)預(yù)置準(zhǔn)則從所述視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;方向比較單元,用于判斷所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向是否一致,若不一致, 則觸發(fā)索引編碼單元以及變換單元執(zhí)行相應(yīng)操作;索引編碼單元,用于對所述編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;變換單元,用于采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果;數(shù)據(jù)編碼單元,用于對所述變換結(jié)果以及所述編碼結(jié)果進(jìn)行編碼得到編碼流。本發(fā)明實施例提供的解碼裝置,包括解析單元,用于對接收到的編碼流進(jìn)行解析,得到變換結(jié)果;索引解碼單元,用于當(dāng)所述解析單元對所述編碼流進(jìn)行解析得到編碼變換矩陣的索引時,根據(jù)所述編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣;反變換單元,用于采用所述解碼變換矩陣對所述變換結(jié)果進(jìn)行反變換得到殘差信號;重建單元,用于根據(jù)所述殘差信號重建視頻數(shù)據(jù)。本發(fā)明實施例提供的編解碼系統(tǒng),包括編碼裝置以及解碼裝置。從以上技術(shù)方案可以看出,本發(fā)明實施例具有以下優(yōu)點本發(fā)明實施例中,在獲得殘差信號之后,可以根據(jù)預(yù)置準(zhǔn)則從視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣,并采用編碼變換矩陣對殘差信號進(jìn)行變換,并對編碼變換矩陣的索引進(jìn)行編碼,所以無需考慮殘差紋理預(yù)測方向和變換矩陣的方向之間的關(guān)系, 本發(fā)明實施例的方案均能有效適用,從而提高了編碼性能。
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實施例中編碼方法一個實施例示意圖;圖2為本發(fā)明實施例中編碼方法另一實施例示意圖;圖3為本發(fā)明實施例中解碼方法一個實施例示意圖;圖4為本發(fā)明實施例中解碼方法另一實施例示意圖;圖5為本發(fā)明實施例中編碼過程流程圖;圖6為本發(fā)明實施例中解碼過程流程圖;圖7為本發(fā)明實施例中的編碼裝置實施例示意圖;圖8為本發(fā)明實施例中的解碼裝置實施例示意圖9為本發(fā)明實施例中的編解碼系統(tǒng)實施例示意圖。
具體實施例方式下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實施例提供了一種編碼方法、解碼方法、編碼裝置、解碼裝置及編解碼系統(tǒng),能夠提高編碼性能。請參閱圖1,本發(fā)明實施例中編碼方法一個實施例包括101、對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號;當(dāng)需要對視頻數(shù)據(jù)進(jìn)行編碼時,首先會對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號,具體的過程為本領(lǐng)域技術(shù)人員的公知常識,此處不作限定。102、獲取殘差信號的殘差紋理預(yù)測方向;得到殘差信號之后,可以獲取該殘差信號的殘差紋理預(yù)測方向。103、根據(jù)預(yù)置準(zhǔn)則從視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;本實施例中,候選變換矩陣可以在方案執(zhí)行前就預(yù)先設(shè)置,具體可以是在視頻數(shù)據(jù)的訓(xùn)練過程中,根據(jù)開銷均衡的原則確定使用一個候選變換矩陣,或者確定使用若干個候選變換矩陣。一般來說,候選變換矩陣越多,則編解碼開銷越大,候選變換矩陣越少,則編解碼開銷越小。需要說明的是,本實施例中,步驟102與步驟103之間并沒有順序關(guān)系,可以先執(zhí)行步驟102,也可以先執(zhí)行步驟103,還可以同時執(zhí)行步驟102以及步驟103,具體此處不作限定。104、若殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致,則采用編碼變換矩陣對殘差信號進(jìn)行變換得到變換結(jié)果,對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;當(dāng)殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致的時候,可以采用編碼變換矩陣對殘差信號進(jìn)行變換得到變換結(jié)果,并且需要對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果。105、對變換結(jié)果以及編碼結(jié)果進(jìn)行編碼得到編碼流。當(dāng)完成變換以及編碼的操作后,即可對前述得到的變換結(jié)果以及編碼結(jié)果進(jìn)行編碼得到編碼流,至此完成視頻數(shù)據(jù)的編碼過程。本發(fā)明實施例中,在獲得殘差信號之后,可以根據(jù)預(yù)置準(zhǔn)則從視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣,并采用編碼變換矩陣對殘差信號進(jìn)行變換,并對編碼變換矩陣的索引進(jìn)行編碼,所以無需考慮殘差紋理預(yù)測方向和變換矩陣的方向之間的關(guān)系, 本發(fā)明實施例的方案均能有效適用,從而提高了編碼性能。為便于理解,下面以一具體實例對本發(fā)明實施例中的編碼方法進(jìn)行詳細(xì)描述,請參閱圖2,本發(fā)明實施例中的編碼方法另一實施例包括201、對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號;
本步驟與前述圖1所示的實施例中的步驟101相同,此處不再贅述。202、獲取殘差信號的殘差紋理預(yù)測方向;得到殘差信號之后,可以獲取該殘差信號的殘差紋理預(yù)測方向。具體的獲取方式可以包括復(fù)用幀內(nèi)預(yù)測方式以及空域預(yù)測方式復(fù)用幀內(nèi)預(yù)測具體可以為將視頻數(shù)據(jù)的宏塊或者宏塊內(nèi)的每一個子塊的幀內(nèi)預(yù)測方向作為殘差紋理的預(yù)測方向。空域預(yù)測具體可以為在視頻數(shù)據(jù)中的待編碼宏塊或子塊的上塊、左塊、左上塊與右上塊中,若沒有哪個塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,或有兩個以上的塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,則將幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向;若只有一個塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,則以該塊的幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向。需要說明的是,上述僅以兩個例子對本實施例中的獲取殘差信號的殘差紋理預(yù)測方向的過程進(jìn)行了描述,可以理解的是,在實際應(yīng)用中,還可以采用其他的方式獲取殘差信號的殘差紋理預(yù)測方向,具體此處不作限定。203、根據(jù)預(yù)置準(zhǔn)則從視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;本步驟與前述圖1所示的實施例中的步驟103相同,此處不再贅述。本實施例中的預(yù)置準(zhǔn)則在實際應(yīng)用中可以為率失真(RDO,Rate DistortionOptimization)準(zhǔn)則,可以理解的是,同樣可以為其他的最優(yōu)化準(zhǔn)則,具體此處不作限定。需要說明的是,本實施例中,步驟202與步驟203之間并沒有順序關(guān)系,可以先執(zhí)行步驟202,也可以先執(zhí)行步驟203,還可以同時執(zhí)行步驟202以及步驟203,具體此處不作限定。204、判斷殘差紋理預(yù)測方向與編碼變換矩陣方向是否一致,若是,則執(zhí)行步驟 208,若否,則執(zhí)行步驟205 ;當(dāng)選擇到編碼變換矩陣之后,可以判斷該編碼變換矩陣的方向與步驟202中獲取到的殘差紋理預(yù)測方向是否一致。205、對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;本實施例中,當(dāng)確定殘差紋理預(yù)測方向與編碼變換矩陣方向不一致,則需要在最終的編碼流中攜帶對編碼變換矩陣的索引編碼后的信息。本實施例中可以采用兩種方式對編碼變換矩陣的索引進(jìn)行編碼—、定長編碼使用定長碼對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果。二、變長編碼計算編碼變換矩陣的索引與殘差紋理預(yù)測方向的索引在空間域的差值;使用變長碼對該差值進(jìn)行編碼得到編碼結(jié)果。需要說明的是,本實施例中對編碼變換矩陣的索引進(jìn)行編碼的過程可以根據(jù)周邊重構(gòu)塊的變換選擇或幀內(nèi)預(yù)測方向的選擇來確定,這樣可以達(dá)到更好的編碼性能,例如在為編碼索引建立上下文編碼模型的時候,使其以更大的概率選擇與周邊重構(gòu)塊相同的變換類型。上述僅以兩個例子對本實施例中的對編碼變換矩陣的索引進(jìn)行編碼的過程進(jìn)行了描述,可以理解的是,在實際應(yīng)用中,還可以采用其他的方式對編碼變換矩陣的索引進(jìn)行編碼,具體此處不作限定。206、采用編碼變換矩陣對殘差信號進(jìn)行變換得到變換結(jié)果;本實施例中,具體的變換過程為本領(lǐng)域技術(shù)人員的公知常識,此處不作限定。需要說明的是,本實施例中的步驟205以及206沒有先后順序,可以先執(zhí)行步驟 205,也可以先執(zhí)行步驟206,還可以同時執(zhí)行步驟205以及206。207、對變換結(jié)果以及編碼結(jié)果進(jìn)行編碼得到編碼流,并結(jié)束流程;當(dāng)?shù)玫阶儞Q結(jié)果以及編碼結(jié)果之后,可以對該變換結(jié)果以及編碼結(jié)果進(jìn)行編碼得到編碼流,從而完成視頻數(shù)據(jù)的編碼過程。208、采用編碼變換矩陣對殘差信號進(jìn)行變換得到變換結(jié)果;本實施例中,當(dāng)確定殘差紋理預(yù)測方向與編碼變換矩陣方向一致,則可以采用編碼變換矩陣對殘差信號進(jìn)行變換得到變換結(jié)果。本實施例中,具體的變換過程為本領(lǐng)域技術(shù)人員的公知常識,此處不作限定。209、對變換結(jié)果進(jìn)行編碼得到編碼流。當(dāng)?shù)玫阶儞Q結(jié)果之后,可以對該變換結(jié)果進(jìn)行編碼得到編碼流,從而完成視頻數(shù)據(jù)的編碼過程。本實施例中,在獲得殘差信號之后,可以根據(jù)RDO準(zhǔn)則從視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣,當(dāng)殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致時,仍然可以采用編碼變換矩陣對殘差信號進(jìn)行變換,并對編碼變換矩陣的索引進(jìn)行編碼,所以無需殘差紋理預(yù)測方向和變換矩陣的方向保持一致,因此,無論殘差紋理預(yù)測方向與變換矩陣的方向是否一致,本實施例的方案均能有效適用,從而提高了編碼性能;其次,當(dāng)殘差紋理預(yù)測方向與變換矩陣的方向一致時,只需要對變換結(jié)果進(jìn)行編碼得到編碼流,而無需對編碼變換矩陣的索引進(jìn)行編碼,所以減少了編碼量,進(jìn)一步提高了編碼性能。上面對本發(fā)明實施例中的編碼方法實施例進(jìn)行了描述,相應(yīng)的,下面對本發(fā)明實施例中的解碼方法進(jìn)行描述,請參閱圖3,本發(fā)明實施例中的解碼方法包括301、對接收到的編碼流進(jìn)行解析;本實施例中,當(dāng)解碼裝置接收到編碼流之后,會對該編碼流進(jìn)行解析得到變換結(jié)果。如果在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向一致,則該編碼流中不會包含編碼變換矩陣的索引;如果在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向不一致,則該編碼流中會包含編碼變換矩陣的索引。302、根據(jù)編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣;若在對編碼流進(jìn)行解析時得到了編碼變換矩陣的索引,則說明在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向不一致,則可以根據(jù)該編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣。本實施例中所描述的候選變換矩陣與前述圖1以及圖2所示的實施例中描述的候選變換矩陣的含義一致,此處不再贅述。303、采用解碼變換矩陣對變換結(jié)果進(jìn)行反變換得到殘差信號;
當(dāng)選取了解碼變換矩陣之后,即可采用該解碼變換矩陣對步驟301中解析得到的變換結(jié)果進(jìn)行反變換得到殘差信號。304、根據(jù)殘差信號重建視頻數(shù)據(jù)。 本實施例中,步驟303以及304均為本領(lǐng)域技術(shù)人員的公知常識,具體過程此處不
作限定。本實施例中的解碼方法能夠配合前述圖1以及圖2所示的實施例中的編碼方法, 可以完成視頻數(shù)據(jù)的編解碼過程,提高在編碼過程中的編碼性能。為便于理解,下面以一具體實例對本發(fā)明實施例中的解碼方法進(jìn)行詳細(xì)描述,請參閱圖4,本發(fā)明實施例中的解碼方法另一實施例包括401、對接收到的編碼流進(jìn)行解析;本實施例中,當(dāng)解碼裝置接收到編碼流之后,會對該編碼流進(jìn)行解析得到變換結(jié)^ ο如果在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向一致,則該編碼流中不會包含編碼變換矩陣的索引;如果在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向不一致,則該編碼流中會包含編碼變換矩陣的索引。402、判斷殘差紋理預(yù)測方向與變換矩陣的方向是否一致,若一致,則執(zhí)行步驟 404,若不一致,則執(zhí)行步驟403 ;本實施例中,若編碼流中不包含編碼變換矩陣的索引,則說明在編碼時,殘差紋理預(yù)測方向與變換矩陣的方向一致,若編碼流中包含編碼變換矩陣的索引,則說明在編碼時, 殘差紋理預(yù)測方向與變換矩陣的方向不一致。403、根據(jù)編碼變換矩陣的索引選擇解碼變換矩陣,之后執(zhí)行步驟405 ;當(dāng)編碼流中包含編碼變換矩陣的索引時,可以根據(jù)該編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣。具體的方式可以包括以下幾種情況一、定長解碼使用定長碼對所述編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果,從候選變換矩陣中選取解碼結(jié)果對應(yīng)的解碼變換矩陣。二、變長解碼使用變長碼對所述編碼變換矩陣的索引與預(yù)置的殘差紋理預(yù)測方向在空間域的差值進(jìn)行解碼得到解碼結(jié)果,從候選變換矩陣中選取解碼結(jié)果對應(yīng)的解碼變換矩陣。需要說明的是,上述僅以兩個例子對本實施例中的選擇解碼變換矩陣的過程進(jìn)行了描述,可以理解的是,在實際應(yīng)用中,還可以采用其他的方式選擇解碼變換矩陣,具體此處不作限定。404、根據(jù)殘差紋理預(yù)測方向選擇解碼變換矩陣;當(dāng)編碼流中不包含編碼變換矩陣的索引時,可以根據(jù)殘差紋理預(yù)測方向從候選變換矩陣中選取解碼變換矩陣,即選擇該殘差紋理預(yù)測方向?qū)?yīng)的解碼變換矩陣。需要說明的是,本實施例中的殘差紋理預(yù)測方向可以在對編碼流進(jìn)行解析時得到,也可以預(yù)置在解碼裝置本地。405、采用解碼變換矩陣對變換結(jié)果進(jìn)行反變換得到殘差信號;
當(dāng)步驟403或404選取了解碼變換矩陣之后,即可采用該解碼變換矩陣對步驟401 中解析得到的變換結(jié)果進(jìn)行反變換得到殘差信號。406、根據(jù)殘差信號重建視頻數(shù)據(jù)。本實施例中,步驟405以及406均為本領(lǐng)域技術(shù)人員的公知常識,具體過程此處不
作限定。本實施例中的解碼方法能夠配合前述圖1以及圖2所示的實施例中的編碼方法, 可以完成視頻數(shù)據(jù)的編解碼過程,提高在編碼過程中的編碼性能。為便于理解,下面以一具體應(yīng)用場景對本發(fā)明實施例中的編碼過程以及解碼過程進(jìn)行詳細(xì)描述,請參閱圖5,具體的編碼過程包括501、編碼H. 264規(guī)定的宏塊頭信息;502、編碼用于表示候選變換矩陣數(shù)目的第一標(biāo)志位;本實施例中,該第一標(biāo)志位用于表明待編碼宏塊(116x16)或宏塊內(nèi)各子塊 (18x8、14x4)所使用的候選變換矩陣是一個還是多個,具體的候選變換矩陣的數(shù)目與前述圖1以及圖2中所描述的變換候選矩陣的含義相同,此處不再贅述。503、判斷候選矩陣數(shù)目是否為1,若是,則執(zhí)行步驟511,若否,則執(zhí)行步驟504 ;504、獲取幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向;本實施例中,如果該第一標(biāo)志位表明使用的候選變換矩陣為多個,則可以通過復(fù)用幀內(nèi)預(yù)測或空域預(yù)測的方式獲取幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向,具體與前述圖2 所示的實施例中描述的內(nèi)容相同,此處不再贅述。505、按照RDO準(zhǔn)則從候選變換矩陣中選擇編碼變換矩陣;本實施例中以RDO準(zhǔn)則為例進(jìn)行說明,在實際應(yīng)用中,還可以使用其他的最優(yōu)化準(zhǔn)則,具體此處不作限定。506、編碼用于表示方向是否一致的第二標(biāo)志位;該第二標(biāo)志位用于表明殘差紋理預(yù)測方向與編碼變換矩陣的方向是否一致。507、判斷殘差紋理預(yù)測方向與編碼變換矩陣的方向是否一致,若一致,則執(zhí)行步驟508,若不一致,則執(zhí)行步驟509 ;508、以編碼變換矩陣進(jìn)行變換,并執(zhí)行后續(xù)編碼過程;若殘差紋理預(yù)測方向與編碼變換矩陣的方向一致,則可以直接以編碼變換矩陣進(jìn)行變換,在變換完成后即可執(zhí)行后續(xù)的編碼過程,即對變換結(jié)果進(jìn)行編碼得到編碼流。509、對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;510、以編碼變換矩陣進(jìn)行變換,并執(zhí)行后續(xù)編碼過程;若殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致,則可以對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果,并以編碼變換矩陣進(jìn)行變換,在變換完成后即可執(zhí)行后續(xù)的編碼過程,即對變換結(jié)果以及索引編碼后得到的編碼結(jié)果進(jìn)行編碼得到編碼流。對索引的編碼可以采用定長編碼或變長編碼,具體可以如前述圖2所示的實施例中描述的編碼方式,此處不再贅述。511、以唯一的變換矩陣進(jìn)行變換,并執(zhí)行后續(xù)編碼流程。若候選變換矩陣為一個,則對于宏塊或者宏塊內(nèi)每一個子塊選擇與殘差紋理預(yù)測方向相對應(yīng)的變換矩陣,進(jìn)行變換操作,并完成后續(xù)編碼流程,即對變換結(jié)果進(jìn)行編碼得到編碼流。請參閱圖6,對應(yīng)的解碼過程包括601、解析H. 264規(guī)定的宏塊頭信息;602、解析用于表示候選變換矩陣數(shù)目的第一標(biāo)志位;本實施例中,該第一標(biāo)志位用于表明待解碼宏塊(116x16)或宏塊內(nèi)各子塊 (18x8、14x4)所使用的候選變換矩陣是一個還是多個,具體的候選變換矩陣的數(shù)目與前述圖3以及圖4中所描述的變換候選矩陣的含義相同,此處不再贅述。603、判斷候選矩陣數(shù)目是否為1,若是,則執(zhí)行步驟610,若否,則執(zhí)行步驟604 ;604、獲取殘差紋理預(yù)測方向;當(dāng)對編碼流進(jìn)行解析后可以得到變換結(jié)果,同時還可能得到殘差紋理預(yù)測方向, 需要說明的是,殘差紋理預(yù)測方向除了通過對編碼流的解析得到之外,還可以從本地預(yù)置的信息中得到。需要說明的是,當(dāng)從本地預(yù)置的信息中得到殘差紋理預(yù)測方向時,具體可以采用復(fù)用幀內(nèi)預(yù)測或空域預(yù)測的方式獲得,與前述圖2所示的實施例中描述的內(nèi)容相同,此處不再贅述。605、解析用于表示方向是否一致的第二標(biāo)志位;該第二標(biāo)志位用于表明殘差紋理預(yù)測方向與編碼變換矩陣的方向是否一致。606、判斷殘差紋理預(yù)測方向與編碼變換矩陣的方向是否一致,若是,則執(zhí)行步驟 607,若否,則執(zhí)行步驟608 ;需要說明的是,若在對編碼流進(jìn)行解析時獲得了編碼變換矩陣的索引,則說明殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致,若在對編碼流進(jìn)行解析時未獲得編碼變換矩陣的索引,則說明殘差紋理預(yù)測方向與編碼變換矩陣的方向一致。607、以殘差紋理預(yù)測方向?qū)?yīng)的解碼變換矩陣進(jìn)行反變換,并執(zhí)行后續(xù)解碼流程;若殘差紋理預(yù)測方向與編碼變換矩陣的方向一致,則可以直接根據(jù)殘差紋理預(yù)測方向從候選變換矩陣中查找對應(yīng)的解碼變換矩陣,并用該解碼變換矩陣對解析得到的變換結(jié)果進(jìn)行反變換得到殘差信號,并通過該殘差信號重建視頻數(shù)據(jù)。608、對編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果;若殘差紋理預(yù)測方向與編碼變換矩陣的方向不一致,則需要對編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果,可以采用定長解碼或變長解碼的方式對編碼變換矩陣的索引進(jìn)行解碼,具體過程與前述圖4所示的實施例中描述的內(nèi)容相同,此處不再贅述。609、使用該解碼結(jié)果對應(yīng)的解碼變換矩陣進(jìn)行反變換,并執(zhí)行后續(xù)解碼流程;確定了解碼結(jié)果后,可以根據(jù)該解碼結(jié)果從候選變換矩陣中查找對應(yīng)的解碼變換矩陣,該解碼變換矩陣對解析得到的變換結(jié)果進(jìn)行反變換得到殘差信號,并通過該殘差信號重建視頻數(shù)據(jù)。610、以唯一的變換矩陣進(jìn)行反變換,并執(zhí)行后續(xù)解碼流程。若候選變換矩陣為一個,則對于宏塊或者宏塊內(nèi)每一個子塊選擇與殘差紋理預(yù)測方向相對應(yīng)的變換矩陣,進(jìn)行反變換操作得到殘差信號,并通過該殘差信號重建視頻數(shù)據(jù)。當(dāng)編碼端采用復(fù)用幀內(nèi)預(yù)測的方式獲取殘差紋理預(yù)測方向,且通過定長編碼的方式對編碼變換矩陣的索引進(jìn)行編碼時,可以對H. 264視頻編碼標(biāo)準(zhǔn)的語法結(jié)構(gòu)進(jìn)行修改 (僅以I8x8MB為例),修改后的語法結(jié)構(gòu)如下表1所示表 權(quán)利要求
1.一種編碼方法,其特征在于,包括 對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號; 獲取所述殘差信號的殘差紋理預(yù)測方向;根據(jù)預(yù)置準(zhǔn)則從所述視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣; 若所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向不一致,則采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果,對所述編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果;對所述變換結(jié)果以及所述編碼結(jié)果進(jìn)行編碼得到編碼流。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取殘差信號的殘差紋理預(yù)測方向包括將所述視頻數(shù)據(jù)的宏塊或者宏塊內(nèi)的每一個子塊的幀內(nèi)預(yù)測方向作為所述殘差紋理的預(yù)測方向。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取殘差信號的殘差紋理預(yù)測方向包括在所述視頻數(shù)據(jù)中的待編碼宏塊或子塊的上塊、左塊、左上塊與右上塊中, 若沒有哪個塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,或有兩個以上的塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,則將幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向;若只有一個塊的幀內(nèi)預(yù)測方向與其變換矩陣所對應(yīng)的方向一致,則以該塊的幀內(nèi)預(yù)測方向作為殘差紋理預(yù)測方向。
4.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果包括使用定長碼對所述編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果。
5.根據(jù)權(quán)利要求1至3中任一項所述的方法,其特征在于,所述對編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果包括計算所述編碼變換矩陣的索引與所述殘差紋理預(yù)測方向的索引在空間域的差值; 使用變長碼對所述差值進(jìn)行編碼得到編碼結(jié)果。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括若所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向一致,則采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果; 對所述變換結(jié)果進(jìn)行編碼得到編碼流。
7.一種解碼方法,其特征在于,包括對接收到的編碼流進(jìn)行解析,得到變換結(jié)果;若對所述編碼流進(jìn)行解析還得到編碼變換矩陣的索引,則根據(jù)所述編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣;采用所述解碼變換矩陣對所述變換結(jié)果進(jìn)行反變換得到殘差信號,根據(jù)所述殘差信號重建視頻數(shù)據(jù)。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述根據(jù)編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣包括對所述編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果; 從候選變換矩陣中選取所述解碼結(jié)果對應(yīng)的解碼變換矩陣。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果包括使用定長碼對所述編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果。
10.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述對編碼變換矩陣的索引進(jìn)行解碼得到解碼結(jié)果包括使用變長碼對所述編碼變換矩陣的索引與預(yù)置的殘差紋理預(yù)測方向在空間域的差值進(jìn)行解碼得到解碼結(jié)果。
11.根據(jù)權(quán)利要求7至10中任一項所述的方法,其特征在于,若對所述編碼流進(jìn)行解析未得到編碼變換矩陣的索引,則根據(jù)預(yù)置的殘差紋理預(yù)測方向從候選變換矩陣中選取解碼變換矩陣;采用所述解碼變換矩陣對所述變換結(jié)果進(jìn)行反變換得到殘差信號,根據(jù)所述殘差信號重建視頻數(shù)據(jù)。
12.—種編碼裝置,其特征在于,包括殘差處理單元,用于對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號; 獲取單元,用于獲取所述殘差信號的殘差紋理預(yù)測方向;矩陣選取單元,用于根據(jù)預(yù)置準(zhǔn)則從所述視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;方向比較單元,用于判斷所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向是否一致,若不一致,則觸發(fā)索引編碼單元以及變換單元執(zhí)行相應(yīng)操作;索引編碼單元,用于對所述編碼變換矩陣的索引進(jìn)行編碼得到編碼結(jié)果; 變換單元,用于采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果; 數(shù)據(jù)編碼單元,用于對所述變換結(jié)果以及所述編碼結(jié)果進(jìn)行編碼得到編碼流。
13.根據(jù)權(quán)利要求12所述的編碼裝置,其特征在于,所述方向比較單元還用于當(dāng)所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向一致時,觸發(fā)變換單元執(zhí)行相應(yīng)操作;所述數(shù)據(jù)編碼單元還用于對所述變換結(jié)果進(jìn)行編碼得到編碼流。
14.一種解碼裝置,其特征在于,包括解析單元,用于對接收到的編碼流進(jìn)行解析,得到變換結(jié)果;索引解碼單元,用于當(dāng)所述解析單元對所述編碼流進(jìn)行解析得到編碼變換矩陣的索引時,根據(jù)所述編碼變換矩陣的索引從候選變換矩陣中選取解碼變換矩陣;反變換單元,用于采用所述解碼變換矩陣對所述變換結(jié)果進(jìn)行反變換得到殘差信號; 重建單元,用于根據(jù)所述殘差信號重建視頻數(shù)據(jù)。
15.根據(jù)權(quán)利要求14所述的解碼裝置,其特征在于,所述解碼裝置還包括方向解碼單元,用于當(dāng)所述解析單元對所述編碼流進(jìn)行解析未得到編碼變換矩陣的索引時,根據(jù)預(yù)置的殘差紋理預(yù)測方向從候選變換矩陣中選取解碼變換矩陣。
16.一種編解碼系統(tǒng),其特征在于,包括如權(quán)利要求12或13所述的編碼裝置以及如權(quán)利要求14或15所述的解碼裝置。
全文摘要
本發(fā)明實施例公開了一種編碼方法、解碼方法、編碼裝置、解碼裝置及編解碼系統(tǒng),用于提高編碼性能。本發(fā)明實施例方法包括對輸入的視頻數(shù)據(jù)進(jìn)行處理得到殘差信號;獲取所述殘差信號的殘差紋理預(yù)測方向;根據(jù)預(yù)置準(zhǔn)則從所述視頻數(shù)據(jù)對應(yīng)的候選變換矩陣中選擇編碼變換矩陣;若所述殘差紋理預(yù)測方向與所述編碼變換矩陣的方向不一致,則采用所述編碼變換矩陣對所述殘差信號進(jìn)行變換得到變換結(jié)果;對所述變換結(jié)果以及所述編碼變換矩陣的索引進(jìn)行編碼得到編碼流。本發(fā)明實施例還提供一種解碼方法、解碼裝置以及編解碼系統(tǒng)。本發(fā)明實施例能夠有效提高編碼性能。
文檔編號H04N7/26GK102281435SQ20101020509
公開日2011年12月14日 申請日期2010年6月11日 優(yōu)先權(quán)日2010年6月11日
發(fā)明者于浩平, 宋錦, 楊名遠(yuǎn), 王棟 申請人:華為技術(shù)有限公司