CN117256136A - 用于处理备选媒体表示描述的方法、设备和计算机可读介质 - Google Patents
用于处理备选媒体表示描述的方法、设备和计算机可读介质 Download PDFInfo
- Publication number
- CN117256136A CN117256136A CN202380011045.6A CN202380011045A CN117256136A CN 117256136 A CN117256136 A CN 117256136A CN 202380011045 A CN202380011045 A CN 202380011045A CN 117256136 A CN117256136 A CN 117256136A
- Authority
- CN
- China
- Prior art keywords
- media
- mpd
- alternative
- dash
- representation
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012545 processing Methods 0.000 title claims abstract description 27
- 230000003044 adaptive effect Effects 0.000 claims abstract description 25
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000012546 transfer Methods 0.000 claims abstract description 15
- 230000008569 process Effects 0.000 claims description 17
- 230000003068 static effect Effects 0.000 claims description 7
- 239000000758 substrate Substances 0.000 claims 4
- 238000006467 substitution reaction Methods 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000006978 adaptation Effects 0.000 description 22
- 230000010365 information processing Effects 0.000 description 10
- 239000012092 media component Substances 0.000 description 7
- 230000011664 signaling Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 5
- 230000000153 supplemental effect Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000000779 smoke Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/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
-
- 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/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, manipulating MPEG-4 scene graphs
- H04N21/23424—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
-
- 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/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport 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/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, rendering scenes according to MPEG-4 scene graphs
- H04N21/44016—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
-
- 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/812—Monomedia components thereof involving advertisement data
-
- 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/8455—Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
Abstract
本公开总体上涉及媒体流传输技术,并且更具体地涉及处理来自内容服务器的具有主媒体表示描述(MPD)的备选MPD的方法和装置。所述方法包括通过基于超文本传输协议(HTTP)的动态自适应流(DASH)的媒体流传输设备从内容服务器接收用于备选MPD的清单;解析清单以提取备选MPD的一组参数,该组参数包括DASH事件流的值、表现时间或持续时间中的至少一个;基于表现时间从主媒体表现切换到备选媒体表现;以及响应于结束备选媒体表现,根据DASH事件流的值在返回点播放主媒体表现。
Description
本申请要求于2022年4月19日提交的美国临时申请第63/332,590号的优先权,其全部内容通过引用结合在本申请中。本申请还要求于2023年4月17日提交的美国非临时申请第18/135,250号的优先权,其全部内容通过引用结合在本申请中。
技术领域
本公开总体上涉及媒体流技术,并且更具体地涉及用于在自适应流中处理备选媒体表示描述(MPD)的方法和装置。
背景技术
本文提供的背景描述是为了总体呈现本公开的上下文。在本背景技术部分中描述的范围内目前已署名发明人的工作以及在递交本申请的有效时间没有被特别指定为现有技术的说明书中的各个方面,既不明示也不暗示其被承认为相对于本公开的现有技术。
运动图像专家组(MPEG)基于超文本传输协议(HTTP)的动态自适应流(DASH)为IP网络上的流式传输多媒体内容提供一个标准。在DASH标准中,媒体表示描述(MPD)用于为DASH客户端提供信息,以通过从DASH服务器下载媒体段来自适应地流式传输媒体内容。DASH标准允许多速率内容的流式传输。DASH标准的一个方面包括承载MPD事件和带内事件,以及用于处理这些事件的客户端处理模型。
通用媒体应用程序格式(CMAF)是一种用于打包和传送各种形式的基于超文本传输协议(HTTP)的媒体的标准。通过使用例如基于HTTP的流媒体传输协议(HLS)和DASH协议来在统一传输容器文件下封装数据,该标准简化了媒体到播放设备的传输。它还采用分块编码和分块传输编码来降低延迟。
MPEG DASH可以提供一些用于通过IP网络流式传输多媒体内容的方法,其中备选MPD事件用于在两个时间轴之间发信号通知媒体表示。如何处理备选MPD事件存在各种问题。
本公开描述了用于处理备选MPD事件、解决问题中的至少一个、推进媒体流技术领域的各种实施例。
发明内容
本公开总体上涉及媒体流技术,并且更具体地涉及用于在动态自适应流中处理备选MPD事件的方法和装置。备选MPD事件可以由媒体内容服务器发送到媒体流客户端,然后由媒体流客户端处理。
根据一个方面,本公开实施例提供了一种由媒体流设备处理来自内容服务器的具有主媒体表示描述(MPD)的备选MPD的方法。该方法包括:由媒体流设备从内容服务器接收用于备选MPD的清单;解析清单以提取用于备选MPD的一组参数,该组参数包括事件流的值、表示时间或持续时间中的至少一个,表示时间表示备选媒体表示在主媒体表示的时间轴中开始的偏移,持续时间表示备选媒体表示有效的时段;基于表示时间从主媒体表示切换到备选媒体表示;以及响应于结束备选媒体表示,根据事件流的值在返回点播放主媒体表示。媒体流设备包括基于超文本传输协议(HTTP)的动态自适应流(DASH)的媒体流设备。该事件流包括DASH事件流。
根据另一方面,本公开实施例提供了一种方法,包括:由媒体流内容服务器配置具有主MPD的备选媒体表示描述(MPD),并将备选MPD发送到媒体流设备。所配置的MPD被配置为使得媒体流设备执行本公开中描述的方法实现中的任何一个。媒体流设备包括基于HTTP的动态自适应流(DASH)的媒体流设备。
本公开的各方面还提供了一种媒体流设备或装置,其包括被配置为执行上述方法实施例中的任何一个的电路。
本公开的各方面还提供存储指令的非暂时性计算机可读介质,当由媒体流设备执行时,这些指令被配置为使媒体流设备执行上述方法实施例中的任何一个。
在附图、说明书和权利要求中更详细地描述了上述和其他方面及其实施例。
附图说明
通过以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
图1示出了根据本公开实施例的系统。
图2示出了根据本公开实施例的HTTP的动态自适应流(DASH)系统。
图3A示出了根据本公开实施例的DASH客户端架构。
图3B示出了根据本公开实施例的另一种DASH客户端架构。
图4示出了本公开的示例性实施例的流程图。
图5示出了根据本公开的示例实施例的计算机系统的示意图。
具体实施方式
下面将参考附图详细描述本发明,附图形成本发明的一部分,并且通过图示的方式示出了实施例的具体示例。然而,请注意,本发明可以以各种不同的形式实施,因此,所涵盖或要求保护的主题旨在被解释为不限于下面阐述的任何实施例。还请注意,本发明可以体现为方法、设备、组件或系统。因此,本发明的实施例可以例如采取硬件、软件、固件或其任意组合的形式。
在整个说明书和权利要求书中,术语可能具有在上下文中暗示或隐含的超出明确陈述的意思的细微含义。本文中使用的短语“在一个实施例中”或“在一些实施例中”不一定指相同的实施例,并且本文中使用的短语“在另一个实施例中”或“在其他实施例中”不一定指不同的实施例。同样,本文中使用的短语“在一个实施方式中”或“在一些实施方式中”不一定指相同的实施方式,并且本文中使用的短语“在另一个实施方式中”或“在其他实施方式中”不一定指不同的实施方式。例如,所要求保护的主题包括全部或部分示例性实施例/实施方式的组合。
一般来说,术语可以至少部分地从上下文中的用法来理解。例如,本文使用的诸如“和”、“或”或“和/或”的术语可以包括各种含义,这些含义可以至少部分取决于使用这些术语的上下文。通常,“或”如果用于关联诸如A、B或C之类的列表,则意在表示A、B和C(此处用于包含意义)以及A、B或C(此处用于排斥意义)。此外,本文使用的术语“一个或多个”或“至少一个”,至少部分取决于上下文,可用于以单数意义描述任何特征、结构或特性,或可用于以复数意义描述特征、结构或特性的组合。类似地,诸如“a”、“an”或“the”的术语也可以被理解为表达单数用法或表达复数用法,这至少部分地取决于上下文。此外,术语“基于”或“由……确定”可以理解为不一定旨在表达一组排他性因素,并且可以相反地允许存在不一定明确描述的附加因素,同样地至少部分取决于上下文。
下面介绍超文本传输协议(HTTP)上的流式传输。
图1示出了示例性内容分发系统100,其中远程信息处理设备120被配置成通过通信网络130从一个或多个集中式或分布式内容服务器110请求内容。具体地,信息处理设备120可以包括专用硬件组件、运行在通用硬件上的软件组件或其组合,其用作内容消费应用。内容消费应用可以生成指定所请求的内容和所请求内容的特征的一个或多个请求。每个请求可以基于网络协议栈来构建,并且通过通信网络130与内容服务器110通信。作为响应,内容服务器可以根据请求生成比特流,使用网络协议栈封装比特流,并将比特流分组传送给内容消费应用。
在一些示例实施方式中,可以立即请求内容。换句话说,可以由内容消费应用请求整个媒体内容,并且接收和本地存储该整个媒体内容。本地存储的内容可以例如由作为内容消费应用的一部分或独立于内容消费应用的媒体播放器根据需要来处理和消费(例如,提取、解码和播放)。这样的过程可以称为下载。
在一些其他实施方式中,内容可以在被消费时流式传输,而不是被下载以供以后消费。在这样的实施方式中,所请求的全部内容可能不需要存储在内容消费应用中。相反,只有有限数量的内容以滚动方式从内容服务器110连续接收,并由用于内容处理和播放的输入-输出本地缓冲区管理。这种实施方式可以被称为流式传输。虽然一些媒体播放功能(例如倒带、快进和搜索)可能涉及复杂的媒体比特流控制和缓存,但媒体流通常更通用并且更适合于分发包含不被重复消费的定时媒体序列的内容。
在下面的公开中,术语“内容”和“媒体”可以互换使用。所请求的内容可以包括其消费所需的各种信息项,包括但不限于内容本身和各种元数据。内容本身还可以包括各种媒体成分,诸如不同的轨道,包括但不限于视频成分/轨道、音频成分/轨道、字幕等。用于描述媒体内容或提供附加处理信息的元数据可以被视为一个或多个单独的轨道。这种内容及其元数据可以由内容服务器120生成为比特流,该比特流可以根据内容消费应用已知的一组协议或规则来解析和解码。术语“内容服务器”以其单数形式用于表示布置在中心位置或分布在各种地理位置上的单个服务器或多个服务器。这些内容服务器可以被实现为专用计算机器,或者可替换地,可以被构造为虚拟机,和/或被虚拟地连接在云计算环境中。此外,在下面的公开中,术语“信息处理设备”(参考图1的120)和“内容消费应用”可以互换使用。这些术语也可替代地称为“客户端”、“客户端设备/装置”、“播放设备/装置/客户端”等。虽然图1中仅示出了单个信息处理设备120,但是可以存在多个独立的信息处理设备。换句话说,一组内容服务器110可以被配置成同时且独立地向多个内容消费应用提供流式传输服务。
在一些示例实施方式中,可以对由内容服务器110生成用于分发的内容进行分段以便于它们的流式传输。例如,诸如电影的媒体内容的定时序列可以被切成时间段,每个时间段包含多个媒体帧。每个媒体段可以是自包含的,使得其包括例如解析、解码和播放的处理不需要其他媒体段的信息。媒体内容可以被预先分段。因此,媒体内容可以由内容服务器120逐段地存储和管理。或者,当在流处理中请求媒体内容时,可以根据连续存储的媒体内容实时生成媒体段。在一些进一步的实施方式中,媒体的分段可以是分层的,包含多个级别的分段。
在流式传输的一些特定实施方式中,关于从内容服务器110请求哪些媒体段或媒体段的哪些部分的决定可以由内容消费应用实时确定,如通过用户应用界面由用户播放指令控制的那样。以这样的方式,内容服务器可以被配置为响应于请求,并且根据请求生成或检索具有其元数据的内容的片段或部分片段,并且通过网络130将片段或部分片段传送到请求内容消费应用。
在一些示例实施方式中,可以将媒体内容的同一媒体轨道准备为不同版本。例如,可以以不同的分辨率和/或帧速率来准备同一电影轨道。另一个例子,可以以不同的比特率来准备同一电影轨道。另一个示例,可以用不同的音质和/或不同数量的声道(例如,5声道声音或7声道声音)来准备同一音频电影。因此,内容消费应用可以确定要流式传输的媒体轨道的版本,并且在其对媒体内容的请求中包括这样的选择。内容消费应用的这种决定可以基于多个示例因素中的一个或多个来做出,这些示例因素包括但不限于信息处理设备120的播放能力(例如,显示分辨率、解码速度、处理能力、缓冲器大小等)、网络带宽和吞吐量等。因此,流会话可以根据不同媒体消费应用的设备能力在它们之间进行适配。这样配置的流式传输架构可以被称为自适应流。在每个媒体消费应用中,流处理还可以是自适应的,可以根据例如实时网络条件(例如,带宽和吞吐量,以及网络带宽支持的比特率)在流会话期间的不同时间来选择和请求不同版本的媒体轨道。如此配置的流式传输架构可以进一步称为动态自适应流。特别地,被配置成适应媒体内容的比特率的流式传输架构可以被称为动态自适应比特率流。
在一些示例实施方式中,可以根据流会话的进展,基于媒体清单来构建动态自适应流中的内容消费应用对特定版本的媒体内容的片段或部分片段的请求。术语“清单”可用于表示描述媒体内容的任何信息项的集合,包括分段、版本、网络位置以及任何内容消费应用可能需要的任何其他信息,以确定在流会话期间的不同时间如何请求和请求什么。清单通常可以称为“媒体表示描述”(MPD)。
这样的清单可以在创建或生成特定媒体内容时在内容服务器侧准备。这样的清单可以由内容消费应用请求,并在流会话开始时从内容服务器接收。内容消费应用可以在流会话期间进一步请求清单的任何更新。这样的清单可以被内容消费设备用作蓝图,用于在流会话期间构建对特定版本的媒体内容的片段或部分片段的后续请求。
在一些示例实施方式中,从外部应用的角度来看,媒体服务器可以被配置成起类似于网络服务器的作用。因此,内容消费应用对媒体清单和/或媒体段或部分媒体段的请求可以基于例如超文本传输协议(HTTP)来进行。因此,请求可以被构造为URL,并且所请求的内容可以作为对来自内容服务器的HTTP请求的响应被传送。
清单的指定方式、内容的分段、组织和版本化方式以及HTTP请求的构造方式的细节可以取决于特定的自适应流协议,例如HTTP的动态自适应流(DASH)、HTTP流媒体传输协议(HLS)、平滑流媒体传输协议(SSTP)等。下面的各种附加示例实施方式可以在DASH的上下文中描述。然而,基本原理适用于任何类型的基于HTTP的自适应流。此外,基本原理适用于基于HTTP之外的网络协议的媒体内容请求机制。
下面介绍基于HTTP的动态自适应流(DASH)。
用于实现自适应媒体流的一个示例协议包括超文本传输协议的动态自适应流(DASH)。如上所述,DASH表示自适应码率流实施方式之一,其使得能够使用基于超文本传输协议(HTTP)基础架构的内容传送网络(CDNs)来流式传输媒体内容,该CDNs包括被配置为具有各种代理和缓存的网络服务器的内容服务器等。这种内容服务器可以被称为DASH服务器。上述内容消费应用可以相应地被称为DASH客户端。
DASH支持从DASH服务器到DASH客户端的实时流式传输,并允许DASH客户端控制流会话,使得DASH服务器不需要在大规模部署中处理流适配管理的额外负载。如上所述,DASH还允许DASH客户端选择来自各种DASH服务器的流式传输,从而为了DASH客户端的利益实现网络的进一步负载平衡。DASH还提供不同媒体版本的媒体轨道之间的动态切换,例如,通过改变比特率来适配网络条件和DASH客户端的处理能力。
在DASH中,上述的媒体清单可以特别地被称为MPD(即使术语MPD通常可以用来指自适应流系统中除基于DASH之外的的任何类型的清单)。例如,DASH中的MPD可以被构造如下文件:该文件可由DASH客户端全部或部分下载,并且通过选择性地和自适应地从DASH服务器请求流媒体段来提供DASH客户端用于流式传输媒体内容的信息项。
可以以各种格式构建MPD。例如,MPD可以以可扩展标记语言(XML)文档或文件的形式构造。MPD文件可以被请求并传送到DASH客户端。MPD文件可以由HTTP通过例如HTTP GET请求来请求。MPD文件可以在流会话开始时完全传送。或者,可以将MPD文件分段并分部分传送。因此,可以在流式传输开始之前请求和传送MPD文件的部分,并且可以稍后请求和传送MPD文件的其他部分以减少会话启动延迟(使得流式传输可以从较早的媒体段开始,而不必等待与较晚的媒体段相关的信息项)。还可以在流会话期间更新MPD文件(例如,使用需要但尚未检索的段信息)。
在一些示例实施方式中,MPD文件描述媒体内容的分段、分段的组织以及分段的可用版本。MPD可以支持内容可访问性特征、评级、摄像机视角、元数据等的表达。DASH还可以支持多视图和可伸缩编码内容的传送。
在一些示例实施方式中,MPD文件可以包含沿着媒体消费时间轴(例如,视频内容的播放时间)的一个或多个时段的描述序列。一个或多个时段中的每个时段可以由例如MPD文件中的“时段”信息元素标签来定义。媒体内容可以由MPD文件指示为在多个连续时间段中组织。MPD文件可以识别播放时间轴中每个时段的开始时间。开始时间可以被定义为从媒体内容的开始的绝对开始时间,或者被定义为相对于播放时间轴中其他参考点的相对偏移量。
在一些示例实现中,对于每个媒体时段,MPD文件还可以指定一个或多个自适应集。可以指定不同的自适应集来捕获一个或多个媒体分量组件的不同组合(或子集)。例如,视频和音频可以是不同的自适应集。不同版本的音频(立体音频或多声道音频)可能有不同的自适应集。不同语言的音频可以是不同的自适应集。在一个特定示例中,MPD文件可以指定每个时段包含一个视频自适应集、多个音频自适应集,每个音频自适应集用于每种支持的语言。自适应集还可以包含字幕或任意元数据。
在一些示例实施方式中,特定时段的自适应集可以被分配给由MPD文件中的组属性所指示的组。同一组中的自适应集通常被认为是相互替代的。例如,可以将特定时段的视频数据的每个自适应集分配到同一组,使得可以为对应时段的多媒体内容的视频数据选择任何自适应集。一个时段内的媒体内容可以来自一个自适应集或自适应集的组合,每个组最多贡献一个自适应集。
在一些示例实施方式中,每个自适应集可以由MPD文件指定为包含对应时段的同一媒体分量的一个或多个表示。例如,表示可以是音频或视频数据的多个可选编码版本中的一个。这些表示可以通过编码类型而不同,例如,通过视频数据的比特率、分辨率和/或编解码器,以及音频数据的比特率和/或编解码器。术语表示可用于指对应于多媒体内容的特定时段并以特定方式编码来实现某一范围的平均比特率的编码媒体数据的一部分。在一些示例实施方式中,对于自适应集中的每个表示,MPD文件可以指定表示的属性,包括但不限于视频/音频类型、视频/音频编解码器、以像素为单位的视频帧宽度、以像素为单位的视频帧高度、视频/音频帧率和带宽(表示平均编码比特率)。
根据包括在自适应集中的媒体分量的组合,自适应集的每个表示还可以包括一个或多个媒体分量。表示中的每个媒体分量可以对应于各个媒体类型的编码版本,例如音频、视频或定时文本(例如,用于隐藏式字幕)。媒体分量可以在一个表示中跨连续媒体段的边界是时间连续的。
在一些示例实施方式中,表示可以包括一个或多个段。每个表示可以包括初始化段,或者表示的每个段可以是自初始化的。当存在时,初始化段可以包含用于访问表示的初始化信息。在某些情况下,初始化段不包含媒体数据。包含媒体数据的段可以表示时间分段的内容。不同表示之间的片段可以在时间上对齐。对于每个媒体段,MPD文件可以包括一个唯一标识符。当与基本URL、基本URN或基本统一资源标识符(URI)组合时,这样的标识符可以形成表示媒体段的网络位置的唯一URL、URN或URI,其可以包括在针对该媒体段的HTTP请求中,并且由内容服务器用来定位所请求的段以进行传送。
例如,用于请求媒体段的URL可以被定义为<绝对URI>,具有“http”或“https”的固定架构,如果范围属性与URL一起提供,则可能进一步由字节范围补充。字节范围可以表示为标识段中连续的字节范围。
在一些其它示例实施方式中,子表示可以在MPD文件中被指定和描述为使用例如子表示元素/指示符嵌入(或包含)在常规表示中。子表示元素可用于描述嵌入在表示中的一个或多个媒体内容分量的属性。例如,子表示元素可用于描述嵌入式音频分量(例如,编解码器、采样率等)、嵌入式子标题(例如,编解码器)的属性,或者子表示元素可用于描述一些嵌入式较低质量的视频层(例如,一些较低的帧率等)。子表示和表示元素可以共享一些共同的属性和元素。
在一些示例实现中,DASH客户端可以被配置成从DASH服务器访问、下载和请求MPD文件的全部或部分。也就是说,DASH客户端可以检索MPD文件以用于发起实时流会话。基于MPD文件和表示的选择,DASH客户端可以做出几个进一步的决定,包括确定服务器上可用的最新段是什么,确定下一段和可能的未来段的段可用性开始时间,确定何时开始段的播放,以及确定何时获得/获取/请求新的MPD文件。
在一些示例实施方式中,MPD还可以包括关于DASH事件的信息,以便向DASH客户端或DASH应用发出非周期性信息的信号。事件可以被定时,从具有持续时间的特定媒体表示时间开始。附加地或替代地,事件信息可以包括用于媒体播放器的控制消息,其在媒体表示的播放期间与特定时间相关联,例如广告插入提示。可以从诸如广告服务器的独立服务器提供可以在流式传输期间插入的媒体。除了通过来自媒体表示的单独MPD发送事件之外,事件还可以在一个或几个选定的自适应集中的仅选定媒体表示中或者在所有表示中进行带内多路复用。
图2示出了一个示例性的DASH系统200。DASH系统200可以包括通过网络250连接的一个或多个集中式或分布式内容服务器210和信息处理设备230。DASH系统(200)还可以包括一个或多个补充内容服务器,例如一个或多个广告服务器220。
内容服务器210可以向信息处理设备230提供主要内容(例如,主程序)和用于该内容的MPD。清单文件可以由MPD生成器214生成。主内容和清单文件可以由相同的服务器或不同的服务器提供。
信息处理设备230可以包括直接与内容服务器210通信的DASH客户端232。由信息处理设备230的DASH应用234控制的DASH客户端232可以请求和/或接收MPD,并且可以基于MPD从内容服务器210的HTTP服务器212请求和获取主要内容。MPD可以由DASH客户端232处理。此外,DASH客户端232可以根据DASH事件从广告服务器220获取广告内容,或者从一个或多个补充内容服务器获取其他内容(例如,交互式内容)。主要内容和广告内容可以由DASH客户端232和DASH应用234处理,并输出以在信息处理设备230的显示设备236上显示。显示设备236可以与信息处理设备230集成,或者在信息处理设备230外部。此外,DASH客户端232可以从一个或多个定时元数据轨道提取其他事件信息,并将提取的事件信息发送到DASH应用234以供进一步处理。DASH应用234可以例如被配置为基于事件信息显示补充内容。
图3A中示出了DASH客户端232的示例。示例DASH客户端232可以包括DASH访问引擎304、选择逻辑302以及媒体引擎306和308。例如,DASH访问引擎302可以被配置成与内容服务器通信,用于检索流媒体的MPD的一部分或全部,并且用于请求和检索动态请求的流媒体的段数据,以及用于根据MPD DASH事件请求补充媒体(广告)。选择逻辑304可被配置为确定要请求的下一个或多个段,包括对自适应集和表示的选择。例如,这种决定可以由用户指令以及诸如网络带宽和吞吐量的其他实时信息来确定。媒体引擎306可以被配置成根据媒体段的格式(例如,MPEG)和媒体段的时序来处理由DASH访问引擎302接收的段数据,以生成主媒体输出。媒体引擎308可以被配置成处理与来自DASH访问引擎302的定时DASH事件相关联的媒体内容,以生成补充媒体输出(例如广告),该补充媒体输出例如可以被插入到主媒体输出中。
图3B示出了根据本公开的实施例的用于处理DASH和/或CMAF事件的另一示例DASH/CMAF客户端架构。DASH/CMAF客户端(或DASH/CMAF播放器)可以被配置成与应用(390)通信并处理各种类型的事件,包括(i)MPD事件,(ii)带内事件,以及(iii)定时元数据事件。
清单解析器(305)解析清单(例如,MPD)。例如,清单由内容服务器(110,210)提供。清单解析器(305)提取关于MPD事件、带内事件和嵌入在定时元数据轨道中的定时元数据事件的事件信息。提取的事件信息可以被提供给DASH逻辑(310)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑(310)可以基于事件信息向应用(390)通知清单中用信号通知的事件方案。
事件信息可以包括用于区分不同事件流的事件方案信息。应用(390)可以使用事件方案信息来订阅感兴趣的事件方案。应用(390)还可以通过一个或多个订阅API指示每个订阅方案的期望调度模式。例如,应用程序(390)可以向DASH客户端发送订阅请求,该订阅请求标识一个或多个感兴趣的事件方案和任何期望的对应调度模式。
如果应用(390)订阅作为一个或多个定时元数据轨道的一部分传送的一个或多个事件方案,则带内事件和“moof”解析器(325)可以将一个或多个定时元数据轨道流式传输到定时元数据轨道解析器(330)。例如,带内事件和“moof”解析器(325)解析电影片段框(“moof”),随后基于来自DASH逻辑(310)的控制信息解析定时元数据轨道。
定时元数据轨道解析器(330)可以提取嵌入在定时元数据轨道中的事件消息。提取的事件消息可以存储在事件的缓冲器(335)(例如,事件缓冲器)中。同步器/调度器模块(340)(例如,事件和定时元数据同步器和调度器)可以将订阅的事件调度(或发送)到应用(390)。
在MPD中描述的MPD事件可以由清单解析器(305)解析并存储在缓冲器(335)中。例如,清单解析器(305)解析MPD的每个事件流元素,并解析每个事件流元素中描述的每个事件。对于在MPD中用信号通知的每个事件,诸如表示时间和事件持续时间之类的事件信息可以与该事件相关联地存储在缓冲器(335)中。
带内事件和“moof”解析器(325)可以解析媒体段以提取带内事件消息。任何这样识别的带内事件和相关联的表示时间和持续时间都可以存储在缓冲器(335)中。
因此,缓冲器(335)可以在其中存储MPD事件、带内事件和/或定时元数据事件。缓冲器(335)例如可以是先进先出(FIFO)缓冲器。缓冲器(335)可以与媒体缓冲器(350)相对应地管理。例如,只要媒体段存在于媒体缓冲器(350)中,则对应于该媒体段的任何事件或定时元数据都可以存储在缓冲器(335)中。
DASH访问应用编程接口(API)(315)可以通过HTTP协议栈(320)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。DASH访问API(315)可以将接收到的内容流分离成不同的数据流。提供给带内事件和moof解析器的数据流可以包括媒体段、一个或多个定时元数据轨道以及包括在媒体段中的带内事件信令。在一个实施例中,提供给清单解析器305的数据流可以包括MPD。
DASH访问API(315)可以将清单转发给清单解析器(305)。除了描述事件之外,清单还可以向DASH逻辑(310)提供关于媒体段的信息,DASH逻辑(310)可以与应用(390)以及带内事件和moof解析器(325)通信。应用(390)可以与DASH客户端处理的媒体内容相关联。在应用(390)、DASH逻辑(310)、清单解析器(305)和DASH访问API(315)之间交换的控制/同步信号可以基于清单中提供的关于媒体段的信息来控制从HTTP堆栈(320)获取媒体段。
带内事件和moof解析器(325)可以将媒体数据流解析成包括媒体内容的媒体段、定时元数据轨道中的定时元数据以及媒体段中的任何信号化带内事件。包括媒体内容的媒体段可以由文件格式解析器(345)解析并存储在媒体缓冲器(350)中。
存储在缓冲器(335)中的事件可以允许同步器/调度器(340)通过事件/元数据API将与应用相关的可用事件(或感兴趣的事件)传送给应用。应用可以被配置为处理可用事件(例如,MPD事件、带内事件或定时元数据事件),并通过通知同步器/调度器(340)来订阅特定事件或定时元数据。存储在缓冲器(335)中的与应用无关但是与DASH客户端本身相关的任何事件都可以由同步器/调度器(340)转发到DASH逻辑(310)以进一步处理。
响应于应用(390)订阅特定事件,同步器/调度器(340)可以与应用已经订阅的事件方案对应的应用事件实例(或定时元数据样本)通信。可以根据由(例如,对于特定事件方案)订阅请求指示的调度模式或默认调度模式来传送事件实例。例如,在接收时调度模式中,事件实例可以在缓冲器(335)中接收时被发送到应用(390)。另一方面,在启动调度模式中,事件实例可以在其相关联的表示时间被发送到应用(390),例如与来自媒体解码器(355)的定时信号同步。
在一些实施方式中,媒体段引擎(MSE)(395)可以包括文件格式解析器(345)、媒体缓冲器(350)和媒体解码器(355)。MSE可以接收媒体段并生成解码的媒体输出。
下面介绍配置和处理备选MPD。
在一些实施方式中,允许多速率内容的流式传输(streaming),并且利用备选MPD事件在两个时间轴之间切换媒体表示:一个时间轴用于主媒体表示的主MPD事件;以及另一个时间轴用于备选媒体表示的备选MPD事件。如何提供客户端后处理模型可能会有一些问题。
例如,使用DASH设计的一些实施方式可能包括以下一个或多个问题:点播内容没有返回点;假设切换时间与事件开始时间相同;和/或假设广告(ad)持续时间与事件持续时间相同。
各种实施例描述了用于DASH客户端提供、调度和后处理备选MPD事件的处理模型。一些实现提供不同的信令和改进的后处理模型,其正确地处理备选MPD事件,例如,高效且有效地前贴片预卷和/或中贴片广告。
各种实施例还可以解决本公开中描述的一个或多个问题。例如,一些实施例可以通过以下一个或多个来改进媒体流领域:添加点播内容的返回点;分离这两个参数(切换时间和事件开始时间)以正确实现前贴片和中贴片;和/或分离这两个参数(广告持续时间和事件持续时间)以实现正确地切换到广告和从广告切换回来。
参照图3B中,客户端可以基于清单中所描述的地址请求媒体段。MSE缓冲器可以包括文件格式解析器、媒体缓冲器和媒体解码器的管路。
图4示出了由媒体流设备(例如,HTTP的动态自适应流(DASH)的媒体流设备)用于利用来自内容服务器的主MPD来处理备选媒体表示描述(MPD)的一个示例性方法400的示例性流程图。方法400可以包括以下步骤中的一部分或全部。步骤410,由DASH媒体流设备从内容服务器接收备选MPD的清单。步骤420,解析清单以提取备选MPD的一组参数,该组参数包括事件流(例如,DASH事件流)的值、表示时间或持续时间中的至少一个。其中,表示时间指示备选媒体表示在主媒体表示的时间轴中开始的偏移,持续时间指示备选媒体表示有效的时间段。步骤430,基于表示时间从主媒体表示切换到备选媒体表示。步骤440,响应于结束备选媒体表示,根据DASH事件流的值在返回点播放主媒体表示。
在各种实施例中,本公开提供了用媒体流内容服务器配置具有主MPD的备选媒体表示描述(MPD)的方法。媒体流内容服务器可以将配置的备选MPD发送到媒体流设备,并且可以配置媒体流设备来执行方法400的一部分或全部,或者本公开中描述的任何其他实现。
在一些实施方式中,表示时间是与实际切换时间不同的参数。
在一些实施方式中,持续时间是与备选媒体表示的实际持续时间不同的参数。
在一些实施方式中,事件流的值包括指示时移的第一值,和/或播放主媒体表示至主媒体表示被切换到备选媒体表示的时刻。
在一些实施方式中,事件流的值包括指示替换的第二值;和/或响应于指示动态的第一MPD类型,将主媒体表示播放到主媒体表示的活动边缘(live edge);和/或响应于指示静态的第二MPD类型,将主媒体表示播放到主媒体表示切换至备选媒体表示的时间加上备选媒体表示的实际持续时间。
在一些实施方式中,根据基于超文本传输协议的动态自适应流(DASH)的事件处理来处理和调度备选MPD。
在一些实施方式中,结束备选媒体表示的步骤包括以下至少一个:在持续时间结束时结束播放备选媒体表示;或者在接收到停止指令时停止播放备选媒体表示。
在一些实施方式中,在指示动态的MPD类型下,响应于指示替换的值,用于播放主媒体表示的返回点是主媒体表示的活动边缘;和/或响应于指示时移的值,用于播放主媒体表示的返回点是在实际切换时间时或之后可用的最早片段。
在一些实施方式中,在指示静态的MPD类型下,响应于指示替换的值,用于播放主媒体表示的返回点是备选媒体表示的实际切换时间和实际持续时间的和;和/或响应于指示时移的值,用于播放主媒体表示的返回点是实际切换时间。
媒体分段请求的参数化描述符可以被称为MPD数据结构。对于非限制性示例,MPD中这种类型的实例化数据结构,称为“UrlQueryInfo”,可以包含用于为媒体分段提供静态和动态参数化机制的各种属性或描述符。在一些其它的示例实施方式中,除了对媒体分段的请求之外,这种静态和动态参数化机制可以扩展到其他类型的HTTP请求。扩展数据结构类型的示例语法可以被指定,并用于对MPD进行实例化,该MPD包含用于发信号的对应数据结构并且规定各种类型(或属性或值)的参数化。
表1示出了用于备选MPD信令的校正和/或改进的语义的非限制性示例。
表1 MPD中可选MPD事件的相关参数
/>
表2示出了用于备选MPD信令的校正和/或改进语义的另一个非限制性示例。
表2备选MPD事件的相关emsg参数
各种实施例包括用于备选MPD事件的客户端后处理模型。在一些实施方式中,根据一般DASH事件处理来处理和调度备选MPD事件。在一些实施方式中,备选MPD事件可以在调度之后进行后处理。表3示出了事件的后处理过程可能依赖的参数的非限制性示例。
表3事件/定时元数据API参数和数据类型
在本公开中,诸如“urn:mpeg:dash:事件:备选:2022”这样的统一资源名称(URN)可以与URN/URL方案的所有者定义的可选子字符串一起定义和使用。
对于客户端的备选MPD切换事件后处理过程的一个非限制性示例,方法可以包括一个或多个以下步骤。
对于步骤1,媒体流客户端(media streaming client)(或媒体流设备,或客户端)检查消息中的备选MPD统一资源定位符(URL)是否在其先前播放的列表(PPL)中。
对于步骤2,当客户端确定备选MPD URL在其PPL中时,客户端可以不采取任何进一步的动作;和/或当客户端确定备选MPD URL不在其PPL中时,客户端可以继续以下步骤中的一个或多个。
对于步骤3,客户端下载备选MPD。
对于步骤4,客户端确定并执行以下情况之一。
对于步骤4-1,当客户端确定当前播放时间≥表示时间(presentation_time),它立即转到下一步骤(步骤5)。在一些实施方式中,当前播放时间可以指示主媒体表示的当前时间;和/或表示时间可以指示切换到备选媒体表示的“目标”时间。
对于步骤4-2,当客户端确定当前播放时间<表示时间,它将继续播放主媒体表示,直到当前表示时间=播放时间,这满足步骤4-1,然后转到下一步骤。
对于步骤5,客户端设置切换时间=当前播放时间。然后,只要主媒体标识没有结束,它就将播放从主媒体表示切换到备选媒体表示。当主媒体表示结束时,它将停止并清除其切换时间和PLL缓冲器。
对于步骤6,客户端存储主MPD URL和切换时间。
对于步骤7,客户端将消息添加到它的PPL中。
对于步骤8,客户端在备选媒体表示结束时,从主MPD URL下载主MPD。备选媒体表示可以由于以下至少一个原因而结束:在持续时间结束时结束播放备选媒体表示(即,备选媒体表示完成其配置的持续时间);或者在接收到停止指令时停止播放备选媒体表示(即,用户或内容服务器在备选媒体表示完成其配置的持续时间之前结束播放备选媒体表示)。
对于步骤9,客户端根据值和/或MPD类型,基于以下步骤之一继续播放主媒体表示。
对于步骤9-1,响应于MPD@类型=‘动态:’当值=‘替换’时,播放时间位置从活动边缘开始;和/或当值=‘时移’时,播放时间位置是从切换时间处或之后可用的最早片段开始的。在一些实施方式中,@时移缓冲器深度(@timeshiftBufferDepth)可以被设置为等于或大于最大备选媒体表示持续时间,以便确保当播放返回到主媒体标识时媒体片段在切换时间可用。
对于步骤9-2,响应于MPD@类型='静态':当值=‘替换’时,播放时间位置从(切换时间+替代媒体表示的持续时间)开始;和/或当值=‘时移’时,播放时间位置从切换时间开始。
在一些实施方式中,DASH客户端清除其URL、切换时间以及从第一次解析主MPD开始的PPL值,并在整个播放过程中继续保持这些值。
在一些实施方式中,事件表示时间和持续时间指示媒体表示切换到备选媒体表示的媒体表示的有效时间间隔。准确的切换时间取决于播放器如何到达有效时间间隔,例如,通过线性播放到其开始时间,或者随机访问其中的时刻。
各种实施例可以包括用于处理备选MPD事件的方法,其中事件开始时间和事件持续时间被维持为与切换时间和备选广告持续时间不同的参数。事件开始时间和持续时间定义了切换时间可能发生的时间间隔,而切换时间可能根据玩家对内容的线性播放或中间随机访问内容而改变,并且切换回来的时间由备选广告持续时间而不是事件持续时间来定义。在处理模型中,这些值被分别维护和处理,并且考虑所描述的处理模型来定义备选MPD事件语义的信令。
上述技术可以使用计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中。例如,图5示出了适用于实现所公开主题的某些实施例的计算机系统(500)。
计算机软件可以使用任何合适的机器代码或计算机语言进行编码,这些机器代码或计算机语言可以通过汇编、编译、链接或类似机制来创建包括指令的代码,这些指令可以由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行,或者通过解析、微代码执行等来执行。
这些指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板计算机、服务器、智能手机、游戏设备、物联网设备等。
图5中所示的用于计算机系统(500)的组件本质上是示例性的,并不旨在对实现本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统(500)的示例性实施例中所示的任何一个组件或组件组合相关的任何依赖性或要求。
计算机系统(500)可以包括某些人机界面输入设备。这样的人机界面输入设备可以通过例如触觉输入(例如:击键、滑动、数据手套运动)、音频输入(例如:语音、鼓掌)、视觉输入(例如:手势)、嗅觉输入(未示出)来响应一个或多个人类用户的输入。人机界面设备还可以用于捕捉不一定与人类的有意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止图像相机获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机界面设备可以包括键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)、照相机(508)中的一个或多个(每个仅示出一个)。
计算机系统(500)还可以包括某些人机界面输出设备。这样的人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感官。这样的人机界面输出设备可以包括触觉输出设备(例如通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但是也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器(509)、耳机(未示出))、视觉输出设备(例如屏幕(510),包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕,每个具有或不具有触摸屏输入能力,每个具有或不具有触觉反馈能力-其中一些可以能够通过装置(诸如立体输出、虚拟现实眼镜(未示出)、全息显示器和烟雾罐(未示出)),以及打印机(未示出))输出二维视觉输出或多于三维的输出。
计算机系统(500)还可以包括人类可访问的存储设备及其相关联的介质,例如包括CD/DVD ROM/RW(520)和CD/DVD或类似介质(521)、拇指驱动器(522)、可移动硬盘驱动器或固态驱动器(523)、诸如磁带和软盘(未示出)的传统磁介质、诸如安全加密狗(未示出)的基于专用ROM/ASIC/PLD的设备等。
本领域技术人员还应理解,结合本公开主题使用的术语“计算机可读介质”不包括传输介质、载波或其他瞬时信号。
计算机系统(500)还可以包括到一个或多个通信网络(555)的接口(554)。网络可以是例如无线的、有线的、光学的。网络还可以是本地的、广域的、城域的、车辆的和工业的、实时的、延迟容忍的等等。网络的示例包括局域网,(例如以太网、无线LAN)、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络以及包括CAN总线的车辆和工业网络等等。某些网络通常需要附接到某些通用数据端口或外围总线(549)(例如计算机系统(500)的USB端口)的外部网络接口适配器;其它的通常通过附连到如下所述的系统总线(例如,进入PC计算机系统的以太网接口或进入智能手机计算机系统的蜂窝网络接口)集成到计算机系统(500)的核心中。使用这些网络中的任何一个,计算机系统(500)可以与其他实体通信。这种通信可以是单向的、仅接收的(例如,广播电视)、单向仅发送的(例如,到某些CANbus设备的CANbus)或双向的(例如到使用本地或广域数字网络的其他计算机系统)。如上所述,可以在这些网络和网络接口中的每一个上使用某些协议和协议栈。
上述人机界面设备、人机可访问存储设备和网络接口可以附接到计算机系统(500)的核心(540)。
核心(540)可包括一个或多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、现场可编程门阵列(FPGA)(543)形式的专用可编程处理单元、用于某些任务的硬件加速器(ACCL)(544)、图形适配器(550)等。这些设备与只读存储器(ROM)(545)、随机存取存储器(546)、诸如内部非用户可访问硬盘驱动器、SSD等的内部大容量存储器(547),可以通过系统总线(548)连接。在一些计算机系统中,系统总线(548)可以以一个或多个物理插头的形式被访问,以允许通过另外的CPU、GPU等进行扩展。外围设备可以直接连接到核心的系统总线(548),或者通过外围总线(549)连接。在一个示例中,屏幕(510)可以连接到图形适配器(550)。外围总线的体系结构包括PCI、USB等。
CPU(541)、GPU(542)、FPGA(543)和加速器(544)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在ROM(545)或RAM(546)中。过渡数据也可以存储在RAM(546)中,而永久数据可以存储在例如内部大容量存储器(547)中。可以通过使用缓存内存来实现对任何存储器设备的快速存储和检索,缓存内存可以与一个或多个CPU(541)、GPU(542)、大容量存储器(547)、ROM(545)、RAM(546)等紧密相关联。
计算机可读介质上可具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为了本公开的目的而特别设计和构造的那些介质和计算机代码,或者它们可以是计算机软件领域的技术人员所熟知和可用的那种介质和计算机代码。
作为非限制性示例,具有架构(500)、特别是核心(540)的计算机系统可以用作处理器(包括CPU、GPU、FPGA、加速器等)来执行在一个或多个有形的计算机可读介质中实施的软件。这种计算机可读介质可以是与上面介绍的用户可访问的大容量存储器相关联的介质,以及具有非暂时性的核心(540)的某些存储器,例如核心内部大容量存储器(547)或ROM(545)。
实现本公开的各种实施例的软件可以存储在这样的设备中并由核心(540)执行。根据特定需要,计算机可读介质可以包括一个或多个存储器设备或芯片。该软件可以使核心(540),特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文描述的特定处理或特定处理的特定部分,包括定义存储在RAM(546)中的数据结构并根据软件定义的处理修改此类数据结构。除此之外或作为替代,计算机系统可以用作硬连线或以其他方式体现在电路(例如:加速器(544))中的逻辑,其可以代替软件或与软件一起操作以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的引用可以包含逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可以包括存储用于执行的软件的电路(例如集成电路(IC))、包含用于执行的逻辑的电路,或两个电路者。本公开包括硬件和软件的任何合适的组合。
在本公开的实施例和实现中,可以根据需要以任何数量或顺序组合或布置任何步骤和/或操作。步骤和/或操作中的两个或更多个可以并行执行。本公开中的实施例和实现可以单独使用或以任何顺序组合使用。此外,方法(或实施例)、客户端和服务器中的每一个都可以通过处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非暂时性计算机可读介质中的程序。
虽然本申请己对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本申请的范围内。因此应理解,本领域技术人员能够设计多种系统和方法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本申请的原则,因此属于本申请的精神和范围之内。
Claims (11)
1.一种由基于超文本传输协议(HTTP)的动态自适应流(DASH)媒体流设备处理来自内容服务器的具有主媒体表示描述(MPD)的备选MPD的方法,其特征在于,所述方法包括:
由所述DASH媒体流设备从所述内容服务器接收用于所述备选MPD的清单;
解析所述清单以提取所述备选MPD的一组参数,所述一组参数包括DASH事件流的值、表现时间或持续时间中的至少一个,其中,所述表示时间指示备选媒体表现在主媒体表现的时间轴中开始的偏移,并且所述持续时间指示所述备选媒体表现有效的时段;
基于所述表现时间从所述主媒体表现切换到所述备选媒体表现;以及
响应于结束所述备选媒体表现,根据所述DASH事件流的值在返回点播放所述主媒体表现。
2.根据权利要求1所述的方法,其特征在于,
所述表现时间是与实际切换时间不同的参数。
3.根据权利要求1所述的方法,其特征在于,
所述持续时间是不同于所述备选媒体表现的实际持续时间的参数。
4.根据权利要求1至3中任一项所述的方法,其特征在于,
所述DASH事件流的值包括指示时移的第一值;以及
所述主媒体表现播放到所述主媒体表现切换到所述备选媒体表现的时间。
5.根据权利要求1所述的方法,其特征在于,
所述DASH事件流的值包括指示替换的第二值;
响应于第一MPD类型指示动态,将所述主媒体表现播放到所述主媒体表现的活动边缘;以及
响应于第二MPD类型指示静态,将所述主媒体表现播放到所述主媒体表现切换到所述备选媒体表现的时间加上所述备选媒体表现的实际持续时间。
6.根据权利要求1所述的方法,其特征在于,
根据DASH事件处理来处理和调度备选MPD。
7.根据权利要求1所述的方法,其特征在于,结束所述备选媒体表现包括以下中的至少一个:
在所述持续时间结束时结束播放所述备选媒体表现;或者
在接收到停止指令时停止播放所述备选媒体表现。
8.根据权利要求1至7中任一项所述的方法,其特征在于,响应于MPD类型指示动态,包括:
响应于所述值指示替换,用于播放所述主媒体表现的返回点是所述主媒体表现的活动边缘;以及
响应于所述值指示时移,用于播放所述主媒体表现的所述返回点是在实际切换时间或之后可用的最早片段。
9.根据权利要求1至7中任一项所述的方法,其特征在于,响应于MPD类型指示静态,包括:
响应于所述值指示替换,用于播放所述主媒体表现的返回点是所述备选媒体表现的实际切换时间和实际持续时间的总和;以及
响应于所述值指示时移,用于播放所述主媒体表现的所述返回点是所述实际切换时间。
10.一种基于超文本传输协议(HTTP)的动态自适应流(DASH)媒体流设备,用于处理来自内容服务器的具有主媒体表示描述(MPD)的备选MPD,其特征在于,所述DASH媒体流设备包括用于存储指令的存储器和用于执行所述指令以执行权利要求1至9中任一项所述方法的处理器。
11.一种用于存储指令的非暂时性计算机可读存储介质,其特征在于,在由基于超文本传输协议(HTTP)的动态自适应流(DASH)媒体流设备的处理器执行以处理来自内容服务器的具有主媒体表示描述(MPD)的备选MPD时,所述指令被配置为使所述DASH媒体流设备执行权利要求1至9中任一项所述的方法。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263332590P | 2022-04-19 | 2022-04-19 | |
US63/332,590 | 2022-04-19 | ||
US18/135,250 US20230336821A1 (en) | 2022-04-19 | 2023-04-17 | Methods, devices, and computer readable medium for processing alternative media presentation description |
US18/135,250 | 2023-04-17 | ||
PCT/US2023/065870 WO2023205620A1 (en) | 2022-04-19 | 2023-04-18 | Methods, devices, and computer readable medium for processing alternative media presentation description |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117256136A true CN117256136A (zh) | 2023-12-19 |
Family
ID=88307463
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380011045.6A Pending CN117256136A (zh) | 2022-04-19 | 2023-04-18 | 用于处理备选媒体表示描述的方法、设备和计算机可读介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230336821A1 (zh) |
CN (1) | CN117256136A (zh) |
WO (1) | WO2023205620A1 (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9344472B2 (en) * | 2012-12-28 | 2016-05-17 | Microsoft Technology Licensing, Llc | Seamlessly playing a composite media presentation |
US9426196B2 (en) * | 2013-01-04 | 2016-08-23 | Qualcomm Incorporated | Live timing for dynamic adaptive streaming over HTTP (DASH) |
US20160316247A1 (en) * | 2015-04-27 | 2016-10-27 | Ericsson Ab | Program and device class entitlements in a media platform |
US10237589B2 (en) * | 2015-12-15 | 2019-03-19 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for facilitating fast channel change |
-
2023
- 2023-04-17 US US18/135,250 patent/US20230336821A1/en active Pending
- 2023-04-18 CN CN202380011045.6A patent/CN117256136A/zh active Pending
- 2023-04-18 WO PCT/US2023/065870 patent/WO2023205620A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20230336821A1 (en) | 2023-10-19 |
WO2023205620A1 (en) | 2023-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113767639B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读介质 | |
JP7252373B2 (ja) | メディアコンテンツのメディアデータを受信する方法、装置、およびコンピュータプログラム | |
JP7246508B2 (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
US11418561B2 (en) | Remote link validity interval in media streaming | |
JP2023520651A (ja) | メディア・ストリーミング方法及び装置 | |
CN115299022B (zh) | 基于http的动态自适应流传输的方法和装置 | |
KR20220129622A (ko) | Http를 통한 동적 적응 스트리밍을 위한 방법들 및 장치들 | |
CN117256136A (zh) | 用于处理备选媒体表示描述的方法、设备和计算机可读介质 | |
CN112188256A (zh) | 信息处理方法、信息提供方法、装置、电子设备及存储介质 | |
US20230336599A1 (en) | Extensible Request Signaling for Adaptive Streaming Parameterization | |
CN113364728B (zh) | 媒体内容接收方法、装置、存储介质和计算机设备 | |
US20240022792A1 (en) | Method for bandwidth switching by cmaf and dash clients using addressable resource index tracks and events | |
US20230336602A1 (en) | Addressable resource index events for cmaf and dash multimedia streaming | |
WO2024015222A1 (en) | Signaling for picture in picture in media container file and in streaming manifest | |
CN115462063A (zh) | 用于通过http的动态自适应流传输的方法和设备 | |
JP2023520757A (ja) | Httpを介した動的適応ストリーミングのための方法および装置 | |
CN118055275A (zh) | 用于接收媒体内容的媒体数据的处理方法和装置 | |
WO2023205681A1 (en) | A processing model for dash client processing model to support handling of dash event updates |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |