本發(fā)明涉及視頻轉(zhuǎn)碼領(lǐng)域,尤其涉及一種全景視頻播放方法及裝置。
背景技術(shù):
隨著目前VR(Virtual Reality,虛擬現(xiàn)實(shí))行業(yè)的火熱,越來越多的人開始關(guān)注全景視頻這種“可操作,可交互”的新型視頻。由于播放全景視頻時(shí),展示在屏幕上的內(nèi)容僅僅是整個(gè)畫面的一部分,因此相對(duì)于傳統(tǒng)平面視頻而言,要展示同等清晰度的全景視頻需要更大的分辨率和碼率,從而需要更多的帶寬。
目前較為普遍的一種節(jié)約帶寬的方式是facebook提出的cubic(立方體)編碼方式,即將360度的畫面映射到立方體上,理論上可以減少25%的帶寬使用。
上述cubic編碼方式雖然在一定程度上減少了播放全景視頻時(shí)的帶寬使用,但還是有不少的帶寬是被浪費(fèi)的。例如,對(duì)于一個(gè)用戶來說無法同時(shí)看到立方體的六個(gè)面,但實(shí)際上卻把六個(gè)面的數(shù)據(jù)都傳輸給了用戶,這樣造成了一定程度的浪費(fèi)。
技術(shù)實(shí)現(xiàn)要素:
技術(shù)問題
有鑒于此,本發(fā)明要解決的技術(shù)問題是如何減少傳輸全景視頻時(shí)的帶寬和流量。
解決方案
為了解決上述技術(shù)問題,根據(jù)本發(fā)明的一實(shí)施例,提供了一種全景視頻播放方法,包括:獲取終端設(shè)備所檢測(cè)到的用戶觀看全景視頻時(shí)的用戶行為,其中,所述全景視頻的各幀數(shù)據(jù)是基于立方體模型而編碼的、包括六個(gè)面的數(shù)據(jù);根據(jù)所獲取到的用戶行為來對(duì)所述全景視頻的待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮;以及將所述全景視頻的壓縮后的幀數(shù)據(jù)傳輸至所述終端設(shè)備,以使得所述終端設(shè)備能夠播放所述全景視頻的壓縮后的幀數(shù)據(jù)。
對(duì)于上述全景視頻播放方法,在一種可能的實(shí)現(xiàn)方式中,根據(jù)所獲取到的用戶行為來對(duì)所述全景視頻的待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮,包括:在所獲取到的用戶行為是用戶左右移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的后面、上面和下面的數(shù)據(jù)進(jìn)行壓縮。
對(duì)于上述全景視頻播放方法,在一種可能的實(shí)現(xiàn)方式中,根據(jù)所獲取到的用戶行為來對(duì)待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮,包括:在所獲取到的用戶行為是用戶上下移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的左面、后面和右面的數(shù)據(jù)進(jìn)行壓縮。
對(duì)于上述全景視頻播放方法,在一種可能的實(shí)現(xiàn)方式中,將所述全景視頻的壓縮后的幀數(shù)據(jù)傳輸至所述終端設(shè)備,還包括:將所述全景視頻的壓縮后的幀數(shù)據(jù)轉(zhuǎn)換成矩形格式;將轉(zhuǎn)換成矩形格式的幀數(shù)據(jù)傳輸至所述終端設(shè)備。
為了解決上述技術(shù)問題,根據(jù)本發(fā)明的另一實(shí)施例,提供了一種全景視頻播放裝置,包括:獲取單元,用于獲取終端設(shè)備所檢測(cè)到的用戶觀看全景視頻時(shí)的用戶行為,其中,所述全景視頻的各幀數(shù)據(jù)是基于立方體模型而編碼的、包括六個(gè)面的數(shù)據(jù);壓縮單元,與所述獲取單元連接,用于根據(jù)所獲取到的用戶行為來對(duì)所述全景視頻的待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮;以及傳輸單元,與所述壓縮單元連接,用于將所述全景視頻的壓縮后的幀數(shù)據(jù)傳輸至所述終端設(shè)備,以使得所述終端設(shè)備能夠播放所述全景視頻的壓縮后的幀數(shù)據(jù)。
對(duì)于上述全景視頻播放裝置,在一種可能的實(shí)現(xiàn)方式中,所述壓縮單元用于:在所獲取到的用戶行為是用戶左右移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的后面、上面和下面的數(shù)據(jù)進(jìn)行壓縮。
對(duì)于上述全景視頻播放裝置,在一種可能的實(shí)現(xiàn)方式中,所述壓縮單元用于:在所獲取到的用戶行為是用戶上下移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的左面、后面和右面的數(shù)據(jù)進(jìn)行壓縮。
對(duì)于上述全景視頻播放裝置,在一種可能的實(shí)現(xiàn)方式中,所述傳輸單元包括:轉(zhuǎn)換模塊,用于將所述全景視頻的壓縮后的幀數(shù)據(jù)轉(zhuǎn)換成矩形格式;傳輸模塊,與所述轉(zhuǎn)換模塊連接,用于將轉(zhuǎn)換成矩形格式的幀數(shù)據(jù)傳輸至所述終端設(shè)備。
有益效果
通過本實(shí)施例的全景視頻播放方法及裝置,通過對(duì)用戶行為的分析,以得出用戶的觀看傾向,從而得出用戶想要觀看或重視的內(nèi)容,并且在保證這部分內(nèi)容的清晰度的情況下,對(duì)次要內(nèi)容進(jìn)行壓縮,即利用不同的轉(zhuǎn)碼方式,來在盡可能保證用戶觀看清晰度的前提下對(duì)全景視頻的內(nèi)容進(jìn)行轉(zhuǎn)碼。這樣,可以減少傳輸全景視頻的幀數(shù)據(jù)時(shí)的數(shù)據(jù)量,從而節(jié)約帶寬和流量。
根據(jù)下面參考附圖對(duì)示例性實(shí)施例的詳細(xì)說明,本發(fā)明的其它特征及方面將變得清楚。
附圖說明
包含在說明書中并且構(gòu)成說明書的一部分的附圖與說明書一起示出了本發(fā)明的示例性實(shí)施例、特征和方面,并且用于解釋本發(fā)明的原理。
圖1示出基于cubic模型的全景視頻的示意圖;
圖2示出基于cubic模型的全景視頻的矩形格式的幀數(shù)據(jù)的示意圖;
圖3示出根據(jù)本發(fā)明一實(shí)施例的全景視頻播放方法的流程圖;
圖4示出根據(jù)本發(fā)明一實(shí)施例的基于cubic模型的全景視頻的幀數(shù)據(jù)的示意圖;
圖5示出根據(jù)本發(fā)明另一實(shí)施例的基于cubic模型的全景視頻的幀數(shù)據(jù)的示意圖;
圖6示出根據(jù)本發(fā)明一實(shí)施例的全景視頻播放裝置的結(jié)構(gòu)框圖;
圖7示出根據(jù)本發(fā)明另一實(shí)施例的全景視頻播放裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
以下將參考附圖詳細(xì)說明本發(fā)明的各種示例性實(shí)施例、特征和方面。附圖中相同的附圖標(biāo)記表示功能相同或相似的元件。盡管在附圖中示出了實(shí)施例的各種方面,但是除非特別指出,不必按比例繪制附圖。
在這里專用的詞“示例性”意為“用作例子、實(shí)施例或說明性”。這里作為“示例性”所說明的任何實(shí)施例不必解釋為優(yōu)于或好于其它實(shí)施例。
另外,為了更好的說明本發(fā)明,在下文的具體實(shí)施方式中給出了眾多的具體細(xì)節(jié)。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,沒有某些具體細(xì)節(jié),本發(fā)明同樣可以實(shí)施。在一些實(shí)例中,對(duì)于本領(lǐng)域技術(shù)人員熟知的方法、手段、元件和電路未作詳細(xì)描述,以便于凸顯本發(fā)明的主旨。
本發(fā)明的全景視頻是基于cubic模型而編碼的,因此,首先將說明基于cubic模型的全景視頻。
具體而言,服務(wù)器端將一個(gè)平面視頻的畫面進(jìn)行適當(dāng)?shù)那懈?,以分別映射到如圖1所示的cubic模型中的六個(gè)面上,即分別將與一個(gè)平面視頻的多個(gè)畫面相對(duì)應(yīng)的數(shù)據(jù)分別映射到這六個(gè)面上,以形成六個(gè)面的數(shù)據(jù)。然后,由于在網(wǎng)絡(luò)中傳輸?shù)膸瑪?shù)據(jù)必須是矩形格式,因此需要將這六個(gè)面的數(shù)據(jù)轉(zhuǎn)換成如圖2所示的矩形格式,從而形成矩形格式的幀數(shù)據(jù)。接著,服務(wù)器將所形成的幀數(shù)據(jù)下發(fā)到播放端、例如終端設(shè)備。然后,在終端設(shè)備上對(duì)這六個(gè)面的數(shù)據(jù)進(jìn)行一定規(guī)則的解碼即可播放這些幀數(shù)據(jù),從而播放全景視頻。這樣,用戶戴上特定的設(shè)備就可以觀看終端設(shè)備上所播放的全景視頻。
當(dāng)用戶戴上特定的設(shè)備進(jìn)行觀看(猶如處于立方體的中心觀看一樣)時(shí),對(duì)于六個(gè)面的數(shù)據(jù),用戶通常只能看到正面的數(shù)據(jù)以及上面、下面、左面和右面的至多一部分?jǐn)?shù)據(jù),并且基本無法看到后面的數(shù)據(jù)。換句話說,用戶無法同時(shí)看到立方體的六個(gè)面的數(shù)據(jù)。其中,立方體的上面、下面、左面、右面、前面和后面是相對(duì)于用戶觀看的方向而言。然而,在現(xiàn)有的基于cubic模型的全景視頻中,將六個(gè)面的數(shù)據(jù)進(jìn)行同樣的處理之后傳輸給用戶的終端設(shè)備,這樣造成了一定程度的帶寬浪費(fèi)。
為此,本發(fā)明人提出一種基于用戶行為的全景視頻播放方法和裝置,通過對(duì)用戶行為的分析,將全景視頻的幀數(shù)據(jù)轉(zhuǎn)碼成不同的格式,并且根據(jù)對(duì)用戶行為的分析結(jié)果來選擇播放這些格式的幀數(shù)據(jù),以體現(xiàn)用戶的觀看傾向,并且在盡可能保證用戶觀看清晰度的前提下,節(jié)約帶寬和流量。
以下實(shí)施例將具體說明本發(fā)明的全景視頻播放方法和裝置。
實(shí)施例1
圖3示出根據(jù)本發(fā)明一實(shí)施例的全景視頻播放方法的流程圖。其中,本實(shí)施例的全景視頻的各幀數(shù)據(jù)是基于立方體模型而編碼的、包括立方體中的六個(gè)面的數(shù)據(jù)。如圖3所示,該全景視頻播放方法主要包括:
步驟S110、獲取終端設(shè)備所檢測(cè)到的用戶觀看全景視頻時(shí)的用戶行為;
步驟S120、根據(jù)所獲取到的用戶行為來對(duì)全景視頻的待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮;以及
步驟S130、將全景視頻的壓縮后的幀數(shù)據(jù)傳輸至終端設(shè)備,以使得終端設(shè)備能夠播放全景視頻的壓縮后的幀數(shù)據(jù)。
下面,將對(duì)上述各步驟進(jìn)行具體說明。
對(duì)于上述步驟S110,在用戶戴著特定的觀看設(shè)備、例如頭盔觀看全景視頻時(shí),隨著用戶觀看行為的變化,會(huì)向用戶展現(xiàn)與不同的幀數(shù)據(jù)相對(duì)應(yīng)的全景視頻。通常,在用戶觀看全景視頻時(shí),通過戴著特定的觀看設(shè)備朝著不同的方向轉(zhuǎn)動(dòng),就能夠產(chǎn)生不同的觀看行為(用戶行為)。并且,通過放置于特定的觀看設(shè)備內(nèi)的終端設(shè)備、例如智能手機(jī)中設(shè)置的傳感器,能夠檢測(cè)到用戶的這些觀看行為。例如,隨著特定的觀看設(shè)備朝著不同的方向轉(zhuǎn)動(dòng),放置在其內(nèi)的終端設(shè)備隨之轉(zhuǎn)動(dòng),這樣,終端設(shè)備的方位在發(fā)生變化,而通過終端設(shè)備上的例如陀螺儀等就能夠檢測(cè)到這種方位變化,即能夠檢測(cè)到用戶的觀看行為。
在終端設(shè)備檢測(cè)到用戶的觀看行為之后,可以直接將所檢測(cè)到的觀看行為發(fā)送至服務(wù)器,這樣服務(wù)器只要進(jìn)行相應(yīng)地接收即可獲取到終端設(shè)備所檢測(cè)到的用戶行為。此外,服務(wù)器也可以通過向終端設(shè)備發(fā)送預(yù)定的指令來獲取終端設(shè)備所檢測(cè)到的用戶觀看全景視頻時(shí)的用戶行為。
對(duì)于上述步驟S120,在服務(wù)器獲取到用戶行為之后,可以根據(jù)所獲取到的用戶行為來對(duì)全景視頻的待播放的幀數(shù)據(jù)進(jìn)行相應(yīng)地壓縮。具體而言,在服務(wù)器獲取到用戶行為之后,需要對(duì)該用戶行為進(jìn)行分析,以確定該用戶行為的類型。例如,該用戶行為的類型可以通過用戶朝向哪個(gè)方向移動(dòng)視角來進(jìn)行分類。在服務(wù)器確定用戶行為的類型之后,可以根據(jù)所確定出的用戶類型來確定用戶的觀看傾向,即確定待播放的幀數(shù)據(jù)中用戶想要觀看或重視的內(nèi)容。例如,根據(jù)用戶朝向哪個(gè)方向移動(dòng)視角,就可以預(yù)測(cè)出用戶想要觀看或重視待播放的幀數(shù)據(jù)的六個(gè)面中哪些面的數(shù)據(jù)。在得出用戶想要觀看或重視的內(nèi)容之后,可以重點(diǎn)傳輸這部分內(nèi)容,而將其它部分內(nèi)容的數(shù)據(jù)進(jìn)行壓縮。例如,如果預(yù)測(cè)出用戶存在想要觀看左面和前面的數(shù)據(jù)的傾向,則將其它面的數(shù)據(jù)進(jìn)行壓縮,而保持這兩個(gè)面的數(shù)據(jù)不變。
對(duì)于上述步驟S130,在對(duì)待播放的幀數(shù)據(jù)進(jìn)行了相應(yīng)地壓縮之后,將壓縮后的幀數(shù)據(jù)傳輸至終端設(shè)備。這樣,能夠節(jié)省服務(wù)器傳輸至終端設(shè)備進(jìn)行播放的數(shù)據(jù)的量,從而節(jié)省傳輸帶寬。并且,由于保持用戶想要觀看的內(nèi)容不變,因此可以保證這部分內(nèi)容的清晰度。
在一種可能的實(shí)現(xiàn)方式中,由于在網(wǎng)絡(luò)中傳輸?shù)膸瑪?shù)據(jù)必須是矩形格式,因此需要將壓縮后的幀數(shù)據(jù)、即六個(gè)面的數(shù)據(jù)轉(zhuǎn)換成矩形格式。然后,將轉(zhuǎn)換成矩形格式的幀數(shù)據(jù)傳輸至終端設(shè)備以進(jìn)行相應(yīng)的全景視頻的播放。
需要說明的是,用于播放全景視頻的終端設(shè)備不限于手機(jī),也可以是例如平板電腦等的其它類型的終端設(shè)備,只要該設(shè)備能夠播放全景視頻以供用戶觀看即可。此外,用于檢測(cè)用戶行為的傳感器不限于陀螺儀,也可以是其它類型的傳感器,只要該傳感器能夠檢測(cè)到用戶行為的變化即可。此外,特定的觀看設(shè)備不限于頭盔形狀,也可以是任何形狀的框體、球體等,只要該框體、球體等能夠使戴上框體、球體等的用戶能夠觀看終端設(shè)備中播放的全景視頻即可。
需要說明的是,在上述實(shí)施例中,在獲取到用戶行為之后,根據(jù)用戶行為對(duì)全景視頻的幀數(shù)據(jù)進(jìn)行即時(shí)壓縮,屬于即時(shí)處理。然而,本發(fā)明不限于此。例如,也可以根據(jù)實(shí)踐中統(tǒng)計(jì)出的多個(gè)用戶行為,分別對(duì)全景視頻的各幀數(shù)據(jù)預(yù)先進(jìn)行不同類型的壓縮處理,即將全景視頻中的每一幀數(shù)據(jù)均根據(jù)用戶行為轉(zhuǎn)碼成多種格式,然后存儲(chǔ)在服務(wù)器中。接著,在獲取到終端設(shè)備上所檢測(cè)到的用戶行為之后,從所存儲(chǔ)的多種格式中選擇相應(yīng)的格式傳輸至終端設(shè)備上進(jìn)行播放即可。這樣,也可以實(shí)現(xiàn)傳輸帶寬和流量的減少,并且進(jìn)一步提高了傳輸效率。
這樣,通過本實(shí)施例的全景視頻播放方法,通過對(duì)用戶行為的分析,以得出用戶的觀看傾向,從而得出用戶想要觀看或重視的內(nèi)容,并且在保證這部分內(nèi)容的清晰度的情況下,對(duì)次要內(nèi)容進(jìn)行壓縮,即利用不同的轉(zhuǎn)碼方式,來在盡可能保證用戶觀看清晰度的前提下對(duì)全景視頻的內(nèi)容進(jìn)行轉(zhuǎn)碼。這樣,可以減少傳輸全景視頻的幀數(shù)據(jù)時(shí)的數(shù)據(jù)量,從而節(jié)約帶寬和流量。
實(shí)施例2
本實(shí)施例的全景視頻播放方法與實(shí)施例1的全景視頻播放方法的主要區(qū)別在于,在本實(shí)施例中,所獲取到的用戶行為具體包括用戶左右移動(dòng)視角和用戶上下移動(dòng)視角。
在一種可能的實(shí)現(xiàn)方式中,在所獲取到的用戶行為是用戶左右移動(dòng)視角的情況下,上述步驟S120具體為將全景視頻的待播放的幀數(shù)據(jù)中的后面、上面和下面的數(shù)據(jù)進(jìn)行壓縮。
具體而言,在用戶利用特定的觀看設(shè)備觀看全景視頻時(shí),用戶可以左右移動(dòng)頭部,這時(shí)可以認(rèn)為用戶在左右移動(dòng)視角,這表明用戶存在想要觀看左面、前面和右面的全景視頻的傾向。也就是說,用戶想要觀看或重視的內(nèi)容是與立方體的左面、前面和右面的數(shù)據(jù)相對(duì)應(yīng)的內(nèi)容。這時(shí),服務(wù)器在獲取到終端設(shè)備所檢測(cè)到的該用戶左右移動(dòng)視角的用戶行為的情況下,可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中后面、上面和下面的數(shù)據(jù)進(jìn)行壓縮,并使左面、前面和右面的數(shù)據(jù)保持不變。然后,將數(shù)據(jù)壓縮后的幀數(shù)據(jù)轉(zhuǎn)換成如圖4所示的矩形格式的數(shù)據(jù)。
接著,將該矩形格式的數(shù)據(jù)傳輸至終端設(shè)備,以使得該終端設(shè)備能夠播放全景視頻的壓縮后的幀數(shù)據(jù)。
這樣,服務(wù)器傳輸至終端設(shè)備的數(shù)據(jù)的量減少,從而能夠在保證用戶想要觀看或重視的內(nèi)容的清晰度的情況下,減少相應(yīng)的傳輸帶寬和流量。
在一種可能的實(shí)現(xiàn)方式中,在所獲取到的用戶行為是用戶上下移動(dòng)視角的情況下,上述步驟S120具體為將全景視頻的待播放的幀數(shù)據(jù)中的左面、后面和右面的數(shù)據(jù)進(jìn)行壓縮。
具體而言,在用戶利用特定的觀看設(shè)備觀看全景視頻時(shí),用戶可以上下移動(dòng)頭部,這時(shí)可以認(rèn)為用戶在上下移動(dòng)視角,這表明用戶存在想要觀看上面、前面和下面的全景視頻的傾向。也就是說,用戶想要觀看或重視的內(nèi)容是與立方體的上面、前面和下面的數(shù)據(jù)相對(duì)應(yīng)的內(nèi)容。這時(shí),服務(wù)器在獲取到終端設(shè)備所檢測(cè)到的該用戶上下移動(dòng)視角的用戶行為的情況下,可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中左面、后面和右面的數(shù)據(jù)進(jìn)行壓縮,并使上面、前面和下面的數(shù)據(jù)保持不變。然后,將數(shù)據(jù)壓縮后的幀數(shù)據(jù)轉(zhuǎn)換成如圖5所示的矩形格式的數(shù)據(jù)。
接著,將該矩形格式的數(shù)據(jù)傳輸至終端設(shè)備,以使得該終端設(shè)備能夠播放全景視頻的壓縮后的幀數(shù)據(jù)。
這樣,服務(wù)器傳輸至終端設(shè)備的數(shù)據(jù)的量減少,從而能夠在保證用戶想要觀看或重視的內(nèi)容的清晰度的情況下,減少相應(yīng)的傳輸帶寬和流量。
需要說明的是,用戶行為是用戶左右移動(dòng)視角并非指用戶絕對(duì)地在水平方向上左右移動(dòng)視角、而是相對(duì)于豎直方向的上下移動(dòng)而言更傾向于水平方向上的左右移動(dòng)視角的用戶行為。例如,用戶在相對(duì)于豎直方向大于45度的方向上移動(dòng)視角即可認(rèn)為是用戶在左右移動(dòng)視角。同理,用戶行為是用戶上下移動(dòng)視角并非指用戶絕對(duì)地在豎直方向上上下移動(dòng)視角、而是相對(duì)于水平方向的左右移動(dòng)而言更傾向于豎直方向上的上下移動(dòng)視角的用戶行為。例如,用戶在相對(duì)于水平方向大于45度的移動(dòng)即可認(rèn)為是用戶在豎直移動(dòng)視角。
需要說明的是,本發(fā)明不限定用戶行為的劃分方式。即,本發(fā)明可以不只限定兩種用戶行為,而可以相應(yīng)地進(jìn)行更細(xì)致的劃分。例如,可以分為用戶向上移動(dòng)視角、用戶向下移動(dòng)視角、用戶向左移動(dòng)視角和用戶向右移動(dòng)視角。相應(yīng)地,例如,當(dāng)用戶行為是用戶向上移動(dòng)視角時(shí),可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中左面、后面、右面和下面的數(shù)據(jù)進(jìn)行壓縮,并使上面和前面數(shù)據(jù)保持不變。當(dāng)用戶行為是用戶向下移動(dòng)視角時(shí),可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中左面、后面、右面和上面的數(shù)據(jù)進(jìn)行壓縮,并使下面和前面數(shù)據(jù)保持不變。當(dāng)用戶行為是用戶向左移動(dòng)視角時(shí),可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中后面、右面、下面和上面的數(shù)據(jù)進(jìn)行壓縮,并使左面和前面數(shù)據(jù)保持不變。當(dāng)用戶行為是用戶向右移動(dòng)視角時(shí),可以對(duì)待播放的幀數(shù)據(jù)采用如下的轉(zhuǎn)碼方式:將待播放的幀數(shù)據(jù)中后面、左面、下面和上面的數(shù)據(jù)進(jìn)行壓縮,并使右面和前面數(shù)據(jù)保持不變。
此外,也可以不只是在水平和豎直方向上進(jìn)行用戶行為的劃分,而是例如按照360度、每隔45度進(jìn)行一次方位的確定,然后根據(jù)所確定的方位得出用戶想要觀看的內(nèi)容,再對(duì)次要的內(nèi)容進(jìn)行壓縮即可。
需要說明的是,上述實(shí)施例中,圖4、圖5中矩形格式的幀數(shù)據(jù)各面的內(nèi)容的位置可以改變,只要該改變后幀數(shù)據(jù)仍然是矩形格式并且在播放端根據(jù)該改變相應(yīng)地調(diào)整解碼方式即可。
這樣,通過本實(shí)施例的全景視頻播放方法,通過對(duì)用戶行為、具體為用戶移動(dòng)視角的方向的分析,以得出用戶的觀看傾向,從而得出用戶想要觀看或重視的內(nèi)容,并且在保證這部分內(nèi)容的清晰度的情況下,對(duì)次要內(nèi)容進(jìn)行壓縮,即利用不同的轉(zhuǎn)碼方式,來在盡可能保證用戶觀看清晰度的前提下對(duì)全景視頻的內(nèi)容進(jìn)行轉(zhuǎn)碼。這樣,可以減少傳輸全景視頻的幀數(shù)據(jù)時(shí)的數(shù)據(jù)量,從而節(jié)約帶寬和流量。
實(shí)施例3
圖6示出根據(jù)本發(fā)明一實(shí)施例的全景視頻播放裝置的結(jié)構(gòu)框圖。如圖6所示,全景視頻播放裝置20包括獲取單元21,用于獲取終端設(shè)備所檢測(cè)到的用戶觀看全景視頻時(shí)的用戶行為,其中,所述全景視頻的各幀數(shù)據(jù)是基于立方體模型而編碼的、包括六個(gè)面的數(shù)據(jù);壓縮單元22,與所述獲取單元21連接,用于根據(jù)所獲取到的用戶行為來對(duì)所述全景視頻的待播放的幀數(shù)據(jù)中的至少一個(gè)面的數(shù)據(jù)進(jìn)行壓縮;以及傳輸單元23,與所述壓縮單元22連接,用于將所述全景視頻的壓縮后的幀數(shù)據(jù)傳輸至所述終端設(shè)備,以使得所述終端設(shè)備能夠播放所述全景視頻的壓縮后的幀數(shù)據(jù)。
在一種可能的實(shí)現(xiàn)方式中,所述傳輸單元23包括:轉(zhuǎn)換模塊231,用于將所述全景視頻的壓縮后的幀數(shù)據(jù)轉(zhuǎn)換成矩形格式;以及傳輸模塊232,與所述轉(zhuǎn)換模塊連接,用于將轉(zhuǎn)換成矩形格式的幀數(shù)據(jù)傳輸至所述終端設(shè)備。
在一種可能的實(shí)現(xiàn)方式中,所述壓縮單元22可以具體用于:在所獲取到的用戶行為是用戶左右移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的后面、上面和下面的數(shù)據(jù)進(jìn)行壓縮。
在一種可能的實(shí)現(xiàn)方式中,所述壓縮單元22可以具體用于:在所獲取到的用戶行為是用戶上下移動(dòng)視角的情況下,將所述全景視頻的待播放的幀數(shù)據(jù)中的左面、后面和右面的數(shù)據(jù)進(jìn)行壓縮。
本實(shí)施例的全景視頻播放裝置20可以用來實(shí)現(xiàn)上述實(shí)施例1或2中所述的全景視頻播放方法。上述全景視頻播放方法的具體流程詳見上述實(shí)施例1和2。
根據(jù)本實(shí)施例的全景視頻播放裝置,通過對(duì)用戶行為的分析,以得出用戶的觀看傾向,從而得出用戶想要觀看或重視的內(nèi)容,并且在保證這部分內(nèi)容的清晰度的情況下,對(duì)次要內(nèi)容進(jìn)行壓縮,即利用不同的轉(zhuǎn)碼方式,來在盡可能保證用戶觀看清晰度的前提下對(duì)全景視頻的內(nèi)容進(jìn)行轉(zhuǎn)碼。這樣,可以減少傳輸全景視頻的幀數(shù)據(jù)時(shí)的數(shù)據(jù)量,從而節(jié)約帶寬和流量。
實(shí)施例4
圖7示出根據(jù)本發(fā)明另一實(shí)施例的全景視頻播放裝置的結(jié)構(gòu)框圖。所述全景視頻播放裝置1100可以是具備計(jì)算能力的主機(jī)服務(wù)器、個(gè)人計(jì)算機(jī)PC、或者可攜帶的便攜式計(jì)算機(jī)或終端等。本發(fā)明具體實(shí)施例并不對(duì)計(jì)算節(jié)點(diǎn)的具體實(shí)現(xiàn)做限定。
所述全景視頻播放裝置1100包括處理器(processor)1110、通信接口(Communications Interface)1120、存儲(chǔ)器(memory)1130和總線1140。其中,處理器1110、通信接口1120、以及存儲(chǔ)器1130通過總線1140完成相互間的通信。
通信接口1120用于與網(wǎng)絡(luò)設(shè)備通信,其中網(wǎng)絡(luò)設(shè)備包括例如虛擬機(jī)管理中心、共享存儲(chǔ)等。
處理器1110用于執(zhí)行程序。處理器1110可能是一個(gè)中央處理器CPU,或者是專用集成電路ASIC(Application Specific Integrated Circuit),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。
存儲(chǔ)器1130用于存放文件。存儲(chǔ)器1130可能包含高速RAM存儲(chǔ)器,也可能還包括非易失性存儲(chǔ)器(non-volatile memory),例如至少一個(gè)磁盤存儲(chǔ)器。存儲(chǔ)器1130也可以是存儲(chǔ)器陣列。存儲(chǔ)器1130還可能被分塊,并且所述塊可按一定的規(guī)則組合成虛擬卷。
在一種可能的實(shí)施方式中,上述程序可為包括計(jì)算機(jī)操作指令的程序代碼。該程序具體可用于:實(shí)現(xiàn)上述各實(shí)施例中的方法各步驟的操作。
本領(lǐng)域普通技術(shù)人員可以意識(shí)到,本文所描述的實(shí)施例中的各示例性單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件形式來實(shí)現(xiàn),取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以針對(duì)特定的應(yīng)用選擇不同的方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。
如果以計(jì)算機(jī)軟件的形式來實(shí)現(xiàn)所述功能并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),則在一定程度上可認(rèn)為本發(fā)明的技術(shù)方案的全部或部分(例如對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分)是以計(jì)算機(jī)軟件產(chǎn)品的形式體現(xiàn)的。該計(jì)算機(jī)軟件產(chǎn)品通常存儲(chǔ)在計(jì)算機(jī)可讀取的非易失性存儲(chǔ)介質(zhì)中,包括若干指令用以使得計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī)、服務(wù)器、或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各實(shí)施例方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。
以上所述,僅為本發(fā)明的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以所述權(quán)利要求的保護(hù)范圍為準(zhǔn)。