TW202032998A - 用於經串流媒體資料之多個解碼器介面 - Google Patents
用於經串流媒體資料之多個解碼器介面 Download PDFInfo
- Publication number
- TW202032998A TW202032998A TW109100668A TW109100668A TW202032998A TW 202032998 A TW202032998 A TW 202032998A TW 109100668 A TW109100668 A TW 109100668A TW 109100668 A TW109100668 A TW 109100668A TW 202032998 A TW202032998 A TW 202032998A
- Authority
- TW
- Taiwan
- Prior art keywords
- video
- streams
- decoders
- decoder
- client device
- Prior art date
Links
- 230000001360 synchronised effect Effects 0.000 claims abstract description 15
- 230000002776 aggregation Effects 0.000 claims abstract description 12
- 238000004220 aggregation Methods 0.000 claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 12
- 238000000034 method Methods 0.000 claims description 47
- 238000003860 storage Methods 0.000 claims description 39
- 239000000872 buffer Substances 0.000 claims description 28
- 230000008859 change Effects 0.000 claims description 8
- 238000012546 transfer Methods 0.000 claims description 5
- 239000012634 fragment Substances 0.000 description 33
- 239000002609 medium Substances 0.000 description 29
- 238000010586 diagram Methods 0.000 description 24
- 238000005538 encapsulation Methods 0.000 description 24
- 230000006978 adaptation Effects 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 20
- 238000012545 processing Methods 0.000 description 17
- 238000002360 preparation method Methods 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 230000006870 function Effects 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 235000019587 texture Nutrition 0.000 description 9
- 230000003287 optical effect Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 238000009877 rendering Methods 0.000 description 6
- 238000012384 transportation and delivery Methods 0.000 description 5
- 230000006835 compression Effects 0.000 description 4
- 238000007906 compression Methods 0.000 description 4
- 238000013507 mapping Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000000354 decomposition reaction Methods 0.000 description 3
- 101100412093 Schizosaccharomyces pombe (strain 972 / ATCC 24843) rec16 gene Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005304 joining Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- FMYKJLXRRQTBOR-UBFHEZILSA-N (2s)-2-acetamido-4-methyl-n-[4-methyl-1-oxo-1-[[(2s)-1-oxohexan-2-yl]amino]pentan-2-yl]pentanamide Chemical group CCCC[C@@H](C=O)NC(=O)C(CC(C)C)NC(=O)[C@H](CC(C)C)NC(C)=O FMYKJLXRRQTBOR-UBFHEZILSA-N 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012526 feed medium Substances 0.000 description 1
- 235000019580 granularity Nutrition 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/70—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing 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
- H04N21/23439—Processing 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 for generating different versions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/262—Content 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/26258—Content 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43072—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
- H04N21/43074—Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/434—Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
- H04N21/4347—Demultiplexing of several video streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/439—Processing of audio elementary streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/44209—Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/443—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
- H04N21/4431—OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB characterized by the use of Application Program Interface [API] libraries
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4621—Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/816—Monomedia components thereof involving special video data, e.g 3D video
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8451—Structuring of content, e.g. decomposing content into time segments using Advanced Video Coding [AVC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4825—End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/64—Addressing
- H04N21/6405—Multicasting
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Computer Security & Cryptography (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本發明提供一種用於擷取媒體資料之實例用戶端器件,該用戶端器件包括一記憶體,其經組態以儲存媒體資料;及一或多個處理器,其實施於電路系統中且經組態以:執行複數個視訊解碼器;判定包括複數個經編碼視訊串流之該媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度;回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料;且將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
Description
本發明係關於媒體資料之儲存及輸送。
數位視訊能力可併入至廣泛範圍的器件中,包括數位電視、數位直播系統、無線廣播系統、個人數位助理(PDA)、膝上型或桌上型電腦、數位攝影機、數位記錄器件、數位媒體播放器、視訊遊戲器件、視訊遊戲控制台、蜂巢式或衛星無線電電話、視訊電話會議器件及類似者。數位視訊器件實施視訊壓縮技術,諸如描述於由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4、進階視訊編碼(AVC)第10部分、ITU-T H.265 (亦參考高效率視訊寫碼(HEVC))所定義的標準及此類標準之擴展中之彼等技術,從而更為有效地傳輸且接收數位視訊資訊。
在已編碼諸如音訊或視訊資料之媒體資料之後,媒體資料可經封包化以用於傳輸或儲存。可以將媒體資料組合成符合多種標準中之任一者的媒體檔案,該等標準諸如國際標準化組織(International Organization for Standardization,ISO)基本媒體檔案格式及其擴展,諸如AVC。
一般而言,本發明描述用於在用戶端器件處接收不同類型之媒體資料且將其分配至不同各別解碼器之技術。不同類型之媒體資料可包括於單個接收到之檔案中。最近,收集了草案要求之集合,以解決沉浸式媒體資料傳送及存取之上下文中出現的問題之集合。要求之不同態樣包括媒體資料之經寫碼表示(例如,MPEG-I)、格式(其可藉由例如將表示映射至MPEG儲存及傳送函數來解決)、基於網路之處理、可用媒體資料之聲明及解碼器模型。
在一個實例中,一種擷取媒體資料之方法包括:藉由包括複數個視訊解碼器之一用戶端器件,判定包括複數個經編碼視訊串流之媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度;回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,由該用戶端器件擷取包括該等經編碼視訊串流之該媒體資料;以及藉由該用戶端器件,將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
在另一實例中,一種用於擷取媒體資料之用戶端器件包括:一記憶體,其經組態以儲存媒體資料;及一或多個處理器,其實施於電路系統中且經組態以:執行複數個視訊解碼器;判定包括複數個經編碼視訊串流之該媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度;回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料;且將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
在另一實例中,一種電腦可讀儲存媒體上儲存有指令,該等指令在經執行時使得一處理器進行以下操作:執行複數個視訊解碼器;判定包括複數個經編碼視訊串流之該媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度;回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料;及將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
在另一實例中,一種用於擷取媒體資料之用戶端器件包括:複數個視訊解碼器;用於判定包括複數個經編碼視訊串流之媒體資料之一複雜度值之構件,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度;用於回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料之構件;及用於將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料之構件。
在以下隨附圖式及描述中闡述一或多個實例之細節。其他特徵、目標及優點將自實施方式及圖式以及申請專利範圍而顯而易見。
本申請案主張2019年1月8日申請之美國臨時申請案第62/789
,940
號之權益,該申請案之全部內容特此以引用之方式併入。
在一些媒體應用中,媒體場景由多個視訊組成。此類視訊可經後處理,且接著聯合地呈現。舉例而言,其可經拼接、上覆,或場景組合產生沉浸式體驗。本發明描述可應用於包括沉浸式媒體資料(例如,音訊及視訊資料)之位元串流之技術。
本發明之技術可應用於符合根據以下各者中之任一者囊封之視訊資料的視訊檔案:ISO基本媒體檔案格式、可縮放視訊寫碼(SVC)檔案格式、進階視訊寫碼(AVC)檔案格式、第三代合作夥伴計劃(3GPP)檔案格式及/或多視圖視訊寫碼(MVC)檔案格式或其他類似視訊檔案格式。
在HTTP串流中,頻繁使用之操作包括HEAD、GET及部分GET。HEAD操作擷取與給定之統一資源***(URL)或統一資源名稱(URN)相關聯之檔案的標頭,但不擷取與URL或URN相關聯之有效負載。GET操作擷取與給定URL或URN相關的整個檔案。部分GET操作接收位元組範圍作為輸入參數且擷取檔案之連續數目個位元組,其中位元組之數目對應於所接收位元組範圍。因此,可提供電影片段以用於HTTP串流,此係因為部分GET操作可得到一或多個單獨的電影片段。在電影片段中,可能存在不同播放軌之若干播放軌片段。在HTTP串流中,媒體呈現可為用戶端可存取之資料的結構化集合。用戶端可請求且下載媒體資料資訊以向使用者呈現串流服務。
在使用HTTP串流來串流3GPP資料之實例中,可能存在針對多媒體內容之視訊及/或音訊資料之多個表示。如下文所解釋,不同表示可對應於不同寫碼特性(例如,視訊寫碼標準之不同設定檔或層級)、不同寫碼標準或寫碼標準之擴展(諸如多視圖及/或可縮放擴展)或不同位元速率。此等表示之資訊清單可在媒體呈現描述(MPD)資料結構中定義。媒體呈現可對應於HTTP串流用戶端器件可存取的資料之結構化集合。HTTP串流用戶端器件可請求且下載媒體資料資訊以向用戶端器件之使用者呈現串流服務。媒體呈現可在MPD資料結構中描述,MPD資料結構可包括MPD之更新。
媒體呈現可含有一或多個時段之序列。每一時段可延長,直至下一時段開始為止,或在最後一個時段之情況下,直至媒體呈現結束為止。每一時段可含有針對同一媒體內容之一或多個表示。表示可為音訊、視訊、計時文字或其他此類資料之數個替代性經編碼版本中之一者。表示可因編碼類型而異(例如,對於視訊資料,因位元速率、解析度及/或編碼解碼器而異,及對於音訊資料,因位元速率、語言及/或編碼解碼器而異)。術語表示可用以指代經編碼音訊或視訊資料之對應於多媒體內容之特定時段且以特定方式編碼之部分。
特定時段之表示可指派給由MPD中之屬性指示之群組,該屬性指示表示所屬之調適集。同一調適集中之表示通常視為彼此之替代,此係因為用戶端器件可在此等表示之間動態地且順暢地切換,例如執行頻寬調適。舉例而言,特定時段之視訊資料之每一表示可指派至同一調適集,以使得可選擇該等表示中之任一者進行解碼以呈現對應時段之多媒體內容的媒體資料(諸如視訊資料或音訊資料)。在一些實例中,一個時段內之媒體內容可由來自群組0 (若存在)之一個表示來表示,或由來自每一非零群組的至多一個表示之組合來表示。時段之每一表示之時序資料可相對於該時段之開始時間來表達。
表示可包括一或多個區段。每一表示可包括初始化區段,或表示之每一區段可自初始化。在存在時,初始化區段可含有用於存取表示之初始化資訊。一般而言,初始化區段不含有媒體資料。區段可由識別符唯一地參考,諸如統一資源定位符(URL)、統一資源名稱(URN)或統一資源識別符(URI)。MPD可為每一區段提供識別符。在一些實例中,MPD亦可提供呈範圍屬性之形式的位元組範圍,該等範圍屬性可對應於可由URL、URN或URI存取之檔案內之區段的資料。
可選擇不同表示以用於大體上同時擷取不同類型之媒體資料。舉例而言,用戶端器件可選擇音訊表示、視訊表示及計時文字表示,自該等表示擷取區段。在一些實例中,用戶端器件可選擇特定調適集以用於執行頻寬調適。亦即,用戶端器件可選擇包括視訊表示之調適集、包括音訊表示之調適集及/或包括計時文字之調適集。可替代地,用戶端器件可選擇用於某些類型之媒體(例如,視訊)之調適集,而直接選擇其他類型之媒體(例如,音訊及/或計時文字)之表示。
圖1為說明實施用於經由網路串流媒體資料之技術之實例系統10之方塊圖。在此實例中,系統10包括內容準備器件20、伺服器器件60及用戶端器件40。用戶端器件40及伺服器器件60藉由可包含網際網路之網路74以通信方式耦接。在一些實例中,內容準備器件20與伺服器器件60亦可由網路74或另一網路耦接,或可直接以通信方式耦接。在一些實例中,內容準備器件20及伺服器器件60可包含相同器件。
在圖1之實例中,內容準備器件20包含音訊源22及視訊源24。音訊源22可包含例如麥克風,其產生表示待由音訊編碼器26編碼之所捕獲音訊資料的電信號。可替代地,音訊源22可包含儲存媒體(其儲存先前記錄之音訊資料)、音訊資料產生器(諸如電腦化之合成器)或任何其他音訊資料源。視訊源24可包含:視訊攝影機,其產生待由視訊編碼器28編碼之視訊資料;儲存媒體,其編碼有先前記錄之視訊資料;視訊資料產生單元,諸如電腦圖形源;或任何其他視訊資料源。內容準備器件20未必在所有實例中均以通信方式耦接至伺服器器件60,而可將多媒體內容儲存至由伺服器器件60讀取之單獨媒體。
原始音訊及視訊資料可包含類比或數位資料。類比資料可在由音訊編碼器26及/或視訊編碼器28編碼前經數位化。音訊源22可在說話參與者正在說話時自說話參與者獲得音訊資料,且視訊源24可同時獲得該說話參與者之視訊資料。在其他實例中,音訊源22可包含電腦可讀儲存媒體(其包含所儲存之音訊資料),且視訊源24可包含電腦可讀儲存媒體(其包含所儲存之視訊資料)。以此方式,本發明中所描述之技術可應用於實況、串流、即時音訊及視訊資料或所存檔的、預先記錄的音訊及視訊資料。
對應於視訊訊框之音訊訊框通常為含有由音訊源22捕獲(或產生)之音訊資料的音訊訊框,音訊資料同時伴隨含於視訊訊框內之由視訊源24捕獲(或產生)之視訊資料。舉例而言,當說話參與者通常藉由說話而產生音訊資料時,音訊源22捕獲音訊資料,且視訊源24同時,亦即在音訊源22正捕獲音訊資料的同時捕獲說話參與者之視訊資料。從而,音訊訊框在時間上可對應於一或多個特定視訊訊框。因此,對應於視訊訊框之音訊訊框大體上對應於同時捕獲到之音訊資料及視訊資料且音訊訊框及視訊訊框分別包含同時捕獲到之音訊資料及視訊資料的情形。
在一些實例中,音訊編碼器26可編碼每一經編碼音訊訊框中表示記錄經編碼音訊訊框之音訊資料之時間之時戳,且類似地,視訊編碼器28可編碼每一經編碼視訊訊框中表示記錄經編碼視訊訊框之視訊資料之時間之時戳。在此等實例中,對應於視訊訊框之音訊訊框可包含:包含時戳之音訊訊框及包含同一時戳之視訊訊框。內容準備器件20可包括內部時脈,音訊編碼器26及/或視訊編碼器28可根據該內部時脈產生時戳,或音訊源22及視訊源24可使用該內部時脈以分別使音訊資料及視訊資料與時戳相關聯。
在一些實例中,音訊源22可向音訊編碼器26發送對應於記錄音訊資料之時間的資料,且視訊源24可向視訊編碼器28發送對應於記錄視訊資料之時間的資料。在一些實例中,音訊編碼器26可對經編碼音訊資料中之序列識別符進行編碼以指示經編碼音訊資料之相對時間排序,但未必指示記錄音訊資料之絕對時間,且類似地,視訊編碼器28亦可使用序列識別符來指示經編碼視訊資料之相對時間排序。類似地,在一些實例中,序列識別符可經映射或以其它方式與時戳相關。
音訊編碼器26通常產生經編碼音訊資料之串流,而視訊編碼器28產生經編碼視訊資料之串流。每一個別資料串流(不論音訊或視訊)可稱為基本串流。基本串流為表示之單個的經數位編碼(可能經壓縮)之分量。舉例而言,表示之經寫碼視訊或音訊部分可為基本串流。基本串流可在經囊封於視訊檔案內之前經轉換成封包化基本串流(PES)。在相同表示內,可使用串流ID來區分屬於一個基本串流的PES封包與屬於其它基本串流的PES封包。基本串流之資料之基本單元為封包化基本串流(PES)封包。因此,經編碼視訊資料大體對應於基本視訊串流。類似地,音訊資料對應於一或多個各別基本串流。
許多視訊寫碼標準(諸如,ITU-T H.264/AVC及即將來臨的高效視訊寫碼(HEVC)標準)定義無誤差位元串流之語法、語義及解碼程序,該等無誤差位元串流中之任一者符合特定設定檔或層級。視訊寫碼標準通常並不指明編碼器,但編碼器具有保證所產生之位元串流對於解碼器而言為標準相容之任務。在視訊寫碼標準之上下文中,「設定檔」對應於演算法、特徵或工具及應用於演算法、特徵或工具之約束的子集。 如由例如H.264標準所定義,「設定檔」為由H.264標準指定的完整位元串流語法之子集。「層級」對應於解碼器資源消耗,諸如(例如),解碼器記憶體及計算之限制,該等限制係關於圖像解析度、位元速率及區塊處理速率。設定檔可用profile_idc (設定檔指示符)值發信,而層級可用level_idc (層級指示符)值發信。
舉例而言,H.264標準認為,在由給定設定檔之語法所強加的界限內,仍然可能要求編碼器及解碼器之效能有較大變化,此取決於位元串流中之語法元素(諸如,經解碼圖像之指定大小)所取的值。H.264標準進一步認為,在許多應用程式中,實施能夠處理特定設定檔內之語法之所有假設使用的解碼器既不實際又不經濟。因此,H.264標準將「層級」定義為強加於位元串流中之語法元素之值的約束之指定集。此等約束可為對值之簡單限制。可替代地,此等約束可呈對值之算術組合(例如,圖像寬度乘以圖像高度乘以每秒解碼之圖像數目)之約束的形式。 H.264標準進一步規定,個別實施方案對於每一所支援設定檔可支援不同層級。
符合設定檔之解碼器一般支援設定檔中所定義之所有特徵。舉例而言,作為寫碼特徵,B圖像寫碼在H.264/AVC之基線設定檔中不受支援,但在H.264/AVC之其他設定檔中受支援。符合層級之解碼器應能夠解碼不需要超出該層級中所定義之限制的資源之任何位元串流。設定檔及層級之定義可有助於解譯。舉例而言,在視訊傳輸期間,可針對整個傳輸會話協商及同意一對設定檔定義及層級定義。更確切而言,在H.264/AVC中,層級可定義需要處理之巨集區塊數目、經解碼圖像緩衝器(DPB)大小、經編碼圖像緩衝器(CPB)大小、豎直運動向量範圍、每兩個連續MB之運動向量之最大數目及B塊是否可以具有小於8×8像素之子巨集區塊分區的限制。以此方式,解碼器可判定解碼器是否能夠適當地對位元串流進行解碼。
在圖1之實例中,內容準備器件20之囊封單元30自視訊編碼器28接收包含經編碼視訊資料之基本串流且自音訊編碼器26包含經編碼視訊資料之基本串流。在一些實例中,視訊編碼器28及音訊編碼器26可各自包括用於自經編碼資料形成PES封包之封包化器。在其他實例中,視訊編碼器28及音訊編碼器26可各自與用於自經編碼資料形成PES封包之各別封包化器介接。在另外其他實例中,囊封單元30可包括用於自經編碼音訊及視訊資料形成PES封包之封包化器。
視訊編碼器28可以多種方式對多媒體內容之視訊資料進行編碼,從而以各種位元速率且以各種特性產生多媒體內容之不同表示,該等特性諸如像素解析度、訊框速率、對各種寫碼標準之符合性、對各種寫碼標準之各種設定檔及/或設定檔層級之符合性、具有一或多個視圖之表示(例如,對於二維或三維播放)或其他此類特性。如本發明中所使用,表示可包含音訊資料、視訊資料、文字資料(例如,用於封閉字幕)或其他此資料中之一者。表示可包括諸如音訊基本串流或視訊基本串流之基本串流。每一PES封包可包括stream_id,該stream_id識別PES封包所屬之基本串流。囊封單元30負責將基本串流組合成各種表示之視訊檔案(例如,區段)。
囊封單元30自音訊編碼器26及視訊編碼器28接收表示之基本串流的PES封包且自該等PES封包形成對應之網路抽象層(network abstraction layer,NAL)單元。寫碼視訊區段可經組織成NAL單元,其提供「網路友好」視訊表示定址應用,諸如視訊電話、儲存器、廣播或串流。NAL單元可分類為視訊寫碼層(VCL) NAL單元及非VCL NAL單元。VCL單元可含有核心壓縮引擎,且可包括區塊、巨集區塊及/或圖塊層級資料。其他NAL單元可為非VCL NAL單元。在一些實例中,一個時間例子中之經寫碼圖片(通常呈現為初級經寫碼圖像)可含於存取單元中,該存取單元可包括一或多個NAL單元。
非VCL NAL單元可包括參數集NAL單元及SEI NAL單元以及其他。參數集可含有序列層級標頭資訊(在序列參數集(SPS)中)及不頻繁改變之圖像層級標頭資訊(在圖像參數集(PPS)中)。對於參數集(例如,PPS及SPS),不頻繁改變之資訊不需要針對每一序列或圖像重複;因此,可改良寫碼效率。此外,使用參數集可實現重要標頭資訊之頻帶外傳輸,從而避免冗餘傳輸以用於錯誤恢復之需求。在頻帶外傳輸實例中,參數集NAL單元可在與諸如SEI NAL單元之其他NAL單元不同之頻道上傳輸。
補充增強資訊(SEI)可含有對於對來自VCL NAL單元之經寫碼圖像樣本進行解碼並非必需之資訊,但可輔助與解碼、顯示、錯誤恢復及其他目的相關之程序。SEI訊息可含於非VCL NAL單元中。SEI訊息為一些標準規範之基準部分,且因此對於標準相容之解碼器實施並非始終為必選的。SEI訊息可為序列層級SEI訊息或圖像層級SEI訊息。一些序列層級資訊可含於SEI訊息中,諸如SVC之實例中之可縮放性資訊SEI訊息,及MVC中之視圖可縮放性資訊SEI訊息。此等實例SEI訊息可傳達關於例如操作點之提取及操作點之特性之資訊。另外,囊封單元30可形成資訊清單檔案,諸如描述表示之特徵的媒體呈現描述符(MPD)。囊封單元30可根據可延伸標記語言(XML)來格式化MPD。
囊封單元30可向輸出介面32提供多媒體內容之一或多個表示之資料以及資訊清單檔案(例如,MPD)。輸出介面32可包含網路介面或用於對儲存媒體進行寫入之介面,諸如通用串列匯流排(USB)介面、CD或DVD寫入器或燒錄器、至磁性或快閃儲存媒體之介面,或用於儲存或傳輸媒體資料之其他介面。囊封單元30可將多媒體內容之表示中之每一者的資料提供至輸出介面32,該輸出介面32可經由網路傳輸或儲存媒體將該資料發送至伺服器器件60。在圖1之實例中,伺服器器件60包括儲存各種多媒體內容64之儲存媒體62,每一多媒體內容64包括各別資訊清單檔案66及一或多個表示68A至68N (表示68)。在一些實例中,輸出介面32亦可將資料直接發送至網路74。
在一些實例中,表示68可分成調適集。亦即,表示68之各種子集可包括諸如以下特性之各別共同集合:編碼解碼器、設定檔及層級、解析度、視圖數目、區段之檔案格式、可識別待與表示及/或待解碼及呈現(例如,藉由揚聲器)之音訊資料一起顯示的文字之語言或其他特性之文字類型資訊、可描述調適集中之表示的場景之攝影機角度或真實世界攝影機視角的攝影機角度資訊、描述對於特定觀眾之內容適合性的分級資訊,或其類似者。
資訊清單檔案66可包括指示對應於特定調適集之表示68之子集以及該等調適集之共同特性的資料。資訊清單檔案66亦可包括表示調適集之個別表示的個別特性(諸如位元速率)之資料。以此方式,調適集可提供簡化之網路頻寬調適。調適集中之表示可使用資訊清單檔案66之調適集元素的子代元素來指示。
伺服器器件60包括請求處理單元70及網路介面72。在一些實例中,伺服器器件60可包括複數個網路介面。此外,伺服器器件60之特徵中之任一者或全部可在內容遞送網路之其他器件(諸如,路由器、橋接器、代理器件、交換器或其他器件)上實施。在一些實例中,內容傳遞網路之中間器件可快取多媒體內容64之資料,且包括大體上與伺服器器件60之組件一致的組件。一般而言,網路介面72經組態以經由網路74發送及接收資料。
請求處理單元70經組態以接收來自用戶端器件(諸如,用戶端器件40)對儲存媒體62之資料的網路請求。舉例而言,請求處理單元70可實施超文字傳送協定(HTTP)版本1.1,如在R. Fielding等人之RFC 2616,「Hypertext Transfer Protocol - HTTP/1.1」,網路工作群組,IETF,1999年6月中所描述。意即,請求處理單元70可經組態以接收HTTP GET或部分GET請求,且回應於該等請求提供多媒體內容64之資料。請求可指定表示68中之一者的區段,例如使用區段之URL。在一些實例中,請求亦可指定區段之一或多個位元組範圍,因此包含部分GET請求。請求處理單元70可經進一步組態以服務HTTP HEAD請求以提供表示68中之一者之區段之標頭資料。在任何情況下,請求處理單元70可經組態以處理請求以將請求之資料提供至諸如用戶端器件40之請求器件。
另外地或替代性地,請求處理單元70可經組態以經由諸如eMBMS之廣播或多播協定而遞送媒體資料。內容準備器件20可用與所描述大體上相同的方式產生DASH區段及/或子區段,但伺服器器件60可使用eMBMS或另一廣播或多播網路傳送協定來遞送此等區段或子區段。舉例而言,請求處理單元70可經組態以自用戶端器件40接收多播群組加入請求。亦即,伺服器器件60可向與特定媒體內容(例如,實況事件之廣播)相關聯之用戶端器件(包括用戶端器件40)通告與多播群組相關聯之網際網路協定(IP)位址。用戶端器件40轉而可呈送加入多播群組之請求。此請求可遍及網路74,例如,構成網路74之路由器傳播,以使得致使該等路由器將去往與多播群組相關聯之IP位址的訊務導向至訂用的用戶端器件,諸如用戶端器件40。
如圖1之實例中所說明,多媒體內容64包括資訊清單檔案66,該資訊清單檔案66可對應於媒體呈現描述(MPD)。資訊清單檔案66可含有不同替代表示68 (例如,具有不同品質之視訊服務)之描述,且該描述可包括例如編碼解碼器資訊、設定檔值、層級值、位元速率及表示68之其他描述性特性。用戶端器件40可擷取媒體呈現之MPD以判定如何存取表示68之區段。
詳言之,擷取單元52可擷取用戶端器件40之組態資料(未圖示)以判定視訊解碼器48之解碼能力及視訊輸出44之呈現能力。組態資料亦可包括由用戶端器件40之使用者選擇的任何或所有語言偏好、對應於由用戶端器件40之使用者設定之深度偏好的一或多個攝影機視角及/或由用戶端器件40之使用者選擇的分級偏好。擷取單元52可包含例如經組態以呈送HTTP GET及部分GET請求之網頁瀏覽器或媒體用戶端。擷取單元52可對應於由用戶端器件40之一或多個處理器或處理單元(未圖示)執行之軟體指令。在一些實例中,關於擷取單元52描述之所有或部分功能性可以硬體或硬體、軟體及/或韌體之組合來實施,其中可提供必需的硬體以執行用於軟體或韌體之指令。
儘管在圖1之實例中僅展示單個視訊解碼器48,如下文更詳細地論述(例如,關於圖11),但用戶端器件40可經組態以包括複數個視訊解碼器。另外,解囊封單元50可經組態以包括解多工器,該解多工器解多工複數個經編碼視訊位元串流(例如,對於立方體映射視訊資料之不同頻塊),且將經編碼視訊位元串流導向不同視訊解碼器。解囊封單元50可包括介面,諸如將各種視訊位元串流之視訊資料導向對應視訊解碼器之應用程式設計介面(API)。另外,用戶端器件40可包括同步單元,該同步單元在時間上同步來自複數個視訊解碼器之經解碼視訊資料(例如,圖像),以及由音訊解碼器46解碼之音訊資料。
擷取單元52可比較用戶端器件40之解碼及呈現能力與由資訊清單檔案66之資訊指示的表示68之特性。擷取單元52可一開始擷取資訊清單檔案66之至少一部分以判定表示68之特性。舉例而言,擷取單元52可請求描述一或多個調適集之特性的資訊清單檔案66之一部分。擷取單元52可選擇具有可由用戶端器件40之寫碼及呈現能力滿足的特性之表示68之子集(例如,調適集)。擷取單元52可接著判定用於調適集中之表示之位元速率,判定網路頻寬之當前可用量,且自具有網路頻寬可滿足之位元速率的表示中之一者擷取區段。
一般而言,較高位元速率表示可產生較高品質之視訊播放,而較低位元速率表示可在可用網路頻寬減少時提供足夠品質之視訊播放。因此,當可用網路頻寬相對高時,擷取單元52可自相對高位元速率之表示擷取資料,而當可用網路頻寬較低時,擷取單元52可自相對低位元速率之表示擷取資料。以此方式,用戶端器件40可經由網路74串流多媒體資料,同時亦適應網路74之改變的網路頻寬可用性。
另外地或可替代地,擷取單元52可經組態以根據諸如eMBMS或IP多播之廣播或多播網路協定來接收資料。在此等實例中,擷取單元52可呈送加入與特定媒體內容相關聯之多播網路群組的請求。在加入多播群組之後,擷取單元52可在無其他請求發出至伺服器器件60或內容準備器件20之情況下接收多播群組之資料。擷取單元52可呈送當不再需要多播群組之資料時離開多播群組的請求,例如終止播放或將頻道改變至不同多播群組。
網路介面54可接收並提供選定表示之片段之資料至擷取單元52,擷取單元52又可將該等片段提供至解囊封單元50。解囊封單元50可將視訊檔案之元素解囊封成構成之PES流,解封包化該等PES流以擷取經編碼資料,且將經編碼資料發送至音訊解碼器46或視訊解碼器48,此取決於經編碼資料為音訊抑或視訊流之部分,例如,如由該流之PES封包標頭指示。音訊解碼器46解碼經編碼音訊資料,且將經解碼音訊資料發送至音訊輸出42,而視訊解碼器48解碼經編碼視訊資料,且將經解碼視訊資料發送至視訊輸出44,經解碼視訊資料可包括串流之複數個視圖。
視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、囊封單元30、擷取單元52及解囊封單元50各自可實施為適用的多種合適處理電路系統中之任一者,合適處理電路系統諸如一或多個微處理器、數位信號處理器(DSP)、特定應用積體電路(ASIC)、場可程式化閘陣列(FPGA)、離散邏輯電路系統、軟體、硬體、韌體或其任何組合。視訊編碼器28及視訊解碼器48中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式視訊編碼器/解碼器(CODEC)之部分。同樣地,音訊編碼器26及音訊解碼器46中之每一者可包括於一或多個編碼器或解碼器中,編碼器或解碼器中之任一者可經整合為組合式CODEC之部分。包括視訊編碼器28、視訊解碼器48、音訊編碼器26、音訊解碼器46、囊封單元30、擷取單元52及/或解囊封單元50之裝置可包含積體電路、微處理器及/或無線通信器件,諸如蜂巢式電話。
用戶端器件40、伺服器器件60及/或內容準備器件20可經組態以根據本發明之技術操作。出於實例之目的,本發明描述關於用戶端器件40及伺服器器件60之此等技術。然而,應理解,替代伺服器器件60 (或除了伺服器器件60之外),內容準備器件20可經組態以執行此等技術。
囊封單元30可形成NAL單元,該等NAL單元包含識別NAL所屬之程式的標頭,以及有效負載,例如音訊資料、視訊資料或描述NAL單元所對應的傳輸或程式串流之資料。舉例而言,在H.264/AVC中,NAL單元包括1位元組標頭及不同大小之有效負載。在有效負載中包括視訊資料之NAL單元可包含各種粒度層級之視訊資料。舉例而言,NAL單元可包含視訊資料區塊、複數個區塊、視訊資料之圖塊或視訊資料之整個圖像。囊封單元30可自視訊編碼器28接收呈基本串流之PES封包之形式的經編碼視訊資料。囊封單元30可使每一基本串流與對應程式相關聯。
囊封單元30亦可組合來自複數個NAL單元之存取單元。一般而言,存取單元可包含用於表示視訊資料之訊框以及對應於該訊框之音訊資料(當此類音訊資料為可用時)的一或多個NAL單元。存取單元大體上包括用於一個輸出時間例子之全部NAL單元,例如,用於一時間例子之全部音訊及視訊資料。舉例而言,若每一視圖具有20訊框每秒(fps)之訊框速率,則隨後每一時間例子可對應於0.05秒之時間間隔。在此時間間隔期間,可同時呈現相同存取單元(相同時間例子)之所有視圖的特定訊框。在一個實例中,存取單元可包含一個時間例子中之經寫碼圖像,其可呈現為初級經寫碼圖像。
因此,存取單元可包含共同時間例子之所有音訊訊框及視訊訊框,例如對應於時間X之所有視圖。本發明亦將特定視圖之經編碼圖像稱為「視圖分量」。亦即,視圖分量可包含在特定時間針對特定視圖的經編碼圖像(或訊框)。因此,存取單元可定義為包含共同時間例子之所有視圖分量。存取單元之解碼次序未必與輸出或顯示次序相同。
媒體呈現可包括媒體呈現描述(MPD),該媒體呈現描述可含有不同替代表示(例如,具有不同品質之視訊服務)之描述,且該描述可包括例如編碼解碼器資訊、設定檔值及層級值。MPD為資訊清單檔案(諸如,資訊清單檔案66)之一個實例。用戶端器件40可擷取媒體呈現之MPD以判定如何存取各種呈現之電影片段。電影片段可位於視訊檔案之電影片段方塊(moof方塊)中。
資訊清單檔案66 (其可包含例如MPD)可通告表示68之區段之可用性。亦即,MPD可包括指示表示68中之一者之第一區段變得可用之掛鐘時間的資訊,以及指示表示68內的區段之持續時間的資訊。以此方式,用戶端器件40之擷取單元52可基於在特定區段前之區段之開始時間以及持續時間來判定每一區段可用之時間。
在囊封單元30已基於所接收之資料將NAL單元及/或存取單元組合成視訊檔案之後,囊封單元30將視訊檔案傳遞至輸出介面32以供輸出。在一些實例中,囊封單元30可將視訊檔案儲存在本端,或經由輸出介面32而將視訊檔案發送至遠端伺服器,而非將視訊檔案直接發送至用戶端器件40。輸出介面32可包含例如傳輸器、收發器、用於將資料寫入至電腦可讀媒體之器件(諸如例如光碟機、磁性媒體驅動(例如,軟碟機)、通用串列匯流排(USB)埠、網路介面或其他輸出介面。輸出介面32將視訊檔案輸出至電腦可讀媒體,諸如例如傳輸信號、磁性媒體、光學媒體、記憶體、快閃驅動機或其他電腦可讀媒體。
網路介面54可經由網路74接收NAL單元或存取單元,且經由擷取單元52將NAL單元或存取單元提供至解囊封單元50。解囊封單元50可將視訊檔案之元素解囊封成組成性PES串流,解封包化該等PES串流以擷取經編碼資料,且取決於經編碼資料為音訊串流抑或視訊串流之部分(例如,如由串流之PES封包標頭所指示)而將經編碼資料發送至音訊解碼器46或視訊解碼器48。音訊解碼器46解碼經編碼音訊資料,且將經解碼音訊資料發送至音訊輸出42,而視訊解碼器48解碼經編碼視訊資料,且將經解碼視訊資料發送至視訊輸出44,經解碼視訊資料可包括串流之複數個視圖。
圖2為更詳細地說明圖1之擷取單元52之實例組件集合之方塊圖。在此實例中,擷取單元52包括eMBMS中間軟體單元100、DASH用戶端110及媒體應用程式112。
在此實例中,eMBMS中間軟體單元100進一步包括eMBMS接收單元106、快取記憶體104及代理伺服器單元102。在此實例中,eMBMS接收單元106經組態以經由eMBMS接收資料,例如,根據T. Paila等人在「FLUTE-經由單向傳送之檔案遞送(FLUTE-File Delivery over Unidirectional Transport)」 (網路工作群組,RFC 6726,2012年11月,可於tools.ietf.org/html/rfc6726獲得)中所描述的經由單向傳送之檔案遞送(FLUTE)。亦即,eMBMS接收單元106可經由來自例如伺服器器件60之廣播接收檔案,伺服器器件60可充當廣播/多播服務中心(BM-SC)。
當eMBMS中間軟體單元100接收用於檔案之資料時,eMBMS中間軟體單元可將接收之資料儲存於快取記憶體104中。快取記憶體104可包含電腦可讀儲存媒體,諸如,快閃記憶體、硬碟、RAM或任何其他合適之儲存媒體。
代理伺服單元102可充當用於DASH用戶端110之伺服器。舉例而言,代理伺服單元102可將MPD檔案或其他資訊清單檔案提供至DASH用戶端110。代理伺服單元102可通告用於MPD檔案中之區段的可用性時間,以及可擷取區段之超鏈接。此等超鏈接可包括對應於用戶端器件40之本端主機位址首碼(例如,IPv4之127.0.0.1)。以此方式,DASH用戶端110可使用HTTP GET或部分GET請求自代理伺服器單位102請求區段。舉例而言,對於可自鏈接http://127.0.0.1/rep1/seg3獲得之區段,DASH用戶端110可建構包括針對http://127.0.0.1/rep1/seg3之請求的HTTP GET請求,且將請求呈送至代理伺服器單元102。代理伺服器單元102可自快取記憶體104擷取所請求之資料且回應於此類請求而將資料提供至DASH用戶端110。
圖3為說明實例多媒體內容120之元素之概念圖。多媒體內容120可對應於多媒體內容64 (圖1),或對應於儲存於儲存媒體62中之另一多媒體內容。在圖3之實例中,多媒體內容120包括媒體呈現描述(MPD) 122及複數個表示124A至124N (表示124)。表示124A包括可選標頭資料126及區段128A至128N (區段128),而表示124N包括可選標頭資料130及區段132A至132N (區段132)。為方便起見,使用字母N來指定表示124中之每一者中的最後一個電影片段。在一些實例中,表示124之間可存在不同數目之電影片段。
MPD 122可包含與表示124分開之資料結構。 MPD 122可對應於圖1之資清單檔案66。同樣地,表示124可對應於圖1之表示68。一般而言,MPD 122可包括大體上描述表示124之特徵的資料,諸如寫碼及呈現特徵、調適集、MPD 122所對應之設定檔、文字類型資訊、攝影機角度資訊、分級資訊、特技模式資訊(例如,指示包括時間子序列之表示的資訊)及/或用於擷取遠端時段(例如,用於在播放期間將針對性廣告***至媒體內容中)之資訊。
標頭資料126 (當存在時)可描述區段128之特性,例如,隨機存取點(RAP,其亦稱為串流存取點(SAP))之時間位置、區段128中之哪一者包括隨機存取點、與區段128內之隨機存取點之位元組偏移、區段128之統一資源定位符(URL),或區段128之其他態樣。標頭資料130 (當存在時)可描述區段132之類似特性。另外或替代地,此類特性可完全包括於MPD 122內。
區段128、132包括一或多個經寫碼視訊樣本,其中之每一者可包括視訊資料之訊框或圖塊。區段128之經寫碼視訊樣本中之每一者可具有類似特性,例如,高度、寬度及頻寬要求。此類特性可由MPD 122之資料來描述,儘管此類資料在圖3之實例中未說明。MPD 122可包括如3GPP規範所描述之特性,並且添加了本發明中所描述的發信資訊中之任一者或全部。
區段128、132中之每一者可與唯一的統一資源定位符(URL)相關聯。因此,區段128、132中之每一者可使用串流網路協定(諸如DASH)來獨立地擷取。以此方式,諸如用戶端器件40之目的地器件可使用HTTP GET請求來擷取區段128或132。在一些實例中,用戶端器件40可使用HTTP部分GET請求以擷取區段128或132之特定位元組範圍。
根據本發明之技術,MPD 122可包括表示媒體檔案之複雜度之資料,例如每秒待處理之視訊區塊之最大數目、每秒待處理之像素之最大數目、解碼器例子之最大數目及/或並行解碼器例子之最大數目。在一些實例中,複雜度可由視訊設定檔、層及/或層級值表示。在一些實例中,設定檔、層及/或層級值可在諸如視訊參數集(VPS)、序列參數集(SPS)或圖像參數集(PPS)之參數集中(另外地或可替代地)發信。亦即,圖1之內容準備器件20可建構MPD 122 (或圖1之資訊清單檔案66)以指示對應位元串流之設定檔、層及/或層級資訊之值。
圖4為說明實例視訊檔案150之元素的方塊圖,該實例視訊檔案可對應於表示之區段,諸如圖3之區段128、132中之一者。區段128、132中之每一者可包括實質上符合圖4之實例中所說明之資料之配置的資料。視訊檔案150可稱為囊封區段。如上所述,根據ISO基本媒體檔案格式及其擴展的視訊檔案將資料儲存於一系列物件(稱為「方塊」)中。在圖4之實例中,視訊檔案150包括檔案類型(FTYP)方塊152、電影(MOOV)方塊154、區段索引(sidx)方塊162、電影片段(MOOF)方塊164及電影片段隨機存取(MFRA)方塊166。儘管圖4表示視訊檔案之實例,但應理解,根據ISO基本媒體檔案格式及其擴展,其他媒體檔案可包括其他類型之媒體資料(例如,音訊資料、計時文字資料或其類似者),其在結構上類似於媒體檔案150之資料。
檔案類型(FTYP)方塊152大體上描述用於視訊檔案150之檔案類型。檔案類型方塊152可包括識別描述用於視訊檔案150之最佳用途的規範之資料。檔案類型方塊152可替代地置放於MOOV方塊154、電影片段方塊164及/或MFRA方塊166前。
在一些實例中,諸如視訊檔案150之區段可包括在FTYP方塊152前之MPD更新方塊(未圖示)。MPD更新方塊可包括指示待更新對應於包括視訊檔案150之表示的MPD之資訊,連同用於更新該MPD之資訊。舉例而言,MPD更新方塊可提供待用以更新MPD之資源的URI或URL。作為另一實例,MPD更新方塊可包括用於更新MPD之資料。在一些實例中,MPD更新方塊可緊接在視訊檔案150之區段類型(STYP)方塊(未圖示)之後,其中STYP方塊可定義視訊檔案150之區段類型。
在圖4之實例中,MOOV方塊154包括電影標頭(MVHD)方塊156、播放軌(TRAK)方塊158及一或多個電影延伸(MVEX)方塊160。一般而言,MVHD方塊156可描述視訊檔案150之一般特性。舉例而言,MVHD方塊156可包括描述視訊檔案150何時最初建立、視訊檔案150何時經最後修改、視訊檔案150之時間標度、視訊檔案150之播放持續時間的資料,或大體上描述視訊檔案150之其他資料。
TRAK方塊158可包括用於視訊檔案150之追蹤之資料。TRAK方塊158可包括描述對應於TRAK方塊158之追蹤的特性之播放軌標頭(TKHD)方塊。在一些實例中,TRAK方塊158可包括經寫碼視訊圖像,而在其他實例中,該追蹤之經寫碼視訊圖像可包括於電影片段164中,電影片段164可由TRAK方塊158及/或sidx方塊162之資料參考。
在一些實例中,視訊檔案150可包括多於一個播放軌。因此,MOOV方塊154可包括等於視訊檔案150中之追蹤之數目的數個TRAK方塊。TRAK方塊158可描述視訊檔案150之對應追蹤之特性。舉例而言,TRAK方塊158可描述用於對應追蹤之時間及/或空間資訊。當囊封單元30 (圖3)包括諸如視訊檔案150之視訊檔案中之參數集播放軌時,類似於MOOV方塊154之TRAK方塊158之TRAK方塊可描述參數集播放軌之特性。囊封單元30可在描述參數集播放軌之TRAK方塊內發信序列層級SEI訊息存在於參數集播放軌中。
MVEX方塊160可描述對應電影片段164之特性,例如,發信視訊檔案150除包括於MOOV方塊154 (若存在)內之視訊資料之外亦包括電影片段164。在串流視訊資料之情況下,經寫碼視訊圖像可包括於電影片段164中,而非在MOOV方塊154中。因此,所有經寫碼視訊樣本可包括於電影片段164中,而非在MOOV方塊154中。
MOOV方塊154可包括等於視訊檔案150中之電影片段164之數目的數目個MVEX方塊160。MVEX方塊160中之每一者可描述電影片段164中之一對應者的特性。舉例而言,每一MVEX方塊可包括描述用於電影片段164中之該對應者的時距之電影擴展標頭方塊(MEHD)方塊。
如上文所指出,囊封單元30可儲存視訊樣本中之序列資料集,其並不包括實際經寫碼視訊資料。視訊樣本可大體上對應於存取單元,其為特定時間例子下之經寫碼圖像之表示。在AVC之上下文中,經寫碼圖像包括一或多個VCL NAL單元及其他相關聯非VCL NAL單元(諸如,SEI訊息),該等VCL NAL單元含有用以建構存取單元之所有像素的資訊。因此,囊封單元30可在電影片段164中之一者中包括序列資料集,其可包括序列層級SEI訊息。囊封單元30可進一步將序列資料集及/或序列層級SEI訊息之存在發信為存在於MVEX方塊160中之對應於電影片段164中之一者的一者內的電影片段164中之一者中。
SIDX方塊162為視訊檔案150之可選元素。意即,符合3GPP檔案格式之視訊檔案或其他此等檔案格式未必包括SIDX方塊162。根據3GPP檔案格式之實例,SIDX方塊可用以識別一區段(例如,視訊檔案150內含有之一區段)之子區段。3GPP檔案格式將子區段定義為「具有一或多個對應媒體資料方塊及含有藉由電影片段方塊引用之資料的媒體資料方塊之一或多個連續電影片段方塊之自含式集合,必須跟在電影片段方塊之後,並在含有關於同一播放軌之資訊的下一個電影片段方塊之前」。3GPP檔案格式亦指示SIDX方塊「含有對由方塊記錄之(子)片段之子片段參考的序列。所參考子區段在呈現時間上鄰接。類似地,由區段索引方塊參考之位元組始終在區段內連續。所參考大小給出所參考材料中之位元組之數目的計數」。
SIDX方塊162通常提供表示包括於視訊檔案150中之區段之一或多個子區段的資訊。舉例而言,此類資訊可包括子片段開始及/或結束之播放時間、子片段之位元組偏移、子片段是否包括(例如,開始於)串流存取點(SAP)、SAP之類型(例如,SAP為瞬時解碼器再新(IDR)圖像、清潔隨機存取(CRA)圖像、斷鏈存取(BLA)圖像或其類似者)、在子片段中SAP之位置(就播放時間及/或位元組偏移而言)及其類似者。
電影片段164可包括一或多個經寫碼視訊圖像。在一些實例中,電影片段164可包括一或多個圖像群組(group of pictures;GOP),其中之每一者可包括數個經寫碼視訊圖像,例如訊框或圖像。另外,如上文所描述,在一些實例中,電影片段164可包括序列資料組。電影片段164中之每一者可包括電影片段標頭方塊(MFHD,圖4中未展示)。MFHD方塊可描述對應電影片段之特性,諸如電影片段之序號。電影片段164可按序列號次序包括於視訊檔案150中。
MFRA方塊166可描述視訊檔案150之電影片段164內之隨機存取點。此可輔助執行特技模式,諸如執行對由視訊檔案150囊封之區段內之特定時間位置(即,播放時間)的尋找。在一些實例中,MFRA方塊166通常為可選的且無需包括於視訊檔案中。同樣地,用戶端器件(諸如用戶端器件40)未必需要參考MFRA方塊166來對視訊檔案150之視訊資料進行正確解碼及顯示。MFRA方塊166可包括數個播放軌片段隨機存取(TFRA)方塊(未示出),其等於視訊檔案150之播放軌之數目或在一些實例中等於視訊檔案150之媒體播放軌(例如,非暗示播放軌)之數目。
在一些實例中,電影片段164可包括一或多個串流存取點(SAP),諸如IDR圖像。同樣地,MFRA方塊166可提供對SAP之視訊檔案150內之位置的指示。因此,視訊檔案150之時間子序列可由視訊檔案150之SAP形成。該時間子序列亦可包括其他圖像,諸如取決於SAP之P訊框及/或B訊框。時間子序列之訊框及/或圖塊可配置於區段內,使得取決於子序列之其他訊框/圖塊之時間子序列之訊框/圖塊可正確地經解碼。舉例而言,在資料之階層式配置中,用於其他資料之預測的資料亦可包括於時間子序列中。
圖5為說明包括用於串流、解碼及呈現媒體資料之各種元素之實例系統200之方塊圖。詳言之,系統200包括媒體擷取引擎208、局部儲存214、視訊解碼器216A至216C (視訊解碼器216)、音訊解碼器218、紋理緩衝器220A、220B (紋理緩衝器220)、頂點緩衝器222A至222C (頂點緩衝器222)、著色器緩衝器224及呈現引擎226。媒體擷取引擎208包括協定外掛程式210及格式外掛程式212。
一般而言,媒體擷取引擎208自雲端伺服器206收集多個視訊,且將此等視訊遞送至個別視訊解碼器216。最初,儲存及串流格式化沉浸式媒體資料202及元資料(諸如資訊清單、索引等)資料204經提供至雲端伺服器206。視訊解碼器216獨立地運行,但其紋理或頂點輸出經由各別紋理緩衝器220、頂點緩衝器222及著色器緩衝器224共同提供至呈現引擎226。呈現引擎226使用解碼器輸出,且經由後處理將視訊轉換成適當的場景。解碼器之數目可基於藉由系統200來產生之資訊動態地改變。舉例而言,來自姿勢追蹤器(未示出)之不同姿勢可導致需要待解碼之不同視訊串流之集合。在其他情況下,僅使用者之視野中之資訊經解碼且以更高解析度呈現,而其他資訊僅以較低品質呈現。此可藉由使用多個解碼器(例如每一立方體映射面一個)來達成。
圖6為說明其中單個解碼器解碼位元串流之所有視訊資料之實例之概念圖。詳言之,頻塊240表示各種視訊資料之集合,其組合為一個原始訊框242。原始訊框242經編碼、經傳輸且隨後經解碼以產生經解碼訊框244。然後,經解碼訊框244經拆卸以產生輸出訊框246。
一些實施方案,諸如定義於ISO/IEC 23090-2 (OMAF)或進階視訊媒體設定檔之TS26.118中之彼等,使用基於頻塊之方法。在圖6中,使用相同編碼解碼器及相同類型之視訊信號在非常嚴格條件下製備不同視訊串流,且需要以高度協調方式進行製備。解碼器藉由重寫位元串流來組合串流,以為每一訊框產生一致的HEVC位元串流。頻塊240中之每一者映射至原始訊框242中之特定區。頻塊240中之每一者表示HEVC視訊串流之區。添加逐區填充資訊,該資訊將頻塊240中之每一者分配至特定輸入視訊。後處理實體將輸出之經解碼訊框244分解為多個個別頻塊246,每一頻塊可單獨地存取。此外,若視訊需要經DRM保護,且應用加密,則應用許多限制,因為通常視訊位元串流作為整體經加密。
圖7為說明符合本發明之技術之方法之概念圖。對在本發明中所指出之問題之較佳解決方案為藉由獨立、各別解碼器來處理視訊串流250中之每一者,如圖7中所展示。在此情況下,接收器應用程式可同時使用多個解碼器。某些系統單晶片(SoC)平台支援多個解碼器,因此一般而言,此並非問題。解碼器可解碼視訊串流250以產生輸出視訊資料252。作為一實例,若需要呈現具有多個獨立視訊串流之網頁,則可容易地使用此類方法。
然而,沉浸式情境產生額外挑戰,該等挑戰由平鋪方法得到部分解決。舉例而言,多個解碼器輸出需要彼此同步。解碼器需要動態地建立及拆除。解碼器之整體複雜度需要加以限制。且解密構架需要就位,以能夠對個別頻塊進行解密。
若使用平鋪方法,則需要解決另一挑戰之集合。舉例而言,構架對HEVC有特異性。需要在接收器處產生單個一致HEVC串流,此可導致顯著位元串流重寫。每一視訊需要在訊框速率、顏色空間等方面具有相同屬性。動態地改變組態需要每一視訊串流之瞬時解碼器再新(IDR)訊框。
圖8為說明使用來自藉由MPEG在ISO/IEC 23090-5之上下文中製備之點雲寫碼方法之多個視訊編碼器276A至276D (視訊編碼器276)之實例系統260之概念圖。在此情況下,點雲視訊之不同分量每一皆由個別視訊串流表示,且分量中之每一者單獨地經編碼(且隨後經解碼)。此亦需要多個同步之獨立視訊解碼器。
詳言之,在圖8中,系統260包括分解單元262、填充單元264、輔助修補程式資訊(info)壓縮單元266、視訊編碼器276及多工器278。分解單元262接收輸入點雲,且將輸入點雲分解為獨立的各別視訊串流。填充單元264將分解視訊資料封包成各種類型之視訊資料,諸如幾何視訊訊框268、顏色視訊訊框270、運動場視訊訊框272及佔用映射274。幾何視訊訊框268、顏色視訊訊框270、運動場視訊訊框272及佔用映射274中之每一者由視訊編碼器276中之一各別者編碼。然後,多工器278將經編碼視訊串流與壓縮輔助修補程式資訊一起多工。
圖9為說明其中點雲物件292與具有360背景之場景290組合之實例之概念圖。詳言之,將場景290與點雲物件292組合產生場景294,其展示點雲物件294如何經安置於場景290內。
圖10為說明用於解碼經串流媒體資料之實例系統300之概念圖。系統300包括應用程式302、多解碼器310、圖形處理單元(GPU) 304、視訊輸出緩衝器306A至306N(視訊輸出緩衝器306)及視埠308。
一般而言,系統300動態地使用使用者之姿勢資訊及可能其他交互資料以組合場景用於適當呈現。詳言之,系統300可使用姿勢資訊自各種視訊物件320A至320N (視訊物件320)當中選擇待擷取之各別視訊串流。詳言之,系統300根據例如姿勢資訊自各別視訊物件320擷取同步單元322A至322N (同步單元322)。舉例而言,系統300可擷取使用者正直接觀看之視埠308之一部分之相對高品質視訊串流,且用戶無法看見或處於使用者之視角之周邊之視埠308之一部分的相對低品質視訊串流。視訊物件320中之每一者可具有可供用於擷取之不同品質(例如,不同解析度)。舉例而言,更高解析度解碼可應用於視野中,而背景資訊可以較低品質經解碼。
一般而言,同步單元322各自包括待在相同(或基本上相同)時間呈現或組合之各別圖像之集合。因此,藉由擷取各別同步單元322,系統300可確保擷取同步單元以同步方式經解碼、呈現及/或組合。
系統300可經組態以動態地使用多解碼器310之可用串流/網路存取位元速率以及可用解碼資源以最大化使用者體驗。因此系統300可動態地使用可用網路及硬體解碼資源以適應網路條件,以及使用者反饋。一個問題為應用程式302可提供明確定義介面,以便使用硬體解碼資源。
可用不同品質或位元速率之視訊物件320可由單個解碼器例子解碼。視訊物件320可取決於情況動態地共用資源。多解碼器310可將視訊物件320中之每一者輸出至可由應用程式302參考之視訊輸出緩衝器306中之單獨各別一者,例如,以支援用於呈現之基於GPU之修改。系統300可相應地同步輸出資料,例如藉由將同步單元322提供至多解碼器310。本發明之技術可提供明確定義之多解碼器介面/應用程式設計介面(API),及藉由後續呈現單元(例如,GPU 304之部分或與GPU 304分開)參考解碼器中之每一者之輸出之適當能力。藉此,可有效地使用可用硬體資源。解碼器介面可為編碼解碼器不可知的,且可甚至在解碼會話中使用不同編碼解碼器,例如AVC、HEVC及/或AV1。
以此方式,圖10之系統300表示用於擷取媒體資料之用戶端器件之實例,該用戶端器件包括一記憶體,其經組態以儲存媒體資料;及一或多個處理器,其實施於電路系統中且經組態以執行複數個視訊解碼器;判定包括複數個經編碼視訊串流之媒體資料之複雜度值,該複雜度值表示經編碼視訊串流之聚合之複雜度;回應於判定用戶端器件能夠使用複雜度值解碼經編碼視訊串流,擷取包括經編碼視訊串流之媒體資料;及將經編碼視訊串流及同步資訊分配至複數個視訊解碼器之對應視訊解碼器以使視訊解碼器解碼對應視訊串流,且以一同步方式自視訊串流輸出經解碼視訊資料。
圖11為說明用於執行本發明之技術之實例多解碼器310之方塊圖。詳言之,圖11之多解碼器310包括管理單元312、解多工器314、視訊解碼器316A至316N (視訊解碼器316)及時間同步(同步)單元318。圖11之多解碼器310亦可包括允許應用程式(例如,圖10之應用程式302)將媒體單元饋送至解碼平台中且解決上文所論述之要求之位元串流介面(諸如位元串流API)。此等技術之介面/互操作性點/API之基本原理在下文描述。圖1之系統可經組態以包括根據圖11之模型之多解碼器,例如包括複數個視訊解碼器及將各種視訊串流分配至視訊解碼器之解多工器。
可初始化總體多解碼器最大複雜度要求。實例包括以下之一個或組合:每秒最大區塊之數目(例如,巨集區塊、寫碼單元(CU)、最大寫碼單元(LCU)、寫碼樹型區塊(CTB)或類似者)、每秒最大像素之數目、最大解碼器例子之數目、最大並行解碼器例子之數目、及/或概括以上要求之設定檔/層級/層指示。
當使用多解碼器資源時,圖11之多解碼器310可動態地初始化且終止視訊解碼器316之個別「解碼器會話」或改變會話之參數。初始化可包括典型解碼器初始化(設定檔、層級、輸出格式等)。參數改變可包括視訊解碼器316中之一或多者當前所需資源(例如,使用不同層級,改變所需經解碼圖像緩衝器要求等)。使用多解碼器310之應用程式302可確保視訊解碼器316中之每一者之解碼器會話之複雜度總和不超過限制。為了安全起見,可存在明確定義API以拒絕/通知此類設置。此將更像為API調用/通知,而非位元串流語法。
每一解碼會話可針對初始化之內容建立一致解碼器位元串流。每一解碼會話可在位元串流/API中明確且唯一地識別。位元串流/會話可為獨立的,亦即,不共用任何參考緩衝器等。可考慮對例如可縮放編碼解碼器的擴展。每一解碼會話可運行其自身之解密上下文。
在會話中,應用程式302可判定同步單元322之群,對應於將同時呈現及/或組合以實現完全同步之圖像之集合。同步單元322亦可支援會話中所有解碼器之呈現次序輸出,獨立地存取每一解碼器輸出用於呈現(例如,可將GPU指令/著色器結合至輸出),且建立由視訊解碼器316之提供不同解碼器會話中之假設解碼器模型。
去往及來自應用程式302之通信可藉由二元API/介面(非常類似於單個解碼器介面)來完成,但包裝器可用於不同編碼解碼器,亦即可為獨立於編碼解碼器的。若實施證明為簡化,則亦可使用任何其他API。API可由管理單元312提供。視訊編碼解碼器層級包裝可由適當檔案格式、通用媒體應用格式(common media application format;CMAF)及/或DASH功能支援。此外,可使用至HTML-5媒體元素及MSE之映射。
系統層級之信令可實現多解碼器實施之適當動態改變。舉例而言,可相應地描述可解碼單元之複雜度,以便應用程式302調度解碼資源。若證明足夠簡單,則解碼平台亦可動態地提供關於當前可用解碼資源之資訊。
圖11說明此類多解碼器介面之設置之實例。多工位元串流經提供至解多工器314,其將資料單元分配至個別視訊解碼器316、管理單元312及/或時間同步單元318。
資料單元可以管理單元312、時間同步單元318或個別視訊解碼器316為目標。對特定視訊解碼器316之位元組串流之識別可經由囊封/包裝層或藉由將個別綁定提供至各別視訊解碼器316來完成。位元組串流單元可含有呈現同步資訊。管理單元312可將目標提供至視訊解碼器316,且亦可清楚地識別。另外,在系統層級上,串流及可解碼單元中之每一者可包括複雜度標註,其允許應用程式302正確地使用可用解碼資源。
圖11之多解碼器310之管理單元312可提供以下管理功能:建立整體多解碼器資源分配之能力、終止多解碼器會話之能力、建立視訊解碼器316中之新的個別一者之能力、拆除視訊解碼器316中之個別一者之能力及/或改變視訊解碼器316中之個別一者之參數設置之能力。
圖11之多解碼器310之時間同步單元318可提供以下時間同步功能:跨不同解碼器例子標記經解碼訊框以共用相同時刻表之能力,及提供視訊解碼器316中之每一者之時序資訊之能力。
圖12為說明形成用於執行本發明之技術之固定管線之部分之實例多解碼器310'之方塊圖。一般而言,多解碼310'包括與圖11之多解碼器310相同的元素,且為視訊解碼器316中之每一者添加解密單元319A至319N (解密單元319)。若涉及安全,則假定管理及解碼亦包括解密。如圖12中所展示,經解碼紋理緩衝器可維持於固定域中,且GPU指令可僅修改紋理輸出緩衝器。解密單元319各自為各別視訊解碼器316提供用於解密加密視訊串流之各別解密環境。
可結合本發明之技術使用以下術語。多視訊解碼器(MVD):完成對單個位元串流中提供之多個獨立視訊串流進行解碼之任務之功能,且每一經解碼信號為可獨立存取的。 MVD介面:將指令提供至MVD用於解碼多個並行視訊串流之二元串列位元串流介面。 MVD-API:API定義,其可用以與MVD介接,以解碼多個視訊串流且管理MVD,可能提供自MVD至應用程式之回調。
以此方式,根據本發明之技術之視訊解碼介面可支援不同性質之幾個視訊物件之解碼(例如,平鋪360視訊或基於視訊之點雲)。幾個視訊元素可獨立地產生。兩個物件可具有不同時間解析度。視訊可由各別解碼器經解碼之後在時間上同步。
MVD介面可提供MVD-API之功能之全部子集。 MVD介面(及因此MVD-API)可實現以下功能:就編碼解碼器/設定檔/層/層級、HRD及類似者而言,每一視訊串流可具有其自身編碼參數;且每一視訊串流可獨立地產生。
圖13為說明根據本發明之技術之擷取媒體資料之實例方法之流程圖。圖13之方法可由例如圖10之系統300執行,且特定言之由圖10及圖11之多解碼器310或圖12之多解碼器310'執行。同樣地,此或類似方法可由圖1之用戶端器件40執行。出於實例及解釋之目的,圖13之方法相對於圖10之系統300來解釋。
最初,系統300可判定多解碼器310 (350)之整體複雜度。整體複雜度可表示例如多解碼器310每秒可處理之最大區塊之數目、多解碼器310每秒可處理之最大像素之數目、多解碼器310可支援之最大解碼器例子之數目及/或多解碼器310可支援最大並行解碼器例子之數目中之一或多者。另外地或可替代地,整體複雜度可表示待解碼之各別視訊串流之設定檔、層及/或層級資訊。
然後,系統300可判定待擷取之視訊物件(352)。舉例而言,系統300可判定使用者佩戴之耳機之位置及定向,且判定待為各種視訊物件擷取之視訊資料之相對品質層級。然後,系統300可選擇各種視訊物件之同步(sync)單元,使得同步單元之組合具有可接受整體複雜度(354),亦即,小於或等於可由多解碼器310解碼之整體複雜度之整體複雜度。每一同步單元可為來自各種視訊物件(視訊串流)之圖像之集合,該等圖像例如在基本上同一時間同步地呈現及/或組合。以此方式,系統300可判定包括複數個經編碼視訊串流之媒體資料之複雜度值,該複雜度值表示經編碼視訊串流之聚合之複雜度。
然後,系統300可擷取經選擇同步單元(356)。以此方式,系統300可回應於判定用戶端器件能夠使用複雜度值解碼經編碼視訊串流,擷取包括經編碼視訊串流之媒體資料。
若需要,系統300可具現化新視訊解碼器、終止當前具現化之視訊解碼器及/或修改當前具現化視訊解碼器之參數(358)。舉例而言,系統300可改變為具現化視訊解碼器之分配資源,及/或修改具現化視訊解碼器之設定檔、層或層級。
如上文所提及,多解碼器310之視訊解碼器316中之每一者(圖11及圖12)可執行各別解碼會話。在一些實例中,媒體串流中之每一者可與各別唯一識別符相關聯。解多工器314可用可包括各別唯一識別符之元資料囊封待分配至視訊解碼器316之媒體資料。解多工器314可將擷取之視訊串流解多工為視訊解碼器316中之每一者之各別視訊資料之集合,且例如使用各別標識符將視訊資料之集合(例如,各別同步單元)發送至視訊解碼器316 (360)。
儘管圖13中展示,但在一些實例中,解密單元319 (圖12)可在將視訊資料傳送至視訊解碼器316之前,解密加密視訊資料。解密單元319可各自維護用於解密同步單元之各別解密上下文。最終,視訊解碼器316可解碼同步單元(362),且以同步方式輸出經解碼同步單元(364)。
以此方式,圖13之方法表示一種擷取媒體資料之方法之實例,其包括:藉由包括複數個視訊解碼器之用戶端器件,判定包括複數個經編碼視訊串流之媒體資料之複雜度值,該複雜度值表示經編碼視訊串流之聚合之複雜度;回應於判定用戶端器件能夠使用複雜度值解碼經編碼視訊串流,由用戶端器件擷取包括經編碼視訊串流之媒體資料;以及藉由用戶端器件,將經編碼視訊串流及同步資訊分配至複數個視訊解碼器之對應視訊解碼器,以使視訊解碼器解碼對應視訊串流且以同步方式自視訊串流輸出經解碼視訊資料。
在一或多個實例中,所描述功能可以硬體、軟體、韌體或其任何組合來實施。若以軟體實施,則功能可作為一或多個指令或程式碼而儲存於電腦可讀媒體上或經由電腦可讀媒體傳輸,且由基於硬體之處理單元執行。電腦可讀媒體可包括電腦可讀儲存媒體(其對應於諸如資料儲存媒體之有形媒體)或通信媒體,該通信媒體包括例如根據通信協定來促進電腦程式自一處傳送至另一處的任何媒體。以此方式,電腦可讀媒體通常可對應於(1)非暫時性之有形電腦可讀儲存媒體,或(2)諸如信號或載波之通信媒體。資料儲存媒體可為可由一或多個電腦或一或多個處理器存取以擷取用於實施本發明中描述之技術的指令、程式碼及/或資料結構的任何可用媒體。電腦程式產品可包括電腦可讀媒體。
藉由實例而非限制,此等電腦可讀儲存媒體可包含RAM、ROM、EEPROM、CD-ROM或其他光碟儲存器、磁碟儲存器或其他磁性儲存器件、快閃記憶體或可用於儲存呈指令或資料結構形式之所要程式碼且可由電腦存取的任何其他媒體。而且,任何連接恰當地稱為電腦可讀媒體。舉例而言,若使用同軸纜線、光纜、雙絞線、數位用戶線(digital subscriber line;DSL)或無線技術(諸如紅外線、無線電及微波)自網站、伺服器或其他遠端源傳輸指令,則同軸纜線、光纜、雙絞線、DSL或無線技術(諸如紅外線、無線電及微波)包括於媒體之定義中。然而,應理解,電腦可讀儲存媒體及資料儲存媒體不包括連接、載波、信號或其他暫時性媒體,而實情為關於非暫時性有形儲存媒體。如本文中所使用之磁碟及光碟包括緊密光碟(CD)、雷射光碟、光學光碟、數位多功能光碟(DVD)、軟碟及藍光光碟,其中磁碟通常以磁性方式再生資料,而光碟用雷射以光學方式再生資料。以上之組合亦應包括於電腦可讀媒體之範疇內。
可由一或多個處理器執行指令,該一或多個處理器諸如一或多個數位信號處理器(DSP)、通用微處理器、特殊應用積體電路(ASIC)、場可程式化邏輯陣列(FPGA)或其他等效之整合或離散邏輯電路。因此,如本文所用之術語「處理器」可指前述結構或適用於實施本文中所描述之技術的任何其他結構中之任一者。另外,在一些態樣中,本文所描述之功能可經提供於經組態以供編碼及解碼或併入於經組合編碼解碼器中之專用硬體及/或軟體模組內。而且,可在一或多個電路或邏輯元件中充分實施該等技術。
本發明之技術可實施於廣泛多種器件或裝置中,包括無線手持機、積體電路(IC)或IC集合(例如,晶片集合)。在本發明中描述各種組件、模組或單元以強調經組態以執行所揭示技術之器件的功能態樣,但未必要求由不同硬體單元來實現。確切而言,如上文所描述,可將各種單元組合於可在編解碼器硬體單元中,或藉由互操作性硬體單元(包括如上文所描述之一或多個處理器)之集合而結合與適合之合適軟體及/或韌體一起組合或由互操作硬體單元之集合來提供該等單元,該等硬體單元包括如上文所描述之一或多個處理器。
各種實例已予以描述。此等及其他實例在以下申請專利範圍之範疇內。
10:系統
20:內容準備器件
22:音訊源
24:視訊源
26:音訊編碼器
28:視訊編碼器
30:囊封單元
32:輸出介面
40:用戶端器件
42:音訊輸出
44:視訊輸出
46:音訊解碼器
48:視訊解碼器
50:解囊封單元
52:擷取單元
54:網路介面
60:伺服器器件
62:儲存媒體
64:多媒體內容
66:資訊清單檔案
68:表示
68A-68N:表示
70:請求處理單元
72:網路介面
74:網路
100:eMBMS中間軟體單元
102:代理伺服器單元
104:快取記憶體
106:eMBMS接收單元
110:DASH用戶端
112:媒體應用程式
120:多媒體內容
122:媒體呈現描述
124:表示
124A-124N:表示
126:標頭資料
128:區段
128A-128N:區段
130:標頭資料
132:區段
132A-132N:區段
150:視訊檔案
152:檔案類型方塊
154:電影方塊
156:電影標頭方塊
158:播放軌方塊
160:電影延伸方塊
162:區段索引方塊
164:電影片段方塊
166:電影片段隨機存取方塊
200:系統
202:儲存及串流格式化沉浸式媒體資料
204:資料
206:雲端伺服器
208:媒體擷取引擎
210:協定外掛程式
212:格式外掛程式
214:局部儲存
216:視訊解碼器
216A:視訊解碼器
216B:視訊解碼器
216C:視訊解碼器
218:音訊解碼器
220:紋理緩衝器
220A:紋理緩衝器
220B:紋理緩衝器
222:頂點緩衝器
222A:頂點緩衝器
222B:頂點緩衝器
222C:頂點緩衝器
224:著色器緩衝器
226:呈現引擎
240:頻塊
242:原始訊框
244:解碼訊框
246:輸出訊框
250:視訊串流
252:輸出視訊資料
260:系統
262:分解單元
264:填充單元
266:輔助修補程式資訊壓縮單元
268:幾何視訊訊框
270:顏色視訊訊框
272:運動場視訊訊框
274:佔用映射
276:視訊編碼器
276A:視訊編碼器
276B:視訊編碼器
276C:視訊編碼器
276D:視訊編碼器
278:多工器
290:場景
292:點雲物件
294:點雲物件
300:系統
302:應用程式
304:圖形處理單元
306:視訊輸出緩衝器
306A-306N:視訊輸出緩衝器
308:視埠
310:多解碼器
310':多解碼器
312:管理單元
314:解多工器
316:視訊解碼器
316A-316N:視訊解碼器
318:時間同步單元
319:解密單元
319A-319N:解密單元
320:視訊物件
320A-320N:視訊物件
322:同步單元
322A-322N:擷取同步單元
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
362:步驟
364:步驟
圖1為說明實施用於經由網路來串流媒體資料之技術之實例系統的方塊圖。
圖2為說明擷取單元之實例組件集合之方塊圖。
圖3為說明實例多媒體內容之元素之概念圖。
圖4為說明可對應於表示之區段之實例視訊檔案之元素之方塊圖。
圖5為說明包括用於串流、解碼及展現媒體資料之各種元素之實例系統之方塊圖。
圖6為說明其中單個解碼器解碼位元串流之所有視訊資料之實例之概念圖。
圖7為說明符合本發明之技術之方法之概念圖。
圖8為說明在ISO/IEC 23090-5之上下文下由MPEG製備之自點雲寫碼方法之多個解碼器之使用之實例之概念圖。
圖9為說明其中點雲物件與具有360背景之場景組合之實例之概念圖。
圖10為說明用於解碼經串流媒體資料之實例系統之概念圖。
圖11為說明用於執行本發明之技術之實例多解碼器之方塊圖。
圖12為說明形成用於執行本發明之技術之固定管線之部分之實例多解碼器之方塊圖。
圖13為說明根據本發明之技術之擷取媒體資料之實例方法之流程圖。
350:步驟
352:步驟
354:步驟
356:步驟
358:步驟
360:步驟
362:步驟
364:步驟
Claims (33)
- 一種擷取媒體資料之方法,該方法包含: 藉由包括複數個視訊解碼器之一用戶端器件,判定包括複數個經編碼視訊串流之媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度; 回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,由該用戶端器件擷取包括該等經編碼視訊串流之該媒體資料;以及 藉由該用戶端器件,將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
- 如請求項1之方法,其中擷取該媒體資料包含擷取包括該複數個經編碼視訊串流之一或多個檔案。
- 如請求項1之方法,其中分配該等經編碼視訊串流包含: 將包含該複數個經編碼視訊串流之一第一經編碼視訊串流之一第一圖像集合的一第一同步(sync)單元發送至該複數個視訊解碼器之一第一視訊解碼器;及 將包含該複數個經編碼視訊串流之一第二經編碼視訊串流之一第二圖像集合的一第二同步單元發送至該複數個視訊解碼器之一第二視訊解碼器,其中該第二同步單元將與該第一同步單元同時呈現或組合,且其中發送該第二同步單元包含與發送該第一同步單元同時發送該第二同步單元。
- 如請求項1之方法,其中該媒體資料進一步包含一經編碼音訊串流,該方法進一步包含將該經編碼音訊串流分配至一音訊解碼器。
- 如請求項1之方法,其中該複雜度表示每秒待處理之區塊之一最大數目、每秒待處理之像素之一最大數目、解碼器例子之一最大數目或並行解碼器例子之一最大數目中之一或多者。
- 如請求項1之方法,其進一步包含自複數個媒體資料集合中選擇該媒體資料,使得該媒體資料之該複雜度值小於或等於該用戶端器件所支援之一最大複雜度。
- 如請求項1之方法,其進一步包含回應於對超過該用戶端器件所支援之一最大複雜度的一位元串流之一請求,經由一應用程式設計介面(API)發出一拒絕通知。
- 如請求項1之方法,其進一步包含動態地初始化或終止該等視訊解碼器中之一或多者。
- 如請求項8之方法,其中動態地初始化該等視訊解碼器中之一或多者包含使用一設定檔語法元素之一值、一層級語法元素之一值及視訊資料之一輸出格式來初始化一視訊解碼器。
- 如請求項1之方法,其進一步包含終止及再初始化該等視訊解碼器中之一者,以改變該再初始化視訊解碼器之參數。
- 如請求項10之方法,其中終止及再初始化該等視訊解碼器中之該一者包含修改該等視訊解碼器中之一者之經分配資源。
- 如請求項10之方法,其中終止及再初始化該等視訊解碼器中之該一者包含改變該等視訊解碼器中之該一者之一設定檔之一層級或改變該等視訊解碼器中之該一者之經解碼圖像緩衝器要求。
- 如請求項1之方法,其進一步包含: 除了該複數個視訊解碼器之外,亦具現化一新視訊解碼器,以解碼該等經編碼視訊位元串流中之一者;及 自該媒體資料判定由該新視訊解碼器執行之一解碼會話之一唯一識別符, 其中分配包含當該等經編碼視訊位元串流中之該一者包括該唯一識別符時,將該等經編碼視訊位元串流中之該一者之視訊資料分配至該新視訊解碼器。
- 如請求項1之方法,其進一步包含,藉由該等視訊解碼器中之每一者,解密該等經編碼視訊串流中之一各別者並維護一各別解密上下文。
- 一種用於擷取媒體資料之用戶端器件,該用戶端器件包含: 一記憶體,其經組態以儲存媒體資料;及 一或多個處理器,其實施於電路系統中且經組態以: 執行複數個視訊解碼器; 判定包括複數個經編碼視訊串流之該媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度; 回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料;及 將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
- 如請求項15之用戶端器件,其中為分配該等經編碼視訊串流,該一或多個處理器經組態以: 將包含該複數個經編碼視訊串流之一第一經編碼視訊串流之一第一圖像集合的一第一同步(sync)單元發送至該複數個視訊解碼器之一第一視訊解碼器;且 將包含該複數個經編碼視訊串流之一第二經編碼視訊串流之一第二圖像集合的一第二同步單元發送至該複數個視訊解碼器之一第二視訊解碼器,其中該第二同步單元將與該第一同步單元同時呈現或組合,且其中發送該第二同步單元包含與發送該第一同步單元同時發送該第二同步單元。
- 如請求項15之用戶端器件,其中該複雜度表示每秒待處理之區塊之一最大數目、每秒待處理之像素之一最大數目、解碼器例子之一最大數目或並行解碼器例子之一最大數目中之一或多者。
- 如請求項15之用戶端器件,其中該一或多個處理器進一步經組態以自複數個媒體資料集合中選擇該媒體資料,使得該媒體資料之該複雜度值小於或等於該用戶端器件所支援之一最大複雜度。
- 如請求項15之用戶端器件,其中該一或多個處理器進一步經組態以回應於對超過該用戶端器件所支援之一最大複雜度之一位元串流的一請求,經由一應用程式設計介面(API)發出一拒絕通知。
- 如請求項15之用戶端器件,其中該一或多個處理器進一步經組態以動態地初始化或終止該等視訊解碼器中之一或多者。
- 如請求項15之用戶端器件,其中該一或多個處理器進一步經組態以終止及再初始化該等視訊解碼器中之一者以改變該再初始化視訊解碼器之參數。
- 如請求項15之用戶端器件,其中該一或多個處理器進一步經組態以: 除了該複數個視訊解碼器之外,亦具現化一新視訊解碼器,以解碼該等經編碼視訊位元串流中之一者;及 自該媒體資料判定由該新視訊解碼器執行之一解碼會話之一唯一識別符, 其中為分配該視訊資料,該一或多個處理器經組態以當該等經編碼視訊位元串流中之該一者包括該唯一識別符時,將該等經編碼視訊位元串流中之該一者之視訊資料分配至該新視訊解碼器。
- 如請求項15之用戶端器件,其中該一或多個處理器經組態以執行該複數個視訊解碼器以解密該等經編碼視訊串流中之一各別者並維護一各別解密上下文。
- 一種電腦可讀儲存媒體,其具有儲存於其上之指令,該等指令在經執行時使一處理器進行以下操作: 執行複數個視訊解碼器; 判定包括複數個經編碼視訊串流之該媒體資料之一複雜度值,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度; 回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料;及 將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料。
- 如請求項24之電腦可讀儲存媒體,其中使該處理器分配該等經編碼視訊串流之該等指令包含使該處理器進行以下操作之指令: 將包含該複數個經編碼視訊串流之一第一經編碼視訊串流之一第一圖像集合的一第一同步(sync)單元發送至該複數個視訊解碼器之一第一視訊解碼器;及 將包含該複數個經編碼視訊串流之一第二經編碼視訊串流之一第二圖像集合的一第二同步單元發送至該複數個視訊解碼器之一第二視訊解碼器,其中該第二同步單元將與該第一同步單元同時呈現或組合,且其中發送該第二同步單元包含與發送該第一同步單元同時發送該第二同步單元。
- 如請求項24之電腦可讀儲存媒體,其中該複雜度表示每秒待處理之區塊之一最大數目、每秒待處理之像素之一最大數目、解碼器例子之一最大數目或並行解碼器例子之一最大數目中之一或多者。
- 如請求項24之電腦可讀儲存媒體,其進一步包含使該處理器自複數個媒體資料集合中選擇該媒體資料之指令,使得該媒體資料之該複雜度值小於或等於該用戶端器件所支援之一最大複雜度。
- 如請求項24之電腦可讀儲存媒體,其進一步包含使該處理器回應於對超過該用戶端器件所支援之一最大複雜度之一位元串流之一請求,經由一應用程式設計介面(API)發出一拒絕通知之指令。
- 如請求項24之電腦可讀儲存媒體,其進一步包含使該處理器動態地初始化或終止該等視訊解碼器中之一或多者之指令。
- 如請求項24之電腦可讀儲存媒體,其進一步包含使該處理器終止及再初始化該等視訊解碼器中之一者以改變該再初始化視訊解碼器之參數之指令。
- 如請求項24之計算機可讀存儲媒體,其進一步包含使該處理器進行以下操作之指令: 除了該複數個視訊解碼器之外,亦具現化一新視訊解碼器,以解碼該等經編碼視訊位元串流中之一者;及 自該媒體資料判定由該新視訊解碼器執行之一解碼會話之一唯一識別符, 其中使該處理器分配之該等指令包含當該等經編碼視訊位元串流中之該一者包括該唯一識別符時,使該處理器將該等經編碼視訊位元串流中之該一者之視訊資料分配至該新視訊解碼器之指令。
- 如請求項24之電腦可讀儲存媒體,其中使得該處理器執行該複數個視訊解碼器之該等指令包含使得該處理器使該等視訊解碼器解密該等經編碼視訊串流中之一各別者並維護一各別解密上下文之指令。
- 一種用於擷取媒體資料之用戶端器件,該用戶端器件包含: 複數個視訊解碼器; 用於判定包括複數個經編碼視訊串流之媒體資料之一複雜度值之構件,該複雜度值表示該等經編碼視訊串流之一聚合之複雜度; 用於回應於判定該用戶端器件能夠使用該複雜度值解碼該等經編碼視訊串流,擷取包括該等經編碼視訊串流之該媒體資料之構件;及 用於將該等經編碼視訊串流及同步資訊分配至該複數個視訊解碼器之對應視訊解碼器,以使該等視訊解碼器解碼該等對應視訊串流且以一同步方式自該等視訊串流輸出經解碼視訊資料之構件。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962789940P | 2019-01-08 | 2019-01-08 | |
US62/789,940 | 2019-01-08 | ||
US16/736,610 | 2020-01-07 | ||
US16/736,610 US11381867B2 (en) | 2019-01-08 | 2020-01-07 | Multiple decoder interface for streamed media data |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202032998A true TW202032998A (zh) | 2020-09-01 |
TWI846795B TWI846795B (zh) | 2024-07-01 |
Family
ID=
Also Published As
Publication number | Publication date |
---|---|
CN113287323B (zh) | 2023-08-18 |
CN113287323A (zh) | 2021-08-20 |
US20200221159A1 (en) | 2020-07-09 |
WO2020146520A1 (en) | 2020-07-16 |
US11381867B2 (en) | 2022-07-05 |
EP3909254A1 (en) | 2021-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2023200083B2 (en) | Signaling important video information in network video streaming using mime type parameters | |
CN109076229B (zh) | 在图片中最感兴趣的区域 | |
CN113287323B (zh) | 用于检索媒体数据的方法、客户端设备及计算机可读介质 | |
US10565463B2 (en) | Advanced signaling of a most-interested region in an image | |
CN109076238B (zh) | 通过http在动态自适应流式传输中用信号传送虚拟现实视频 | |
JP2020526982A (ja) | メディアコンテンツのためのリージョンワイズパッキング、コンテンツカバレッジ、およびシグナリングフレームパッキング | |
TW201830974A (zh) | 對於用於串流媒體資料之預取支持之資料發信 | |
TW202037177A (zh) | 用於串流媒體資料之服務描述 | |
TW201743614A (zh) | 樣本條目及隨機存取 | |
CN112771876B (zh) | 检索媒体数据的方法和设备以及发送媒体数据的方法和设备 | |
TW202127897A (zh) | 用於串流傳輸媒體資料的多解碼器介面 | |
TWI700917B (zh) | 使用全向媒體格式處理媒體資料 | |
TWI846795B (zh) | 用於經串流媒體資料之多個解碼器介面 |