CN117256153A - 用于支持处理dash事件更新的dash客户端处理模型的处理模型 - Google Patents
用于支持处理dash事件更新的dash客户端处理模型的处理模型 Download PDFInfo
- Publication number
- CN117256153A CN117256153A CN202380011128.5A CN202380011128A CN117256153A CN 117256153 A CN117256153 A CN 117256153A CN 202380011128 A CN202380011128 A CN 202380011128A CN 117256153 A CN117256153 A CN 117256153A
- Authority
- CN
- China
- Prior art keywords
- event
- dash
- media
- previously received
- list
- 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 60
- 238000012545 processing Methods 0.000 title claims abstract description 49
- 230000008569 process Effects 0.000 title claims description 28
- 230000004044 response Effects 0.000 claims description 16
- 230000003044 adaptive effect Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 3
- 239000000872 buffer Substances 0.000 description 25
- 230000006978 adaptation Effects 0.000 description 16
- 230000010365 information processing Effects 0.000 description 12
- 239000012634 fragment Substances 0.000 description 11
- 238000012546 transfer Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000011664 signaling Effects 0.000 description 5
- 230000000977 initiatory effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 239000012092 media component Substances 0.000 description 3
- 230000000153 supplemental effect Effects 0.000 description 3
- 230000000007 visual effect Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 241000238876 Acari Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect 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
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000007781 signaling event Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
用于处理媒体流的方法、设备和计算机可读存储介质。方法可以包括:接收与DASH媒体流相关联的DASH事件;确定该DASH事件是对先前接收的DASH事件的更新;以及基于该DASH事件的调度模式处理该DASH事件;其中,该DASH事件包括下述中的至少一者:与内容集中的第一媒体切片一起传输的带内事件,该内容集包括一个或更多个媒体切片;媒体呈现描述(MPD)事件;或定时元数据样本;其中,DASH事件的调度模式包括接收模式和启动模式。
Description
通过引用并入
本申请基于2023年4月17日提交的美国非临时申请第18/301,596号和2022年4月19日提交的美国临时申请第63/332,596号并要求两者的优先权的权益,该美国非临时申请第18/301,596号基于2022年4月19日提交的美国临时申请第63/332,599号并要求其优先权的权益,上述申请中的每一个通过引用整体并入本文。
技术领域
本公开内容总体上涉及媒体流式传输技术,包括基于超文本传输协议的动态自适应流式传输(Dynamic Adaptive Streaming over Hypertext transfer protocol,DASH)。更具体地,所公开的技术涉及用于在DASH客户端处理模型下处理DASH事件更新的方法和设备。
背景技术
本文中提供的该背景技术描述是出于总体上呈现本公开内容的上下文的目的。就在该背景技术部分中描述的工作的程度而言,目前署名的发明人的工作以及在提交申请时可能未被另外限定作为现有技术的描述的各方面既没有明确地也没有隐含地被承认为是针对本公开内容的现有技术。
运动图像专家组(Moving Picture Expert Group,MPEG)的基于超文本传输协议的动态自适应流式传输(DASH)提供了用于通过IP网络流式传输多媒体内容的标准。在DASH标准中,使用媒体呈现描述(Media Presentation Description,MPD)向DASH客户端提供信息,以通过从DASH服务器下载媒体片段来自适应地流式传输媒体内容。DASH标准允许多速率内容的流式传输。DASH标准的一个方面包括:MPD事件和带内事件的携带;以及用于处理这些事件的客户端处理模型。
发明内容
本公开内容的各方面提供了用于媒体流处理的方法和设备,并且更具体地,提供了用于在DASH客户端处理模型下处理DASH事件更新的方法和设备。在一些示例实现方式中,公开了一种用于处理媒体流例如DASH媒体流的方法。该方法可以包括:接收与DASH媒体流相关联的DASH事件;确定该DASH事件是对先前接收到的DASH事件的更新;以及基于该DASH事件的调度模式处理该DASH事件;其中,该DASH事件包括下述中的至少一者:与内容集中的第一媒体切片一起传输的带内事件,该内容集包括一个或更多个媒体切片;媒体呈现描述(MPD)事件;或定时元数据样本;其中,DASH事件的调度模式包括接收模式和启动模式。
本公开内容的各个方面还提供了一种媒体流处理装置或设备,包括被配置成执行上面的方法实现方式中的任何方法实现方式的电路系统。
本公开内容的各方面还提供了一种非暂态计算机可读介质,其存储指令,所述指令在由用于媒体流处理的计算机执行时使该计算机执行上面的方法实现方式中的任何方法实现方式。
附图说明
所公开的主题的另外的特征、性质和各种优点根据以下详细描述和附图将更加明显,在附图中:
图1示出了根据本公开内容的实施方式的系统。
图2示出了根据本公开内容的实施方式的基于HTTP的动态自适应流式传输(DASH)系统。
图3示出了根据本公开内容的实施方式的DASH客户端架构。
图4示出了示例活动事件表和调度事件表。
图5a示出了在DASH事件处理模型中用于更新的事件的示例公共处理。
图5b示出了在DASH事件处理模型中用于更新的事件的示例接收处理。
图5c示出了在DASH事件处理模型中用于更新的事件的示例启动处理。
图6示出了根据本公开内容的示例实施方式的方法的流程图。
图7示出了根据本公开内容的示例实施方式的计算机系统的示意性图示。
具体实施方式
基于超文本传输协议的动态自适应流式传输(DASH)以及媒体呈现描述(MPD)
媒体流式传输的一种流行格式包括如ISO(International Organization forStandardization,ISO)/IEC(International Electrotechnical Commission,IEC)23009-1中限定的基于超文本传输协议的动态自适应流式传输(DASH)。DASH是自适应比特率流式传输技术,该技术能够实现使用超文本传输协议(HTTP)基础设施例如web服务器、内容分发网络(Content Delivery Network,CDN)、各种代理和缓存等的媒体内容的流式传输。DASH支持从DASH服务器到DASH客户端的点播流式传输和直播流式传输两者,并且允许DASH客户端控制流式传输会话,使得DASH服务器不需要应对大规模部署中流适配管理的额外负载。DASH还允许DASH客户端选择来自各种DASH服务器的流式传输,并且因此针对DASH客户端的利益进一步实现了网络的负载平衡。DASH例如通过改变比特率以适应网络条件来提供不同媒体轨道之间的动态切换。
在DASH中,媒体呈现描述(MPD)文件为DASH客户端提供信息以通过从DASH服务器下载媒体片段来自适应地流式传输媒体内容。MPD可以呈可扩展标记语言(ExtensibleMarkup Language,XML)文档的形式。可以将MPD文件碎片化并且分批地递送,以减少会话启动延迟。也可以在流式传输会话期间对MPD文件进行更新。在一些示例中,MPD文件支持内容可访问性特征、评级和摄像装置视图的表达。DASH还支持多视图和可缩放编码内容的递送。
MPD文件可以包含一个或更多个时段的序列。一个或更多个时段中的每一个可以由例如MPD文件中的时段元素来限定。MPD文件可以包括MPD的availableStartTime属性和每个时段的开始属性。对于具有动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和MPD属性availableStartTime的和以及媒体片段的持续时间可以以协调世界时(Coordinated Universal Time,UTC)格式指示该时段的可用时间,特别是对应时段中的每个呈现的第一媒体片段。对于具有静态类型的媒体呈现(例如,用于点播服务),第一时段的开始属性可以是0。对于任何其他时段,开始属性可以指定对应时段的开始时间相对于第一时段的开始时间之间的时间偏移。每个时段可以延伸直到下一时段的开始,或者在最后一个时段的情况下,延伸直到媒体呈现的结束。时段开始时间可以是精确的,并且反映由播放所有先前时段的媒体所产生的实际时间。在示例实现方式中,提供MPD使得下一时段是前一时段中的内容的延续,下一时段可能是紧随其后的时段或者是稍后的时段(例如,在插入广告时段之后)。
每个时段可以包含一个或更多个自适应集,并且自适应集中的每一个可以包含相同媒体内容的一个或更多个呈现。呈现可以是音频或视频数据的多个替选编码版本中之一。呈现可以因编码类型例如视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率和/或编解码器而不同。术语呈现可以用于指代与多媒体内容的特定时段对应并且以特定方式编码的已编码音频或视频数据的一部分。
可以将特定时段的自适应集分配给由MPD文件中的组属性指示的组。同一组中的自适应集通常被认为是彼此替选的。例如,可以将特定时段的视频数据的每个自适应集分配给同一组,使得可以选择任何自适应集进行解码以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0(如果存在)的任一个自适应集或者来自每个非零组的至多一个自适应集的组合来表示。时段的每个呈现的定时数据可以相对于该时段的开始时间来表示。
呈现可以包括一个或更多个片段。每个呈现可以包括初始化片段,或者呈现的每个片段可以是自初始化的。当存在时,初始化片段可以包含用于访问该呈现的初始化信息。在一些情况下,初始化片段不包含媒体数据。片段可以由标识符例如统一资源定位符(Uniform Resource Locator,URL)、统一资源名称(Uniform Resource Name,URN)或统一资源标识符(Uniform Resource Identifier,URI)唯一地引用。
在示例实现方式中,根据IETF(Internet Engineering Task Force,IETF)RFC(Request For Comments,RFC)3986,URL可以被限定为<absolute-URI>例如具有“http”或“https”的固定方案,如果范围属性与URL一起提供,则URL可能受字节范围限制。例如,字节范围可以表示为如IETF RFC 2616中限定的byte-range-spec。字节范围可以被限制为标识连续字节范围的单个表达式。在实施方式中,片段可以与数据URL一起包括在MPD中,例如如在IETF RFC 2397中限定的。
MPD文件可以为每个片段提供标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,该字节范围可以对应于通过URL、URN或URI可访问的文件内的片段的数据。
子呈现可以嵌入(或包含)在常规呈现中,并且由子呈现元素(例如,SubRepresentation)来描述。子呈现元素可以描述嵌入在呈现中的一个或若干个媒体内容分量的属性。例如,子呈现元素可以描述嵌入式音频分量(例如,编解码器、采样率等)、嵌入式子标题(例如,编解码器)的属性,或者子呈现元素可以描述一些嵌入式较低质量的视频层(例如,一些较低的帧速率等)。子呈现元素和呈现元素可以共享一些公共属性和元素。
每个呈现还可以包括一个或更多个媒体分量,其中,每个媒体分量可以对应于一种单独媒体类型例如音频、视频或定时文本(例如,用于隐藏字幕)的编码版本。媒体分量可以是跨一个呈现内的连续媒体片段的边界而时间连续的。
在一些示例实现方式中,DASH客户端可以从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可以检索MPD文件以在发起直播会话时使用。基于MPD文件,并且对于每个所选的呈现,DASH客户端可以做出若干决定,包括:确定服务器上可用的最新片段是什么;确定下一片段和可能的未来片段的片段可用开始时间;确定何时开始播放片段以及从片段中的哪个时间线开始播放;以及确定何时获得/取得新的MPD文件。一旦服务被播出,客户端可以保持确定直播服务与其自身的播出之间的偏差,该偏差需要被检测和补偿。
DASH事件
在DASH系统中,事件提供了用于向DASH客户端及其相关联的应用用信号通知附加信息的手段。在示例实现方式中,事件是定时的,并且因此具有开始时间和持续时间。事件信息可以包括描述媒体呈现的内容的元数据。附加地或替选地,事件信息可以包括与媒体呈现的回放期间的特定时间相关联的媒体播放器的控制消息例如广告插入提示。事件可以被实现为例如MPD事件或带内事件。事件可以是清单文件(例如,MPD)的一部分,或者可以嵌入在基于ISOBMFF(ISO Base Media File Format,ISOBMFF)的媒体文件例如事件消息(emsg)框中。
媒体呈现描述(MPD)事件是可以用信号通知在MPD中的事件。在MPD中可以按时段级别提供分配给媒体呈现时间的事件序列。同一类型的事件可以由时段元素中的事件流元素(例如,EventStream)来指定。事件在时段结束时终止,即使开始时间在时段边界之后或者事件的持续时间延伸超过时段边界也是如此。事件流元素包括消息方案标识信息(例如,@schemeIdUri)和用于事件流元素的可选值(例如,@value)。此外,由于事件流包含定时事件,因此可以提供时间尺度属性(例如,@timescale),以向时段内的特定媒体呈现时间分配事件。定时事件本身可以由事件流元素中包括的事件元素来描述。
带内事件流可以通过添加事件消息作为媒体片段的一部分来与呈现复用。事件流可以存在于所选的呈现中、仅在一个或若干个所选的自适应集中、或者可以存在于所有呈现中。例如,一种可能的配置是其中仅音频自适应集包含带内事件或者仅视频自适应集包含带内事件的配置。存在于呈现中的带内事件流可以由例如自适应集级别或呈现级别的各种级别上的带内事件流元素(例如,InbandEventStream)来指示。此外,一个呈现可以包含多个带内事件流,所述多个带内事件流各自由单独的带内事件流元素来指示。
图1示出了根据本公开内容的实施方式的系统(100)。系统(100)包括内容服务器(110)和信息处理设备(120)。内容服务器(110)可以提供内容流,包括主要内容(例如,主程序)以及一个或更多个定时元数据轨道。
信息处理设备(120)可以与内容服务器(110)进行对接。例如,信息处理设备(120)可以回放从内容服务器(110)接收到的内容。内容的回放可以基于由信息处理设备(120)(例如,从内容服务器(110))接收到的清单文件(例如,MPD)来执行。清单文件还可以包括用于一个或更多个定时元数据轨道的信令。
图2示出了示例性DASH系统。DASH系统(200)可以包括内容服务器(210)、广告服务器(220)和信息处理设备(230),内容服务器(210)、广告服务器(220)和信息处理设备(230)连接至网络(250)。DASH系统(200)还可以包括一个或更多个补充内容服务器。
内容服务器(210)可以向信息处理设备(230)提供主要内容(例如,主程序)和清单文件(例如,MPD)。例如,清单文件可以由MPD生成器(214)生成。在其他实施方式中,主要内容和清单文件可以由不同的服务器提供。
信息处理设备(230)接收MPD,并且可以基于MPD从内容服务器(210)的HTTP服务器(212)获取主要内容。MPD可以由在信息处理设备(230)上执行的DASH客户端(232)处理。此外,DASH客户端(232)可以从广告服务器(220)获取广告内容,或者从一个或更多个补充内容服务器获取其他内容(例如,交互式内容)。主内容和广告内容可以由DASH客户端(232)处理并且输出,以在显示装置(236)上显示。显示装置(236)可以集成在信息处理设备(230)中,或者可以在信息处理设备(230)外部。此外,DASH客户端(232)可以从一个或更多个定时元数据轨道提取事件信息,并且将所提取的事件信息发送至应用(234)以进行进一步处理。应用(234)可以被配置成例如基于事件信息显示补充内容。
广告服务器(220)可以将广告内容存储在广告存储装置例如存储器中。信息处理设备(230)可以基于事件信息请求所存储的广告内容。
图3示出了根据本公开内容的实施方式的用于处理DASH事件的示例DASH客户端架构。DASH客户端(或DASH播放器)可以被配置成与应用(390)通信并且处理各种类型的事件,包括(i)MPD事件、(ii)带内事件、以及(iii)定时元数据事件。
清单解析器(305)对清单(例如,MPD)进行解析。例如,清单由内容服务器(110、210)提供。清单解析器(305)提取关于嵌入在定时元数据轨道中的MPD事件、带内事件和定时元数据事件的事件信息。所提取的事件信息可以提供给DASH逻辑(310)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑(310)可以基于事件信息向应用(390)通知用信号通知在清单中的事件方案。
事件信息可以包括用于在不同事件流之间进行区分的事件方案信息。应用(390)可以使用事件方案信息来订阅感兴趣的事件方案。应用(390)还可以通过一个或更多个订阅API(Application Programming Interface,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)可以是先进先出(First-In-First-Out,FIFO)缓冲器。缓冲器(335)可以与媒体缓冲器(350)对应地进行管理。例如,只要媒体片段存在于媒体缓冲器(350)中,与该媒体片段对应的任何事件或定时元数据就可以存储在缓冲器(335)中。
DASH访问应用编程接口(API)(315)可以管理通过HTTP(Hypertext TransferProtocol,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)可以向应用传送与应用已经订阅的事件方案对应的事件实例(或定时元数据样本)。事件实例可以根据由订阅请求指示的调度模式(例如,针对特定事件方案)或默认调度模式来传送。例如,在接收(on-receive)调度模式下,事件实例可以在缓冲器(335)中被接收时被发送至应用(390)。另一方面,在启动(on-start)调度模式下,事件实例可以在例如与来自媒体解码器(355)的定时信号同步的与事件实例相关联的呈现时间被发送至应用(390)。
在一些示例实现方式中,DASH播放器处理接收到的MPD。对于每个时段,MPD可以包括一个或多个事件流。每个事件流可以由方案/值来确定范围。每个时段可以包括一个或更多个自适应集,所述一个或更多个自适应集携带定时元数据的呈现/轨道。这些事件流/定时元数据轨道中的一些或全部可能适合于应用的使用。
特定于DASH播放器的事件被调度至DASH播放器的控制、选择和启发式逻辑(图3,DASH逻辑310),而与应用相关的事件和定时元数据轨道样本被调度至应用,如下所述。如果应用订阅了特定事件流或定时元数据流,则对应的事件实例或定时元数据样本可以根据调度模式被调度至该应用:
对于接收调度模式,DASH客户端(或DASH播放器)应当在最晚到达时间(LatestArrival Time,LAT)之时或之前或者尽可能早的时间处调度整个事件或定时元数据信息。接收事件的应用可以从事件的LAT到开始时间(Start Time,ST)为事件做准备。在一些示例实现方式中,LAT是事件应当被递送至应用的最晚时间,并且用于确保应用具有足够的时间为事件做准备。在一些示例实现方式中,一旦整个事件或定时元数据信息被附加至事件和定时元数据缓冲器,DASH客户端就可以对它们进行调度。
对于启动调度模式,DASH客户端(或DASH播放器)应当恰好在ST处调度事件,该ST是事件/元数据样本的开始/呈现时间。DASH客户端(或DASH播放器)应当在对应媒体样本的呈现时间处将事件调度至应用。在事件的开始时间已经过去、但是当前时刻在事件持续时间内的情况下,DASH客户端可以在事件持续时间内的最早时间处调度事件。
在图3中,文件格式解析器345、媒体缓冲器350和媒体解码器355可以一起形成MSE缓冲器。
MPD事件
可以在MPD中用信号通知事件。可以按时段级别在MPD中提供分配给媒体呈现时间的事件序列。同一类型的事件可以汇总到由时段元素中的EventStream元素指定的事件流中。示例性地,事件可以在时段结束时终止,即使开始时间在时段边界之后或者事件的持续时间延伸超过时段边界也是如此。
在一些示例实现方式中,在一个时段中,同一类型的所有事件可以聚集在一个事件流中。时段可以具有多个事件流,并且每个事件流可以具有下述的不同组合:@schemeIdUri属性的值和@value属性的值。
表1提供了示例事件流语义。
表1:事件流语义
表2提供了根据本公开内容的实施方式的示例事件语义。
表2:事件语义
带内事件信令和事件消息框
在一些示例实现方式中,事件流可以通过添加事件消息作为片段的一部分来与呈现进行复用。事件流可以存在于所选的呈现中、仅存在于一个或若干个所选的自适应集中、或者存在于所有呈现中。
在一些示例实现方式中,带内事件流可以存在于呈现中。如果期望由DASH客户端处理,则带内事件流可以由自适应集级别或呈现级别下的InbandEventStream元素来指示。
InbandEventStream可以基于EventStream的语义来限定,如表1所示出的。还可以对InbandEventStream特定语义添加另外的限制。
事件消息框('emsg')可以用于为与例如媒体呈现时间相关的通用事件提供信令。与表1和表2中限定的事件的语义相同的语义也可以适用。
如果基于ISO BMFF容器,则媒体片段可以包含一个或更多个事件消息('emsg')框。如果存在,则'emsg'框可以如下放置:
'emsg'可以放置在片段的第一'moof'框之前;或者
'emsg'可以放置在任何'mdat'(媒体数据)与'moof'框之间。在这种情况下,具有相同id值的等同'emsg'应存在于任何片段的第一'moof'框之前。
在一些示例实现方式中,'emsg'可以限定如下:
框类型:框类型:'emsg'
容器:片段
强制:否
数量:零或更多
表3示出了示例'emsg'语法。
示例性地,下面描述上面语法的语义:
·scheme_id_uri是标识消息方案的字符串。message_data[]的语义和语法由例如所标识的方案的所有者来限定。字符串可以使用URN语法或URL语法。URL可以解析为因特网位置,并且确实解析的位置可以存储消息方案的规范。
·value是指定针对事件的值的字符串。值空间和语义可以由scheme_id_uri字段中标识的方案的所有者来限定。
·timescale为事件持续时间和presentation_time_delta或presentation_time字段提供时间尺度(以每秒的滴答为单位)。该值应当与携带片段中包含的轨道的时间尺度相同。在一些实现方式中,对于一个事件流中的所有事件,该值应当相同。
·presentation_time_delta提供事件的媒体呈现时间与片段中的最早呈现时间的媒体呈现时间差量。如果存在片段索引,则最早呈现时间由第一'sidx'框的字段earliest_presentation_time来确定。如果不存在片段索引,则最早呈现时间被确定为媒体片段中的任何访问单元的最早呈现时间。时间尺度在timescale字段中提供。
·presentation_time提供在电影时间线上测量的事件的媒体呈现时间,以timescale字段中提供的时间尺度为单位,并且通过InbandEventStream@presentationTimeOffset进行调整,以由InbandEventStream@timescale提供的时间尺度为单位;该值不应小于携带片段的最早呈现时间。
·event_duration提供事件在媒体呈现时间中的持续时间。时间尺度在timescale字段中指示。在一些示例实现方式中,值0xFFFFFFFF指示未知持续时间。该值的解释必须由事件方案的所有者来限定。
·id:标识该消息的实例的字段。针对每个事件的该标识符的范围与scheme_id_uri和value对的范围相同。在同一scheme_id_uri和value对的范围内,具有相同id的消息是等同的,即,处理具有相同id的任何一个事件消息框就足够了。
·message_data:消息正文,其填充消息框的剩余部分。取决于上面的信息,message_data可能为空。该字段的语法和语义必须由scheme_id_uri字段中标识的方案的所有者来限定。
·flags可以是具有多个比特字段的变量(例如,具有8个比特的字符)。每个比特可以用于指示emsg的状态、条件或类型。在示例实现方式中,(flags&1)等于1指示esmg是具有相同scheme_id_uri、value和id字段的值的另一esmg的更新。“&”是按位“或”运算符。也可以选择flags中的其他比特来指示esmg是更新。
在DASH系统中,除了用信号通知事件之外,具有动态地更新较早用信号通知的事件的能力将是有益的。例如,可以更新由事件指定的开始时间、持续时间和/或媒体内容。在一些场景中,存在可以作为事件用信号通知的突发新闻。新闻有时可能需要根据最新进展来更新。因此,可能需要相应地更新事件。在一些场景中,由于例如调度更新或发生冲突,可能需要移除已调度的事件。
在当前的DASH系统中,没有明确地限定更新的事件。由于DASH客户端可以由许多不同的供应商在许多不同的平台(例如,操作系统、浏览器等)中实现,因此无法实现跨供应商或跨平台的兼容性。用信号通知的更新事件可能无法由特定DAHS客户端来标识或识别。此外,用于处理更新事件的行为也未被限定,并且这将引起对依赖于供应商的DASH客户端实现方式的进一步的差异。
在本公开内容中,描述了用于精确地限定和标识更新事件的各种实施方式。关于更新事件支持描述了与DASH客户端处理模型相关的一些实施方式,包括:监测和标识更新事件、更新事件缓冲器、仅在先前事件之前未被调度的情况下调度更新事件。
在一些示例实现方式中,限定了MPD更新事件。具有@status='update'的事件是可能先前由DASH客户端处理的具有相同的@schemeIdUri属性、@value属性和@id属性的事件的更新实例。如果先前事件还未被调度,则DASH客户端可以用更新实例替换先前事件。具有@status='update'的事件可以与先前事件不同,除了以下属性:@schemeIdUri、@value和@id。
在一些示例实现方式中,限定了带内更新事件。具有(flags&1)=1(&是按位和运算符)的emsg框是可能先前由DASH客户端处理的具有相同scheme_id_uri字段、value字段和id字段的emsg框的更新实例。如果先前事件还未被调度,则DASH客户端可以用更新实例替换先前事件。更新的emsg可以与先前emsg不同,除了以下字段:scheme_id_uri、value和id。
在一些示例实现方式中,当替换事件时,可以用事件的更新实例对存储在事件和定时元数据缓冲器中的事件的旧副本进行更新。
在一些示例实现方式中,当替换事件时,可以对更新事件的呈现时间(其可以更新)进行检查。更新事件可以根据其呈现时间被添加至事件和定时元数据缓冲器中,并且旧事件可以从事件和定时元数据缓冲器中删除。注意,由于呈现时间可能被更新,因此更新事件在事件和定时元数据缓冲器中可能具有不同的位置。
在本公开内容中,改进了DASH客户端事件处理模型以支持更新事件。例如,当接收到事件的一个或更多个更新版本时,DASH客户端仅调度最新的事件更新,并且可以避免调度旧的/过时的事件。
如前面所描述的,事件处理模型(在下文中也被称为处理模型)可以处理两种调度模式的事件:接收模式(on_receive)和启动(on_start)模式。处理模型将共享适用于两种调度模式的公共处理,然后针对每种调度模式使用单独的处理。
参照图3,应用390订阅由特定调度模式(启动或接收)情况下的(scheme_uri/value)对标识的特定事件流。例如,可以通过如'emsg'中限定的EventStream的@schemeIdUri属性(或字段)或者scheme_id_uri字段来指示方案。下面描述公共处理以及依赖于调度模式的处理。
在一些示例实现方式中,EventStream用作同一类型事件的容器。EventStream可以由(方案id/值)对标识或仅由方案id标识。方案id可以包括例如scheme_id_uri。
公共处理
在一些示例实现方式中,DASH客户端可以针对由例如(scheme_uri/value)对所标识的每个订阅的EventStream建立活动事件表。示例性地,活动事件表可以仅需要针对启动调度模式情况下的事件设置。活动事件表保持等待被调度的事件的事件id的单个列表。图4示出了示例活动事件表设置。在图4中,创建了k个活动事件表,其中,每个表对应于唯一的(scheme_uri/value)对。每个表可以实现为例如列表。每个列表可以保持指示等待被调度的事件的事件标识符(例如,Event@id、'emsg'id)的列表。
在一些示例实现方式中,DASH客户端还可以针对由例如(scheme_uri/value)对标识的每个订阅的EventStream设置调度事件表。调度事件表保持已经被调度的事件的事件id的单个列表。图4示出了示例调度事件表设置。在图4中,创建了x个调度事件表,其中,每个表对应于唯一的(scheme_uri/value)对。每个表可以实现为例如列表。每个列表可以保持标识已经被调度的事件的事件标识符(例如,Event@id、'emsg'id)的列表。
DASH客户端对事件(例如,'emsg'/定时元数据样本)进行解析并且检索scheme_uri/(value)。
如果应用未订阅scheme_uri/(value)对,则DASH客户端可以结束对该事件的处理。然后,DASH客户端将继续得出/检索事件实例/元数据样本的开始时间(ST,或呈现时间),并且使用等式ET=ST+DU来得出事件实例/元数据样本的结束时间(End Time,ET),其中,DU是可以用信号通知在事件中的事件持续时间。
图5a示出了示例公共处理逻辑。
接收处理
在一些示例实现方式中,当调度模式为接收时,DASH客户端可以实现以下处理。
步骤1:如果当前呈现时间值大于更新事件的ET,则结束处理。
步骤2:对新接收的更新事件是否被调度进行检查。DASH客户端可以将事件的id与调度事件表中由与更新事件相同的scheme_uri/(value)对所标识的条目进行比较。如果存在具有相同id值的条目,则结束处理。
步骤3:对事件/定时元数据(即,更新事件中的更新版本)——包括ST、id、DU、timescale和message_data进行调度,并且将事件添加至由与更新事件相同的scheme_uri/(value)对所标识的对应调度事件表。
图5b示出了示例接收处理逻辑。
启动处理
在一些示例实现方式中,当调度模式为启动时,DASH客户端可以实现以下示例处理。
步骤1:如果事件是更新,则从由与更新事件相同的scheme_uri/(value)对所标识的对应活动事件表中移除具有相同id的失效事件(将被更新事件替换)(如果存在)。
步骤2:得出/检索事件实例/元数据样本的ST。
步骤3:如果当前媒体呈现时间值小于ST,则进行至步骤6。
步骤4:得出事件结束时间:ET=ST+DU。
步骤5:如果当前呈现时间值大于ET,则结束处理。
步骤6:将事件的id与对应活动事件表和对应调度事件表(由与更新事件相同的scheme_uri/(value)对标识的)的条目进行比较:
·如果任一表中存在具有相同事件id值的条目,则结束处理;或者如果对应调度事件表中存在具有相同事件id值的条目,则结束处理;
·否则,将标识更新事件实例/元数据样本的事件id(例如,Event@id、'emsg'id)添加至对应活动事件表。在一些示例实现方式中,可以将更新事件添加至事件和时间元数据缓冲器,并且从同一缓冲器中删除失效事件。
步骤7:在时间ST处或者如果当前呈现时间大于ST,则立即对更新的事件/元数据(例如,message_data)进行调度。
一旦更新事件被调度之后,DASH客户端就可以将该更新事件(例如,Event@id、'emsg'id)添加至对应调度事件表。
可选地,DASH客户端还可以对对应活动事件表中是否存在更新事件的条目进行检查。如果存在条目,则DASH客户端可以从对应活动事件表中删除该条目。
图5c示出了示例启动处理逻辑。
上面描述的用于公共处理、接收处理和启动处理的步骤仅出于示例性目的。其他实现方式可以包括例如这些步骤的子集。
在本公开内容中,术语“字段”或“属性”针对带内事件、MPD事件和定时元数据样本可以是可互换的。除非另有说明,否则事件一般是指MPD事件、带内事件和定时元数据样本。
在一些示例实现方式中,带内事件和MPD事件各自由方案标识符标识或者与方案标识符相关联,该方案标识符可以包括例如方案标识符统一资源标识符(URI)。
本公开内容中的实施方式适用于DASH和其他媒体流式传输技术/标准。图6示出了用于处理媒体流例如DASH媒体流的示例性方法600。该方法可以由媒体流式传输系统中的媒体流式传输装置托管的DASH客户端执行,并且方法600可以包括以下步骤中的一部分或全部:步骤610:接收与DASH媒体流相关联的DASH事件;步骤620:确定该DASH事件是对先前接收到的DASH事件的更新;以及步骤630:基于该DASH事件的调度模式处理该DASH事件;其中,该DASH事件包括下述中的至少一者:与内容集中的第一媒体切片一起传输的带内事件,该内容集包括一个或更多个媒体切片;媒体呈现描述(MPD)事件;或者定时元数据样本;其中,DASH事件的调度模式包括接收模式和启动模式。
本公开内容中的实施方式可以单独地使用或以任何顺序组合地使用。此外,可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现方法(或实施方式)和DASH客户端中的每一个。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。本公开内容的实施方式可以适用于DASH和/或其他媒体流式传输技术/标准。
上面描述的技术可以实现为使用计算机可读指令并且物理地存储在一个或更多个计算机可读介质中的计算机软件。例如,图7示出了适合于实现所公开的主题的特定实施方式的计算机系统(1800)。
计算机软件可以使用任何合适的机器代码或计算机语言来编码,机器代码或计算机语言可以经过汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(Central Processing Unit,CPU)、图形处理单元(GraphicsProcessing Unit,GPU)等直接执行或者通过解释、微代码执行等来执行。
指令可以在各种类型的计算机或其部件(包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等)上执行。
图7中示出的用于计算机系统(1800)的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统(1800)的示例性实施方式中示出的任何一个部件或部件的组合有关的任何依赖性或要求。
计算机系统(1800)可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、拍打)、视觉输入(例如:手势)、嗅觉输入(未示出)进行的输入。人机接口装置还可以用于捕获不一定与人的意识输入直接相关的特定媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
输入人机接口装置可以包括下述中的一个或更多个(每项仅描绘一个):键盘(1801)、鼠标(1802)、触控板(1803)、触摸屏(1810)、数据手套(未示出)、操纵杆(1805)、麦克风(1806)、扫描仪(1807)、摄像装置(1808)。
计算机系统(1800)还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括:触觉输出装置(例如,通过触摸屏(1810)、数据手套(未示出)或操纵杆(1805)进行的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置);音频输出装置(例如:扬声器(1809)、头戴式耳机(未描绘));视觉输出装置(例如,屏幕(1810),包括CRT(Cathode Ray Tube,CRT)屏幕、LCD(Liquid Crystal Display,LCD)屏幕、等离子屏幕、OLED(Organic Light Emitting Diode,OLED)屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘);全息显示器和发烟器(未描绘));以及打印机(未描绘)。
计算机系统(1800)还可以包括人类可访问的存储装置及其相关联的介质,例如包括具有CD(Compact Disc,CD)/DVD(Digital Video Disk,DVD)等介质(1821)的CD/DVDROM/RW(1820)的光学介质、拇指驱动器(1822)、可移除硬盘驱动器或固态驱动器(1823)、传统磁介质例如磁带和软盘(未描绘)、基于专用ROM(Read Only Memory,ROM)/ASIC(Application Specific Integrated Circuit,ASIC)/PLD(Programable Logic Device,PLD)的装置例如安全加密狗(未描绘)等。
本领域技术人员还应当理解,结合目前公开的主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
计算机系统(1800)还可以包括到一个或更多个通信网络(1855)的接口(1854)。网络可以例如是无线网络、有线网络、光学网络。网络还可以是局域网、广域网、城域网、车载和工业网络、实时网络、延迟容忍网络等。网络的示例包括:局域网例如以太网;无线LAN(Local Area Network,LAN);包括GSM(Global System for Mobile Communications,GSM)、3G(the Third Generation,3G)、4G(the Fourth Generation,4G)、5G(the FifthGeneration,5G)、LTE(Long Term Evolution,LTE)等的蜂窝网络;包括线缆TV、卫星TV和地面广播TV的TV有线或无线广域数字网络;包括CAN总线的车载和工业网络等。某些网络通常需要附接至某些通用数据端口或外围总线(1849)(例如,计算机系统(1800)的USB(Universal Serial Bus,USB)端口)的外部网络接口适配器;其他的网络通常通过如下所述(例如,到PC计算机系统的以太网接口或到智能电话计算机系统的蜂窝网络接口)附接至系统总线而集成到计算机系统(1800)的核中。计算机系统(1800)可以通过使用这些网络中的任何网络与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播TV)、单向仅发送的(例如,到某些CAN总线装置的CAN总线)、或者双向的例如到使用局域数字网络或广域数字网络的其他计算机系统。可以在如上所述的这些网络和网络接口中的每个网络和网络接口上使用特定的协议和协议栈。
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统(1800)的核(1840)。
核(1840)可以包括一个或更多个中央处理单元(CPU)(1841)、图形处理单元(GPU)(1842)、现场可编程门区域(Field Programmable Gate Area,FPGA)(1843)形式的专用可编程处理单元、用于某些任务的硬件加速器(1844)、图形适配器(1850)等。这些装置以及只读存储器(ROM)(1845)、随机存取存储器(1846)、内部大容量存储装置(例如,内部非用户可访问硬盘驱动器、SSD等)(1847)可以通过系统总线(1848)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(1848),以通过附加的CPU、GPU等实现扩展。外围装置可以直接地或通过外围总线(1849)附接至核的系统总线(1848)。在示例中,屏幕(1810)可以连接至图形适配器(1850)。外围总线的架构包括PCI(Peripheral ComponentInterconnect/Interface,PCI)、USB(Universal Serial Bus,USB)等。
CPU(1841)、GPU(1842)、FPGA(1843)和加速器(1844)可以执行某些指令,这些指令组合起来可以构成之前提及的计算机代码。该计算机代码可以存储在ROM(1845)或RAM(Random Access Memory,RAM)(1846)中。暂态数据也可以存储在RAM(1846)中,而永久数据可以存储在例如内部大容量存储装置(1847)中。可以通过使用高速缓冲存储器来实现对存储器装置中的任何存储器装置的快速存储和检索,该高速缓冲存储器可以与一个或更多个CPU(1841)、GPU(1842)、大容量存储装置(1847)、ROM(1845)、RAM(1846)等紧密相关联。
计算机可读介质可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开内容的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以具有对于计算机软件领域的技术人员公知且可用的类型。
作为非限制示例,具有架构的计算机系统(1800)——特别是核(1840)——可以由于(一个或更多个)处理器(包括CPU、GPU、FPGA、加速器等)执行在一个或更多个有形计算机可读介质中实现的软件而提供功能。这样的计算机可读介质可以是下述介质,所述介质与如上所介绍的用户可访问大容量存储装置、以及具有非暂态性质的核(1840)的某些存储装置例如核内部大容量存储装置(1847)或ROM(1845)相关联。可以将实现本公开内容的各种实施方式的软件存储在这样的装置中并且由核执行(1840)。根据特定需要,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核(1840)并且特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在RAM(1846)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选,计算机系统可以由于逻辑硬连线或以其他方式实施在电路(例如:加速器(1844))中而提供功能,该电路可以代替软件或者与软件一起操作以执行本文描述的特定处理或特定处理的特定部分。在适当的情况下,对软件的引用可以包含逻辑,并且对逻辑对引用也可以包含软件。在适当的情况下,对计算机可读介质的引用可以包含存储用于执行的软件的电路(例如,集成电路(IC(Integrated Circuit,IC)))、实施用于执行的逻辑的电路或上述两者。本公开内容包含硬件和软件的任何合适组合。
虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等同方案。因此,应当认识到,本领域技术人员将能够构思许多系统和方法,虽然本文中没有明确示出或描述,但是这些系统和方法体现本公开内容的原理并且因此在本公开内容的精神和范围内。
Claims (20)
1.一种用于处理基于HTTP的动态自适应流式传输(DASH)媒体流的方法,所述方法由媒体流式传输系统中的媒体流式传输装置托管的DASH客户端执行,所述方法包括:
接收与所述DASH媒体流相关联的DASH事件;
确定所述DASH事件是对先前接收到的DASH事件的更新;以及
基于所述DASH事件的调度模式处理所述DASH事件;
其中,所述DASH事件包括下述中的至少一者:
与内容集中的第一媒体切片一起传输的带内事件,所述内容集包括一个或更多个媒体切片;
媒体呈现描述(MPD)事件;或
定时元数据样本;
其中,所述DASH事件的调度模式包括接收模式和启动模式。
2.根据权利要求1所述的方法,其中,确定所述事件是对所述先前接收到的事件的更新包括:
基于所述事件的状态字段或者与所述事件相关联的标志的一者来确定所述事件是更新的版本;以及
响应于所述事件中的字段的组合与所述先前接收到的事件中的字段的组合相匹配,确定所述事件是对所述先前接收到的事件的更新,其中,所述字段的组合包括下述中的至少一者:方案标识符字段、值字段、或ID字段。
3.根据权利要求2所述的方法,其中,确定所述事件是更新的版本包括:
响应于所述事件是MPD事件,基于所述事件的状态字段确定所述事件是更新的版本;或者
响应于所述事件是带内事件,基于与所述事件相关联的标志确定所述事件是更新的版本。
4.根据权利要求1至2中任一项所述的方法,其中:
所述事件的调度模式是所述启动模式;以及
基于所述事件的调度模式处理所述事件包括:
响应于所述先前接收到的事件在与同所述事件相同的方案标识符和值对相关联的活动事件列表中,从所述活动事件列表中删除所述先前接收到的事件,所述活动事件列表包括要调度的事件的列表。
5.根据权利要求4所述的方法,其中,所述媒体流的当前媒体呈现时间小于所述事件的开始时间,并且所述方法还包括:
响应于所述先前接收到的事件没有在与同所述事件相同的方案标识符和值对相关联的调度事件列表中,将所述事件添加至所述活动事件列表,其中,所述调度事件列表包括已经被调度的事件的列表。
6.根据权利要求4所述的方法,还包括:
响应于所述先前接收到的事件在与同所述事件相同的方案标识符和值对相关联的调度事件列表中,停止处理所述事件。
7.根据权利要求5所述的方法,还包括:
在所述事件的开始时间处调度所述事件;以及
将所述事件添加至与同所述事件相同的方案标识符和值对相关联的所述调度事件列表。
8.根据权利要求7所述的方法,其中,在所述事件的开始时间处调度所述事件之后,所述方法还包括:
从所述活动事件列表中删除所述事件。
9.根据权利要求4所述的方法,其中,所述媒体流的当前媒体呈现时间大于所述事件的开始时间,并且所述方法还包括:
基于所述事件的开始时间和所述事件的持续时间得出所述事件的结束时间;
响应于所述媒体流的当前媒体呈现时间小于所述事件的结束时间并且所述先前接收到的事件没有在与同所述事件相同的方案标识符和值对相关联的调度事件列表中:
在所述事件的开始时间处将所述事件调度至订阅了所述事件所属的事件类型的应用;以及
将所述事件添加至与同所述事件相同的方案标识符和值对相关联的所述调度事件列表。
10.根据权利要求9所述的方法,其中:
在所述事件的开始时间处调度所述事件之前,所述方法还包括:
将所述事件添加至所述活动事件列表;以及
在所述事件的开始时间处调度所述事件之后,所述方法还包括:
从所述活动事件列表中删除所述事件。
11.根据权利要求1至2中任一项所述的方法,其中:
所述事件的调度模式为接收模式;以及
响应于所述先前接收到的事件没有在与同所述事件相同的方案标识符和值对相关联的调度事件列表中:
将所述事件调度至订阅了所述事件所属的事件类型的应用;以及
将所述事件添加至与同所述事件相同的方案标识符和值对相关联的所述调度事件列表。
12.一种用于处理DASH媒体流的装置,所述装置包括用于存储计算机指令的存储器以及与所述存储器通信的处理器,其中,当所述处理器执行所述计算机指令时,所述处理器被配置成使所述装置:
接收与所述DASH媒体流相关联的DASH事件;
确定所述DASH事件是对先前接收到的DASH事件的更新;以及
基于所述DASH事件的调度模式处理所述DASH事件;
其中,所述DASH事件包括下述中的至少一者:
与内容集中的第一媒体切片一起传输的带内事件,所述内容集包括一个或更多个媒体切片;
媒体呈现描述(MPD)事件;或
定时元数据样本;
其中,所述DASH事件的调度模式包括接收模式和启动模式。
13.根据权利要求12所述的装置,其中,当所述处理器被配置成使所述装置确定所述事件是对所述先前接收到的事件的更新时,所述处理器被配置成使所述装置:
基于下述中的一者来确定所述事件是更新的版本:所述事件的状态字段、或者与所述事件相关联的标志;以及
响应于所述事件中的字段的组合与所述先前接收到的事件中的字段的组合相匹配,确定所述事件是对所述先前接收到的事件的更新,其中,所述字段的组合包括下述中的至少一者:方案标识符字段、值字段、或ID字段。
14.根据权利要求13所述的装置,其中,当所述处理器被配置成使所述装置确定所述事件是更新的版本时,所述处理器被配置成使所述装置:
响应于所述事件是MPD事件,基于所述事件的状态字段确定所述事件是更新的版本;或者
响应于所述事件是带内事件,基于与所述事件相关联的标志确定所述事件是更新的版本。
15.根据权利要求12至13中任一项所述的装置,其中:
所述事件的调度模式是所述启动模式;以及
当所述处理器被配置成使所述装置基于所述事件的调度模式处理所述事件时,所述处理器被配置成使所述装置:
响应于所述先前接收到的事件在与同所述事件相同的方案标识符和值对相关联的活动事件列表中,从所述活动事件列表中删除所述先前接收到的事件,所述活动事件列表包括要调度的事件的列表。
16.根据权利要求15所述的装置,其中,所述媒体流的当前媒体呈现时间小于所述事件的开始时间,并且其中,当所述处理器执行所述计算机指令时,所述处理器被配置成还使所述装置:
响应于所述先前接收到的事件没有在与同所述事件相同的方案标识符和值对相关联的调度事件列表中,将所述事件添加至所述活动事件列表,其中,所述调度事件列表包括已经被调度的事件的列表。
17.根据权利要求15所述的装置,其中,当所述处理器执行所述计算机指令时,所述处理器被配置成还使所述装置:
响应于所述先前接收到的事件在与同所述事件相同的方案标识符和值对相关联的调度事件列表中,停止处理所述事件。
18.根据权利要求16所述的装置,其中,当所述处理器执行所述计算机指令时,所述处理器被配置成还使所述装置:
在所述事件的开始时间处调度所述事件;以及
将所述事件添加至与同所述事件相同的方案标识符和值对相关联的所述调度事件列表。
19.一种非暂态存储介质,其用于存储计算机可读指令,所述计算机可读指令在由用于处理DASH媒体流的装置中的处理器执行时使所述处理器:
接收与所述DASH媒体流相关联的DASH事件;
确定所述DASH事件是对先前接收到的DASH事件的更新;以及
基于所述DASH事件的调度模式处理所述DASH事件;
其中,所述DASH事件包括下述中的至少一者:
与内容集中的第一媒体切片一起传输的带内事件,所述内容集包括一个或更多个媒体切片;
媒体呈现描述(MPD)事件;或
定时元数据样本;
其中,所述DASH事件的调度模式包括接收模式和启动模式。
20.根据权利要求19所述的非暂态存储介质,其中,当所述计算机可读指令使所述处理器确定所述事件是对所述先前接收到的事件的更新时,所述计算机可读指令使所述处理器:
基于下述中的一者来确定所述事件是更新的版本:所述事件的状态字段、或与所述事件相关联的标志;以及
响应于所述事件中的字段的组合与所述先前接收到的事件中的字段的组合相匹配,确定所述事件是对所述先前接收到的事件的更新,其中,所述字段的组合包括下述中的至少一者:方案标识符字段、值字段、或ID字段。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202263332599P | 2022-04-19 | 2022-04-19 | |
US202263332596P | 2022-04-19 | 2022-04-19 | |
US63/332,596 | 2022-04-19 | ||
US63/332,599 | 2022-04-19 | ||
US18/301,596 US12058191B2 (en) | 2022-04-19 | 2023-04-17 | Processing model for dash client processing model to support handling of dash event updates |
US18/301,596 | 2023-04-17 | ||
PCT/US2023/065938 WO2023205681A1 (en) | 2022-04-19 | 2023-04-19 | A processing model for dash client processing model to support handling of dash event updates |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117256153A true CN117256153A (zh) | 2023-12-19 |
Family
ID=88307314
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380011128.5A Pending CN117256153A (zh) | 2022-04-19 | 2023-04-19 | 用于支持处理dash事件更新的dash客户端处理模型的处理模型 |
Country Status (4)
Country | Link |
---|---|
US (1) | US12058191B2 (zh) |
JP (1) | JP2024537153A (zh) |
CN (1) | CN117256153A (zh) |
WO (1) | WO2023205681A1 (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120207088A1 (en) | 2011-02-11 | 2012-08-16 | Interdigital Patent Holdings, Inc. | Method and apparatus for updating metadata |
US9591361B2 (en) | 2011-09-07 | 2017-03-07 | Qualcomm Incorporated | Streaming of multimedia data from multiple sources |
ES2606552T3 (es) | 2013-01-16 | 2017-03-24 | Huawei Technologies Co., Ltd. | Inserción y adición de parámetros de URL en flujo continuo adaptativo |
US10476930B2 (en) | 2014-01-06 | 2019-11-12 | Intel IP Corporation | Client/server signaling commands for dash |
US11310540B2 (en) | 2017-11-10 | 2022-04-19 | Qualcomm Incorporated | Interfaces between dash aware application and dash client for service interactivity support |
US11212597B2 (en) | 2019-05-15 | 2021-12-28 | Tencent America LLC | Early termination of content |
US11489899B1 (en) * | 2021-04-12 | 2022-11-01 | Comcast Cable Communications, Llc | Segment ladder transitioning in adaptive streaming |
-
2023
- 2023-04-17 US US18/301,596 patent/US12058191B2/en active Active
- 2023-04-19 CN CN202380011128.5A patent/CN117256153A/zh active Pending
- 2023-04-19 WO PCT/US2023/065938 patent/WO2023205681A1/en active Application Filing
- 2023-04-19 JP JP2024520762A patent/JP2024537153A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2023205681A1 (en) | 2023-10-26 |
US12058191B2 (en) | 2024-08-06 |
JP2024537153A (ja) | 2024-10-10 |
US20230336603A1 (en) | 2023-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7246508B2 (ja) | Httpによる動的適応ストリーミングのための方法及び装置 | |
CN113767639B (zh) | 接收媒体数据的方法、装置和非易失性计算机可读介质 | |
CN115398924B (zh) | 用于媒体播放的方法、设备及存储介质 | |
US11418561B2 (en) | Remote link validity interval in media streaming | |
CN115299022B (zh) | 基于http的动态自适应流传输的方法和装置 | |
US20210006871A1 (en) | Events in timed metadata tracks | |
CN113661680B (zh) | 用于接收媒体内容的媒体数据的处理方法和装置 | |
CN115349264B (zh) | 接收媒体数据的方法和设备 | |
CN117256153A (zh) | 用于支持处理dash事件更新的dash客户端处理模型的处理模型 | |
CN115462063B (zh) | 接收媒体数据的方法、设备及存储介质 | |
CN115362665B (zh) | 接收媒体数据的方法、设备及存储介质 | |
CN113364728B (zh) | 媒体内容接收方法、装置、存储介质和计算机设备 | |
JP2024542553A (ja) | Cmafおよびdashマルチメディアストリーミングのためのaddressable resource indexイベント | |
CN118202345A (zh) | Cmaf和dash客户端使用可寻址资源索引轨道和事件进行带宽切换的方法 | |
CN117256135A (zh) | 用于cmaf和dash多媒体流式传输的可寻址资源索引事件 | |
CN117280700A (zh) | 用于自适应流参数化的可扩展请求信令 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |