編譯/VR陀螺
AVFoundation團(tuán)隊(duì)的工程師Chris Flick在蘋果WWDC23的開發(fā)者演講中以“為3D空間體驗(yàn)傳輸流媒體視頻內(nèi)容”為主題展開討論。
該演講旨在幫助開發(fā)者了解如何使用HTTP Live Streaming(HLS)為VisionOS準(zhǔn)備和提供流媒體視頻內(nèi)容,以及讓他們快速了解當(dāng)前的HLS的交付流程和相關(guān)技術(shù),令開發(fā)者能在現(xiàn)有的2D內(nèi)容制作流程的基礎(chǔ)上進(jìn)行3D內(nèi)容擴(kuò)展,使得流媒體視頻內(nèi)容更有沉浸感。
圖源:蘋果
以下為蘋果“為3D空間體驗(yàn)傳輸流媒體視頻內(nèi)容”的主題分享(VR陀螺翻譯,基于原文略有修改):
首先簡要回顧一下目前使用HTTP實(shí)時(shí)流媒體制作、準(zhǔn)備和交付2D內(nèi)容的步驟。HTTP Live Streaming也被稱為HLS。在完成了2D內(nèi)容的準(zhǔn)備和交付后,我們將轉(zhuǎn)向3D視頻內(nèi)容,即支持的內(nèi)容和對剛才描述的步驟的更新。
考慮到內(nèi)容管道,我們將從視頻、音頻和字幕的媒體編碼開始。然后需要打包這些媒體資源,為HLS交付做好準(zhǔn)備。這就是目前2D內(nèi)容的傳輸方式。如今要實(shí)現(xiàn)傳輸3D內(nèi)容的目標(biāo),則是建立在當(dāng)前2D內(nèi)容傳輸流程之上的。
圖源:蘋果
HLS為碎片化的MP4定時(shí)元數(shù)據(jù)(metadata)增加了新的支持。這是通過建立在蘋果Media技術(shù)基礎(chǔ)上實(shí)現(xiàn)的,如HLS、AVFoundation、Core Media和基于標(biāo)準(zhǔn)的格式,如通常被認(rèn)為是MPEG-4的基于ISO的媒體文件格式。這一切都可在支持新的空間體驗(yàn)范式的同時(shí)完成。
2D內(nèi)容的傳輸方式
視頻
在視頻方面,對源視頻進(jìn)行編碼,將其輯成合適的長度,并調(diào)整比特率進(jìn)行顏色校正。在這里,用戶可選擇如何配置和使用HEVC(高效視頻編碼的簡稱)等視頻編碼器。該平臺支持高達(dá)4K分辨率的內(nèi)容播放,顯示器的刷新率是90Hz,而對于每秒24fps的視頻,可以自動(dòng)使用特殊的96Hz模式。支持標(biāo)準(zhǔn)和高動(dòng)態(tài)范圍。
音頻
在視頻的對應(yīng)音頻方面,確定并制作所需的源音頻流的數(shù)量(數(shù)量取決于主要角色對話和其他音頻)。在考慮到HLS傳輸?shù)那闆r下將這些音源進(jìn)行編碼。(HLS開發(fā)者頁面有關(guān)于準(zhǔn)備音頻的文檔鏈接。)
字幕
字幕包括字幕和隱藏式字幕,以涵蓋不同的語言和角色。這里的字幕是指視頻中用于提供不同語言翻譯的口語文本轉(zhuǎn)錄,或用于確定設(shè)置的時(shí)間和地點(diǎn)。隱藏式字幕類似于一般字幕,它不僅能提供對話轉(zhuǎn)錄還能提示聲音效果和相關(guān)音頻的細(xì)節(jié)描述,便于聽障人士查看,即SDH(Subtitles for Deaf and Hard-of-hearing)人群。
與視頻和音頻編碼類似,用戶可以制作HLS支持的字幕文件和格式,最常見的是WebVTT。
包裝/打包
有了源視頻、音頻和字幕在手,接下來就是打包,這是將源媒體文件轉(zhuǎn)化為各種類型的片段以進(jìn)行可靠傳輸?shù)倪^程??梢杂锰O果公司的HLS工具來完成,可在早期的HLS流媒體頁面上找到,也可以使用其他內(nèi)容平臺的工具。
解決3D內(nèi)容視差問題
現(xiàn)在來重點(diǎn)關(guān)注2D內(nèi)容和3D立體內(nèi)容的差異。3D視頻是電影軌道或網(wǎng)絡(luò)流中的幀序列。3D視頻中的“3D”可與“立體”互換使用,這里的立體視覺可為左眼提供一張圖像,為右眼提供另一個(gè)非常相似的圖像,視角略有不同。左右圖像之間的這些差異,稱為視差,使用戶在觀看這類視頻時(shí)能感受到三維的深度。
圖源:蘋果
雖然在如何傳輸3D視頻幀方面有不同選擇,但有一些參考方法可以提供幫助。通過對所有立體幀使用單個(gè)視頻軌道,保留了傳統(tǒng)的2D視頻軌道的制作。左邊和右邊的圖像或視圖,對于任何顯示時(shí)間都是在一個(gè)單一的壓縮幀。理想情況下,獲得蘋果芯片支持后,應(yīng)該可以被非3D感知播放所解碼,允許在2D工作流程中預(yù)覽視頻。為了提供立體幀,我們引入了多視圖HEVC(也稱為MV-HEVC)。
在MV-HEVC中,將基本的HEVC 2D視圖存儲在每個(gè)壓縮的幀中。編碼確定左右圖像之間的差異或增量。這種技術(shù)被稱為2D Plus Delta,意味著2D解碼器可以找到并使用基礎(chǔ)2D視圖,例如左眼。但三維解碼器可以計(jì)算出另一個(gè)視圖,將兩個(gè)視圖呈現(xiàn)給對應(yīng)的眼睛。
由于視差的不同,視頻場景中的一個(gè)物體可能被認(rèn)為比另一個(gè)更近或更遠(yuǎn)??梢远x立體深度內(nèi)容的三個(gè)主要區(qū)域:一是沒有視差的屏幕平面;二是負(fù)視差,將導(dǎo)致物體在屏幕平面前被感知;三是正視差將導(dǎo)致物體在屏幕平面后被感知。而渲染方式不恰當(dāng)則會(huì)產(chǎn)生深度沖突,造成觀看時(shí)的不舒適。
我們不要求使用新的字幕格式或改變現(xiàn)有的格式,而是提供一種方法來描述每個(gè)視頻幀的視差,并將其稱為“視差輪廓(parallax contour)”并將其作為元數(shù)據(jù)記錄在元數(shù)據(jù)軌道中,與視頻軌道的幀同步。
如果對3D視頻進(jìn)行平鋪,并指出每塊平鋪的深度視差,我們就可以用它來確保字幕永遠(yuǎn)不會(huì)干擾到立體視頻中的元素。在內(nèi)容播放過程中,字幕的視差將被自動(dòng)調(diào)整以避免深度沖突。(描述該元數(shù)據(jù)格式的規(guī)范可在SDK中找到)
來源:Apple