專利名稱:多視角視頻編解碼預(yù)測補(bǔ)償方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)字圖像處理技術(shù),特別是涉及數(shù)字圖像的編解碼技術(shù),具體地說,涉及一種多視角視頻編解碼的方法。
背景技術(shù):
隨著網(wǎng)絡(luò)及多媒體技術(shù)的快速發(fā)展,越來越多的圖像和視頻以數(shù)字媒體的形式出現(xiàn)和傳輸,而高效的視頻編解碼技術(shù)是實(shí)現(xiàn)數(shù)字媒體存儲與傳輸?shù)年P(guān)鍵。目前,一種新的數(shù)字媒體形式,即三維視頻,已經(jīng)在多媒體應(yīng)用系統(tǒng)中廣泛采用。所謂的三維視頻是指時(shí)間上同步,空間上相關(guān)的若干視頻序列的集合。與傳統(tǒng)的二維視頻相比,三維視頻可以提供更豐富的視覺信息,因此可以為用戶提供更高質(zhì)量的主觀視覺享受,并可以應(yīng)用到視頻會議,數(shù)字娛樂等應(yīng)用中。多視角視頻(Multiview Video)是一種常見的三維視頻。所謂的多視角視頻是指通過多個(gè)攝像機(jī)在不同的視角同步采集的一組視頻序列。通過某種合成技術(shù),多視角視頻可以為用戶提供具有三維視感覺的場景。此外,多視角視頻的一個(gè)關(guān)鍵特征是場景中的交互性,用戶還能夠在場景中選擇他自己的視點(diǎn)。
相對于傳統(tǒng)的二維視頻,多視角視頻的數(shù)據(jù)量更大,實(shí)現(xiàn)其功能的一個(gè)代價(jià)便是表示場景的視頻數(shù)據(jù)隨著視點(diǎn)(即相機(jī)數(shù)目)的增加以幾何速度增長,因此,對高效的多視角視頻數(shù)據(jù)的處理方法就顯得非常重要。為了實(shí)現(xiàn)多視角視頻的存儲與傳輸,就需要對多視角視頻進(jìn)行高效地編解碼。目前,先進(jìn)的視頻編解碼技術(shù)通常以標(biāo)準(zhǔn)的形式存在,典型的視頻壓縮標(biāo)準(zhǔn)有國際標(biāo)準(zhǔn)化組織(ISO)下設(shè)的運(yùn)動(dòng)圖像專家組(Moving Picture Expert Group,簡稱MPEG)推出的MPEG系列國際標(biāo)準(zhǔn)MPEG-1,MPEG-2,MPEG-4等,以及國際電信聯(lián)盟(ITU)提出的H.26x系列視頻壓縮推薦等。目前,MPEG組織正在進(jìn)行三維音視頻(3DAV)的標(biāo)準(zhǔn)化工作,但目前還沒有形成具體的標(biāo)準(zhǔn)。
對多視角視頻數(shù)據(jù)進(jìn)行編解碼的一個(gè)最簡單的方法是利用現(xiàn)有的編解碼標(biāo)準(zhǔn),例如MPEG-1,MPEG-2,MPEG-4,JVT或者H.26x等,將每個(gè)視角的視頻數(shù)據(jù)看成普通的視頻序列分別進(jìn)行編解碼。但是,這種方法沒有利用各個(gè)視角間的相關(guān)性,編碼效率并不是很高。雖然MPEG標(biāo)準(zhǔn)中的一些技術(shù)可以用來在某種程度上利用各個(gè)視角間的相關(guān)性來進(jìn)行編解碼,但是這些技術(shù)提出的初衷并不是專門針對多視角視頻編解碼,沒有充分考慮多視角視頻的特性,因此編碼效率沒有達(dá)到最優(yōu)。也有一些編解碼系統(tǒng)利用了多視角視頻在同一時(shí)刻不同視角的圖像之間的空間相關(guān)性信息,但是,由于它們主要是針對單視(2D)視頻的編碼而提出的,它們沒有考慮多視角視頻各個(gè)視之間的特殊關(guān)系,例如,相鄰視之間對應(yīng)圖像的場景內(nèi)容大部分都相同,而且場景的運(yùn)動(dòng)趨勢完全相同,只不過角度有所變化而已,這在許多實(shí)例中可以看到(除了快速運(yùn)動(dòng)的實(shí)例外),一個(gè)視中前后幀間的相似性要比不同視點(diǎn)間的相似性要高,于是,運(yùn)動(dòng)補(bǔ)償幀間預(yù)測很可能替代視通道間的位差補(bǔ)償(各個(gè)視間的運(yùn)動(dòng)預(yù)測補(bǔ)償)預(yù)測,而視通道間的位差補(bǔ)償僅僅在某些地方比分別編碼每個(gè)視占優(yōu)勢,其編碼效率并不十分理想。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提出一種新型的基于全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償?shù)亩嘁暯且曨l編解碼預(yù)測補(bǔ)償方法及裝置,以提高多視角視頻編解碼的編碼效率。
本發(fā)明所述多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,在兩個(gè)視之間使用全局運(yùn)動(dòng)預(yù)測補(bǔ)償來提取各個(gè)視之間對應(yīng)圖像的空間相關(guān)性,進(jìn)而提高編碼效率,然后在實(shí)現(xiàn)全局運(yùn)動(dòng)預(yù)測補(bǔ)償?shù)幕A(chǔ)上,以一個(gè)視(參考視)的前后幀之間的運(yùn)動(dòng)向量來預(yù)測另一個(gè)視(目標(biāo)視)前后幀之間的運(yùn)動(dòng)向量。具體的說在編碼時(shí),使用其中的一個(gè)視作為參考幀,另一個(gè)相鄰視作為目標(biāo)視,目標(biāo)視圖像參考變形(平移、旋轉(zhuǎn)、縮放等)后的參考視圖像進(jìn)行全局運(yùn)動(dòng)預(yù)測補(bǔ)償,獲得全局運(yùn)動(dòng)預(yù)測參數(shù),然后再利用這些參數(shù)計(jì)算每個(gè)宏塊的全局運(yùn)動(dòng)預(yù)測代價(jià)(一般使用原始宏塊和對編碼后的宏塊進(jìn)行解碼得到的重構(gòu)宏塊各個(gè)象素之間的絕對差來衡量),獲得該宏塊的全局運(yùn)動(dòng)向量。運(yùn)動(dòng)向量預(yù)測補(bǔ)償利用獲得的全局運(yùn)動(dòng)向量和已編碼的參考視前后幀之間的運(yùn)動(dòng)向量,預(yù)測獲得目標(biāo)視前后幀之間的運(yùn)動(dòng)向量,并計(jì)算該方法的運(yùn)動(dòng)預(yù)測代價(jià)。根據(jù)運(yùn)動(dòng)預(yù)測代價(jià),選擇當(dāng)前宏塊采用的編碼預(yù)測補(bǔ)償方法,然后根據(jù)選定的預(yù)測補(bǔ)償方法或者進(jìn)行宏塊的全局運(yùn)動(dòng)補(bǔ)償(若是全局運(yùn)動(dòng)預(yù)測補(bǔ)償方法被選中)或者進(jìn)行宏塊的局部運(yùn)動(dòng)補(bǔ)償(若運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法被選中),進(jìn)而獲得宏塊殘差圖像。最后,對殘差圖像進(jìn)行變換、量化、熵編碼,最終輸出編碼碼流。
解碼時(shí),首先解碼獲得目標(biāo)視中當(dāng)前幀對參考視的全局運(yùn)動(dòng)預(yù)測參數(shù),然后利用這些參數(shù)計(jì)算獲得當(dāng)前解碼宏塊的全局運(yùn)動(dòng)向量,并保存,以備后用。再解碼獲得宏塊使用的預(yù)測補(bǔ)償方法及殘差圖像。根據(jù)不同的預(yù)測補(bǔ)償方法,按照編碼時(shí)的運(yùn)動(dòng)補(bǔ)償方法重構(gòu)該宏塊的圖像,并與解碼的殘差圖像合并形成最終的宏塊解碼圖像;對每個(gè)宏塊使用上述方法進(jìn)行解碼,即可得到該幀的解碼圖像。
本發(fā)明還提出了一種多視角視頻編碼預(yù)測補(bǔ)償裝置,包括參考視圖像編碼單元和目標(biāo)視圖像編碼單元,參考視圖像編碼單元經(jīng)過局部運(yùn)動(dòng)預(yù)測補(bǔ)償進(jìn)行編碼,最終輸出編碼后的參考視碼流;目標(biāo)視圖像編碼單元經(jīng)過全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償進(jìn)行編碼,最后輸出編碼后的目標(biāo)視碼流。
本發(fā)明利用在兩個(gè)相關(guān)視序列之間采用的全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法,較之現(xiàn)有的編碼方法,可以更充分利用多視角視頻中各個(gè)視之間的相關(guān)性,因此可以有效對多視角視頻進(jìn)行編解碼。
全局運(yùn)動(dòng)預(yù)測補(bǔ)償作用在同一時(shí)刻通過多個(gè)攝像機(jī)采集的多幅圖像上,其目的是提取這些圖像的空間相關(guān)性,充分考慮了多視角視頻相鄰視之間的特性,特別是場景內(nèi)容大部分相同,運(yùn)動(dòng)趨勢相同,所不同的地方是或者角度不同,或者整個(gè)場景之間存在相對位移等特性,這些特性使得全局運(yùn)動(dòng)預(yù)測補(bǔ)償較之直接的局部運(yùn)動(dòng)預(yù)測補(bǔ)償可以獲得更準(zhǔn)確的運(yùn)動(dòng)預(yù)測,而且它不需要編碼運(yùn)動(dòng)向量,減少編碼運(yùn)動(dòng)向量信息的比特,進(jìn)而提高編碼效率。
運(yùn)動(dòng)向量預(yù)測補(bǔ)償方式是在實(shí)現(xiàn)全局運(yùn)動(dòng)預(yù)測補(bǔ)償方式的基礎(chǔ)上進(jìn)行的,其目的是利用已經(jīng)編碼的某個(gè)攝像機(jī)采集的序列的運(yùn)動(dòng)信息,預(yù)測其它攝像機(jī)采集的序列中的運(yùn)動(dòng)信息,這種預(yù)測可以采用相同的方法分別在編碼器和解碼器中實(shí)現(xiàn),因此不需要編碼運(yùn)動(dòng)向量,減少編碼運(yùn)動(dòng)矢量信息的比特,進(jìn)而提高編碼效率。
圖1是運(yùn)動(dòng)向量關(guān)系示意圖;圖2是本發(fā)明提出的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測流程圖;圖3是通過迭代匹配獲取參考視到目標(biāo)視的全局運(yùn)動(dòng)向量的流程圖;圖4是多視角視頻編碼預(yù)測補(bǔ)償裝置之一示意圖;圖5是多視角視頻編碼預(yù)測補(bǔ)償裝置之二示意圖;圖6是基于MPEG-4時(shí)間可擴(kuò)展編碼方法的預(yù)測原理示意圖。
具體實(shí)施例方式
在多視角視頻序列中,相鄰視角的兩個(gè)視頻序列的對應(yīng)幀存在著相當(dāng)大的相關(guān)性,即相鄰視角的兩個(gè)視頻序列的對應(yīng)幀場景內(nèi)容大部分相同,運(yùn)動(dòng)趨勢相同,所不同的地方是角度不同,或者整個(gè)場景之間存在相對位移,這也隱含一個(gè)視(目標(biāo)視)的前后幀之間的運(yùn)動(dòng)向量可以通過另一個(gè)視(參考視)前后幀之間的運(yùn)動(dòng)向量預(yù)測來獲得。它們經(jīng)過簡單的變形(平移、旋轉(zhuǎn)、仿射變換等)后,大部分圖像非常相似。如果能利用這些特性,在兩個(gè)對應(yīng)幀之間采用全局運(yùn)動(dòng)預(yù)測補(bǔ)償方式,及在目標(biāo)視的前后幀之間采用運(yùn)動(dòng)向量預(yù)測補(bǔ)償方式,就可以提高多視角視頻的編碼效率。包括如下步驟編碼步驟如下首先使用其中的一個(gè)視作為參考視,另一個(gè)相鄰視(以下稱為目標(biāo)視)經(jīng)過變形后對參考視進(jìn)行全局運(yùn)動(dòng)預(yù)測,獲得全局運(yùn)動(dòng)預(yù)測參數(shù)。然后進(jìn)入每個(gè)宏塊全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償?shù)木幋a過程,其步驟如下步驟1、全局運(yùn)動(dòng)預(yù)測補(bǔ)償編碼過程步驟1.1、利用獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)計(jì)算宏塊的全局運(yùn)動(dòng)預(yù)測代價(jià)(一般使用原始宏塊與對編碼后的宏塊進(jìn)行解碼得到的重構(gòu)宏塊各個(gè)象素之間的絕對差和來衡量);步驟1.2、計(jì)算獲得該宏塊的全局運(yùn)動(dòng)向量,將其保存,已備后用;步驟2、運(yùn)動(dòng)向量預(yù)測補(bǔ)償編碼過程步驟2.1、利用獲得的該宏塊的全局運(yùn)動(dòng)向量和前一幀已保存的全局運(yùn)動(dòng)向量及已編碼的參考視前后幀之間的運(yùn)動(dòng)向量預(yù)測獲得目標(biāo)視前后幀之間的運(yùn)動(dòng)向量;步驟2.2、利用預(yù)測得到的運(yùn)動(dòng)向量計(jì)算宏塊的局部運(yùn)動(dòng)預(yù)測代價(jià);步驟3、選擇計(jì)算獲得的全局運(yùn)動(dòng)預(yù)測代價(jià)和局部運(yùn)動(dòng)預(yù)測代價(jià)中較小的預(yù)測補(bǔ)償作為宏塊的預(yù)測補(bǔ)償;步驟4、根據(jù)選定的預(yù)測補(bǔ)償或者進(jìn)行宏塊的全局運(yùn)動(dòng)補(bǔ)償(若是全局運(yùn)動(dòng)預(yù)測補(bǔ)償方法被選中)或者進(jìn)行宏塊的局部運(yùn)動(dòng)補(bǔ)償(若運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法被選中),進(jìn)而與原始宏塊做差獲得宏塊殘差圖像;步驟5、對殘差圖像進(jìn)行變換、量化、熵編碼,最終輸出宏塊編碼碼流。
解碼步驟如下首先解碼獲得目標(biāo)視中當(dāng)前幀對參考視的全局運(yùn)動(dòng)預(yù)測參數(shù),然后進(jìn)入每個(gè)宏塊解碼過程,其步驟如下步驟1、進(jìn)行熵解碼、反量化及反變換,獲得宏塊采用的預(yù)測補(bǔ)償方式、殘差圖像等信息;步驟2、利用獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)計(jì)算獲得當(dāng)前解碼宏塊的全局運(yùn)動(dòng)向量,并保存,以備后用;步驟3、若宏塊采用的是全局運(yùn)動(dòng)預(yù)測補(bǔ)償,則按如下步驟進(jìn)行解碼步驟3.1、將參考視中對應(yīng)的參考幀按照獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)進(jìn)行變形;步驟3.2、利用獲得的全局運(yùn)動(dòng)向量參考變形后的參考幀對當(dāng)前解碼宏塊進(jìn)行全局運(yùn)動(dòng)補(bǔ)償,獲得宏塊補(bǔ)償圖像;步驟3.3、宏塊補(bǔ)償圖像與解碼的殘差圖像合并得到解碼宏塊圖像。
步驟4、若宏塊采用的是運(yùn)動(dòng)預(yù)測補(bǔ)償,則按如下步驟進(jìn)行解碼步驟4.1、利用已保存的解碼后的全局運(yùn)動(dòng)向量和已解碼的參考視前后幀間的運(yùn)動(dòng)向量,計(jì)算獲得目標(biāo)視前后幀間的運(yùn)動(dòng)向量;步驟4.2、利用計(jì)算獲得的運(yùn)動(dòng)向量參考目標(biāo)視的前一解碼幀對當(dāng)前解碼宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償,獲得宏塊補(bǔ)償圖像;步驟4.3、宏塊補(bǔ)償圖像與解碼的殘差圖像合并得到解碼宏塊圖像。
圖1是運(yùn)動(dòng)向量關(guān)系示意圖,圖1中目標(biāo)視和參考視是多視角視頻序列中的兩個(gè)視,一個(gè)被作為參考視,另一個(gè)作為目標(biāo)視。它表示的是某一編碼時(shí)刻序列參考視和目標(biāo)視前后幀之間的關(guān)系(第i-1幀表示前一幀,第i幀表示當(dāng)前幀),描述了參考視和目標(biāo)視之間的全局運(yùn)動(dòng)向量(在圖1中使用GMC0和GMC1來標(biāo)明)和同一個(gè)視中的運(yùn)動(dòng)向量(在圖1中使用MV0和MV1來標(biāo)明)之間的關(guān)系,其中上面的兩個(gè)網(wǎng)格表示某一時(shí)刻目標(biāo)視的前后兩幀圖像,下面的兩個(gè)網(wǎng)格表示某一時(shí)刻參考視的前后兩幀圖像,網(wǎng)格中的每個(gè)小方塊表示一個(gè)宏塊(圖像象素塊),目標(biāo)視網(wǎng)格中的灰色方塊表示當(dāng)前編碼宏塊。
GMC0表示前一個(gè)已編碼目標(biāo)幀到前一個(gè)已編碼參考幀之間的全局運(yùn)動(dòng)向量;GMC1表示當(dāng)前編碼目標(biāo)幀到對應(yīng)的已編碼參考幀之間的全局運(yùn)動(dòng)向量;MV0表示參考視前后幀間的運(yùn)動(dòng)向量;MV1表示目標(biāo)視前后幀間的運(yùn)動(dòng)向量,它也是本發(fā)明中需要進(jìn)行運(yùn)動(dòng)向量預(yù)測獲得的運(yùn)動(dòng)向量。
圖2是本發(fā)明提出的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測流程圖。它描述的是目標(biāo)視序列通過參考視的前后幀運(yùn)動(dòng)向量及已獲得的全局運(yùn)動(dòng)向量,來預(yù)測目標(biāo)視對應(yīng)前后幀運(yùn)動(dòng)向量的一種預(yù)測編碼的做法。
具體做法是,當(dāng)編碼目標(biāo)視的某個(gè)宏塊(在圖1中以灰色方塊來表示)時(shí),完成如下步驟步驟1、獲得全局運(yùn)動(dòng)向量GMC0和GMC1(解釋見圖1說明,在全局運(yùn)動(dòng)預(yù)測補(bǔ)償過程中已經(jīng)獲得,見編碼實(shí)施步驟1.2)及局部運(yùn)動(dòng)向量MV0(在編碼參考視時(shí)產(chǎn)生);步驟2、計(jì)算獲得當(dāng)前宏塊的中心點(diǎn)(CurXcent,CurYcent),(圖1中用CurCentPos來表示,即灰色方塊中的小黑點(diǎn));步驟3、通過GMC1運(yùn)動(dòng)向量和位置(CurXcent,CurYcent)計(jì)算獲得點(diǎn)(CurXcent,CurYcent)在參考視圖像中的位置(CurRefX,CurRefY),(圖1中用CurPosRef來表示);步驟4、利用MV0,計(jì)算獲得點(diǎn)(CurRefX,CurRefY)在其前一幀參考視圖像中對應(yīng)的位置(PreRefX,PreRefY),(圖1中用PrePosRef來表示);步驟5、利用GMC0,通過迭代匹配獲得參考視到目標(biāo)視的全局運(yùn)動(dòng)向量(GMVX,GMVY),(即將圖1中的GMC0反向),詳細(xì)過程將在圖3中描述;步驟6、將獲得的全局運(yùn)動(dòng)向量(GMVX,GMVY)反向,進(jìn)而利用其計(jì)算位置(PreRefX,PreRefY)在目標(biāo)視的前一幀圖像中的對應(yīng)位置(PreXcent,PreYcent),(圖1中用PrePosCur來表示);步驟7、計(jì)算獲得運(yùn)動(dòng)向量MV1,MV1X=PreXcent-CurXcent,MV1Y=PreXcent-CurYcent;(圖1中粗虛線表示的向量)。
值得指出的是,如果為了追求更高的預(yù)測精度,除了本發(fā)明提出的中心點(diǎn)預(yù)測方式外,也可以采用多點(diǎn)預(yù)測,然后求其平均值的方式,但這仍然屬于本發(fā)明的處理思路。
圖3是迭代匹配獲取參考視到目標(biāo)視的全局運(yùn)動(dòng)向量的方法。它描述了圖2中加粗功能框的實(shí)現(xiàn)。它的輸入是經(jīng)過計(jì)算得到的在參考視中的對應(yīng)位置點(diǎn)(PreRefX,PreRefY)、目標(biāo)視到參考視的全局運(yùn)動(dòng)向量GMC0,最終輸出獲得對應(yīng)的參考視到目標(biāo)視的全局運(yùn)動(dòng)向量(GMVX,GMVY)。其中,MBSIZE表示宏塊的大小,可以根據(jù)不同的環(huán)境來取不同的值;N控制最大的迭代次數(shù),可根據(jù)實(shí)際需要設(shè)置。它用來保證當(dāng)通過迭代不能獲得完全匹配時(shí),控制迭代結(jié)束。它的大小控制迭代搜索的范圍;Minerr初始化時(shí),為MAXERROR,MAXERROR可以根據(jù)實(shí)際情況取任何最大閾值。Minerr記錄迭代過程中最小的迭代誤差,最終采用Minerr(迭代誤差)最小的目標(biāo)視宏塊的全局運(yùn)動(dòng)向量來表示參考視到目標(biāo)視的全局運(yùn)動(dòng)向量(GMVX,GMVY)。
具體地,Minerr初始化,令迭代誤差Minerr=MAXERROR;計(jì)算獲得點(diǎn)(PreRefX,PreRefY)所在的宏塊位置(PreMBX,PreMBY),通過GMC0和宏塊位置(PreMBX,PreMBY)獲得全局運(yùn)動(dòng)向量(GMVX,GMVY);用點(diǎn)(PreRefX,PreRefY)減去全局運(yùn)動(dòng)向量(GMVX,GMVY),獲得新的位置(PreCurX,PreCurY);再計(jì)算獲得點(diǎn)(PreCurX,PreCurY)所在的宏塊位置(PreCurMBX,PreCurMBY)。
迭代過程是這樣的將迭代后獲得的宏塊位置(PreCurMBX,PreCurMBY)與迭代前的宏塊位置(PreMBX,PreMBY)比較,若相等,則表示完全獲得,迭代誤差Minerr為0,直接退出迭代過程,如果不相等,若在迭代前的宏塊位置的左側(cè),則獲得宏塊左邊X方向位置和迭代后的對應(yīng)位置點(diǎn)的X方向位置的絕對差Xerr,否則獲得宏塊右邊X方向位置和迭代后的對應(yīng)位置點(diǎn)的X方向位置的絕對差Xerr,與此類似,若在上方,則獲得宏塊上邊Y方向位置和迭代后的對應(yīng)位置點(diǎn)的Y方向位置的絕對差Yerr,否則獲得宏塊下邊Y方向位置和迭代后的對應(yīng)位置點(diǎn)的Y方向位置的絕對差Yerr,最后Xerr和Yerr的和與Minerr比較,取其最小值給Minerr。
圖4作為本發(fā)明的具體實(shí)施例,表示的是多視角視頻編碼預(yù)測補(bǔ)償裝置1。該裝置的輸入是多視角視頻中任意兩個(gè)視的原始視頻流(相鄰視效果更佳),其中一個(gè)視稱為參考視,另一個(gè)視稱為目標(biāo)視。參考視圖像經(jīng)過局部運(yùn)動(dòng)預(yù)測補(bǔ)償方法進(jìn)行編碼,最終輸出編碼后的參考視碼流;目標(biāo)視圖像經(jīng)過全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償進(jìn)行編碼,最后輸出編碼后的目標(biāo)視碼流。其中,參考視圖像和目標(biāo)視圖像分別是輸入的參考視原始視頻圖像和目標(biāo)視原始視頻圖像;參考視重構(gòu)圖像緩沖區(qū)和目標(biāo)視重構(gòu)圖像緩沖區(qū)分別存儲前一幀編碼后重構(gòu)的參考視圖像和目標(biāo)視圖像。
它的工作順序是首先對一幀參考視圖像進(jìn)行編碼,然后再對一幀目標(biāo)視圖像進(jìn)行編碼。下面分別是參考視圖像編碼和目標(biāo)視圖像編碼的過程1、參考視圖像編碼單元它實(shí)現(xiàn)一幀參考視圖像的預(yù)測補(bǔ)償編碼。它采用局部運(yùn)動(dòng)估計(jì),并由此獲得運(yùn)動(dòng)向量,將其進(jìn)行熵編碼。在運(yùn)動(dòng)向量緩沖區(qū)中保存該運(yùn)動(dòng)向量以備在編碼目標(biāo)視圖像時(shí)使用。運(yùn)動(dòng)向量與前一幀重構(gòu)參考視圖像合作完成參考視運(yùn)動(dòng)補(bǔ)償,獲得補(bǔ)償后的參考圖像,即圖4中參考視預(yù)測圖像,該圖像在與原始參考視圖像做差,求得殘差圖像。殘差圖像經(jīng)過變換、量化和熵編碼,最終形成參考視碼流。經(jīng)過量化后的殘差圖像再經(jīng)過反量化和反變換,并與參考視預(yù)測圖像累加,進(jìn)而得到參考視重構(gòu)圖像,并將其放入?yún)⒖家曋貥?gòu)緩沖區(qū),以備下一幀參考視圖像和目標(biāo)視圖像編碼時(shí)使用。
2、目標(biāo)視圖像編碼單元它實(shí)現(xiàn)一幀目標(biāo)視圖像的預(yù)測補(bǔ)償編碼。
在輸入的目標(biāo)視原始圖像和參考視重構(gòu)圖像之間進(jìn)行全局運(yùn)動(dòng)估計(jì),獲得全局運(yùn)動(dòng)參數(shù),并由此獲得全局運(yùn)動(dòng)預(yù)測代價(jià)和全局運(yùn)動(dòng)向量,并將全局運(yùn)動(dòng)向量保存在全局運(yùn)動(dòng)向量緩沖區(qū)中,以備后用;利用前一幀目標(biāo)視圖像編碼時(shí)獲得的全局運(yùn)動(dòng)向量及當(dāng)前獲得的全局運(yùn)動(dòng)向量和對應(yīng)的參考視圖像編碼時(shí)保存的運(yùn)動(dòng)向量進(jìn)行目標(biāo)視運(yùn)動(dòng)向量預(yù)測,得到目標(biāo)視圖像參考前一幀重構(gòu)目標(biāo)視的局部運(yùn)動(dòng)向量;計(jì)算目標(biāo)視圖像的局部運(yùn)動(dòng)預(yù)測代價(jià),并通過選擇控制器選擇它和全局運(yùn)動(dòng)預(yù)測代價(jià)中較小的預(yù)測補(bǔ)償方法進(jìn)行下面的工作;根據(jù)選定的預(yù)測補(bǔ)償方法或者進(jìn)行全局運(yùn)動(dòng)補(bǔ)償(若是全局運(yùn)動(dòng)預(yù)測補(bǔ)償方法被選中)或者進(jìn)行局部運(yùn)動(dòng)補(bǔ)償(若運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法被選中),獲得補(bǔ)償后的目標(biāo)圖像,即圖4中目標(biāo)視預(yù)測圖像,該圖像在與原始目標(biāo)視圖像做差,求得殘差圖像;殘差圖像經(jīng)過變換、量化和熵編碼,最終形成目標(biāo)視碼流。經(jīng)過量化后的殘差圖像再經(jīng)過反量化和反變換,并與目標(biāo)視預(yù)測圖像累加,進(jìn)而得到目標(biāo)視重構(gòu)圖像,并將其放入目標(biāo)視重構(gòu)緩沖區(qū),以備下一幀目標(biāo)視圖像編碼時(shí)使用。
圖5是本發(fā)明的另一個(gè)實(shí)施例,表示的是多視角視頻編碼預(yù)測補(bǔ)償裝置2。該裝置2與裝置1不同之處在于在編碼目標(biāo)視圖像時(shí),全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償作為兩種預(yù)測模式與其它的預(yù)測模式共同完成編碼工作。即,目標(biāo)視圖像除了使用全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償進(jìn)行編碼外,還可以引入當(dāng)前已經(jīng)被使用的其它預(yù)測補(bǔ)償方法(例如,直接預(yù)測補(bǔ)償方法),它們有助于多視角視頻編碼效率的提高。該裝置2的輸入是多視角視頻中任意兩個(gè)視的原始視頻流(相鄰視效果更佳),其中一個(gè)視稱為參考視,另一個(gè)視稱為目標(biāo)視。
圖5的上半部分(上面矩形框包含的部分)是參考視圖像的編碼過程,下半部分(下面矩形框包含的部分)是目標(biāo)視圖像的編碼過程;虛粗線框中包含的是全局運(yùn)動(dòng)預(yù)測補(bǔ)償模塊和運(yùn)動(dòng)向量預(yù)測模塊,它們作為兩種模式加入到整個(gè)裝置中;參考視圖像和目標(biāo)視圖像分別是輸入的參考視原始視頻圖像和目標(biāo)視原始視頻圖像;參考幀緩沖區(qū)和目標(biāo)幀緩沖區(qū)分別存儲前一幀編碼后重構(gòu)的參考視圖像和目標(biāo)視圖像。
它的工作順序是首先對一幀參考視圖像進(jìn)行編碼,然后再對一幀目標(biāo)視圖像進(jìn)行編碼。下面分別是參考視圖像編碼和目標(biāo)視圖像編碼的過程1、參考視圖像編碼單元該過程與裝置1中的相同,詳細(xì)敘述參見圖4中參考視圖像編碼說明。
2、目標(biāo)視圖像編碼單元它實(shí)現(xiàn)一幀目標(biāo)視圖像的預(yù)測補(bǔ)償編碼。
在輸入的目標(biāo)視原始圖像和參考視之間進(jìn)行全局運(yùn)動(dòng)估計(jì),獲得全局運(yùn)動(dòng)參數(shù),并由此獲得全局運(yùn)動(dòng)預(yù)測代價(jià)和全局運(yùn)動(dòng)向量,并將全局運(yùn)動(dòng)向量保存,以備后用。在全局運(yùn)動(dòng)估計(jì)模塊中完成;利用前一幀目標(biāo)視圖像編碼時(shí)獲得的全局運(yùn)動(dòng)向量及當(dāng)前獲得的全局運(yùn)動(dòng)向量和對應(yīng)的參考視圖像編碼時(shí)保存的運(yùn)動(dòng)向量進(jìn)行目標(biāo)視運(yùn)動(dòng)向量預(yù)測,得到目標(biāo)視圖像參考前一幀重構(gòu)目標(biāo)視的局部運(yùn)動(dòng)向量,并計(jì)算目標(biāo)視圖像的局部運(yùn)動(dòng)預(yù)測代價(jià)。在運(yùn)動(dòng)向量預(yù)測模塊中完成;
進(jìn)行其它的預(yù)測補(bǔ)償方法,并由此獲得運(yùn)動(dòng)向量,將其進(jìn)行熵編碼。計(jì)算該種預(yù)測補(bǔ)償方法的預(yù)測代價(jià)。在目標(biāo)幀運(yùn)動(dòng)估計(jì)模塊中完成;按照預(yù)測代價(jià)最小的原則選擇合適的預(yù)測補(bǔ)償方法。根據(jù)選定的預(yù)測補(bǔ)償方法或者進(jìn)行全局運(yùn)動(dòng)補(bǔ)償(若是全局運(yùn)動(dòng)預(yù)測補(bǔ)償方法被選中,在全局運(yùn)動(dòng)補(bǔ)償模塊中完成),或者進(jìn)行局部運(yùn)動(dòng)補(bǔ)償(若運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法被選中,在目標(biāo)幀運(yùn)動(dòng)補(bǔ)償模塊中完成),或者進(jìn)行其它方式的補(bǔ)償(在目標(biāo)幀運(yùn)動(dòng)補(bǔ)償模塊中完成),獲得補(bǔ)償后的目標(biāo)視圖像,該圖像與原始目標(biāo)視圖像做差,求得殘差圖像;殘差圖像經(jīng)過變換、量化和熵編碼,最終形成目標(biāo)視碼流。經(jīng)過量化后的殘差圖像再經(jīng)過反量化和反變換,并與補(bǔ)償后的目標(biāo)視圖像累加,進(jìn)而得到目標(biāo)視重構(gòu)圖像,并將其放入目標(biāo)幀緩沖區(qū),以備下一幀目標(biāo)視圖像編碼時(shí)使用。
圖6描述了基于MPEG-4時(shí)間可擴(kuò)展編碼方法的預(yù)測原理本發(fā)明的在兩個(gè)相關(guān)視序列之間采用全局運(yùn)動(dòng)估計(jì)預(yù)測和運(yùn)動(dòng)向量預(yù)測方法較之現(xiàn)有編碼方法可以更充分利用多視角視頻中各個(gè)視之間的相關(guān)性,因此可以有效對多視角視頻進(jìn)行編解碼。它們可以與MPEG-4編碼標(biāo)準(zhǔn)結(jié)合使用,采用如下步驟實(shí)現(xiàn)全局運(yùn)動(dòng)估計(jì)預(yù)測和運(yùn)動(dòng)向量預(yù)測處理(以立體視序列為例,它只有兩個(gè)視,分別稱為左視和右視,因此是最簡單的多視角視頻序列)。
一、編碼端處理圖6中,左視圖像作為參考視序列,右視圖像作為當(dāng)前視序列,GMC0表示前一幀左右圖像間的全局運(yùn)動(dòng)估計(jì)預(yù)測,GMC1表示當(dāng)前幀左右圖像間的全局運(yùn)動(dòng)估計(jì)預(yù)測,MV0表示參考視(即左視圖像)前后幀之間的運(yùn)動(dòng)預(yù)測向量,MV1表示當(dāng)前視(即右視圖像)前后幀之間的運(yùn)動(dòng)預(yù)測向量,它需要通過使用GMC0、GMC1和MV0進(jìn)行運(yùn)動(dòng)向量預(yù)測獲得。I表示幀內(nèi)編碼,P表示預(yù)測編碼,B表示雙向預(yù)測編碼。為了與MPEG-4標(biāo)準(zhǔn)兼容,本發(fā)明采用增加宏塊預(yù)測模式的方式嵌入全局運(yùn)動(dòng)估計(jì)預(yù)測和運(yùn)動(dòng)向量預(yù)測。因此,B圖像除了原有的預(yù)測模式外,又增加兩種預(yù)測模式,分別是全局運(yùn)動(dòng)預(yù)測(使用GME來表示)和運(yùn)動(dòng)向量預(yù)測(使用MVP來表示)。其具體的實(shí)現(xiàn)過程如下1.參考視圖像編碼這一步與MPEG-4原有步驟相同,并由此獲得前后幀之間的運(yùn)動(dòng)向量MV0。
2.當(dāng)前視圖像不僅可以參考參考視圖像,還可以參考當(dāng)前視的前一幀圖像,因此這里除了第一幀外使用MPEG-4中的B幀圖像來編碼實(shí)現(xiàn)。這里局部運(yùn)動(dòng)估計(jì)預(yù)測方式與MPEG-4原有步驟相同。
3.當(dāng)前視圖像與參考視圖像間進(jìn)行全局運(yùn)動(dòng)估計(jì)和補(bǔ)償,并獲得全局運(yùn)動(dòng)參數(shù)GMC1和宏塊的全局運(yùn)動(dòng)向量。
4.利用已經(jīng)編碼的MV0、GMC0和GMC1進(jìn)行當(dāng)前視前后幀之間的運(yùn)動(dòng)向量預(yù)測。采用中心點(diǎn)預(yù)測的方法,其預(yù)測方法見附圖2。
5.模式選擇方法1)在MPEG-4中的B幀原有的模式之間選出最優(yōu)的,采用MPEG-4原有的選擇策略;2)在選擇出的B幀最優(yōu)的原有模式、GME和MVP模式中通過率失真優(yōu)化(RDO-rate-distortion optimization)策略選擇最優(yōu)預(yù)測模式。選擇方法是選擇MSE+λRate最小的模式,其中,MSE是宏塊原始圖像與宏塊重構(gòu)圖像的均方差,Rate是該宏塊編碼后的碼位。λ是拉格朗日算子,這里λ=(0.85×2QP/3)1/2,QP是量化系數(shù)。
6.進(jìn)行運(yùn)動(dòng)補(bǔ)償。GME模式采用全局運(yùn)動(dòng)估計(jì)補(bǔ)償,其它的模式均采用MPEG-4原有的補(bǔ)償方法。
7.形成宏塊碼流。采用GME和MVP模式的宏塊無需編碼運(yùn)動(dòng)向量,其它的采用MPEG-4原有的方法。
二、解碼端處理1.解碼參考視圖像,采用MPEG-4原有的解碼方法。
2.解碼當(dāng)前視圖像,采用如下步驟1)解碼當(dāng)前幀的全局運(yùn)動(dòng)估計(jì)參數(shù);2)若當(dāng)前宏塊是MPEG-4原有預(yù)測模式,則按照MPEG-4原有解碼方法解碼,否則若是GME類型,則進(jìn)行全局運(yùn)動(dòng)補(bǔ)償重構(gòu)該宏塊,否則若是MVP類型,則按照編碼步驟4的方法來預(yù)測獲得運(yùn)動(dòng)向量,然后在利用MPEG-4原有的補(bǔ)償方法進(jìn)行運(yùn)動(dòng)補(bǔ)償。
3)解碼殘差圖像,并與補(bǔ)償?shù)膱D像合并產(chǎn)生解碼圖像。
以上實(shí)施例僅用以說明而非限制本發(fā)明的技術(shù)方案,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解可以對本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任何修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。
權(quán)利要求
1.一種多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述編碼步驟如下在兩個(gè)視之間,使用其中的一個(gè)視作為參考視,另一個(gè)相鄰視作為目標(biāo)視,經(jīng)過變形后對參考視進(jìn)行全局運(yùn)動(dòng)預(yù)測,獲得全局運(yùn)動(dòng)預(yù)測參數(shù);然后進(jìn)行每個(gè)宏塊全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償;選擇計(jì)算獲得的全局運(yùn)動(dòng)預(yù)測代價(jià)和局部運(yùn)動(dòng)預(yù)測代價(jià)中較小的預(yù)測補(bǔ)償,作為宏塊的預(yù)測補(bǔ)償;根據(jù)選定的預(yù)測補(bǔ)償,進(jìn)行宏塊的全局運(yùn)動(dòng)預(yù)測補(bǔ)償,或者進(jìn)行宏塊的局部運(yùn)動(dòng)補(bǔ)償,再與原始宏塊做差運(yùn)算,從而獲得宏塊殘差圖像;對殘差圖像進(jìn)行變換、量化、熵編碼,最終輸出宏塊編碼碼流;所述解碼步驟如下首先解碼獲得目標(biāo)視中當(dāng)前幀對參考視的全局運(yùn)動(dòng)預(yù)測參數(shù),然后進(jìn)入每個(gè)宏塊解碼過程;進(jìn)行熵解碼、反量化及反變換,獲得宏塊采用的預(yù)測補(bǔ)償方式、殘差圖像等信息;利用獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)計(jì)算獲得當(dāng)前解碼宏塊的全局運(yùn)動(dòng)向量,并保存;宏塊采用全局運(yùn)動(dòng)預(yù)測補(bǔ)償方式,或者采用運(yùn)動(dòng)預(yù)測補(bǔ)償,將獲得的宏塊補(bǔ)償圖像與解碼的殘差圖像合并,得到解碼宏塊圖像。
2.根據(jù)權(quán)利要求1所述的多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述全局運(yùn)動(dòng)預(yù)測補(bǔ)償編碼過程包括利用獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)計(jì)算宏塊的全局運(yùn)動(dòng)預(yù)測代價(jià);計(jì)算獲得該宏塊的全局運(yùn)動(dòng)向量,將其保存,已備后用。
3.根據(jù)權(quán)利要求2所述的多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述全局運(yùn)動(dòng)預(yù)測代價(jià),采用原始宏塊與對編碼后的宏塊進(jìn)行解碼得到的重構(gòu)宏塊各個(gè)象素之間的絕對差來衡量。
4.根據(jù)權(quán)利要求1所述的多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述運(yùn)動(dòng)向量預(yù)測補(bǔ)償編碼過程包括利用獲得的該宏塊的全局運(yùn)動(dòng)向量和前一幀已保存的全局運(yùn)動(dòng)向量及已編碼的參考視前后幀之間的運(yùn)動(dòng)向量預(yù)測獲得目標(biāo)視前后幀之間的運(yùn)動(dòng)向量;利用預(yù)測得到的運(yùn)動(dòng)向量計(jì)算宏塊的局部運(yùn)動(dòng)預(yù)測代價(jià)。
5.根據(jù)權(quán)利要求1所述的多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述解碼中進(jìn)行宏塊的全局運(yùn)動(dòng)預(yù)測補(bǔ)償,包括將參考視中對應(yīng)的參考幀按照獲得的全局運(yùn)動(dòng)預(yù)測參數(shù)進(jìn)行變形;利用獲得的全局運(yùn)動(dòng)向量參考變形后的參考幀對當(dāng)前解碼宏塊進(jìn)行全局運(yùn)動(dòng)補(bǔ)償,獲得宏塊補(bǔ)償圖像。
6.根據(jù)權(quán)利要求1所述的多視角視頻編解碼預(yù)測補(bǔ)償?shù)姆椒?,其特征在于,所述解碼中進(jìn)行宏塊的運(yùn)動(dòng)預(yù)測補(bǔ)償,包括利用已保存的解碼后的全局運(yùn)動(dòng)向量和已解碼的參考視前后幀間的運(yùn)動(dòng)向量,計(jì)算獲得目標(biāo)視前后幀間的運(yùn)動(dòng)向量;利用計(jì)算獲得的運(yùn)動(dòng)向量參考目標(biāo)視的前一解碼幀對當(dāng)前解碼宏塊進(jìn)行運(yùn)動(dòng)補(bǔ)償,獲得宏塊補(bǔ)償圖像。
7.一種運(yùn)動(dòng)向量中心點(diǎn)預(yù)測方法,其特征在于,包括如下步驟步驟1、在全局運(yùn)動(dòng)預(yù)測補(bǔ)償過程中,獲得全局運(yùn)動(dòng)向量GMC0和GMC1,以及在編碼參考視時(shí),獲得局部運(yùn)動(dòng)向量MV0;步驟2、計(jì)算獲得當(dāng)前宏塊的中心點(diǎn)(CurXcent,CurYcent);步驟3、通過GMC1運(yùn)動(dòng)向量和位置(CurXcent,CurYcent)計(jì)算獲得點(diǎn)(CurXcent,CurYcent)在參考視圖像中的位置(CurRefX,CurRefY);步驟4、利用MV0,計(jì)算獲得點(diǎn)(CurRefX,CurRefY)在其前一幀參考視圖像中對應(yīng)的位置(PreRefX,PreRefY);步驟5、利用GMC0,通過迭代匹配獲得參考視到目標(biāo)視的全局運(yùn)動(dòng)向量(GMVX,GMVY);步驟6、將獲得的全局運(yùn)動(dòng)向量(GMVX,GMVY)反向,進(jìn)而利用其計(jì)算位置(PreRefX,PreRefY)在目標(biāo)視的前一幀圖像中的對應(yīng)位置(PreXcent,PreYcent);步驟7、計(jì)算獲得運(yùn)動(dòng)向量MV1,MV1X=PreXcent-CurXcent,MV1Y=PreXcent-CurYcent。
8.根據(jù)權(quán)利要求7所述的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測方法,其特征在于,所述步驟5通過迭代匹配獲得參考視到目標(biāo)視的全局運(yùn)動(dòng)向量,包括Minerr初始化,令迭代誤差Minerr=MAXERROR;計(jì)算獲得點(diǎn)(PreRefX,PreRefY)所在的宏塊位置(PreMBX,PreMBY),通過GMC0和宏塊位置(PreMBX,PreMBY)獲得全局運(yùn)動(dòng)向量(GMVX,GMVY);點(diǎn)(PreRefX,PreRefY)減去全局運(yùn)動(dòng)向量(GMVX,GMVY),獲得新的位置(PreCurX,PreCurY);計(jì)算獲得點(diǎn)(PreCurX,PreCurY)所在的宏塊位置(PreCurMBX,PreCurMBY);將迭代后獲得的宏塊位置(PreCurMBX,PreCurMBY)與迭代前的宏塊位置(PreMBX,PreMBY)比較,進(jìn)入迭代過程。
9.根據(jù)權(quán)利要求7所述的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測方法,其特征在于,所述迭代后獲得的宏塊位置與迭代前的宏塊位置比較,兩者若相等,則表示完全獲得,迭代誤差Minerr為0,直接退出迭代過程。
10.根據(jù)權(quán)利要求7所述的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測方法,其特征在于,所述迭代后獲得的宏塊位置與迭代前的宏塊位置比較,如果兩者不相等,若在迭代前的宏塊位置的左側(cè),則獲得宏塊左邊X方向位置和迭代后的對應(yīng)位置點(diǎn)的X方向位置的絕對差Xerr,否則獲得宏塊右邊X方向位置和迭代后的對應(yīng)位置點(diǎn)的X方向位置的絕對差Xerr;若在上方,則獲得宏塊上邊Y方向位置和迭代后的對應(yīng)位置點(diǎn)的Y方向位置的絕對差Yerr,否則獲得宏塊下邊Y方向位置和迭代后的對應(yīng)位置點(diǎn)的Y方向位置的絕對差Yerr,最后Xerr和Yerr的和與Minerr比較,取其最小值給Minerr。
11.根據(jù)權(quán)利要求7所述的運(yùn)動(dòng)向量中心點(diǎn)預(yù)測方法,其特征在于,還包括設(shè)置控制最大的迭代次數(shù)N,當(dāng)通過迭代不能獲得完全匹配時(shí),控制迭代結(jié)束。
12.一種多視角視頻編碼預(yù)測補(bǔ)償裝置,包括參考視圖像編碼單元和目標(biāo)視圖像編碼單元,其特征在于所述參考視圖像編碼單元,通過局部運(yùn)動(dòng)估計(jì)模塊處理,獲得運(yùn)動(dòng)向量,將其進(jìn)行熵編碼;同時(shí)運(yùn)動(dòng)向量與前一幀重構(gòu)參考視圖像合作完成參考視運(yùn)動(dòng)補(bǔ)償,獲得補(bǔ)償后的參考圖像,該圖像在與原始參考視圖像做差,求得殘差圖像;殘差圖像經(jīng)過變換、量化和熵編碼模塊,最終輸出參考視碼流;所述目標(biāo)視圖像編碼單元中,全局運(yùn)動(dòng)估計(jì)模塊接收目標(biāo)視原始圖像和參考視重構(gòu)圖像作為輸入,獲得全局運(yùn)動(dòng)參數(shù),并由此獲得全局運(yùn)動(dòng)預(yù)測代價(jià)和全局運(yùn)動(dòng)向量,并將全局運(yùn)動(dòng)向量保存在全局運(yùn)動(dòng)向量緩沖區(qū)中;利用存儲在緩沖區(qū)里的前一幀目標(biāo)視圖像編碼時(shí)獲得的全局運(yùn)動(dòng)向量及當(dāng)前獲得的全局運(yùn)動(dòng)向量和對應(yīng)的參考視圖像編碼時(shí)保存的運(yùn)動(dòng)向量,通過目標(biāo)視運(yùn)動(dòng)向量預(yù)測模塊進(jìn)行預(yù)測,得到目標(biāo)視圖像參考前一幀重構(gòu)目標(biāo)視的局部運(yùn)動(dòng)向量輸出到局部運(yùn)動(dòng)預(yù)測代價(jià)模塊計(jì)算目標(biāo)視圖像的局部運(yùn)動(dòng)預(yù)測代價(jià),并通過選擇控制器選擇它和全局運(yùn)動(dòng)預(yù)測代價(jià)較小的預(yù)測補(bǔ)償方式;根據(jù)選定的預(yù)測補(bǔ)償方式獲得補(bǔ)償后的目標(biāo)圖像,該圖像在與原始目標(biāo)視圖像做差,求得殘差圖像;殘差圖像經(jīng)過變換、量化和熵編碼模塊處理,最終輸出目標(biāo)視碼流。
13.根據(jù)權(quán)利要求12的多視角視頻編碼預(yù)測補(bǔ)償裝置,其特征在于經(jīng)過量化模塊處理后的殘差圖像再輸入到反量化和反變換模塊中,與參考視預(yù)測圖像累加后,將得到的參考視重構(gòu)圖像存儲到參考視重構(gòu)緩沖區(qū)中。
14.根據(jù)權(quán)利要求12的多視角視頻編碼預(yù)測補(bǔ)償裝置,其特征在于經(jīng)過量化模塊處理后的殘差圖像再輸入到反量化和反變換模塊中,與目標(biāo)視預(yù)測圖像累加,并將到的目標(biāo)視重構(gòu)圖像存儲到目標(biāo)視重構(gòu)緩沖區(qū)。
全文摘要
本發(fā)明公開了一種多視角視頻編解碼預(yù)測補(bǔ)償方法,編碼為在兩個(gè)視間,使用其一為參考視,另一視作目標(biāo)視,經(jīng)過變形后對參考視進(jìn)行全局運(yùn)動(dòng)預(yù)測,獲得全局運(yùn)動(dòng)預(yù)測參數(shù);然后進(jìn)行每個(gè)宏塊全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償;根據(jù)選定的預(yù)測補(bǔ)償,獲得宏塊殘差圖像;對殘差圖像進(jìn)行變換、量化、熵編碼,最終輸出宏塊編碼碼流;所述解碼首先獲得目標(biāo)視中當(dāng)前幀對參考視的全局運(yùn)動(dòng)預(yù)測參數(shù),進(jìn)入每個(gè)宏塊解碼過程;進(jìn)行熵解碼、反量化及反變換,獲得宏塊采用的預(yù)測補(bǔ)償方式、殘差圖像等信息。本發(fā)明在兩個(gè)相關(guān)視序列間采用全局運(yùn)動(dòng)預(yù)測補(bǔ)償和運(yùn)動(dòng)向量預(yù)測補(bǔ)償方法,可更充分利用多視角視頻中各個(gè)視之間的相關(guān)性,可有效對多視角視頻進(jìn)行編解碼。
文檔編號H04N7/32GK1568015SQ0314803
公開日2005年1月19日 申請日期2003年6月27日 優(yōu)先權(quán)日2003年6月27日
發(fā)明者高文, 賈惠柱, 呂巖 申請人:中國科學(xué)院計(jì)算技術(shù)研究所