本發(fā)明的實(shí)例實(shí)施例一般地涉及沉浸式內(nèi)容的傳輸,并且更具體地說(shuō),涉及用于沉浸式內(nèi)容的帶寬高效的傳輸?shù)姆椒ê脱b置。
背景技術(shù):
一種類(lèi)型的沉浸式內(nèi)容包括全方向內(nèi)容。全方向內(nèi)容的捕獲通常涉及多個(gè)攝像機(jī)(使用常規(guī)或魚(yú)眼鏡頭),并且來(lái)自此類(lèi)攝像機(jī)的視圖允許生成全方向內(nèi)容。傳統(tǒng)上,當(dāng)與由單個(gè)攝像機(jī)生成的內(nèi)容的流化相比時(shí),使這種類(lèi)型的內(nèi)容流化需要大帶寬承諾。但是,對(duì)于許多用戶(hù)而言,奉獻(xiàn)此類(lèi)大量帶寬不切合實(shí)際,并且在許多情況下,甚至是不可能的。
技術(shù)實(shí)現(xiàn)要素:
oculus最佳實(shí)踐指南(可從http://static.oculus.com/sdk-downloads/documents/oculus_best_practices_guide.pdf處獲得)包括用于使用一個(gè)卓越平臺(tái)呈現(xiàn)沉浸式內(nèi)容的多個(gè)最佳實(shí)踐。該最佳實(shí)踐指南聲明“[t]hedisplayshouldrespondtohead-trackingandviewpointchangesatalltimes,withoutexception.evenwhenthegameispausedordisplayingacutscene,usersshouldbeabletolookaround.(顯示應(yīng)該始終響應(yīng)頭部跟蹤和視點(diǎn)變化,而沒(méi)有異常。即使當(dāng)游戲暫停或顯示劇情畫(huà)面時(shí),用戶(hù)也應(yīng)該能夠環(huán)視。)”此外,最佳實(shí)踐指南聲明“usersmustalwayshavethefreedomtolookaroundtheenvironment,whichcanaddnewrequirementstothedesignofyourcontent.(用戶(hù)必須始終有自由環(huán)視環(huán)境,這可以向你的內(nèi)容設(shè)計(jì)添加新要求。)”這些建議例示呈現(xiàn)提供頭部移動(dòng)自由的無(wú)縫查看體驗(yàn)的期望。與沉浸式內(nèi)容的傳統(tǒng)流化模式需要顯著帶寬承諾的事實(shí)結(jié)合,這些建議展示需要多個(gè)攝像機(jī)流,它們可由用戶(hù)以感覺(jué)不到延遲訪(fǎng)問(wèn)以便提供令人滿(mǎn)意的用戶(hù)體驗(yàn)。
相應(yīng)地,在此描述的實(shí)例實(shí)施例包括用于沉浸式內(nèi)容的帶寬高效的流化的方法、系統(tǒng)和裝置,所述方法、系統(tǒng)和裝置解決上述要求而不損害沉浸式用戶(hù)體驗(yàn)。為此,實(shí)例實(shí)施例利用多個(gè)緩沖區(qū),它們?cè)诓煌|(zhì)量級(jí)別存儲(chǔ)沉浸式內(nèi)容的不同部分。具體地說(shuō),實(shí)例實(shí)施例利用常規(guī)流化緩沖區(qū),它們?cè)诋?dāng)前視圖緩沖區(qū)(cvb)中累積完全消費(fèi)質(zhì)量?jī)?nèi)容。存儲(chǔ)在cvb中的內(nèi)容通常源自沉浸式內(nèi)容的對(duì)應(yīng)于用戶(hù)當(dāng)前視圖的攝像機(jī)視圖。但是同時(shí),此類(lèi)實(shí)施例針對(duì)與當(dāng)前視圖相鄰的一個(gè)或多個(gè)視圖利用預(yù)取緩沖區(qū)(pfb),并且這些pfb存儲(chǔ)中間或完全消費(fèi)質(zhì)量?jī)?nèi)容。最后,此類(lèi)實(shí)施例還可以針對(duì)快速頭部移動(dòng)利用自由視點(diǎn)緩沖區(qū)(fvb),并且這些緩沖區(qū)存儲(chǔ)低質(zhì)量全景內(nèi)容。
在第一實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的方法。所述方法包括:導(dǎo)致由沉浸式內(nèi)容捕獲模塊生成沉浸式內(nèi)容;從存儲(chǔ)器取回與當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)、以及自由視點(diǎn)緩沖區(qū)(fvb)相關(guān)的緩沖區(qū)信息;以及導(dǎo)致由流化服務(wù)器基于所取回的與所述cvb、所述一個(gè)或多個(gè)pfb以及所述fvb相關(guān)的緩沖區(qū)信息,將所述沉浸式內(nèi)容的多個(gè)部分傳輸?shù)匠两絻?nèi)容查看系統(tǒng)。
在某些實(shí)施例中,所述方法進(jìn)一步包括由沉浸式自適應(yīng)模塊從沉浸式內(nèi)容查看系統(tǒng)接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的信令消息;以及由沉浸式自適應(yīng)模塊基于所接收的信令消息更新與所述cvb、pfb或所述fvb相關(guān)的所述緩沖區(qū)信息。
在一個(gè)此類(lèi)實(shí)施例中,所述方法可以進(jìn)一步包括導(dǎo)致由所述流化服務(wù)器傳輸標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引(index)以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)所述可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述視場(chǎng)的所述信令消息,接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的所述一者或多者相關(guān)的所述信令消息。
在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且傳輸?shù)匠两絻?nèi)容查看系統(tǒng)的所述沉浸式內(nèi)容的所述多個(gè)部分可以進(jìn)一步基于所述內(nèi)容質(zhì)量級(jí)別。
在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息指示利用所述fvb,并且命令所述流化服務(wù)器暫停傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。并且在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息命令所述流化服務(wù)器繼續(xù)傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。
在第二實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的裝置。所述裝置包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器包括計(jì)算機(jī)程序代碼,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致生成沉浸式內(nèi)容;取回與當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)、以及自由視點(diǎn)緩沖區(qū)(fvb)相關(guān)的緩沖區(qū)信息;以及導(dǎo)致基于所取回的與所述cvb、所述一個(gè)或多個(gè)pfb和所述fvb相關(guān)的緩沖區(qū)信息,將所述沉浸式內(nèi)容的多個(gè)部分傳輸?shù)匠两絻?nèi)容查看系統(tǒng)。
在某些實(shí)施例中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:從沉浸式內(nèi)容查看系統(tǒng)取回與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的信令消息;以及由沉浸式自適應(yīng)模塊基于所接收的信令消息,更新與所述cvb、pfb或所述fvb相關(guān)的所述緩沖區(qū)信息。
在一個(gè)此類(lèi)實(shí)施例中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致由所述流化服務(wù)器傳輸標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)所述可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述視場(chǎng)的所述信令消息,接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的所述信令消息。
在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且傳輸?shù)匠两絻?nèi)容查看系統(tǒng)的所述沉浸式內(nèi)容的所述多個(gè)部分可以進(jìn)一步基于所述內(nèi)容質(zhì)量級(jí)別。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息指示利用所述fvb,并且命令所述流化服務(wù)器暫停傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。并且在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息命令所述流化服務(wù)器繼續(xù)傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。
在第三實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品包括至少一個(gè)非瞬時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述至少一個(gè)非瞬時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有存儲(chǔ)在其中的計(jì)算機(jī)可執(zhí)行程序代碼部分,所述計(jì)算機(jī)可執(zhí)行程序代碼部分包括程序代碼指令,所述程序代碼指令當(dāng)被執(zhí)行時(shí)導(dǎo)致裝置:導(dǎo)致生成沉浸式內(nèi)容;取回與當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)、以及自由視點(diǎn)緩沖區(qū)(fvb)相關(guān)的緩沖區(qū)信息;以及導(dǎo)致基于所取回的與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb相關(guān)的緩沖區(qū)信息,將所述沉浸式內(nèi)容的多個(gè)部分傳輸?shù)匠两絻?nèi)容查看系統(tǒng)。
在某些實(shí)施例中,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:從沉浸式內(nèi)容查看系統(tǒng)取回與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的信令消息;以及由沉浸式自適應(yīng)模塊基于所接收的信令消息,更新與所述cvb、pfb或所述fvb相關(guān)的所述緩沖區(qū)信息。
在一個(gè)此類(lèi)實(shí)施例中,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致由所述流化服務(wù)器傳輸標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)所述可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述視場(chǎng)的所述信令消息,接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的所述一者或多者相關(guān)的所述信令消息。
在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且傳輸?shù)匠两絻?nèi)容查看系統(tǒng)的所述沉浸式內(nèi)容的所述多個(gè)部分可以進(jìn)一步基于所述內(nèi)容質(zhì)量級(jí)別。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息指示利用所述fvb,并且命令所述流化服務(wù)器暫停傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。并且在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息命令所述流化服務(wù)器繼續(xù)傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。
在第四實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的裝置。所述裝置包括:用于導(dǎo)致生成沉浸式內(nèi)容的部件;用于取回與當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)、或自由視點(diǎn)緩沖區(qū)(fvb)相關(guān)的緩沖區(qū)信息的部件;以及用于導(dǎo)致基于所取回的與所述cvb、所述一個(gè)或多個(gè)pfb和所述fvb相關(guān)的緩沖區(qū)信息,將所述沉浸式內(nèi)容的多個(gè)部分傳輸?shù)匠两絻?nèi)容查看系統(tǒng)的部件。
在某些實(shí)施例中,所述裝置進(jìn)一步包括:用于從沉浸式內(nèi)容查看系統(tǒng)接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的信令消息的部件;以及用于基于所接收的信令消息,更新與所述cvb、pfb或所述fvb相關(guān)的所述緩沖區(qū)信息的部件。
在一個(gè)此類(lèi)實(shí)施例中,所述裝置可以進(jìn)一步包括:用于導(dǎo)致傳輸標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息的部件,其中響應(yīng)于傳輸標(biāo)識(shí)所述可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的所述視場(chǎng)的所述信令消息,接收與所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者或多者相關(guān)的所述信令消息。
在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息標(biāo)識(shí)與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且傳輸?shù)匠两絻?nèi)容查看系統(tǒng)的所述沉浸式內(nèi)容的所述多個(gè)部分可以進(jìn)一步基于所述內(nèi)容質(zhì)量級(jí)別。在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息指示利用所述fvb,并且命令所述流化服務(wù)器暫停傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。并且在另一個(gè)此類(lèi)實(shí)施例中,所述信令消息命令所述流化服務(wù)器繼續(xù)傳輸所述沉浸式內(nèi)容的對(duì)應(yīng)于所述cvb或所述一個(gè)或多個(gè)pfb的多個(gè)部分。
在第五實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的方法。所述方法包括:從沉浸式內(nèi)容提供系統(tǒng)接收沉浸式內(nèi)容的多個(gè)部分;將所接收的沉浸式內(nèi)容的多個(gè)部分存儲(chǔ)在當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)或自由視點(diǎn)緩沖區(qū)(fvb)中的一者或多者內(nèi);導(dǎo)致基于用戶(hù)頭部的方位,從所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者生成可顯示媒體;以及導(dǎo)致由沉浸式內(nèi)容消費(fèi)設(shè)備顯示所述可顯示媒體。
在某些實(shí)施例中,所述方法進(jìn)一步包括:從所述沉浸式內(nèi)容提供系統(tǒng)接收標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息;導(dǎo)致由頭部跟蹤模塊確定所述用戶(hù)頭部的方位;導(dǎo)致由沉浸式交互相關(guān)自適應(yīng)模塊基于所述用戶(hù)頭部的方位,確定與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引;以及導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息,發(fā)生從所述沉浸式內(nèi)容提供系統(tǒng)接收所述沉浸式內(nèi)容的所述多個(gè)部分。
在某些此類(lèi)實(shí)施例中,所述方法進(jìn)一步包括:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊基于所述用戶(hù)頭部的方位,確定與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引,其中標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息進(jìn)一步標(biāo)識(shí)與一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)與所述cvb和/或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引,或者進(jìn)一步標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且所接收的沉浸式內(nèi)容的多個(gè)部分可以基于所述內(nèi)容質(zhì)量級(jí)別。
在其它此類(lèi)實(shí)施例中,所述方法進(jìn)一步包括:從所述頭部跟蹤模塊接收指示所述用戶(hù)頭部的修正后方位的視圖更改信號(hào);以及導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊,其中,在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述視場(chǎng)對(duì)齊的情況下,導(dǎo)致生成所述可顯示媒體包括導(dǎo)致從所述cvb生成所述可顯示媒體。在這點(diǎn)上,在所述用戶(hù)頭部的所述修正后方位與和所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引關(guān)聯(lián)的視場(chǎng)未對(duì)齊的情況下,導(dǎo)致生成所述可顯示媒體可以包括:導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊;在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的情況下,導(dǎo)致從所述pfb之一生成所述可顯示媒體;以及在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)未對(duì)齊的情況下,導(dǎo)致從所述fvb生成所述可顯示媒體。
此外,響應(yīng)于導(dǎo)致從所述pfb之一生成所述可顯示媒體,所述方法可以進(jìn)一步包括:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸cvb更改信令消息,所述cvb更改信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)將所述cvb與從中生成所述可顯示媒體的所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引相關(guān)聯(lián)。
備選地,響應(yīng)于導(dǎo)致從所述fvb生成所述可顯示媒體,所述方法可以進(jìn)一步包括:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸暫停信令消息,所述暫停信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)暫停傳輸與所述cvb或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。
在第六實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的裝置。所述裝置包括至少一個(gè)處理器和至少一個(gè)存儲(chǔ)器,所述至少一個(gè)存儲(chǔ)器包括計(jì)算機(jī)程序代碼,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:從沉浸式內(nèi)容提供系統(tǒng)接收沉浸式內(nèi)容的多個(gè)部分;將所接收的沉浸式內(nèi)容的多個(gè)部分存儲(chǔ)在當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)或自由視點(diǎn)緩沖區(qū)(fvb)中的一者或多者內(nèi);導(dǎo)致基于用戶(hù)頭部的方位,從所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者生成可顯示媒體;以及導(dǎo)致向用戶(hù)顯示所述可顯示媒體。
在某些實(shí)施例中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:從所述沉浸式內(nèi)容提供系統(tǒng)接收標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息;導(dǎo)致確定所述用戶(hù)頭部的方位;導(dǎo)致基于所述用戶(hù)頭部的方位,確定與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引;以及導(dǎo)致傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息,發(fā)送從所述沉浸式內(nèi)容提供系統(tǒng)接收所述沉浸式內(nèi)容的所述多個(gè)部分。
在某些此類(lèi)實(shí)施例中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致基于所述用戶(hù)頭部的方位,確定與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引,其中標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息進(jìn)一步標(biāo)識(shí)與一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)與所述cvb和/或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引,或者進(jìn)一步標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且所接收的沉浸式內(nèi)容的多個(gè)部分可以基于所述內(nèi)容質(zhì)量級(jí)別。
在其它此類(lèi)實(shí)施例中,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:接收指示所述用戶(hù)頭部的修正后方位的視圖更改信號(hào);以及導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊,其中,在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述視場(chǎng)對(duì)齊的情況下,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致通過(guò)使得從所述cvb生成所述可顯示媒體,生成所述可顯示媒體。在這點(diǎn)上,在所述用戶(hù)頭部的所述修正后方位與和所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引關(guān)聯(lián)的視場(chǎng)未對(duì)齊的情況下,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致生成所述可顯示媒體,方式為:導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊;在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的情況下,導(dǎo)致從所述pfb之一生成所述可顯示媒體;以及在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)未對(duì)齊的情況下,導(dǎo)致從所述fvb生成所述可顯示媒體。
此外,響應(yīng)于導(dǎo)致從所述pfb之一生成所述可顯示媒體,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸cvb更改信令消息,所述cvb更改信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)將所述cvb與從中生成所述可顯示媒體的所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引相關(guān)聯(lián)。
備選地,響應(yīng)于導(dǎo)致從所述fvb生成所述可顯示媒體,所述至少一個(gè)存儲(chǔ)器和所述計(jì)算機(jī)程序代碼被進(jìn)一步配置為與所述至少一個(gè)處理器一起導(dǎo)致所述裝置:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸暫停信令消息,所述暫停信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)暫停傳輸與所述cvb或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。
在第七實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的計(jì)算機(jī)程序產(chǎn)品。所述計(jì)算機(jī)程序產(chǎn)品包括至少一個(gè)非瞬時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述至少一個(gè)非瞬時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有存儲(chǔ)在其中的計(jì)算機(jī)可執(zhí)行程序代碼部分,所述計(jì)算機(jī)可執(zhí)行程序代碼部分包括程序代碼指令,所述程序代碼指令當(dāng)被執(zhí)行時(shí)導(dǎo)致裝置:從沉浸式內(nèi)容提供系統(tǒng)接收沉浸式內(nèi)容的多個(gè)部分;將所接收的沉浸式內(nèi)容的多個(gè)部分存儲(chǔ)在當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)或自由視點(diǎn)緩沖區(qū)(fvb)中的一者或多者內(nèi);導(dǎo)致基于用戶(hù)頭部的方位,從所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者生成可顯示媒體;以及導(dǎo)致向用戶(hù)顯示所述可顯示媒體。
在某些實(shí)施例中,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:從所述沉浸式內(nèi)容提供系統(tǒng)接收標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息;導(dǎo)致確定所述用戶(hù)頭部的方位;導(dǎo)致基于所述用戶(hù)頭部的方位,確定與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引,以及導(dǎo)致傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的信令消息,其中響應(yīng)于傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息,發(fā)生從所述沉浸式內(nèi)容提供系統(tǒng)接收所述沉浸式內(nèi)容的多個(gè)部分。
在某些此類(lèi)實(shí)施例中,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致基于所述用戶(hù)頭部的方位,確定與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引,其中標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息進(jìn)一步標(biāo)識(shí)與一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)與所述cvb和/或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引,或者進(jìn)一步標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且所接收的沉浸式內(nèi)容的多個(gè)部分可以基于所述內(nèi)容質(zhì)量級(jí)別。
在其它此類(lèi)實(shí)施例中,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:接收指示所述用戶(hù)頭部的修正后方位的視圖更改信號(hào),以及導(dǎo)致判定所述用戶(hù)頭部的修正后方位是否與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊,其中,在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述視場(chǎng)對(duì)齊的情況下,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致通過(guò)使得從所述cvb生成所述可顯示媒體來(lái)生成所述可顯示媒體。在這點(diǎn)上,在所述用戶(hù)頭部的所述修正后方位與和所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引關(guān)聯(lián)的視場(chǎng)未對(duì)齊的情況下,所述程序代碼指令當(dāng)被執(zhí)行時(shí)進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致生成所述可顯示媒體,方式為:導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊;在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的情況下,導(dǎo)致從所述pfb之一生成所述可顯示媒體;以及在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)未對(duì)齊的情況下,導(dǎo)致從所述fvb生成所述可顯示媒體。
此外,響應(yīng)于導(dǎo)致從一個(gè)所述pfb生成所述可顯示媒體,所述程序代碼指令當(dāng)被執(zhí)行時(shí)可以進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸cvb更改信令消息,所述cvb更改信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)將所述cvb與從中生成所述可顯示媒體的所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引相關(guān)聯(lián)。
備選地,響應(yīng)于導(dǎo)致從所述fvb生成所述可顯示媒體,所述程序代碼指令當(dāng)被執(zhí)行時(shí)可以進(jìn)一步導(dǎo)致所述裝置:導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸暫停信令消息,所述暫停信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)暫停傳輸與所述cvb或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。
在第八實(shí)例實(shí)施例中,提供一種用于沉浸式內(nèi)容的帶寬高效的流化的裝置。所述裝置包括:用于從沉浸式內(nèi)容提供系統(tǒng)接收沉浸式內(nèi)容的多個(gè)部分的部件;用于將所接收的沉浸式內(nèi)容的多個(gè)部分存儲(chǔ)在當(dāng)前視圖緩沖區(qū)(cvb)、一個(gè)或多個(gè)預(yù)取緩沖區(qū)(pfb)或自由視點(diǎn)緩沖區(qū)(fvb)中的一者或多者內(nèi)的部件;用于導(dǎo)致基于用戶(hù)頭部的方位,從所述cvb、所述一個(gè)或多個(gè)pfb或所述fvb中的一者生成可顯示媒體的部件;以及用于導(dǎo)致向用戶(hù)顯示所述可顯示媒體的部件。
在某些實(shí)施例中,所述裝置進(jìn)一步包括:用于從所述沉浸式內(nèi)容提供系統(tǒng)接收標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)所述可用攝像機(jī)視圖的視場(chǎng)的信令消息的部件;用于導(dǎo)致確定所述用戶(hù)頭部的方位的部件;用于導(dǎo)致基于所述用戶(hù)頭部的方位,確定與所述cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引的部件;以及用于導(dǎo)致傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的信令消息的部件,其中響應(yīng)于傳輸標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息,發(fā)送從所述沉浸式內(nèi)容提供系統(tǒng)接收所述沉浸式內(nèi)容的所述多個(gè)部分。
在某些此類(lèi)實(shí)施例中,所述裝置進(jìn)一步包括:用于導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊基于所述用戶(hù)頭部的方位確定與所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引的部件,其中標(biāo)識(shí)與所述cvb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述信令消息進(jìn)一步標(biāo)識(shí)與一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引。在這點(diǎn)上,所述信令消息可以標(biāo)識(shí)與所述cvb和/或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引,或者進(jìn)一步標(biāo)識(shí)內(nèi)容質(zhì)量級(jí)別,并且所接收的沉浸式內(nèi)容的多個(gè)部分可以基于所述內(nèi)容質(zhì)量級(jí)別。
在其它此類(lèi)實(shí)施例中,所述裝置進(jìn)一步包括:用于接收指示所述用戶(hù)頭部的修正后方位的視圖更改信號(hào)的部件;以及用于導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的部件,其中,在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的所述視場(chǎng)對(duì)齊的情況下,用于導(dǎo)致生成所述可顯示媒體的部件包括用于導(dǎo)致從所述cvb生成所述可顯示媒體的部件。在這點(diǎn)上,在所述用戶(hù)頭部的所述修正后方位與和所述cvb所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引關(guān)聯(lián)的視場(chǎng)未對(duì)齊的情況下,用于導(dǎo)致生成所述可顯示媒體的部件可以包括:用于導(dǎo)致判定所述用戶(hù)頭部的所述修正后方位是否與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的部件;用于在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊的情況下,導(dǎo)致從所述pfb之一生成所述可顯示媒體的部件;以及用于在所述用戶(hù)頭部的所述修正后方位與對(duì)應(yīng)于所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)未對(duì)齊的情況下,導(dǎo)致從所述fvb生成所述可顯示媒體的部件。
此外,響應(yīng)于導(dǎo)致從所述pfb之一生成所述可顯示媒體,所述裝置可以進(jìn)一步包括:用于導(dǎo)致由所述沉浸式交互相關(guān)自適應(yīng)模塊傳輸cvb更改信令消息的部件,所述cvb更改信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)將所述cvb與從中生成所述可顯示媒體的所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引相關(guān)聯(lián)。
備選地,響應(yīng)于導(dǎo)致從所述fvb生成所述可顯示媒體,所述裝置可以進(jìn)一步包括:用于導(dǎo)致傳輸暫停信令消息的部件,所述暫停信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)暫停傳輸與所述cvb或所述一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。
提供以上概要僅為了總結(jié)某些實(shí)例實(shí)施例,以便基本理解本發(fā)明的某些方面。因此,應(yīng)該理解,上述實(shí)施例僅是實(shí)例,并且不應(yīng)該被解釋為以任何方式縮窄本發(fā)明的范圍或精神。應(yīng)該理解,本發(fā)明的范圍除了在此總結(jié)的這些實(shí)施例之外,還包含許多潛在實(shí)施例,下面將進(jìn)一步描述其中某些潛在實(shí)施例。
附圖說(shuō)明
上面已總體描述了本公開(kāi)的某些實(shí)例實(shí)施例,現(xiàn)在將參考附圖,這些附圖不一定按比例繪制,其中:
圖1示出可根據(jù)本發(fā)明的實(shí)例實(shí)施例具體配置的裝置的框圖;
圖2a是示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的包括一系列(多個(gè))攝像機(jī)的沉浸式內(nèi)容捕獲設(shè)備的圖;
圖2b示出佩戴根據(jù)本發(fā)明的實(shí)例實(shí)施例的被配置為接收流化沉浸式內(nèi)容的沉浸式內(nèi)容消費(fèi)設(shè)備(例如,虛擬現(xiàn)實(shí)(vr)頭戴設(shè)備)的用戶(hù);
圖3示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的實(shí)現(xiàn)沉浸式內(nèi)容的帶寬高效的消費(fèi)的端到端系統(tǒng);
圖4a示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的關(guān)于cvb的信息;
圖4b示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的關(guān)于pfb的信息;
圖4c示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的關(guān)于vvb的信息;
圖5a-5e示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的在沉浸式內(nèi)容提供系統(tǒng)與沉浸式內(nèi)容查看系統(tǒng)之間執(zhí)行的信令;
圖6a和6b示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的描述由沉浸式內(nèi)容提供系統(tǒng)執(zhí)行的實(shí)例操作的流程圖;以及
圖7和8示出根據(jù)本發(fā)明的實(shí)例實(shí)施例的描述由沉浸式內(nèi)容查看系統(tǒng)執(zhí)行的實(shí)例操作的流程圖。
具體實(shí)施方式
現(xiàn)在,在下面將參考附圖更全面地描述本發(fā)明的某些實(shí)施例,在附圖中示出本發(fā)明的某些而并非所有實(shí)施例。實(shí)際上,這些發(fā)明可以以許多不同形式體現(xiàn),并且不應(yīng)被解釋為限于在此給出的實(shí)施例;相反,提供這些實(shí)施例以使得本公開(kāi)將滿(mǎn)足適用的法律要求。在所有附圖中,相同的編號(hào)指相同的元素。如在此使用的,術(shù)語(yǔ)“數(shù)據(jù)”、“內(nèi)容”、“信息”和類(lèi)似的術(shù)語(yǔ)可以互換使用,以便指根據(jù)本發(fā)明的實(shí)施例能夠被發(fā)送、接收和/或存儲(chǔ)的數(shù)據(jù)。因此,任何此類(lèi)術(shù)語(yǔ)的使用不應(yīng)被視為限制本發(fā)明的實(shí)施例的精神和范圍。
此外,如在此使用的,術(shù)語(yǔ)“電路”指(a)僅硬件電路實(shí)現(xiàn)(例如,模擬電路和/或數(shù)字電路的實(shí)現(xiàn));(b)電路和計(jì)算機(jī)程序產(chǎn)品(多個(gè))的組合,計(jì)算機(jī)程序產(chǎn)品包括存儲(chǔ)在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲(chǔ)器上的軟件和/或固件指令,它們共同工作以便導(dǎo)致裝置執(zhí)行在此描述的一個(gè)或多個(gè)功能;以及(c)電路,例如微處理器(多個(gè))或微處理器(多個(gè))的一部分,它們需要軟件或固件以便操作,即使軟件或固件未物理地存在。該“電路”定義適用于在此(包括在任何權(quán)利要求中)對(duì)該術(shù)語(yǔ)的所有使用。作為進(jìn)一步的實(shí)例,如在此使用的,術(shù)語(yǔ)“電路”還包括一種實(shí)現(xiàn),其包括一個(gè)或多個(gè)處理器和/或其部分(多個(gè))以及附帶軟件和/或固件。作為另一個(gè)實(shí)例,如在此使用的,術(shù)語(yǔ)“電路”還包括例如用于移動(dòng)電話(huà)的基帶集成電路或應(yīng)用處理器集成電路,或者服務(wù)器、蜂窩網(wǎng)絡(luò)設(shè)備、其它網(wǎng)絡(luò)設(shè)備和/或其它計(jì)算設(shè)備中的類(lèi)似集成電路。
如在此定義的,指非瞬時(shí)性物理存儲(chǔ)介質(zhì)(例如,易失性或非易失性存儲(chǔ)設(shè)備)的“計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)”可以不同于指電磁信號(hào)的“計(jì)算機(jī)可讀傳輸介質(zhì)”。
在此描述的實(shí)施例展示被設(shè)計(jì)為提供沉浸式內(nèi)容的帶寬高效的流化的實(shí)例方法、裝置和計(jì)算機(jī)程序產(chǎn)品。在此描述的方法可以由沉浸式內(nèi)容提供系統(tǒng)和沉浸式內(nèi)容查看系統(tǒng)中的一者或多者執(zhí)行(并且所述裝置和計(jì)算機(jī)程序產(chǎn)品可以由它們中的一者或多者體現(xiàn))。沉浸式內(nèi)容提供系統(tǒng)在某些情況下可以由各種沉浸式內(nèi)容捕獲設(shè)備(例如nokia的ozo存在捕獲設(shè)備,或者被配置為使用多個(gè)攝像機(jī)捕獲內(nèi)容的任何其它設(shè)備)中的任何一者體現(xiàn)(或者與它們中的任何一者通信),然而沉浸式內(nèi)容提供系統(tǒng)還可以由這樣的裝置體現(xiàn):其本身不提供沉浸式內(nèi)容捕獲能力,而是可以存儲(chǔ)先前使用單獨(dú)沉浸式內(nèi)容捕獲設(shè)備捕獲的沉浸式內(nèi)容。轉(zhuǎn)而,沉浸式內(nèi)容查看系統(tǒng)可以由沉浸式內(nèi)容消費(fèi)設(shè)備體現(xiàn)(或者與其通信),沉浸式內(nèi)容消費(fèi)設(shè)備包括能夠呈現(xiàn)沉浸式內(nèi)容的設(shè)備,例如頭戴式顯示器(例如,oculusrifttm等)。沉浸式內(nèi)容提供系統(tǒng)和沉浸式內(nèi)容查看系統(tǒng)被配置為經(jīng)由網(wǎng)絡(luò)(例如,局域網(wǎng)(lan)、廣域網(wǎng)(wan),例如因特網(wǎng)等)相互通信。
為了實(shí)現(xiàn)沉浸式內(nèi)容的帶寬高效的流化(其解決在oculus最佳實(shí)踐指南中描述的上面要求而不損害沉浸式用戶(hù)體驗(yàn)),實(shí)例實(shí)施例利用多個(gè)緩沖區(qū),它們?cè)诓煌|(zhì)量級(jí)別存儲(chǔ)沉浸式內(nèi)容的不同部分。
具體地說(shuō),實(shí)例實(shí)施例利用在cvb中累積完全消費(fèi)質(zhì)量?jī)?nèi)容的常規(guī)流化緩沖區(qū)。利用cvb的內(nèi)容通常是對(duì)應(yīng)于用戶(hù)當(dāng)前視場(chǎng)的沉浸式內(nèi)容的攝像機(jī)視圖(多個(gè))。但是同時(shí),此類(lèi)實(shí)施例針對(duì)與當(dāng)前視圖相鄰的一個(gè)或多個(gè)視圖利用pfb,并且這些pfb存儲(chǔ)那些相鄰視圖的中間或完全消費(fèi)質(zhì)量?jī)?nèi)容。最后,此類(lèi)實(shí)施例還可以針對(duì)快速頭部移動(dòng)利用fvb,并且這些緩沖區(qū)存儲(chǔ)低質(zhì)量全景內(nèi)容。
在此類(lèi)實(shí)例中,基于查看者的頭部位置(和移動(dòng))選擇預(yù)取攝像機(jī)索引。取決于沉浸式內(nèi)容消費(fèi)設(shè)備的可用帶寬和存儲(chǔ)可用性,能夠確定和/或調(diào)整預(yù)取的相鄰攝像機(jī)索引的數(shù)量。如果用戶(hù)移動(dòng)其頭部以使得用戶(hù)視場(chǎng)不再包含在與cvb關(guān)聯(lián)的第一攝像機(jī)視圖子集中,則消費(fèi)設(shè)備上的呈現(xiàn)切換到由對(duì)應(yīng)于用戶(hù)的已更改視場(chǎng)的pvb提供的視圖(例如,從第一攝像機(jī)視圖子集到包含用戶(hù)全部視場(chǎng)的第二攝像機(jī)視圖子集)。
隨后,如果用戶(hù)的頭部移動(dòng)停留在第二攝像機(jī)視圖子集的視場(chǎng)(fov)限制內(nèi),則消費(fèi)設(shè)備可以用信號(hào)將pfb-to-cvb消息傳送到沉浸式內(nèi)容提供系統(tǒng),以便前瞻性地利用cvb緩沖來(lái)自第二攝像機(jī)視圖子集的數(shù)據(jù)。隨后,cvb緩沖來(lái)自與第二攝像機(jī)視圖子集關(guān)聯(lián)的一組攝像機(jī)的內(nèi)容。
備選地,如果用戶(hù)將其頭部高速移動(dòng)到在與cvb或pfb關(guān)聯(lián)的攝像機(jī)視圖外部的視點(diǎn),則沉浸式內(nèi)容消費(fèi)設(shè)備將呈現(xiàn)來(lái)自fvb的內(nèi)容。此時(shí),沉浸式內(nèi)容查看系統(tǒng)可以傳輸用于使cvb和pfb暫停的信號(hào);因此,來(lái)自fvb的內(nèi)容被流化直至用戶(hù)的頭部移動(dòng)停止(或者變得慢于預(yù)定閾值),此時(shí)沉浸式內(nèi)容查看系統(tǒng)發(fā)送信號(hào),該信號(hào)指示cvb應(yīng)前瞻性地緩沖來(lái)自與新攝像機(jī)視圖子集關(guān)聯(lián)的一組攝像機(jī)的數(shù)據(jù)。該信號(hào)可以包括對(duì)應(yīng)于該新攝像機(jī)視圖子集的攝像機(jī)索引的標(biāo)識(shí)。然后可以推導(dǎo)對(duì)應(yīng)pfb。在某些實(shí)施例中,該推導(dǎo)可以由沉浸式內(nèi)容提供系統(tǒng)執(zhí)行,而在其它實(shí)施例中,該推導(dǎo)可以由沉浸式內(nèi)容查看系統(tǒng)執(zhí)行。在任一類(lèi)型的實(shí)施例中,除了標(biāo)識(shí)對(duì)應(yīng)于新攝像機(jī)視圖子集的攝像機(jī)索引的信號(hào)之外,該推導(dǎo)還可以基于新攝像機(jī)視圖子集、基于所標(biāo)識(shí)的攝像機(jī)索引、或者基于定義能夠由沉浸式內(nèi)容查看系統(tǒng)傳輸?shù)倪@些相鄰視圖的參數(shù)。
現(xiàn)在參考圖1,框圖示出可以體現(xiàn)沉浸式內(nèi)容提供系統(tǒng)或沉浸式內(nèi)容查看系統(tǒng)的實(shí)例裝置100。裝置100可以包括處理器102、存儲(chǔ)器104和通信接口106,或者以其它方式與它們通信。當(dāng)體現(xiàn)沉浸式內(nèi)容查看系統(tǒng)時(shí),裝置100進(jìn)一步包括沉浸式內(nèi)容消費(fèi)模塊108(或者與其通信)。當(dāng)體現(xiàn)沉浸式內(nèi)容提供系統(tǒng)時(shí),裝置100進(jìn)一步包括沉浸式內(nèi)容提供模塊110(或者與其通信),并且在某些實(shí)施例中可以進(jìn)一步包括沉浸式內(nèi)容捕獲模塊112(或者與其通信)。裝置100可以由諸如計(jì)算機(jī)終端之類(lèi)的計(jì)算設(shè)備體現(xiàn)。但是,在某些實(shí)施例中,所述裝置可以被體現(xiàn)為芯片或芯片組。換言之,裝置100可以包括結(jié)構(gòu)組裝件(例如,基板)上的一個(gè)或多個(gè)物理封裝(例如,芯片),它們包括材料、組件和/或?qū)Ь€(xiàn)。結(jié)構(gòu)組裝件可以針對(duì)包括在其上的組件電路提供物理強(qiáng)度、空間節(jié)省和/或電相互作用限制。裝置100因此在某些情況下可以被配置為在單個(gè)芯片上或者作為單個(gè)“片上系統(tǒng)”實(shí)現(xiàn)本發(fā)明的各個(gè)方面。因此,在某些情況下,芯片或芯片組可以構(gòu)成用于執(zhí)行一個(gè)或多個(gè)操作以便提供在此描述的功能的部件。
處理器102可以以多種不同方式來(lái)體現(xiàn)。例如,處理器102可以被體現(xiàn)為以下項(xiàng)中的一者或多者:各種硬件處理部件,例如協(xié)處理器、微處理器、控制器、數(shù)字信號(hào)處理器(dsp)、具有或沒(méi)有隨附dsp的處理元件;或者各種其它處理電路,包括集成電路,例如asic(專(zhuān)用集成電路)、fpga(現(xiàn)場(chǎng)可編程門(mén)陣列)、微控制器單元(mcu)、硬件加速器、專(zhuān)用計(jì)算機(jī)芯片等。因此,在某些實(shí)施例中,處理器102可以包括被配置為獨(dú)立執(zhí)行的一個(gè)或多個(gè)處理核心。多核處理器可以在單個(gè)物理封裝中實(shí)現(xiàn)多處理。此外或備選地,處理器102可以包括一個(gè)或多個(gè)處理器,它們經(jīng)由總線(xiàn)串聯(lián)配置以便實(shí)現(xiàn)指令、流水線(xiàn)和/或多線(xiàn)程的獨(dú)立執(zhí)行。
在實(shí)例實(shí)施例中,處理器102可以被配置為執(zhí)行指令,這些指令存儲(chǔ)在存儲(chǔ)器104中或者以其它方式可由處理器102訪(fǎng)問(wèn)。備選地或此外,處理器102可以被配置為執(zhí)行硬編碼功能。因此,無(wú)論通過(guò)硬件或軟件方法配置,還是通過(guò)它們的組合來(lái)配置,處理器102都可以表示實(shí)體(例如,物理地體現(xiàn)在電路中),當(dāng)相應(yīng)地被配置時(shí),該實(shí)體能夠執(zhí)行根據(jù)本發(fā)明的實(shí)施例的操作。因此,例如,當(dāng)處理器102被體現(xiàn)為asic、fpga等時(shí),處理器102可以是用于執(zhí)行在此描述的操作的專(zhuān)門(mén)配置的硬件。備選地,作為另一個(gè)實(shí)例,當(dāng)處理器102被體現(xiàn)為軟件指令執(zhí)行器時(shí),指令可以專(zhuān)門(mén)配置處理器102以便當(dāng)執(zhí)行指令時(shí),執(zhí)行在此描述的算法和/或操作。但是,在某些情況下,處理器102可以是特定設(shè)備(例如,端點(diǎn)設(shè)備或網(wǎng)關(guān)設(shè)備)的處理器,該設(shè)備被配置為通過(guò)由指令進(jìn)一步配置處理器而采用本發(fā)明的實(shí)施例以便執(zhí)行在此描述的算法和/或操作。此外,處理器102(除其他項(xiàng)外)可以包括被配置為支持處理器102的操作的時(shí)鐘、算術(shù)邏輯單元(alu)和邏輯門(mén)。
在某些實(shí)施例中,處理器102(和/或協(xié)處理器或者幫助處理器或以其它方式與處理器關(guān)聯(lián)的任何其它處理電路)可以經(jīng)由總線(xiàn)與存儲(chǔ)器104通信以便在裝置的組件之間傳遞信息。存儲(chǔ)器104可以是非瞬時(shí)性的,并且例如可以包括一個(gè)或多個(gè)易失性和/或非易失性存儲(chǔ)器。換言之,例如,存儲(chǔ)器104可以是電子存儲(chǔ)設(shè)備(例如,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)),其包括被配置為存儲(chǔ)可由機(jī)器(例如,處理器等計(jì)算設(shè)備)取回的數(shù)據(jù)(例如,位)的門(mén)。存儲(chǔ)器104可以被配置為存儲(chǔ)信息、數(shù)據(jù)、內(nèi)容、應(yīng)用、指令等,以便使所述裝置能夠執(zhí)行根據(jù)本發(fā)明的實(shí)例實(shí)施例的各種功能。例如,存儲(chǔ)器104可以被配置為緩沖輸入數(shù)據(jù)以便由處理器102處理。此外或備選地,存儲(chǔ)器104可以被配置為存儲(chǔ)指令以便由處理器102執(zhí)行。
同時(shí),通信接口106可以是任何被配置為從一個(gè)或多個(gè)網(wǎng)絡(luò)接收數(shù)據(jù)和向一個(gè)或多個(gè)網(wǎng)絡(luò)發(fā)送數(shù)據(jù)的部件,例如包含在硬件或硬件和軟件組合中的設(shè)備或電路。在這點(diǎn)上,通信接口106例如可以包括天線(xiàn)(或多個(gè)天線(xiàn))和支持硬件和/或軟件,以便實(shí)現(xiàn)與多個(gè)無(wú)線(xiàn)通信網(wǎng)絡(luò)通信。此外或備選地,通信接口106可以包括用于與天線(xiàn)(多個(gè))相互作用的電路,以便導(dǎo)致經(jīng)由天線(xiàn)(多個(gè))傳輸信號(hào)或者處理經(jīng)由天線(xiàn)(多個(gè))接收的信號(hào)接收。在某些環(huán)境中,通信接口106可以額外支持有線(xiàn)通信。因此,例如,通信接口106可以包括通信調(diào)制解調(diào)器和/或其它硬件/軟件,以便支持經(jīng)由電纜、數(shù)字用戶(hù)線(xiàn)路(dsl)、通用串行總線(xiàn)(usb)或其它機(jī)構(gòu)的通信。應(yīng)該理解,在各種實(shí)施例中,通信接口106可以包括一種或多種基于鄰近的通信技術(shù),它們使裝置100能夠直接與另一個(gè)設(shè)備通信(例如,當(dāng)裝置100包含沉浸式內(nèi)容提供系統(tǒng)時(shí),另一個(gè)設(shè)備可以包括沉浸式內(nèi)容查看系統(tǒng)的元件,并且當(dāng)裝置100包含沉浸式內(nèi)容查看系統(tǒng)時(shí),另一個(gè)設(shè)備可以包括沉浸式內(nèi)容提供系統(tǒng)的元件)。
在其中裝置100包括沉浸式內(nèi)容查看系統(tǒng)的實(shí)施例中,可以提供沉浸式內(nèi)容消費(fèi)模塊(例如,用戶(hù)接口)108。沉浸式內(nèi)容消費(fèi)模塊108轉(zhuǎn)而可以與處理器102通信以便向用戶(hù)提供輸出。在這點(diǎn)上,沉浸式內(nèi)容消費(fèi)模塊108可以包括頭戴式設(shè)備(例如,oculusrifttm等),其包括被配置為呈現(xiàn)沉浸式內(nèi)容以便由用戶(hù)查看的一個(gè)或多個(gè)顯示器。在某些實(shí)施例中,沉浸式內(nèi)容消費(fèi)模塊108可以進(jìn)一步提供用戶(hù)跟蹤功能,例如指示用戶(hù)頭部移動(dòng)的頭部跟蹤功能。此外,沉浸式內(nèi)容消費(fèi)模塊108可以進(jìn)一步包括使能用戶(hù)反饋的元件,例如觸摸區(qū)域、麥克風(fēng)、揚(yáng)聲器或其它輸入/輸出機(jī)構(gòu)。備選地或此外,處理器102可以包括沉浸式內(nèi)容接口電路,其被配置為控制沉浸式內(nèi)容消費(fèi)模塊108的一個(gè)或多個(gè)元件(例如一個(gè)或多個(gè)顯示器,并且在某些實(shí)施例中包括揚(yáng)聲器、振鈴器、麥克風(fēng)等)的至少某些功能。處理器102和/或包括處理器102的沉浸式內(nèi)容接口電路可以被配置為通過(guò)存儲(chǔ)在可由處理器102訪(fǎng)問(wèn)的存儲(chǔ)器(例如,存儲(chǔ)器104等)上的計(jì)算機(jī)程序指令(例如,軟件和/或固件),控制沉浸式內(nèi)容消費(fèi)模塊108的一個(gè)或多個(gè)元件的一個(gè)或多個(gè)功能。
在其中裝置100包括沉浸式內(nèi)容提供系統(tǒng)的實(shí)施例中,可以提供沉浸式內(nèi)容提供模塊110。沉浸式內(nèi)容提供模塊110轉(zhuǎn)而可以從存儲(chǔ)器(例如,存儲(chǔ)器104)或者從沉浸式內(nèi)容捕獲模塊(其在某些實(shí)施例中可以是裝置100的元件,或者其可以備選地是單獨(dú)設(shè)備的元件)取回?cái)?shù)據(jù),并且可以進(jìn)一步利用通信接口106將沉浸式內(nèi)容從裝置100傳輸?shù)搅硪粋€(gè)設(shè)備。在這點(diǎn)上,沉浸式內(nèi)容提供模塊110可以是任何被配置為接收和傳送沉浸式內(nèi)容的部件,例如包含在硬件或硬件和軟件組合中的設(shè)備或電路。在這點(diǎn)上,在某些實(shí)施例中,處理器102可以包括沉浸式內(nèi)容提供電路,其被配置為控制沉浸式內(nèi)容提供模塊110的一個(gè)或多個(gè)元件的至少某些功能。處理器102和/或包括處理器102的沉浸式內(nèi)容接口電路可以被配置為通過(guò)存儲(chǔ)在可由處理器102訪(fǎng)問(wèn)的存儲(chǔ)器(例如,存儲(chǔ)器104等)上的計(jì)算機(jī)程序指令(例如,軟件和/或固件),控制沉浸式內(nèi)容提供模塊110的一個(gè)或多個(gè)元件的一個(gè)或多個(gè)功能。
在其中裝置100包括沉浸式內(nèi)容提供系統(tǒng)的某些實(shí)施例中,裝置100還可以包括沉浸式內(nèi)容捕獲模塊112。沉浸式內(nèi)容捕獲模塊112可以包括用于捕獲多個(gè)同步圖像或視頻或者以其它方式生成多方向內(nèi)容的部件,并且在某些實(shí)施例中,還可以包括用于捕獲對(duì)應(yīng)音頻的部件。用于生成多方向內(nèi)容的部件可以包括多個(gè)攝像機(jī)。在此類(lèi)實(shí)施例中,每個(gè)攝像機(jī)可以包括從捕獲的圖像創(chuàng)建數(shù)字圖像文件必需的所有硬件(例如,鏡頭或其它光學(xué)組件(多個(gè))、圖像傳感器、圖像信號(hào)處理器等)和軟件。備選地,多個(gè)攝像機(jī)中的數(shù)個(gè)可以利用某個(gè)通用硬件執(zhí)行這些功能。在某些實(shí)施例中,用于生成多方向內(nèi)容的部件可以包括用于生成虛擬攝像機(jī)視圖的部件(例如,當(dāng)表示游戲內(nèi)虛擬環(huán)境時(shí),可以通過(guò)執(zhí)行軟件(例如,存儲(chǔ)在存儲(chǔ)器104中)的處理器(例如,處理器102等)生成虛擬視圖,而不是通過(guò)使用一系列攝像機(jī)捕獲這些視圖來(lái)生成),在這種情況下術(shù)語(yǔ)“攝像機(jī)視圖”可以簡(jiǎn)單地指特定虛擬視圖。不管如何捕獲沉浸式內(nèi)容(例如,經(jīng)由攝像機(jī)捕獲或計(jì)算機(jī)生成),所捕獲的沉浸式內(nèi)容隨后都可以通過(guò)本地或遠(yuǎn)程存儲(chǔ)器(例如,存儲(chǔ)器104等)存儲(chǔ)或傳輸。
如前所述,本發(fā)明的實(shí)施例包括用于提供沉浸式內(nèi)容的帶寬高效的流化的各種部件。下面,提供關(guān)于由沉浸式內(nèi)容提供系統(tǒng)和沉浸式內(nèi)容查看系統(tǒng)用于優(yōu)化帶寬消耗的進(jìn)一步討論。
用于沉浸式內(nèi)容的帶寬高效的消費(fèi)的系統(tǒng)
當(dāng)前,通過(guò)本地重放消費(fèi)沉浸式內(nèi)容。為此,可以提供傳輸沉浸式內(nèi)容(例如,從多個(gè)不同攝像機(jī)捕獲的內(nèi)容)的沉浸式內(nèi)容提供系統(tǒng)。在圖2a中示出的所提供的實(shí)例中,沉浸式內(nèi)容捕獲模塊可以利用一系列攝像機(jī)(例如,八個(gè)攝像機(jī)(標(biāo)記為1至8),如圖2a中所示)。在任何給定時(shí)間點(diǎn),使用沉浸式內(nèi)容查看系統(tǒng)向用戶(hù)呈現(xiàn)來(lái)自攝像機(jī)子集(例如,攝像機(jī)1和2)的內(nèi)容。應(yīng)該理解,從中獲得內(nèi)容的特定攝像機(jī)子集取決于用戶(hù)頭部的位置。如果用戶(hù)頭部移動(dòng)(如在頭部跟蹤技術(shù)的幫助下檢測(cè)的那樣,頭部跟蹤技術(shù)可以是沉浸式內(nèi)容查看系統(tǒng)的一部分或者對(duì)于沉浸式內(nèi)容查看系統(tǒng)而言是附加的),則向用戶(hù)呈現(xiàn)的內(nèi)容被更改并且從不同攝像機(jī)子集(例如,包括攝像機(jī)2和3的相鄰攝像機(jī)子集)獲得向用戶(hù)呈現(xiàn)的內(nèi)容。作為實(shí)例提供圖2a中示出的攝像機(jī)數(shù)量及其拓?fù)?,并且可以使用不同形狀系?shù)和/或數(shù)量的攝像機(jī)來(lái)應(yīng)用相同過(guò)程。在這點(diǎn)上,在此處構(gòu)想的數(shù)個(gè)實(shí)施例中,構(gòu)想全方向內(nèi)容。例如,如果給出一組(n個(gè))攝像機(jī),則n個(gè)攝像機(jī)不需要在單個(gè)平面上以圓形方式布置,而是可以在3d空間中在k個(gè)平面之間分布,例如采取球形布置或其它3d多平面布置。
現(xiàn)在轉(zhuǎn)到圖3,提供實(shí)現(xiàn)沉浸式內(nèi)容的帶寬高效的消費(fèi)的實(shí)例端到端系統(tǒng)300的概覽圖。端到端系統(tǒng)300包括沉浸式內(nèi)容提供系統(tǒng)302和沉浸式內(nèi)容查看系統(tǒng)304,如前所述。沉浸式內(nèi)容提供系統(tǒng)302接收與要被流化到沉浸式內(nèi)容查看系統(tǒng)304的內(nèi)容相關(guān)的信息。沉浸式內(nèi)容查看系統(tǒng)304包括消費(fèi)設(shè)備306或者位于消費(fèi)設(shè)備306上。利用多個(gè)緩沖區(qū)在不同質(zhì)量級(jí)別容納沉浸式內(nèi)容的不同部分,端到端系統(tǒng)300促進(jìn)沉浸式內(nèi)容的自由視點(diǎn)探索而不會(huì)在查看體驗(yàn)中產(chǎn)生任何中斷。更具體地說(shuō),該結(jié)果通過(guò)沉浸式內(nèi)容查看系統(tǒng)304獲得,沉浸式內(nèi)容查看系統(tǒng)304對(duì)用戶(hù)移動(dòng)做出反應(yīng),從而將適當(dāng)?shù)男帕顓?shù)傳輸?shù)搅骰?wù)器308并且與緩沖區(qū)管理模塊310一起利用這些信令參數(shù)。
可選地,沉浸式內(nèi)容提供系統(tǒng)302可以包括沉浸式內(nèi)容捕獲設(shè)備312a,其捕獲隨后被傳輸?shù)匠两絻?nèi)容查看系統(tǒng)304的可視內(nèi)容。但是,在其它實(shí)施例中,沉浸式內(nèi)容捕獲設(shè)備312b不需要位于沉浸式內(nèi)容提供系統(tǒng)302中,而是沉浸式內(nèi)容提供系統(tǒng)302可以存儲(chǔ)原始數(shù)據(jù)(例如,vr媒體流),這些原始數(shù)據(jù)先前已由單獨(dú)設(shè)備捕獲并且被傳輸?shù)匠两絻?nèi)容提供系統(tǒng)302以便存儲(chǔ)。在更進(jìn)一步的實(shí)施例中,原始數(shù)據(jù)可以由單獨(dú)存儲(chǔ)系統(tǒng)(例如,大容量存儲(chǔ)器等,其可以是本地或遠(yuǎn)程的)存儲(chǔ),并且當(dāng)需要時(shí)可以由沉浸式內(nèi)容提供系統(tǒng)302取回。但是,在這些實(shí)施例的任何一個(gè)中,在沉浸式內(nèi)容提供系統(tǒng)302獲得原始數(shù)據(jù)之后,它然后可以將原始數(shù)據(jù)傳輸(例如,流化)到沉浸式內(nèi)容查看系統(tǒng)304。如在314a和314b所示,關(guān)于多個(gè)攝像機(jī)視圖中的每一個(gè)的原始數(shù)據(jù)可以分別從沉浸式內(nèi)容捕獲模塊312a或312b被發(fā)送到流化服務(wù)器308,流化服務(wù)器308也是沉浸式內(nèi)容提供系統(tǒng)302的元件。在某些實(shí)施例中,沉浸式內(nèi)容捕獲模塊和流化服務(wù)器308是單個(gè)設(shè)備的部分,然而在其它實(shí)施例中,它們是僅相互通信的單獨(dú)設(shè)備。流化服務(wù)器308可以包括兩個(gè)模塊。第一模塊是沉浸自適應(yīng)模塊316,其從沉浸式內(nèi)容消費(fèi)設(shè)備306接收信息。該接收的信息例如包括關(guān)于對(duì)多個(gè)攝像機(jī)視圖中的一個(gè)或多個(gè)與cvb和pfb之間的對(duì)應(yīng)性的更新的信令消息,或者用于基于對(duì)fvb的利用,暫停或重新啟動(dòng)對(duì)應(yīng)于cvb和pfb的沉浸式內(nèi)容的傳輸?shù)男帕钕?。所有這些信令消息可以由沉浸自適應(yīng)模塊316存儲(chǔ)在存儲(chǔ)器(例如,存儲(chǔ)器104)中。流化服務(wù)器308中的第二模塊是內(nèi)容自適應(yīng)模塊318,如由箭頭320所示,內(nèi)容自適應(yīng)模塊318對(duì)適當(dāng)?shù)膬?nèi)容編碼/分組化并將其流化到沉浸式內(nèi)容消費(fèi)設(shè)備306。
除了沉浸式內(nèi)容提供系統(tǒng)302之外,端到端系統(tǒng)300還包括位于沉浸式內(nèi)容消費(fèi)設(shè)備306上的沉浸式內(nèi)容查看系統(tǒng)304。沉浸式內(nèi)容查看系統(tǒng)304包括至少四個(gè)模塊:頭部跟蹤模塊322;沉浸式交互相關(guān)自適應(yīng)模塊324;緩沖區(qū)管理模塊310;以及內(nèi)容重放模塊326。
沉浸式內(nèi)容消費(fèi)設(shè)備306使用傳感器信息跟蹤用戶(hù)頭部的移動(dòng)。為此,沉浸式內(nèi)容消費(fèi)設(shè)備306包括頭部跟蹤模塊320,頭部跟蹤模塊320確定由查看者消費(fèi)的全方向或沉浸式內(nèi)容的子區(qū)域。
沉浸式交互相關(guān)自適應(yīng)模塊324包含用于根據(jù)用戶(hù)頭部移動(dòng)(例如,其方向、速度等)以及用戶(hù)的當(dāng)前視場(chǎng)與包括在沉浸式內(nèi)容捕獲設(shè)備312中的一個(gè)或多個(gè)傳感器之間的對(duì)應(yīng)性來(lái)選擇適當(dāng)?shù)臄z像機(jī)視圖的邏輯。如下面圖5a中所示,關(guān)于用戶(hù)視場(chǎng)與特定傳感器子集之間的對(duì)應(yīng)性的該信息可以由沉浸式內(nèi)容提供系統(tǒng)302(例如,經(jīng)由內(nèi)容自適應(yīng)模塊318)傳輸?shù)匠两絻?nèi)容查看系統(tǒng)304。如在328所示,沉浸式交互相關(guān)自適應(yīng)模塊324還負(fù)責(zé)控制用信號(hào)將消費(fèi)設(shè)備狀態(tài)信息傳送到流化服務(wù)器308。
緩沖區(qū)管理模塊310控制cvb、pfb和fvb緩沖區(qū)的創(chuàng)建、維護(hù)和清除。緩沖區(qū)管理模塊310跟蹤個(gè)體緩沖區(qū)狀態(tài)以使得這些不同緩沖區(qū)同步。跟蹤緩沖區(qū)狀態(tài)至關(guān)重要,以便當(dāng)由于沉浸式交互(例如頭部移動(dòng))而切換消費(fèi)狀態(tài)(例如,在靜態(tài)查看、緩慢移動(dòng)與快速移動(dòng)之間)期間確保無(wú)縫體驗(yàn)。緩沖區(qū)管理模塊310可以在重放期間進(jìn)一步針對(duì)每個(gè)緩沖區(qū)保存幀級(jí)別標(biāo)記,以便當(dāng)從cvb切換到pfb、從pfb切換到fvb或者從fvb切換到cvb或pfb時(shí)確保最少中斷。
最后,內(nèi)容重放模塊326負(fù)責(zé)視聽(tīng)內(nèi)容重放。內(nèi)容重放模塊326另外被配置為在延遲隱藏方面進(jìn)行補(bǔ)償(例如,通過(guò)響應(yīng)于頭部移動(dòng),使用pfb或fvb緩沖區(qū)呈現(xiàn)內(nèi)容,能夠隱藏緩沖高質(zhì)量cvb數(shù)據(jù)中的延遲),以便確保無(wú)縫重放體驗(yàn)。內(nèi)容重放模塊326從緩沖區(qū)獲得幀編號(hào)級(jí)別信息,以及頭部移動(dòng)信息,以便清倉(cāng)舊視圖數(shù)據(jù)(如果有)并且將重放緩沖區(qū)切換到新視圖。
圖4a、4b和4c分別示出三種類(lèi)型的緩沖區(qū)(cvb、pfb和fvb)?;诔两絻?nèi)容消費(fèi)設(shè)備306的存儲(chǔ)可用性、網(wǎng)絡(luò)帶寬和用于在沉浸式內(nèi)容消費(fèi)設(shè)備306到流化服務(wù)器308之間傳輸信令信息的期望往返延遲時(shí)間(rtt),定義這些緩沖區(qū)的緩沖區(qū)長(zhǎng)度和存儲(chǔ)在這些緩沖區(qū)中的內(nèi)容的質(zhì)量。
圖4a示出cvb。在這點(diǎn)上,應(yīng)該理解,基于常規(guī)流化方法確定cvb緩沖區(qū)長(zhǎng)度。在此描述的某些實(shí)例實(shí)施例需要提供幀級(jí)別緩沖區(qū)重放指針的反饋機(jī)制,幀級(jí)別緩沖區(qū)重放指針由緩沖區(qū)管理模塊用于促進(jìn)從cvb切換到pfb或fvb。
圖4b示出pfb。每個(gè)pfb包括特定持續(xù)時(shí)間長(zhǎng)度的循環(huán)緩沖區(qū),并且該緩沖區(qū)的長(zhǎng)度理想地應(yīng)大于rtt/2以便在頭部位置保持沿著與pfb關(guān)聯(lián)的攝像機(jī)視圖方向定位的情況下,確保從pfb無(wú)縫轉(zhuǎn)換到cvb。通過(guò)向流化服務(wù)器308通知pfb視圖轉(zhuǎn)換為cvb質(zhì)量需要的最少時(shí)間來(lái)確定時(shí)間rtt/2。在某些實(shí)施例中,cvb和pfb可以具有相同的質(zhì)量,在這種情況下將不需要到達(dá)流化服務(wù)器308的用于切換視圖質(zhì)量的信令,并且將僅需要局部緩沖區(qū)重新形成。在這點(diǎn)上,pfb可以具有持續(xù)時(shí)間比cvb短的緩沖區(qū),因?yàn)閜fb僅旨在提供過(guò)渡功能。如果pfb和cvb具有相同質(zhì)量?jī)?nèi)容,則在將特定緩沖區(qū)視圖名稱(chēng)從pfb更改為cvb時(shí),緩沖區(qū)長(zhǎng)度可以增加或者可以將先前cvb存儲(chǔ)器重新分配給新cvb。應(yīng)該理解,可以存在多個(gè)pfb,并且在任何給定實(shí)施例中使用的pfb數(shù)量可以取決于各種因素,例如在沉浸式內(nèi)容捕獲設(shè)備312a或312b中使用的攝像機(jī)數(shù)量,以及沉浸式內(nèi)容消費(fèi)設(shè)備306的存儲(chǔ)可用性、網(wǎng)絡(luò)帶寬和用于在沉浸式內(nèi)容消費(fèi)設(shè)備306與流化服務(wù)器308之間傳輸信令信息的期望rtt。
圖4c示出fvb。fvb是有限持續(xù)時(shí)間的連續(xù)緩沖區(qū),其跟蹤當(dāng)前重放位置。fvb緩沖區(qū)允許自由頭部移動(dòng)響應(yīng)而沒(méi)有內(nèi)容中斷,然而由于fvb存儲(chǔ)關(guān)于沉浸式內(nèi)容所有視圖的信息的事實(shí),存儲(chǔ)在fvb中的內(nèi)容的質(zhì)量可能低于cvb或pfb的質(zhì)量。在這點(diǎn)上,存儲(chǔ)在fvb中的內(nèi)容的質(zhì)量可以取決于各種因素,例如在沉浸式內(nèi)容捕獲設(shè)備312a或312b中使用的攝像機(jī)數(shù)量,以及沉浸式內(nèi)容消費(fèi)設(shè)備306的存儲(chǔ)可用性、網(wǎng)絡(luò)帶寬和用于在沉浸式內(nèi)容消費(fèi)設(shè)備306與流化服務(wù)器308之間傳輸信令信息的期望rtt。
現(xiàn)在轉(zhuǎn)到圖5a到圖5e,示出在沉浸式內(nèi)容提供系統(tǒng)302與沉浸式內(nèi)容查看系統(tǒng)304之間執(zhí)行的信令的實(shí)例。該信令使沉浸式內(nèi)容查看系統(tǒng)304能夠向流化服務(wù)器308描述用戶(hù)的沉浸式交互(例如,用戶(hù)的頭部移動(dòng))。該信令進(jìn)一步用于促進(jìn)將適當(dāng)?shù)膬?nèi)容從沉浸式內(nèi)容提供系統(tǒng)302(例如,經(jīng)由其內(nèi)容自適應(yīng)模塊318從流化服務(wù)器308)流化到沉浸式內(nèi)容查看系統(tǒng)304,并且還防止流化不必要的內(nèi)容,不必要的內(nèi)容可能通過(guò)增加網(wǎng)絡(luò)延遲和/或通過(guò)導(dǎo)致網(wǎng)絡(luò)擁塞而妨礙無(wú)縫自由視點(diǎn)消費(fèi)。將依次描述在圖5a到5e的每一個(gè)中示出的流化服務(wù)器308與沉浸式內(nèi)容消費(fèi)設(shè)備306之間的信令。
圖5a示出可以由沉浸式內(nèi)容提供系統(tǒng)302(例如,經(jīng)由內(nèi)容自適應(yīng)模塊318)發(fā)送到沉浸式內(nèi)容查看系統(tǒng)304(例如,緩沖區(qū)管理模塊310)的信令消息。應(yīng)該理解,如前所述,在某些實(shí)施例中,沉浸式內(nèi)容提供系統(tǒng)302本身可以包括記錄媒體的沉浸式內(nèi)容捕獲模塊312a。但是,在備選實(shí)施例中,沉浸式內(nèi)容提供系統(tǒng)302可以?xún)H包括流化服務(wù)器308,流化服務(wù)器308可以存儲(chǔ)先前記錄的原始數(shù)據(jù)以便傳輸,或者流化服務(wù)器308可以在傳輸?shù)匠两絻?nèi)容查看系統(tǒng)304之前,從單獨(dú)沉浸式內(nèi)容捕獲模塊312b收集原始數(shù)據(jù)。但是,在這些實(shí)施例的任何一個(gè)中,圖5a中示出的信令消息可以標(biāo)識(shí)可用攝像機(jī)視圖的數(shù)量、對(duì)應(yīng)于每個(gè)可用攝像機(jī)視圖的攝像機(jī)索引的指示,以及每個(gè)攝像機(jī)視圖的視場(chǎng)(fov)范圍(以度表示)。fov范圍信息允許確定以下操作的閾值:在視圖之間切換、將pfb更改為cvb,或者從fvb流移動(dòng)到pfb或cvb流(或者相反)。
圖5b示出可以由沉浸式內(nèi)容查看系統(tǒng)304(例如,經(jīng)由沉浸式交互相關(guān)自適應(yīng)模塊324)發(fā)送到沉浸式內(nèi)容提供系統(tǒng)302(例如,沉浸自適應(yīng)模塊316)的信令消息,其用于標(biāo)識(shí)應(yīng)被用作cvb的初始攝像機(jī)索引(用于流化單視場(chǎng)內(nèi)容)或初始攝像機(jī)對(duì)索引(用于流化立體沉浸式內(nèi)容)。此外,該信令消息可以指示應(yīng)利用pfb的攝像機(jī)視圖的數(shù)量。在這點(diǎn)上,如圖5b中所示,當(dāng)存在n個(gè)可用攝像機(jī)視圖時(shí),可以存在利用pfb的k個(gè)相鄰攝像機(jī)視圖。在某些此類(lèi)實(shí)施例中,將存在最少2個(gè)相鄰攝像機(jī)視圖,以及最多(n-2)/2個(gè)相鄰攝像機(jī)視圖。
依次地,圖5c示出可以由沉浸式內(nèi)容查看系統(tǒng)304(例如,經(jīng)由沉浸式交互相關(guān)自適應(yīng)模塊324)發(fā)送到沉浸式內(nèi)容提供系統(tǒng)302(例如,沉浸自適應(yīng)模塊316)的信令消息,其用于指示沉浸式內(nèi)容提供系統(tǒng)302已發(fā)生cvb更改。更改后的cvb可能由用戶(hù)頭部相對(duì)fov(該fov在與先前cvb關(guān)聯(lián)的攝像機(jī)索引的fov范圍外部)的位置更改觸發(fā)。當(dāng)新fov被現(xiàn)有pfb覆蓋時(shí),可以使用該信令消息,并且該信令消息標(biāo)識(shí)將被用作新cvb的攝像機(jī)索引(用于流化單視場(chǎng)內(nèi)容)或攝像機(jī)對(duì)索引(用于流化立體沉浸式內(nèi)容)。在這點(diǎn)上,假設(shè)用戶(hù)的頭部位置停留在新位置中,則可以將對(duì)應(yīng)pfb轉(zhuǎn)換為cvb,并且因此啟動(dòng)新pfb。在這后一點(diǎn)上,該信令消息可以指示針對(duì)其利用pfb的攝像機(jī)視圖的數(shù)量。在這點(diǎn)上,如圖5c中所示,當(dāng)存在n個(gè)可用攝像機(jī)視圖時(shí),可以存在利用pfb的k個(gè)相鄰攝像機(jī)視圖。在某些此類(lèi)實(shí)施例中,將存在最少2個(gè)相鄰攝像機(jī)視圖,以及最多(n-2)/2個(gè)相鄰攝像機(jī)視圖(例如,在利用pfb的攝像機(jī)視圖的每側(cè)上具有最少一個(gè)攝像機(jī)到每側(cè)上具有最多所有攝像機(jī)的一半)。
依次地,圖5d示出可以由沉浸式內(nèi)容查看系統(tǒng)304(例如,經(jīng)由沉浸式交互相關(guān)自適應(yīng)模塊324)發(fā)送到沉浸式內(nèi)容提供系統(tǒng)302(例如,沉浸自適應(yīng)模塊316)的信令消息,其用于指示沉浸式內(nèi)容提供系統(tǒng)302正在發(fā)生快速用戶(hù)頭部移動(dòng)并且因此暫停/重設(shè)cvb和pfb流,因?yàn)閷?duì)于繼續(xù)較高質(zhì)量?jī)?nèi)容查看,不清楚用戶(hù)頭部將靜止在哪個(gè)位置。
圖5e示出可以由沉浸式內(nèi)容查看系統(tǒng)304(例如,經(jīng)由沉浸式交互相關(guān)自適應(yīng)模塊324)發(fā)送到沉浸式內(nèi)容提供系統(tǒng)302(例如,沉浸自適應(yīng)模塊316)的信令消息,其用于指示沉浸式內(nèi)容提供系統(tǒng)302用戶(hù)的快速頭部移動(dòng)已減慢到預(yù)定閾值以下。在某些實(shí)施例中,該預(yù)定閾值可以是硬編碼值,但在其它實(shí)施例中,該預(yù)定閾值可以被包括為信令參數(shù)。相應(yīng)地,圖5e中示出的信令消息可以后跟例如圖5c中示出的信令消息以便產(chǎn)生cvb更改(如有必要),從而為沉浸式內(nèi)容提供系統(tǒng)302標(biāo)識(shí)哪些攝像機(jī)索引對(duì)應(yīng)于更新后的cvb和pfb流,并且命令沉浸式內(nèi)容提供系統(tǒng)302根據(jù)新cvb和pfb攝像機(jī)索引分配來(lái)啟動(dòng)傳輸。
除了上述信令消息之外,在將信令消息傳輸?shù)搅骰?wù)器308期間,沉浸式內(nèi)容查看系統(tǒng)304可以用信號(hào)將數(shù)個(gè)緩沖區(qū)的當(dāng)前重放位置傳送到流化服務(wù)器308。該信息允許流化服務(wù)器308估計(jì)響應(yīng)該特定客戶(hù)機(jī)的剩余時(shí)間裕量。流化服務(wù)器308然后可以選擇降低cvb、pfb或fvb中的一者或多者的質(zhì)量以便與減少的裕量相匹配。
應(yīng)該理解,fvb在整個(gè)流會(huì)話(huà)中可用以便在自由視點(diǎn)移動(dòng)期間最小化質(zhì)量下降。在自由視點(diǎn)移動(dòng)期間,可以暫停cvb和pfb,但在用戶(hù)頭部移動(dòng)固定到特定查看方向之后,可以立即重新啟動(dòng)cvb和pfb。盡管該實(shí)施方式中的沉浸式交互被描述為用戶(hù)頭部移動(dòng),但也可以構(gòu)想其它類(lèi)型的沉浸式交互,例如涉及沿著相同方向但具有不同焦距的攝像機(jī)視圖(例如,與多個(gè)景深關(guān)聯(lián)的攝像機(jī)視圖)之間的平移的用戶(hù)移動(dòng)。
來(lái)自沉浸式內(nèi)容查看系統(tǒng)304的信令消息還可以包括緩沖區(qū)狀態(tài)信息(例如,每個(gè)緩沖區(qū)的大小和可用性)。這將允許流化服務(wù)器308確定要發(fā)送的內(nèi)容量。在某些實(shí)施例中,為了防止針對(duì)特定視圖的不必要數(shù)據(jù)傳輸(因?yàn)橛脩?hù)頭部位置很有可能即將發(fā)生更改),沉浸式內(nèi)容查看系統(tǒng)304的用戶(hù)可以經(jīng)由單獨(dú)用戶(hù)接口(在圖3中未示出)用信號(hào)將cvb緩沖區(qū)長(zhǎng)度傳送到流化服務(wù)器308。此外,應(yīng)該理解,在某些實(shí)例實(shí)施例中,更熱門(mén)的攝像機(jī)視圖可以比其它攝像機(jī)視圖具備更大緩沖區(qū)長(zhǎng)度,因?yàn)樽愿鼰衢T(mén)的攝像機(jī)視圖更改視圖的可能性更低。
由沉浸式內(nèi)容提供系統(tǒng)執(zhí)行的操作
概述了端到端系統(tǒng)300和被傳輸以便促進(jìn)其使用的信令消息之后,現(xiàn)在將描述某些實(shí)例過(guò)程。轉(zhuǎn)到圖6a和6b,示出包含由沉浸式內(nèi)容提供系統(tǒng)302為了促進(jìn)沉浸式內(nèi)容的帶寬高效的流化而執(zhí)行的一系列操作的流程圖。圖6a和6b中示出的操作例如可以在包含沉浸式內(nèi)容提供系統(tǒng)302的裝置100的幫助下和/或控制下執(zhí)行,并且更具體地說(shuō)通過(guò)使用處理器102、存儲(chǔ)器104、通信接口106以及沉浸式內(nèi)容提供模塊110和/或沉浸式內(nèi)容捕獲模塊112中的一者或多者來(lái)執(zhí)行。
在操作602中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容提供模塊110之類(lèi)的部件,以便初始化沉浸式內(nèi)容的帶寬高效的流化。下面將結(jié)合圖6b更詳細(xì)地描述初始化操作。
轉(zhuǎn)到操作604,裝置100包括諸如處理器102、沉浸式內(nèi)容捕獲模塊112之類(lèi)的部件,以便導(dǎo)致由沉浸式內(nèi)容捕獲設(shè)備生成沉浸式內(nèi)容。如前所述,沉浸式內(nèi)容捕獲設(shè)備可以是裝置100的元件或者可以獨(dú)立于裝置100。在某些實(shí)施例中,可以預(yù)先執(zhí)行沉浸式內(nèi)容的生成并且裝置100可以簡(jiǎn)單地存儲(chǔ)先前生成的沉浸式內(nèi)容,并且在此類(lèi)實(shí)施例中,操作604可以在下面剩余操作之前作為單獨(dú)過(guò)程發(fā)生,或者如果未在裝置100的指示下捕獲沉浸式內(nèi)容,則操作604可能根本不發(fā)生。
在操作606中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106之類(lèi)的部件,以便取回關(guān)于與特定沉浸式內(nèi)容查看系統(tǒng)304關(guān)聯(lián)的cvb、一個(gè)或多個(gè)pfb和fvb的緩沖區(qū)信息。應(yīng)該理解,在下面結(jié)合圖6b描述的初始化操作中填充該緩沖區(qū)信息。
在操作608中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容提供模塊110之類(lèi)的部件,以便導(dǎo)致基于所取回的與cvb、一個(gè)或多個(gè)pfb和fvb相關(guān)的緩沖區(qū)信息,將沉浸式內(nèi)容的多個(gè)部分傳輸?shù)匠两絻?nèi)容查看系統(tǒng)。在這點(diǎn)上,裝置100可以利用內(nèi)容自適應(yīng)模塊318生成要基于所取回的緩沖區(qū)信息傳輸?shù)某两絻?nèi)容的多個(gè)部分。在這點(diǎn)上,內(nèi)容自適應(yīng)模塊318可以傳輸關(guān)于與cvb關(guān)聯(lián)的攝像機(jī)視圖的高質(zhì)量?jī)?nèi)容、關(guān)于與一個(gè)或多個(gè)pfb關(guān)聯(lián)的攝像機(jī)視圖的高或中質(zhì)量?jī)?nèi)容,以及關(guān)于所有攝像機(jī)視圖的低質(zhì)量?jī)?nèi)容以便存儲(chǔ)在fvb緩沖區(qū)中。但是,應(yīng)該理解,傳輸?shù)膬?nèi)容質(zhì)量可以取決于網(wǎng)絡(luò)狀況,并且在某些實(shí)施例中該內(nèi)容質(zhì)量可以由所述裝置確定,或者在其它實(shí)施例中可以由沉浸式內(nèi)容查看系統(tǒng)304確定(在這種情況下,在沉浸式內(nèi)容的帶寬高效的流化的初始化期間,可以從沉浸式內(nèi)容查看系統(tǒng)304接收所確定的內(nèi)容質(zhì)量級(jí)別的指示)。然而,不管網(wǎng)絡(luò)狀況為何,通過(guò)傳輸少于全部的沉浸式內(nèi)容,操作608降低用于流化沉浸式內(nèi)容的帶寬要求。
相應(yīng)地,現(xiàn)在轉(zhuǎn)到圖6b,描述用于初始化帶寬高效的流化系統(tǒng)的操作。在操作610中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容提供模塊110之類(lèi)的部件,以便導(dǎo)致傳輸標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)可用攝像機(jī)視圖的視場(chǎng)的信令消息。該信息向沉浸式內(nèi)容查看系統(tǒng)304通知沉浸式內(nèi)容捕獲設(shè)備312的技術(shù)規(guī)范,因此使沉浸式內(nèi)容查看系統(tǒng)304能夠形成適當(dāng)?shù)木彌_區(qū)對(duì)應(yīng)性。
在操作612中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106之類(lèi)的部件,以便由沉浸自適應(yīng)模塊從沉浸式內(nèi)容查看系統(tǒng)304接收關(guān)于cvb、一個(gè)或多個(gè)pfb或fvb中的一者或多者的信令消息。在各種實(shí)施例中,該信令消息可以采取多種形式。例如,信令消息可以標(biāo)識(shí)與cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引和/或與一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。備選地,信令消息可以指示由沉浸式內(nèi)容查看系統(tǒng)304選擇的內(nèi)容質(zhì)量級(jí)別,在操作608中選擇要傳輸?shù)匠两絻?nèi)容查看系統(tǒng)304的沉浸式內(nèi)容期間,可以利用該內(nèi)容質(zhì)量級(jí)別。在另一個(gè)備選方案中,信令消息可以指示用戶(hù)頭部的方位的更改,裝置100可以利用該更改標(biāo)識(shí)和/或修正與cvb關(guān)聯(lián)的攝像機(jī)索引,和/或與一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在某些實(shí)施例中,從沉浸式內(nèi)容查看系統(tǒng)304接收的信令消息指示利用fvb(例如,因?yàn)橛脩?hù)頭部已開(kāi)始快速移動(dòng)),并且因此命令流服務(wù)器暫停傳輸沉浸式內(nèi)容的對(duì)應(yīng)于cvb或一個(gè)或多個(gè)pfb的多個(gè)部分。從沉浸式內(nèi)容查看系統(tǒng)304接收的后續(xù)信令消息然后可以命令流服務(wù)器繼續(xù)傳輸沉浸式內(nèi)容的對(duì)應(yīng)于cvb或一個(gè)或多個(gè)pfb的多個(gè)部分(例如,在其中用戶(hù)頭部的移動(dòng)已減慢到預(yù)定閾值以下的情況中)。
在操作614中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容提供模塊110之類(lèi)的部件,以便由沉浸自適應(yīng)模塊基于所接收的信令消息來(lái)更新關(guān)于cvb、pfb或fvb的緩沖區(qū)信息。
由沉浸式內(nèi)容查看系統(tǒng)執(zhí)行的操作
轉(zhuǎn)到圖7和8,示出包含由沉浸式內(nèi)容查看系統(tǒng)304為了促進(jìn)沉浸式內(nèi)容的帶寬高效的流化而執(zhí)行的一系列操作的流程圖。圖7和8中示出的操作例如可以在裝置100的幫助下和/或控制下執(zhí)行,在這種情況下裝置100可以包含沉浸式內(nèi)容查看系統(tǒng)304,并且更具體地說(shuō)通過(guò)使用處理器102、存儲(chǔ)器104、通信接口106或沉浸式內(nèi)容消費(fèi)模塊108中的一者或多者來(lái)執(zhí)行。
在操作702中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便初始化沉浸式內(nèi)容的帶寬高效的流化。下面將結(jié)合圖8更詳細(xì)地描述初始化操作。
在操作704中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便從沉浸式內(nèi)容提供系統(tǒng)接收沉浸式內(nèi)容的多個(gè)部分。上面結(jié)合圖6a和6b描述了沉浸式內(nèi)容的這些部分的傳輸。
在操作706中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便將所接收的沉浸式內(nèi)容的多個(gè)部分存儲(chǔ)在cvb、一個(gè)或多個(gè)pfb或fvb中的一者或多者內(nèi)。
在操作708中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便導(dǎo)致基于用戶(hù)頭部的方位,從cvb、一個(gè)或多個(gè)pfb或fvb中的一者生成可顯示媒體。如果沒(méi)有指示用戶(hù)頭部具有修正后方位的信號(hào),則操作708可以從cvb生成可顯示媒體。
在操作710中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便導(dǎo)致由沉浸式內(nèi)容消費(fèi)設(shè)備顯示可顯示媒體。
從操作706,過(guò)程可以前進(jìn)到可選操作712,其中裝置100可以包括諸如沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便接收指示用戶(hù)頭部的修正后方位的視圖更改信號(hào)。
響應(yīng)于在操作712中接收視圖更改信號(hào),過(guò)程前進(jìn)到操作714。在操作714中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便確定哪個(gè)緩沖區(qū)用于生成可顯示媒體。在這點(diǎn)上,裝置100可以首先判定用戶(hù)頭部的修正后方位是否與對(duì)應(yīng)于cvb所關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊。如果對(duì)齊,則裝置100可以繼續(xù)到操作708以便基于cvb生成可顯示媒體。
但是,當(dāng)用戶(hù)頭部的修正后方位與和cvb所關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引關(guān)聯(lián)的視場(chǎng)未對(duì)齊時(shí),裝置100必須判定是否使用pfb之一或fvb生成可顯示媒體。相應(yīng)地,裝置100可以導(dǎo)致判定用戶(hù)頭部的修正后方位是否與對(duì)應(yīng)于pfb之一所關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引的視場(chǎng)對(duì)齊。如果對(duì)齊,則裝置100可以繼續(xù)到操作708以便基于所標(biāo)識(shí)的pfb生成可顯示媒體。但是,如果未對(duì)齊,則裝置100繼續(xù)到操作708以便基于fvb生成可顯示媒體。以這種方式,不管用戶(hù)的頭部移動(dòng)如何嚴(yán)重,裝置100都將能夠生成與用戶(hù)頭部的修正后方位對(duì)應(yīng)的可顯示媒體。
應(yīng)該注意,當(dāng)導(dǎo)致從pfb之一生成可顯示媒體時(shí),操作714可以進(jìn)一步包括諸如通信接口106之類(lèi)的部件,以便導(dǎo)致傳輸cvb更改信令消息,該cvb更改信令消息命令所述沉浸式內(nèi)容提供系統(tǒng)將所述cvb與從中生成所述可顯示媒體的所述pfb之一所關(guān)聯(lián)的所述一個(gè)或多個(gè)攝像機(jī)索引相關(guān)聯(lián)。在這點(diǎn)上,如果用戶(hù)頭部具有更改后的方位,則必須相應(yīng)地更新當(dāng)前視圖。
作為備選方案,操作714不需要基于用戶(hù)頭部位置更改來(lái)標(biāo)識(shí)要利用哪個(gè)緩沖區(qū)。相反,在此類(lèi)實(shí)施例中可以由沉浸式內(nèi)容提供系統(tǒng)302進(jìn)行該判定,在這種情況下操作714僅標(biāo)識(shí)用戶(hù)頭部位置更改。
作為另一個(gè)備選方案,操作714可以替代地包括由裝置100標(biāo)識(shí)要在選擇沉浸式內(nèi)容以在上述操作608中傳輸?shù)匠两絻?nèi)容查看系統(tǒng)304的期間利用的內(nèi)容質(zhì)量級(jí)別。在這點(diǎn)上,此類(lèi)實(shí)施例可以利用諸如mpeg-dash之類(lèi)的協(xié)議以便將該信息傳送到沉浸式內(nèi)容提供系統(tǒng)302。
但是,當(dāng)從fvb生成可顯示媒體時(shí),這可以被解釋為cvb以及一個(gè)或多個(gè)pfb將不再是當(dāng)前或相鄰視圖的準(zhǔn)確表示的信號(hào)。相應(yīng)地,操作714可以進(jìn)一步包括諸如通信接口106之類(lèi)的部件,以便導(dǎo)致傳輸“暫?!毙帕钕ⅲ摃和P帕钕⒚畛两絻?nèi)容提供系統(tǒng)302暫停傳輸與cvb或一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。隨后,在用戶(hù)的頭部移動(dòng)減慢到預(yù)定閾值以下之后,操作714可以進(jìn)一步包括諸如通信接口106之類(lèi)的部件,以便導(dǎo)致傳輸“繼續(xù)”信令消息,該繼續(xù)信令消息命令沉浸式內(nèi)容提供系統(tǒng)302重新啟動(dòng)傳輸與cvb或一個(gè)或多個(gè)pfb關(guān)聯(lián)的沉浸式內(nèi)容的多個(gè)部分。
現(xiàn)在轉(zhuǎn)到圖8,將更詳細(xì)地描述沉浸式內(nèi)容的帶寬高效的流化的初始化。在操作802中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便從沉浸式內(nèi)容提供系統(tǒng)接收標(biāo)識(shí)可用攝像機(jī)視圖、對(duì)應(yīng)于每個(gè)可用攝像機(jī)視圖的攝像機(jī)索引以及對(duì)應(yīng)于每個(gè)可用攝像機(jī)視圖的視場(chǎng)的信令消息。
在操作804中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106、沉浸式內(nèi)容消費(fèi)模塊108之類(lèi)的部件,以便導(dǎo)致由頭部跟蹤模塊確定用戶(hù)頭部的方位。
在操作806中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106之類(lèi)的部件,以便導(dǎo)致由沉浸式交互相關(guān)自適應(yīng)模塊基于用戶(hù)頭部的方位來(lái)確定與cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。在某些實(shí)施例中,該操作可以進(jìn)一步包括導(dǎo)致基于用戶(hù)頭部的方位,確定與一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。
在操作808中,裝置100包括諸如處理器102、存儲(chǔ)器104、通信接口106之類(lèi)的部件,以便導(dǎo)致由沉浸式交互相關(guān)自適應(yīng)模塊傳輸標(biāo)識(shí)與cvb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引的信令消息。在其中操作806包括確定與一個(gè)或多個(gè)pfb關(guān)聯(lián)的攝像機(jī)索引的實(shí)施例中,操作808的信令消息另外可以標(biāo)識(shí)與一個(gè)或多個(gè)pfb關(guān)聯(lián)的一個(gè)或多個(gè)攝像機(jī)索引。無(wú)論如何,在操作808結(jié)束之后,過(guò)程返回到先前描述的操作704。
如上所述,實(shí)例實(shí)施例提供用于沉浸式內(nèi)容的帶寬高效的流化的方法、裝置和計(jì)算機(jī)程序產(chǎn)品,這些方法、裝置和計(jì)算機(jī)程序產(chǎn)品解決上述要求而不損害沉浸式用戶(hù)體驗(yàn)。如上所述,實(shí)例實(shí)施例利用多個(gè)緩沖區(qū),它們?cè)诓煌|(zhì)量級(jí)別存儲(chǔ)沉浸式內(nèi)容的不同部分。通過(guò)在各種質(zhì)量級(jí)別緩沖沉浸式內(nèi)容的多個(gè)部分,實(shí)例實(shí)施例促進(jìn)沉浸式內(nèi)容的自由視點(diǎn)探索而不會(huì)在查看體驗(yàn)中產(chǎn)生任何破壞。因此,實(shí)例實(shí)施例在維護(hù)帶寬效率的同時(shí)提供無(wú)縫消費(fèi)體驗(yàn)。此外,實(shí)例實(shí)施例能夠用信號(hào)將沉浸式內(nèi)容消費(fèi)設(shè)備狀態(tài)傳送到流化服務(wù)器?;谠摴δ?,實(shí)例實(shí)施例可以進(jìn)一步擴(kuò)展以便添加有關(guān)沉浸式交互類(lèi)型(例如放大或縮小操作)的信令消息。
如上所述,圖6a到8示出描述根據(jù)本發(fā)明的實(shí)例實(shí)施例的裝置、方法和計(jì)算機(jī)程序產(chǎn)品的操作的流程圖。應(yīng)該理解,每個(gè)流程圖方框和流程圖方框的組合都可以由各種部件實(shí)現(xiàn),所述部件例如與包括一個(gè)或多個(gè)計(jì)算機(jī)程序指令的軟件的執(zhí)行關(guān)聯(lián)的硬件、固件、處理器、電路和/或其它設(shè)備。例如,上述一個(gè)或多個(gè)過(guò)程可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。在這點(diǎn)上,實(shí)現(xiàn)上述過(guò)程的計(jì)算機(jī)程序指令可以由實(shí)現(xiàn)本發(fā)明實(shí)施例的裝置100的存儲(chǔ)器104存儲(chǔ),并且由裝置100的處理器102執(zhí)行。如認(rèn)識(shí)到的,任何此類(lèi)計(jì)算機(jī)程序指令都可以加載到計(jì)算機(jī)或其它可編程裝置(例如,硬件)以便產(chǎn)生一種機(jī)器,以使得產(chǎn)生的計(jì)算機(jī)或其它可編程裝置實(shí)現(xiàn)流程圖方框中指定的功能。這些計(jì)算機(jī)程序指令還可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中,這些指令使得計(jì)算機(jī)或其它可編程裝置以特定方式工作,以使得存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生制造品,該制造品的執(zhí)行實(shí)現(xiàn)流程圖方框中指定的功能。計(jì)算機(jī)程序指令還可以加載到計(jì)算機(jī)或其它可編程裝置上,使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行一系列操作步驟,以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,以使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供實(shí)現(xiàn)流程圖方框中指定的功能的操作。
流程圖方框支持用于執(zhí)行指定功能的部件的組合和用于執(zhí)行指定功能的操作的組合。還應(yīng)該理解,一個(gè)或多個(gè)流程圖方框和流程圖方框的組合都可以由執(zhí)行指定功能的基于專(zhuān)用硬件的計(jì)算機(jī)系統(tǒng)實(shí)現(xiàn),或者由專(zhuān)用硬件和計(jì)算機(jī)指令的組合實(shí)現(xiàn)。
在某些實(shí)施例中,可以修改或進(jìn)一步放大上述某些操作。此外,在某些實(shí)施例中,可以包括其它可選操作。可以以任何順序并且以任何組合執(zhí)行上述操作的修改、放大或添加。
得益于在上面描述和關(guān)聯(lián)附圖中提供的教導(dǎo),本發(fā)明所屬技術(shù)領(lǐng)域的技術(shù)人員將會(huì)想到在此給出的本發(fā)明的許多修改和其它實(shí)施例。因此,應(yīng)該理解,本發(fā)明并不限于公開(kāi)的特定實(shí)施例,并且修改和其它實(shí)施例旨在被包括在所附權(quán)利要求的范圍內(nèi)。此外,盡管上面描述和關(guān)聯(lián)附圖在元件和/或功能的特定實(shí)例組合的上下文中描述了實(shí)例實(shí)施例,但應(yīng)該理解,備選實(shí)施例可以提供不同的元件和/或功能組合而不偏離所附權(quán)利要求的范圍。在這點(diǎn)上,例如也可以構(gòu)想不同于上面明確描述的那些組合的元件和/或功能組合,如可以在某些所附權(quán)利要求中給出的那樣。盡管在此采用特定術(shù)語(yǔ),但它們僅用于一般和描述性意義而不用于限制目的。