本申請要求2014年5月13日遞交的申請?zhí)枮閚o.61/992488的題為“虛擬現(xiàn)實(shí)系統(tǒng)和方法”的美國臨時(shí)專利申請的優(yōu)先權(quán),其內(nèi)容以引用方式被包含于此。本說明書涉及基于計(jì)算機(jī)的視頻,尤其涉及一種虛擬現(xiàn)實(shí)系統(tǒng)和方法。所述術(shù)語“虛擬現(xiàn)實(shí)”在此處具有一般意義上的含義并可以用于,例如,傳統(tǒng)虛擬現(xiàn)實(shí)系統(tǒng)、增強(qiáng)現(xiàn)實(shí)系統(tǒng)或混合現(xiàn)實(shí)系統(tǒng)。得益于運(yùn)動(dòng)圖像專家組(motionpicturesexpertgroup,mpeg)標(biāo)準(zhǔn)和相關(guān)標(biāo)準(zhǔn),數(shù)字二維視頻已被廣泛接受并具備一定的商業(yè)規(guī)模。同樣的,數(shù)字三維視頻的進(jìn)步正在使成本降低并使其更易獲取。同樣地,視頻游戲中的虛擬現(xiàn)實(shí)越來越多地被接受,并且類似于美國加利福尼亞州oculusvr公司oculusrift的產(chǎn)品正在增加用戶對虛擬現(xiàn)實(shí)體驗(yàn)的機(jī)會(huì)。然而,虛擬現(xiàn)實(shí)計(jì)算系統(tǒng)和方法仍然面臨許多挑戰(zhàn)。對于整合視頻到虛擬現(xiàn)實(shí)并成功集成360度立體圖像的早期嘗試集中在要求每只眼睛對應(yīng)一個(gè)視頻流時(shí),解決固定瞳孔間距問題的方案。一種可以提供從多個(gè)用戶高度進(jìn)行觀看,對應(yīng)多個(gè)瞳孔間距,且在位置跟蹤時(shí)能保持合適的視差同時(shí)確保場景連續(xù)性(沒有因阻擋丟失的像素)的視頻信息流的解決方案仍然很難找到。根據(jù)本說明書的一個(gè)方面,提供了一種在一個(gè)開發(fā)計(jì)算設(shè)備上生成虛擬現(xiàn)實(shí)多媒體的方法。該開發(fā)計(jì)算設(shè)備包括一個(gè)處理器,和一個(gè)與該處理器相連的存儲(chǔ)器。該方法包括:在該處理器中采集一個(gè)用于表示一個(gè)場景的點(diǎn)云,該點(diǎn)云數(shù)據(jù)包括多個(gè)點(diǎn)中每個(gè)點(diǎn)的顏色和深度數(shù)據(jù),該多個(gè)點(diǎn)對應(yīng)于采集范圍內(nèi)的某些位置;在該處理器中生成一個(gè)點(diǎn)云中選定部分的二維投影,該投影包括該選定部分的顏色和深度數(shù)據(jù);和將二維投影存儲(chǔ)在該存儲(chǔ)器中。根據(jù)本說明書的另一方面,提供了一種開發(fā)計(jì)算設(shè)備。該設(shè)備包括:一個(gè)存儲(chǔ)器;和一個(gè)與該存儲(chǔ)器互連的處理器,該處理器被配置為執(zhí)行上述方法。根據(jù)本說明書的又一方面,提供了一種在用戶計(jì)算設(shè)備上回放虛擬現(xiàn)實(shí)多媒體的方法。該計(jì)算設(shè)備包括一個(gè)處理器,該處理器與一個(gè)存儲(chǔ)器和一個(gè)顯示器互連。該方法包括:接收一個(gè)點(diǎn)云的二維投影,該投影包括該點(diǎn)云的顏色和深度數(shù)據(jù);從二維投影再生該點(diǎn)云;和在該顯示器上渲染該點(diǎn)云。根據(jù)本說明書的又一方面,提供了一種用戶計(jì)算設(shè)備。該設(shè)備包括:一個(gè)存儲(chǔ)器;一個(gè)顯示器;和一個(gè)與該存儲(chǔ)器和該顯示器互連的處理器,該處理器被配置為執(zhí)行上述方法。根據(jù)本說明書的又一方面,提供了一種生成和回放虛擬現(xiàn)實(shí)多媒體的系統(tǒng)。該系統(tǒng)包括上述開發(fā)計(jì)算設(shè)備,上述用戶計(jì)算設(shè)備和一個(gè)連接到上述開發(fā)計(jì)算設(shè)備的用于采集點(diǎn)云的采集裝置。參考以下附圖對實(shí)施例進(jìn)行描述,其中:圖1是根據(jù)一個(gè)非限制性實(shí)施例所示的一個(gè)生成和回放虛擬現(xiàn)實(shí)多媒體數(shù)據(jù)的系統(tǒng)的示意圖;圖2是根據(jù)一個(gè)非限制性實(shí)施例所示的球面坐標(biāo)和使用球面坐標(biāo)放置的點(diǎn)云的參考圖;圖3是根據(jù)一個(gè)非限制性實(shí)施例所示的一個(gè)生成和回放虛擬現(xiàn)實(shí)多媒體數(shù)據(jù)的流程;圖4是根據(jù)一個(gè)非限制性實(shí)施例所示的在圖3所述流程中運(yùn)行的軟件組件;圖5是根據(jù)一個(gè)非限制性實(shí)施例所示的圖1所述系統(tǒng)的示例性的采集裝置;圖6是根據(jù)一個(gè)非限制性實(shí)施例所示的圖5所述采集裝置的三視圖;圖7是根據(jù)一個(gè)非限制性實(shí)施例所示的圖5所述采集裝置的變體的三視圖;圖8是根據(jù)一個(gè)非限制性實(shí)施例所示的生成和回放虛擬現(xiàn)實(shí)多媒體數(shù)據(jù)的一種方法;圖9是根據(jù)一個(gè)非限制性實(shí)施例所示的執(zhí)行圖8中步驟805的一種方法;圖10是根據(jù)一個(gè)非限制性實(shí)施例所示的執(zhí)行圖8中步驟810的一種方法;圖11是根據(jù)一個(gè)非限制性實(shí)施例所示的一個(gè)示例性的點(diǎn)云;圖12是根據(jù)一個(gè)非限制性實(shí)施例所示的使用圖8所述的方法生成的一個(gè)示例性的二維投影;圖13a-13b是根據(jù)一個(gè)非限制性實(shí)施例所示的圖12所述投影的示例性的數(shù)據(jù)結(jié)構(gòu);圖14a-14c是根據(jù)一個(gè)非限制性實(shí)施例所示的圖12所述投影的其他的數(shù)據(jù)結(jié)構(gòu);圖15是根據(jù)一個(gè)非限制性實(shí)施例所示的一種執(zhí)行圖8中步驟805和810的示例性操作流程;圖16是根據(jù)一個(gè)非限制性實(shí)施例所示的一種執(zhí)行圖8中步驟815的示例性操作流程;圖17是根據(jù)一個(gè)非限制性實(shí)施例所示的另一種執(zhí)行圖8中步驟815的示例性操作流程;圖18是根據(jù)一個(gè)非限制性實(shí)施例所示的通過執(zhí)行圖8中步驟815獲得的示例性的文件結(jié)構(gòu);圖19是根據(jù)一個(gè)非限制性實(shí)施例所示的通過執(zhí)行圖8中步驟815獲得的另一種示例性的文件結(jié)構(gòu);圖20是根據(jù)一個(gè)非限制性實(shí)施例所示的一種執(zhí)行圖8中步驟820的示例性操作流程;圖21是根據(jù)一個(gè)非限制性實(shí)施例所示的一種執(zhí)行圖8中步驟825的示例性操作流程;圖22是根據(jù)一個(gè)非限制性實(shí)施例所示的通過執(zhí)行圖8中步驟825生成的點(diǎn)云;圖23是根據(jù)一個(gè)非限制性實(shí)施例所示的一種執(zhí)行圖8中步驟820和825的示例性操作流程;圖24是根據(jù)一個(gè)非限制性實(shí)施例所示的一個(gè)圖8中步驟830的優(yōu)化的渲染過程的示意圖。圖1描述了一個(gè)用于生成和回放虛擬現(xiàn)實(shí)多媒體數(shù)據(jù)的系統(tǒng)10。例如,系統(tǒng)10被配置為生成和回放虛擬現(xiàn)實(shí)視頻數(shù)據(jù)(所述視頻數(shù)據(jù)可以伴隨有音頻數(shù)據(jù))。所述虛擬現(xiàn)實(shí)視頻數(shù)據(jù)可以在視頻所描述的場景中模擬觀看者的存在。因此,例如可以跟蹤觀看者頭部的移動(dòng)并且將其用于更新視頻中的顯示。系統(tǒng)10包括一個(gè)生成計(jì)算設(shè)備28。所述計(jì)算設(shè)備也可以被稱為開發(fā)計(jì)算設(shè)備28、開發(fā)設(shè)備28或簡稱為設(shè)備28。簡而言之,開發(fā)設(shè)備28被配置為生成上述多媒體數(shù)據(jù)。系統(tǒng)10進(jìn)一步包括客戶計(jì)算設(shè)備36。該客戶計(jì)算設(shè)備36也可以被稱為用戶計(jì)算設(shè)備36、用戶設(shè)備36或簡稱為設(shè)備36。用戶設(shè)備36被配置為接收并回放開發(fā)設(shè)備28生成的多媒體數(shù)據(jù)。例如,多媒體數(shù)據(jù)可以通過網(wǎng)絡(luò)112在開發(fā)設(shè)備28和用戶設(shè)備36之間傳遞。網(wǎng)絡(luò)112可以包括有線網(wǎng)絡(luò)和無線網(wǎng)絡(luò)的任意合適的組合,包括但不限于廣域網(wǎng)(wideareanetwork,wan),例如,因特網(wǎng)、局域網(wǎng)(localareanetwork,lan),例如,企業(yè)數(shù)據(jù)網(wǎng)絡(luò)、手機(jī)網(wǎng)絡(luò)、wifi網(wǎng)絡(luò)和wimax網(wǎng)絡(luò)等等。在一些實(shí)施例中,中間計(jì)算設(shè)備,例如,內(nèi)容存儲(chǔ)服務(wù)器(圖中未示出),可以參與所述多媒體數(shù)據(jù)從開發(fā)設(shè)備28到用戶設(shè)備36的傳輸。在另一些實(shí)施例中,所述多媒體數(shù)據(jù)可以通過物理介質(zhì)(例如,光盤、閃存等等),而非網(wǎng)絡(luò)112,進(jìn)行傳遞。開發(fā)設(shè)備28可以基于任何合適的計(jì)算環(huán)境,例如一臺(tái)服務(wù)器或一臺(tái)個(gè)人計(jì)算機(jī)。在本實(shí)施例中,開發(fā)設(shè)備28可以是一個(gè)臺(tái)式計(jì)算機(jī),所述臺(tái)式計(jì)算機(jī)包括一個(gè)或多個(gè)處理器。所述處理器統(tǒng)稱為處理器116。處理器116的種類不限。例如,處理器116可以包括一個(gè)或多個(gè)通用的中央處理單元(centralprocessingunits,cpus),還可以包括一個(gè)或多個(gè)圖形處理單元(graphicprocessingunits,gpus)。這里討論的各種處理任務(wù)的執(zhí)行可以由所述中央處理單元和圖形處理單元共同承擔(dān),這對于本領(lǐng)域技術(shù)人員而言是顯而易見的。處理器116與一個(gè)非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)相連,例如存儲(chǔ)器120。存儲(chǔ)器120可以是易失性存儲(chǔ)器(例如,隨機(jī)存取存儲(chǔ)器("ram"))、非易失性存儲(chǔ)器(例如,只讀存儲(chǔ)器("rom")、電擦除可編程只讀存儲(chǔ)器("eeprom")、閃存、磁性計(jì)算機(jī)存儲(chǔ)設(shè)備或光盤)的任意合適的組合。在本實(shí)施例中,存儲(chǔ)器120包括一個(gè)易失性存儲(chǔ)器和一個(gè)非易失性存儲(chǔ)器。處理器116和存儲(chǔ)器120通常由一個(gè)或多個(gè)集成電路(integratedcircuits,ics)組成,并且可以具有各種各樣的結(jié)構(gòu),這對于本領(lǐng)域技術(shù)人員而言是顯而易見的。開發(fā)設(shè)備28還可以包括一個(gè)或多個(gè)輸入設(shè)備124。所述輸入設(shè)備124與處理器116相互連接。輸入設(shè)備124可以包括鍵盤、鼠標(biāo)、麥克風(fēng)等的任意合適的組合。所述輸入設(shè)備被配置為接收輸入,并將所述輸入以數(shù)據(jù)的形式提供給處理器116。例如,鍵盤可以接收用戶通過按下一個(gè)或多個(gè)按鍵形成的輸入,并將可以標(biāo)識(shí)所述按鍵的數(shù)據(jù)提供給處理器116。開發(fā)設(shè)備28還包括一個(gè)或多個(gè)輸出設(shè)備,例如顯示器128(例如,液晶顯示器(lcd)、等離子體顯示器、有機(jī)發(fā)光二極管(oled)顯示器或陰極射線管(crt)顯示器)。所述輸出設(shè)備與處理器116相互連接。開發(fā)設(shè)備28也可以包括其他輸出設(shè)備,例如揚(yáng)聲器(圖中未示出)。處理器116被配置為控制顯示器128向開發(fā)設(shè)備28的操作者提供圖像。開發(fā)設(shè)備28還包括一個(gè)或多個(gè)網(wǎng)絡(luò)接口,例如網(wǎng)絡(luò)接口132。所述網(wǎng)絡(luò)接口與處理器116相互連接。所述網(wǎng)絡(luò)接口使開發(fā)設(shè)備28能夠通過網(wǎng)絡(luò)112連接到其他計(jì)算設(shè)備(例如,用戶設(shè)備36)。網(wǎng)絡(luò)接口132包括通過網(wǎng)絡(luò)112進(jìn)行通信的必要硬件。系統(tǒng)10還包括一個(gè)多媒體采集裝置,例如采集裝置24。所述多媒體采集裝置可以通過任意合適的接口連接到處理器116。一般來說,采集裝置24采集一個(gè)環(huán)境或場景的視頻(可以包括音頻或包括音頻),并將采集的數(shù)據(jù)提供給開發(fā)設(shè)備28。關(guān)于采集裝置24的更為詳盡的描述可以參見下文。在一些實(shí)施例中,多媒體采集裝置可以是虛擬的而非圖1中所示的物理形態(tài)的采集裝置24。例如,多媒體采集裝置可以由存儲(chǔ)在存儲(chǔ)器120中的三維動(dòng)畫應(yīng)用程序44提供,并且可以由處理器116運(yùn)行以創(chuàng)建多媒體數(shù)據(jù)。用戶設(shè)備36可以基于任何合適的計(jì)算環(huán)境,例如一臺(tái)個(gè)人計(jì)算機(jī)(例如,一臺(tái)臺(tái)式計(jì)算機(jī)或便攜式計(jì)算機(jī)),一部可移動(dòng)設(shè)備,比如,一部智能手機(jī),一臺(tái)平板計(jì)算機(jī)等等。用戶設(shè)備36包括一個(gè)處理器136。所述處理器136與一個(gè)存儲(chǔ)器140、一個(gè)輸入設(shè)備144、一個(gè)顯示器148和一個(gè)網(wǎng)絡(luò)接口152相互連接。處理器136、存儲(chǔ)器140、輸入設(shè)備144、顯示器148和網(wǎng)絡(luò)接口152可以與如上描述的開發(fā)設(shè)備28中相應(yīng)的組件基本相同。另外,系統(tǒng)10包括一個(gè)視圖跟蹤顯示器40,所述視圖跟蹤顯示器40可通過任意合適的接口連接到用戶設(shè)備36中的處理器136。視圖跟蹤顯示器40是一個(gè)包括至少一個(gè)顯示器和一個(gè)跟蹤操作者移動(dòng)的機(jī)構(gòu)的任意合適的設(shè)備。例如,視圖跟蹤顯示器40可以是一個(gè)跟蹤頭部的頭戴式顯示設(shè)備,例如美國加利福尼亞州oculusvr公司的產(chǎn)品oculusrift。對于本領(lǐng)域技術(shù)人員顯而易見的是,視圖跟蹤顯示器40可以包括獨(dú)立于用戶設(shè)備36的一個(gè)處理器、存儲(chǔ)器和通信接口。此外,在一些實(shí)施例中,用戶設(shè)備36和視圖跟蹤顯示器可以集成為一體,從而使得視圖跟蹤顯示器40本身包括用戶設(shè)備36中的組件。一般而言,如下文所述,開發(fā)設(shè)備28被配置為,通過處理器116執(zhí)行保存在存儲(chǔ)器120中的由計(jì)算機(jī)可讀指令組成的應(yīng)用程序,從采集裝置24(或應(yīng)用程序44)接收多媒體數(shù)據(jù),并通過執(zhí)行各種操作對所述多媒體數(shù)據(jù)進(jìn)行打包,便于傳輸所述數(shù)據(jù)至用戶設(shè)備36。相應(yīng)地,用戶設(shè)備36被配置為,通過處理器136執(zhí)行保存在存儲(chǔ)器140中的由計(jì)算機(jī)可讀指令組成的應(yīng)用程序,接收開發(fā)設(shè)備28生成的打包的多媒體數(shù)據(jù),通過執(zhí)行各種操作對打包的多媒體數(shù)據(jù)進(jìn)行“解包”,并控制視圖跟蹤顯示器40顯示解包后的數(shù)據(jù)。為了說明上述多媒體數(shù)據(jù)的本質(zhì),現(xiàn)參考圖2。圖2所示為球面坐標(biāo)系92的軸線圖,其中(如本領(lǐng)域技術(shù)人員可以理解的)一個(gè)點(diǎn)的位置可以通過(i)所述點(diǎn)距離原點(diǎn)(球體的中心)的距離“r”,也可以被稱為所述點(diǎn)的深度(ii)x軸和所述點(diǎn)在x-y平面上的投影之間的方位角“θ”,以及(iii)z軸和從原點(diǎn)到該點(diǎn)的線段之間的極角“φ”,進(jìn)行描述。圖2進(jìn)一步描述了由等深度的球狀排布的點(diǎn)構(gòu)成的穹頂96(即,球體的一部分),和由等深度的點(diǎn)構(gòu)成的完整球面100。為了更好地理解本說明書,想象所述完整球面100包括更多位于球體內(nèi)不同深度且具有顏色不同的點(diǎn),以從一個(gè)位于球體中心的單一視角重建一個(gè)場景。通過使用上述結(jié)構(gòu)提供一個(gè)全景視圖將被用作一個(gè)點(diǎn)云全景的參照。其中,所述全景視圖是由基于位置進(jìn)行放置的像素創(chuàng)建而得。所述全景視圖可以像原始場景中一樣對用戶頭部的運(yùn)動(dòng)、瞳孔間距的差異以及觀看者高度的差異作出響應(yīng)。所述頭部的運(yùn)動(dòng)包括但不限于旋轉(zhuǎn)、平移的頭部運(yùn)動(dòng)。為了重建一個(gè)移動(dòng)的場景,移動(dòng)場景的每一幀被表示為一個(gè)類似于上述“被填充”的球體100的點(diǎn)云全景(與將移動(dòng)場景表示為一系列二維像素陣列的傳統(tǒng)表示方式形成對比)。所述運(yùn)動(dòng)點(diǎn)云全景是本說明書所述發(fā)明的最終產(chǎn)物。圖3所示為圖1中提到的一般的采集和回放過程。如圖3所示,采集裝置24采集的數(shù)據(jù)和/或三維動(dòng)畫應(yīng)用程序44中的一個(gè)虛擬相機(jī)采集的數(shù)據(jù)被傳輸至開發(fā)計(jì)算機(jī)28。所述采集的數(shù)據(jù),被稱為點(diǎn)云48(實(shí)際上是按照時(shí)序排列的多個(gè)點(diǎn)云,每個(gè)點(diǎn)云表示在預(yù)設(shè)時(shí)間段采集的場景,類似于常規(guī)視頻中的一幀)。如圖4所示,開發(fā)計(jì)算機(jī)28將(在處理器116中從采集裝置24或應(yīng)用程序44接收的)原始點(diǎn)云數(shù)據(jù)48壓縮并轉(zhuǎn)換為經(jīng)過優(yōu)化的,以便在視圖跟蹤顯示器40中的觀看的文件格式60。視圖跟蹤顯示器40,如上文所述,通常是一個(gè)具有頭部跟蹤功能的頭戴式顯示器,例如美國加利福尼亞州oculusvr公司的產(chǎn)品oculusrift。返回圖3,所述文件60被打包后,可以進(jìn)行文件傳輸過程32。所述文件可以在一個(gè)最終靜態(tài)內(nèi)容(finalstaticcontent)的直接下載中進(jìn)行傳輸,從一個(gè)播出服務(wù)器(broadcastserver)(未示出)中進(jìn)行流式傳輸,或直接從開發(fā)設(shè)備28進(jìn)行逐幀傳輸。在任何一種傳輸方式下,用戶計(jì)算機(jī)36將接收具有一定格式的文件60,并對文件60中的數(shù)據(jù)進(jìn)行解壓縮,然后重建點(diǎn)云全景。文件60的格式將結(jié)合圖18進(jìn)行進(jìn)一步討論。從這里的討論中可以顯而易見的看出重建的點(diǎn)云全景不需要精確地對應(yīng)于初始采集的點(diǎn)云全景。重建的點(diǎn)云全景圖像通過將一個(gè)虛擬相機(jī)按照視圖跟蹤顯示器40設(shè)備提供的方向和位置信息放置在重建的點(diǎn)云全景內(nèi)來觀看。然后,用戶設(shè)備36中的處理器136運(yùn)行的播放器軟件64,將結(jié)合圖4進(jìn)行進(jìn)一步討論,以適于視圖跟蹤顯示器40的格式渲染重建后的點(diǎn)云,模擬觀看者真實(shí)存在于點(diǎn)云全景內(nèi)的情形(即,模擬視圖跟蹤顯示器40的操作者存在于原始記錄的場景內(nèi))。圖4所示為由開發(fā)設(shè)備28執(zhí)行的壓縮和轉(zhuǎn)換操作的一個(gè)具體實(shí)施例。圖4描述了開發(fā)設(shè)備28和用戶設(shè)備36中某些軟件組件;開發(fā)設(shè)備28和用戶設(shè)備36通過處理器116和136運(yùn)行所述軟件組件來執(zhí)行如下所述的操作。各種各樣其他軟件組件也包含于此。設(shè)備28和36通過處理器116和136運(yùn)行所述其他軟件組件,執(zhí)行如下所述的操作。所述操作的其他實(shí)施例也將在此處進(jìn)行討論。原始數(shù)據(jù)48可以由采集裝置24(例如,包括一個(gè)或多個(gè)圖像相機(jī)和/或深度相機(jī)的一個(gè)物理相機(jī)—更多的采集裝置24實(shí)施例將在下面進(jìn)行討論),和/或三維動(dòng)畫應(yīng)用程序44內(nèi)部的虛擬相機(jī),例如美國加利福尼亞州autodesk公司的產(chǎn)品maya,或者三維實(shí)時(shí)渲染引擎(用于遠(yuǎn)程虛擬現(xiàn)實(shí)或云虛擬現(xiàn)實(shí)),例如美國加利福尼亞州unitytechnologies公司的產(chǎn)品unity,進(jìn)行創(chuàng)建。原始數(shù)據(jù)48包括任何種類的點(diǎn)云集合的顏色和位置信息。(需要注意的是,所述顏色是指非限制性意義上的包括全色譜的子集,包括,例如,純灰度級采集)。所述原始數(shù)據(jù)48可以作為編輯器/插件52的輸入。所述編輯器/插件52可以作為一個(gè)現(xiàn)有三維應(yīng)用程序,例如美國加利福尼亞州autodesk公司的產(chǎn)品maya,的擴(kuò)展或者一個(gè)獨(dú)立應(yīng)用程序。兩者都可以在如圖1所示的硬件實(shí)施例中的開發(fā)計(jì)算機(jī)28上運(yùn)行。編輯器/插件52獲取原始數(shù)據(jù)48并通過執(zhí)行一個(gè)流程將所述原始點(diǎn)云數(shù)據(jù)48轉(zhuǎn)換成編解碼器可讀的結(jié)構(gòu)。所述編碼器可讀結(jié)構(gòu)將結(jié)合圖18進(jìn)行進(jìn)一步討論。通過編解碼器api56,所述結(jié)構(gòu)被壓縮成文件格式60。所述編解碼器api56也包含于圖1所示的硬件實(shí)施例中的開發(fā)計(jì)算機(jī)28。編解碼器56可以是一個(gè)動(dòng)態(tài)鏈接庫。所述動(dòng)態(tài)鏈接庫可以同時(shí)存在于圖1所示的開發(fā)計(jì)算機(jī)28和用戶計(jì)算機(jī)64上。即開發(fā)設(shè)備28可以通過運(yùn)行所述編解碼器56,將原始點(diǎn)云數(shù)據(jù)48壓縮到文件60中。用戶設(shè)備可以通過運(yùn)行編解碼器56(的另一個(gè)副本),從文件60中重新創(chuàng)建一個(gè)點(diǎn)云。編解碼器56在其輸入流中從編輯器/插件52獲取點(diǎn)云數(shù)據(jù)簇,并壓縮所述點(diǎn)云數(shù)據(jù)簇使其能夠在圖3所示的文件傳輸過程32進(jìn)行傳輸。所述點(diǎn)云數(shù)據(jù)簇將在下文進(jìn)行討論。上述壓縮過程可以包括使用深度信息(位置信息)和傳統(tǒng)的圖像壓縮技術(shù)提高目標(biāo)或斑點(diǎn)檢測效率,并因此改善平移和旋轉(zhuǎn)方法的使用,在降低運(yùn)動(dòng)圖像中的比特率的同時(shí)減少上述壓縮過程帶來的偽影。下文將對這些問題進(jìn)行更詳細(xì)的討論。編解碼器56輸入過程的最后階段是使用所述壓縮數(shù)據(jù)結(jié)構(gòu)將文件寫入文件格式60,關(guān)于這點(diǎn)將在圖18中進(jìn)行進(jìn)一步的討論。播放器64是一個(gè)存儲(chǔ)在存儲(chǔ)器140中并且可由在圖1所示的用戶計(jì)算機(jī)36上的處理器136運(yùn)行的,類似于一個(gè)三維游戲引擎,例如美國加利福尼亞州unitytechnologies公司的產(chǎn)品unity,的三維繪制軟件。播放器識(shí)別要觀看的文件60,然后通過使用編解碼器56打開并逐幀對所述流線型文件進(jìn)行解壓縮(每一幀是一個(gè)重建點(diǎn)云)。播放器64使用編解碼器56來加載單獨(dú)的一幀,并在一個(gè)虛擬相機(jī)的周圍填充彩色點(diǎn),用于將一個(gè)圖像渲染到視圖跟蹤顯示器40上。該過程將在下面進(jìn)行進(jìn)一步的討論。在進(jìn)一步描述系統(tǒng)10采集和回放多媒體數(shù)據(jù)的操作之前,首先討論采集裝置24。下面的討論涉及物理采集裝置,但是開發(fā)設(shè)備28中的應(yīng)用程序44的具體實(shí)施方式也可以仿照如下討論。如圖5所示,采集裝置24包括一個(gè)或多個(gè)全景深度采集設(shè)備和/或圖像采集設(shè)備,例如相機(jī)。一個(gè)設(shè)置有單個(gè)采集設(shè)備(節(jié)點(diǎn))的裝置可以提供一個(gè)對環(huán)境的基本深度掃描,但無法利用“折疊”帶來的有利條件,如下文所述。例如,美國華盛頓州雷德蒙德市microsoft公司的產(chǎn)品kinect可以提供一個(gè)(部分)深度點(diǎn)云。所述深度點(diǎn)云包括帶有位置信息的彩色像素。然而,在沒有額外節(jié)點(diǎn)的情況下,這樣的設(shè)備無法實(shí)現(xiàn)此處所描述的功能。一般而言,采集裝置24包括多個(gè)節(jié)點(diǎn)。放置在采集范圍內(nèi)不同的位置的每個(gè)節(jié)點(diǎn)在其視野內(nèi)生成顏色數(shù)據(jù)和深度數(shù)據(jù)。在本實(shí)施例中,每個(gè)節(jié)點(diǎn)的視野為近乎三百六十度乘以三百六十度(即,每個(gè)節(jié)點(diǎn)采集一個(gè)完整球面內(nèi)的數(shù)據(jù))。然而,在其他實(shí)施例中,節(jié)點(diǎn)可以具有較小的視野。節(jié)點(diǎn)的種類沒有特別的限制。例如,每個(gè)節(jié)點(diǎn)可以包括一個(gè)相機(jī)和一個(gè)深度傳感器。在一些實(shí)施例中,每個(gè)節(jié)點(diǎn)可以包括多個(gè)相機(jī)和多個(gè)深度傳感器以達(dá)到上述視野。作為一個(gè)具體實(shí)施例,每個(gè)節(jié)點(diǎn)都可以采用加拿大多倫多市bubltechnology公司的產(chǎn)品bublcam。采集裝置24可以采用各種各樣的節(jié)點(diǎn)設(shè)置。節(jié)點(diǎn)的數(shù)量越多,在多媒體數(shù)據(jù)中可以采集的細(xì)節(jié)(特別是對于復(fù)雜場景)越多。然而,節(jié)點(diǎn)配置的當(dāng)前優(yōu)選實(shí)施例將結(jié)合圖5進(jìn)行進(jìn)一步討論。圖5所示為可以用作圖1中采集裝置24的多節(jié)點(diǎn)采集裝置24的三個(gè)具體實(shí)施例500、504和508。裝置500為四面體形狀,裝置504為三棱柱形狀,裝置508為八面體形狀。所述采集裝置的采集范圍在圖中表示為圍繞每個(gè)采集裝置的虛線球體(關(guān)于裝置500、504和508的實(shí)際采集范圍的大小可以大于或小于圖中所示的大小)。500、504、508中的每個(gè)裝置包括多個(gè)采集節(jié)點(diǎn)。所述多個(gè)采集節(jié)點(diǎn)包括中心節(jié)點(diǎn)x和外圍節(jié)點(diǎn)a、b、c、d,以及e和f(對于裝置504和508而言)。圖6所示為上述裝置根據(jù)圖5所示的方向所對應(yīng)的頂視圖、側(cè)視圖和前視圖。所述采集裝置在運(yùn)動(dòng)點(diǎn)云全景圖像內(nèi)創(chuàng)建多個(gè)安全運(yùn)動(dòng)區(qū)域。一個(gè)安全運(yùn)動(dòng)區(qū)域可以描述一個(gè)圍繞球形坐標(biāo)系中心(如圖5中節(jié)點(diǎn)x的位置所示)的范圍。在所述范圍內(nèi),點(diǎn)云與初始采集空間保持連續(xù)。在所述范圍之外,可能開始出現(xiàn)缺失的元素或邊緣(但不是一定出現(xiàn))。在圖5所示的所有視圖中,所述安全區(qū)域的輪廓由節(jié)點(diǎn)之間的線段表示;在圖6中,所述安全區(qū)域的輪廓由虛線表示。視圖跟蹤顯示器40的用戶可以在所述安全區(qū)域內(nèi),在空間范圍允許的條件下,對其視圖跟蹤顯示器40進(jìn)行各種旋轉(zhuǎn)和位置的調(diào)整。每個(gè)節(jié)點(diǎn)可以在圖中表示為一個(gè)圓形,所述圓形的內(nèi)部或外部連接有一個(gè)字母。所述每個(gè)節(jié)點(diǎn)表示一個(gè)記錄顏色和深度的采集裝置,例如美國西雅圖microsoft公司用在windows中的產(chǎn)品kinect。所述采集裝置對一個(gè)點(diǎn)云進(jìn)行表示并表示出原始數(shù)據(jù)48的一個(gè)具體實(shí)施例(具體而言,原始數(shù)據(jù)48的一部分;所有節(jié)點(diǎn)共同采集的數(shù)據(jù)合在一起表示原始數(shù)據(jù)48)。一般而言,安全區(qū)域中的每一個(gè)點(diǎn)都將通過至少兩個(gè)節(jié)點(diǎn),優(yōu)選地,至少三個(gè)節(jié)點(diǎn)進(jìn)行觀看,以獲取平行視差。在一些實(shí)施例中,中心節(jié)點(diǎn)x可以被省略。圖7所示為裝置500和504的變體500'和504',其中省略了中心節(jié)點(diǎn)x。由此,本領(lǐng)域技術(shù)人員可以想到其他各種各樣的采集裝置24。在一些實(shí)施例中,可以采用更復(fù)雜的采集裝置。對于本領(lǐng)域技術(shù)人員顯而易見的是,采集裝置500、504和508能夠采集稀疏光場。更完整的光場可以使用其他采集裝置采集。例如,當(dāng)從虛擬相機(jī)中進(jìn)行采集時(shí),可以通過對所述采集過程的修正,生成更好的結(jié)果。所述虛擬相機(jī)包含于類似maya的3d應(yīng)用程序(例如應(yīng)用程序44)中。在所述虛擬相機(jī)中,我們可以從中心節(jié)點(diǎn)處開始采集(360顏色/深度)。我們現(xiàn)在可以沿著中心節(jié)點(diǎn)和外圍節(jié)點(diǎn)之間的連線(例如,在裝置500中的節(jié)點(diǎn)x和節(jié)點(diǎn)a、b、c、d之間的連線)逐漸移動(dòng)所述相機(jī),并通過使用360色彩/深度數(shù)據(jù)創(chuàng)建一個(gè)估計(jì)圖像。當(dāng)我們移動(dòng)所述相機(jī)至以前被遮擋的區(qū)域時(shí),所述估計(jì)中將開始出現(xiàn)孔洞。當(dāng)我們得到帶有孔洞的圖像時(shí),我們可以渲染出缺失的區(qū)域(深度和顏色),并將它們添加到點(diǎn)云中。(虛擬的)中心節(jié)點(diǎn)的移動(dòng)可以提供中心節(jié)點(diǎn)和外部節(jié)點(diǎn)之間的多個(gè)點(diǎn)的采集數(shù)據(jù)。因此,采集裝置從多個(gè)視點(diǎn)獲取采集范圍內(nèi)出現(xiàn)的每個(gè)點(diǎn)。所述視點(diǎn)的數(shù)量遠(yuǎn)大于圖5所示裝置中的視點(diǎn)的數(shù)量。(虛擬的)中心節(jié)點(diǎn)(或任何其他合適的節(jié)點(diǎn))的移動(dòng)使系統(tǒng)10能夠采集表面的光場估計(jì)圖像。所述表面的呈現(xiàn)的顏色取決于視角(鏡面的、反射、折射)。在節(jié)點(diǎn)之間逐漸移動(dòng)相機(jī),在多個(gè)不同視點(diǎn)處獲取采集節(jié)點(diǎn)內(nèi)點(diǎn)的顏色(反射率較高的表面,例如,基于視點(diǎn)位置的不同,在外觀上可以產(chǎn)生明顯的變化)。這使得分析光場分布以及創(chuàng)建一個(gè)適于渲染的估計(jì)圖像成為可能。如上所述為系統(tǒng)10和采集裝置24的描述,下文就系統(tǒng)10生成和回放虛擬現(xiàn)實(shí)多媒體的操作過程進(jìn)行更詳細(xì)的描述。圖8所示為采集和回放虛擬現(xiàn)實(shí)多媒體的方法800的示例性流程。方法800的具體實(shí)施方式將結(jié)合其在系統(tǒng)10中的實(shí)施方式進(jìn)行描述,盡管方法800也可以在其他合適的系統(tǒng)中實(shí)施。方法800中所述的步驟可以由開發(fā)設(shè)備28和用戶設(shè)備36執(zhí)行??梢岳斫獾氖?,設(shè)備28和36分別通過處理器116和136運(yùn)行存儲(chǔ)在存儲(chǔ)器120和140中的計(jì)算機(jī)可讀指令來執(zhí)行這些步驟。在步驟805中,開發(fā)設(shè)備28被配置為采集所述點(diǎn)云數(shù)據(jù)。所述點(diǎn)云數(shù)據(jù)可以通過運(yùn)行應(yīng)用程序44或通過控制采集裝置24進(jìn)行采集。所述點(diǎn)云數(shù)據(jù)包括采集范圍內(nèi)的多個(gè)點(diǎn)中每個(gè)點(diǎn)的顏色值和深度值。此外,采集的點(diǎn)云數(shù)據(jù)可以包括多組點(diǎn)云數(shù)據(jù),其中每組表示在不同時(shí)刻的采集范圍(即,向終端用戶顯示的場景)。在另一些實(shí)施例中,如上所述,所述點(diǎn)云數(shù)據(jù)可以由光場數(shù)據(jù)表示;然而,為了便于說明,每一個(gè)點(diǎn)的顏色和深度將在下文討論。所述點(diǎn)云數(shù)據(jù)的格式?jīng)]有特別的限定。采集點(diǎn)云的一個(gè)具體實(shí)施例將在圖9中進(jìn)行描述。在步驟810中,開發(fā)設(shè)備28被配置為,對上述多組點(diǎn)云數(shù)據(jù)(即,對產(chǎn)生的視頻的每個(gè)幀)中的每一組,生成點(diǎn)云數(shù)據(jù)中某一選定部分的投影。換句話說,開發(fā)設(shè)備28被配置為從點(diǎn)云數(shù)據(jù)中選擇一部分,并將所選部分中的每個(gè)點(diǎn)置于二維圖像中。因此,通過投影可以將初始點(diǎn)的坐標(biāo)(例如球坐標(biāo))替換為二維坐標(biāo)(例如x和y)。每個(gè)投影點(diǎn)可以與一個(gè)深度值一起保存。一般而言,基于一個(gè)虛擬視點(diǎn),可以從所述點(diǎn)云數(shù)據(jù)中選取用于投影的部分。所述虛擬視點(diǎn)的位置通過開發(fā)設(shè)備28進(jìn)行設(shè)置。選擇和投影所述點(diǎn)云數(shù)據(jù)的具體實(shí)施例將結(jié)合圖10進(jìn)行進(jìn)一步討論。步驟810的實(shí)施將使每一“幀”產(chǎn)生多個(gè)二維幀。每個(gè)二維幀都伴有深度數(shù)據(jù)。另外,在步驟810中,每一幀可以有“折疊”,額外的顏色數(shù)據(jù)和深度數(shù)據(jù),表示采集范圍的點(diǎn)。所述點(diǎn)不包括在投影中,,但有可能在響應(yīng)操作者頭部移動(dòng)時(shí),在視圖跟蹤顯示器40中被渲染為可見。換句話說,折疊表示相對于上述虛擬視點(diǎn)而言在采集范圍內(nèi)投影點(diǎn)之后的那些點(diǎn)。折疊的產(chǎn)生和存儲(chǔ)將結(jié)合圖10進(jìn)行討論。在步驟815中,開發(fā)設(shè)備28被配置為準(zhǔn)備將步驟810中生成的多個(gè)幀傳輸至用戶設(shè)備36。如前所述,準(zhǔn)備傳輸所述幀的過程可以包括運(yùn)行編解碼器56。例如,所述投影的二維顏色數(shù)據(jù)(對于投影或折疊)可以通過常規(guī)圖像壓縮技術(shù)進(jìn)行壓縮。所述深度數(shù)據(jù)可以不經(jīng)過壓縮,或者可以采用不同的壓縮技術(shù)進(jìn)行壓縮。多媒體數(shù)據(jù)的傳輸準(zhǔn)備完成后,可以進(jìn)行上述文件傳輸過程。文件傳輸?shù)姆绞經(jīng)]有特別的限制。文件傳輸?shù)慕橘|(zhì)(例如,有線網(wǎng)絡(luò)連接或無線網(wǎng)絡(luò)連接、物理存儲(chǔ)介質(zhì)等等),或傳輸?shù)臅r(shí)間(例如,傳輸可以在準(zhǔn)備完成后立即進(jìn)行,或者在準(zhǔn)備完成后任何合適的時(shí)間段內(nèi)進(jìn)行)都不做限制。在步驟820中,用戶設(shè)備36被配置為接收步驟815中準(zhǔn)備的數(shù)據(jù),并解碼所述數(shù)據(jù)。在用戶設(shè)備36中實(shí)施的所述解碼操作通常通過運(yùn)行編解碼器56來實(shí)現(xiàn)。所述編解碼器56與開發(fā)設(shè)備28中準(zhǔn)備傳輸多媒體數(shù)據(jù)所采用的編解碼器56相同。因此,在步驟820中用戶設(shè)備36被配置為,從步驟815中準(zhǔn)備的(隨后傳輸至用戶設(shè)備36)的數(shù)據(jù)中,恢復(fù)開發(fā)設(shè)備28在步驟810中生成的投影。步驟820中所述解碼過程的實(shí)施例將在下文中結(jié)合圖20和圖23進(jìn)行描述。在步驟825中,用戶設(shè)備36被配置為通過處理器136運(yùn)行上述播放器64,重新生成部分點(diǎn)云數(shù)據(jù)。所述部分點(diǎn)云數(shù)據(jù)是由開發(fā)設(shè)備28在步驟810中進(jìn)行投影時(shí)所選定的部分點(diǎn)云數(shù)據(jù)。因此,在步驟825中,用戶設(shè)備通過將在步驟820中解碼的投影和深度數(shù)據(jù)進(jìn)行組合,產(chǎn)生一個(gè)點(diǎn)云(但通常僅表示初始點(diǎn)云中的部分點(diǎn))。所述點(diǎn)云與步驟805中所采集的點(diǎn)云相似。所述重新生成部分點(diǎn)云的過程將結(jié)合圖21-23進(jìn)行描述。在步驟830中,用戶設(shè)備830被配置為通過視圖跟蹤顯示器40渲染步驟825中再生的點(diǎn)云。用戶設(shè)備36基于視圖跟蹤顯示器40確定的觀看者的位置執(zhí)行所述渲染操作。流程830中再生點(diǎn)云的渲染將結(jié)合圖23進(jìn)行討論。圖9所示為步驟805中采集點(diǎn)云數(shù)據(jù)的一個(gè)示例性流程。在步驟900中,開發(fā)設(shè)備28被配置為接收采集裝置24的每個(gè)節(jié)點(diǎn)生成的原始點(diǎn)云數(shù)據(jù)?;趫D5,對于本領(lǐng)域技術(shù)人員而言顯而易見的是,任意給定采集裝置中的每個(gè)節(jié)點(diǎn)可以在所述采集范圍內(nèi)的至少一個(gè)子范圍內(nèi)生成點(diǎn)云數(shù)據(jù)。在步驟900中,處理器116從每個(gè)節(jié)點(diǎn)處接收所述點(diǎn)云數(shù)據(jù)。在步驟905中,開發(fā)設(shè)備28被配置為將在步驟900中接收到的點(diǎn)云數(shù)據(jù)組配準(zhǔn)至同一個(gè)參考系(即相同的坐標(biāo)空間)內(nèi)。例如,采集裝置24的每個(gè)節(jié)點(diǎn)可以被配置為生成點(diǎn)云數(shù)據(jù)。所述節(jié)點(diǎn)生成的點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn)的坐標(biāo)以所述節(jié)點(diǎn)為中心。已知采集裝置24中的多個(gè)節(jié)點(diǎn)的相對位置時(shí),任何給定節(jié)點(diǎn)的點(diǎn)云數(shù)據(jù)可以通過公知技術(shù)變換到以采集范圍的中心為原心的一個(gè)參考系內(nèi)(例如,一個(gè)與圖5中節(jié)點(diǎn)x的位置相一致的位置)。至此,顯而易見的是,當(dāng)原始點(diǎn)云數(shù)據(jù)組被配準(zhǔn)至同一個(gè)參考系時(shí),采集范圍內(nèi)的多個(gè)位置將在配準(zhǔn)的點(diǎn)云數(shù)據(jù)內(nèi)被多次描述。也就是說,采集范圍內(nèi)的同一位置對于多個(gè)節(jié)點(diǎn)具有可見性。開發(fā)設(shè)備28因此被配置為將配準(zhǔn)的點(diǎn)云數(shù)據(jù)中的任何重疊點(diǎn)(無論是完全重疊還是僅部分重疊),壓縮或折疊成較少數(shù)量的點(diǎn)。在步驟910中,開發(fā)設(shè)備28被配置為確定配準(zhǔn)的點(diǎn)云數(shù)據(jù)中的每個(gè)點(diǎn)是否與其他點(diǎn)重疊(完全重疊或部分重疊)。當(dāng)判定結(jié)果為否定時(shí),開發(fā)設(shè)備28執(zhí)行步驟915。在步驟915中,對配準(zhǔn)的點(diǎn)云數(shù)據(jù)進(jìn)行更新時(shí),對非重疊點(diǎn)不做任何改變(即所述更新可以是空更新)。當(dāng)步驟910中任何一個(gè)點(diǎn)的判定結(jié)果為肯定時(shí),開發(fā)設(shè)備28可以被配置為執(zhí)行步驟920。在步驟920中,開發(fā)設(shè)備28可以被配置為確定重疊點(diǎn)之間的色差是否大于一個(gè)預(yù)設(shè)的閾值。也就是說,如果不同的節(jié)點(diǎn)在采集范圍內(nèi)記錄到相同(或相似)的位置在表象上存在顯著的差異,這就意味著采集范圍內(nèi)包括具有高度反光、如同鏡面或其他類似特點(diǎn)的表面。當(dāng)步驟920中的判定結(jié)果為否定時(shí)(例如,重疊點(diǎn)不存在顏色差異或所述顏色差異低于上述閾值),開發(fā)設(shè)備28執(zhí)行步驟915,并通過將重疊點(diǎn)替換為單個(gè)點(diǎn)的方式完成對所述配準(zhǔn)點(diǎn)云的更新。例如,所述單個(gè)點(diǎn)的顏色值可以等于初始重疊點(diǎn)顏色值的平均值。然而,當(dāng)步驟920中的判定結(jié)果為肯定時(shí),開發(fā)設(shè)備28可以被配置為創(chuàng)建一個(gè)色板圖像。所述色板圖像包含重疊點(diǎn)顏色值的一個(gè)子集或全部顏色值。一個(gè)色板圖像可以存儲(chǔ)所述配準(zhǔn)的點(diǎn)云中單個(gè)點(diǎn)的多種可能的顏色。優(yōu)選地,所述色板圖像將所述可能的顏色存儲(chǔ)在二維陣列中。所述色板圖像中心處的顏色對應(yīng)于從點(diǎn)云的中心觀看到的點(diǎn)的顏色。除去所述色板圖像的中心,在不同方向和不同距離處的顏色對應(yīng)于自點(diǎn)云的中心以相應(yīng)的方向和相應(yīng)的距離觀看到的點(diǎn)的顏色。在一些實(shí)施例中,所述色板圖像可以只存儲(chǔ)亮度或強(qiáng)度值,而不存儲(chǔ)全部顏色值。點(diǎn)云中點(diǎn)的色度或其他顏色值可以存儲(chǔ)在所述點(diǎn)中(連同一個(gè)對所述色板圖像的引用)。在步驟915中,開發(fā)設(shè)備28被配置為通過一個(gè)指向所述色板圖像的索引值對配準(zhǔn)的點(diǎn)云進(jìn)行更新,以替代一個(gè)顏色值??梢灶A(yù)見的是在一些實(shí)施例中,步驟920和925可以被省略。圖10所示為執(zhí)行方法800中的步驟810的一個(gè)示例性流程。在步驟1000中,采集到點(diǎn)云數(shù)據(jù)后(例如,圖9所示的采集到原始點(diǎn)云數(shù)據(jù)和生成配準(zhǔn)的點(diǎn)云數(shù)據(jù)后),開發(fā)設(shè)備28被配置為在采集范圍內(nèi)選擇一個(gè)視點(diǎn)。所述視點(diǎn)的選擇是基于視圖跟蹤顯示器40檢測到的觀看者的預(yù)測起始位置而確定的。例如,可以選擇將采集范圍的中心作為所述視點(diǎn)。在步驟1005中,開發(fā)設(shè)備28被配置為選擇一個(gè)矢量進(jìn)行處理。在上述實(shí)施例中,點(diǎn)云數(shù)據(jù)被存儲(chǔ)在球坐標(biāo)中。矢量的選擇包括選擇方位角和極角。然而,點(diǎn)云數(shù)據(jù)也可以被存儲(chǔ)在其他坐標(biāo)系。一般而言,在步驟1005中,開發(fā)者選擇一條從所選視點(diǎn)延伸的路徑,而不選擇對應(yīng)于所述路徑的深度。圖11所示為選擇的視點(diǎn)1100和從所述視點(diǎn)延伸出的路徑1104的一個(gè)實(shí)施例。在步驟1010中,開發(fā)設(shè)備28被配置為沿著所選擇的路徑或矢量將點(diǎn)云中的第一點(diǎn)進(jìn)行投影。所述第一點(diǎn)相對所選擇的視點(diǎn)可見。即從所述視點(diǎn)沿著所述路徑看的時(shí)候,對第一個(gè)被"看到"的點(diǎn)進(jìn)行投影(即添加到一個(gè)二維圖像中)。例如,再次參照圖11,路徑1104與一個(gè)目標(biāo)1108在所述目標(biāo)的"下"表面上的一個(gè)點(diǎn)1112處相交。點(diǎn)1112因此被添加到所述投影中。在圖11可以清楚的看出,路徑1104還在目標(biāo)1108的"上"表面上的第二點(diǎn)1116處與目標(biāo)1108相交。但相對視點(diǎn)1100的所在位置,點(diǎn)1116不可見。返回圖10,在步驟1015中,開發(fā)設(shè)備28被配置為確定在步驟1005中選擇的路徑上是否存在其他的點(diǎn)。當(dāng)步驟1015中判定的結(jié)果為否定時(shí)(即所選擇的路徑不與點(diǎn)云中的任何其他點(diǎn)相交,意味著沿所述路徑的點(diǎn)云的其余部分是空的,例如,描述空氣時(shí)),開發(fā)設(shè)備28執(zhí)行步驟1020。在步驟1020中,開發(fā)設(shè)備28確定是否已經(jīng)對所有路徑進(jìn)行處理(例如,是否已經(jīng)對相對所選視點(diǎn)的極角和方位角的每個(gè)增量進(jìn)行處理)。當(dāng)判定結(jié)果為否定時(shí),方法810的執(zhí)行返回到步驟1005中,以選擇另一路徑和其他投影。當(dāng)步驟1015中判定的結(jié)果為肯定時(shí),開發(fā)設(shè)備被配置為執(zhí)行步驟1025。在步驟1025中,步驟1005中所選路徑上存在的任何其他點(diǎn)都可以被添加到投影圖像的一個(gè)折疊區(qū)域。也就是說,所述投影圖像的一部分為步驟1010中投影的點(diǎn)預(yù)留,另一部分為折疊預(yù)留。所述折疊是點(diǎn)云中相對步驟1000中所選的視點(diǎn)不可見的點(diǎn)的投影。但如果移動(dòng)所述視點(diǎn),則所述點(diǎn)可以變得可見。再次參照圖11,如果視點(diǎn)1100在進(jìn)行回放時(shí)(視圖跟蹤顯示器40檢測到的回放)移動(dòng)到位置1100-1,則點(diǎn)1116將變得可見(而此時(shí)點(diǎn)1112將不可見)。在步驟1025中,開發(fā)設(shè)備28可以被配置為在向所述投影圖像中添加一個(gè)折疊點(diǎn)之前,確定所述折疊點(diǎn)是否處于一個(gè)預(yù)測范圍內(nèi)。所述預(yù)測范圍為步驟1000中所選視點(diǎn)的預(yù)測運(yùn)動(dòng)范圍。也就是說,相對初始位置,所述視點(diǎn)可以對應(yīng)一個(gè)預(yù)測的最大行進(jìn)距離。開發(fā)設(shè)備可以完全省略那些僅在所述視點(diǎn)移動(dòng)至超過最大行進(jìn)距離之后變得可見的折疊點(diǎn)。再次參照圖11,視點(diǎn)1100-1可以被認(rèn)為處于視點(diǎn)1100的預(yù)定運(yùn)動(dòng)范圍之外,因此點(diǎn)1116可以在所述投影圖像中省略。然而視點(diǎn)1100-2可能處于所述預(yù)定運(yùn)動(dòng)范圍內(nèi),因此一個(gè)在目標(biāo)1108的“前”表面上且與另一路徑1120相交的點(diǎn)相對視點(diǎn)1100不可見。因此,所述位于目標(biāo)1108前表面上的點(diǎn)可以作為一個(gè)折疊點(diǎn)添加到所述投影圖像中。完成對所有路徑的處理后,開發(fā)設(shè)備28開始對步驟1030中的下一幀進(jìn)行處理(即點(diǎn)云數(shù)據(jù)中的下一組),并通過重復(fù)執(zhí)行步驟810生成另一個(gè)包含折疊數(shù)據(jù)的投影圖像。重復(fù)執(zhí)行步驟810可以獲得多個(gè)包含顏色值的二維圖像。所述二維圖像通過對采集裝置24采集的點(diǎn)云數(shù)據(jù)進(jìn)行投影而獲得。所述二維圖像也可以包含深度值,或可以被存儲(chǔ)在相應(yīng)圖像中的深度值(即具有相同結(jié)構(gòu),但只包含深度值而不包含顏色值)。參照圖12,其所示為所述二維圖像的一個(gè)具體實(shí)施例。圖12所示的圖像具有一個(gè)投影區(qū)域1200。所述投影區(qū)域包含執(zhí)行步驟1010過程中投影的點(diǎn)。所述圖像還包括至少一個(gè)折疊區(qū)域。在本實(shí)施例中,包括三種折疊。所述圖像中包括一個(gè)y-折疊區(qū)域。所述y折疊區(qū)域是為所述圖像中顏色數(shù)據(jù)對應(yīng)的與所述投影圖像具有相同的寬度的線而預(yù)留的。所述顏色數(shù)據(jù)線與位于所述投影區(qū)域1200中某一行“后面”的點(diǎn)相對應(yīng)。因此,區(qū)域1024可以存儲(chǔ)一個(gè)與區(qū)域內(nèi)每行的顏色值相關(guān)聯(lián)的索引值。所述圖像中包括一個(gè)x折疊區(qū)域。所述x-折疊區(qū)域?yàn)樗鰣D像中顏色數(shù)據(jù)對應(yīng)的與所述投影圖像具有相同的高度的線而預(yù)留的。所述顏色數(shù)據(jù)線與位于所述投影區(qū)域1200中一個(gè)特定列后面的點(diǎn)相對應(yīng)。進(jìn)一步地,一個(gè)m-折疊區(qū)域包含特定的像素。所述像素按x坐標(biāo)和y坐標(biāo)編入索引,且位于投影區(qū)域1200中特定點(diǎn)的后面。折疊的類型沒有特別的限制。例如,當(dāng)相當(dāng)一部分(例如,超過百分之八十)給定的m-折疊點(diǎn)都出現(xiàn)在同一行或同一列時(shí),開發(fā)設(shè)備28可以被配置為存儲(chǔ)一個(gè)y-折疊(或一個(gè)x-折疊)而非所述m-折疊。圖12的下半部分所示為x-折疊和y-折疊關(guān)于投影區(qū)域1200的三維排布的一個(gè)實(shí)施例。所述折疊對應(yīng)于包含顏色數(shù)據(jù)的投影圖像的某些區(qū)域。與區(qū)域1200中相似位置處的顏色數(shù)據(jù)相比,所述折疊具有不同的深度。圖13a和13b所示為執(zhí)行步驟810時(shí)生成的所述幀的其他結(jié)構(gòu)??梢詾檎郫B數(shù)據(jù)預(yù)留特定區(qū)域的任何合適的投影方法以及各種各樣的結(jié)構(gòu)都可以被包含于此。作為示例,可用投影技術(shù)可以包括等量矩形投影、立方體映射、八面體環(huán)境映射、正弦投影、鉛錘投影和安托夫投影。在圖13a所示為一種結(jié)構(gòu)布局。相比為折疊在二維圖像內(nèi)預(yù)留特定區(qū)域,所述結(jié)構(gòu)布局中y-折疊1300和x-折疊1304被以內(nèi)聯(lián)的方式嵌入投影圖像數(shù)據(jù)。m-折疊也可以以內(nèi)聯(lián)的方式放置,或省略。圖13b所示為投影區(qū)域1316的上方包含m-折疊1308和y-折疊1312的另一個(gè)實(shí)施例。在本實(shí)施例中,x-折疊可以被省略。這個(gè)實(shí)施例更適于,例如,投影圖像的寬度難以調(diào)節(jié)的情況。本申請還可以包括其他投影模型和二維圖像結(jié)構(gòu)。例如,在圖14a-14c所示的修正后的等量矩形投影。對于本領(lǐng)域技術(shù)人員來說顯而易見的是,常規(guī)的等量矩形在投影圖像的底部和頂部存在過采樣(由于點(diǎn)云的“極點(diǎn)”擴(kuò)展至投影的寬度)。為了解決所述過采樣帶來的低效問題,開發(fā)設(shè)備28可以采用一個(gè)修正后的等量矩形投影。在所述投影過程中,可以更大程度地由所述圖像中心向其頂部和底部,對其寬度(水平軸)進(jìn)行縮放。另外,可以采用正弦投影或鉛錘投影實(shí)現(xiàn)上述縮放,或者可以采用一個(gè)更簡單的線性縮放實(shí)現(xiàn)如圖14a中所示的菱形形狀。在圖14b所示的變體中,對所述菱形投影區(qū)域進(jìn)行旋轉(zhuǎn),使4個(gè)折疊區(qū)域合并為2個(gè)。進(jìn)一步地,在圖14c所示的變體中,對圖14b中所示的投影區(qū)域進(jìn)行偏斜,使所述折疊合并至單個(gè)區(qū)域。可以預(yù)見的是,在步驟810生成的(任何形式的)投影可以包括對色板圖像而非顏色數(shù)據(jù)的引用,其中步驟920中的判定表明基于不同的視點(diǎn)位置,采集范圍內(nèi)一個(gè)特定位置可以具有明顯不同的表象。在一些實(shí)施例中,所述色板圖像可以被存儲(chǔ)于一個(gè)或多個(gè)其他幀內(nèi)(例如,具有和上述二維圖像一樣大小的尺寸)。在另一些實(shí)施例中,所述色板圖像可以被存儲(chǔ)于與上述投影區(qū)域和折疊區(qū)域分開的其他區(qū)域中。圖15所示為步驟805和810的采集點(diǎn)云數(shù)據(jù)并生成二維圖像的另一個(gè)實(shí)施例。與上述關(guān)于圖9和圖10描述的過程形成對照的是,圖15中所示的過程可以預(yù)見通過識(shí)別點(diǎn)云數(shù)據(jù)中團(tuán)狀的點(diǎn)或簇狀的點(diǎn)以完成其余的壓縮,并將對所述簇狀數(shù)據(jù)點(diǎn)的索引,而非其顏色和深度數(shù)據(jù),存儲(chǔ)于后續(xù)的二維圖像中。原始數(shù)據(jù)48被采集后,將通過一個(gè)流線化過程使所述數(shù)據(jù)適于壓縮和傳輸。所述過程從去重步驟1500開始。重復(fù)的內(nèi)容包括開發(fā)者不愿重復(fù)的結(jié)尾幀1504中的流線化數(shù)據(jù),例如,靜態(tài)背景。從上述關(guān)于步驟910和915的討論中可以得出,去重步驟1500將所有的點(diǎn)轉(zhuǎn)換至同一個(gè)坐標(biāo)空間,例如,圖5所示的原點(diǎn)位于所述安全區(qū)域的中心的球面坐標(biāo)系。通過一份記錄在采集裝置(例如,圖5所示的采集裝置)中的每個(gè)采集設(shè)備所用過的點(diǎn)的列表和一個(gè)存儲(chǔ)在類似八叉樹的有序結(jié)構(gòu)中的一個(gè)中心使用點(diǎn)的列表,以減少對這些重復(fù)的計(jì)算。在前一幀中配準(zhǔn)點(diǎn)云內(nèi)沒有的點(diǎn)即被視為“未使用”(例如,因?yàn)樗鳇c(diǎn)代表的位置也可以由另一節(jié)點(diǎn)的其他點(diǎn)代表)。每個(gè)節(jié)點(diǎn)的未使用點(diǎn)深度的變化被記錄。如果所述深度沒有變化,則該點(diǎn)保持未使用狀態(tài)。如果所述深度發(fā)生變化,則該像素點(diǎn)將被加入到所述有序結(jié)構(gòu)中,并對照當(dāng)前已使用的點(diǎn)檢查所述像素點(diǎn)。通過這種方式,僅需要檢查采集的數(shù)據(jù)中發(fā)生變化的點(diǎn)是否重復(fù),然后對照一個(gè)有序結(jié)構(gòu)進(jìn)行檢查,以減少計(jì)算。去重后,可通過對所述數(shù)據(jù)進(jìn)行一個(gè)幀內(nèi)分析1508,識(shí)別場景的結(jié)構(gòu)。所述幀內(nèi)分析可以包括通過常規(guī)的邊緣或斑點(diǎn)檢測技術(shù)識(shí)別基于位置進(jìn)行分組的點(diǎn)(簇)。識(shí)別后的點(diǎn)可以由編解碼器56進(jìn)行壓縮。下一步驟是將所述點(diǎn)進(jìn)行重投影1512(上述關(guān)于圖10的描述可以作為其一個(gè)具體實(shí)施例)到最終觀看的坐標(biāo)系,例如對所述點(diǎn)進(jìn)行以用戶的理想觀看位置為中心的球形重投影。所述重投影可以包括在可以包含多條由點(diǎn)組成的線的等量矩形投影中創(chuàng)建折疊以及x和y(方位角和極角)的索引。所述索引中的重復(fù)可以被存儲(chǔ)為一個(gè)無符號(hào)整數(shù)陣列。所述陣列可以被播放器用于控制新的折疊等量矩形投影,使其在一個(gè)折疊索引上保持相同的角度。在將數(shù)據(jù)發(fā)送到編解碼器之前,需要進(jìn)行連接幀間簇的幀間分析1516。幀間分析1516可以提高編解碼器內(nèi)的壓縮效率。所述壓縮是基于預(yù)測進(jìn)行的。最后一步是將流線化數(shù)據(jù)以合適的方式發(fā)送至編解碼器進(jìn)行壓縮和打包操作1520(例如,方法800中的步驟815)。如前所述為步驟805和810的各種具體實(shí)施例,下文將對步驟815的具體實(shí)施例進(jìn)行討論。如前所述,通過運(yùn)行編解碼器56,對步驟810中生成的二維圖像做一些準(zhǔn)備。因此,在步驟815中,根據(jù)所使用的編解碼器,將進(jìn)行各種準(zhǔn)備。如圖16所示為步驟815的一個(gè)具體實(shí)施例。開發(fā)設(shè)備28通過運(yùn)行編解碼器56來完成圖16所示的流程。圖16所示的流程假設(shè)執(zhí)行步驟805和810的流程與圖15中所述的流程相似。特別地,圖16假定簇在原始點(diǎn)云數(shù)據(jù)中已被識(shí)別,并且在二維圖像中已對所述簇進(jìn)行標(biāo)記。編解碼器56,如對圖1所示實(shí)施例中的開發(fā)計(jì)算機(jī)28和用戶計(jì)算機(jī)64的描述中所述,對應(yīng)一個(gè)壓縮和一個(gè)解壓縮過程。所述壓縮過程的第一步是在步驟1600中打開一個(gè)數(shù)據(jù)或傳輸流。這將使得編解碼器在完成傳輸流或完成文件之前擁有訪問該流的權(quán)限。接下來,一個(gè)基于位置的點(diǎn)的分組將被添加到編解碼器(步驟1604)和一個(gè)表示最終文件格式的內(nèi)部結(jié)構(gòu)中。其中,所述分組包括顏色數(shù)據(jù)。被添加至編解碼器中的所述分組是從編輯器或廣播器中獲得的。在步驟1608中,對所述分組進(jìn)行壓縮。所述壓縮可以包括使用傳統(tǒng)圖像壓縮技術(shù)對顏色數(shù)據(jù)進(jìn)行壓縮,例如,png(portablenetworkgraphics,png)無損壓縮。對于位置信息,可以使用多種新技術(shù)中的任何一種。為了便于壓縮,在一個(gè)實(shí)施例中,可以將信息存儲(chǔ)在球坐標(biāo)中。圖像信息被存儲(chǔ)在等量矩形投影或立方映射(或任何其他合適的投影)中。位置信息是通過在圖像數(shù)據(jù)的像素位置處添加一個(gè)深度值進(jìn)行存儲(chǔ)。壓縮位置信息的方法可以包括:跳過與透明像素相關(guān)的任何深度信息;跳過距離最終觀看者過遠(yuǎn)以致于不具有任何明顯視差的像素的深度數(shù)據(jù),將其置于默認(rèn)最大距離處;每個(gè)簇可以保存一個(gè)無符號(hào)整數(shù)以表示簇的中心的深度,從而可以使用距離初始空位(即,簇的中心)的字節(jié)偏移量表示每個(gè)像素深度。所述深度信息還可以被用于改進(jìn)現(xiàn)有的基于運(yùn)動(dòng)圖像的壓縮算法,例如mpeg-2,通過新的方法去除偽影并提高效率的同時(shí),創(chuàng)造新的基于深度信息的衍生技術(shù)。通常將目標(biāo)從相鄰的目標(biāo)中分離出來時(shí)只能使用內(nèi)場景算法分析。所述內(nèi)場景算法分析可能會(huì)產(chǎn)生錯(cuò)誤(偽影)或?qū)е掠?jì)算效率低下。通過使用深度信息,可以逐像素地將目標(biāo)成塊地從相鄰的目標(biāo)中分離出來,因?yàn)橄噜彽哪繕?biāo)具有不同的深度(不同點(diǎn)簇的一部分)。對所述分組進(jìn)行壓縮后,重復(fù)所述添加和壓縮操作直到幀的末尾。在每一幀的末尾,將描述讀取或解壓縮的任何其他指令的元數(shù)據(jù)填充至一個(gè)頭文件中。在步驟1612中所有幀數(shù)據(jù)將被打包用于寫入。所述幀隨后被寫入數(shù)據(jù)或傳輸流中。對每個(gè)幀重復(fù)上述過程,直到完成對所有幀的處理并且已經(jīng)到達(dá)文件的末尾。隨后在步驟1616中關(guān)閉文件流。所述數(shù)據(jù)或傳輸流可以被傳輸?shù)接脩粲?jì)算機(jī)36中。在另一個(gè)實(shí)施例中,在步驟815中可以使用常規(guī)編解碼器,例如h.264(與mpeg-4標(biāo)準(zhǔn)相關(guān))。使用常規(guī)編解碼器可以兼容現(xiàn)有的硬件加速編碼器,因此可以提高系統(tǒng)10的性能。為了能夠使用現(xiàn)有的編解碼器,例如h.264,開發(fā)設(shè)備28被配置為針對不同類型的數(shù)據(jù)(例如,顏色、位置、深度或法線等)生成一個(gè)單獨(dú)的視頻流。對于某些類型的數(shù)據(jù),例如二維投影圖像中的顏色數(shù)據(jù),可以在步驟815中通過常規(guī)圖像壓縮技術(shù)(包括h.264具有的運(yùn)動(dòng)阻擋技術(shù))進(jìn)行壓縮。然而,這種常規(guī)技術(shù)不太適合用于壓縮其他類型的數(shù)據(jù),例如深度數(shù)據(jù)。圖17所示為步驟815的一個(gè)實(shí)施例。所述實(shí)施例利用一個(gè)編解碼器,諸如h.264和一種支持多個(gè)視頻流的文件格式,例如mp4文件格式,對步驟815進(jìn)行說明。開發(fā)設(shè)備28被配置為在步驟1700生成多個(gè)單獨(dú)的包含不同類型數(shù)據(jù)的流。例如,一個(gè)顏色流中包含投影顏色數(shù)據(jù)和折疊顏色數(shù)據(jù),如圖12、13a、13b和14a-14c所示。一個(gè)深度流中包含對應(yīng)于顏色數(shù)據(jù)的深度數(shù)據(jù)(例如,每個(gè)顏色數(shù)據(jù)的像素對應(yīng)一個(gè)深度值)。所述深度數(shù)據(jù)可以包含在類似于包含顏色數(shù)據(jù)的結(jié)構(gòu)的二維圖像中。本申請對顏色數(shù)據(jù)和深度數(shù)據(jù)(以及下面提到的流)的確切類型沒有特別的限制。在本實(shí)施例中,由于多數(shù)常規(guī)編解碼器支持yuv顏色空間而不支持rgb顏色空間,所以顏色數(shù)據(jù)流被存儲(chǔ)為yuv顏色空間中的值(如有必要,可以由rgb轉(zhuǎn)換過來),由于多數(shù)傳統(tǒng)的編解碼器支持yuv顏色空間,而不支持rgb顏色空間。例如,nv12格式可用于存儲(chǔ)顏色數(shù)據(jù)。對于每對色度樣本(u和v),nv12格式包括四個(gè)亮度(y)樣本。為了生成與h.264編解碼器相兼容的視頻流,開發(fā)設(shè)備28還可以將深度數(shù)據(jù)存儲(chǔ)為yuv格式。例如,深度數(shù)據(jù)的存儲(chǔ)可以根據(jù)nv12格式將每個(gè)像素的深度存儲(chǔ)為一個(gè)亮度(y)值,并省略uv通道。在uv通道中填零可以使編解碼器跳過uv通道,從而減少計(jì)算量。如果nv12的分辨率(每個(gè)樣本8位)不足以容納所有深度值,則可以對深度值進(jìn)行縮放(例如線性縮放或?qū)?shù)縮放)。在其它實(shí)施例中,為了增加定義深度值的分辨率(例如,多個(gè)8位樣本定義單個(gè)深度值),深度流的分辨率可以高于顏色流。此外,一個(gè)法線流包含對所述二維圖像中至少部分點(diǎn)的法線的定義(垂直于采集范圍中目標(biāo)的表面的線)。法線的確定在本領(lǐng)域技術(shù)人員的能力范圍內(nèi)。另外,還可以生成一個(gè)索引流。所述索引流可以包含將,例如,顏色數(shù)據(jù)和深度數(shù)據(jù)相關(guān)聯(lián)的數(shù)據(jù)。在一些實(shí)施例中,所述索引數(shù)據(jù)還可以識(shí)別投影顏色數(shù)據(jù)和折疊顏色數(shù)據(jù)之間的關(guān)聯(lián)。例如,一些二維圖像數(shù)據(jù)格式可以不包含用于存儲(chǔ)y-折疊的y-索引的空間。但是,可以創(chuàng)建一個(gè)索引項(xiàng)。所述索引項(xiàng)在幀內(nèi)包括一個(gè)y-折疊位置的標(biāo)識(shí)(即,在y-折疊區(qū)域內(nèi)y-折疊的y-坐標(biāo)),以及一個(gè)與所述折疊對應(yīng)的投影數(shù)據(jù)內(nèi)的位置所對應(yīng)的標(biāo)識(shí)。所述索引流還可以包含與色板圖像相關(guān)聯(lián)的點(diǎn)的標(biāo)識(shí)符,也可以包括色板圖像本身的標(biāo)識(shí)符。另外,還可以生成音頻流,盡管生成音頻數(shù)據(jù)與本討論沒有直接關(guān)系。在步驟1704中,開發(fā)設(shè)備28執(zhí)行對上述各個(gè)流的壓縮操作。對于各個(gè)流可以采用不同的壓縮算法。例如,可以使用常規(guī)的有損圖像壓縮技術(shù)來壓縮顏色流,而其他流(比如深度和索引流)可以保持未壓縮或使用無損壓縮技術(shù)進(jìn)行壓縮。優(yōu)選地,對深度、法線和索引流采用無損壓縮。在某些情況下,為了降低在傳輸至用戶設(shè)備36期間對存儲(chǔ)的需求和帶寬消耗,對顏色流優(yōu)選有損壓縮。在步驟1708中,開發(fā)設(shè)備28將各種流多路復(fù)接至一個(gè)輸出文件1712中。輸出文件可以具有各種各樣的格式。圖18所示為輸出文件的幾種示例性格式。文件格式60由一個(gè)示例性示意圖所示。文件格式60由圖1所示實(shí)施例中的開發(fā)計(jì)算機(jī)28創(chuàng)建,并隨后被用戶計(jì)算機(jī)36讀取。(該實(shí)施例是非限制性的。本領(lǐng)域技術(shù)人員在參照本說明書的情況下可以做出其他類似的實(shí)施例。)所述格式包括多個(gè)嵌套的結(jié)構(gòu)陣列,以及用于管理具有不同類型和尺寸的結(jié)構(gòu)的頭文件和尾文件。在本示意圖中的術(shù)語簇指的是通過位置及其對應(yīng)的顏色和元數(shù)據(jù)進(jìn)行分組的點(diǎn)的分組形式。這些簇將對應(yīng)于點(diǎn)云全景正在重建的場景中的目標(biāo)或目標(biāo)組。所述結(jié)構(gòu)通過如下方式進(jìn)行嵌套:文件68包含對應(yīng)于不同幀72的塊,并且每一幀72保持為一個(gè)簇的陣列;每個(gè)簇80可以保持為一個(gè)運(yùn)動(dòng)塊的陣列。由76和80表示的示意圖是簇的兩種可選的結(jié)構(gòu)。在76中圖像和深度數(shù)據(jù)以幾乎沒有幀間壓縮的大塊表示。在80中使用運(yùn)動(dòng)塊來表示簇,在必要時(shí)可以提供圖像和深度數(shù)據(jù)84,但有時(shí)需將運(yùn)動(dòng)塊移除并由多個(gè)預(yù)測指令88來替代。預(yù)測指令88使用最后一幀的數(shù)據(jù)來構(gòu)造新的一幀。預(yù)測指令的實(shí)施例可以參照運(yùn)動(dòng)圖像壓縮算法,例如mpeg-4。包括位置聚類和位置數(shù)據(jù)的形式通??商岣呶募膲嚎s效率和計(jì)算的效率。圖19所示為文件格式的另一個(gè)實(shí)施例。在本實(shí)施例中,圖18所示的簇被省略。圖19中所示的示例性結(jié)構(gòu)包括一個(gè)頭文件和多個(gè)與圖17所示的流相對應(yīng)的流。每個(gè)流包含頭文件數(shù)據(jù)和尾文件數(shù)據(jù),以及多個(gè)包含實(shí)際內(nèi)容(例如,顏色數(shù)據(jù)或深度數(shù)據(jù))的幀。所述頭文件可以識(shí)別所采用的壓縮算法、投影方法和用于同步各種流的時(shí)間戳等。本領(lǐng)域技術(shù)人員還可以想到各種各樣的其他文件格式。此外,可以對上面討論過的格式的特征進(jìn)行組合(例如,圖18所示的簇可以用于圖19所示的多流格式)。再次參照圖8,在步驟820中,用戶設(shè)備36被配置為對開發(fā)設(shè)備28準(zhǔn)備的數(shù)據(jù)進(jìn)行接收和解碼。用戶設(shè)備36被配置為通過運(yùn)行編解碼器56(即在開發(fā)設(shè)備28中對數(shù)據(jù)進(jìn)行編碼的編解碼器)對接收的數(shù)據(jù)進(jìn)行解碼。因此,參照圖20中采用mpeg4文件或具有類似結(jié)構(gòu)的文件的實(shí)施例,在步驟2000中,接收一個(gè)輸入文件(對應(yīng)于圖17中所示的輸出文件)。在步驟2004中,用戶設(shè)備36被配置為對輸入文件中的各種壓縮數(shù)據(jù)流進(jìn)行多路分用。在步驟2008中,用戶設(shè)備36被配置為根據(jù)開發(fā)設(shè)備28采用的壓縮算法來解壓縮每個(gè)流。隨后,用戶設(shè)備36可以在步驟2012中將解壓縮后的流存儲(chǔ)在存儲(chǔ)器140中。同時(shí)在步驟2012,流之間可以進(jìn)行相互同步,例如通過嵌入在每個(gè)流中的時(shí)間戳。流程820中解碼之后,在流程825中,用戶設(shè)備36被配置為重新生成部分初始配準(zhǔn)的點(diǎn)云。重新生成的點(diǎn)云是開發(fā)設(shè)備28選定的用于投影的部分點(diǎn)云。圖21所示為流程825的執(zhí)行過程(例如,通過運(yùn)行播放器64)的一個(gè)實(shí)施例。在步驟2100中,用戶設(shè)備36被配置為設(shè)置一個(gè)視點(diǎn)位置。該視點(diǎn)位置與流程810中開發(fā)設(shè)備28采用的位置相同(并且可以包括在,例如,傳輸文件的頭文件數(shù)據(jù)中)。設(shè)置所述視點(diǎn)后,用戶設(shè)備36被配置為在步驟2105中選擇一個(gè)路徑,類似于上述步驟1005的執(zhí)行過程。簡而言之,可以選擇包含投影顏色數(shù)據(jù)的二維圖像中的第一對坐標(biāo)。在步驟2110中,用戶設(shè)備36基于投影顏色數(shù)據(jù)和相伴的深度數(shù)據(jù)(例如,通過索引流可以查閱)生成再生云中的第一點(diǎn)。一個(gè)云點(diǎn)的創(chuàng)建可以包括將所選路徑的投影的x-y坐標(biāo)轉(zhuǎn)換為球坐標(biāo),并將所選x-y坐標(biāo)處的顏色數(shù)據(jù)與所述球坐標(biāo)相關(guān)聯(lián)(或者,如果包括對色板的引用,而不包括顏色數(shù)據(jù),則將對所述色板的引用與球坐標(biāo)相關(guān)聯(lián))。在步驟2115中,用戶設(shè)備36被配置為確定是否存在對應(yīng)于當(dāng)前所選路徑(即二維投影的當(dāng)前所選x坐標(biāo)和y坐標(biāo))的任何折疊。如果判定結(jié)果為否定,則在步驟2120中對其余路徑進(jìn)行處理。然而,如果判定結(jié)果為肯定,則在步驟2125中創(chuàng)建另一點(diǎn)(或幾個(gè),如果存在例如y-折疊或x-折疊的線性折疊)。所述點(diǎn)的創(chuàng)建基于包含在二維圖像的折疊區(qū)域中的顏色數(shù)據(jù)和相關(guān)聯(lián)的深度數(shù)據(jù)。當(dāng)完成對所有路徑的處理后(即當(dāng)完成對整個(gè)投影圖像的處理時(shí)),用戶設(shè)備36執(zhí)行步驟2130,并通過重復(fù)上述過程對接收到的文件的剩余幀進(jìn)行處理。圖22所示為重新生成的圖11中所示點(diǎn)云的一個(gè)實(shí)施例。如圖22所示,目標(biāo)1108不完全存在于所述再生點(diǎn)云中。僅其底面和前表面存在于所述再生點(diǎn)云中,因?yàn)橥ㄟ^開發(fā)裝置28可以確定其他表面在視點(diǎn)1100的預(yù)期運(yùn)動(dòng)范圍之外。圖23所示為用戶設(shè)備36中解壓縮和點(diǎn)云再生操作(流程820和825)的另一實(shí)施例。其中,如上所述,簇可以在初始點(diǎn)云中被檢測到。文件(這里也稱為一個(gè)數(shù)據(jù)流或傳輸流)被傳輸至圖1所示實(shí)施例中的用戶計(jì)算機(jī)36后,所述文件或流可以在步驟156中被打開以便于讀取。所述步驟還包括讀取文件中用于對播放器進(jìn)行初始設(shè)置的頭文件數(shù)據(jù)。圖23中的以下步驟是一個(gè)播放器使用編解碼器解壓縮并顯示運(yùn)動(dòng)點(diǎn)云全景的實(shí)施例。使用所述頭文件數(shù)據(jù)對播放器64進(jìn)行初始化后,播放器64將使用編解碼器56對所述文件的嵌套結(jié)構(gòu)進(jìn)行單步調(diào)試。首先在步驟160將一幀72加載到存儲(chǔ)器中。隨后,播放器64在步驟164中將幀72的第一簇解壓縮后存入存儲(chǔ)器。如果所述簇沒有關(guān)聯(lián)到最后一幀中的某一簇,則播放器將在步驟168中創(chuàng)建一個(gè)新的點(diǎn)云以表示該新簇。然后,在增加球面坐標(biāo)(步驟176中的x表示方位角和步驟180中的y表示極角)之前,播放器在步驟172中通過遍歷整個(gè)點(diǎn)云,更新每個(gè)點(diǎn)的顏色和深度以檢查x和y折疊。在這種情況下,分別采用一個(gè)無符號(hào)整數(shù)陣列表示x和y折疊。所述陣列可以識(shí)別播放器不應(yīng)該分別增加x或y折疊的索引。這將允許像素在球坐標(biāo)空間中放置在彼此的后面或前面并同時(shí)保持單個(gè)用于傳輸圖像數(shù)據(jù)的圖像。通過重復(fù)上述過程,對其余的簇和幀進(jìn)行處理。在再生云中對所有點(diǎn)進(jìn)行更新后,播放器64可以將所述數(shù)據(jù)渲染到視圖跟蹤顯示器40中。在一些實(shí)施例中,使用常規(guī)3d圖形引擎進(jìn)行渲染的過程包括創(chuàng)建3d網(wǎng)格和使用uv映射對所述網(wǎng)格進(jìn)行紋理化處理。在其他實(shí)施例中,還可以使用渲染點(diǎn)云的常規(guī)技術(shù),例如使用點(diǎn)作為基元或使用拋雪球法,以代替使用基于頂點(diǎn)和紋理的渲染。一般而言,為了渲染每個(gè)幀(即每個(gè)再生點(diǎn)云),用戶設(shè)備36被配置為從視圖跟蹤顯示器40接收表示觀看者在采集范圍內(nèi)的模擬位置和觀看方向的位置數(shù)據(jù)。接收所述位置信息后,用戶設(shè)備36被配置為在再生點(diǎn)云中放置虛擬視點(diǎn)(也被稱為虛擬相機(jī))。設(shè)置虛擬視點(diǎn)的位置與上述位置數(shù)據(jù)相對應(yīng)。當(dāng)視圖跟蹤顯示器40包括兩個(gè)顯示器時(shí),在位于點(diǎn)云全景的中心的觀看者的每只眼睛的虛擬相對位置處(依據(jù)瞳孔間距適當(dāng)?shù)胤珠_并按照視圖跟蹤顯示器40提供的方向和位置跟蹤數(shù)據(jù)放置)將放置一個(gè)虛擬相機(jī)。然后對應(yīng)每個(gè)眼睛的虛擬相機(jī)對視圖跟蹤顯示器的合適部分進(jìn)行顯示,以向觀看者的眼睛投影一個(gè)圖像。播放器完成所有幀的顯示后,則可以關(guān)閉所述文件或流(如圖23中的步驟184所示)。當(dāng)采用色板圖像時(shí),渲染過程中用戶設(shè)備36可以被配置為由色板圖像確定將多種可能顏色中的哪一種應(yīng)用于再生點(diǎn)云中的一個(gè)點(diǎn)。用戶設(shè)備36被配置為確定(i)從視點(diǎn)位置到當(dāng)前渲染的點(diǎn)的一條路徑與(ii)從點(diǎn)云的中心到當(dāng)前渲染的點(diǎn)的一條路徑之間的差異。所述差異的特征沒有特別的限制;例如,可以確定視點(diǎn)和點(diǎn)云中心之間的距離,或者可以確定路徑之間的角度?;谒霾町悾梢源_定與色板圖像中心的距離,并選擇該距離處的顏色用以渲染所述點(diǎn)。在一些實(shí)施例中,可以采用一種優(yōu)化的渲染過程。其中,流程825中僅將每個(gè)二維幀中的一部分轉(zhuǎn)換為再生點(diǎn)云。例如,用戶設(shè)備36可以基于從視圖跟蹤顯示器40接收的先前已知的觀看者的位置和方向,確定下一幀中觀看者移動(dòng)的最大預(yù)測范圍(例如,用戶的移動(dòng)不可能大于最大預(yù)測的距離)。然后,用戶設(shè)備36可以從下一幀中選擇一部分用于點(diǎn)云的再生。圖24所示為某一幀的一個(gè)實(shí)施例。在該實(shí)施例中,流程825中僅使用一個(gè)圖像子集2400、一個(gè)y-折疊子集2404和一個(gè)x-折疊子集2408(考慮到單個(gè)m-折疊像素可能具有不同位置,如果存在m-折疊,通常會(huì)使用所述m-折疊)。上文對某些特定的實(shí)施例進(jìn)行了討論,但所述實(shí)施例的變體、組合或子集對本領(lǐng)域技術(shù)人員而言是顯而易見的。例如,上文所述適用于靜止圖像和運(yùn)動(dòng)圖像。又例如,在一些實(shí)施例中,可以省略流程810和815以及流程820和825。也就是說,在一些實(shí)施例中,可以采集點(diǎn)云數(shù)據(jù)(例如,如圖9所示),并在不經(jīng)過上述投影和準(zhǔn)備過程的情況下,將采集的點(diǎn)云數(shù)據(jù)直接傳輸?shù)接脩粼O(shè)備36用于渲染。在進(jìn)一步的變體中,開發(fā)設(shè)備28可以至少執(zhí)行部分上述關(guān)于用戶設(shè)備36的功能。例如,用戶設(shè)備36可以通過網(wǎng)絡(luò)112將控制數(shù)據(jù)傳輸?shù)介_發(fā)設(shè)備28。例如,所述控制數(shù)據(jù)可以是由視圖跟蹤顯示器40確定的用于表示虛擬視點(diǎn)的位置和方向的位置數(shù)據(jù)。開發(fā)設(shè)備28可以被配置為響應(yīng)于接收所述控制數(shù)據(jù)的操作,生成基于接收到的控制數(shù)據(jù)的投影(流程810)。開發(fā)設(shè)備28可以基本上實(shí)時(shí)生成并發(fā)送所述投影至用戶設(shè)備36(如上所述,盡管折疊的使用是可以調(diào)節(jié)開發(fā)設(shè)備28接收控制數(shù)據(jù)和用戶設(shè)備36接收到相應(yīng)的投影之間的延遲—在最新控制數(shù)據(jù)的傳輸和對應(yīng)投影的接收之間的時(shí)間內(nèi),視圖跟蹤顯示器40的視點(diǎn)位置的變化可以通過折疊數(shù)據(jù)調(diào)節(jié))。在其他示例中,開發(fā)設(shè)備28可以在收到來自用戶設(shè)備36的位置數(shù)據(jù)后,從初始的配準(zhǔn)點(diǎn)云中生成最終渲染(用于在視圖跟蹤顯示器40上顯示)。換句話說,開發(fā)設(shè)備28可以執(zhí)行流程805和部分流程830,基于收到的位置數(shù)據(jù)僅將渲染后的視頻流發(fā)送到用戶設(shè)備36,而不是向用戶設(shè)備36發(fā)送可以用于重建點(diǎn)云和渲染多媒體的投影。在這些示例中,用戶設(shè)備36只需要顯示從開發(fā)設(shè)備28接收到的渲染后的幀,并不需要執(zhí)行流程825(根據(jù)開發(fā)設(shè)備28對渲染后的幀的壓縮,可能需要進(jìn)行一些解碼操作)。在其他一些示例中,開發(fā)設(shè)備28可以響應(yīng)于上述控制數(shù)據(jù),將點(diǎn)云數(shù)據(jù)直接發(fā)送到用戶設(shè)備36,而不是發(fā)送投影或渲染后的視頻幀。例如,開發(fā)設(shè)備28可以基于控制數(shù)據(jù),從點(diǎn)云數(shù)據(jù)中選擇一部分然后發(fā)送到用戶設(shè)備36。上述使用的術(shù)語"控制數(shù)據(jù)"不僅包括由視圖跟蹤顯示器40提供的與虛擬視點(diǎn)的位置和方向相關(guān)的位置數(shù)據(jù),而且還可以包括來自鍵盤或其他用戶設(shè)備36上的輸入設(shè)備(例如,游戲控制器)的命令形式的輸入數(shù)據(jù),或由用戶設(shè)備36檢測到的用戶手勢等等。在又一些示例中,用戶設(shè)備36可以在接收到上述控制信息之后,對多個(gè)多媒體數(shù)據(jù)文件或流(例如,描述彼此分開的采集范圍)進(jìn)行控制,所述控制信息也可以用于控制(例如,快進(jìn)、倒退等)一個(gè)給定文件或流(例如,描述一個(gè)單一的采集范圍)。當(dāng)前第1頁12當(dāng)前第1頁12