本發(fā)明涉及視頻編解碼技術(shù)領(lǐng)域,尤其涉及一種殘差預(yù)測方法及裝置。
背景技術(shù):在三維視頻編碼或多視角視頻編碼中,有多個(gè)視角的視頻需要編碼。為了充分利用相鄰視角視頻間的相關(guān)性,現(xiàn)有方法不僅用已編碼視角的圖像預(yù)測將要編碼視角的圖像,還用已編碼視角的殘差圖像預(yù)測將要編碼視角的殘差圖像。由于不同視角的視間預(yù)測殘差相關(guān)性不高,視間預(yù)測殘差不被用來預(yù)測任何殘差;另一方面,時(shí)間域預(yù)測殘差則用來預(yù)測時(shí)間域預(yù)測殘差和視間預(yù)測殘差。然而,由于時(shí)間域預(yù)測殘差和視間預(yù)測殘差往往具有不同特性,使用時(shí)間域預(yù)測殘差預(yù)測視間預(yù)測殘差常常導(dǎo)致殘差能量增加,降低編碼效率。
技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例提供一種殘差預(yù)測方法及裝置,以提高視頻壓縮率,并提高編解碼效率。一方面,本發(fā)明實(shí)施例提供了一種殘差預(yù)測方法,所述方法應(yīng)用于三維視頻編碼或多視角視頻編碼中,所述方法包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元;利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差??蛇x的,在本發(fā)明一實(shí)施例中,所述當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元,包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元。可選的,在本發(fā)明一實(shí)施例中,所述利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差,包括:判斷所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;若判定所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),則利用加權(quán)后的所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;否則,則所述預(yù)測單元的預(yù)測殘差中不包含時(shí)間域預(yù)測殘差,不對它進(jìn)行預(yù)測??蛇x的,在本發(fā)明一實(shí)施例中,所述當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測,包括:根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測。另一方面,本發(fā)明實(shí)施例提供了一種殘差預(yù)測裝置,所述裝置應(yīng)用于三維視頻編碼或多視角視頻編碼中,所述裝置包括:編碼對應(yīng)查找單元,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元;編碼殘差預(yù)測單元,用于利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差??蛇x的,在本發(fā)明一實(shí)施例中,所述編碼對應(yīng)查找單元包括:編碼時(shí)間域判斷模塊,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;編碼對應(yīng)查找模塊,用于若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元??蛇x的,在本發(fā)明一實(shí)施例中,所述編碼殘差預(yù)測單元包括:編碼相鄰視角判斷模塊,用于判斷所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;編碼殘差預(yù)測模塊,用于若判定所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),則利用加權(quán)后的所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;否則,則所述預(yù)測單元的預(yù)測殘差中不包含時(shí)間域預(yù)測殘差,不對它進(jìn)行預(yù)測??蛇x的,在本發(fā)明一實(shí)施例中,所述編碼時(shí)間域判斷模塊,進(jìn)一步用于根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測。又一方面,本發(fā)明實(shí)施例提供了一種殘差預(yù)測方法,所述方法應(yīng)用于三維視頻解碼或多視角視頻解碼中,所述方法包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測解碼時(shí),判斷所述預(yù)測單元是否使用了殘差預(yù)測;若判定所述預(yù)測單元使用了殘差預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已解碼相鄰視角中的對應(yīng)單元;利用所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的預(yù)測殘差??蛇x的,在本發(fā)明一實(shí)施例中,所述當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測解碼時(shí),判斷所述預(yù)測單元是否使用了殘差預(yù)測,包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測解碼時(shí),根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已解碼相鄰視角中的對應(yīng)單元;判斷所述已解碼相鄰視角中的對應(yīng)單元包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;若判定所述已解碼相鄰視角中的對應(yīng)單元包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則所述預(yù)測單元使用了殘差預(yù)測。可選的,在本發(fā)明一實(shí)施例中,所述利用所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的預(yù)測殘差,包括:將所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,加到所述預(yù)測單元的預(yù)測殘差上作為所述預(yù)測單元的更新后的預(yù)測殘差,再用所述預(yù)測單元的更新后的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu);或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),將加權(quán)后的所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,加到所述預(yù)測單元的預(yù)測殘差上作為所述預(yù)測單元的更新后的預(yù)測殘差,再用所述預(yù)測單元的更新后的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu);或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊都是相鄰視預(yù)測塊時(shí),直接用所述預(yù)測單元的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu)。再一方面,本發(fā)明實(shí)施例提供了一種殘差預(yù)測裝置,所述裝置應(yīng)用于三維視頻解碼或多視角視頻解碼中,所述裝置包括:解碼殘差預(yù)測判斷單元,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測解碼時(shí),判斷所述預(yù)測單元是否使用了殘差預(yù)測;解碼對應(yīng)查找單元,用于若判定所述預(yù)測單元使用了殘差預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已解碼相鄰視角中的對應(yīng)單元;解碼殘差預(yù)測單元,用于利用所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的預(yù)測殘差??蛇x的,在本發(fā)明一實(shí)施例中,所述解碼殘差預(yù)測判斷單元包括:解碼時(shí)間域判斷模塊,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測解碼時(shí),根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;解碼相鄰視角判斷模塊,用于若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已解碼相鄰視角中的對應(yīng)單元;判斷所述已解碼相鄰視角中的對應(yīng)單元是否包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;解碼殘差預(yù)測判斷模塊,用于若判定所述已解碼相鄰視角中的對應(yīng)單元包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則所述預(yù)測單元使用了殘差預(yù)測??蛇x的,在本發(fā)明一實(shí)施例中,所述解碼殘差預(yù)測單元,進(jìn)一步用于將所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,加到所述預(yù)測單元的預(yù)測殘差上作為所述預(yù)測單元的更新后的預(yù)測殘差,再用所述預(yù)測單元的更新后的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu);或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),將加權(quán)后的所述已解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,加到所述預(yù)測單元的預(yù)測殘差上作為所述預(yù)測單元的更新后的預(yù)測殘差,再用所述預(yù)測單元的更新后的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu);或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊都是相鄰視預(yù)測塊時(shí),直接用所述預(yù)測單元的預(yù)測殘差加上所述預(yù)測單元的預(yù)測信號得到所述預(yù)測單元的重構(gòu)。上述技術(shù)方案具有如下有益效果:所述方法或裝置應(yīng)用于三維視頻編解碼或多視角視頻編解碼中,所述方法包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編解碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編解碼相鄰視角中的對應(yīng)單元;利用所述已編解碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的預(yù)測殘差,但不使用已編解碼相鄰視角的時(shí)間域預(yù)測殘差預(yù)測當(dāng)前視角的視間預(yù)測殘差,本發(fā)明實(shí)施例提高了視頻壓縮率,并提高了編解碼效率。本技術(shù)在提高編解碼效率的基礎(chǔ)上并未破壞現(xiàn)有圖像單元的結(jié)構(gòu),有利于硬件的實(shí)現(xiàn)。附圖說明為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1為本發(fā)明實(shí)施例一種殘差預(yù)測方法流程圖;圖2為本發(fā)明實(shí)施例一種殘差預(yù)測裝置結(jié)構(gòu)示意圖;圖3為本發(fā)明實(shí)施例編碼對應(yīng)查找單元結(jié)構(gòu)示意圖;圖4為本發(fā)明實(shí)施例編碼殘差預(yù)測單元結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例另一種殘差預(yù)測方法流程圖;圖6為本發(fā)明實(shí)施例另一種殘差預(yù)測裝置結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例解碼殘差預(yù)測判斷單元結(jié)構(gòu)示意圖;圖8為本發(fā)明應(yīng)用實(shí)例編解碼殘差預(yù)測示意圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本技術(shù)提案的發(fā)明目的是在不破壞現(xiàn)有圖像編碼單元結(jié)構(gòu)的前提下,提高視頻壓縮率,并提高編解碼效率。如圖1所示,為本發(fā)明實(shí)施例一種殘差預(yù)測方法流程圖,所述方法應(yīng)用于三維視頻編碼或多視角視頻編碼中,所述方法包括:101、當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元??蛇x的,所述當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元,包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元。可選的,所述當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測,包括:根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測。102、利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差。可選的,所述利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差,包括:判斷所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;若判定所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),則利用加權(quán)后的所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;否則,則所述預(yù)測單元的預(yù)測殘差中不包含時(shí)間域預(yù)測殘差,不對它進(jìn)行預(yù)測。對應(yīng)于上述方法實(shí)施例,如圖2所示,為本發(fā)明實(shí)施例一種殘差預(yù)測裝置結(jié)構(gòu)示意圖,所述裝置應(yīng)用于三維視頻編碼或多視角視頻編碼中,所述裝置包括:編碼對應(yīng)查找單元21,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元;編碼殘差預(yù)測單元22,用于利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差。如圖3所示,為本發(fā)明實(shí)施例編碼對應(yīng)查找單元結(jié)構(gòu)示意圖,所述編碼對應(yīng)查找單元21包括:編碼時(shí)間域判斷模塊211,用于當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測;編碼對應(yīng)查找模塊212,用于若判定所述預(yù)測單元采用時(shí)間域預(yù)測,則查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元。如圖4所示,為本發(fā)明實(shí)施例編碼殘差預(yù)測單元結(jié)構(gòu)示意圖,所述編碼殘差預(yù)測單元22包括:編碼相鄰視角判斷模塊221,用于判斷所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零;編碼殘差預(yù)測模塊222,用于若判定所述已編碼相鄰視角中的對應(yīng)單元中包含時(shí)間域預(yù)測殘差且時(shí)間域預(yù)測殘差非零,則利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;或者,當(dāng)所述預(yù)測單元采用雙向預(yù)測,且所述預(yù)測單元的兩個(gè)預(yù)測塊一個(gè)是時(shí)域預(yù)測塊,另一個(gè)是相鄰視預(yù)測塊時(shí),則利用加權(quán)后的所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的時(shí)間域預(yù)測殘差;否則,則所述預(yù)測單元的預(yù)測殘差中不包含時(shí)間域預(yù)測殘差,不對它進(jìn)行預(yù)測??蛇x的,所述編碼時(shí)間域判斷模塊211,進(jìn)一步用于根據(jù)一編碼單元級的標(biāo)志位判斷所述預(yù)測單元采用無殘差預(yù)測模式和有殘差預(yù)測模式中的哪一種;若判定所述預(yù)測單元采用有殘差預(yù)測模式,則進(jìn)一步判斷所述預(yù)測單元是否采用時(shí)間域預(yù)測。上述技術(shù)方案具有如下有益效果:所述方法或裝置應(yīng)用于三維視頻編碼或多視角視頻編碼中,所述方案包括:當(dāng)對一預(yù)測單元進(jìn)行幀間圖像預(yù)測編碼時(shí),查找所述預(yù)測單元在同一時(shí)刻已編碼相鄰視角中的對應(yīng)單元;利用所述已編碼相鄰視角中的對應(yīng)單元的時(shí)間域預(yù)測殘差,預(yù)測所述預(yù)測單元的預(yù)測殘差,但不使用已編碼相鄰視角的時(shí)間域預(yù)測殘差預(yù)測當(dāng)前視角的視間預(yù)測殘差,本發(fā)明...