CN113287323A - 用于流媒体数据的多解码器接口 - Google Patents
用于流媒体数据的多解码器接口 Download PDFInfo
- Publication number
- CN113287323A CN113287323A CN202080007787.8A CN202080007787A CN113287323A CN 113287323 A CN113287323 A CN 113287323A CN 202080007787 A CN202080007787 A CN 202080007787A CN 113287323 A CN113287323 A CN 113287323A
- Authority
- CN
- China
- Prior art keywords
- video
- decoder
- encoded video
- data
- client device
- Prior art date
- Legal status (The legal status 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 status listed.)
- Granted
Links
- 230000004044 response Effects 0.000 claims abstract description 17
- 230000001360 synchronised effect Effects 0.000 claims abstract description 16
- 238000000034 method Methods 0.000 claims description 69
- 239000000872 buffer Substances 0.000 claims description 17
- 230000008569 process Effects 0.000 claims description 12
- 230000008859 change Effects 0.000 claims description 9
- 239000012634 fragment Substances 0.000 description 37
- 230000000875 corresponding effect Effects 0.000 description 34
- 239000002609 medium Substances 0.000 description 28
- 238000010586 diagram Methods 0.000 description 26
- 230000006978 adaptation Effects 0.000 description 22
- 238000005538 encapsulation Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 14
- 238000009877 rendering Methods 0.000 description 13
- 238000002360 preparation method Methods 0.000 description 12
- 230000002123 temporal effect Effects 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 9
- 238000007726 management method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- ORQBXQOJMQIAOY-UHFFFAOYSA-N nobelium Chemical compound [No] ORQBXQOJMQIAOY-UHFFFAOYSA-N 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000012384 transportation and delivery Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 238000004806 packaging method and process 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
- 230000008901 benefit Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 238000012805 post-processing Methods 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
- 230000001413 cellular effect Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000012526 feed medium Substances 0.000 description 1
- GVVPGTZRZFNKDS-JXMROGBWSA-N geranyl diphosphate Chemical compound CC(C)=CCC\C(C)=C\CO[P@](O)(=O)OP(O)(O)=O GVVPGTZRZFNKDS-JXMROGBWSA-N 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000005055 memory storage Effects 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
- 238000005192 partition Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000000153 supplemental 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)
- Computer Security & Cryptography (AREA)
- Library & Information Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
用于检索媒体数据的示例客户端设备包括:被配置为存储媒体数据的存储器;以及一个或多个处理器,在电路中实现并被配置为:执行多个视频解码器;确定对于包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值解码编码的视频流,检索包括编码的视频流的媒体数据;以及将编码的视频流和同步信息分发给多个视频解码器中对应的视频解码器,使得视频解码器解码对应的视频流,并以同步的方式输出来自视频流的解码的视频数据。
Description
相关申请的交叉引用
本申请要求于2020年1月7日提交的No.16/736,610的美国申请和2019年1月8日提交的No.62/789,940的美国临时申请的权益,它们各自的全部内容在此通过引用合并于此。
技术领域
本公开涉及媒体数据的存储和传输。
背景技术
数字视频能力可以并入宽范围的设备中,所述设备包括数字电视、数字直播***、无线广播***、个人数字助理(PDA)、膝上型或台式计算机、数码相机、数字记录设备、数字媒体播放器、视频游戏设备、视频游戏控制台、蜂窝或卫星无线电电话、视频电话会议设备等。数字视频设备实现视频压缩技术,诸如MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分,高级视频译码(AVC)、ITU-T H.265(也称为高效率视频译码(HEVC))所定义的标准以及这些标准的扩展中描述的技术,以更有效地发送和接收数字视频信息。
在诸如音频和视频数据的媒体数据已经被编码之后,媒体数据可以被打包用于传输或存储。媒体数据可以被组装成符合各种标准中的任何标准(诸如国际标准化组织(ISO)基本媒体文件格式及其扩展,诸如AVC)的媒体文件。
发明内容
通常,本公开描述了用于接收不同类型的媒体数据并将其分发到在客户端设备的不同的对应的解码器的技术。不同类型的媒体数据可以包括在单个接收文件中。最近,收集了一组草案要求以解决在沉浸式媒体数据传送和访问的环境中出现的一组问题。要求的不同方面包括针对媒体数据的译码的表示(例如,MPEG-I)、格式(其可以通过例如将表示映射到MPEG存储和传送功能来解决)、基于网络的处理、可用媒体数据的声明和解码器模型。
在一个示例中,一种检索媒体数据的方法包括:由包括多个视频解码器的客户端设备确定对于包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值来解码编码的视频流,由客户端设备检索包括编码的视频流的媒体数据;以及由客户端设备将编码的视频流和同步信息分发给多个视频解码器中的相应的视频解码器,使得视频解码器解码相应的视频流,并以同步的方式从视频流输出解码的视频数据。
在另一示例中,一种用于检索媒体数据的客户端设备,包括:被配置为存储媒体数据的存储器;以及一个或多个处理器,在电路中实现并被配置为:执行多个视频解码器;确定对于包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值解码编码的视频流,检索包括编码的视频流的媒体数据;以及将编码的视频流和同步信息分发给多个视频解码器中相应的视频解码器,使得视频解码器解码相应的视频流,并以同步的方式从视频流输出解码的视频数据。
在另一个示例中,一种计算机可读存储介质在其上存储有指令,这些指令被执行时使处理器:执行多个视频解码器;确定对于包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值解码编码的视频流,检索包括编码的视频流的媒体数据;以及将编码的视频流和同步信息分发给多个视频解码器中相应的视频解码器,使得视频解码器解码相应的视频流,并以同步的方式从视频流输出解码的视频数据。
在另一示例中,一种用于检索媒体数据的客户端设备,包括:多个视频解码器;用于确定对于包括多个编码的视频流的媒体数据的复杂度值的部件,该复杂度值表示编码的视频流的聚合的复杂度;用于响应于确定客户端设备能够使用复杂度值解码编码的视频流,检索包括编码的视频流的媒体数据的部件;以及用于将编码的视频流和同步信息分发给多个视频解码器中相应的视频解码器,使得视频解码器解码相应的视频流,并以同步的方式从视频流输出解码的视频数据的部件。
在附图和以下描述中阐述了一个或多个示例的细节。其他特征、对象和优势将从描述和附图以及权利要求中显而易见。
附图说明
图1是说明实现针对通过网络流传输媒体数据的技术的示例***的框图。
图2是说明检索单元的组件的示例集合的框图。
图3是说明示例多媒体内容的元件的概念图。
图4是说明可对应于表示的段的示例视频文件的元件的框图。
图5是说明包括用于流传输、解码和呈现媒体数据的各种元件的示例***的框图。
图6为说明单个解码器解码比特流的所有视频数据的示例的概念图。
图7是说明与本公开的技术一致的方法的概念图。
图8是说明来自在ISO/IEC 23090-5的上下文中由MPEG准备的点云译码方法的多个解码器的使用的示例的概念图。
图9是说明点云对象与具有360背景的场景结合的示例的概念图。
图10是说明用于解码流媒体数据的示例***的概念图。
图11是说明用于执行本公开的技术的示例多解码器的框图。
图12是说明形成用于执行本公开的技术的安全管线的部分的示例多解码器的框图。
图13是说明根据本公开的技术的检索媒体数据的示例方法的流程图。
具体实施方式
在一些媒体应用中,媒体场景由多个视频组成。这样的视频可以进行后处理,并且然后共同地渲染。例如,它们可能会被缝合、叠加、或者场景合成创造沉浸式体验。本公开描述可应用于包括沉浸式媒体数据(例如,音频和视频数据)的比特流的技术。
本公开的技术可以应用于符合根据ISO基本媒体文件格式、可伸缩视频译码(SVC)文件格式、高级视频译码(AVC)文件格式、第三代合作伙伴计划(3GPP)文件格式、和/或多视图视频译码(MVC)文件格式,或其他类似的视频文件格式中的任何一种封装的视频数据。
在HTTP流传输中,经常使用的操作包括HEAD、GET和部分GET。HEAD操作检索与给定统一资源定位符(URL)或统一资源名称(URN)关联的文件的报头,而不检索与URL或URN关联的有效负载。GET操作检索与给定URL或URN关联的整个文件。部分GET操作接收字节范围作为输入参数,并检索文件的连续字节数,其中字节数对应于接收到的字节范围。因此,可以为HTTP流传输提供电影片段,因为部分GET操作可以获得一个或多个单独的电影片段。在电影片段中,可以有多个不同轨道的轨道片段。在HTTP流传输中,媒体呈现可能是客户端可访问的数据的构造的集合。客户端可以请求和下载媒体数据信息以向用户呈现流传输服务。
在使用HTTP流传输而流传输3GPP数据的示例中,针对多媒体内容的视频和/或音频数据可能有多个表示。如下所解释,不同的表示可以对应于不同的译码(coding)特性(例如,视频译码标准的不同简档或级别)、不同的译码标准或译码标准的扩展(诸如多视图和/或可伸缩扩展)、或不同的比特率。这样的表示的清单可以在媒体呈现描述(MPD)数据结构中定义。媒体呈现可以对应于HTTP流传输客户端设备可访问的数据的构造的集合。HTTP流传输客户端设备可以请求和下载媒体数据信息以向客户端设备的用户呈现流传输服务。媒体呈现可以在MPD数据结构(其可以包括MPD的更新)中描述。
媒体呈现可以包含一个或多个时段的序列。每个时段可以延长直到下一个时段的开始,或者在最后一个时段的情况下延长到媒体呈现的结束。每个时段可能包括针对相同媒体内容的一个或多个表示。表示可以是音频、视频、定时文本或其他这样的数据的多个可选编码(encoded)版本之一。表示可以因编码类型(例如,由用于视频数据的比特率、分辨率、和/或编解码器、以及用于音频数据的比特率、语言、和/或编解码器)而不同。术语表示可用于指代对应于多媒体内容的特定时段并以特定方式编码的编码的音频或视频数据的部分。
特定时段的表示可以被分配给由指示表示所属的适配集的MPD中的属性所指示的组。同一适配集中的表示通常被认为是彼此的替代是在于,客户端设备可以在这些表示之间动态且无缝地切换,例如,执行带宽适配。例如,可以将针对特定时段的视频数据的每个表示分配给相同的适配集,使得可以选择任何表示来解码以呈现针对相应的时段的多媒体内容的媒体数据(诸如视频数据或音频数据)。在一些示例中,一个时段内的媒体内容可以由来自组0(如果存在)的一个表示或者由来自每个非零组的至多一个表示的组合来表示。时段的每个表示的定时数据可以相对于时段的开始时间来表达。
表示可以包括一个或多个段。每个表示可以包括初始化段,或者表示的每个段可以是自初始化的。当存在时,初始化段可包含用于访问表示的初始化信息。通常,初始化段不包含媒体数据。段可以由标识符(诸如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI))唯一地引用。MPD可以为每个段提供标识符。在一些示例中,MPD也可以以范围属性的形式提供字节范围,其对应于针对通过URL、URN、或URI可访问的文件内的段的数据
可以选择不同的表示以针对用于不同类型的媒体数据的基本上同时的检索。例如,客户端设备可以选择从其要检索段的音频表示、视频表示和定时文本表示。在一些示例中,客户端设备可以选择特定的适配集来执行带宽适配。即,客户端设备可以选择包括视频表示的适配集、包括音频表示的适配集、和/或包括定时文本的适配集。替代地,客户端设备可以选择用于某些类型(例如,视频)的媒体的适配集,并直接选择用于其他类型(例如,音频和/或定时文本)的媒体的的表示。
图1是说明实现用于通过网络流传输媒体数据的技术的示例***10的框图。在该示例中,***10包括内容准备设备20、服务器设备60和客户端设备40。客户端设备40和服务器设备60通过网络74通信耦合,网络74可以包括因特网。在一些示例中,内容准备设备20和服务器设备60也可以通过网络74或另一网络耦合,或者可以直接通信耦合。在一些示例中,内容准备设备20和服务器设备60可以包括相同的设备。
在图1的示例中,内容准备设备20包括音频源22和视频源24。音频源22可以包括例如麦克风,其产生表示要由音频编码器26编码的捕获的音频数据的电信号。替代地,音频源22可以包括存储有先前记录的音频数据的存储介质、诸如计算机化的合成器的音频数据生成器、或任何其他音频数据源。视频源24可以包括产生要由视频编码器28编码的视频数据的摄像机、用先前记录的视频数据编码的存储介质、诸如计算机图形源的视频数据生成单元、或任何其他视频数据源。在所有示例中,内容准备设备20不一定与服务器设备60通信耦合,而是可以将多媒体内容存储到由服务器设备60读取的单独介质。
原始音频和视频数据可以包括模拟或数字数据。模拟数据可以在由音频编码器26和/或视频编码器28编码之前被数字化。音频源22可以在演讲参与者正在演讲时从演讲参与者获得音频数据,并且视频源24可以同时获得演讲参与者的视频数据。在其他示例中,音频源22可以包括具有存储的音频数据的计算机可读存储介质,并且视频源24可以包括具有存储的视频数据的计算机可读存储介质。以此方式,本公开中描述的技术可应用于直播、流传输、实时音频和视频数据或应用于存档的、预先录制的音频和视频数据。
对应于视频帧的音频帧通常是包含与包含在视频帧内的由视频源24捕获(或生成)的视频数据同时地、由音频源22捕获(或生成)的音频数据的音频帧。例如,当演讲参与者一般通过演讲产生音频数据时,音频源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块是否可以有小于8x8像素的子宏块分区的限制。以此方式,解码器可以确定解码器是否能够正确地解码比特流。
在图1的示例中,内容准备设备20的封装单元30从视频编码器28接收包括译码的视频数据的基本流和从音频编码器26接收包括编码的音频数据的基本流。在一些示例中,视频编码器28和音频编码器26可以各自包括用于从编码的数据形成PES数据包的封包器。在其他示例中,视频编码器28和音频编码器26可以各自与各自的用于从编码的数据形成PES数据包的封包器接口连接。在其他示例中,封装单元30可以包括用于从编码的音频和视频数据形成PES数据包的封包器。
视频编码器28可以以多种方式编码多媒体内容的视频数据,以产生在各种比特率和具有各种特性(诸如像素分辨率、帧率、与各种译码标准的一致性、与各种简档的一致性和/或与用于各种译码标准的简档的级别的一致性、具有一个或多个视图的表示(例如,针对二维或三维的回放)、或其他这样的特性)的多媒体内容的不同表示。如在本公开中使用的表示可以包括音频数据、视频数据、文本数据(例如,针对隐藏式字幕)或其他这样的数据之一。该表示可以包括基本流,诸如音频基本流或视频基本流。每个PES数据包可以包括标识PES数据包属于哪个基本流的stream_id。封装单元30负责将基本流组装成各种表示的视频文件(例如,段)。
封装单元30从音频编码器26和视频编码器28接收用于表示的基本流的PES数据包,并且从PES数据包形成对应的网络抽象层(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消息中。这些示例SEI消息可以传达关于例如操作点的提取和操作点的特性的信息。除此之外,封装单元30可以形成清单文件,诸如描述表示的特性的媒体呈现描述符(MPD)。封装单元30可以根据可扩展标记语言(XML)来格式化MPD。
封装单元30可以将用于多媒体内容的一个或多个表示的数据连同清单文件(例如MPD)一起提供给输出接口32。输出接口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,如RFC 2616“Hypertext Transfer Protocol-HTTP/1.1”(R.Fielding等人,网络工作组,IETF,1999年6月)所述。即,请求处理单元70可以被配置为接收HTTP GET或部分GET请求并响应于请求提供多媒体内容64的数据。请求可以例如使用段的URL来指定表示68之一的段。在一些示例中,请求还可以指定段的一个或多个字节范围,从而包括部分GET请求。请求处理单元70还可以被配置为服务HTTP HEAD请求以提供表示68之一的段的报头数据。在任何情况下,请求处理单元70可以被配置为处理请求以向请求设备(诸如客户端设备40)提供所请求的数据。
附加地或替代地,请求处理单元70可以被配置为经由广播或多播协议(诸如eMBMS)来递送媒体数据。内容准备设备20可以以与所描述的基本上相同的方式创造DASH段和/或子段,但是服务器设备60可以使用eMBMS或另一广播或多播网络传输协议来递送这些段或子段。例如,请求处理单元70可以被配置为从客户端设备40接收多播组加入请求。即,服务器设备60可以将与多播组相关联的互联网协议(IP)地址通告给包括客户端设备40的客户端设备,其与特定媒体内容(例如,直播事件的广播)相关联。客户端设备40转而可以提交请求以加入多播组。该请求可以通过网络74(例如,组成网络74的路由器)传播,使得路由器将目的地为与多播组相关联的IP地址的业务量引导到订阅的客户端设备,诸如客户端设备40。
如图1的示例所说明的,多媒体内容64包括清单文件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流以检索编码的数据,并取决于编码的数据是音频流还是视频流的一部分(例如,如流的PES数据包报头所指示的)向音频解码器46或视频解码器48发送编码的数据。音频解码器46解码编码的音频数据并将解码的音频数据发送给音频输出42,而视频解码器48解码编码的视频数据并将解码的视频数据(其可以包括流的多个视图)发送给视频输出44。
如适用,视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52和解封装单元50中的每一个可以被实现为任何各种合适的处理电路,诸如一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器28和视频解码器48中的每一个可以被包括在一个或多个编码器或解码器中,它们中的任一个可以被集成为组合的视频编码器/解码器(CODEC)的一部分。同样,音频编码器26和音频解码器46中的每一个可以被包括在一个或多个编码器或解码器中,它们中的任何一个都可以被集成为组合的编解码器的一部分。包括视频编码器28、视频解码器48、音频编码器26、音频解码器46、封装单元30、检索单元52和/或解封装单元50的装置可以包括集成电路、微处理器和/或无线通信设备,例如移动电话。
客户端设备40、服务器设备60和/或内容准备设备20可以被配置为根据本公开的技术操作。出于示例的目的,本公开描述了关于客户端设备40和服务器设备60的这些技术。然而,应当理解,内容准备设备20可以被配置为执行这些技术,而不是(或除了)服务器设备60。
封装单元30可以形成NAL单元,该NAL单元包括标识NAL单元所属的程序的报头以及有效负载,例如音频数据、视频数据或描述与NAL单元对应的传输或程序流的数据。例如,在H.264/AVC中,NAL单元包括一个字节的报头和变化大小的有效负载。在它的有效负载中包括视频数据的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被配置为例如根据在“FLUTE-FileDelivery over Unidirectional Transport”(T.Paila等人,网络工作组,RFC 6726,2012年11月,可在tools.ietf.org/html/rfc6726中找到)中描述的文件递送由单向传输(FLUTE)经由eMBMS接收数据。即,eMBMS接收单元106可以经由广播从例如可以充当广播/多播服务中心(BM-SC)的服务器设备60接收文件。
当eMBMS中间件单元100接收针对文件的数据时,eMBMS中间件单元可以在高速缓存104中存储接收到的数据。高速缓存104可以包括计算机可读存储介质,诸如闪存、硬盘、RAM或任何其他合适的存储介质。
代理服务器单元102可以充当用于DASH客户端110的服务器。例如,代理服务器单元102可以向DASH客户端110提供MPD文件或其他清单文件。代理服务器单元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可以对应于图6的清单文件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中,其可以被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盒子可以包括电影扩展标题盒子(MEHD)盒子,该盒子描述了电影片段164中的相应一个的持续时间。
如上所提及的,封装单元30可以在不包括实际译码的视频数据的视频样本中存储序列数据集。视频样本通常可以对应于访问单元,访问单元是特定时间实例的译码的图片的表示。在AVC的上下文中,译码的图片包括一个或多个VCL NAL单元,这些单元包括构建访问单元和其他相关非VCL NAL单元的所有像素的信息,诸如SEI消息。相应地,封装单元30可以在电影片段164之一中包括序列数据集,其可以包括序列级SEI消息。封装单元30可以进一步用信号通知序列数据集的存在和/或序列级SEI消息的存在,如在对应于电影片段164之一的MVEX盒子160之一内的电影片段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可以包括一组或多组图片(GOP),其中每组图片可以包括多个译码的视频图片,例如帧或图片。除此之外,如上所述,在一些示例中电影片段164可以包括序列数据集。每一个电影片段164可以包括电影片段报头盒子(MFHD,未在图4中示出)。MFHD盒子可以描述相应电影片段的特性,诸如电影片段的序列号。电影片段164可以按序列号的顺序包括在视频文件150中。
MFRA盒子166可以描述视频文件150的电影片段164内的随机访问点。这可以帮助执行技巧模式,诸如执行对视频文件150封装的段内的特定时间位置(即,回放时间)的搜索。在一些示例中,MFRA盒子166通常是可选的并且不需要包括在视频文件中。同样,诸如客户端设备40的客户端设备不一定需要参考MFRA盒子166来正确解码和显示视频文件150的视频数据。MFRA盒子166可以包括多个轨道段随机访问(TFRA)盒子(未示出)该轨道段随机访问(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、着色器缓冲器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。例如,如果具有多个独立视频流的网页需要被渲染,则可以容易地使用这种方法。
然而,沉浸式场景创造了额外的挑战,而这些挑战可以通过平铺(tiling)方法部分解决。例如,多个解码器输出需要相互同步。解码器需要动态建立和拆除。整体解码器复杂度需要有界。解密框架需要到位以使得能够解密各个片。
如果使用平铺的方法,则需要解决另一组挑战。例如,该框架特定于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可以例如通过向多解码器310提供同步单元322相应地同步输出数据。本公开的技术可以提供明确定义的多解码器接口/API(应用编程接口)和适当的能力以通过后续渲染单元(例如,GPU 304的一部分或与GPU 304分开)来参考每个解码器的输出。通过这样做,可以有效地使用可用的硬件资源。解码器接口可以是编解码器不可知的,甚至可以在解码会话中使用不同的编解码器,例如AVC、HEVC和/或AV1。
以此方式,图10中的***300表示用于检索媒体数据的客户端设备的示例,其包括被配置为存储媒体数据的存储器;以及一个或多个在电路中实现的处理器,并被配置为:执行多个视频解码器;确定包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值解码编码的视频流,检索包括编码的视频流的媒体数据;将编码的视频流和同步信息分发给多个视频解码器中对应的视频解码器,使视频解码器对对应的视频流进行解码,并以同步方式从视频流输出解码的视频数据。
图11是说明用于执行本公开的技术的示例多解码器310的框图。具体地,图11的多解码器310包括管理单元312、解复用器314、视频解码器316A-316N(视频解码器316)和时间同步(sync)单元318。图11的多解码器310还可以包括比特流接口(诸如比特流API),其允许应用(例如,图10的应用302)将媒体单元馈送到解码平台并满足上述要求。下面描述了这些技术的接口/互操作点/API的基本原理。图11的***可以被配置为包括根据图11的模型的多解码器,例如包括多个视频解码器和将各种视频流分发到视频解码器的解复用器。
总体多解码器最大复杂度要求可以被初始化。示例包括以下之一或组合:每秒的块(例如,宏块、译码单元(CU)、最大译码单元(LCU)、编码树块(CTB)等)的最大数量、每秒的像素的最大数量、解码器实例的最大数量、并发解码器实例的最大数量、和/或概述上述要求的简档/级别/层指示。
当使用多解码器资源时,图11的多解码器310可以动态地初始化和停止视频解码器316的各个“解码器会话”,或者改变会话的参数。初始化可以包括典型的解码器初始化(简档、级别、输出格式等)。参数改变可以包括针对视频解码器316的一个或多个视频解码器的当前所需的资源(例如,使用不同的级别、改变所需的解码的图片缓冲器要求等)。使用多解码器310的应用302可以确保每个视频解码器316的解码器会话的复杂度总和不超过限制。为了安全起见,可以有定义良好的API来拒绝/通知这样的设置。这更像是API调用/通知,而不是比特流语法。
每个解码会话可以针对初始化的内容创造符合的解码器比特流。每个解码会话都可以在比特流/API中清楚且唯一地标识。比特流/会话可以是独立的,即,不共享任何参考缓冲器等。可以考虑对例如可伸缩编解码器的扩展。每个解码会话可以运行其自己的解密上下文。
跨越会话,应用302可以确定同步单元322的组,其对应于要同时渲染和/或组装以使能完全同步的图片集。同步单元322还可以支持跨越各会话的所有解码器的呈现顺序输出,独立地访问每个解码器输出以用于渲染(例如,GPU指令/着色器可以绑定到输出),并创建跨越由视频解码器316提供的不同解码器会话的假设解码器模型。
去往和来自应用302的通信可以通过二进制API/接口(非常类似于单个解码器接口)来进行,但是包装器可以用于不同的编解码器,即可以是编解码器独立的。如果实现方式被证明是简化的,则也可以使用任何其他API。API可由管理单元312提供。视频编解码器级别包装可由适当的文件格式、通用媒体应用格式(CMAF)和/或DASH功能支持。另外,可以使用到HTML-5媒体元件和MSE的映射。
***级别上的信令可以使得多解码器实现方式能够适当动态改变。例如,可以相应地描述可解码单元的复杂度,以便应用302调度解码资源。如果证明足够简单,则解码平台还可以动态地提供有关当前可用解码资源的信息。
图11说明对于这样的多解码器接口的设置的示例。多路复用的比特流被提供给解复用器314,该解复用器314分发数据单元到各个视频解码器316、管理单元312和/或时间同步单元318。
数据单元可以以管理单元312、时间同步单元318或各个视频解码器316为目标。字节流单元对指定视频解码器316的识别可以通过封装/包装层或通过提供到相应的视频解码器316的单独的绑定来进行。字节流单元可以包含呈现同步信息。管理单元312可以针对视频解码器316提供并且也可以被清楚地识别。除此之外,在***级别上,每个流和可解码单元可以包括允许应用302适当使用可用解码资源的复杂度注释。
图11的多解码器310的管理单元312可以提供以下管理功能:建立整体多解码器资源分配的能力、终止多解码器会话的能力、建立新的单个视频解码器316的能力、拆除单个视频解码器316的能力、和/或改变单个视频解码器316的参数设置的能力。
图11的多解码器310的时间同步单元318可以提供以下时间同步功能:跨不同解码器实例标记解码的帧以共享相同时间线的能力、和提供每个视频解码器316的定时信息的能力。
图12是说明形成用于执行本公开的技术的安全管线的一部分的示例多解码器310’的框图。通常,除对于每个视频解码器316的解密单元319A-319N(解密单元319)之外,多解码器310'包括与图11的多解码器310相同的元件。如果涉及安全性,则假设管理和解码也包括解密。如图12所示,解码的纹理缓冲器可以维持在安全域中,并且GPU指令可以只修改纹理输出缓冲器。解密单元319各自提供用于为各自的视频解码器316解密加密的视频流的各自的解密环境。
以下术语可以结合本公开的技术使用。Multi-Video-Decoder(多视频解码器,MVD):完成对单个比特流中提供的多个独立视频流进行解码的任务的功能,每个解码的信号都可以独立访问。MVD接口:二进制串行比特流接口,其为MVD提供指令以解码多个并行视频流。MVD-API:API定义,其可用于与MVD接口连接以解码多个视频流并管理MVD,可能地,提供从MVD到应用的回调。
以此方式,根据本公开的技术的视频解码接口可支持不同性质的几个视频对象(例如,平铺的360视频或基于视频的点云)的解码。几个视频元素可以独立地产生。这两个对象可以具有不同的时间分辨率。在由对应的解码器解码之后,视频可以在时间上同步。
MVD-接口可以提供MVD-API的功能性的完整子集。MVD-Interface(以及因此的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(图11和12)的视频解码器316的每一个可以执行相应的解码会话。在一些示例中,每个媒体流可以与相应的唯一标识符相关联。解复用器314可以将要分发到视频解码器316的媒体数据与可以包括相应唯一标识符的元数据一起封装。解复用器314可以将检索的视频流解复用为对于视频解码器316的每一个的相应的视频数据集,并且例如使用相应标识符向视频解码器316发送视频数据集(例如相应的同步单元)(360)。
虽然未在图13中示出,但是在一些示例中,解密单元319(图12)可以在视频数据被发送到视频解码器316之前解密所加密的视频数据。解密单元319可以各自维持用于解密同步单元的各自的解密上下文。最终,视频解码器316可以解码同步单元(362)并以同步方式输出解码的同步单元(364)。
以此方式,图13的方法表示检索媒体数据的方法的示例,包括:由包括多个视频解码器的客户端设备确定对于包括多个编码的视频流的媒体数据的复杂度值,该复杂度值表示编码的视频流的聚合的复杂度;响应于确定客户端设备能够使用复杂度值对编码的视频流进行解码,由客户端设备检索包括编码的视频流的媒体数据;以及由客户端设备分发编码的视频流和同步信息到多个视频解码器的相应的视频解码器,以使视频解码器解码相应的视频流,并以同步的方式输出来自视频流的解码的视频数据。
在一个或多个示例中,所描述的功能可以在硬件、软件、固件或其任何组合中实现。如果在软件中实现,则这些功能可以作为一个或多个指令或代码存储在计算机可读介质或在计算机可读介质上传输,并由基于硬件的处理单元执行。计算机可读介质可以包括计算机可读存储介质,其对应于诸如数据存储介质的有形介质,或者通信介质,包括便于例如根据通信协议将计算机程序从一个地方转移到另一个地方的任何介质。以此方式,计算机可读介质通常可以对应于(1)非暂时性的有形计算机可读存储介质或(2)诸如信号或载波的通信介质。数据存储介质可以是可由一台或多台计算机或一个或多个处理器访问以检索用于实现本公开中描述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。
作为示例而非限制,这样的计算机可读存储介质可包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储、磁盘存储或其他磁存储设备、闪存或可用于以指令或数据结构的形式存储期望的程序代码并可由计算机访问的任何其他介质。另外,任何连接都被恰当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或无线技术(诸如红外线、无线电和微波)从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术(诸如红外线、无线电和微波)都包括在介质的定义中。然而,应当理解计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他瞬态介质,而是直接指向非瞬态、有形存储介质。如本文所用的磁盘和光盘包括压缩盘(CD)、激光盘、光盘、数字多功能盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地再现数据,而光盘则用激光光学地再现数据。上述的组合也应包括在计算机可读介质的范围内。
指令可由一个或多个处理器执行,一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用目的微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效的集成的或分立的逻辑电路。相应地,如本文所使用的术语“处理器”可指任何前述结构或适合于实现本文所描述的技术的任何其他结构。此外,在一些方面,本文描述的功能性可以在被配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入组合的编解码器中。另外,这些技术可以在一个或多个电路或逻辑元件中完全实现。
本公开的技术可以在包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)的很多设备或装置中实现。本公开中描述了各种组件、模块或单元以强调被配置为执行所公开的技术的设备的功能方面,但不一定需要由不同的硬件单元来实现各种组件、模块或单元。而是,如上所述,各种单元可以合并在编解码器硬件单元中或由包括如上所述的一个或多个处理器的互操作硬件单元集合结合合适的软件和/或固件提供。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。
Claims (33)
1.一种检索媒体数据的方法,所述方法包括:
由包括多个视频解码器的客户端设备确定对于包括多个编码的视频流的媒体数据的复杂度值,所述复杂度值表示所述编码的视频流的聚合的复杂度;
响应于确定所述客户端设备能够使用所述复杂度值解码所述编码的视频流,由所述客户端设备检索包括所述编码的视频流的所述媒体数据;以及
由所述客户端设备分发所述编码的视频流和同步信息给所述多个视频解码器中的相应的视频解码器,以使所述视频解码器解码所述相应的视频流,并以同步方式输出来自所述视频流的解码的视频数据。
2.如权利要求1所述的方法,其中检索所述媒体数据包括检索包括所述多个编码的视频流的一个或多个文件。
3.如权利要求1所述的方法,其中分发所述编码的视频流包括:
发送包括所述多个编码的视频流中的第一编码的视频流的第一组图片的第一同步单元到所述多个视频解码器中的第一视频解码器;以及
发送包括所述多个编码的视频流中的第二编码的视频流的第二组图片的第二同步单元到所述多个视频解码器中的第二视频解码器,其中所述第二同步单元将和所述第一同步单元同时渲染或组装,并且其中发送所述第二同步单元包括在发送所述第一同步单元的同时发送所述第二同步单元。
4.如权利要求1所述的方法,其中所述媒体数据还包括编码的音频流,所述方法还包括分发所述编码的音频流到音频解码器。
5.如权利要求1所述的方法,其中所述复杂度表示每秒要处理的块的最大数量、每秒要处理的像素的最大数量、解码器实例的最大数量或并发解码器实例的最大数量中的一个或多个。
6.如权利要求1所述的方法,还包括从多组媒体数据中选择所述媒体数据,使得所述媒体数据的所述复杂度值小于或等于所述客户端设备支持的最大复杂度。
7.如权利要求1所述的方法,还包括响应于对于超过所述客户端设备支持的最大复杂度的比特流的请求,经由应用编程接口API发出拒绝通知。
8.如权利要求1所述的方法,还包括动态地初始化或停止所述视频解码器中的一个或多个。
9.如权利要求8所述的方法,其中动态初始化所述视频解码器中的一个或多个包括使用对于简档语法元素的值、对于级别语法元件的值和对于视频数据的输出格式来初始化视频解码器。
10.如权利要求1所述的方法,还包括停止和重新初始化所述视频解码器之一以改变所重新初始化的视频解码器的参数。
11.如权利要求10所述的方法,其中停止和重新初始化所述视频解码器之一包括修改对于所述视频解码器之一所分配的资源。
12.如权利要求10所述的方法,其中停止和重新初始化所述视频解码器之一包括改变对于所述视频解码器之一的简档的级别或改变所述视频解码器之一的解码的图片缓冲器要求。
13.如权利要求1所述的方法,还包括:
实例化除了所述多个视频解码器之外的新视频解码器以解码所述编码的视频比特流之一;以及
对于由所述新视频解码器执行的解码会话,从媒体数据确定唯一标识符,
其中分发包括当所述编码的视频比特流之一包括所述唯一标识符时分发所述编码的视频比特流之一的视频数据到所述新视频解码器。
14.如权利要求1所述的方法,还包括由所述视频解码器的每个,解密所述编码的视频流的相应一个并维持相应的解密上下文。
15.一种用于检索媒体数据的客户端设备,所述客户端设备包括:
存储器,配置为存储媒体数据;和
一个或多个处理器,在电路中实现并配置为:
执行多个视频解码器;
确定对于包括多个编码的视频流的所述媒体数据的复杂度值,所述复杂度值表示所述编码的视频流的聚合的复杂度;
响应于确定所述客户端设备能够使用所述复杂度值解码所述编码的视频流,检索包括所述编码的视频流的所述媒体数据;以及
分发所述编码的视频流和同步信息到所述多个视频解码器中的相应的视频解码器,以使所述视频解码器解码所述相应的视频流,并以同步方式输出来自所述视频流的解码的视频数据。
16.如权利要求15所述的客户端设备,其中为了分发所述编码的视频流,所述一个或多个处理器被配置为:
发送包括所述多个编码的视频流中的第一编码的视频流的第一组图片的第一同步单元到所述多个视频解码器中的第一视频解码器;以及
发送包括所述多个编码的视频流中的第二编码的视频流的第二组图片的第二同步单元到所述多个视频解码器中的第二视频解码器,其中所述第二同步单元将和所述第一同步单元同时渲染或组装,并且其中发送所述第二同步单元包括在发送所述第一同步单元的同时发送所述第二同步单元。
17.如权利要求15所述的客户端设备,其中所述复杂度表示每秒要处理的块的最大数量、每秒要处理的像素的最大数量、解码器实例的最大数量或并发解码器实例的最大数量中的一个或多个。
18.如权利要求15所述的客户端设备,其中所述一个或多个处理器还被配置为从多组媒体数据中选择所述媒体数据,使得所述媒体数据的所述复杂度值小于或等于所述客户端设备支持的最大复杂度。
19.如权利要求15所述的客户端设备,其中所述一个或多个处理器还被配置为响应于对于超过所述客户端设备支持的最大复杂度的比特流的请求,经由应用编程接口API发出拒绝通知。
20.如权利要求15所述的客户端装置,其中所述一或多个处理器还被配置为动态地初始化或停止所述视频解码器中的一个或多个。
21.如权利要求15所述的客户端设备,其中所述一个或多个处理器还被配置为停止和重新初始化所述视频解码器之一以改变所重新初始化的视频解码器的参数。
22.如权利要求15所述的客户端设备,其中所述一个或多个处理器还被配置为:
实例化除了所述多个视频解码器之外的新视频解码器以解码所述编码的视频比特流之一;以及
对于由所述新视频解码器执行的解码会话,从所述媒体数据确唯一标识符,
其中为了分发所述视频数据,所述一个或多个处理器被配置为当所述编码的视频比特流之一包括所述唯一标识符时分发所述编码的视频比特流之一的视频数据到所述新视频解码器。
23.如权利要求15所述的客户端设备,其中所述一个或多个处理器被配置为执行所述多个视频解码器以解密所述编码的视频流的相应一个并维持相应的解密上下文。
24.一种其上存储有指令的计算机可读存储介质,所述指令在执行时使处理器:
执行多个视频解码器;
确定对于包括多个编码的视频流的所述媒体数据的复杂度值,所述复杂度值表示所述编码的视频流的聚合的复杂度;
响应于确定所述客户端设备能够使用所述复杂度值解码所述编码的视频流,检索包括所述编码的视频流的所述媒体数据;以及
分发所述编码的视频流和同步信息到所述多个视频解码器中的相应的视频解码器,以使所述视频解码器解码所述相应的视频流,并以同步方式输出来自所述视频流的解码的视频数据。
25.如权利要求24所述的计算机可读存储介质,其中使所述处理器分发所述编码的视频流的指令包括使所述处理器执行以下步骤的指令:
发送包括所述多个编码的视频流中的第一编码的视频流的第一组图片的第一同步单元到所述多个视频解码器中的第一视频解码器;以及
发送包括所述多个编码的视频流中的第二编码的视频流的第二组图片的第二同步单元到所述多个视频解码器中的第二视频解码器,其中所述第二同步单元将和所述第一同步单元同时渲染或组装,并且其中发送所述第二同步单元包括在发送所述第一同步单元的同时发送所述第二同步单元。
26.如权利要求24所述的计算机可读存储介质,其中所述复杂度表示每秒要处理的块的最大数量、每秒要处理的像素的最大数量、解码器实例的最大数量或并发解码器实例的最大数量中的一个或多个。
27.如权利要求24所述的计算机可读存储介质,还包括使所述处理器从多组媒体数据中选择所述媒体数据、使得所述媒体数据的所述复杂度值小于或等于所述客户端设备支持的最大复杂度的指令。
28.如权利要求24所述的计算机可读存储介质,还包括使所述处理器响应于对于超过所述客户端设备支持的最大复杂度的比特流的请求、经由应用编程接口API发出拒绝通知的指令。
29.如权利要求24所述的计算机可读存储介质,还包括使所述处理器动态地初始化或停止所述视频解码器中的一个或多个的指令。
30.如权利要求24所述的计算机可读存储介质,还包括使所述处理器停止和重新初始化所述视频解码器之一以改变所重新初始化的视频解码器的参数的指令。
31.如权利要求24所述的计算机可读存储介质,还包括使所述处理器执行以下步骤的指令:
实例化除了所述多个视频解码器之外的新视频解码器以解码所述编码的视频比特流之一;以及
对于由所述新视频解码器执行的解码会话,从所述媒体数据确定唯一标识符,
其中使所述处理器分发的指令包括使所述处理器当所述编码的视频比特流之一包括所述唯一标识符时分发所述编码的视频比特流之一的视频数据到所述新视频解码器的指令。
32.如权利要求24所述的计算机可读存储介质,其中使所述处理器执行所述多个视频解码器的指令包括:使所述处理器解密所述编码的视频流的相应一个并维持相应的解密上下文的指令。
33.一种用于检索媒体数据的客户端设备,所述客户端设备包括:
多个视频解码器;
用于确定对于包括多个编码的视频流的所述媒体数据的复杂度值的部件,所述复杂度值表示所述编码的视频流的聚合的复杂度;
用于响应于确定所述客户端设备能够使用所述复杂度值解码所述编码的视频流,检索包括所述编码的视频流的所述媒体数据的部件;以及
用于分发所述编码的视频流和同步信息到所述多个视频解码器中的相应的视频解码器,以使所述视频解码器解码所述相应的视频流,并以同步方式输出来自所述视频流的解码的视频数据的部件。
Applications Claiming Priority (5)
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 |
PCT/US2020/012774 WO2020146520A1 (en) | 2019-01-08 | 2020-01-08 | Multiple decoder interface for streamed media data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113287323A true CN113287323A (zh) | 2021-08-20 |
CN113287323B CN113287323B (zh) | 2023-08-18 |
Family
ID=71404656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080007787.8A Active CN113287323B (zh) | 2019-01-08 | 2020-01-08 | 用于检索媒体数据的方法、客户端设备及计算机可读介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11381867B2 (zh) |
EP (1) | EP3909254A1 (zh) |
CN (1) | CN113287323B (zh) |
WO (1) | WO2020146520A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401445A (zh) * | 2021-12-31 | 2022-04-26 | 深圳云天励飞技术股份有限公司 | 视频处理控制方法、装置、监控设备、客户端及存储介质 |
CN115379221A (zh) * | 2022-10-25 | 2022-11-22 | 中诚华隆计算机技术有限公司 | 一种流媒体数据传输方法和*** |
WO2024001621A1 (en) * | 2022-06-27 | 2024-01-04 | Mediatek Inc. | Multimedia system with dynamic adaptation |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11403784B2 (en) * | 2019-03-19 | 2022-08-02 | Tencent America LLC | Method and apparatus for tree-based point cloud compression (PCC) media stream using moving picture experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH) |
US11825156B1 (en) * | 2020-02-25 | 2023-11-21 | Axon Enterprise, Inc. | Computer system for processing multiplexed digital multimedia files |
US20210409767A1 (en) * | 2020-06-19 | 2021-12-30 | Lg Electronics Inc. | Point cloud data transmission device, point cloud data transmission method, point cloud data reception device, and point cloud data reception method |
US20240056591A1 (en) * | 2021-04-12 | 2024-02-15 | Lg Electronics Inc. | Method for image coding based on signaling of information related to decoder initialization |
CN113573088B (zh) * | 2021-07-23 | 2023-11-10 | 上海芯翌智能科技有限公司 | 一种为直播视频流同步绘制识别对象的方法与设备 |
WO2023163632A1 (en) * | 2022-02-25 | 2023-08-31 | Telefonaktiebolaget Lm Ericsson (Publ) | Neural network complexity metric for image processing |
CN114697722A (zh) * | 2022-04-01 | 2022-07-01 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频播放方法及装置、电子设备、存储介质 |
CN115955597B (zh) * | 2023-03-14 | 2023-05-12 | 深圳市英唐数码科技有限公司 | 一种多格式视频自适应切换方法、***和存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003071777A2 (en) * | 2002-02-21 | 2003-08-28 | British Telecommunications Public Limited Company | Video processing |
EP1631089A1 (en) * | 2004-08-30 | 2006-03-01 | Matsushita Electric Industrial Co., Ltd. | Video coding apparatus and decoding apparatus |
CN101170692A (zh) * | 2006-10-24 | 2008-04-30 | 华为技术有限公司 | 多视图象编解码方法及编解码器 |
CN101895746A (zh) * | 2009-05-22 | 2010-11-24 | 索尼公司 | 解码处理设备及方法、数据分发程序和解码处理程序 |
JP2010279082A (ja) * | 2010-09-13 | 2010-12-09 | Fujitsu Ltd | 画像処理システム |
US20130202051A1 (en) * | 2012-02-02 | 2013-08-08 | Texas Instruments Incorporated | Sub-Pictures for Pixel Rate Balancing on Multi-Core Platforms |
CN103795979A (zh) * | 2014-01-23 | 2014-05-14 | 浙江宇视科技有限公司 | 一种分布式图像拼接同步的方法和装置 |
CN105657426A (zh) * | 2016-01-08 | 2016-06-08 | 全时云商务服务股份有限公司 | 一种视频编码***和方法 |
CN105723719A (zh) * | 2014-01-06 | 2016-06-29 | Sk电信有限公司 | 用于多个图像的单个比特流生成方法和生成设备 |
CN106068650A (zh) * | 2014-03-04 | 2016-11-02 | 萨热姆通信宽带简易股份有限公司 | 用于修改二进制视频流的方法 |
CN106105209A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 多层视频编解码器的级别定义 |
CN107409234A (zh) * | 2015-03-04 | 2017-11-28 | 高通股份有限公司 | 基于lct利用dash格式的基于文件格式的流式传输 |
CN109076252A (zh) * | 2016-02-16 | 2018-12-21 | 弗劳恩霍夫应用研究促进协会 | 高效自适应流传输 |
US20190109884A1 (en) * | 2016-05-12 | 2019-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Control Of Media Transcoding During A Media Session |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038256A (en) | 1996-12-31 | 2000-03-14 | C-Cube Microsystems Inc. | Statistical multiplexed video encoding using pre-encoding a priori statistics and a priori and a posteriori statistics |
US6622171B2 (en) | 1998-09-15 | 2003-09-16 | Microsoft Corporation | Multimedia timeline modification in networked client/server systems |
US6795506B1 (en) | 1999-10-05 | 2004-09-21 | Cisco Technology, Inc. | Methods and apparatus for efficient scheduling and multiplexing |
US20020131496A1 (en) * | 2001-01-18 | 2002-09-19 | Vinod Vasudevan | System and method for adjusting bit rate and cost of delivery of digital data |
US7764868B2 (en) | 2002-09-12 | 2010-07-27 | Panasonic Corporation | Recording medium, reproduction device, program, reproduction method, and recording method |
WO2004109467A2 (en) | 2003-06-02 | 2004-12-16 | Disney Enterprises, Inc. | System and method of programmatic window control for consumer video players |
JP4815962B2 (ja) | 2005-09-12 | 2011-11-16 | ソニー株式会社 | 再生装置および再生方法、プログラム、並びに、プログラム格納媒体 |
US7456760B2 (en) | 2006-09-11 | 2008-11-25 | Apple Inc. | Complexity-aware encoding |
JP4607856B2 (ja) * | 2006-12-26 | 2011-01-05 | 富士通株式会社 | 符号化復号システム及び符号化復号方法 |
US20090086095A1 (en) * | 2007-09-28 | 2009-04-02 | Gateway Inc. | Method and apparatus for overlaying encoded streams |
US9185439B2 (en) | 2010-07-15 | 2015-11-10 | Qualcomm Incorporated | Signaling data for multiplexing video components |
US9131033B2 (en) | 2010-07-20 | 2015-09-08 | Qualcomm Incoporated | Providing sequence data sets for streaming video data |
US9456015B2 (en) | 2010-08-10 | 2016-09-27 | Qualcomm Incorporated | Representation groups for network streaming of coded multimedia data |
EP4250745A3 (en) | 2012-07-09 | 2023-11-15 | Vid Scale, Inc. | Power aware video decoding and streaming |
US9942575B1 (en) | 2014-11-13 | 2018-04-10 | Google Llc | Assigning videos to single-stream and multi-stream decoders |
AU2016245350B2 (en) * | 2015-04-09 | 2019-10-24 | Dejero Labs Inc. | Systems, devices and methods for distributing data with multi-tiered encoding |
US20170055007A1 (en) | 2015-08-19 | 2017-02-23 | Ericsson Ab | System and method for managing segment delivery and bandwidth responsive to encoding complexity metrics |
US20180242028A1 (en) | 2015-08-20 | 2018-08-23 | Koninklijke Kpn N.V. | Forming A Tiled Video On The Basis Of Media Streams |
US10693936B2 (en) | 2015-08-25 | 2020-06-23 | Qualcomm Incorporated | Transporting coded audio data |
WO2018005835A1 (en) | 2016-07-01 | 2018-01-04 | Vid Scale, Inc. | Systems and methods for fast channel change |
EP3535977A4 (en) | 2016-11-01 | 2020-05-20 | Nokia Technologies Oy | APPARATUS, METHOD, AND COMPUTER PROGRAM FOR VIDEO ENCODING AND DECODING |
US10496150B2 (en) * | 2017-07-13 | 2019-12-03 | Red Hat, Inc. | Power consumption optimization on the cloud |
EP3741108A4 (en) | 2018-01-17 | 2021-10-13 | Nokia Technologies Oy | APPARATUS, PROCESS AND COMPUTER PROGRAM FOR OMNIDIRECTIONAL VIDEO |
KR20230128584A (ko) | 2018-09-13 | 2023-09-05 | 프라운호퍼-게젤샤프트 추르 푀르데룽 데어 안제반텐 포르슝 에 파우 | 비트 스트림 병합 |
-
2020
- 2020-01-07 US US16/736,610 patent/US11381867B2/en active Active
- 2020-01-08 CN CN202080007787.8A patent/CN113287323B/zh active Active
- 2020-01-08 WO PCT/US2020/012774 patent/WO2020146520A1/en unknown
- 2020-01-08 EP EP20704125.2A patent/EP3909254A1/en active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003071777A2 (en) * | 2002-02-21 | 2003-08-28 | British Telecommunications Public Limited Company | Video processing |
EP1631089A1 (en) * | 2004-08-30 | 2006-03-01 | Matsushita Electric Industrial Co., Ltd. | Video coding apparatus and decoding apparatus |
CN101170692A (zh) * | 2006-10-24 | 2008-04-30 | 华为技术有限公司 | 多视图象编解码方法及编解码器 |
CN101895746A (zh) * | 2009-05-22 | 2010-11-24 | 索尼公司 | 解码处理设备及方法、数据分发程序和解码处理程序 |
JP2010279082A (ja) * | 2010-09-13 | 2010-12-09 | Fujitsu Ltd | 画像処理システム |
US20130202051A1 (en) * | 2012-02-02 | 2013-08-08 | Texas Instruments Incorporated | Sub-Pictures for Pixel Rate Balancing on Multi-Core Platforms |
CN105723719A (zh) * | 2014-01-06 | 2016-06-29 | Sk电信有限公司 | 用于多个图像的单个比特流生成方法和生成设备 |
CN103795979A (zh) * | 2014-01-23 | 2014-05-14 | 浙江宇视科技有限公司 | 一种分布式图像拼接同步的方法和装置 |
CN106068650A (zh) * | 2014-03-04 | 2016-11-02 | 萨热姆通信宽带简易股份有限公司 | 用于修改二进制视频流的方法 |
CN106105209A (zh) * | 2014-03-17 | 2016-11-09 | 高通股份有限公司 | 多层视频编解码器的级别定义 |
CN107409234A (zh) * | 2015-03-04 | 2017-11-28 | 高通股份有限公司 | 基于lct利用dash格式的基于文件格式的流式传输 |
CN105657426A (zh) * | 2016-01-08 | 2016-06-08 | 全时云商务服务股份有限公司 | 一种视频编码***和方法 |
CN109076252A (zh) * | 2016-02-16 | 2018-12-21 | 弗劳恩霍夫应用研究促进协会 | 高效自适应流传输 |
US20190109884A1 (en) * | 2016-05-12 | 2019-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Control Of Media Transcoding During A Media Session |
Non-Patent Citations (3)
Title |
---|
HANY S. HUSSEIN: "《Low complexity independent multi-view video coding》", 《 2013 IEEE 10TH CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE (CCNC)》 * |
孙公瑾: "《多标准视频编码器下的运动估计评估》", 《计算机工程》, vol. 40, no. 4 * |
陈妍妍: "《基于MPEG-4视频压缩技术的自适应运动估计搜索算法研究》", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114401445A (zh) * | 2021-12-31 | 2022-04-26 | 深圳云天励飞技术股份有限公司 | 视频处理控制方法、装置、监控设备、客户端及存储介质 |
CN114401445B (zh) * | 2021-12-31 | 2024-03-22 | 深圳云天励飞技术股份有限公司 | 视频处理控制方法、装置、监控设备、客户端及存储介质 |
WO2024001621A1 (en) * | 2022-06-27 | 2024-01-04 | Mediatek Inc. | Multimedia system with dynamic adaptation |
CN115379221A (zh) * | 2022-10-25 | 2022-11-22 | 中诚华隆计算机技术有限公司 | 一种流媒体数据传输方法和*** |
CN115379221B (zh) * | 2022-10-25 | 2022-12-20 | 中诚华隆计算机技术有限公司 | 一种流媒体数据传输方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US11381867B2 (en) | 2022-07-05 |
EP3909254A1 (en) | 2021-11-17 |
US20200221159A1 (en) | 2020-07-09 |
WO2020146520A1 (en) | 2020-07-16 |
TW202032998A (zh) | 2020-09-01 |
CN113287323B (zh) | 2023-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113287323B (zh) | 用于检索媒体数据的方法、客户端设备及计算机可读介质 | |
CN110431850B (zh) | 在使用mime类型参数的网络视频流式传输中发信重要视频信息 | |
CN109076229B (zh) | 在图片中最感兴趣的区域 | |
CN109076238B (zh) | 通过http在动态自适应流式传输中用信号传送虚拟现实视频 | |
CN110089122B (zh) | 用于检索媒体数据的方法、媒体装置及计算机可读存储媒体 | |
US11405699B2 (en) | Using GLTF2 extensions to support video and audio data | |
JP2020526982A (ja) | メディアコンテンツのためのリージョンワイズパッキング、コンテンツカバレッジ、およびシグナリングフレームパッキング | |
AU2017271981A1 (en) | Advanced signaling of a most-interested region in an image | |
CN109155876B (zh) | 一种检索视频数据的方法、装置、设备及可读存储媒体 | |
CN109076264B (zh) | 样本条目和随机存取 | |
CN112771876B (zh) | 检索媒体数据的方法和设备以及发送媒体数据的方法和设备 | |
US11388427B2 (en) | Multiple decoder interface for streamed media data | |
CN110870323B (zh) | 使用全向媒体格式处理媒体数据 | |
US20220407899A1 (en) | Real-time augmented reality communication session | |
US20190014362A1 (en) | Enhanced region-wise packing and viewport independent hevc media profile | |
JP2024511948A (ja) | Heifフォーマットされた画像をリアルタイムトランスポートプロトコル上でトランスポートすること |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |