TW202304213A - 媒體資料處理方法及系統 - Google Patents

媒體資料處理方法及系統 Download PDF

Info

Publication number
TW202304213A
TW202304213A TW111125114A TW111125114A TW202304213A TW 202304213 A TW202304213 A TW 202304213A TW 111125114 A TW111125114 A TW 111125114A TW 111125114 A TW111125114 A TW 111125114A TW 202304213 A TW202304213 A TW 202304213A
Authority
TW
Taiwan
Prior art keywords
media
client
content
client device
server
Prior art date
Application number
TW111125114A
Other languages
English (en)
Inventor
新 王
魯林 陳
Original Assignee
新加坡商聯發科技(新加坡)私人有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 新加坡商聯發科技(新加坡)私人有限公司 filed Critical 新加坡商聯發科技(新加坡)私人有限公司
Publication of TW202304213A publication Critical patent/TW202304213A/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21805Source of audio or video content, e.g. local disk arrays enabling multiple viewpoints, e.g. using a plurality of cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/10Processing, recording or transmission of stereoscopic or multi-view image signals
    • H04N13/106Processing image signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N13/00Stereoscopic video systems; Multi-view video systems; Details thereof
    • H04N13/30Image reproducers
    • H04N13/388Volumetric displays, i.e. systems where the image is built up from picture elements distributed through a volume
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/816Monomedia components thereof involving special video data, e.g 3D video
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文描述了一種媒體資料處理方法及系統,用於生成和獲得沉浸式媒體的視訊資料。提供沈浸式媒體的視訊資料由與客戶端設備通信的方法由服務器實現,包括:在客戶端第一次訪問沉浸式內容的媒體資料流的時間點,從客戶端設備接收訪問與沈浸式內容相關聯的媒體資料流的請求;確定傳送到客戶端設備的沉浸式內容的媒體資料的初始部分,初始部分從客戶端請求訪問的時間點開始 ;以及響應於訪問媒體資料流的請求,傳輸媒體資料的初始部分。本文的媒體資料處理方法及系統可以節省帶寬。

Description

媒體資料處理方法及系統
本文所描述的技術一般涉及用於媒體處理和流式傳輸(streaming)的服務器端動態空間和時間適配,包括用於2D內容的流和用於實時沉浸式內容(live immersive content)。
存在各種類型的 3D 內容和多向內容。例如,全向視訊是一種使用一組攝像機,而不是像傳統單向視訊那樣僅使用單個攝像機捕獲的視訊。例如,可以將攝像機放置在特定的中心點周圍,以便每個攝像機捕獲場景的球形覆蓋範圍內的一部分視訊,從而捕獲 360 度視訊。來自多個攝像機的視訊可以被拼接、可能旋轉和投影,以生成代表球形內容的投影二維圖像。例如,可以使用等長矩形投影將球面圖放入二維圖像中。然後可以進一步使用例如二維編碼和壓縮技術處理。最終,使用期望的傳送機制(例如,閃存(thumb drive)、數位視訊磁盤(DVD)、文件下載、數位廣播和/或在線流媒體)來存儲和傳送編碼和壓縮的內容。這種視訊可用於虛擬現實 (VR) 和/或 3D 視訊。
在客戶端,當客戶端處理內容時,視訊解碼器對編碼和壓縮的視訊進行解碼,並執行逆投影以將內容放回球體上。用戶然後可以查看呈現的內容,例如使用頭戴式查看設備。內容通常根據用戶的視埠(viewport)呈現,視埠代表用戶查看內容的角度。視埠還可以包括表示觀看區域的組件,該組件可以描述觀看者以特定角度觀看的區域的大小和形狀。
當視訊處理不以視埠相關的方式進行時,使得視訊編碼器和/或解碼器不知道用戶將實際觀看什麼,那麼整個編碼、傳送和解碼過程將處理整個球面內容。例如,這可以允許用戶在任何特定視埠和/或區域查看內容,因為所有球形內容都被編碼、傳遞和解碼。但是,處理所有球形內容可能是計算密集型的,並且會消耗大量帶寬。
在線流(Online streaming)技術,例如基於 HTTP 的動態自適應流 (dynamic adaptive streaming over HTTP,簡寫為DASH)、HTTP實時流(HTTP Live Streaming,簡寫為HLS)等,可以提供自適應位元率媒體流技術(包括多向內容和/或其他媒體內容)。例如,DASH 可以允許客戶端請求可用的多個內容版本之一,以便客戶端選擇所請求的內容以滿足客戶端的當前需求和/或處理能力。然而,這樣的流技術需要客戶端執行的適配會給客戶端設備帶來沉重的負擔和/或可能無法通過低成本設備實現。
根據所公開的主題,提供了裝置、系統和方法,例如用於實現用於媒體處理和流式傳輸的動態空間和時間適配,包括用於2D內容的流式傳輸和用於實時沉浸式內容。
根據一個實施例,提供沈浸式媒體的視訊資料由與客戶端設備通信的方法由服務器實現,包括:在客戶端第一次訪問沉浸式內容的媒體資料流的時間點,從客戶端設備接收訪問與沈浸式內容相關聯的媒體資料流的請求;確定傳送到客戶端設備的沉浸式內容的媒體資料的初始部分,初始部分從客戶端請求訪問的時間點開始 ;以及響應於訪問媒體資料流的請求,傳輸媒體資料的初始部分。
根據一個實施例,媒體資料處理方法,用於獲取沈浸式媒體的視訊資料,由與服務器設備通信的客戶端實現,方法包括:在客戶端設備首先訪問沉浸式內容的媒體資料流的時間點訪問沉浸式內容的媒體資料流,包括向服務器發送在時間點訪問沉浸式內容的請求;以及響應於訪問媒體資料流的請求,從客戶端請求訪問的時間點開始接收沉浸式內容的媒體資料的初始部分。
根據一個實施例,媒體資料處理系統,包括至少一個處理器,被配置為執行用於提供沈浸式媒體的視訊資料的方法,方法由與客戶端設備通信的服務器實現,方法包括:在客戶端第一次訪問沉浸式內容的媒體資料流的時間點,從客戶端設備接收訪問與沈浸式內容相關聯的媒體資料流的請求;確定傳送到客戶端設備的沉浸式內容的媒體資料的初始部分,初始部分從客戶端請求訪問的時間點開始 ;以及響應於訪問媒體資料流的請求,傳輸媒體資料的初始部分。
本文的媒體資料處理方法及系統可以節省帶寬。
因此,已經相當廣泛地概述了所公開主題的特徵,以便可以更好地理解下面的詳細描述,並且可以更好地理解對本領域的當前貢獻。當然,所公開的主題的附加特徵將在下文中描述並且將形成所附申請專利範圍的主題。應當理解,這裡使用的措辭和術語是為了描述的目的而不應被視為限制性的。
傳統的自適應媒體流技術依賴於客戶端設備來執行適配,客戶端通常基於由客戶端確定和/或對客戶端可用的適配參數(adaptation parameter)來執行適配。例如,客戶端可以接收可用媒體的描述(例如,包括不同的可用位元率),確定其處理能力和/或網路帶寬,並使用確定的資訊從可用位元率中選擇滿足客戶當前的處理能力的最佳可用位元率。客戶端可以隨時間更新相關的適配參數,並相應地調整請求的位元率以動態調整內容以適應不斷變化的客戶端條件。
傳統客戶端流適配方法可能存在缺陷。特別是,這種範式將內容適配的負擔放在了客戶端上,因此客戶端負責獲取其相關處理參數並處理可用內容以在可用表示中進行選擇,以找到客戶端參數的最佳表示。適配過程是迭代的,因此客戶端必須隨著時間的推移重複執行適配過程。
特別是,客戶端驅動的流適配,其中客戶端根據用戶的視埠請求內容,通常需要客戶端在任何給定時間對用戶視埠內圖像的圖塊和/或部分(例如,可能只是可用內容的一小部分)進行多次請求。因此,客戶端隨後接收並處理圖像的各個圖塊或部分,客戶端必須將它們組合起來以進行顯示。這通常被稱為客戶端動態適應 (client-side dynamic adaptation,CSDA)。由於 CSDA 方法要求客戶端下載多個圖塊的多個資料,因此通常需要客戶端在客戶端設備上即時拼接這些資料塊。因此,這可能需要在客戶端無縫拼接拼圖塊段。 CSDA 方法還要求對檢索和拼接的圖塊段進行一致的品質管理,例如,避免拼接不同品質的圖塊。一些 CSDA 方法試圖預測用戶的移動(以及視埠),這通常需要緩衝區管理來緩衝與預測的用戶移動相關的圖塊,並可能下載可能最終不會使用的圖塊(例如,如果用戶的移動不是正如預測的那樣)。
因此,給客戶端帶來了沉重的計算和處理負擔,並且需要客戶端設備具有足夠的最小處理能力。基於某些類型的內容,這種客戶端負擔可能會進一步加重。例如,某些內容(例如,沉浸式媒體內容)需要客戶端執行各種計算密集型處理步驟,以便將內容解碼並呈現給用戶。為了解決傳統客戶端驅動的流適配方法的這些和其他問題,本文描述的技術提供服務器側適配(server-side adaptation),其中媒體和/或網路服務器可以執行流適配(streaming adaptation)的方面,否則這些方面通常由客戶端設備執行。
在一些實施例中,客戶端設備可以向服務器提供渲染資訊。例如,在一些實施例中,客戶端設備可以為沈浸式媒體場景向服務器提供視埠資訊。例如,視埠資訊可以包括視埠方向、大小、高度和/或寬度。服務器可以使用視埠資訊在服務器端為客戶端構建視埠,而不需要客戶端設備進行視埠的拼接和構建。服務器隨後可以確定對應於視埠的區域和/或圖塊並執行區域和/或圖塊的拼接。因此,可以將空間媒體處理任務移動到自適應流實現的服務器端。根據一些實施例,響應於檢測到視埠已經改變,客戶端設備可以向服務器發送第二參數。
在一些實施例中,本文描述的用於導出的軌道選擇和軌道切換的技術可以用於在運行時(at run time)能夠分別從替代軌道組和切換軌道組進行軌道選擇和切換以傳送到客戶端設備。因此,服務器可以使用包括選擇和切換導出操作的導出軌道,該操作允許服務器基於可用的媒體軌道(例如,來自不同位元率的媒體軌道)為用戶構建單個媒體軌道。本文描述了提供可用於在樣本級別(例如,不是軌道級別)執行軌道選擇和軌道切換的軌道導出操作的變換操作。如本文所述,可以通過軌道選擇導出操作處理多個輸入軌道(例如,不同位元率、品質等的軌道),以在樣本級別從輸入軌道之一選擇樣本,從而生成輸出軌道的媒體樣本。因此,本文描述的基於選擇的軌道導出(selection-based track derivation)技術允許在導出操作時從一組軌道中的軌道選擇樣本。在一些實施例中,基於選擇的軌道導出可以提供軌道樣本的軌道封裝作為導出軌道的導出操作的輸出,其中軌道樣本是從一組軌道中選擇或切換的。結果,軌道選擇導出操作可以將來自任何輸入軌道的樣本提供給由導出軌道的變換指定的導出操作,以生成所得到的樣本的軌道封裝。
在以下描述中,闡述了關於所公開主題的系統和方法以及這些系統和方法可以在其中運行的環境等的許多具體細節,以便提供對所公開主題的透徹理解。此外,應當理解,以下提供的示例是示例性的,並且可以預期在所公開主題的範圍內還有其他系統和方法。
第1圖示出了根據一些實施例的示例性視訊編解碼配置100。攝像機102A-102N是N個攝像機,並且可以是任何類型的攝像機(例如,包括音訊記錄能力的攝像機,和/或單獨的攝像機和音訊記錄功能)。編碼設備104包括視訊處理器106和編碼器108。視訊處理器106處理從相機102A-102N接收的視訊,例如拼接、投影和/或映射。編碼器108對二維視訊資料進行編碼和/或壓縮。解碼裝置110接收編碼資料。解碼設備110可以通過廣播網路、通過移動網路(例如,蜂窩網路)和/或通過互聯網接收作為視訊產品(例如,數位視訊盤或其他計算機可讀媒體)的視訊。解碼裝置110例如可以是計算機、手持裝置、頭戴式顯示器的一部分或任何其他具有解碼能力的裝置。解碼設備110包括解碼器112,其被配置為對編碼的視訊進行解碼。解碼設備110還包括渲染器114,用於將二維內容渲染回用於回放的格式。顯示器116顯示來自渲染器114的渲染內容。
通常,可以使用球形內容來表示 3D 內容,以提供場景的 360 度視圖(例如,有時稱為全向媒體內容)。雖然使用 3D 球體可以支持多個視圖,但終端用戶通常只查看 3D 球體上的一部分內容。傳輸整個 3D 球體所需的帶寬會給網路帶來沉重的負擔,並且可能不足以支持球體內容。因此,希望使 3D 內容的交付(3D content delivery)更有效。可以執行視埠相關處理以改進 3D 內容交付。 3D球面內容可以劃分為區域/圖塊/子圖像(regions/tiles/sub-picture),只有與觀看屏幕相關的內容(例如,視埠)才能傳輸並交付給終端用戶。
第2圖示出了根據一些示例的用於VR內容的視埠相關內容流程200。如圖所示,球形視埠201(例如,其可以包括整個球體)在塊202處經歷拼接、投影、映射(以生成投影和映射區域),在塊204處被編碼(以生成多種品質的編碼/轉碼圖塊) ,在塊 206 交付(作為圖塊),在塊 208 解碼(以生成解碼的圖塊),在塊 210 構建(以構建球形渲染視埠),並在塊 212 渲染。塊 214 處的用戶交互可以選擇一個視埠,它會啟動多個“即時(just-in-time)”流程步驟,如虛線箭頭所示。
在過程200中,由於當前網路帶寬限制和各種適配要求(例如,在不同的品質、編解碼器和保護方案上),3D球形VR內容首先被處理(拼接、投影和映射)到2D平面(塊202)然後封裝在多個基於圖塊的(或基於子圖像的)和片段的文件中(塊204)以用於傳送和回放。在這種基於圖塊和片段的文件中,2D 平面中的空間圖塊(例如,它表示空間部分,通常為​​ 2D 平面內容的矩形)通常被封裝為其變體的集合,例如以不同的品質和位元率,或採用不同的編解碼器和保護方案(例如,不同的加密算法和模式)。在一些示例中,這些變體對應於 MPEG DASH 中的適配集中的表示。在一些示例中,基於用戶在視埠上的選擇,當放在一起時,提供所選視埠的覆蓋範圍的不同圖塊的這些變體中的一些變體由接收器檢索或傳送到接收器(通過傳送塊206),然後解碼(在塊208)以構建和渲染所需的視埠(在塊210和212)。
如第2圖所示,視埠的概念是終端用戶所看到的,它涉及球體上區域的角度和大小。對於 360 度內容,通常,這些技術將所需的圖塊/子圖像內容傳遞給客戶端,以覆蓋用戶將查看的內容。這個過程是視埠相關的,因為這些技術只提供覆蓋當前感興趣的視埠的內容,而非整個球形內容。視埠(例如,一種球形區域)可以改變,因此不是靜態的。例如,當用戶移動他們的頭部時,系統需要獲取相鄰的圖塊(或子圖像)以覆蓋用戶接下來想要查看的內容。
例如,可以將內容的平面文件結構用於單個電影的視訊軌道。對於 VR 內容,存在多於接收設備發送和/或顯示的內容的内容。例如,如本文所討論的,可以存在整個3D球體的內容,其中用戶僅觀看一小部分。為了更有效地編碼、存儲、處理和/或傳遞這樣的內容,可以將內容分成不同的軌道。第3圖示出了根據一些實施例的示例性軌道分層結構300。頂部軌道302是3D VR球形內容軌道,頂部軌道302下方是關聯元資料軌道304(每個軌道具有關聯元資料)。軌道306是2D投影軌道。軌道308是2D大圖像軌道(big picture track)。區域軌道被示為軌道310A到310R,通常稱為子圖像軌道310。每個區域軌道310具有一組相關聯的變體軌道。區域軌道310A包括變體軌道312A到312K。區域軌道310R包括變體軌道314A到314K。因此,如軌道層次結構300所示,可以開發以實體多個變體區域軌道312開始的結構,並且可以為區域軌道310(子圖像或圖塊軌道)、投影和打包的2D軌道308、投影2D軌道306和VR 3D視訊軌道302,以及與它們相關聯的適當元資料軌道建立軌道層次結構。
在操作中,變體軌道包括實際的圖像資料。設備在交替變化的軌道中進行選擇,以挑選代表子圖像區域(或子圖像軌道)310的那個。子圖像軌道310被平鋪並一起組合成2D大圖像軌道308。然後最終,軌道308被反向映射,例如,以重新排列一些部分以生成軌道306。軌道306然後被逆投影回3D軌道302,其是原始3D圖像。
示例性軌道分層結構可以包括以下方面所述的方面,例如:m39971,“Deriving Composite Tracks in ISOBMFF”,2017 年 1 月(日內瓦,CH); m40384,“Deriving Composite Tracks in ISOBMFF using track grouping mechanisms”,2017 年 4 月(澳大利亞霍巴特); m40385,“Deriving VR Projection and Mapping related Tracks in ISOBMFF”; m40412,“Deriving VR ROI and Viewport related Tracks in ISOBMFF”,MPEG 第 118 次會議,2017 年 4 月,通過引用將其全部併入本文。在第3圖中,rProjection、rPacking、compose和alternate分別表示軌道導出TransformProperty項reverse'proj'、reverse'pack'、'cmpa'和'cmp1',用於說明目的並且不旨在限制。元資料軌道中顯示的元資料類似地用於說明目的並且不旨在限制。例如,可以使用來自 OMAF 的元資料框,如 w17235,“Text of ISO/IEC FDIS 23090-2 Omnidirectional Media Format”, MPEG 第 120 次會議,2017 年 10 月(中國澳門)中所述,其通過引用併入本文它的全部。
第3圖中所示的軌道數旨在說明性而非限制性的。例如,在如第3圖所示的層次結構中不一定需要一些中間導出軌道的情況下,可以將相關的導出步驟組合成一個(例如,將反向打包和逆投影組合在一起以消除投影軌道306的存在)。
導出的視覺軌道可以通過其所包含類型“dtrk”的樣本條目來指示。導出樣本包含要對輸入圖像或樣本的有序列表執行的操作的有序列表。每個操作都可以由變換屬性(Transform Property)指定或指示。通過按順序執行指定的操作來重建導出的視覺樣本。 ISOBMFF 中可用於指定軌道導出的變換屬性示例,包括最新的 ISOBMFF 正在考慮的技術 (Technologies Under Consideration,簡寫為TuC) 中的那些(例如,參見 N17833,“Technologies under Consideration for ISOBMFF”,2018 年 7 月,盧布爾雅那,SK,其全部內容通過引用併入本文),包括:'idtt'(身份)變換屬性; 'clap'(清潔光圈(clean aperture)))變換屬性;'srot'(旋轉)變換屬性; 'dslv'(溶解(dissolve))變換屬性; '2dcc'(ROI 裁剪)變換屬性; 'tocp'(軌道疊加合成)變換屬性; 'tgcp'(跟踪網格合成)變換屬性; 'tgmc'(使用矩陣值跟踪網格合成)變換屬性; 'tgsc'(跟踪網格子圖像合成)變換屬性; 'tmcp'(變換矩陣合成)變換屬性; 'tgcp'(軌道分組合成)變換屬性;和“tmcp”(使用矩陣值的軌道分組合成)變換屬性。所有這些軌道導出都與空間處理有關,包括圖像處理和輸入軌道的空間合成。
導出的視覺軌道可用於指定將應用於導出操作的輸入軌蹟的視覺變換操作的定時序列(timed sequence)。輸入軌道可以包括例如具有靜止圖像和/或圖像的定時序列樣本的軌道。在一些實施例中,導出的視覺軌道可以包含在 ISOBMFF 中提供的方面,其在 w18855,“Text of ISO/IEC 14496-12 6th edition”(2019 年 10 月,日內瓦,CH )中指定,其通過引用整體併入本文。例如,ISOBMFF 可用於提供基本媒體文件設計和一組轉換操作。示例性變換操作包括,例如,Identity、Dissolve、Crop、Rotate、Mirror、Scaling、Region-of-interest 和 Track Grid,如 w19428,“Revised text of ISO/IEC CD 23001-16 Derived visual tracks in the ISO base media file format”(2020 年 7 月,在線會議)中所提到的,通過引用將其全部併入本文。 在TuC w19450,“Technologies under Consideration on ISO/IEC 23001-16”(2020 年 7 月,在線會議)中提供了一些額外的導出轉換候選,包括與合成和沈浸式媒體處理相關的轉換操作,在此通過引用將其全部內容併入本文。
第4圖示出了根據一些示例的軌道導出操作400的示例。多個輸入軌道/圖像一(1)402A、二(2)402B到N 402N被輸入到導出的視覺軌道404,其承載變換樣本的變換操作。軌道導出操作406將變換操作應用於導出視覺軌道404的變換樣本以生成包括視覺樣本的導出的視覺軌道408。
在 m39971(“Deriving Composite Tracks in ISOBMFF”(2017 年 1 月,日內瓦,CH),其通過引用整體併入本文)中提出了两种基于轨道选择的推导变换,即“Selection of One”('sel1')和“Selection of Any”('seln')。然而,這兩種變換都是為輸入軌道的圖像合成而設計的,因此需要維度資訊來進行合成操作。
傳統的自適應媒體流技術依賴於客戶端設備來執行基於客戶端可用的適配參數的任何適配。不意在限制,為了便於參考,此類技術通常可以稱為客戶端流適配(CSSA),其中客戶端設備負責在自適應媒體流系統中執行流適配。第5圖示出了根據一些實施例的通用自適應流系統500的示例性配置。與諸如HTTP服務器703之類的服務器通信的流客戶端501可以接收清單505。清單505描述內容(例如,視訊、音訊、字幕、位元率等)。在該示例中,清單遞送功能506可以向流媒體客戶端503提供清單505。清單遞送功能506和服務器503可以與媒體呈現準備模塊507通信。流客戶端501可以使用例如HTTP 緩存 504(例如,服務器端緩存和/或內容交付網路的緩存)從服務器 503請求(和接收)片段502。例如,這些片段可以與短媒體片段相關聯,例如6-10秒長片段。有關說明性示例的更多詳細資訊,請參見例如 w18609,“Text of ISO/IEC FDIS 23009-1:2014 4th edition”,2019 年 7 月,瑞典哥德堡,其通過引用整體併入本文。
第6圖示出了根據一些示例的包括媒體呈現描述(MPD)650的示例性清單。例如,清單可以是發送到流客戶端601的清單605。MPD 650包括一系列週期,這些週期將內容分成不同的時間部分,每個部分具有不同的ID和開始時間(例如,0秒、100秒、300 秒等)。每個時段可以包括一組多個適配集(例如,字幕、音訊、視訊等)。週期 652A 顯示每個週期如何可以具有一組關聯的適配集,在此示例中包括用於意大利語字幕的適配集 0 654、用於視訊的適配集 1 656、用於英語音訊的適配集 2 658 和用於德語音訊的適配集 3 660。每個適配集可以包括一組表示(representation)以提供適配集的相關內容的不同品質。如該示例中所示,適配集1 656包括表示1-4 662,每個具有不同的支持位元率(即,500 Kbps、1 Mbps、2 Mbps和3 Mbps)。每個表示可以具有不同品質的段資訊。如圖所示,例如,表示3 652A包括片段資訊662A,其具有10秒的持續時間和模板,以及片段訪問(segment access)664,其包括初始化片段(亦稱為段)和一系列媒體片段(例如,在本示例中,十秒長的媒體片段)。
在傳統的自適應流配置中,流客戶端,例如流客戶端501,實現用於流適配的適配邏輯。特別地,流媒體客戶端501可以接收MPD 650,並且選擇(例如,基於客戶端的適配參數,例如帶寬、CPU處理能力等)MPD的每個週期(可能隨時間、給定的不同網路條件和/或客戶端處理能力改變)的表示,並檢索相關的段以呈現給用戶。隨著客戶端的適配參數發生變化,客戶端可以相應地選擇不同的表示(例如,如果可用網路帶寬減少和/或客戶端處理能力低,則使用較低的位元率資料,或者如果可用帶寬增加和/或客戶端資料處理能力高,則使用較高的位元率)。在根據一些適配參數從不同媒體流中選擇片段時,適配邏輯可以包括靜態適配和動態適配。例如,這在 w18609 的“MPD Selection Metadata”中進行了描述,通過引用將其整體併入本文。
第7圖示出了客戶端動態自適應流系統的示例性配置700。如本文所述,配置700包括通過HTTP高速緩存761與服務器722通信的流客戶端710。服務器722可以被包括在媒體片段遞送功能720中,其包括片段遞送服務器721。片段遞送服務器721被配置為將片段751傳輸到流訪問引擎712。流訪問引擎還從清單遞送功能730接收清單741。
如本文所述,在常規配置中,客戶端設備710執行適配邏輯711。客戶端設備710通過清單遞送功能730接收清單。客戶端設備710還從流訪問引擎712接收適配參數並發送對流訪問引擎712選擇的片段的請求。流訪問引擎還與媒體引擎713通信。
第8圖示出了根據一些實施例的端到端流媒體處理的示例。在端到端流媒體處理流程800中,客戶端執行適配邏輯,該適配邏輯以從一組可用流811、812和813中選擇(例如,加密的)片段的形式來執行流適配,例如,片段 URL 801-803。這樣,每個加密段801、802和803通過內容交付網路(CDN)810傳輸並且全部傳輸到客戶端設備。客戶端設備然後可以選擇這些段。
傳統的客戶端流適配方法存在缺陷。特別地,這樣的範式被設計為使得客戶端既獲得內容適配所需的資訊(例如,適配參數),接收所有可用內容和相關表示(例如,不同位元率)的完整描述,又處理可用內容以在可用的表示中進行選擇,以找到最適合客戶端適應參數的表示。隨著時間的推移,客戶端必須進一步重複執行該過程,包括更新適配參數以及根據更新的參數選擇相同和/或不同的表示。因此,客戶端的負擔很重,需要客戶端設備具備足夠的處理能力。此外,此類配置通常需要客戶端發出多個請求以啟動流會話,包括 (1) 獲取可用內容的清單和/或其他描述,(2) 請求初始化片段,以及 (3 ) 然後請求內容片段。因此,這種方法通常需要三個或更多調用。對於說明性示例,假設每個調用大約需要 500 毫秒,那麼啟動過程可能會消耗一秒或多秒的時間。
對於某些類型的內容,例如沉浸式媒體,客戶端需要執行計算密集型操作。例如,傳統的沉浸式媒體處理向發出請求的客戶端提供圖塊。因此,客戶端設備需要從解碼的圖塊構建視埠,以便將視埠呈現給用戶。這種構建和/或拼接可能需要大量的客戶端處理能力。此外,這樣的方法可能需要客戶端設備接收一些最終沒有呈現到視埠中的內容,從而消耗不必要的存儲和帶寬。
在一些實施例中,本文描述的技術提供用於媒體軌道的服務器端選擇和/或切換。不意在進行限制,為了便於參考,此類技術通常可以稱為服務器端流適配(SSSA),其中服務器可以執行流適配的方面,否則這些方面通常由客戶端設備執行。因此,與傳統方法相比,這些技術提供了主要的範式轉變。在一些實施例中,這些技術可以將一些和/或大部分適配邏輯移動到服務器,使得客戶端可以簡單地向服務器提供適當的適配資訊和/或參數,並且服務器可以為該客戶端生成適當的媒體流。結果,客戶端處理可以簡化為接收和播放媒體,而不是同時執行適配。
在一些實施例中,這些技術提供了一組適配參數。適配參數可以由客戶端和/或網路收集並傳送到服務器以支持服務器端內容適配。例如,參數可以支持位元率自適應(例如,用於在不同的可用表示之間切換)。作為另一個示例,參數可以提供時間適應(例如,支持特技播放)。作為又一示例,這些技術可以提供空間適配(例如,視埠和/或視埠相關媒體處理適配)。作為另一個示例,這些技術可以提供內容適應(例如,用於預渲染、故事情節選擇等)。
在一些實施例中,本文描述的用於導出的軌道選擇和軌道切換的技術可以用於在運行時能夠分別從替代軌道組和切換軌道組進行軌道選擇和切換以傳送到客戶端設備。因此,服務器可以使用包括選擇和切換導出操作的導出軌道,該操作允許服務器基於可用的媒體軌道(例如,來自不同位元率的媒體軌道)為用戶構建單個媒體軌道。還參見,例如,m54876(“Track Derivations for Track Selection and Switching in ISOBMFF”,2020 年 10 月,在線會議)中包含的導出,其通過引用整體併入本文。
在一些實施例中,可用軌道和/或表述(representation)可以存儲為單獨的軌道。如本文所述,變換操作可用於在樣本級別(例如,不是軌道級別)執行軌道選擇和軌道切換。因此,本文描述的用於導出的軌道選擇和軌道切換的技術可以用於在運行時從一組可用媒體軌道(例如,不同位元率的軌道)中選擇和切換軌道,以傳送到客戶端設備。因此,服務器可以使用包括選擇和切換導出操作的導出軌道,該操作允許服務器基於可用的媒體軌道(例如,來自不同位元率的媒體軌道)和客戶端的適配為用戶構建單個媒體軌道參數。例如,軌道選擇和/或切換可以以從輸入軌道中選擇以確定哪個輸入軌道最適合客戶端的適應參數的方式來執行。結果,可以通過軌道選擇導出操作處理多個輸入軌道(例如,不同位元率、品質等的軌道),以從樣本級別的輸入軌道之一中選擇樣本,以生成媒體樣本的媒體樣本,其隨著時間的推移動態調整以滿足客戶端的適應參數。如本文所述,在一些實施例中,基於選擇的軌道導出可以將軌道樣本封裝為來自導出軌道的導出操作的輸出。結果,軌道選擇導出操作可以將來自任何輸入軌道的樣本提供給由導出軌道的變換指定的導出操作,以生成樣本的軌道封裝。生成的(新)軌道可以傳輸到客戶端設備進行播放。
在一些實施例中,客戶端設備可以向服務器提供空間適應資訊,例如空間渲染資訊。例如,在一些實施例中,客戶端設備可以為沈浸式媒體場景向服務器提供視埠資訊(在2D、球形和/或3D視埠上)。服務器可以使用視埠資訊在服務器端為客戶端構建視埠,而不需要客戶端設備執行(2D、球面或3D)視埠的拼接和構建。因此,空間媒體處理任務可以移動到自適應流實現的服務器端。
在一些實施例中,客戶端可以提供其他適應資訊,包括時間和/或基於內容的適應資訊。例如,客戶端可以提供位元率適配資訊(例如,用於表示切換)。作為另一個示例,客戶端可以提供時間適應資訊(例如,諸如用於特技播放、低延遲適應、快速上交(fast-turn-ins)等)。作為另一個示例,客戶端可以提供內容適配資訊(例如,用於預渲染、故事情節選擇等)。服務器端可以被配置為接收和處理這樣的適配資訊,以為客戶端設備提供時間和/或基於內容的適配。
例如,第9圖示出了根據一些實施例的服務器端自適應流系統的示例性配置。如本文所述,配置900包括通過HTTP緩存961與服務器922通信的流客戶端910。流客戶端910包括流訪問引擎912、媒體引擎913和HTTP訪問客戶端914。服務器922可以是媒體片段遞送功能920的一部分,其包括片段遞送服務器921。片段遞送服務器921被配置為將片段951傳輸到流媒體客戶端910的流媒體訪問引擎912。流媒體訪問引擎912還自清單遞送功能930接收清單941。與第7圖的示例不同,客戶端設備不執行適配邏輯在可用表示和/或片段中進行選擇。相反,適配邏輯923併入媒體傳遞功能920中,使得服務器端執行適配邏輯以基於客戶端適配參數動態選擇內容。因此,流客戶端910可以簡單地向媒體段遞送功能920提供適配資訊和/或適配參數,該功能又為客戶端執行選擇。在如本文所述的一些實施例中,流客戶端910可以請求與服務器為客戶端生成的內容流相關聯的一般(例如,佔位符)片段。
如本文進一步描述的,可以使用各種技術來傳達適配參數。 例如,適配參數可以作為查詢參數(例如,URL查詢參數)、HTTP參數(例如,作為HTTP頭參數)、SAND消息(例如,攜帶由客戶端和/或其他設備收集的適配參數)等提供。 URL查詢參數的示例可以包括例如:$bitrate=1024、$2D_viewport_x=0、$2D_viewport_y=0、$2D_viewport_width=1024、$2D_viewport_height=512等。HTTP報頭參數的示例可以包括例如 :位元率=1024、2D_viewport_x=0、2D_viewport_y=0、2D_viewport_width=1024、2D_viewport_height=512等。
第10圖示出了根據一些實施例的使用服務器端自適應流的端到端流媒體處理的示例。在端到端流媒體處理流程1000中,服務器而不是如第9圖的CSDA的示例中的客戶端設備執行一些和/或所有的適配邏輯,該適配邏輯用於從這裡討論的一組可用流中選擇(例如,加密的)片段。例如,服務器設備可以執行適配1020以從可用流1011-1013的集合中選擇片段。服務器設備可以選擇例如片段1001。片段1001可以相應地經由內容遞送網路(CDN)從服務器傳送到客戶端設備。如圖所示,客戶端設備因此可以使用如本文所討論的單個 URL 來從服務器獲取內容(而不是客戶端配置通常需要的多個 URL,以便區分可用內容的不同格式(例如,不同的位元率)。
第11圖示出了根據一些實施例的混合側自適應流(mixed side adaptive streaming)系統的示例性配置。配置1100包括通過HTTP緩存1161與服務器1122通信的流客戶端1110。流客戶端1110包括適配邏輯1111、流訪問引擎1112、媒體引擎1113和HTTP訪問客戶端1114。服務器1122可以是媒體片段遞送功能1120的一部分,媒體片段遞送功能1120包括片段遞送服務器1121和適配邏輯1110。片段遞送服務器1121被配置為將片段1151傳輸到流客戶端1110的流訪問引擎1112。流訪問引擎1112進一步從清單遞送功能1130接收清單1141。
媒體段遞送功能1120和客戶端設備1110兩者都執行適配邏輯的關聯部分,如包括適配邏輯1123的媒體段遞送功能1120和包括適配邏輯1111的流客戶端1110所示。因此,客戶端設備1110經由流訪問引擎1112接收和/或確定適配參數,從清單1141中呈現的可用段集合中確定(例如,第一)段,並將對該段的請求發送到段遞送服務器1121。流客戶端1110還可以被配置為隨時間確定和更新適配參數,並且將適配參數提供給服務器,使得媒體片段遞送功能1120可以隨時間繼續為流傳輸客戶端1110執行適配。
第12圖示出了根據一些實施例的用於諸如軌道選擇或切換之類的操作的參數列表1200。參數列表包括編解碼器(codec) 1210、屏幕尺寸(screen size) 1220、最大封包大小(Max packet size) 1230、媒體類型(media type) 1240、媒體語言(media language) 1250、位元率(bitrate) 1260、幀速率 (frame rate)1270 和視圖數量(number of views)1280。參數編解碼器 1210 可以由“cdec”1211 表示,且其可能是一個樣本條目(sample entry)(例如,在媒體軌道的 SampleDescriptionBox 中)。參數屏幕尺寸1220可以由'scsz' 1221表示並且可以包括VisualSampleEntry的寬度和高度字段。參數最大封包大小 1230 可以由“mpsz”1231 表示,並且可以是最大封包大小(例如,RtpHintSampleEntry 中的 Maxpacketsize 字段)。參數媒體類型1240可以由“mtyp”1241表示並且可以是處理類型(handling type)(例如,(媒體軌道的)HandlerBox中的Handlertype)。參數媒體語言1250可以由“mela”1251表示,並且可以是MediaHeaderBox中用於指定語言的語言字段。參數位元率1260可以由“bitr”1261表示,並且可以是軌道中樣本的總大小除以TrackHeaderBox中的持續時間。參數幀速率1270可以由“frar”1271表示並且可以是軌道中的樣本數量除以TrackHeaderBox中的持續時間。參數視圖數量1280可以由“nvws” 1281表示並且可以是軌道中的視圖數量。應當理解,結合第12圖討論的名稱、屬性和其他約定僅用於示例性目的並且可以與各種實施方式一起使用。例如,這些參數中的一個或多個可以與 DASH 一起使用,可能具有不同的名稱,並且可以位於 DASH 命名空間(DASH namespace)中。 DASH 設備可以在客戶端動態適配中根據其屏幕尺寸選擇軌道。對於服務器端的動態適配,服務器可能需要知道客戶端的屏幕尺寸。
第13圖示出了根據一些實施例的示例性視埠和視點相關資料結構屬性。屬性包括方位角(azimuth)1301、標高(elevation)1302、方位角範圍(Azimuth range)1303、標高範圍(Elevation range)1304、位置x 1305、位置y 1306、位置z 1307和四元數(quaternion)x 1308、四元數y 1309和四元數z 1310。
屬性方位角1301可以由“azim”表示並且可以是球形視埠的方位角分量。屬性標高1302可以由“elev”表示並且可以是球形視埠的標高分量。屬性方位角範圍1303可以由“azim”表示並且可以是球形視埠的方位角範圍。屬性標高範圍1304可以由“elev”表示並且可以是球形視埠的標高範圍。
屬性位置x 1305可以由“posx”表示,並且可以是參考坐標系中位置的x坐標,用於視點、視埠或相機。屬性位置y 1306可以由“posy”表示並且可以是參考坐標系中位置的y坐標,用於視點、視埠或相機。屬性位置z 1307可以由“posz”表示,並且可以是參考坐標系中位置的z坐標,用於視點、視埠或相機。
屬性四元數x 1308可以由'qutx'表示並且可以是使用四元數表示的視埠或相機的旋轉的x分量。屬性四元數y 1309可以由'quty'表示並且可以是使用四元數表示的視埠或相機的旋轉的y分量。屬性四元數z 1310可以由'qutz'表示並且可以是使用四元數表示的視埠或相機的旋轉的z分量。
發明人已經意識到傳統VR流媒體方法存在的問題。例如,當使用流協議(例如,MPEG DASH)交付 VR 內容時,用例通常需要時間信號(temporal signaling),以便客戶端可以請求內容,包括特定質量等。此類請求可能需要對服務器進行多次不同的調用。例如,傳統方法可能需要對清單的第一次請求(例如,以便客戶端可以確定可用資料、質量/位元率、資料的結構等)、對初始化段的第二次請求,以及對沉浸式內容本身的第三次請求。在客戶端設備呈現內容之前,這種消息傳遞配置(messaging configuration)可能需要若干秒鐘。沉浸式內容調用又可能需要多次調用,這一事實可能會進一步加劇這種情況。例如,當使用被分割成小塊的內容時,客戶端設備可能需要為每個小塊請求內容(例如,如果有多個小塊,每個小塊可能需要單獨的請求)。因此,這種消息傳遞可能需要大量開銷。此外,這樣的方法可能需要緩衝區管理,需要用於視埠生成、拼接、渲染等的資源。
此外,傳統方法可能無法為穩健的用戶體驗提供足夠的支持。例如,雖然第13圖示出了3DoF參數(參數1301-1304)和6DoF參數(參數1305-1310)的示例,這樣的參數是受限的(limited)。例如,6DoF 參數不提供大小,而只是提供內容的點和相關的方向。
因此,傳統技術受到限制並且不能解決期望的用例場景。此外,客戶端可能難以從實時流中請求內容,並且客戶端可能會由於多次調用、複雜的請求、必要的多次調用造成的內容傳輸延遲等而經歷延遲。
發明人已經發現並意識到,可能需要提供支持用於基於網絡的內容流傳輸的新的和改進的使用案例的技術,例如用於DASH流傳輸應用程序。在一些實施例中,這些技術提供了新的時間適配參數,這些參數可以用於各種新的使用情況,例如用於加入實況事件、快速切換(tuning)到流等。這些技術可以使用這裡描述的新的時間適配參數來整合傳統方法的(多個)調用,以更快地切換到內容。在一些示例中,客戶端設備可以僅通過一個調用(或比傳統技術所需的更少的調用)來請求內容,並且響應於一個調用接收整合的資料(例如,包括清單、初始化段和沉浸式內容的一個或多個片段的資料)。
此外,發明人已經發現並理解,一種用於客戶端請求實時內容的方法可能是合乎需要的。當設備切換到媒體資料流(例如,頻道)時,客戶端設備可能不知道服務器具有的用於實時內容的最新片段。因此,客戶可能難以確定實時內容的最後片段。為了解決這些和其他問題,本文描述的技術允許服務器在客戶端訪問媒體資料的實時流時提供實時內容的時間適配技術。在一些示例中,客戶端可以簡單地向服務器指示它希望實時加入,並且服務器可以向客戶端發送服務器可用的最新段。
在一些實施例中,該技術可以附加地或替代地為視埠和視點選擇提供新的空間適配參數,以包括2D空間對象選擇(例如,如DASH中所指定的)。例如,DASH 可以提供一些 2D 空間對象。本文描述的技術可以提供對 2D 空間對象選擇的支持,這在傳統的流式傳輸方法是不可用的。
第14圖示出了根據一些實施例的用於球形、長方體和平面區域的視埠、視點和空間對象相關資料結構屬性的示例性列表。特別是,所示示例包括平面區域的空間對象相關資料,傳統技術不支持這些資料,因此無法實現(例如,無法在 DASH 框架中實現)。屬性包括參考第13圖描述的屬性(顯示為方位角 1301、標高 1302、方位角範圍 1303、標高範圍 1304、位置 x 1305、位置 y 1306、位置 z 1307 和四元數 x 1308、四元數 y 1309 和四元數 z 1310),以及用於 2D 平面區域的附加屬性。屬性包括對象(object)x 1411、對象y 1412、對象寬度1413、對象高度1414、總寬度1415和總高度1416。屬性對象x 1411可以用“objx”表示,並且可以是十進製表示的非負整數,以任意單位(in arbitrary units)表示空間對象左上角的水平位置。屬性對象y 1412可以由“objy”表示,並且可以是十進製表示的非負整數,以任意單位表示空間對象的左上角的垂直位置。屬性對象寬度1413可以由 “objw”表示,並且可以是十進製表示的非負整數,以任意單位表示空間對象的寬度。屬性對象高度1414可以由“objh”表示,並且可以是十進製表示的非負整數,以任意單位表示空間對象的高度。
屬性總寬度 1415 可以用“totw”表示,並且可以是十進製表示的可選非負整數,以任意單位表示參考空間的寬度。屬性總高度 1416 可以由“toth”表示,並且可以是十進製表示的可選非負整數,以任意單位表示參考空間的高度。
第15圖示出了根據一些實施例的可以由客戶端設備使用的時間適配相關屬性的示例性列表,以向服務器指示媒體請求是用於切換到實時事件(live event)或流(例如,頻道)還是快速加入到流中。根據一些示例,屬性 Join Live 1510 可以由字符串“jilv”表示,並且可以指示加入實時事件的媒體請求,包括由於初始加入和尋找事件的實時邊緣( live edge)的請求。根據一些示例,屬性 Tune-in Fast 1520 可以由字符串“tift”表示,並且可以指示用於盡可能快地切換到流中的媒體請求。
這樣的示例性時間適配相關屬性可以用於各種用例。例如,當客戶端需要向服務器指示媒體請求是否用於切換為實時事件(或媒體資料流)(例如,如 m56798 , 2021 年 4 月,“Shortening tune-in time”中所討論的,其內容全部併入本文中)時,,或快速加入流(例如,如 m56673 ,2021 年 4 月,“Minimizing initialization delay in live streaming”中所討論的,其內容被併入本文全文)時,和/或類似的情況時,可以使用時間適配相關屬性。屬性可以允許服務器相應地響應,例如針對低延遲、按需、快速啟動、良好體驗啟動場景等。
例如,屬性可以通過在實時邊緣(live edge)上自適應地返回子段(sub-segment)或 CMAF 塊(chunk)來實現低延遲(例如,如 AWS 媒體博客,“Lower latency with AWS Elemental MediaStore chunked object transfer”中所述(可在aws.amazon.com/blogs/media/lower-latency-with-aws-elemental-mediastore-chunked-object-transfer/ 獲取,其全部內容併入本文))。例如,對於實時內容,客戶端可能不知道實時邊緣段,可能只是服務器知道。結果,客戶端可能會在特定時間請求內容,而服務器可能會響應內容不可用(例如,因為仍被捕獲的內容可能存在延遲)。還需要轉碼等。因此,客戶端可能會請求服務器可能擁有的較舊時間段的內容,儘管這樣做客戶端可能會跳過兩個內容請求週期之間可用的較新內容(雖然客戶無從得知)。因此,客戶端沒有最新實時段的情況並不少見,這會增加延遲,在有多個設備時導致問題(例如,可能會在不同時間為同一實時流呈現內容)等。在技術上可以通過允許客戶端加入並讓服務器發送最近可用的資料段來解決這些問題。
作為另一示例,屬性可以通過自適應地返回點播內容的常規段來允許點播內容(content on-demand),例如,當屬性“Join Live”被省略或設置為假時。 作為另一示例,屬性可以通過自適應地返回一個或多個低質量初始段(可能與初始化段相結合)來允許快速啟動。 作為附加示例,當屬性“Join Fast”被省略或設置為是假(FALSE)的,屬性可以通過自適應地返回一個或多個高質量初始段來允許良好體驗啟動,以確保從一開始就有良好的觀看體驗。
在服務器端和混合端配置中,媒體呈現描述都可以如本文所討論的那樣進行交換。第16圖示出了根據一些實施例的在用於常規客戶端自適應流傳輸的適配集中具有多個表示的周期的媒體表示描述的示例。如圖所示(例如,並且如結合第6圖所討論的),每個週期的適配集可以包括在該示例中顯示為表示1610到表示1620的多個表示。每個表示,例如針對表示1610示出的,可以包括初始段1612和一組媒體段(在該示例中顯示為1614到1616)。
在一些實施例中,對於服務器端和/或混合端配置,可以修改適配集,使得每個適配集僅包括一個表示。第17圖示出了根據一些實施例的用於服務器端自適應流傳輸的適配集1730中的單個表示1710的示例。與第16圖的媒體呈現描述1600相比,對於服務器端流適配,可以為媒體呈現描述1700中的每個適配集1730包括單個表示1710而不是多個表示。這是可能的,因為客戶端設備不執行從可用表示中進行選擇的邏輯,因此客戶端不需要知道不同內容品質之間的任何區別等。在一些實施例中,媒體呈現描述1600可以用於混合端配置,其中客戶端執行一些適配處理,同時服務器執行一些適配處理(例如,客戶端選擇初始表示和/或後續表示)。在一些實施例中,單個表示1710可以包括指向包含導出操作的導出軌道的URL,以基於客戶端的(適配)參數生成適配的軌道(adapted track)。客戶端設備然後可以訪問通用URL並向服務器提供參數,使得服務器可以為客戶端構建軌道。在一些實施例中,相同和/或不同的URL可以用於初始化段1712和媒體段1714。例如,如果客戶端將不同的適配參數傳遞給服務器以區分兩種不同類型的請求,例如使用一組參數進行初始化,另一組參數用於段。作為另一個示例,不同的 URL 可以用於初始化和媒體段(例如,在兩個或多個不同的段之間進行區分)。客戶端可以使用單個表示連續請求段,因此使用單個通用 URL。
服務器端適配會導致帶寬減少以及整體內容處理的減少,不然的話某些類型的內容(例如沉浸式媒體)可能需要這些處理。返回以參考第2圖,舉例來說,第2圖示出了用於服務器端流適配的虛擬現實(VR)內容的視埠相關內容流程200。如所描述的,球形視埠201在塊202經歷拼接、投影、映射,在塊204被編碼,在塊206被傳遞,並且在塊208被解碼。客戶端設備構建(210)用於用戶視埠的媒體(例如,從一組適用的圖塊和/或圖塊軌道)向用戶呈現(212)用戶視埠的內容。當使用服務器端流適配時,構建過程可以在服務器端而不是客戶端執行(例如,從而減少和/或消除將在塊210處需要由客戶端設備執行的處理)。例如,通過將適配和軌道生成轉移到服務器端,可以避免構建過程210,因為可以在服務器端生成精確的內容,減少解碼器的處理負擔並節省帶寬,因為關聯的圖塊軌道通常包括未呈現到用戶視埠上的附加內容。例如,客戶端可以向服務器提供視埠資訊(例如,視埠的位置、視埠的形狀、視埠的大小等)以從服務器請求覆蓋視埠的視訊。服務器可以使用接收到的視埠資訊來傳遞僅針對該視埠的相關媒體集,並為客戶端設備執行空間適配。
通常,這裡描述的技術提供了服務器端適配方法。在一些實施例中,與在自適應流系統中的客戶端流適配 CSSA 不同,導出的合成、選擇和切換軌道可用於實現 SSSA,用於依賴於視埠的媒體處理。例如,m54876(“Track Derivations for Track Selection and Switching in ISOBMFF”,2020 年 10 月(在線會議))、w19961(“Study of ISO/IEC 23001-16 DIS”,2021 年 1 月(在線會議))和 w19956( “Technologies under Consideration of ISO/IEC 23001-16”,2021 年 1 月(在線會議))描述了導出的合成、選擇和切換軌道,通過引用將其全部併入本文。
如本文所述,出於各種原因,沉浸式媒體處理通常採用視埠相關的方法。例如,3D 球形內容首先被處理(拼接、投影和映射)到 2D 平面上,然後封裝在許多基於圖塊的片段文件中以供播放和交付。在這種基於圖塊和片段的文件中,2D 平面中的空間圖塊或子圖像,通常表示 2D 平面的矩形空間部分,被封裝為其變體的集合(例如支持不同品質的變體和位元率,或在不同的編解碼器和保護方案中)。例如,這樣的變體可以對應於 MPEG DASH 中的適配集中的表示。它基於用戶在視埠上的選擇,將這些不同圖塊的變體中的一些變體放在一起時,提供所選視埠的覆蓋範圍,由接收器檢索或傳遞給接收器,然後解碼以構建和渲染所需的視埠。
其他內容可以有類似的高級方案。例如,當使用 MPEG DASH 交付 VR 內容時,用例通常需要在 MPD 內為 VR 內容發信視埠和 ROI,以便客戶端可以幫助用戶決定要交付並渲染哪些視埠和 ROI(如果有)。作為另一個示例,對於全向內容之外的沉浸式媒體內容(例如,點雲和 3D 沉浸式視訊),可以使用類似的視埠相關方法進行處理,其中視埠和圖塊是 3D 視埠和 3D 區域,而不是 2D 視埠和 2D 子圖像。
因此,客戶需要為各種類型的媒體執行計算成本高的構建過程。特別是,由於內容被劃分為區域/圖塊/等,客端可以選擇哪些部分將用於覆蓋客戶端的視埠。實際上,用戶正在查看的可能只是內容的一小部分。服務器還需要使內容(包括部分/圖塊)對客戶端可用。一旦客戶端選擇了不同的東西(例如,基於帶寬),或者一旦用戶移動和視埠改變,那麼客戶端需要請求不同的區域。由於客戶端需要對這裡討論的各種圖塊和/或表示執行多次下載和/或檢索,因此對於每個子圖像或圖塊,客戶端可能需要進行多個單獨的請求(例如,單獨的 HTTP 請求、例如對與視埠關聯的四個不同圖塊的四個請求)。
可能希望從客戶端移除一些和/或所有構建過程(例如,結合第2圖討論的步驟210)。特別是,在客戶端執行構建可能需要在客戶端動態(on-the-fly)圖塊拼貼(例如,這可能需要圖塊片段的無縫拼接,包括圖塊邊界填充)。客戶端的構建還可以要求客戶端對檢索和拼接的圖塊段執行一致的品質管理(例如,避免拼接不同品質的圖塊)。另外或替代地,客戶端上的構建還可以要求客戶端執行圖塊緩衝管理(例如,包括讓客戶端嘗試預測用戶的移動而不下載不必要的圖塊)。客戶端的構建可以附加地或替代地要求客戶端執行 3D 點雲和沈浸式視訊的視埠生成(例如,包括從壓縮的分量視訊片段構建視埠)。
為了解決這些和其他問題,這裡描述的技術將空間媒體處理從客戶端移動到服務器。在一些實施例中,客戶端將空間相關資訊(例如,視埠相關資訊)傳遞給服務器,使得服務器可以執行一些和/或所有空間媒體處理。例如,如果客戶端需要一個 X × Y 區域,客戶端可以簡單地將視場的位置和/或大小傳遞給服務器,服務器可以確定請求的區域並執行構建過程以拼接相關圖塊覆蓋請求的視埠,並且僅將拼接的內容交付回客戶端。因此,客戶端只需要對交付的內容進行解碼和渲染。進一步地,當視埠發生變化時,客戶端可以向服務器發送新的視埠資訊,服務器可以相應地改變傳遞的內容。因此,客戶端無需確定使用哪些圖塊來構建視埠,而是可以將視埠資訊發送到服務器,服務器可以為客戶端處理和生成單個視埠段。這樣的方法可以解決上面提到的各種缺陷,例如減少和/或消除客戶端執行動態拼接、品質管理、圖塊緩衝區管理等的需要。此外,如果內容被加密,這種方法可以簡化加密,因為它只需要在客戶定制的媒體上執行。
根據一些實施例,在本文描述的SSSA方法中,一組動態適配參數可以由客戶端或網路收集並傳送到服務器。例如,參數可以包括 DASH 或 SAND 參數,並且可以用於支持位元率自適應,例如表示切換(representation switching)(例如,如 w18609( “Text of ISO/IEC FDIS 23009-1:2014 4th edition”,2019 年 7 月, Gothenburg, SE) 和 w16230(“Text of ISO/IEC FDIS 23009-5 Server and Network Assisted DASH”, 2016 年 6 月, 日內瓦, CH)中所述, 兩者均以引用方式全文併入本文)、時間適應 (temporal adaptation)(例如, 諸如w18609 中描述的特技播放)、如視埠/依賴視點的媒體處理的空間適應(例如,如 w19786(“Text of ISO/IEC FDIS 23090-2 2nd edition OMAF”,ISO/IEC JTC 1/SC 29/WG 3,2020 年 10 月)和 WG03N0163(“Draft text of ISO/IEC FDIS 23090-10 Carriage of Visual Volumetric Video-based Coding Data”,2021 年 1 月,在線會議)所述,在此全部引入以上內容),以及內容適配,例如預渲染和故事情節選擇(例如,如 w19062(“Text of ISO/IEC FDIS 23090-8 Network-based Media Processing”,2020 年 1 月,布魯塞爾,比利時)中所述)。
在接收到這些參數後,服務器可以基於從客戶端和網路收集的參數進行動態適配,例如用於構建客戶端將在 CSSA 方法中構建的視埠的空間適配。由於服務器的處理能力和雲計算的趨勢,這種 SSSA 方法可能比客戶端對視埠相關媒體處理的傳統動態適應更有優勢。
在一些實施例中,這裡討論的選擇和切換軌道可以用於在服務器側啟用流適配。特別是,由於選擇和切換軌道可以在運行時分別從備用軌道組和切換軌道組進行軌道選擇和切換,因此可以在服務器端而不是客戶端執行流適配,以簡化流客戶端實現。
由於基於選擇的軌道導出可以在導出時提供從替代或切換組中選擇軌道樣本,因此可以實現各種改進。例如,這種導出可以為從替代或切換組中選擇或切換的軌道樣本提供軌道封裝。這種軌道封裝可以提供關於所選或切換軌道的元資料與其軌道封裝本身的直接關聯,而不是與從中選擇或切換軌道的軌道組的關聯。例如,為了指定在運行時從軌道組中選擇的軌道具有感興趣區域(region of interest,簡寫為ROI),可以在導出軌道的元資料框('meta')中輕鬆地發信 ROI(例如,當ROI 是靜態的)和/或定時元資料軌道可用於引用導出軌道(例如,當 ROI 是動態時,使用引用類型“cdsc”)。相比之下,不用導出軌道就沒有直接的方式來發信ROI 元資料:在備用或切換組中的每個軌道的元資料框中發信靜態 ROI並不傳達相同的含義,而是傳達了每個軌道都有靜態ROI。此外,使用表示動態 ROI 的定時元資料軌道(timed metadata track)來引用備用或切換組需要指定新的軌道引用類型,因為軌道引用框中的現有軌道引用狀態,當用於引用軌道組時,“軌道引用單獨應用於所引用的軌道組的每個軌道”,這不是預期的結果。
導出的軌道封裝還可以實現基於軌道的媒體處理工作流的規範和執行,例如在基於網路的媒體處理中,以將導出的軌道不僅作為輸出而且在工作流中用作中間輸入。
導出的軌道封裝還可以提供軌道選擇或切換,使其對動態自適應流媒體(例如 DASH)的客戶端是透明的,並在相應的服務器或分發網路內執行(例如,結合 SAND 實現)。這可以幫助簡化客戶端邏輯和實現,將動態內容適配從流清單級別轉移到文件格式導出的軌道級別(file format derived track level)(例如,基於 w18855 中 8.3.3 子條款中定義的描述性和區分屬性)。借助基於選擇的導出的軌道,DASH 客戶端和 DASH 感知網路元素 (DASH aware network elements,簡寫為DANE) 可以提供導出的軌道中所需的屬性值(例如,編解碼器“cdec”、屏幕尺寸“scsz”、位元率“bitr”),並讓媒體源服務器和 CND 從一組可用媒體軌道中提供內容選擇和切換。這可能會導致,例如,消除 AdaptationSet 的使用和/或將其使用限制為僅包含 DASH 中的單個表示。
第18圖示出了根據一些示例的用於服務器端流適配的VR內容的視埠相關內容流程1800。如本文所述,球形視埠201(例如,其可以包括整個球體)在塊202處經歷拼接、投影、映射(以生成投影和映射區域),在塊204處被編碼(以生成多種品質的編碼/轉碼塊) ),在塊 206 被傳遞(作為圖塊),並且在塊 208 被解碼(以生成解碼的圖塊)。如第18圖所示,球形視埠可能不需要在塊210構建(以構建球形渲染的視埠,例如當構建由如本文所述的服務器執行時),因此內容可以繼續在塊212渲染。如在 200 中,在塊 214 的用戶交互可以選擇視埠,其啟動多個“即時”處理步驟,如虛線箭頭所示。
在一些實施例中,本文描述的SSSA技術可以在基於網路的媒體處理框架內使用。例如,在一些實施例中,視埠構建可以被認為是一個或多個基於網路的功能(例如,除了其他功能,例如 360 度拼接、6DoF 預渲染、引導轉碼、電子競技流、OMAF 打包器、測量、MiFiFo 緩衝、1toN 拆分、Nto1 合併等)。
第19圖示出了根據一些實施例的用於與客戶端設備通信的服務器的示例性計算機化方法1900。
在步驟1902,服務器從客戶端設備接收訪問媒體資料流(例如,頻道或其他媒體資料源)的請求,該媒體資料流與客戶端首次訪問沉浸式內容的媒體資料流的時間點的該沉浸式內容相關聯。例如,沉浸式內容可以是實時沉浸式內容,並且時間點是服務器擁有的沉浸式內容(例如,實時邊緣內容)的最新時間( latest time)。
根據一些示例,訪問流的請求是HTTP請求(例如,HTTP上的動態自適應流式傳輸(DASH)請求、HTTP實時流式傳輸(HLS)請求等),並且在從服務器接收沉浸式媒體內容的任何清單資料之前由客戶端設備傳輸(例如,當客戶端設備首次切換到流/頻道/內容時)。在一些示例中,對媒體資料部分的請求包括客戶端設備的一個或多個參數(例如,供服務器使用)。在一些示例中,一個或多個參數包括客戶端設備的視埠的三維尺寸。在一些實施例中,在步驟1902接收到的請求可以是從客戶端接收到的針對相關聯內容的第一條消息。
在步驟1904,服務器確定傳送到客戶端設備的沉浸式內容的媒體資料的初始部分。例如,如本文所述,當切換到媒體資料流時,響應於在1904接收到的單個請求,服務器可以確定發送到客戶端設備的清單、初始化段和一個或多個附加媒體段。作為另一個示例,當客戶端請求加入實時內容頻道或流時,服務器可以識別發送到客戶端設備的最近可用的內容段。
在步驟1906,響應於訪問媒體資料流的請求,服務器發送媒體資料的初始部分(initial portion)。在一些示例中,在從服務器接收沉浸式內容的第一清單資料之前接收媒體資料的初始部分或一併接收第一清單資料和媒體資料額初始部分。媒體資料的初始部分可以包括一個或多個低質量媒體資料段。在一些示例中,媒體資料的初始部分包括初始化段(initialization segment)。
根據一些實施例,確定沉浸式內容的媒體資料的初始部分可以包括訪問包括多個媒體軌道的媒體資料,每個媒體軌道包括對應於沉浸式內容的不同空間部分的不同媒體資料,基於請求,來自對應於客戶端設備的視埠的多個媒體軌道的一組媒體軌道,,並且生成單個適配軌道,該適配軌道包括媒體資料的初始部分,並且將包括該媒體資料部分的適配軌道發送到客戶端設備。媒體資料的初始部分可以包括來自多個媒體軌道的多個拼接塊,每個塊對應於沉浸式內容的不同部分中的一個。
在一些示例中,服務器可以進一步確定實時沉浸式內容不可用並且向客戶端設備發送在訪問媒體資料流的時間點的內容不可用的指示。
第20圖示出了根據一些實施例的用於與服務器通信的客戶端設備的示例性計算機化方法2000。在步驟2002,客戶端設備在客戶端設備第一次訪問沉浸式內容的流的時間點訪問沉浸式內容的媒體資料流,包括向服務器發送訪問該時間點的沉浸式內容的請求。沉浸式內容例如可以是實時沉浸式內容,並且時間點是服務器擁有的沉浸式內容的最新時間,如本文所述。
根據一些示例,訪問媒體資料流的請求是如本文所述的HTTP請求,並且在從服務器接收到沉浸式媒體內容的任何清單資料之前由客戶端設備發送。在一些示例中,對媒體資料部分的請求包括客戶端設備的一個或多個參數。在一些示例中,一個或多個參數包括客戶端設備的視埠的三維尺寸。在一些實施例中,步驟2002的請求可以是從客戶端接收到的針對相關聯內容的第一條消息。該請求例如可以是加入或接收實時內容的請求、加入流、頻道等的請求,如本文所討論的。
在步驟2004,響應於訪問媒體資料流的請求,客戶端設備接收沉浸式內容的媒體資料的初始部分。在一些示例中,在從服務器接收沉浸式內容的第一清單資料之前媒體資料的初始部分,或一起接收沉浸式內容的第一清單資料和媒體資料的初始部分。媒體資料的初始部分可以包括一個或多個低質量媒體資料段。在一些示例中,媒體資料的初始部分包括初始化段。
根據一些實施例,媒體資料的初始部分包括:適合於包括媒體資料的初始部分的單個軌道,其中該媒體資料的部分基於客戶端設備的視埠而適合於客戶端設備,以及該部分媒體資料從對應於視埠的一組軌道生成,其中軌道組中的每一個包括對應於沉浸式媒體的不同空間部分的不同媒體資料。
在一些示例中,客戶端設備可以進一步接收在訪問媒體資料流的時間點請求的實時沉浸式內容不可用的指示,並且在客戶端訪問媒體資料流之前的時間點發送對實時沉浸式內容的請求。
應當理解,示例性命名約定、縮寫等已用於提供本文所述技術的示例。這樣的約定並非旨在限制,而是旨在簡單地提供示例。因此,應當理解,可以使用其他約定、縮寫等來實現這些技術。
根據本文描述的原理操作的技術可以以任何合適的方式實施。上述流程圖的處理和決策塊表示可能包含在執行這些不同過程的算法中的步驟和動作。源自這些過程的算法可以實現為與一個或多個單一或多用途處理器集成並指導其操作的軟體,可以實現為功能等效電路,例如數位信號處理 (DSP) 電路或應用程式專用積體電路(ASIC),或者可以以任何其他合適的方式實現。應當理解,這裡包括的流程圖不描述任何特定電路或任何特定程式語言或程式語言類型的語法或操作。相反,流程圖說明了所屬領域具有通常知識者可用於製造電路或實現計算機軟體算法以執行本文描述的技術類型的特定裝置的處理的功能資訊。還應當理解,除非本文另有說明,否則每個流程圖中描述的步驟和/或動作的特定順序僅說明可以實現並且可以在本文描述的原理的實現和實施例中變化的算法。
因此,在一些實施例中,本文描述的技術可以體現為實現為軟體的計算機可執行指令,包括應用軟體、系統軟體、韌體、中間件、嵌入式代碼或任何其他合適類型的計算機代碼。這樣的計算機可執行指令可以使用多種合適的程式語言和/或程式或腳本工具中的任何一種來編寫,並且還可以編譯為在框架或虛擬機上執行的可執行機器語言代碼或中間代碼。
當本文描述的技術體現為計算機可執行指令時,這些計算機可執行指令可以以任何合適的方式實現,包括作為多個功能設施,每個提供一個或多個操作以完成根據這些技術操作的算法的執行。 “功能設施”,無論如何實例化,都是計算機系統的結構組件,當它與一台或多台計算機集成並由一台或多台計算機執行時,會使一台或多台計算機執行特定的操作角色。功能設施可以是軟體元素的一部分或整個軟體元素。例如,功能設施可以實現為過程的函數,或作為離散過程,或任何其他合適的處理單元。如果此處描述的技術被實現為多個功能設施,則每個功能設施都可以以其自己的方式實現;所有這些都不需要以相同的方式實現。此外,這些功能設施可以酌情並行和/或串行執行,並且可以使用正在執行它們的計算機上的共享記憶體、使用消息傳遞協議或以其他任何合適的方式在彼此之間傳遞資訊。
通常,功能設施包括執行特定任務或實現特定抽像資料類型的例程、程式、對象、組件、資料結構等。通常,功能設施的功能可以根據需要在它們運行的系統中組合或分佈。在一些實施方式中,執行本文技術的一個或多個功能設施可以一起形成完整的軟體包。在替代實施例中,這些功能設施可以適於與其他不相關的功能設施和/或過程交互,以實現軟體程式應用。
這裡已經描述了一些示例性功能設施,用於執行一項或多項任務。然而,應當理解,所描述的功能設施和任務的劃分僅僅是說明可以實現本文描述的示例性技術的功能設施的類型,並且實施例不限於以任何特定數量、劃分、或功能設施類型。在一些實現中,所有功能都可以在單個功能設施中實現。還應當理解,在一些實施方式中,本文描述的一些功能設施可以與其他功能設施一起或分開實施(即,作為單個單元或單獨的單元),或者這些功能設施中的一些可以不實施。
在一些實施例中,實現本文描述的技術的計算機可執行指令(當實現為一個或多個功能設施或以任何其他方式實現時)可以被編碼在一個或多個計算機可讀介質上以向該介質提供功能。計算機可讀介質包括諸如硬碟驅動器之類的磁性介質、諸如壓縮碟(CD)或數位多功能碟(DVD)之類的光學介質、持久性或非持久性固態記憶體(例如,閃存、磁RAM 等)或任何其他合適的存儲介質。這種計算機可讀介質可以以任何合適的方式實現。如本文所用,“計算機可讀介質”(也稱為“計算機可讀存儲介質”)是指有形存儲介質。有形存儲介質是非臨時性的,並且具有至少一個實體結構組件。在如本文所用的“計算機可讀介質”中,至少一個實體結構組件具有至少一個實體特性,該實體特性可以在創建具有嵌入資訊的介質的過程、在其上記錄資訊的過程期間以某種方式改變,或任何其他用資訊對媒體進行編碼的過程。例如,計算機可讀介質的實體結構的一部分的磁化狀態可以在記錄過程中改變。
此外,上述一些技術包括以某些方式存儲資訊(例如,資料和/或指令)以供這些技術使用的動作。在這些技術的一些實施方式中——例如這些技術被實施為計算機可執行指令的實施方式——資訊可以被編碼在計算機可讀存儲介質上。在本文將特定結構描述為存儲該資訊的有利格式的情況下,這些結構可用於在編碼在存儲介質上時賦予資訊的實體組織。然後,這些有利的結構可以通過影響與資訊交互的一個或多個處理器的操作來為存儲介質提供功能;例如,通過提高處理器執行的計算機操作的效率。
在其中技術可以體現為計算機可執行指令的一些但不是全部實現中,這些指令可以在一個或多個在任何合適的計算機系統中運行的合適的計算設備或一個或多個計算設備上執行(或者一個或多個計算設備的一個或多個處理器)可以被程式為執行計算機可執行指令。計算設備或處理器可以被程式為在指令以計算設備或處理器可訪問的方式存儲時執行指令,例如在資料存儲(例如,片上高速緩存或指令寄存器、計算機可讀存儲)中可通過匯流排訪問的介質、可通過一個或多個網路訪問且可由設備/處理器訪問的計算機可讀存儲介質等)。包括這些計算機可執行指令的功能設施可以與單個多功能可程式數位計算設備、共享處理能力並共同執行本文所述技術的兩個或多個多功能計算設備的協調系統集成並指導其操作、專用於執行本文所述技術的單個計算設備或計算設備的協調系統(位於同一地點或地理分佈)、用於執行本文所述技術的一個或多個現場可程式門陣列(FPGA)或任何其他合適的系統。
計算設備可以包括至少一個處理器、網路適配器和計算機可讀存儲介質。計算設備可以是例如台式或膝上型個人計算機、個人數位助理(PDA)、智能移動電話、服務器或任何其他合適的計算設備。網路適配器可以是使計算設備能夠通過任何合適的計算網路與任何其他合適的計算設備進行有線和/或無線通信的任何合適的硬體和/或軟體。計算網路可以包括無線接入點、交換機、路由器、網關和/或其他網路設備以及任何合適的有線和/或無線通信介質或用於在兩個或多個計算機之間交換資料的介質,包括互聯網。計算機可讀介質可以適於存儲要處理的資料和/或要由處理器執行的指令。處理器能夠處理資料和執行指令。資料和指令可以存儲在計算機可讀存儲介質上。
計算設備可以另外具有一個或多個組件和外圍設備,包括輸入和輸出設備。除其他外,這些設備可用於呈現用戶界面。可用於提供用戶界面的輸出設備的示例包括用於視覺呈現輸出的打印機或顯示屏以及用於可聽呈現輸出的揚聲器或其他聲音生成設備。可用於用戶界面的輸入設備的示例包括鍵盤和指針設備,例如滑鼠、觸摸板和數位化平板電腦。作為另一個示例,計算設備可以通過語音識別或其他可聽格式接收輸入資訊。
已經描述了在電路和/或計算機可執行指令中實現技術的實施例。應當理解,一些實施例可以是一種方法的形式,已經提供了該方法的至少一個示例。作為該方法的一部分執行的動作可以以任何合適的方式排序。因此,可以構造其中以不同於圖示的順序執行動作的實施例,這可以包括同時執行一些動作,即使在說明性實施例中被示為順序動作。
上述實施例的各個方面可以單獨使用、組合使用或以在前述實施例中未具體討論的各種佈置方式使用,因此其應用不限於本說明書中闡述的部件的細節和佈置。前面的描述或在附圖中說明。例如,一個實施例中描述的方面可以以任何方式與其他實施例中描述的方面組合。
在申請專利範圍中使用諸如“第一”、“第二”、“第三”等順序術語來修改申請專利範圍要素本身並不意味著一個申請專利範圍要素相對於另一個或時間的任何優先權、優先級或順序執行方法的動作的順序,但僅用作標籤,以區分具有特定名稱的一個申請專利範圍元素與另一個具有相同名稱的元素(但使用序數術語)以區分申請專利範圍元素。
此外,本文使用的措辭和術語是出於描述的目的,不應被視為限制。本文中使用的“包括”、“包含”、“具有”、“由…組成”、“涉及”及其變體意在涵蓋其後列出的項目及其等同物以及附加項目。
此處使用“示例性”一詞來表示用作示例、實例或說明。因此,本文作為示例性描述的任何實施例、實施方式、過程、特徵等應被理解為說明性示例並且不應被理解為優選或有利示例,除非另有說明。
已經如此描述了至少一個實施例的幾個方面,應當理解,所屬領域具有通常知識者將容易想到各種改變、修改和改進。此類變更、修改和改進旨在成為本公開的一部分,並且旨在落入本文所述原理的精神和範圍內。因此,前述描述和附圖僅作為示例。
100:視訊編碼配置 102A-102N:相機 104:編碼設備 106:視訊處理器 108:編碼器 110:解碼設備 112:解碼器 114:渲染器 116:顯示器 200、1800:流程 201:球形視埠 202~212:塊 300:軌道分層結構 302~314k、404、408:軌道 400:示例 402A~402N:輸入軌道/圖像 406:軌道導出操作 500:自適應流系統 501、910:流客戶端 505、941:清單 502、751、951、1151、1612、1614、1616、1712、1714、1716:片段 503:服務器 504:HTTP 緩存 506:清單遞送功能 650、1600、1700:媒體呈現描述 652、652A:週期 654、656、658、660、1730:適配集 662、1610、1620、1710:表示 662A:片段資訊 664:片段訪問 700、900、1100:配置 761、1161:HTTP高速緩存 722、922、1122:服務器 710、910:流客戶端 720、920、1120:媒體片段遞送功能 721、921、1121:片段遞送服務器 711、923、1123:適配邏輯 712、912、1112:流訪問引擎 713、913、1113:媒體引擎 800、1001:流程 811、812、813、1011~1013:流 801-803、1001:片段 914:HTTP訪問客戶端 1020:適配 1200:參數列表 1210~1280、1301~1310、1411~1416、1510~15520:屬性 1900、2000:方法 1902~1906、2002~2004:步驟
在附圖中,各個圖中所示的每個相同或幾乎相同的部件由相同的附圖標記表示。為清楚起見,並非每個組件都可以在每張圖中標記。附圖不一定按比例繪製,而是重點放在說明本文描述的技術和設備的各個方面。 第1圖示出了根據一些實施例的示例性視訊編碼配置。 第2圖示出了根據一些示例的用於VR內容的視埠相關(viewport dependent)內容流程。 第3圖示出了根據一些實施例的示例性軌道分層結構。 第4圖示出了根據一些示例的軌道導出操作的示例。 第5圖示出了根據一些實施例的自適應流系統的示例性配置。 第6圖示出了根據一些示例的包括媒體呈現描述(MPD)的示例性清單。 第7圖示出了客戶端動態自適應流系統的示例性配置。 第8圖示出了根據一些實施例的端到端流媒體處理的示例。 第9圖示出了根據一些實施例的服務器端自適應流系統的示例性配置。 第10圖示出了根據一些實施例的使用服務器端自適應流的端到端流媒體處理的示例。 第11圖示出了根據一些實施例的混合側自適應流(mixed side adaptive streaming)系統的示例性配置。 第12圖示出了根據一些實施例的用於軌道選擇或切換的示例性參數列表。 第13圖示出了根據一些實施例的示例性視埠/視點相關資料結構屬性。 第14圖示出了根據一些實施例的用於球形、長方體和平面區域的視埠、視點和空間對象相關資料結構屬性的示例性列表。 第15圖示出了根據一些實施例的可以由客戶端設備使用的時間適配相關屬性的示例性列表,例如用於向服務器指示媒體請求是用於切換到實時事件(live event)還是快速加入到流中。 第16圖示出了根據一些實施例的在用於常規客戶端自適應流傳輸的適配集中具有多個表示的示例。 第17圖示出了根據一些實施例的用於服務器端自適應流傳輸的適配集中的單個表示的示例。 第18圖示出了根據一些示例的用於服務器端流適配的VR內容的視埠相關內容流程。 第19圖示出了根據一些實施例的用於與客戶端設備通信的服務器的示例性計算機化方法。 第20圖示出了根據一些實施例的用於與服務器通信的客戶端設備的示例性計算機化方法。
2000:方法
2002~2004:步驟

Claims (20)

  1. 一種媒體資料處理方法,用於提供沈浸式媒體的視訊資料,由與客戶端設備通信的服務器實現,該方法包括: 在客戶端第一次訪問沉浸式內容的媒體資料流的時間點,從該客戶端設備接收訪問與該沈浸式內容相關聯的該媒體資料流的請求; 確定傳送到該客戶端設備的該沉浸式內容的媒體資料的初始部分,該初始部分從該客戶端請求訪問的該時間點開始;以及 響應於訪問該媒體資料流的該請求,傳輸該媒體資料的該初始部分。
  2. 如請求項1所述之媒體資料處理方法,其中: 訪問該媒體資料流的該請求是HTTP請求,並且在該服務器向該客戶端設備發送該沉浸式內容的任何清單資料之前從客戶端設備接收該請求;以及 在向該客戶端設備發送該沉浸式內容的第一清單資料之前發送該媒體資料的該初始部分,或一起發送該沉浸式內容的該第一清單資料和該媒體資料的初始部分。
  3. 如請求項1所述之媒體資料處理方法,其中,該媒體資料的該初始部分包括一個或多個低質量媒體資料段。
  4. 如請求項3所述之媒體資料處理方法,其中,該媒體資料的該初始部分還包括初始化段。
  5. 如請求項1所述之媒體資料處理方法,其中,確定該沉浸式內容的該媒體資料的該初始部分包括: 訪問包括多個媒體軌道的媒體資料,每個媒體軌道包括對應於該沉浸式內容的不同空間部分的不同媒體資料; 基於該請求,從該多個媒體軌道中確定與該客戶端設備的視埠相對應的一組媒體軌道;以及 生成適合於包括該媒體資料的該初始部分的單個軌道,並將包括該媒體資料的部分的適配軌道傳輸到該客戶端設備。
  6. 如請求項5所述之媒體資料處理方法,其中,該媒體資料的該初始部分包括來自該多個媒體軌道的多個拼接塊,每個塊對應於該沉浸式內容的不同部分中的一個。
  7. 如請求項1所述之媒體資料處理方法,其中,該沉浸式內容是實時沉浸式內容,並且該時間點是該服務器擁有的該沉浸式內容的最新的時間。
  8. 如請求項7所述之媒體資料處理方法,其中,訪問該媒體資料流的該請求包括該實時沉浸式內容、該客戶端設備或其某種組合的一個或多個參數。
  9. 如請求項8所述之媒體資料處理方法,其中,該實時沉浸式內容的該一個或多個參數包括該實時沉浸式內容的三維尺寸。
  10. 如請求項7所述之媒體資料處理方法,還包括: 確定該實時沉浸式內容不可用;以及 向該客戶端設備發送在訪問該媒體資料流的該時間點的內容不可用的指示。
  11. 一種媒體資料處理方法,用於獲取沈浸式媒體的視訊資料,由與服務器設備通信的客戶端實現,該方法包括: 在該客戶端設備首先訪問沉浸式內容的媒體資料流的時間點訪問該沉浸式內容的該媒體資料流,包括向該服務器發送在該時間點訪問該沉浸式內容的請求;以及 響應於訪問該媒體資料流的該請求,從該客戶端請求訪問的該時間點開始接收該沉浸式內容的媒體資料的初始部分。
  12. 如請求項11所述之媒體資料處理方法,其中: 訪問該媒體資料流的該請求是HTTP請求,並且在從該服務器接收到該沉浸式媒體內容的任何清單資料之前該客戶端設備發送該請求;以及 在從該服務器接收該沉浸式內容的第一清單資料之前接收該媒體資料的該初始部分,或一起接收該沉浸式內容的該第一清單資料和該媒體資料的初始部分。
  13. 如請求項12所述之媒體資料處理方法,其中,該媒體資料的該初始部分包括一個或多個低質量媒體資料段。
  14. 如請求項13所述之媒體資料處理方法,其中,該媒體資料的該初始部分還包括初始化段。
  15. 如請求項11所述之媒體資料處理方法,其中,該媒體資料的該初始部分包括: 適於包括該媒體資料的該初始部分的單個軌道,其中: 基於該客戶端設備的視埠,該媒體資料部分適用於該客戶端設備;以及 該媒體資料部分是從對應於該視埠的一組軌道生成的,其中該組軌道中的每一個都包括對應於該沉浸式媒體的不同空間部分的不同媒體資料。
  16. 如請求項11所述之媒體資料處理方法,其中,該沉浸式內容是實時沉浸式內容,並且該時間點是該服務器擁有的該沉浸式內容的最新的時間。
  17. 如請求項16所述之媒體資料處理方法,其中,訪問該媒體資料部分的該請求包括該客戶端設備的一個或多個參數。
  18. 如請求項17所述之媒體資料處理方法,其中,該一個或多個參數包括該客戶端設備的三維尺寸。
  19. 如請求項11所述之媒體資料處理方法,其中該方法進一步包括: 接收在訪問媒體資料流時請求的實時沉浸式內容不可用的指示;以及 在該客戶端訪問該媒體資料流之前的某個時間點發送對實時沉浸式內容的請求。
  20. 一種媒體資料處理系統,包括: 至少一個處理器,被配置為執行用於提供沈浸式媒體的視訊資料的方法,該方法由與客戶端設備通信的服務器實現,該方法包括: 在客戶端第一次訪問沉浸式內容的媒體資料流的時間點,從該客戶端設備接收訪問與該沈浸式內容相關聯的該媒體資料流的請求; 確定傳送到該客戶端設備的該沉浸式內容的媒體資料的初始部分,該初始部分從該客戶端請求訪問的該時間點開始;以及 響應於訪問該媒體資料流的該請求,傳輸該媒體資料的該初始部分。
TW111125114A 2021-07-05 2022-07-05 媒體資料處理方法及系統 TW202304213A (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US202163218432P 2021-07-05 2021-07-05
US63/218,432 2021-07-05
US17/850,919 US20230007314A1 (en) 2021-07-05 2022-06-27 System and method of server-side dynamic spatial and temporal adaptations for media processing and streaming
US17/850,919 2022-06-27

Publications (1)

Publication Number Publication Date
TW202304213A true TW202304213A (zh) 2023-01-16

Family

ID=84772137

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111125114A TW202304213A (zh) 2021-07-05 2022-07-05 媒體資料處理方法及系統

Country Status (3)

Country Link
US (1) US20230007314A1 (zh)
CN (1) CN115589496A (zh)
TW (1) TW202304213A (zh)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6440747B2 (ja) * 2014-06-27 2018-12-19 コニンクリーケ・ケイピーエヌ・ナムローゼ・フェンノートシャップ Hevcでタイル化されたビデオ・ストリームに基づく関心領域の決定
US10666941B1 (en) * 2016-04-06 2020-05-26 Ambarella International Lp Low bitrate encoding of panoramic video to support live streaming over a wireless peer-to-peer connection
US10749925B1 (en) * 2016-09-02 2020-08-18 Snap Inc. Video streaming optimization for quick start of video display
US11049323B2 (en) * 2017-03-24 2021-06-29 Mediatek Inc. Method and apparatus for deriving VR projection, packing, ROI and viewport related tracks in ISOBMFF and supporting viewport roll signaling
EP3692721A1 (en) * 2017-10-04 2020-08-12 VID SCALE, Inc. Customized 360-degree media viewing
US11138798B2 (en) * 2019-05-06 2021-10-05 Apple Inc. Devices, methods, and graphical user interfaces for displaying objects in 3D contexts

Also Published As

Publication number Publication date
CN115589496A (zh) 2023-01-10
US20230007314A1 (en) 2023-01-05

Similar Documents

Publication Publication Date Title
TWI674791B (zh) 用於發信視埠與感興趣區域的方法與設備
TWI735038B (zh) 將軌道推導用於基於網路的媒體處理的方法和裝置
US10911512B2 (en) Personalized content streams using aligned encoded content segments
US10931930B2 (en) Methods and apparatus for immersive media content overlays
TWI674797B (zh) 球面區域呈現之方法與裝置
TW201933865A (zh) 用於編碼和解碼虛擬實境內容的方法和裝置
TWI729517B (zh) 時間軌道推導的方法和裝置
US20230224512A1 (en) System and method of server-side dynamic adaptation for split rendering
TWI782386B (zh) 基於網路之媒體處理應用中利用軌道推導產生新軌道之方法和裝置
TWI815187B (zh) 適應性媒體串流系統之伺服器側串流適應系統和方法
US11922561B2 (en) Methods and systems for implementing scene descriptions using derived visual tracks
TW202304213A (zh) 媒體資料處理方法及系統
TWI847125B (zh) 視埠相關媒體處理的方法及系統
US20220337800A1 (en) Systems and methods of server-side dynamic adaptation for viewport-dependent media processing
TWI793743B (zh) 處理多媒體資料的方法和裝置
TWI793567B (zh) 用以重定時序和縮放輸入視頻軌道的方法和裝置
TW202232958A (zh) 用於導出的沉浸式軌道的方法和系統