欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

使用基于深度信息的視差估計的多視點視頻編碼的制作方法與工藝

文檔序號:12005864閱讀:318來源:國知局
使用基于深度信息的視差估計的多視點視頻編碼的制作方法與工藝
使用基于深度信息的視差估計的多視點視頻編碼本申請是申請日為2009年4月23日的中國專利申請200980114390.2(“使用基于深度信息的視差估計的多視點視頻編碼”)的分案申請。相關(guān)申請的交叉引用本申請要求在2008年4月25日提交的題為“Inter-viewSkipModewithDepth”的序列號為61/125,520的美國臨時專利申請的申請日的權(quán)益,其內(nèi)容一并在此作為參考。技術(shù)領(lǐng)域描述了涉及編碼系統(tǒng)的實現(xiàn)方式。多種具體實現(xiàn)方式涉及使用深度的視點間跳過模式。

背景技術(shù):
存在使用來自另一宏塊的信息對當(dāng)前宏塊進行解碼的一種或多種編碼工具。一種編碼工具是使用深度信息對當(dāng)前宏塊進行解碼的視點間跳過模式。本申請中指出了視點間跳過編碼工具的一個或多個缺點。

技術(shù)實現(xiàn)要素:
根據(jù)總體方面,對來自多視點系統(tǒng)中第一視點的第一視點圖像的一部分進行編碼。該部分是第一視點圖像的全部或一部分。確定來自多視點系統(tǒng)中第二視點的第二視點圖像的一部分與第一視點圖像的所述部分相對應(yīng)。所述確定基于為第二視點圖像的所述部分提供深度信息的第二視點深度值。使用通過對第一視點圖像的所述部分的編碼而得到的信息來對第二視點圖像的所述部分進行編碼。根據(jù)另一總體方面,視頻信號或視頻信號結(jié)構(gòu)包括以下區(qū)段。第一視點圖像區(qū)段包括來自多視點系統(tǒng)中第一視點的第一視點圖像的一部分的編碼信息。所述第一視點圖像的所述部分包括第一視點圖像的全部或一部分。第二視點圖像區(qū)段段包括:與第一視點圖像的所述部分相對應(yīng)的、來自多視點系統(tǒng)中第二視點的第二視點圖像的一部分。第二視點深度區(qū)段段包括為第二視點圖像的所述部分提供深度信息的深度值。第一視點圖像區(qū)段段、第二視點圖像區(qū)段段和第二視點圖像深度區(qū)段段是根據(jù)支持多視點編碼而不支持深度圖編碼的標(biāo)準(zhǔn)來格式化的。根據(jù)另一總體方面,對來自多視點系統(tǒng)中第一視點的第一視點圖像的一部分的編碼進行解碼。該部分是第一視點圖像的全部或一部分。確定來自多視點系統(tǒng)中第二視點的第二視點圖像的一部分與第一視點圖像的所述部分相對應(yīng)。所述確定基于為第二視點圖像的所述部分提供深度信息的第二視點深度值。使用來自第一視點圖像的解碼部分的信息來對第二視點圖像的所述部分的編碼進行解碼。在附圖和以下描述中產(chǎn)生了一種或多種實現(xiàn)方式的細節(jié)。盡管以具體方式描述,然而應(yīng)當(dāng)清楚可以以多種方式來配置或體現(xiàn)這些實現(xiàn)方式。例如,實現(xiàn)方式可以以方法的形式來執(zhí)行,體現(xiàn)為設(shè)備,例如被配置為執(zhí)行一組操作的設(shè)備或者用于執(zhí)行一組操作的設(shè)備存儲結(jié)構(gòu),或者體現(xiàn)為信號。通過以下結(jié)合附圖和權(quán)利要求考慮的詳細描述,其他方面和特征將變得顯而易見。附圖說明圖1是編碼器的實現(xiàn)方式的圖。圖2是解碼器的實現(xiàn)方式的圖。圖3是視頻發(fā)送系統(tǒng)的實現(xiàn)方式的圖。圖4是視頻接收系統(tǒng)的實現(xiàn)方式的圖。圖5是視頻處理設(shè)備的實現(xiàn)方式的圖。圖6是對于一種實現(xiàn)方式標(biāo)識了當(dāng)前宏塊的相鄰宏塊的圖。圖7是第一編碼過程的實現(xiàn)方式的圖。圖8是第一解碼過程的實現(xiàn)方式的圖。圖9是運動匹配的實現(xiàn)方式的圖。圖10是第二編碼過程的實現(xiàn)方式的圖。圖11是第二解碼過程的實現(xiàn)方式的圖。圖12是第三編碼過程的實現(xiàn)方式的圖。圖13是第三解碼過程的實現(xiàn)方式的圖。具體實施方式視點間跳過是一種使用深度信息來對當(dāng)前宏塊進行解碼的編碼工具。發(fā)明人確定視點間跳過的缺點是需要或假定深度圖在解碼器處可用。這在需要深度圖來實現(xiàn)視點合成的3DV架構(gòu)下是可能的。在多視點視頻編碼(MVC)的情況下,沒有指定深度圖的標(biāo)準(zhǔn)傳輸。因此,不能使用需要深度圖的模式。在至少一個實現(xiàn)方式中,提出了一種使用利用深度的視點間跳過模式的架構(gòu)。在至少一個實現(xiàn)方式中,提出了使用視點間跳過作為用于多視點編碼的編碼模式。在本文所描述的至少一個實現(xiàn)方式中,提出了通過發(fā)送對應(yīng)宏塊的深度而不是例如單獨地發(fā)送深度圖來實現(xiàn)這種方法的修改。從原始視頻序列和對應(yīng)攝像機參數(shù)產(chǎn)生的深度信息不僅可以有益于解碼器端的視點合成,還可以有益于編碼器處的編碼效率。借助于深度信息,對兩個視點間畫面之間對應(yīng)關(guān)系的估計可以比傳統(tǒng)方法更精確。在至少一個實現(xiàn)方式中,引入了新的“跳過模式”,稱作“深度跳過模式”。因此,至少一些實現(xiàn)方式解決的至少一個問題是,使用利用深度的視點間跳過模式來高效地編碼多視點視頻序列。多視點視頻序列是由從不同視點捕獲某場景的兩個或多個視頻序列組成的集合。此外,如上所述,在多視點視頻編碼(MVC)的情況下,沒有指定深度圖的標(biāo)準(zhǔn)傳輸。因此,不可以使用需要深度圖的模式。本文描述的至少一個實現(xiàn)方式通過在需要時明確地發(fā)送深度信息(通常與深度圖不同)來解決該問題。注意,“深度信息”是與深度有關(guān)的各種信息的統(tǒng)稱。一種類型的深度信息是“深度圖”,所述深度圖通常是指逐像素深度圖像。其他類型的深度信息可以包括例如針對每個編碼塊而不是每個編碼像素使用單個深度值。圖1示出了示例性編碼器100,根據(jù)本原理的實施例,可以對所述編碼器100應(yīng)用本發(fā)明。編碼器100包括組合器105,組合器105具有以信號通信的方式與變換器110的輸入相連的輸出。變換器110的輸出以信號通信的方式與量化器115的輸入相連。量化器115的輸出以信號通信的方式與熵編碼器120的輸入和逆量化器125的輸入相連。逆量化器125的輸出以信號通信的方式與逆變換器130的輸入相鄰。逆變換器130的輸出以信號通信的方式與組合器135的第一非反向輸入相連。組合器135的輸出以信號通信的方式與幀內(nèi)預(yù)測器145的輸入和解塊濾波器150的輸入相連。解塊濾波器150去除例如沿著宏塊邊緣的偽像。解塊濾波器150的第一輸出以信號通信的方式與參考畫面存儲裝置155的輸入(用于時間預(yù)測)和參考畫面存儲裝置160的第一輸入(用于視點間預(yù)測)相連。參考畫面存儲裝置155的輸出以信號通信的方式與運動補償器175的第一輸入和運動估計器180的第一輸入相連。運動估計器180的輸出以信號通信的方式與運動補償器175的第二輸入相連。參考畫面存儲裝置160的第一輸出以信號通信的方式與視差估計器170的第一輸入相連。參考畫面存儲裝置160的第二輸出以信號通信的方式與視差補償器165的第一輸入相連。視差估計器170的輸出以信號通信的方式與開關(guān)134的第一輸入相連。(基于深度的)視差轉(zhuǎn)換器132的輸出以信號通信的方式與開關(guān)134的第二輸入相連。視差選擇器131的第一輸出以信號通信的方式與開關(guān)134的控制輸入相連,以選擇開關(guān)的第一或第二輸入。開關(guān)134的輸出以信號通信的方式與視差補償器165的第二輸入相連。熵解碼器120的輸出、模式判定模塊115的第一輸出以及視差選擇器131的輸出各自均可用作編碼器100的相應(yīng)輸出,以輸出比特流。視差選擇器131還可以用于輸出多種形式的深度信息??梢源鎯虬l(fā)送這樣的深度信息,例如這樣的深度信息可以用于允許解碼操作確定編碼視點的全部或一部分的視差矢量。組合器105的第一輸入、運動補償器175的第三輸入、運動估計器180的第二輸入、視差估計器170的第二輸入以及視差轉(zhuǎn)換器132的第一輸入各自都可用作編碼器的相應(yīng)輸入,以接收視點i的畫面。視差轉(zhuǎn)換器132的第二輸入可用作到編碼器100的輸入,用于接收帶外深度(out-of-band-depth)。運動補償器175的輸出以信號通信的方式與開關(guān)185的第一輸入相連。視差補償器165的輸出以信號通信的方式與開關(guān)185的第二輸入相連。幀內(nèi)預(yù)測器145的輸出以信號通信的方式與開關(guān)185的第三輸入相連。開關(guān)185的輸出以信號通信的方式與組合器105的反向輸入和組合器135的第二非反向輸入相連。模式判定模塊115的輸出確定將哪個輸入提供至開關(guān)185。圖1的一部分也可以分別地或集體地稱作編碼器、編碼單元或存取單元(例如,塊110、115和120)。類似地,例如塊125、130、135和150可以分別地或集體地稱作解碼器或解碼單元。圖2示出了示例性解碼器200,根據(jù)本原理的實施例,本原理可以應(yīng)用于所述解碼器200。解碼器200包括熵解碼器205,熵解碼器205具有以信號通信的方式與逆量化器210的輸入相連的輸出。逆量化器210的輸出以信號通信的方式與逆變換器215相連。逆變換器215的輸出以信號通信的方式與組合器220的第一非反向輸入相連。組合器220的輸出以信號通信的方式與解塊濾波器225的輸入和幀內(nèi)預(yù)測器230的輸入相連。解塊濾波器225的第一輸出以信號通信的方式與參考畫面存儲裝置240的輸入(用于時間預(yù)測)和參考畫面存儲裝置245的第一輸入(用于視點間預(yù)測)相連。參考畫面存儲裝置240的輸出以信號通信的方式與運動補償器235的第一輸入相連。參考畫面存儲裝置245的輸出以信號通信的方式與視差補償器250的第一輸入相連。比特流接收機201的輸出以信號通信的方式與比特流解析器202的輸入相連。比特流解析器202的第一輸出(用于提供殘差比特流)以信號通信的方式與熵解碼器205的輸入相連。比特流解析器202的第二輸出(用于提供控制語法以控制開關(guān)255選擇哪個輸入)以信號通信的方式與模式選擇器222的輸入相連。比特流解析器202的第三輸出(用于提供運動矢量)以信號通信的方式與運動補償器235的第二輸入相連。比特流解析器202的第四輸出(用于提供照度偏移)以信號通信的方式與視差補償器250的第二輸入相連。比特流解析器202的第五輸出(用于提供視差控制語法)以信號通信的方式與視差選擇器204的輸入相連。比特流解析器202的第六輸出(用于提供視差矢量)以信號通信的方式與開關(guān)211的第一輸入相連。比特流解析器102的第七輸出(用于提供帶內(nèi)深度)以信號通信的方式與視差轉(zhuǎn)換器203的第一輸入相連。視差轉(zhuǎn)換器203的輸出以信號通信的方式與開關(guān)211的第二輸入相連。視差選擇器204的輸出確定將哪個輸入提供至開關(guān)211。開關(guān)的輸出以信號通信的方式與視差補償器250的第三輸入相連。將意識到,照度偏移是可選的輸入,根據(jù)實現(xiàn)方式可以使用或可以不使用該照度偏移。開關(guān)255的輸出以信號通信的方式與組合器220的第二非反向輸入相連。開關(guān)255的第一輸入以信號通信的方式與視差補償器250的輸出相連。開關(guān)255的第二輸入以信號通信的方式與運動補償器235的輸出相連。開關(guān)255的第三輸入以信號通信的方式與幀內(nèi)預(yù)測器230的輸出相連。模式模塊222的輸出以信號通信的方式與開關(guān)255相連,以控制開關(guān)255選擇哪個輸入。解塊濾波器225的第二輸出可用作解碼器200的輸出。視差轉(zhuǎn)換器203的第二輸入可用作解碼器200的輸入,以接收帶外深度。圖2的一部分也可以分別地或集體地稱作存取單元,例如,比特流解析器202和使得可以存取特定數(shù)據(jù)或信息片的任何其他塊。類似地,例如塊205、210、215、220和225可以分別地或集體地稱作解碼器或解碼單元。圖3示出了示例性視頻發(fā)送系統(tǒng)300,根據(jù)本原理的實現(xiàn)方式,本原理可以應(yīng)用于所述視頻發(fā)送系統(tǒng)300。視頻發(fā)送系統(tǒng)300可以是例如用于使用諸如衛(wèi)星、線纜、電話線路、或地面廣播等多種介質(zhì)中的任何介質(zhì)來發(fā)送信號的頭端或發(fā)送系統(tǒng)??梢栽谝蛱鼐W(wǎng)或其他網(wǎng)絡(luò)上提供發(fā)送。視頻發(fā)送系統(tǒng)300可以產(chǎn)生和傳遞使用利用深度的視點間跳過模式來編碼的視頻內(nèi)容。這是通過產(chǎn)生編碼信號來實現(xiàn)的,所述編碼信號包括深度信息或能夠用于在可以例如具有解碼器的接收機端合成深度信息的信息。視頻發(fā)送系統(tǒng)300包括編碼器310以及能夠發(fā)送編碼信號的發(fā)射機320。編碼器310接收視頻信息并使用利用深度的視點間跳過模式從視頻信息中產(chǎn)生編碼信號。編碼器310可以是例如以上詳細描述的編碼器300。編碼器310可以包括子模塊,所述子模塊包括例如組裝單元,所述組裝單元用于接收多個信息片并將所述多個信息片組裝成用于存儲或發(fā)送的結(jié)構(gòu)格式。不同的信息片可以包括例如編碼或非編碼的視頻、編碼或非編碼的深度信息、以及編碼或非編碼的元素(例如,運動矢量、編碼模式指示符、和語法元素)。發(fā)射機320例如可以適于發(fā)送節(jié)目信號,所述節(jié)目信號具有表示編碼畫面和/或其相關(guān)信息的一個或多個比特流。典型的發(fā)射機執(zhí)行例如以下功能中的一個或多個功能:提供糾錯編碼、對信號中的數(shù)據(jù)進行交織、使信號中的能量隨機化、以及將信號調(diào)制到一個或多個載波上。發(fā)射機可以包括天線(未示出)或與天線接口連接。相應(yīng)地,發(fā)射機320的實現(xiàn)方式可以包括但不限于調(diào)制器。圖4示出了示例性視頻接收系統(tǒng)400,根據(jù)本原理的實施例,本原理可以應(yīng)用于所述視頻接收系統(tǒng)400。視頻接收系統(tǒng)400可以被配置為通過例如衛(wèi)星、線纜、電話線路或地面廣播等多種介質(zhì)來接收信號。可以通過因特網(wǎng)或其他網(wǎng)絡(luò)來接收信號。視頻接收系統(tǒng)400可以是例如蜂窩電話、計算機、機頂盒、電視或接收編碼視頻并提供例如解碼視頻以向用戶顯示或用于存儲的其他設(shè)備。因此,視頻接收系統(tǒng)400可以將其輸出提供至例如電視屏幕、計算機監(jiān)視器、計算機(以供存儲、處理或顯示)或其他的存儲、處理或顯示設(shè)備。視頻接收系統(tǒng)400可以接收和處理包括視頻信息的視頻內(nèi)容。視頻接收系統(tǒng)400包括:例如本申請的實現(xiàn)方式中描述的能夠接收編碼信號的接收機410,以及能夠?qū)邮盏降男盘栠M行解碼的解碼器420。接收機410可以例如適于接收節(jié)目信號,所述節(jié)目信號具有表示編碼畫面的多個比特流。典型的接收機執(zhí)行例如以下功能中的一個或多個功能:接收調(diào)制和編碼的數(shù)據(jù)信號、對來自一個或多個載波的數(shù)據(jù)信號進行解調(diào)、使信號中的能量去隨機化、將信號中的數(shù)據(jù)去交織、以及對信號進行糾錯解碼。接收機410可以包括天線(未示出)或與天線接口連接。接收機410的實現(xiàn)方式可以包括或限于解調(diào)器。解碼器420輸出包括視頻信息和深度信息的視頻信號。解碼器420例如可以是以上描述的解碼器400。圖5示出了示例性視頻處理設(shè)備500,根據(jù)本原理的實施例,本原理可以應(yīng)用于所述視頻處理設(shè)備500。視頻處理設(shè)備500可以例如是機頂盒或接收編碼視頻并提供例如解碼視頻以向用戶顯示或存儲的其他設(shè)備。因此,視頻處理設(shè)備500可以將其輸出提供至電視、計算機監(jiān)視器或計算機或其他處理設(shè)備。視頻處理設(shè)備500包括前端(FE)裝置505和解碼器510。前端裝置505可以是例如接收機,所述接收機適于接收具有表示編碼畫面的多個比特流的節(jié)目信號,以及適于選擇一個或多個比特流以根據(jù)所述多個比特流進行解碼。典型的接收機執(zhí)行例如以下功能中的一個或多個功能:接收調(diào)制和編碼數(shù)據(jù)信號、解調(diào)數(shù)據(jù)信號、對數(shù)據(jù)信號的一個或多個編碼(例如,信道編碼和/或源編碼)進行解碼、和/或?qū)?shù)據(jù)信號進行糾錯。前端裝置505可以接收來自例如天線(未示出)的節(jié)目信號。前端裝置505將接收到的數(shù)據(jù)信號提供至解碼器510。解碼器510接收數(shù)據(jù)信號520。數(shù)據(jù)信號520可以包括例如一個或多個與高級視頻編碼(AVC)、可縮放視頻編碼(SVC)或多視點視頻編碼(MVC)兼容的流。AVC具體是指國際標(biāo)準(zhǔn)化組織/國際電子技術(shù)委員會(ISO/IEC)運動圖像專家組-4(MPEG-4)部分10高級視頻編碼(AVC)標(biāo)準(zhǔn)/國際電信聯(lián)盟-電信部分(ITU-T)H.264推薦(下文中,“H.264/MPEG-4AVC標(biāo)準(zhǔn)”或其變體,如“AVC標(biāo)準(zhǔn)”,或簡稱“AVC”)。MVC具體是指AVC標(biāo)準(zhǔn)的多視點視頻編碼(“MVC”)擴展(附錄H),稱作H.264/MPEG-4AVC,MVC擴展(“MVC”擴展或簡稱“MVC”)。SVC具體是指AVC標(biāo)準(zhǔn)的可縮放視頻編碼(“SVC”)擴展(附錄G),稱作H.264/MPEG-4AVC,SVC擴展(“SVC”擴展或簡稱“SVC”)。解碼器510對接收信號520的全部或部分進行解碼,并提供解碼視頻信號530作為輸出。將解碼視頻530提供至選擇器550。設(shè)備500還包括接收用戶輸入570的用戶解碼560。用戶界面560基于用戶輸入570來向選擇器550提供畫面選擇信號580。畫面選擇信號580和用戶輸入570指示用戶希望顯示以下項目中的哪個:多個畫面、序列、可縮放版本、視圖或可用解碼數(shù)據(jù)的其他選擇。選擇器550提供所選的畫面作為輸出590。選擇器550使用畫面選擇信息580來選擇提供解碼視頻530的哪個畫面作為輸出590。在不同實現(xiàn)方式中,選擇器550包括用戶界面560,在其他實現(xiàn)方式中,由于選擇器550直接接收用戶輸入570而不執(zhí)行單獨的接口功能,所以選擇器550可以例如以軟件形式實現(xiàn)或?qū)崿F(xiàn)為集成電路。在一個實現(xiàn)方式中,選擇器550與解碼器510合并,在另一個實現(xiàn)方式中,解碼器510、選擇器550和用戶界面560合并在一起。在一個應(yīng)用中,前端505接收多種電視節(jié)目的廣播并選擇一個電視節(jié)目來處理。一個節(jié)目的選擇基于要觀看的期望頻道的用戶輸入。盡管圖5并未示出向前端裝置505的用戶輸入,然而前端裝置505接收用戶輸入570。前端505接收廣播并通過對廣播譜的相關(guān)部分進行解調(diào)以及對解調(diào)節(jié)目的任何外部編碼進行解碼,來處理期望的節(jié)目。前端505將解碼節(jié)目提供至解碼器510。解碼器510是包括裝置560和550的集成單元。因此解碼器510接收用戶輸入,所述用戶輸入是由用戶提供的對要在節(jié)目中觀看的期望視點的指示。解碼器510對所選的視點以及來自其他視點的任何所需參考畫面進行解碼,并提供解碼視點590以顯示在電視(未示出)上。繼續(xù)上述應(yīng)用,用戶可能希望切換所顯示的視點,然后可以向解碼器510提供新的輸入。在接收到來自用戶的“視點改變”之后,解碼器510對舊視點和新視點以及在舊視點與新視點之間的任何視點進行解碼。即,解碼器對從物理上位于捕獲舊視點的攝像機與捕獲新視點的攝像機之間的攝像機得到的任何視點進行解碼。前端裝置505還接收標(biāo)識舊視點、新視點以及兩者之間視點的信息。該信息可以例如由具有與視點位置有關(guān)的信息的控制器(圖5中未示出)或者解碼器510來提供。其他實現(xiàn)方式可以使用具有控制器的前端裝置,所述控制器與前端裝置相集成。解碼器510提供所有這些解碼視點作為輸出590。后處理器(圖5中未示出)在視點之間進行內(nèi)插,以提供從舊視點到新視點的平滑過渡,并向用戶顯示這種過渡。在過渡到新視點之后,后處理器通知(通過一個或多個通信鏈路,未示出)解碼器510和前端裝置505只需要新視點。此后,解碼器510僅提供新視點作為輸入590。系統(tǒng)500可以用于接收圖像序列的多個視點,提供用于顯示的單個視點,以及以平滑的方式在多個視點之間切換。平滑方式可以包括在視點之間進行內(nèi)插以移到另一視點。此外,系統(tǒng)500可以允許用戶旋轉(zhuǎn)對象或場景,或允許用戶看到對象或場景的三維表示。對象的旋轉(zhuǎn)例如可以對應(yīng)于:從一個視點移到另一視點,并且在視點之間進行內(nèi)插,以得到視點之間的平滑過渡或僅得到三維表示。即,用戶可以“選擇”內(nèi)插的視點作為要顯示的“視點”。使用深度圖來尋找視點間對應(yīng)關(guān)系假定點M(x,y,z)(z是得自于深度圖)以坐標(biāo)(u1,v1)投影在攝像機平面1上,以坐標(biāo)(u2,v2)投影在攝像機平面2上。點(x,y,z)來自與攝像機設(shè)置無關(guān)的真實坐標(biāo)系,并且標(biāo)識了3D點的位置。點(u1,v1)是3D點(x,y,z)投影到視點1的攝像機坐標(biāo)系中的投影坐標(biāo)。類似地,點(u2,v2)是3D點(x,y,z)投影到視點2的攝像機坐標(biāo)系中的投影坐標(biāo)。如下從攝像機參數(shù)K、R和T得出點矩陣P:P=K·[R|T](1)其中K是本征矩陣,R是旋轉(zhuǎn)矩陣,T是變換矢量,等式1指示矩陣R被矩陣T右合并且合并結(jié)果乘以矩陣K。對于視點1和視點2,根據(jù)等式(2)和等式(3),視點2中的像素(u2,v2)將在視點1中找到其對應(yīng)像素(u1,v1)。這里P1和P2如下表示視點1和視點2的投影矩陣:每個攝像機具有唯一的投影矩陣P,如以上3×4矩陣所示。通過將投影矩陣左乘以全局坐標(biāo),可以得到攝像機坐標(biāo)系中的坐標(biāo)。每個攝像機產(chǎn)生其自己的等式集合。視差計算和深度跳過模式盡管以上計算是基于像素的,然而至少一種實際實現(xiàn)方式僅需要整個宏塊的左上方像素的對應(yīng)像素作為視差矢量。對于左上方像素是(u1,v1)的當(dāng)前宏塊,如果該像素的視點間對應(yīng)關(guān)系是像素(u2,v2),則深度跳過模式的視差矢量(DV)是:DV=(u2-u1,v2-v1)。該模式的參考畫面被設(shè)置為參考列表0中的第一視點間畫面。不需要發(fā)送殘差。在編碼器或解碼器處確定DV的過程可以典型地包括:將(u1,v1)用于畫面中的點,使用與(u1,v1)相關(guān)聯(lián)的深度值來確定畫面中點的位置(x,y,z)。使用等式(2)來實現(xiàn)這一操作。然后在等式3中使用(x,y,z)來確定該點的(u2,v2)。該過程稱作“卷曲(warping)”并且基于深度值,所述深度值可以被編碼或在外部獨立發(fā)送或者作為深度圖的一部分來發(fā)送。使用卷曲過程,對于視點1中的每個像素(u1,v1),可以典型地識別視點2中的對應(yīng)像素(u2,v2)。然后將DV設(shè)置為(u2-u1,v2-v1)。DV可以指向參考畫面中的對應(yīng)塊。如果對應(yīng)塊與當(dāng)前塊足夠類似,則如下所述,可以使用“深度跳過”模式通過拷貝來自對應(yīng)塊的像素來編碼當(dāng)前塊。如本文所示,深度信息可以用于產(chǎn)生視差矢量。深度跳過模式下的照度補償對于傳統(tǒng)跳過模式,參考畫面來自相同的視點,因此沒有照度變化。然而,當(dāng)參考畫面來自其他視點時,可以考慮照度補償(IC)。因此,如果啟用照度補償工具,則應(yīng)當(dāng)發(fā)送深度跳過模式下照度補償?shù)难a償偏移。如現(xiàn)有技術(shù)已知的,可以以多種方式來計算該偏移。在帶外發(fā)送深度數(shù)據(jù)的實施例0表1A示出了對來自MVC標(biāo)準(zhǔn)的現(xiàn)有語法結(jié)構(gòu)的修改。表1A的語法可以用于示意在宏塊級對深度跳過模式的使用。還以照度補償偏移值的形式示意了照度補償。修改部分一般由斜體字示出。注意,令macroblock_layer_mvc_extension()替換從slice_data()中調(diào)用的macroblock_layer()。表1Adepth_skip_flag等于1指示編碼宏塊處于深度跳過模式。depth_skip_flag等于0指示編碼宏塊沒有處于深度跳過模式。ic_enable等于1指示對于當(dāng)前片啟用照度補償。ic_enable等于0指示不針對當(dāng)前片使用照度補償。mb_ic_flag等于1指示針對當(dāng)前宏塊使用照度補償。mb_ic_flag等于0指示不針對當(dāng)前宏塊使用照度補償。mb_ic_flag的默認值是零。dpcm_of_dvic指定了要用于當(dāng)前宏塊的照度補償偏移量。在至少一種實現(xiàn)方式中,提出改進深度跳過模式的性能。由于該模式假定深度數(shù)據(jù)在解碼器處可用,所以該方法所需的總比特率是比特率(視頻)+比特率(深度)。如果深度數(shù)據(jù)僅被編碼為支持深度跳過模式,則在編碼優(yōu)化期間計數(shù)深度數(shù)據(jù)的附加比特率。此外,多視點視頻編碼標(biāo)準(zhǔn)并不支持將深度信號與視頻信號一起發(fā)送。為了至少部分解決這兩個問題,提出了一種將深度信息與視頻信號一起發(fā)送的解決方案。在帶內(nèi)發(fā)送深度數(shù)據(jù)的實施例1假定深度數(shù)據(jù)針對每個視點在編碼器處可用。如以上過程中提到的,對于一種實現(xiàn)方式,深度跳過模式需要被編碼為深度跳過模式的宏塊的左上方像素的深度值。其他實現(xiàn)方式可以使用例如右下方像素或塊中所有像素的平均。在深度跳過模式下,該深度值是從與當(dāng)前視點相對應(yīng)的深度信號的對應(yīng)像素得到的??梢曰谒俾适д鎯?yōu)化來判定選擇宏塊。因此,不是所有宏塊都將被選擇為跳過模式。除此之外,還將針對整個畫面或所有畫面來發(fā)送深度數(shù)據(jù)。這在不需要深度數(shù)據(jù)用于任何其他用途(例如,呈現(xiàn)用途等等)時,導(dǎo)致對整個多視點系統(tǒng)的高比特率需求。因此,提出了一種顯著降低這種高比特率需求的方法。由于僅針對特定比例的宏塊選擇深度跳過模式,所以不需要發(fā)送所有像素或所有畫面的深度值。因此,提出僅發(fā)送使用深度跳過模式的宏塊的深度值。表1B在表1B中示出了這一點,其中macroblock_layer_mvc_extension()結(jié)構(gòu)被修改為發(fā)送depth_skip_flag和該深度的編碼值。當(dāng)depth_skip_flag為真時,發(fā)送該宏塊的附加深度值。這由表1B中示出的語法元素depthd來示意??梢匀缦聦懗鲈撜Z法元素的語義:depthd指定了當(dāng)前宏塊使用的深度值與其預(yù)測值之差。depth_skip_flag等于1指示編碼宏塊處于深度跳過模式。depth_skip_flag等于0指示編碼宏塊不處于深度跳過模式。如果slice_type不是P也不是B,則推導(dǎo)出該值為0。如下得出當(dāng)前宏塊的最終(即,重構(gòu)的)深度:predDepth=Min(depthA,depthB),當(dāng)mbA不存在時,predDepth=depthB當(dāng)mbB不存在時,predDepth=depthA當(dāng)mbA和mbB都不存在或沒有深度與mbA和mbB相關(guān)聯(lián)時,predDepth=128depth=predDepth+depthd這里,depthA是左側(cè)相鄰宏塊的重構(gòu)深度信號,depthB是頂部相鄰宏塊的重構(gòu)深度信號。depthA和depthB是單個值。圖6示出了根據(jù)本原理的實施例的標(biāo)記為“Curr”的當(dāng)前宏塊的相鄰宏塊,標(biāo)記為“A”、“B”和“C”。深度跳過模式并不發(fā)送宏塊的殘差,即,像素值的殘差。這是有局限性的,因此提出擴展的深度跳過模式,使得允許針對宏塊發(fā)送殘差。將這稱作深度導(dǎo)向模式。可以利用或不利用深度標(biāo)志和深度信息來實現(xiàn)對殘差的發(fā)送。圖7是示出了根據(jù)第一說明性實施例的使用利用深度的深度跳過模式來進行編碼的示例性方法700的圖。在步驟706,讀取編碼器配置文件。在步驟709,設(shè)置SPS擴展中的錨和非錨畫面參考。在步驟712,將視點的數(shù)目設(shè)置為等于N,將變量i和j初始化為零。在步驟715,確定是否i<N。如果是,則將控制傳遞至步驟718。否則,將控制傳遞至步驟760。在步驟718,確定是否j<視點i中的畫面數(shù)目(num)。如果是,則將控制傳遞至步驟721。否則,將控制傳遞至步驟754。在步驟721,開始對當(dāng)前宏塊的編碼。在步驟724,檢驗宏塊模式。在步驟727,檢驗視點間跳過宏塊模式。在步驟730,確定視點間跳過是否是最佳的模式。如果是,則將控制傳遞至步驟733。否則將控制傳遞至步驟757。在步驟733,將depth_skip_flag設(shè)置為等于1,將depthd設(shè)置為左上方像素的深度減去深度預(yù)測值。在步驟736,確定是否啟用照度補償。如果是,則將控制傳遞至步驟739。否則,將控制傳遞至步驟742。在步驟739,將mb_ic_flag設(shè)置為等于1,并設(shè)置dpcm_of_dvic。在步驟742,對當(dāng)前宏塊進行編碼。在步驟745,確定是否所有宏塊都已被編碼。如果是,則將控制傳遞至步驟748。否則,將控制傳遞至步驟721。在步驟748,遞增變量j。在步驟751,遞增frame_num和圖像順序號(POC)。在步驟754,遞增變量i并重置frame_num和POC。在步驟757,將depth_skip_flag設(shè)置為等于0。在步驟760,確定是否在帶內(nèi)以信號通知SPS、PPS和/或VPS。如果是,則將控制傳遞至步驟763。否則,將控制傳遞至步驟766。在步驟763,在帶內(nèi)發(fā)送SPS、PPS和/或VPS。在步驟766,在帶外發(fā)送SPS、PPS和/或VPS。在步驟769,將比特流寫入文件或使比特流在網(wǎng)絡(luò)上流傳輸。圖8是示出了根據(jù)第一說明性實施例的使用利用深度的視點間跳過模式來進行解碼的示例性方法800的流程圖。在步驟806,根據(jù)SPS、PPS、VPS、片首部、或網(wǎng)絡(luò)抽象層(NAL)單元首部來解析view_id。在步驟809,解析其他SPS參數(shù)。在步驟812,確定當(dāng)前畫面是否需要解碼。如果是,則將控制傳遞至步驟815。否則,將控制傳遞至步驟830。在步驟815,確定是否POC(curr)?。絇OC(prev)。如果是,則將控制傳遞至步驟818。否則,將控制傳遞至步驟821。在步驟818,將view_num設(shè)置為等于0。在步驟821,以高級別將view_id信息編入索引以確定視點編碼順序,并遞增view_num。在步驟824,確定當(dāng)前畫面是否按照期望的編碼順序。如果是,則將控制傳遞至步驟833。否則,將控制傳遞至步驟827。在步驟833,解析片首部。在步驟836,解析depth_skip_flag。在步驟839,確定depth_skip_flag是否等于1。如果是,則將控制傳遞至步驟842。否則,將控制傳遞至步驟863。在步驟842,解析depthd和mb_ic_flag。在步驟845,確定mb_ic_flag是否等于1。如果是,則將控制傳遞至步驟848。否則,將控制傳遞至步驟849。在步驟848,解析dpcm_of_dvic。在步驟849,使用depthd以獲得視差矢量。在步驟851,對當(dāng)前宏塊進行解碼。在步驟854,確定是否完成(解碼)所有宏塊。如果是,則將控制傳遞至步驟857。否則,將該控制返回步驟836。在步驟857,在解碼圖像緩沖器(DPB)中插入當(dāng)前畫面。在步驟860,確定是否所有畫面都已被解碼。如果是,則進行解碼。否則,將控制返回步驟833。在步驟827,隱藏當(dāng)前畫面。在步驟830,得到下一畫面。在步驟863,解析MB模式、mv和ref_idx。實施例2在該實施例中,提出修改運動跳過模式以使用深度信息而不是全局視差矢量(GDV)。在運動跳過模式的至少一種實現(xiàn)方式中,運動跳過模式使用全局視差矢量從相鄰視點中推斷模式和運動信息。該視差矢量是在編碼器處計算的,并且在每個錨畫面上發(fā)送。然后可以從之前的連續(xù)錨畫面的GDV得到非錨畫面的視差矢量。GDV用于確定另一視點中的對應(yīng)宏塊或子宏塊。提出并不使用該全局視差矢量來選擇運動跳過模式,而是由針對宏塊或子宏塊而發(fā)送的深度值來選擇運動跳過模式。如下所述,深度值可以用于確定視差矢量。表2中示出了子宏塊的該深度信號以及矢量的細化的情況。表2示出了語法的修改,修改例如包括以斜體字示出的“depthd”。表2如上所述,在編碼器處,模式判定將使用宏塊或子宏塊的深度并卷曲該深度。這等同于視差矢量。該卷曲將指向參考視點中的位置。由于該位置不必須在宏塊或子宏塊邊界處對齊(如運動跳過模式所需的),因此該位置可以被舍入成最近的宏塊或子宏塊邊界。注意,在深度跳過模式下,這樣的對齊并不是不可或缺的,因為即使對應(yīng)像素沒有在宏塊或子宏塊邊界上也可以拷貝對應(yīng)像素。此外,可以在該點周圍進行另外的搜索,以細化視差矢量。圖9中示出了這一點。即,圖9示出了視差匹配900的示例。細化的視差匹配涉及具有要在其中編碼的當(dāng)前宏塊910的編碼畫面920、視點間參考畫面950、以及在視點間參考畫面950中從當(dāng)前宏塊910到對應(yīng)宏塊980的初始視差矢量970。例如還可以通過以下操作來執(zhí)行另外的搜索:對910和980執(zhí)行基于像素的補償,然后將對應(yīng)宏塊980移至搜索區(qū)域990(示為陰影)中的不同位置并選擇具有最佳基于像素補償?shù)膲K。如圖9所示,對應(yīng)塊980占據(jù)陰影搜索區(qū)域990的中央部分,對應(yīng)塊980以較粗的線框出。在解碼器處,執(zhí)行類似的過程,其中,解碼深度值用于將當(dāng)前宏塊或子宏塊卷曲到相鄰視點的位置。在發(fā)送細化的情況下,將細化添加到該位置,然后舍入成最接近的宏塊或子宏塊位置。編碼器使用來自另一視點中的對應(yīng)宏塊或子宏塊的模式和運動對當(dāng)前宏塊或子宏塊進行編碼。模式和運動信息可以例如指向時間上不同但是來自與當(dāng)前宏塊或子宏塊的視點相同的視點的畫面中的具體參考塊/子塊。類似地,解碼器相對于得到的運動信息所指向的在時間上不同的(相同視點的)宏塊或子宏塊,來解碼當(dāng)前宏塊或子宏塊。圖10是示出了根據(jù)本發(fā)明第二說明性實施例的使用利用深度的運動跳過模式來進行編碼的示例性方法1000的流程圖。在步驟1006,讀取編碼器配置文件。在步驟1009,設(shè)置SPS擴展中的錨和非錨畫面參考。在步驟1012,將視點的數(shù)目設(shè)置為等于N,將變量i和j初始化為零。在步驟1015,確定是否i<N。如果是,則將控制傳遞至步驟1018。否則,將控制傳遞至步驟1060。在步驟1018,確定是否j<視點i中的畫面數(shù)目(num)。如果是,則將控制傳遞至步驟1021。否則,將控制傳遞至步驟1057。在步驟1021,開始對當(dāng)前宏塊的編碼。在步驟924,檢驗宏塊模式。在步驟1028,使用宏塊(MB)的深度值得到視差矢量。在步驟1031,視差矢量被舍入成最接近宏塊或子宏塊位置。在步驟1032,針對最佳的視差矢量在該(舍入的)位置周圍執(zhí)行搜索。在步驟1034,確定運動跳過是否是最佳模式。如果是,則將控制傳遞至步驟1035。否則,將控制傳遞至步驟1058。在步驟1035,將motion_skip_flag設(shè)置為等于1,將depthd設(shè)置為等于左上方像素的深度減去深度預(yù)測值。在步驟1037,設(shè)置偏移值。在步驟1042,對當(dāng)前宏塊進行編碼。在步驟1045,確定是否所有宏塊都已被編碼。如果是,則將控制傳遞至步驟1048。否則,將控制傳遞至步驟1021。在步驟1048,遞增變量j。在步驟1051,遞增frame_num和圖像順序號(POC)。在步驟1057,遞增變量i并重置frame_num和POC。在步驟1058,將motion_skip_flag設(shè)置為等于0。在步驟1060,確定是否在帶內(nèi)以信號通知SPS、PPS和/或VPS。如果是,則將控制傳遞至步驟1063。否則,將控制傳遞至步驟1066。在步驟1063,在帶內(nèi)發(fā)送SPS、PPS和/或VPS。在步驟1066,在帶外發(fā)送SPS、PPS和/或VPS。在步驟1069,將比特流寫入文件或使比特流在網(wǎng)絡(luò)上流傳輸。圖11是示出了根據(jù)第二說明性實施例的使用利用深度的視點間跳過模式來進行解碼的示例性方法1100的流程圖。在步驟1106,根據(jù)SPS、PPS、VPS、片首部、或網(wǎng)絡(luò)抽象層(NAL)單元首部來解析view_id。在步驟1109,解析其他SPS參數(shù)。在步驟1112,確定當(dāng)前畫面是否需要解碼。如果是,則將控制傳遞至步驟1115。否則,將控制傳遞至步驟1130。在步驟1115,確定是否POC(curr)?。絇OC(prev)。如果是,則將控制傳遞至步驟1118。否則,將控制傳遞至步驟1121。在步驟1118,將view_hum設(shè)置為等于0。在步驟1121,以高級別將view_id信息編入索引以確定視點編碼順序,并遞增view_num。在步驟1124,確定當(dāng)前畫面是否按照期望的編碼順序。如果是,則將控制傳遞至步驟1133。否則,將控制傳遞至步驟1127。在步驟1133,解析片首部。在步驟1135,解析motion_skip_flag。在步驟1138,確定motion_skip_flag是否等于1。如果是,則將控制傳遞至步驟1141。否則,將控制傳遞至步驟1163。在步驟1141,解析depthd。在步驟1144,解析視差矢量偏移。在步驟1145,通過使用深度并添加視差偏移,來計算視差。在步驟1147,對當(dāng)前宏塊進行解碼。在步驟1154,確定是否所有宏塊都已完成(被解碼)。如果是,則將控制傳遞至步驟1157。否則,將控制傳遞至步驟1135。在步驟1157,在解碼圖像緩沖器(DPB)中插入當(dāng)前畫面。在步驟1160,確定是否所有畫面都已被解碼。如果是,則進行解碼。否則,將控制返回步驟1133。在步驟1127,隱藏當(dāng)前畫面。在步驟1130,得到下一畫面。在步驟1163,解析MB模式和ref_idx。實施例3在運動矢量預(yù)測中,指定了確定將哪個矢量用作運動矢量預(yù)測值的過程。類似地,對于視點間運動補償,使用視差矢量。通常,用于運動矢量預(yù)測的相同過程可以應(yīng)用于視差矢量預(yù)測。此外,提出了將從深度值轉(zhuǎn)換而來的視差矢量用作是視差矢量預(yù)測值的附加候選??梢詫⒕砬涤米饕暡钍噶款A(yù)測值,或者將傳統(tǒng)中間預(yù)測用作視差矢量預(yù)測值。針對宏塊級語法的表3以及針對子宏塊級語法的表4示出了這一點。表3表4表3和表4包括新語法元素“disparity_vec_pred_type”。對于工作在宏塊級或子宏塊級的實施例,還可以發(fā)送深度信息。語法disparity_vec_pred_type具有以下語義:disparity_vec_pred_type指示如何得到當(dāng)前宏塊或子宏塊的視差矢量預(yù)測值。disparity_vec_pred_type等于1指示將從深度值轉(zhuǎn)換而來的視差矢量用作視差矢量預(yù)測值。disparity_vec_pred_type等于0指示將使用中間預(yù)測值得到的視差矢量用作視差矢量預(yù)測值。以下要點可以至少部分地詳細產(chǎn)生前述構(gòu)思并提供多種實現(xiàn)方式的細節(jié)。以下這樣的實現(xiàn)方式可以對應(yīng)于之前的實現(xiàn)方式、本發(fā)明的變體和/或新實現(xiàn)方式。關(guān)于第一點,在深度跳過模式下,可以不需要殘差編碼,或者可以在帶外發(fā)送深度??梢栽诹硪灰朁c中確定對應(yīng)塊,這些像素可以用于重構(gòu)當(dāng)前塊(通常稱作宏塊或子宏塊)??梢园l(fā)送標(biāo)志,所述標(biāo)志指示該編碼模式并命令解碼器使用來自該重構(gòu)的參考視點中的對應(yīng)宏塊的像素。然而,在許多實現(xiàn)方式中,需要當(dāng)前塊的深度信息以便找到對應(yīng)塊。如已知的,深度信息可以用于產(chǎn)生視差矢量。相應(yīng)地,在多種實現(xiàn)方式中,提出了以信號通知模式(可以稱作“深度跳過模式”)的語法,并且還提出了也用于發(fā)送深度信息的修改語法。注意,許多實現(xiàn)方式使用深度預(yù)測值,因此僅需要發(fā)送深度差。關(guān)于第二點,另一編碼模式是運動跳過模式(“MSM”)。該模式查看視點間塊以獲得該視點間塊的運動數(shù)據(jù),以描述從時間參考的運動。即,當(dāng)前塊借用來自另一視點中的塊的時間運動信息。然而,在運動跳過模式下,通常使用全局視差矢量來尋找另一視點中的對應(yīng)塊。通常將全局視差矢量與該畫面組(GOP)的另一錨畫面一起發(fā)送,并且該全局視差矢量可以并不是對于畫面組中任何給定的塊而言都是最佳視差矢量。一種或多種實現(xiàn)方式使用當(dāng)前塊的深度信息來獲得指向來自另一視點對應(yīng)塊的指針。使用深度信息來產(chǎn)生視差矢量,視差矢量基于當(dāng)前宏塊的深度信息,而不使用全局視差矢量。這種實現(xiàn)方式典型地在比特流中或在帶外發(fā)送深度數(shù)據(jù),使得解碼器可以執(zhí)行類似的解碼操作。從深度信息計算出的視差矢量指向另一視點中的對應(yīng)塊。然后將來自該對應(yīng)塊的運動信息(例如,運動矢量、參考畫面索引等等)用于當(dāng)前塊。當(dāng)前塊使用運動信息來指向時間參考,所述時間參考將被用于對當(dāng)前塊進行編碼。關(guān)于第三點,在視點間預(yù)測中,使用視點運動矢量來尋找另一視點中的對應(yīng)塊。視點運動矢量描述在相同時刻來自不同視點的畫面(或畫面部分)之間的差異(稱作視點運動或簡稱運動)。視點運動矢量指向另一視點中的參考塊,所述另一視點中的參考幀用于對當(dāng)前宏塊進行預(yù)測編碼。在給定了視點運動與時間運動之間在構(gòu)思方面的相似性的情況下,通常使用例如傳統(tǒng)運動估計技術(shù)來產(chǎn)生視點運動矢量,所述傳統(tǒng)運動估計技術(shù)用于確定在不同時刻在相同視點的畫面之間運動。視點運動矢量(“V-MV”)常常簡稱為“視差矢量”,但是典型地并不是使用深度數(shù)據(jù)來產(chǎn)生的。也使用V-MV預(yù)測值(“V-MVP”),并發(fā)送預(yù)測值與V-MV之差。該過程與產(chǎn)生MV(在時間預(yù)測中)的過程類似,但是該過程應(yīng)用在視點間預(yù)測場景中。然而,在任一場景下,目標(biāo)涉及使用預(yù)測(時間預(yù)測或視點間預(yù)測)以及將解碼所需的信息通知給解碼器。提出了修改V-MVP。V-MVP通常是基于來自空間上相鄰的塊的V-MV而產(chǎn)生的。例如,中間值可以用作預(yù)測值。然而,在不同實現(xiàn)方式中,基于當(dāng)前塊的深度信息來計算視差矢量(“DV”)。DV典型地是可以與當(dāng)前塊最緊密對應(yīng)的另一視點中的塊的良好估計,DV可以是比V-MV更優(yōu)的估計。DV所作指向的塊被稱作對應(yīng)塊。相應(yīng)地,多種實現(xiàn)方式還(或備選地)在確定當(dāng)前塊的V-MVP的過程中使用DV。作為三個示例,當(dāng)前塊的V-MVP(1)可以被設(shè)置為等于DV,(2)可以是來自與當(dāng)前塊空間上相鄰的塊的DV和一個或多個V-MV的函數(shù),或者(3)可以是來自DV所指向的對應(yīng)塊的V-MV的函數(shù)。注意,如果例如攝像機規(guī)則地分隔開或者對象的運動是恒定的,則在計算中,來自對應(yīng)塊的V-MV可以是相關(guān)的且有用的。在至少一種實現(xiàn)方式中,解碼器執(zhí)行以下操作:(1)接收所發(fā)送的用于當(dāng)前塊的深度數(shù)據(jù),(2)計算DV,(3)尋找DV所指向的對應(yīng)塊,(4)可以獲得來自該對應(yīng)塊的V-MV,(5)可以獲得來自當(dāng)前塊的空間上相鄰的一個或多個塊,(6)基于一個或多個V-MV和/或DV來計算當(dāng)前塊的V-MVP,(7)接收由編碼器發(fā)送的“差值”,所述“差值”是編碼器確定的V-MVP與V-MVp之間的差值,(8)通過將接收到的“差值”與計算出的V-MVP相加來計算當(dāng)前塊的V-MV,以及(9)基于計算出的當(dāng)前塊的V-MV所指向的塊來對當(dāng)前塊進行解碼。實現(xiàn)方式不需要按照所列順序來執(zhí)行所列的操作。另一種實現(xiàn)方式僅適用DV來尋找另一視點中的對應(yīng)塊。然后將該對應(yīng)塊看作是編碼當(dāng)前塊的參考塊。這種實現(xiàn)方式例如在DV所指向的當(dāng)前塊是比V-MV所指向的對應(yīng)塊更好的參考的情況下運作良好。這種實現(xiàn)方式使得無需計算V-MVP和V-MV,還避免了發(fā)送“差值”(V-MVP-V-MV)。圖12是示出了根據(jù)第三說明性實施例的使用利用深度的深度跳過模式來進行編碼的示例性方法1200的流程圖。在步驟1206,讀取編碼器配置文件。在步驟1209,設(shè)置SPS擴展中的錨和非錨畫面參考。在步驟1212,將視點的數(shù)目設(shè)置為等于N,將變量i和j初始化為零。在步驟1215,確定是否i<N。如果是,則將控制傳遞至步驟1218。否則,將控制傳遞至步驟1260。在步驟1218,確定是否j<視點i中的畫面數(shù)目(num)。如果是,則將控制傳遞至步驟1221。否則,將控制傳遞至步驟1254。在步驟1221,開始對當(dāng)前宏塊的編碼。在步驟1224,檢驗宏塊模式。在步驟1227,檢驗視點間跳過宏塊模式。在步驟1235,如果使用深度來計算視差矢量(VD)預(yù)測值,則將disparity_vec_pred_type設(shè)置為等于1;否則,將display_vec_pred_type設(shè)置為0。在步驟1242,對當(dāng)前宏塊進行編碼。在步驟1245,確定是否所有宏塊都已被編碼。如果是,則將控制傳遞至步驟1248。否則,將控制傳遞至步驟1221。在步驟1248,遞增變量j。在步驟1251,遞增frame_num和圖像順序號(POC)。在步驟1254,遞增變量i并重置frame_num和POC。在步驟1260,確定是否在帶內(nèi)以信號通知SPS、PPS和/或VPS。如果是,則將控制傳遞至步驟1263。否則,將控制傳遞至步驟1266。在步驟1263,在帶內(nèi)發(fā)送SPS、PPS和/或VPS。在步驟1266,在帶外發(fā)送SPS、PPS和/或VPS。在步驟1269,將比特流寫入文件或使比特流在網(wǎng)絡(luò)上流傳輸。在步驟1282,使用視差矢量,將對應(yīng)宏塊的深度用作視差矢量(DV)預(yù)測值。在步驟1284,將中間運動矢量用作運動矢量(MV)預(yù)測值。圖13是示出了根據(jù)第三說明性實施例的使用利用深度的視點間跳過模式來進行解碼的示例性方法1300的流程圖。在步驟1306,根據(jù)SPS、PPS、VPS、片首部、或網(wǎng)絡(luò)抽象層(NAL)單元首部來解析view_id。在步驟1309,解析其他SPS參數(shù)。在步驟1312,確定當(dāng)前畫面是否需要解碼。如果是,則將控制傳遞至步驟1315。否則,將控制傳遞至步驟1330。在步驟1315,確定是否POC(curr)?。絇OC(prev)。如果是,則將控制傳遞至步驟1318。否則,將控制傳遞至步驟1321。在步驟1318,將view_num設(shè)置為等于0。在步驟1321,以高級別將view_id信息編入索引以確定視點編碼順序,并遞增view_num。在步驟1324,確定當(dāng)前畫面是否按照期望的編碼順序。如果是,則將控制傳遞至步驟1333。否則,將控制傳遞至步驟1327。在步驟1333,解析片首部。在步驟1335,解析宏塊級數(shù)據(jù)和深度。在步驟1338,解析disparity_vec_pred_type。在步驟1341,確定disparity_vec_pred_type是否等于1。如果是,則將控制傳遞至步驟1344。否則,將控制傳遞至步驟1347。在步驟1344,使用depthd來得到視差矢量預(yù)測值。在步驟1347,使用中間運動矢量來得到運動矢量預(yù)測值。在步驟1350,對宏塊進行解碼。在步驟1354,確定是否所有宏塊都已完成(被解碼)。如果是,則將控制傳遞至步驟1357。否則,將控制傳遞至步驟1335。在步驟1357,在解碼圖像緩沖器(DPB)中插入當(dāng)前畫面。在步驟1360,確定是否所有畫面都已被解碼。如果是,則進行解碼。否則,將控制返回步驟1333。在步驟1327,隱藏當(dāng)前畫面。在步驟1330,得到下一畫面。因此,根據(jù)實現(xiàn)方式,使用深度圖來尋找另一視點中的對應(yīng)塊,并在沒有任何編碼的情況下使用對應(yīng)塊來執(zhí)行深度跳過模式。在其他實現(xiàn)方式中,使用像素比較來估計視差矢量,例如需要可得到運動矢量。然而,在某些情況下,例如,在與像素比較視差矢量相比,深度圖產(chǎn)生更精確的視差矢量的情況下,根據(jù)本原理對深度圖的使用可以比像素比較方法更為優(yōu)選。實際上,在典型方法中,使用比簡單的像素比較更復(fù)雜的方法來獲得深度圖,例如,運動估計風(fēng)格(ME-style)運動匹配。因此,在這種情況下,深度圖可以比簡單的ME-style運動匹配提供對視差的更精確的指示。此外,在這種情況下,在給定視差的精確指示時,深度圖的使用可以提高視頻編碼效率。根據(jù)另一種實現(xiàn)方式,使用深度圖來找到另一視點中的對應(yīng)塊,并執(zhí)行運動跳過模式,在運動跳過模式下,基于該運動矢量(因此產(chǎn)生新的殘差)從對應(yīng)塊和碼中得到運動矢量。在具體實現(xiàn)方式中,使用與另一時間相對應(yīng)的來自相同視點的參考。這至少在深度圖的使用上與其他方法不同。此外,其他方法所執(zhí)行的運動跳過解析通常針對整個圖像組(GOP)僅適用單個視差矢量(全局視差矢量)。根據(jù)另一實施例,對基于深度圖的視差矢量進行優(yōu)化/細化以得到更好的編碼結(jié)果。一個這樣的細化可以包括在搜索窗口內(nèi)移動視差矢量并確定速率失真是否得到改善。然后,(至少部分地)使用基于實際深度圖的視差矢量來預(yù)測基于深度圖的視差矢量。上述若干實施例可以對包括深度信號的視頻數(shù)據(jù)進行編碼。深度信號不需要被編碼,但是可以使用例如差分編碼和/或熵編碼對深度信號進行編碼。類似地,上述若干實施例可以解碼包括深度信號的視頻數(shù)據(jù),并且可以以多種方式處理深度信號或深度值。這樣的處理可以包括(根據(jù)實現(xiàn)方式),例如解析接收到的深度值并對深度值進行解碼(假定深度值已經(jīng)被編碼)。注意,用于處理深度值的處理單元可以包括:例如,比特流解析器202,(2)基于深度的視差轉(zhuǎn)換器203,以及(3)在特定實施例中可以用于對熵編碼的深度值進行解碼的熵解碼器205。本申請的多種實現(xiàn)方式和特征可以用在H.264/MPEG-4AVC(AVC)標(biāo)準(zhǔn)、或者采用MVC擴展的AVC標(biāo)準(zhǔn)、或者采樣SVC擴展的AVC標(biāo)準(zhǔn)的上下文中。然而,類似的實現(xiàn)方式和特征可以用在其他標(biāo)準(zhǔn)(已有的或未來的)上下文中,或者用在并不涉及標(biāo)準(zhǔn)的上下文中。因此,提供了具有具體特征和方面的一個或多個實現(xiàn)方式。然而,所描述的實現(xiàn)方式的特征和方面還可以適于其他實現(xiàn)方式。此外,許多實現(xiàn)方式可以被實現(xiàn)在以下裝置中的一個或多個裝置中:編碼器、解碼器、對來自解碼器的輸出進行處理的后處理器、或者向編碼器提供輸入的預(yù)處理器。此外,通過本公開可以想到其他實現(xiàn)方式。因此,提供了一個或多個具有具體特征和方面的實現(xiàn)方式。然而,所描述的實現(xiàn)方式的特征和方面還可以適于其他實現(xiàn)方式。實現(xiàn)方式可以使用多種技術(shù)來以信號傳遞信息,所述多種技術(shù)包括但不限于SEI消息、片首部、其他高級語法、非高級語法、帶外信息、數(shù)據(jù)流數(shù)據(jù)、以及隱式信號傳遞。相應(yīng)地,盡管本文所描述的實現(xiàn)方式可以是在具體上下文中描述的,然而這樣的描述不應(yīng)以任何方式將特征和構(gòu)思限于這樣的實現(xiàn)方式或上下文。在說明書中,對本原理的“一個實施例”或“實施例”或“一種實現(xiàn)方式”或“實現(xiàn)方式”及其其他變形的引用,意思是指,結(jié)合實施例而描述的特定的特征、結(jié)構(gòu)、特性等等包含在本原理的至少一個實施例中。因此,在說明書全文中多處出現(xiàn)的短語“在一個實施例中”或“在實施例中”或“在一種實現(xiàn)方式”中或“在實現(xiàn)方式中”及其其他變形并不一定全都指的是同一個實施例。應(yīng)意識到,對于以下“/”、“和/或”、以及“…中的至少一個”(例如,“A/B”、“A和/或B”以及“A和B中的至少一個”)的使用旨在包含:僅對第一所列選項(A)的選擇,或者僅對第二所列選項(B)的選擇,或者對兩個選項(A和B)的選擇。作為另一示例,在“A、B和/或C”以及“A、B和C中的至少一個”的情況下,這樣的措辭旨在包括:僅對第一所列選項(A)的選擇,或者僅對第二所列選項(B)的選擇,或者僅第三對所列選項(C)的選擇,或者僅對第一和第二所列選項(A和B)的選擇,或者僅對第二和第三所列選項(B和C)的選擇,或者僅對第一和第三所列選項(A和C)的選擇,或者對所有三個選項(A、B和C)的選擇。對于本領(lǐng)域和相關(guān)領(lǐng)域的技術(shù)人員來說,這顯然可以擴展到多個所列項目的情況。例如可以以方法或過程、設(shè)備、軟件程序、數(shù)據(jù)流或信號的形式來實現(xiàn)本文所描述的實現(xiàn)方式。即使僅在單個形式的實現(xiàn)方式(例如,僅作為方法而討論的)的上下文中討論,所討論的特征的實現(xiàn)方式也可以以其他形式來實現(xiàn)(例如,設(shè)備或程序)。例如可以以適當(dāng)硬件、軟件和固件的形式來實現(xiàn)設(shè)備。例如可以以設(shè)備的形式來實現(xiàn)方法,所述設(shè)備例如是處理器,處理器通常是指處理設(shè)備,包括例如計算機、微處理器、檢測電路或可編程邏輯設(shè)備。處理器還包括通信設(shè)備,例如,計算機、蜂窩電話、便攜式/個人數(shù)字助理(“PDA”)、以及便于在最終用戶之間傳遞信息的其他設(shè)備。本文所描述的各種過程和特征的實現(xiàn)方式可以以多種不同設(shè)備或設(shè)施(具體地,例如與數(shù)據(jù)編碼和解碼相關(guān)聯(lián)的設(shè)備或設(shè)施)的形式來體現(xiàn)。這樣的設(shè)備的示例包括編碼器、解碼器、對來自解碼器的輸出進行處理的后處理器、向編碼器提供輸入的預(yù)處理器、視頻編碼器、視頻解碼器、視頻編解碼器、web服務(wù)器、機頂盒、膝上型計算機、個人計算機、蜂窩電話、PDA以及其他通信設(shè)備。應(yīng)當(dāng)清楚,設(shè)備可以是移動的以及甚至安裝在移動交通工具中的。此外,可以通過有處理器來執(zhí)行的指令來實現(xiàn)方法,這樣的指令(和/或由實現(xiàn)方式產(chǎn)生的數(shù)據(jù)值)可以存儲在處理器刻度介質(zhì)上,例如,集成電路、軟件載體或例如硬盤、緊致盤、隨機存取存儲器(“RAM”)或制度存儲器(“RAM”)等其他存儲設(shè)備。指令可以形成實際體現(xiàn)在計算機可讀介質(zhì)上的應(yīng)用程序。指令可以是例如硬件、固件、軟件或其組合形式的。指令可以存在于例如操作系統(tǒng)、單獨的應(yīng)用程序、或二者組合中。因此,例如,處理器可以表征為被配置為執(zhí)行處理的設(shè)備以及包括具有用于執(zhí)行處理的指令的處理器可讀介質(zhì)的設(shè)備(如,存儲設(shè)備)。此外,處理器可讀介質(zhì)可以存儲由實現(xiàn)方式產(chǎn)生的數(shù)據(jù)值而不存儲指令,或者存儲由實現(xiàn)方式產(chǎn)生的數(shù)據(jù)值以及指令。本領(lǐng)域技術(shù)人員將清楚,實現(xiàn)方式可以產(chǎn)生被格式化為承載信息的多種信號,所述信息例如可以被存儲或發(fā)送。所述信息可以包括例如用于執(zhí)行方法的指令、或者由所述實現(xiàn)方式之一產(chǎn)生的數(shù)據(jù)。例如,信號可以被格式化為以數(shù)據(jù)的形式承載用于寫入或讀取所述實施例的語法的規(guī)則,或者以數(shù)據(jù)的形式承載所述實施例所寫入的實際語法值。這樣的信號例如可以被格式化為電磁波(例如,使用譜的射頻部分),或被格式化為基帶信號。格式化可以包括例如對數(shù)據(jù)流進行編碼并利用編碼數(shù)據(jù)流對載波進行調(diào)制。信號所承載的信息可以是例如模擬信息或數(shù)字信息。如已知的,可以在多種不同的有線或無線鏈路上發(fā)送信號??梢詫⑿盘柎鎯υ谔幚砥骺勺x介質(zhì)中。已經(jīng)描述了多種實現(xiàn)方式。然而,將理解,可以進行多種修改。例如,可以對不同的實現(xiàn)方式的元素進行組合、替換、修改或刪除,以產(chǎn)生其他實現(xiàn)方式。此外,本領(lǐng)域技術(shù)人員將理解,可以用其他結(jié)構(gòu)和過程來替換所公開的這些結(jié)構(gòu)和過程,得到的實現(xiàn)方式將與所公開的實現(xiàn)方式以至少實質(zhì)上相同的方式之行至少實質(zhì)上相同的功能,從而達到至少實質(zhì)上相同的結(jié)果。此外,通過本申請可以想到在權(quán)利要求范圍之內(nèi)的這些和其他實現(xiàn)方式。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
东乌珠穆沁旗| 麻江县| 兴业县| 黑水县| 星子县| 吉木萨尔县| 温泉县| 桃园县| 安西县| 乐昌市| 阿坝| 陇南市| 克东县| 吉首市| 富源县| 英山县| 唐河县| 上栗县| 工布江达县| 清苑县| 阿坝县| 盐边县| 准格尔旗| 深州市| 邹城市| 绿春县| 怀集县| 永善县| 富民县| 都匀市| 龙州县| 徐州市| 南京市| 宁强县| 揭阳市| 盖州市| 曲松县| 沙河市| 陈巴尔虎旗| 常德市| 沈阳市|