專利名稱:用于多視角視頻編碼的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般地涉及視頻編碼器和解碼器,更具體而言涉及用于多視角視頻編碼的方法和裝置。
背景技術(shù):
多視角視頻編碼(Multi-view video coding,MVC)是用于多視角序列的編碼的壓縮框架。多視角視頻編碼(MVC)序列是從不同視角點(diǎn)(view point)捕捉相同場(chǎng)景的兩個(gè)或更多個(gè)視頻序列的集合。已經(jīng)廣泛認(rèn)識(shí)到的是,多視角視頻編碼是為包括自由視角點(diǎn)和3D視頻應(yīng)用、家庭娛樂和監(jiān)視在內(nèi)的多種應(yīng)用服務(wù)的關(guān)鍵技術(shù)。在這些多視角應(yīng)用中,所涉及的視頻數(shù)據(jù)的量是巨大的。因此,需要高效的壓縮技術(shù)來提高當(dāng)前的執(zhí)行獨(dú)立視角的同時(shí)聯(lián)播的視頻編碼方案的編碼效率。近年來,在設(shè)計(jì)用于壓縮立體視頻(stereoscopic video)的高效方法方面已經(jīng)投入了許多精力。傳統(tǒng)的平面壓縮(monoscopic compression)方法可以被獨(dú)立地應(yīng)用到立體圖像對(duì)的左視角和右視角。但是,如果利用視角之間的高相關(guān)性,則可以實(shí)現(xiàn)更高的壓縮率。關(guān)于一種對(duì)立體圖像對(duì)的兩個(gè)視角都進(jìn)行編碼的現(xiàn)有技術(shù)方法,在國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)(IS0/IEC)運(yùn)動(dòng)圖片專家組-2(MPEG-2)標(biāo)準(zhǔn)中定義了多視角規(guī)范(Multi-View Profile,MVP)來傳送一對(duì)視頻信號(hào)。MVP依賴于多層信號(hào)表示方法,從而一個(gè)視角(通常是左視角)被分配到基本層,而另一視角被分配到增強(qiáng)層。以相同工具作為主規(guī)范(MP)的平面編碼被應(yīng)用到基本層。增強(qiáng)層是利用時(shí)間可縮放性工具以及運(yùn)動(dòng)(motion)和視差(disparity)場(chǎng)的混合預(yù)測(cè)來編碼的。在涉及國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)(IS0/IEC)運(yùn)動(dòng)圖片專家組-4(MPEG-4)第10部分高級(jí)視頻編碼(AVC)標(biāo)準(zhǔn)/國(guó)際電信聯(lián)盟電信部(ITU-T)H. 264推薦(以下稱為“MPEG-4AVC標(biāo)準(zhǔn)”)的現(xiàn)有技術(shù)方法中,立體視頻編碼可以以兩種不同的方式來執(zhí)行(i)作為交織圖像編碼的特定情況來執(zhí)行,其中具有特定奇偶性的所有場(chǎng)都被分配給左視角,而具有相反奇偶性的所有場(chǎng)都被認(rèn)為是立體視角內(nèi)容的右視角;或者(ii)通過交替來自左視角和右視角的幀來執(zhí)行,以創(chuàng)建單個(gè)平面視頻序列。立體視覺補(bǔ)充增強(qiáng)信息(SEI)消息向解碼器提供了關(guān)于被編碼的視頻序列是否表示立體內(nèi)容以及哪種方法被用來對(duì)相應(yīng)內(nèi)容編碼的指示。這些先前已知的方法要求對(duì)現(xiàn)有的平面編碼技術(shù)進(jìn)行最低限度的修改。但是,在降低存在于立體對(duì)中的兩個(gè)視角之間的冗余性方面,它們表現(xiàn)出的能力有限。結(jié)果,立體視角的編碼與單個(gè)平面視角的編碼相比導(dǎo)致了很大的開銷。另外,先前不能支持對(duì)多于兩個(gè)相機(jī)視角的編碼。
發(fā)明內(nèi)容
本發(fā)明解決了現(xiàn)有技術(shù)的這些和其他缺陷和缺點(diǎn),本發(fā)明針對(duì)用于多視角視頻編碼的方法和裝置。 根據(jù)本發(fā)明的一個(gè)方面,提供了一種視頻編碼器。該視頻編碼器包括編碼器,該編碼器用于利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行編碼。該圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一。該圖片代表不同視角點(diǎn)中的當(dāng)前視角點(diǎn)。兩個(gè)交叉視角參考圖片列表與具有不同視角點(diǎn)中除當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻編碼器。該視頻編碼器包括至少一個(gè)緩沖器,該至少一個(gè)緩沖器用于存儲(chǔ)解碼后的圖片,所述解碼后的圖片與相同或相似場(chǎng)景的不同視角點(diǎn)的多視角內(nèi)容相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻編碼方法。該方法包括利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行編碼。該圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一。該圖片代表不同視角點(diǎn)中的當(dāng)前視角點(diǎn)。兩個(gè)交叉視角參考圖片列表與具有不同視角點(diǎn)中除當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻編碼方法。該方法包括在至少一個(gè)緩沖器中存儲(chǔ)解碼后的圖片,所述解碼后的圖片與相同或相似場(chǎng)景的不同視角點(diǎn)的多視角內(nèi)容相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼器。該視頻解碼器包括解碼器,該解碼器用于利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行解碼。該圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一。該圖片代表不同視角點(diǎn)中的當(dāng)前視角點(diǎn)。兩個(gè)交叉視角參考圖片列表與具有不同視角點(diǎn)中除當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼器。該視頻解碼器包括至少一個(gè)緩沖器,該至少一個(gè)緩沖器用于存儲(chǔ)解碼后的圖片,所述解碼后的圖片與相同或相似場(chǎng)景的不同視角點(diǎn)的多視角內(nèi)容相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼方法。該方法包括利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行解碼。該圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一。該圖片代表不同視角點(diǎn)中的當(dāng)前視角點(diǎn)。兩個(gè)交叉視角參考圖片列表與具有不同視角點(diǎn)中除當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)。根據(jù)本發(fā)明的另一方面,提供了一種視頻解碼方法。該方法包括在至少一個(gè)緩沖器中存儲(chǔ)解碼后的圖片,所述解碼后的圖片與相同或相似場(chǎng)景的不同視角點(diǎn)的多視角內(nèi)容相對(duì)應(yīng)。本發(fā)明的這些和其他方面、特征和優(yōu)點(diǎn)將從以下的要結(jié)合附圖理解的對(duì)示例性實(shí)施例的詳細(xì)描述中清楚顯現(xiàn)出來。
根據(jù)以下示例性附圖可以更好地理解本發(fā)明,附圖中圖I是根據(jù)本原理的實(shí)施例、本原理可應(yīng)用到的示例性多視角視頻編碼(MVC)編碼器的框圖;圖2是根據(jù)本原理的實(shí)施例、本原理可應(yīng)用到的示例性多視角視頻編碼(MVC)解碼器的框圖;圖3是根據(jù)本原理的實(shí)施例的用于多視角視頻內(nèi)容的參考列表構(gòu)造的示例性方法的流程圖;圖4是根據(jù)本原理的實(shí)施例用于執(zhí)行時(shí)間/交叉視角模式判決的示例性方法的流程圖;圖5是根據(jù)本原理的實(shí)施例用于為與多視角視頻內(nèi)容相對(duì)應(yīng)的同一片段(slice)處理運(yùn)動(dòng)和視差向量的示例性方法的流程圖;以及圖6是根據(jù)本原理的實(shí)施例用于為多視角視頻內(nèi)容處理運(yùn)動(dòng)和視差向量的示例性方法的流程圖。
具體實(shí)施例方式本發(fā)明針對(duì)用于多視角視頻編碼的方法和裝置。本說明書說明了本發(fā)明的原理。因此,將會(huì)明白,本領(lǐng)域的技術(shù)人員將能夠設(shè)計(jì)出各種配置,這些配置雖然在這里沒有明確描述或者示出,但卻實(shí)現(xiàn)了本發(fā)明的原理并被包括在其精神和范圍之內(nèi)。這里記載的所有示例和條件語(yǔ)言都意圖用于教學(xué)目的,以幫助讀者理解本發(fā)明的原理和發(fā)明人對(duì)推進(jìn)現(xiàn)有技術(shù)所貢獻(xiàn)的概念,并且應(yīng)當(dāng)被解釋為不限于這種具體記載的示例和條件。另外,這里的所有記載本發(fā)明的原理、方面和實(shí)施例及其具體示例的陳述,都意圖包括其結(jié)構(gòu)和功能等同物。此外,希望這種等同物既包括當(dāng)前已知的等同物,也包括將來開發(fā)出的等同物,即所開發(fā)出的任何執(zhí)行相同功能的元件,不論其結(jié)構(gòu)如何。因此,例如,本領(lǐng)域的技術(shù)人員將會(huì)明白,這里給出的框圖表示了實(shí)現(xiàn)本發(fā)明的原理的示例性電路的概念性視圖。類似地,將會(huì)明白,任何流程圖、狀態(tài)轉(zhuǎn)換圖、偽代碼等等都表示實(shí)質(zhì)上可以表示在計(jì)算機(jī)可讀介質(zhì)中并可以由計(jì)算機(jī)或處理器來如此執(zhí)行的各種過程,不論這種計(jì)算機(jī)或處理器是否被明確地示出。
圖中所示的各種元件的功能可通過使用專用硬件以及能夠結(jié)合適當(dāng)?shù)能浖韴?zhí)行軟件的硬件來提供。當(dāng)由處理器提供時(shí),這些功能可由單個(gè)專用處理器提供、由單個(gè)共享處理器提供、或者由多個(gè)獨(dú)立的處理器(其中一些可能被共享)提供。另外,對(duì)術(shù)語(yǔ)“處理器”或“控制器”的明確使用不應(yīng)當(dāng)被解釋為只指能夠執(zhí)行軟件的硬件,而是可以隱含地包括(但不限于)數(shù)字信號(hào)處理器(“DSP”)硬件、用于存儲(chǔ)軟件的只讀存儲(chǔ)器(“ROM”)、隨機(jī)存取存儲(chǔ)器(“RAM”)和非易失性存儲(chǔ)設(shè)備。還可以包括其他傳統(tǒng)的和/或定制的硬件。類似地,圖中所示的任何開關(guān)都只是概念性的。它們的功能可通過程序邏輯的操作來實(shí)現(xiàn)、通過專用邏輯來實(shí)現(xiàn)、通過程序控制和專用邏輯的交互來實(shí)現(xiàn),或者甚至手工實(shí)現(xiàn),具體的技術(shù)由實(shí)現(xiàn)者根據(jù)對(duì)上下文的更具體理解來選擇。在其權(quán)利要求中,被表達(dá)為用于執(zhí)行指定功能的裝置的任何元件都意圖涵蓋執(zhí)行該功能的任何方式,例如包括a)執(zhí)行該功能的電路元件的組合或者b)任何形式的軟件,因此包括固件、微代碼等等,這種軟件與用于執(zhí)行該軟件的適當(dāng)電路相組合以執(zhí)行該功能。這 種權(quán)利要求所限定的發(fā)明存在于以下事實(shí)中由所記載的各種裝置所提供的功能以權(quán)利要求所要求的方式被組合到一起。因此,認(rèn)為任何能夠提供這些功能的裝置都與這里示出的那些是等同的。說明書中提到本原理的“一個(gè)實(shí)施例”或“實(shí)施例”意指結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)、特性等等被包括在本原理的至少一個(gè)實(shí)施例中。因此,說明書中各處出現(xiàn)的短語(yǔ)“在一個(gè)實(shí)施例中”或者“在實(shí)施例”中不一定均指相同實(shí)施例。參考圖1,示例性的多視角視頻編碼(MVC)編碼器由標(biāo)號(hào)100總地指示。編碼器100包括組合器105,該組合器105具有與變換器110的輸入發(fā)生信號(hào)通信連接的輸出。變換器110的輸出與量化器115的輸入發(fā)生信號(hào)通信連接。量化器115的輸出與熵編碼器120的輸入和逆量化器125的輸入發(fā)生信號(hào)通信連接。逆量化器125的輸出與逆變換器130的輸入發(fā)生信號(hào)通信連接。逆變換器130的輸出與組合器135的第一同相輸入發(fā)生信號(hào)通信連接。組合器135的輸出與內(nèi)預(yù)測(cè)器145的輸入和解塊濾波器150的輸入發(fā)生信號(hào)通信連接。解塊濾波器150的輸出與參考圖片存儲(chǔ)155 (用于視角i)的輸入發(fā)生信號(hào)通信連接。參考圖片存儲(chǔ)155的輸出與運(yùn)動(dòng)補(bǔ)償器175的第一輸入和運(yùn)動(dòng)估計(jì)器180的第一輸入發(fā)生信號(hào)通信連接。運(yùn)動(dòng)估計(jì)器180的輸出與運(yùn)動(dòng)補(bǔ)償器175的第二輸入發(fā)生信號(hào)通信連接。參考圖片存儲(chǔ)160(用于其他視角)的輸出與視差/照明估計(jì)器170的第一輸入和視差/照明補(bǔ)償器165的第一輸入發(fā)生信號(hào)通信連接。視差/照明估計(jì)器170的輸出與視差/照明補(bǔ)償器165的第二輸入發(fā)生信號(hào)通信連接。熵編碼器120的輸出可用作編碼器100的輸出。組合器105的同相輸入可用作編碼器100的輸入,并且與視差/照明估計(jì)器170的第二輸入以及運(yùn)動(dòng)估計(jì)器180的第二輸入發(fā)生信號(hào)通信連接。開關(guān)185的輸出與組合器135的第二同相輸入以及組合器105的反相輸入發(fā)生信號(hào)通信連接。開關(guān)185包括與運(yùn)動(dòng)補(bǔ)償器175的輸出發(fā)生信號(hào)通信連接的第一輸入、與視差/照明補(bǔ)償器165的輸出發(fā)生信號(hào)通信連接的第二輸入以及與內(nèi)預(yù)測(cè)器145的輸出發(fā)生信號(hào)通信連接的第三輸入。模式判決模塊140具有連接到開關(guān)185的輸出,用于控制哪個(gè)輸入被開關(guān)185選擇。
參考圖2,示例性的多視角視頻編碼(MVC)解碼器由標(biāo)號(hào)200總地指示。解碼器200包括熵解碼器205,該熵解碼器205具有與逆量化器210的輸入發(fā)生信號(hào)通信連接的輸出。逆量化器的輸出與逆變換器215的輸入發(fā)生信號(hào)通信連接。逆變換器215的輸出與組合器220的第一同相輸入發(fā)生信號(hào)通信連接。組合器220的輸出與解塊濾波器225的輸入和內(nèi)預(yù)測(cè)器230的輸入發(fā)生信號(hào)通信連接。解塊濾波器225的輸出與參考圖片存儲(chǔ)240 (用于視角i)的輸入發(fā)生信號(hào)通信連接。參考圖片存儲(chǔ)240的輸出與運(yùn)動(dòng)補(bǔ)償器235的第一輸入發(fā)生信號(hào)通信連接。參考圖片存儲(chǔ)245(用于其他視角)的輸出與視差/照明補(bǔ)償器250的第一輸入發(fā)生信號(hào)通信連接。熵編碼器205的輸入可用作解碼器200的輸入,用于接收殘余比特流。另外,模式模塊260的輸入也可用作解碼器200的輸入,用于接收用來控制哪個(gè)輸入被開關(guān)255選擇的控制語(yǔ)法(syntax)。另外,運(yùn)動(dòng)補(bǔ)償器235的第二輸入可用作解碼器200的輸入,用于接收運(yùn)動(dòng)向量。另外,視差/照明補(bǔ)償器250的第二輸入可用作解碼器200的輸入,用于接收 視差向量和照明補(bǔ)償語(yǔ)法。開關(guān)255的輸出與組合器220的第二同相輸入發(fā)生信號(hào)通信連接。開關(guān)255的第一輸入與視差/照明補(bǔ)償器250的輸出發(fā)生信號(hào)通信連接。開關(guān)255的第二輸入與運(yùn)動(dòng)補(bǔ)償器235的輸出發(fā)生信號(hào)通信連接。開關(guān)255的第三輸入與內(nèi)預(yù)測(cè)器230的輸出發(fā)生信號(hào)通信連接。模式模塊260的輸出與開關(guān)255發(fā)生信號(hào)通信連接,用于控制哪個(gè)輸入被開關(guān)255選擇。解塊濾波器225的輸出可用作解碼器的輸出。多視角視頻編碼(MVC)是用于多視角序列的編碼的壓縮框架。多視角視頻編碼(MVC)序列是從不同視角點(diǎn)捕捉相同場(chǎng)景的兩個(gè)或更多個(gè)視頻序列的集合。由于多視角視頻源包括相同場(chǎng)景的多個(gè)視角,因此在多個(gè)視角圖像之間存在高度的相關(guān)性。因此,除了時(shí)間冗余之外還可以利用視角冗余,并且視角冗余是通過跨不同的視角執(zhí)行視角預(yù)測(cè)來實(shí)現(xiàn)的。因此,這里描述的本原理的實(shí)施例可以包括時(shí)間和交叉視角預(yù)測(cè)兩者。出于說明目的,這里針對(duì)MPEG-4 AVC標(biāo)準(zhǔn)來描述本原理的實(shí)施例。但是,應(yīng)當(dāng)明白本發(fā)明并不限于MPEG-4 AVC標(biāo)準(zhǔn),并且,有了這里提供的本原理的教導(dǎo),本領(lǐng)域和相關(guān)領(lǐng)域的普通技術(shù)人員將想出本原理可應(yīng)用到的、能夠進(jìn)行多視角視頻編碼的這種和其他視頻編碼標(biāo)準(zhǔn),同時(shí)維持本原理的范圍。這里描述的涉及MPEG-4 AVC標(biāo)準(zhǔn)的本原理的實(shí)施例例如可以包括解塊濾波器變化和/或語(yǔ)法的熵編碼。在一個(gè)實(shí)施例中,在片段級(jí)別上,引入了交叉視角預(yù)測(cè)列表來實(shí)現(xiàn)視差預(yù)測(cè),并且添加了交叉視角編碼類型語(yǔ)法來指示視差預(yù)測(cè)的編碼類型。在宏塊(MB)級(jí)別上,引入了標(biāo)志語(yǔ)法來指示對(duì)于每個(gè)信號(hào)塊是使用運(yùn)動(dòng)補(bǔ)償還是視差補(bǔ)償。另外,在針對(duì)MPEG-4 AVC標(biāo)準(zhǔn)的實(shí)施例中可以利用的其他變化例如包括解塊濾波器、用于新語(yǔ)法的上下文自適應(yīng)二元算術(shù)編碼(CABAC)上下文以及參數(shù)設(shè)置級(jí)別和片段頭部級(jí)別上的附加語(yǔ)法。現(xiàn)在將描述根據(jù)本原理的實(shí)施例的交叉視角編碼類型和交叉視角預(yù)測(cè)列表。MPEG-4 AVC標(biāo)準(zhǔn)通過形成兩個(gè)預(yù)測(cè)列表ListO和Listl來執(zhí)行幀間預(yù)測(cè)。因此,當(dāng)前幀中的圖像塊可以通過只使用ListO中的一幅參考圖片來補(bǔ)償,或者通過使用兩幅參考圖片(每個(gè)列表一幅)來補(bǔ)償。在片段頭部中,通告了 Slicejype語(yǔ)法,以指示每個(gè)片段的時(shí)間編碼類型。當(dāng)slice_type = P_SLICE時(shí),只有ListO會(huì)被用于運(yùn)動(dòng)補(bǔ)償中。當(dāng)slice_type = B_SLICE時(shí),ListO和Listl都可能被用于運(yùn)動(dòng)補(bǔ)償中。為了實(shí)現(xiàn)不同視角之間的交叉視角預(yù)測(cè),本原理的一個(gè)實(shí)施例包括使用兩個(gè)新的預(yù)測(cè)列表ViewListO和ViewListl。ViewListO/ViewListl中的圖片是來自除當(dāng)前視角外的相機(jī)視角的參考圖片。片段頭部中的新語(yǔ)法vieW_SliCe_type被用于指示交叉視角預(yù)測(cè)的編碼類型。例如,如果特定的片段具有slice_type = B_SLICE和view_slice_type = P_SLICE,則該片段中的宏塊(MB)可以被時(shí)間編碼為B_SLICE編碼類型,或者被交叉視角編碼SP_SLICE編碼類型。在MPEG-4 AVC標(biāo)準(zhǔn)框架中實(shí)現(xiàn)交叉視角預(yù)測(cè)的另一種方式包括將來自另一視角的參考圖片插入在列表ListO/Listl中,而不引入新的視角預(yù)測(cè)列表和交叉視角編碼類型。但是,第一種方法的優(yōu)點(diǎn)如下。第一種方法的一個(gè)優(yōu)點(diǎn)在于,由于ViewListO/ViewListl中的參考圖片只包括交叉視角參考,因此對(duì)ref_idx的通告所花費(fèi)的比特比起在同一列表 中包括相同視角參考和交叉視角參考兩者來說要更少。第一種方法的另一優(yōu)點(diǎn)在于,具有兩個(gè)新的列表ViewListO/ViewListl提供了一種處理時(shí)間和交叉視角預(yù)測(cè)的單獨(dú)方式。這涉及這樣的情況,即ListO/Listl既包括時(shí)間參考又包括交叉視角參考,從而用于參考圖片列表構(gòu)造的MPEG-4 AVC標(biāo)準(zhǔn)重排序過程(reordering process)將需要被修改并且必定會(huì)更復(fù)雜。在一個(gè)實(shí)施例中,每個(gè)片段的交叉視角參考列表可根據(jù)以下規(guī)則來形成。關(guān)于第一規(guī)則,在片段頭部中,對(duì)于ViewListO和ViewListl都通告交叉視角參考圖片的數(shù)目及其view_id。view_id在兩個(gè)交叉視角預(yù)測(cè)列表中的每一個(gè)中是不同的。至于第二規(guī)則,交叉視角預(yù)測(cè)列表中的參考圖片以與它們出現(xiàn)在片段頭部中的順序相同的順序被排序。對(duì)于每個(gè)被參考的視角,具有最近圖片順序計(jì)數(shù)(POC)號(hào)(相對(duì)于當(dāng)前片段的P0C)的參考圖片被用在當(dāng)前片段的交叉視角預(yù)測(cè)列表中??梢园ǜ郊拥膮⒖贾嘏判蛘Z(yǔ)法,以便允許對(duì)交叉視角參考圖片進(jìn)行更靈活的處理。參考圖3,用于多視角視頻內(nèi)容的參考列表構(gòu)造的示例性方法由標(biāo)號(hào)300總地指示。方法300包括開始?jí)K305,該開始?jí)K305將控制傳遞給判決塊310。判決塊310判定當(dāng)前片段類型是否是P片段或B片段。如果是,則控制被傳遞到功能塊315。否則,控制被傳遞到判決塊330。功能塊315利用時(shí)間參考來構(gòu)造ListO,并將控制傳遞到判決塊320。判決塊320判定當(dāng)前片段類型是否是B片段。如果是,則控制被傳遞到功能塊325。否則,控制被傳遞到判決塊330。功能塊325利用時(shí)間參考來構(gòu)造Listl,并將控制傳遞到判決塊330。判決塊330判定當(dāng)前視角片段類型是否是P片段或B片段。如果是,則控制被傳遞到功能塊335。否則,控制被傳遞到循環(huán)限制塊350。功能塊335利用交叉視角參考來構(gòu)造ViewListO,并將控制傳遞到判決塊340。判決塊340判定當(dāng)前片段類型是否是B片段。如果是,則控制被傳遞到功能塊345。否則,控制被傳遞到循環(huán)限制塊350。功能塊345利用交叉視角參考來構(gòu)造ViewListO,并將控制傳遞到循環(huán)限制塊350。循環(huán)限制塊350在每個(gè)宏塊上開始一個(gè)循環(huán),包括利用變量mb = 0至MacroBlockslnPic-I來設(shè)置循環(huán)的范圍,并將控制傳遞到功能塊355。功能塊355利用ListO/Listl對(duì)當(dāng)前宏塊編碼,并將控制傳遞到判決塊360。判決塊360判定當(dāng)前視角片段類型是否等于P片段或B片段。如果是,則控制被傳遞到功能塊365。否則控制被傳遞到功能塊370。功能塊365利用ViewListO/ViewListl對(duì)當(dāng)前宏塊編碼,并將控制傳遞到功能塊370。功能塊370選擇最佳模式,設(shè)置mvc_prediction_flag,并將 控制傳遞到功能塊375。功能塊375執(zhí)行運(yùn)動(dòng)/視差向量緩沖處理,并將控制傳遞到循環(huán)限制塊380。循環(huán)限制塊結(jié)束循環(huán),并將控制傳遞到功能塊385。功能塊385將編碼后的圖片保存在解碼圖片緩沖器(dqb)中,并將控制傳遞到結(jié)束塊390。由于每個(gè)片段的交叉視角預(yù)測(cè)可以完全利用交叉視角編碼類型和視角預(yù)測(cè)列表來配置,因此多視角視頻編碼(MVC)編解碼器可支持任意的視角編碼順序和視角可縮放性。在一個(gè)實(shí)施例中,在MB級(jí)別上,被稱為mvc_pred_flag的新語(yǔ)法指示是時(shí)間預(yù)測(cè)還是交叉視角預(yù)測(cè)被用于對(duì)每個(gè)信號(hào)塊編碼。在mVC_pred_flag = 0的情況下,將根據(jù) slice_type 將 ListO/Listl 用于運(yùn)動(dòng)補(bǔ)償。當(dāng) mvc_pred_flag = I 時(shí),則將根據(jù) view_slice_type 使用 ViewListO/ViewListl。參考圖4,用于執(zhí)行時(shí)間/交叉視角模式判決的示例性方法由標(biāo)號(hào)400總地指示。方法400包括開始?jí)K405,該開始?jí)K405將控制傳遞給判決塊410。判決塊410判定當(dāng)前片段類型是否是P片段或B片段。如果是,則控制被傳遞到功能塊415。否則,控制被傳遞到判決塊430。功能塊415利用時(shí)間參考來構(gòu)造ListO,并將控制傳遞到判決塊420。判決塊420判定當(dāng)前片段類型是否是B片段。如果是,則控制被傳遞到功能塊425。否則,控制被傳遞到判決塊430。功能塊425利用時(shí)間參考來構(gòu)造Listl,并將控制傳遞到判決塊430。判決塊430判定當(dāng)前視角片段類型是否是P片段或B片段。如果是,則控制被傳遞到功能塊435。否則,控制被傳遞到循環(huán)限制塊450。功能塊435利用交叉視角參考來構(gòu)造ViewListO,并將控制傳遞到判決塊440。判決塊440判定當(dāng)前片段類型是否是B片段。如果是,則控制被傳遞到功能塊445。否則,控制被傳遞到循環(huán)限制塊450。功能塊445利用交叉視角參考來構(gòu)造ViewListO,并將控制傳遞到循環(huán)限制塊450。循環(huán)限制塊450在每個(gè)宏塊上開始一個(gè)循環(huán),包括利用變量mb = 0至MacroBlockslnPic-I來設(shè)置循環(huán)的范圍,并將控制傳遞到判決塊455。判決塊455判定mvc_prediction_flag是否等于I。如果是,則控制被傳遞到功能塊460。否則,控制被傳遞到功能塊465。功能塊460利用ViewListO/ViewListl對(duì)宏塊解碼,并將控制傳遞到功能塊470。
功能塊465利用ListO/Listl對(duì)宏塊解碼,并將控制傳遞到功能塊470。功能塊470執(zhí)行運(yùn)動(dòng)/視差向量緩沖處理,并將控制傳遞到循環(huán)限制塊475。循環(huán)限制塊475結(jié)束循環(huán),并將控制傳遞到功能塊480。功能塊480將解碼后的圖片保存在解碼圖片緩沖器(dqb)中,并將控制傳遞到結(jié)束塊485。添加了三個(gè)新的CABAC上下文,用于對(duì)mvc_pred_dir語(yǔ)法進(jìn)行編碼。上下文建模與 transform_size_8 X 8_f lag 語(yǔ)法相同。在MPEG-4 AVC標(biāo)準(zhǔn)的多視角擴(kuò)展中,解碼圖片緩沖器(dpb)需要能夠處理來自多個(gè)視角的解碼后的圖片。假定有N個(gè)輸入視角,那么本原理的一個(gè)實(shí)施例可能包括N個(gè)分離的dpb。每個(gè)dpb存儲(chǔ)來自一個(gè)特定視角的解碼后的圖片。管理dpb的另一種方式是將所有視角圖片放在單個(gè)dpb中。但是,第一種方法具有以下優(yōu)點(diǎn)。第一種方法的一個(gè)優(yōu)點(diǎn)在于每個(gè)視角具有其自己的dpb,并且具有與MPEG-4 AVC標(biāo)準(zhǔn)中相同的解碼參考標(biāo)記過程。這種更簡(jiǎn)單的方法降低了在同一 dpb中管理不同視角圖片的復(fù)雜度。第一種方法的另一個(gè)優(yōu)點(diǎn)涉及不希望減少可用時(shí)間參考幀的數(shù)目,因?yàn)闀r(shí)間相關(guān)性一般強(qiáng)于交叉視角相關(guān)性。在每個(gè)視角在其dpb中管理其自己的參考圖片的情況下,時(shí)間預(yù)測(cè)將具有與同時(shí)聯(lián)播中相同的多參考幀預(yù)測(cè)能力。與傳統(tǒng)的視頻編碼相比,MVC的獨(dú)特特性在于運(yùn)動(dòng)和視差的共存。被時(shí)間預(yù)測(cè)的塊將需要通告運(yùn)動(dòng)向量(MV),而在交叉視角預(yù)測(cè)的情況下則需要通告視差向量(DV)。這里描述了兩種示例性的方法,用于為同一片段處理運(yùn)動(dòng)向量和視差向量?jī)烧摺5?,?yīng)當(dāng)明白,有了這里提供的本發(fā)明的教導(dǎo),本領(lǐng)域和相關(guān)領(lǐng)域的普通技術(shù)人員將想出其這些和其他方法,同時(shí)保持本發(fā)明的范圍。在第一種方法中,對(duì)于每個(gè)塊,通告和存儲(chǔ)運(yùn)動(dòng)向量或者視差向量,但不是兩者。是運(yùn)動(dòng)向量還是視差向量將被通告和存儲(chǔ)取決于語(yǔ)法mvc_pred_flag。這將會(huì)要求較少的存儲(chǔ)器存儲(chǔ),但是組合的向量場(chǎng)將會(huì)不一致。在第二種方法中,對(duì)于每個(gè)塊,存儲(chǔ)運(yùn)動(dòng)向量和視差向量?jī)烧?。這或者可以通過通告兩個(gè)向量來實(shí)現(xiàn),或者可以通過通告一個(gè)并利用向量場(chǎng)插值填充另一個(gè)來實(shí)現(xiàn)。此方法將花費(fèi)更多的存儲(chǔ)器存儲(chǔ),但是運(yùn)動(dòng)和視差場(chǎng)的一致性能夠得到更好的保持。第一種方法的示例性實(shí)施例在圖5中示出并被參考圖5來描述。第二種方法的示例性實(shí)施例在圖6中示出并被參考圖6來描述。參考圖5,用于為與多視角視頻內(nèi)容相對(duì)應(yīng)的同一片段處理運(yùn)動(dòng)和視差向量的示例性方法由標(biāo)號(hào)500總地指示。方法500包括開始?jí)K505,該開始?jí)K505將控制傳遞到判決塊510。判決塊510判定mvc_pred_flag是否等于O。如果是,則控制被傳遞到功能塊515。否則,控制被傳遞到功能塊520。功能塊515形成視差向量預(yù)測(cè)子、處理視差向量DV、將視差向量DV存儲(chǔ)在VectorBuffer中,并將控制傳遞到結(jié)束塊525。功能塊520形成運(yùn)動(dòng)向量預(yù)測(cè)子,處理運(yùn)動(dòng)向量MV,將運(yùn)動(dòng)向量MV存儲(chǔ)在VectorBuffer中,并將控制傳遞到結(jié)束塊525。參考圖6,用于為多視角視頻內(nèi)容處理運(yùn)動(dòng)和視差向量的另一種方法由標(biāo)號(hào)600總地指示。方法600包括開始?jí)K605,該開始?jí)K505將控制傳遞到功能塊610。功能塊610形成視差向量預(yù)測(cè)子,處理視差向量DV,將視差向量DV存儲(chǔ)在VectorBufferl中,并將控制傳遞到功能塊615。功能塊615形成運(yùn)動(dòng)向量預(yù)測(cè)子,處理運(yùn)動(dòng)向量MV,將運(yùn)動(dòng)向量MV存儲(chǔ)在VectorBuffer2中,并將控制傳遞到結(jié)束塊620。在同一片段的編碼中具有運(yùn)動(dòng)和視差向量?jī)烧叩暮x出自以下方面(I)對(duì)運(yùn)動(dòng)/視差向量的預(yù)測(cè)性編碼;以及(2)直接(Direct)和跳過(Skip)模式。在MPEG-4 AVC標(biāo)準(zhǔn)中,利用來自相鄰塊的中值或方向預(yù)測(cè)來對(duì)運(yùn)動(dòng)向量分量進(jìn)行差分編碼。在多視角視頻編碼中,相鄰塊可能具有與當(dāng)前塊不同的預(yù)測(cè)方向。為了在對(duì)運(yùn)動(dòng)/視差向量的編碼中節(jié)省比特,優(yōu)選使用最相關(guān)的信息來形成預(yù)測(cè)子。取決于是否運(yùn)動(dòng)向量和視差向量?jī)烧叨紝?duì)于相鄰塊可用,對(duì)于第一種方法,只使用那些具有相同預(yù)測(cè)方向的相鄰塊;對(duì)于第二方法,在形成運(yùn)動(dòng)向量預(yù)測(cè)子時(shí)只使用相鄰塊的運(yùn)動(dòng)向量,而在形成視差預(yù)測(cè)子時(shí)只使用相鄰塊的視差向量。除了空間相鄰塊以外,時(shí)間上共位的塊也可用來增強(qiáng)視差預(yù)測(cè),因?yàn)橐暡顖?chǎng)在時(shí)間維上通常是靜止的。 MPEG-4 AVC標(biāo)準(zhǔn)中的跳過和直接模式是更好地利用了存在于相鄰宏塊之間的時(shí)空相關(guān)性的有效編碼工具,因?yàn)樗鼈兡軌虮硎具\(yùn)動(dòng),而不必傳遞運(yùn)動(dòng)向量。在多視角視頻編碼中,這些模式應(yīng)當(dāng)被修改,以考慮到附加的交叉視角相關(guān)性。對(duì)于P_Skip模式,獲得重構(gòu)的信號(hào),該信號(hào)類似于參考位于ListO的索引0的圖片的P_16X 16宏塊型預(yù)測(cè)信號(hào)。用于重構(gòu)P_Skip宏塊的運(yùn)動(dòng)向量與用于16 X 16塊的運(yùn)動(dòng)向量預(yù)測(cè)子類似。在MVC中,對(duì)運(yùn)動(dòng)/視差向量預(yù)測(cè)子的上述修改將幫助模式更為有用。對(duì)于B_SLICE 編碼,B_Skip/B_Direct_16X 16/B_Direct_8X8 模式應(yīng)當(dāng)被修改,以考慮到運(yùn)動(dòng)和視差的混合。在MPEG-4 AVC標(biāo)準(zhǔn)中支持兩種不同的直接模式,即時(shí)間直接和空間直接。對(duì)于時(shí)間直接模式,運(yùn)動(dòng)向量是從第一 Listl參考中的共位位置得到的。當(dāng)?shù)谝籐istl參考被視差預(yù)測(cè)時(shí),系統(tǒng)或者可以尋找其他Listl參考(ref_idx>0)中的共位位置處的運(yùn)動(dòng)向量,或者使用空間運(yùn)動(dòng)向量預(yù)測(cè)子。對(duì)于空間直接模式,運(yùn)動(dòng)向量是以與P_SKIP所使用的方式類似的方式得到的,但是ListO/Listl兩者都被考慮了。P_SKIP中進(jìn)行的修改也可在Listl中被擴(kuò)展。表1-4示出了多視角視頻編碼的各種語(yǔ)法,包括根據(jù)本原理的各種實(shí)施例的那些。表I示出了多視角視頻編碼的序列參數(shù)設(shè)置RBSP語(yǔ)法。表2示出了多視角視頻編碼的圖片參數(shù)設(shè)置RBSP語(yǔ)法。表3示出了多視角視頻編碼的片段頭部語(yǔ)法。表4示出了多視角視頻編碼的宏塊層語(yǔ)法。表I
seq parameter set rbsp () {C 描述符
IOg2_max_view num minus I0 ue(v)
numviewssps0 u(log2—max—view—num—minus 1+1)
view—id—sps0 u(log2—max—view—num—minus 1+1)
權(quán)利要求
1.一種視頻編碼方法,包括 利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行編碼,所述圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一,所述圖片代表所述不同視角點(diǎn)中的當(dāng)前視角點(diǎn),所述兩個(gè)交叉視角參考圖片列表與具有所述不同視角點(diǎn)中除所述當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)(365)。
2.如權(quán)利要求I所述的方法,其中所述兩個(gè)交叉視角參考圖片列表不同于國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)運(yùn)動(dòng)圖片專家組-4第10部分高級(jí)視頻編碼標(biāo)準(zhǔn)/國(guó)際電信聯(lián)盟電信部 H. 264 推薦的 ListO 和 Listl (335,345)。
3.一種視頻解碼方法,包括 利用兩個(gè)交叉視角參考圖片列表中的至少一個(gè)來對(duì)圖片中的塊進(jìn)行解碼(435,445),所述圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一,所述圖片代表所述不同視角點(diǎn)中的當(dāng)前視角點(diǎn),所述兩個(gè)交叉視角參考圖片列表與具有所述不同視角點(diǎn)中除所述當(dāng)前視角點(diǎn)之外的視角點(diǎn)的參考圖片相對(duì)應(yīng)。
4.如權(quán)利要求3所述的方法,其中所述兩個(gè)交叉視角參考圖片列表不同于國(guó)際標(biāo)準(zhǔn)化組織/國(guó)際電工委員會(huì)運(yùn)動(dòng)圖片專家組-4第10部分高級(jí)視頻解碼標(biāo)準(zhǔn)/國(guó)際電信聯(lián)盟電信部 H. 264 推薦的 ListO 和 Listl (435,445)。
全文摘要
本發(fā)明公開了用于多視角視頻編碼的方法和裝置。一種視頻編碼器包括編碼器(100),該編碼器用于通過在時(shí)間預(yù)測(cè)和交叉視角預(yù)測(cè)之間進(jìn)行選擇以實(shí)現(xiàn)對(duì)圖片的塊的預(yù)測(cè)來對(duì)該塊進(jìn)行編碼。該圖片是與多視角視頻內(nèi)容相對(duì)應(yīng)并且具有關(guān)于相同或相似場(chǎng)景的不同視角點(diǎn)的一組圖片之一。該圖片代表不同視角點(diǎn)之一。高級(jí)別語(yǔ)法被用于指示對(duì)該塊使用交叉視角預(yù)測(cè)。
文檔編號(hào)H04N7/36GK102685488SQ201210031489
公開日2012年9月19日 申請(qǐng)日期2007年1月8日 優(yōu)先權(quán)日2006年1月9日
發(fā)明者克里斯蒂娜·古米拉, 尹鵬, 蘇曄平 申請(qǐng)人:湯姆遜許可證公司