用于在媒体回放期间支持前置式和中置式内容的MPEGDASH的方法和装置与流程
未命名
08-06
阅读:77
评论:0

用于在媒体回放期间支持前置式和中置式内容的mpeg dash的方法和装置
相关申请的交叉引用
1.本技术要求于2021年10月6日提交的美国临时申请第63/253,050号和于2022年9月21日提交的美国申请第17/949,592号的优先权,上述美国临时申请和美国申请在此通过引用以其全部内容明确地并入本技术中。
技术领域
2.本公开内容的实施方式涉及流式传输媒体内容,并且更具体地涉及根据运动图像专家组(moving picture experts group,mpeg)通过超文本传输协议的动态自适应流式传输(dynamic adaptive streaming over hypertext transfer protocol,dash)来流式传输媒体、广告和实况内容。
背景技术:
3.mpeg dash提供了用于通过ip网络流式传输媒体内容的标准。在mpeg dash中,媒体呈现描述(media presentation description,mpd)和事件用于将媒体时间线相关事件递送至客户端。iso/iec 23009-1dash标准允许多速率内容的流式传输。dash标准提供了其中时段是单个时间线中的彼此的延续的单个线性时间线。iso/iec 23009-1还提供了用于mpd链接的工具,即,在可以用于前置式(pre-roll)广告插入的mpd中用信号通知要播放的下一mpd的url。
4.mpeg dash提供了用于通过ip网络流式传输多媒体内容的标准。虽然该标准解决了媒体内容的线性回放,但是该标准未能解决非线性操作的情形,例如,与彼此独立的不同时间线相关联的媒体段的情形。可以使用mpd链接和前置式广告插入来克服以上提及的缺陷。然而,当dash播放器使用w3c媒体源扩展时,即使mpd链接和前置式广告插入也会失败,因为用一个单个mse源缓冲器解决这样的非线性回放是非常有挑战性的。此外,当期望在使用mpd链接或前置式元素之前播放广告时,不能对用于回放受保护实况内容的w3c加密媒体扩展使用mpd链接和前置式广告插入。
5.因此,需要用于组合不同于主媒体内容的辅助内容或独立内容的方法。具体地,需要将辅助内容与主媒体内容组合作为前置式回放或中置式(mid-roll)回放的方法和装置。此外,还需要用于使用mpd链接处理w3c加密媒体扩展以回放受保护的实况内容的方法。
技术实现要素:
6.本公开内容解决了一个或更多个技术问题。本公开内容包括用于实现新概念——dash标准的辅助mpd和辅助呈现的方法、过程、装置和非暂态计算机可读介质,其可以允许从主媒体呈现描述辅助或独立的媒体呈现。此外,本公开内容的实施方式还提供对在主呈现期间包括前置式和中置式内容的支持。
7.本公开内容的实施方式可以提供一种用于在主通过http的动态自适应流式传输
(dynamic adaptive streaming over http,dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的方法。该方法可以由至少一个处理器执行,并且可以包括:接收包括一个或更多个主dash媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(media presentation description,mpd),至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(uniform resource locator,url),其中,一个或更多个辅助mpd中的辅助mpd包括独立于一个或更多个主dash媒体段的一个或更多个辅助媒体段;使用至少一个辅助描述符检索由一个或更多个主mpd中的url引用的一个或更多个辅助mpd,一个或更多个辅助mpd的辅助mpd包括一个或更多个辅助媒体段和辅助媒体呈现持续时间;将一个或更多个辅助媒体段和一个或更多个主dash媒体段附加到媒体源扩展(media source extension,mse)源缓冲器;以及基于与一个或更多个辅助媒体段和一个或更多个主dash媒体段相关联的呈现时间偏移,从mse源缓冲器调度一个或更多个辅助媒体段和一个或更多个主dash媒体段。
8.本公开内容的实施方式可以提供一种用于在主通过http的动态自适应流式传输(dynamic adaptive streaming over http,dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的装置。该装置可以包括:至少一个存储器,其被配置成存储计算机程序代码;至少一个处理器,其被配置成访问计算机程序代码并且按照计算机程序代码所指示的进行操作。该程序代码可以包括:接收代码,其被配置成使至少一个处理器接收包括一个或更多个主dash媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(media presentation description,mpd),至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(uniform resource locator,url),其中,一个或更多个辅助mpd中的辅助mpd包括独立于一个或更多个主dash媒体段的一个或更多个辅助媒体段;检索代码,其被配置成使至少一个处理器使用至少一个辅助描述符检索由一个或更多个主mpd中的url引用的一个或更多个辅助mpd,一个或更多个辅助mpd中的辅助mpd可以包括一个或更多个辅助媒体段和辅助媒体呈现持续时间;附加代码,其被配置成使至少一个处理器将一个或更多个辅助媒体段和一个或更多个主dash媒体段附加到媒体源扩展(media source extension,mse)源缓冲器;以及调度代码,其被配置成使至少一个处理器基于与一个或更多个辅助媒体段和一个或更多个主dash媒体段相关联的呈现时间偏移,从mse源缓冲器调度一个或更多个辅助媒体段和一个或更多个主dash媒体段。
9.本公开内容的实施方式可以提供一种非暂态计算机可读介质,该非暂态计算机可读介质存储指令。该指令可以包括一个或更多个指令,一个或更多个指令在由用于在主通过http的动态自适应流式传输(dynamic adaptive streaming over http,dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的设备的一个或更多个处理器执行时,使一个或更多个处理器执行以下操作:接收包括一个或更多个主媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(media presentation description,mpd),至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(uniform resource locator,url),其中,一个或更多个辅助mpd中的辅助mpd可以包括独立于一个或更多个主dash媒体段的一个或更多个辅助媒体段;使用至少一个辅助描述符检索由一个或更多个主mpd中的url引用的一个或更多个辅助mpd,一个或更多个辅助mpd的辅助mpd可以包括一个或更多个辅助媒体段和辅助媒体呈现持续时间;将一个或更多个辅助媒体段和一
个或更多个主dash媒体段附加到媒体源扩展(media source extension,mse)源缓冲器;以及基于与一个或更多个辅助媒体段和一个或更多个主dash媒体段相关联的呈现时间偏移,从mse源缓冲器调度一个或更多个辅助媒体段和一个或更多个主dash媒体段。
附图说明
10.所公开的主题的其他特征、性质和各种优点将根据以下详细描述和附图更加明显,在附图中:
11.图1是根据实施方式的通信系统的简化图示;
12.图2是根据实施方式的部件在流式传输环境中的放置的示例图示;
13.图3是根据实施方式的dash处理模型的简化框图。
14.图4a是根据实施方式的辅助媒体呈现描述符(media presentationdescriptor,mpd)的媒体源扩展(media source extension,mse)源缓冲器实现方式的简化图示;
15.图4b是根据实施方式的用于播放前置式和中置式辅助媒体内容的辅助mpd元素的示例性脚本;
16.图5是根据实施方式的基于辅助mpd的堆叠呈现的示例性图示;
17.图6是根据实施方式的用于在主媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的示例性流程图图示;
18.图7是根据实施方式的计算机系统的简化图。
具体实施方式
19.可以单独使用或以任何顺序组合使用下面讨论的所提出的特征。此外,可以通过处理电路系统(例如,一个或更多个处理器或者一个或更多个集成电路)来实现实施方式。在一个示例中,一个或更多个处理器执行被存储在非暂态计算机可读介质中的程序。
20.图1示出了根据本公开内容的实施方式的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。为了数据的单向传输,第一终端103可以在本地位置处对视频数据进行编码,以经由网络105传输至另一终端102。第二终端102可以从网络105接收另一终端的编码视频数据,对编码数据进行解码并且显示恢复的视频数据。单向数据传输可能在媒体服务应用等中是常见的。
21.图1示出了第二对终端101和104,第二对终端101和104被提供以支持可能例如在视频会议期间发生的编码视频的双向传输。对于数据的双向传输,每个终端101和104可以对在本地位置处捕获的视频数据进行编码,以经由网络105传输至另一终端。每个终端101和104还可以接收由另一终端发送的编码视频数据,可以对编码数据进行解码,并且可以在本地显示设备处显示恢复的视频数据。
22.在图1中,终端101、102、103和104可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络105表示在终端101、102、103和104之间传送编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。网络105可以在电路交换和/或分组交换通道中交换数据。代表性的网络包括电信网络、局域网、广域网和/或因特网。出于本讨论的目的,除非在下文中有所说明,否则网络105的架构和拓扑对于本公开
内容的操作而言可以是无关紧要的。
23.图2作为示例示出了视频编码器和解码器在流式传输环境中的放置。实施方式可以适用于其他支持视频的应用,包括例如视频会议、数字电视、在包括cd、dvd、记忆棒等的数字介质上存储压缩视频等。
24.流式传输系统可以包括捕获子系统203,捕获子系统203可以包括创建例如未压缩的视频样本流213的视频源201(例如数字摄像装置)。样本流213可以被强调为在与经编码的视频比特流进行比较时高的数据量,并且可以由耦接至视频源201的编码器202进行处理。编码器202可以包括硬件、软件或其组合,以实现或实施如下面更详细地描述的实施方式的各方面。经编码的视频比特流204可以被强调为在与样本流进行比较时较低的数据量,该经编码的视频比特流204可以存储在流式传输服务器205上以供将来使用。一个或更多个流式传输客户端212和207可以访问流式传输服务器205以检索可以是经编码的视频比特流204的副本的经编码的视频比特流208和206。客户端212可以包括视频解码器211,视频解码器211对经编码的视频比特流208的传入副本进行解码,并且创建可以在显示器209或另一呈现设备上呈现的传出视频样本流210。在一些流式传输系统中,可以根据某些视频编码/压缩标准来对经编码的视频比特流204、206和208进行编码。这些标准的示例在上面已经提到并且在本文中进一步描述。
25.图3示出了例如用于处理dash和cmaf事件的示例客户端架构的示例dash处理模型300。在dash处理模型300中,客户端对媒体段(例如,广告媒体段和实况媒体段)的请求可以基于清单303中的描述的地址。清单303还描述了元数据轨道,客户端可以从元数据轨道访问元数据轨道的段,解析元数据轨道的段并且将它们发送至应用301。
26.清单303包括mpd事件或事件,并且带内事件和“moof”解析器306可以解析mpd事件段或事件段,并且将事件段附加到事件和元数据缓冲器330。带内事件和“moof”解析器306还可以获取媒体段并且将媒体段附加到媒体缓冲器340。事件和元数据缓冲器330可以将事件和元数据信息发送至事件和元数据同步器和调度器335。事件和元数据同步器和调度器335可以将特定事件调度到dash播放器控制、选择和启发式逻辑302,并且将应用相关事件和元数据轨道调度到应用301。
27.根据一些实施方式,mse可以包括流水线,该流水线包括文件格式解析器350、媒体缓冲器340和媒体解码器345。mse 320是媒体段的逻辑缓冲器,其中可以基于媒体段的呈现时间对媒体段进行跟随(tracking)和排序。媒体段可以包括但不限于与广告mpd相关联的广告媒体段和与实况mpd相关联的实况媒体段。可以基于媒体段的时间戳偏移将每个媒体段添加或附加到媒体缓冲器340,并且可以使用时间戳偏移来对媒体缓冲器340中的媒体段进行排序。
28.由于本技术的实施方式可以涉及使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(media source extension,mse)缓冲器,并且非线性媒体源可以是广告mpd和实况mpd,因此可以使用文件格式解析器350来处理实况mpd中包括的实况媒体段所使用的不同媒体和/或编解码器。在一些实施方式中,文件格式解析器可以基于实况媒体段的配置文件、级别和/或编解码器来发出改变类型。
29.只要媒体段存在于媒体缓冲器340中,则事件和元数据缓冲器330保持对应的事件段和元数据。示例dash处理模型300可以包括用于保持跟随与带内事件和mpd事件相关联的
元数据的定时元数据轨道解析器325。根据图3,mse 320包括仅文件格式解析器350、媒体缓冲器340和媒体解码器345。事件和元数据缓冲器330以及事件和元数据同步器和调度器335对于mse 320不是本地的,从而禁止mse 320本地处理事件并且将事件发送至应用。
30.辅助呈现
31.本公开内容的实施方式将辅助媒体呈现定义为独立于mpd的主媒体呈现的媒体呈现。作为示例,独立于主媒体段的广告媒体段或实况媒体段可以是辅助呈现。对任何辅助媒体呈现或辅助媒体段的更新不影响主媒体段。类似地,对主媒体段的更新不影响辅助媒体段。因此,辅助媒体段(也被称为辅助媒体呈现或辅助呈现)可以完全独立于主媒体段(在本公开内容中也被称为主媒体呈现和媒体呈现)。
32.辅助mpd
33.mpd是可以包括分层组织的媒体呈现的媒体呈现描述。mpd可以包括一个或更多个时段序列,其中每个时段可以包括一个或更多个适配集。mpd中的每个适配集可以包括一个或更多个表示,每个表示包括一个或更多个媒体段。这些一个或更多个媒体段携载被编码、解码和/或播放的实际媒体数据和相关联的元数据。辅助mpd可以包括一个或更多个辅助媒体段,并且根据一方面,可以使辅助mpd中包括的每个辅助媒体段在主mpd可用性开始时间处可用。根据另一方面或相同方面,辅助mpd必须包括@mediapresentationduration。媒体呈现持续时间可以包括一个或更多个辅助媒体段的呈现持续时间。在一些实施方式中,媒体呈现持续时间可以包括mpd中包括的所有辅助媒体段的总媒体呈现时间。
34.如上所述,本公开内容的实施方式定义了表示独立于主媒体内容的辅助内容的辅助mpd。根据一方面,主mpd可以包括使用辅助描述符对至少一个辅助mpd或者在一些实施方式中对每个辅助mpd的引用。辅助描述符可以具有特定语法。作为示例,辅助描述符可以包括被称为essentialproperty的元素,或者可以包括被称为可以描述或标识辅助mpd的supplementalproperty的元素。辅助描述符还可以包括辅助描述符的方案的特定通用资源名称。作为示例,辅助描述符的特定urn可以包括诸如“urn:mpeg:dash:auxiliary:2021”的@scheme。辅助描述符还可以包括@value,@value可以包括辅助mpd url、开始时间值和返回时间值。
35.根据一方面,开始时间值(在本公开内容中也被称为开始值、开始时间属性、以及仅开始)可以表示主媒体呈现中停止主媒体呈现并且播放辅助媒体呈现的时刻。在一些实施方式中,如果对于辅助媒体段start=0,则辅助媒体呈现可以是前置式辅助媒体段。当辅助媒体呈现是前置式辅助媒体段时,可以在播放主媒体段之前首次播放辅助媒体段。
36.根据一方面,返回时间(也可以被称为“returntype”)值可以是可以表示相对于主媒体时间线中停止主媒体呈现以播放辅助mpd或者一个或更多个辅助媒体段的时刻的偏移的值。在一些实施方式中,returntime值的默认值是与辅助mpd相关联的媒体呈现持续时间。returntime值为零将导致在停止主媒体呈现以播放辅助媒体段的时刻加入该主媒体呈现。
37.图4b是根据实施方式的指示允许用于播放前置式和中置式辅助媒体内容的辅助mpd元素的xml代码的示例性脚本450。
38.如图4b所示,由具有@id=“e0”的essentialproperty描述符描述的辅助mpd可以是前置式媒体段,而由具有@id=”e1”和@id=”e2”的essentialproperty描述符描述的辅
助mpd可以是中置式媒体段。在一些实施方式中,可以在辅助mpd中的一个或更多个时段之前公开辅助mpd。
39.具有mse源缓冲器的辅助mpd的实现方式。
40.w3c mse是顺序缓冲器。只要适当地设置mse源缓冲器timestamp偏移(timestamp offset,tso),使得预期要顺序播放的内容被附加在正确的位置,则mse源缓冲器正确地播放该内容。根据实施方式,在主呈现切换到辅助呈现或辅助呈现切换回主呈现的每个时刻处,可以调整mse时间戳偏移(time stamp offset,tso)以将主媒体段和辅助媒体段放置在mse缓冲器的正确位置中。
41.图4a是使用图4b中的xml代码描述的mse源缓冲器的图400。
42.如图400所示,辅助mpd aux e0可以是前置式mpd,并且aux e1和aux e2可以是中置式mpd。实况内容p0可以是包括一个或更多个主媒体段的主mpd。
43.由于aux e0是前置式mpd,因此aux e0中的一个或更多个辅助媒体段可以被检索并放置在任何主媒体段之前在mse源缓冲器的开始处。当获取并且附加aux e0中的前置式辅助媒体段时,mse tso为零。t0=e0@pto
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(1)
44.在一些实施方式中,在获取和附加每个前置式辅助媒体段之后,可以基于实况媒体p0的开始时间、实况媒体p0的呈现时间和时间移位缓冲器深度来更新mse tso。作为示例,在图4a中,t1可以基于时间移位缓冲器的深度、前置式辅助媒体段的持续时间以及与实况媒体相关联的呈现时间偏移。t1=max(timeshiftbuffeerdepth,实况边缘
–
p0start)+e0@duration+p0@pto-e0@pto式(2)
45.对于中置式辅助mpd aux e1和aux e2:t2 = t1 + e1@start + e1@pto
ꢀ‑ꢀ
p0@pto
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(3)t3 = t2 + e1@returntime
ꢀ‑ꢀ
p0@pto
ꢀ–ꢀ
e1@pto
ꢀꢀꢀꢀꢀ
式(4)t4 = t1 + e2@start + e2@pto
ꢀ‑ꢀ
p0@pto
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(5)t5 = t4 + p0@pto
ꢀ‑ꢀ
e2@pto
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
式(6)
46.其中,e0@pto、e1@pto和e2@pto是以该顺序链接在基本描述符中的辅助mpd中的第一时段的呈现时间偏移,并且ei@starttime和ei@returntime是具有id=ei的每个对应描述符中的开始时间值和returntime值。
47.根据实施方式,可以基于以下来更新mse tso:
48.前置式辅助媒体段可以从mse附加窗口start(0)开始。由于首先获取和附加前置式辅助媒体段,因此将mse tso设置为等于辅助mpd的pto(例如,参见式(1))。
49.在一些实施方式中,在附加前置式辅助媒体段的最后段之后,可以计算与实况媒体或主媒体段相关联的实况边缘。使用dvr窗口的大小、实况边缘、前置式辅助mpd或媒体段的时段开始和持续时间、以及实况内容的pto,可以调整mse tso,使得在附加到mse缓冲器的第一媒体段与先前添加的前置式辅助mpd的最后段之间存在阈值时间范围。作为示例,参见式(2)。在一些实施方式中,阈值可以小于、等于或大于dvr窗口。dvr窗口可以包括客户端在主媒体流中的较早点处回擦(scrub back)或开始回放的能力。
50.根据实施方式,对于每个附加的辅助mpd或媒体段,计算其相对于实况边缘的偏
移。mse tso被增加了该偏移,并且基于实况时段pto和辅助mpd/媒体段的pto而被调整。作为另一实施方式或相同的实施方式,在每个辅助mpd/媒体段的末尾,基于辅助mpd/媒体段的returntime、实况时段pto、以及辅助mpd/媒体段的pto来调整mse tso。
51.在一些实施方式中,在前置式辅助mpd/媒体段的回放后,客户端可以决定从mse移除前置式辅助mpd/媒体段时间范围,因此前置式可以仅播放一次。在一些实施方式中,如果访问了dvr,则前置式可以不播放。客户端还可以在加入实况会话之后根据timeshiftbufferdepth的值从mse附加窗口缓冲器移除时间范围。
52.图5是示出基于辅助mpd的堆叠呈现的示例性堆叠体呈现500。
53.如图5所示,组合的呈现可以以实况内容(主媒体)开始,并且还可以包括一个或更多个独立和辅助媒体段。基于在主mpd中引用的aux mpd1,可以停止实况内容(主媒体段)的呈现,而代替地呈现aux 1中的辅助媒体段。
54.在一些实施方式中,基于在aux mpd1中引用的aux mpd2,停止aux1中的辅助媒体段的呈现,并且代替地,可以播放和/或调度aux 2中的辅助媒体段。在aux 1和aux 1中的辅助媒体段的末尾处以及aux 2和aux 2中的辅助媒体段的末尾处,可以将呈现切换回实况内容。因此,当主媒体流独立于辅助媒体流时,辅助媒体段(或呈现)可以由mse源缓冲器支持作为前置式辅助媒体或中置式辅助媒体。
55.因此,本公开内容的实施方式可以提供用于通过在媒体呈现中插入前置式内容和中置式内容来从mpd中定义的主媒体呈现用信号通知辅助媒体呈现的方法和装置。每个辅助呈现可以由mpd中的基本或补充描述符表示,该基本或补充描述符可以包括到辅助mpd的url。可以存在包括主媒体呈现的停止和加入返回时间的附加约束,停止和加入返回时间可以由相同描述符中的开始时间值和returntime值来定义。在一些实施方式中,辅助mpd可以用于在主内容的回放或辅助内容的中置式插入之前回放前置式辅助内容。约束还可以定义主媒体呈现是否可能需要在中置式之后被时间移位,或者中置式是否在辅助mpd的持续时间期间代替主内容。在一些实施方式中,可以独立于辅助mpd来更新mpd时段,并且mse和eme可以具有用于主内容和辅助内容的回放的单个mse缓冲器,因为可以考虑主内容特性来设置缓冲器。
56.本公开内容的实施方式还可以提供通过基于根据本公开内容的实施方式调整的mse tso来定义附加前置式辅助内容、中置式辅助内容和主内容的各种段的操作,使用mse源缓冲器来获取和回放辅助内容以及主内容的方法和装置。
57.本公开内容的实施方式还可以涉及根据本文中的任何实施方式通过辅助mpd的堆叠操作来组合呈现,其中,每个主mpd可以具有对辅助mpd的引用,并且辅助mpd可以引用另一辅助mpd,从而创建所引用的mpd的堆叠,这导致堆叠呈现。
58.图6是用于在主媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的过程600的示例性流程图。
59.在操作610处,可以接收包括一个或更多个主媒体段以及引用一个或更多个辅助媒体呈现描述(media presentation description,mpd)的至少一个辅助描述符的一个或更多个主mpd。作为示例,mse 320可以接收包括一个或更多个主媒体段以及引用一个或更多个辅助媒体呈现描述(media presentation description,mpd)的至少一个辅助描述符的一个或更多个主mpd。在一些实施方式中,一个或更多个辅助mpd中的辅助mpd可以包括独
立于一个或更多个主媒体段的一个或更多个辅助媒体段。辅助描述符可以包括开始时间属性,该开始时间属性指示可以停止一个或更多个主媒体段中的主媒体段以调度一个或更多个辅助媒体段中的辅助媒体段的第一时间偏移。
60.辅助描述符可以包括返回时间属性,该返回时间属性指示可以在调度一个或更多个辅助媒体段中的辅助媒体段之后重新开始一个或更多个主媒体段中的主媒体段的第二时间偏移。在一些实施方式中,默认返回时间属性值可以是与辅助媒体段相关联的辅助媒体呈现持续时间。在一些实施方式中,辅助描述符可以包括mpd级别的基本属性描述符或补充属性描述符、与至少一个辅助描述符相关联的方案的统一资源名称(uniform resource name,urn)、或与一个或更多个辅助mpd中的辅助mpd相关联的统一资源定位符。
61.在操作615处,可以使用至少一个辅助描述符来检索在一个或更多个主mpd中引用的一个或更多个辅助mpd。作为示例,mse 320可以使用至少一个辅助描述符来检索在一个或更多个主mpd中引用的一个或更多个辅助mpd。一个或更多个辅助mpd的辅助mpd可以包括一个或更多个辅助媒体段和辅助媒体呈现持续时间。
62.在操作620处,可以将一个或更多个辅助媒体段和一个或更多个主媒体段附加到诸如mse 320的媒体源扩展(media source extension,mse)源缓冲器。
63.在一些实施方式中,基于一个或更多个辅助媒体段中的辅助媒体段具有等于零的开始时间属性,辅助媒体段可以是前置式辅助媒体段,并且前置式辅助媒体段可以在一个或更多个主媒体段之前被调度。
64.在操作625处,可以基于与一个或更多个辅助媒体段和一个或更多个主媒体段相关联的呈现时间偏移来调度来自mse源缓冲器的一个或更多个辅助媒体段和一个或更多个主媒体段。作为示例,mse 320可以基于来自定时元数据轨道解析器325、事件和元数据缓冲器330以及事件和元数据同步器和调度器335的定时信息来调度一个或更多个辅助媒体段和一个或更多个主媒体段。
65.在操作630处,可以基于一个或更多个主媒体段中的主媒体段停止或者一个或更多个主媒体段中的主媒体段重新开始来更新mse源缓冲器时间戳偏移。作为示例,可以更新mse 320。
66.在一些实施方式中,mse源缓冲器时间戳偏移可以等于与辅助媒体段相关联的呈现时间偏移。在一些实施方式中,可以基于时间移位缓冲器的深度、与辅助媒体段相关联的开始时间属性、所有前置式媒体段的总持续时间以及与一个或更多个主媒体段的第一主媒体段相关联的呈现时间偏移来更新mse源缓冲器时间戳偏移。在相同或不同的实施方式中,可以更新mse源缓冲器时间戳偏移以包括最后的前置式辅助媒体段与第一主媒体段之间的阈值时间范围。在一些实施方式中,当调度mse源缓冲器中的一个或更多个辅助媒体段中的一个辅助媒体段时,可以基于与一个或更多个辅助媒体段中的该一个辅助媒体段相关联的返回时间属性和呈现时间偏移来更新mse源缓冲器时间戳偏移。
67.虽然图6示出了处理600的示例块,但是在实施方式中,与图6中所描绘的块相比较,处理600可以包括附加的块、更少的块、不同的块或不同地布置的块。在实施方式中,处理600的任何块可以根据需要以任何数量或顺序组合或布置。在实施方式中,处理600的块中的两个或更多个块可以并行地执行。
68.上面所述的技术可以实现为使用计算机可读指令且物理地存储在一个或更多个
计算机可读介质中的计算机软件,或者可以通过专门配置的一个或更多个硬件处理器来实现。例如,图7示出了适用于实现各种实施方式的计算机系统700。
69.可以使用任何合适的机器代码或计算机语言对计算机软件进行编码,所述机器代码或计算机语言可以经受汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等来执行。
70.指令可以在各种类型的计算机或其部件上执行,所述计算机或其部件包括例如个人计算机、平板计算机、服务器、智能电话、游戏设备、物联网设备等。
71.图7所示的用于计算机系统700的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算机系统700的示例性实施方式中所示的任何一个部件或部件的组合相关的任何依赖性或要求。
72.计算机系统700可以包括特定人机接口输入设备。这样的人机接口输入设备可以对由一个或更多个人类用户通过例如触觉输入(例如:键击、滑动、数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:姿势)、嗅觉输入实现的输入作出响应。人机接口设备还可以用于捕获不一定与人的有意识的输入直接有关的某些媒体,例如,音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
73.输入人机接口设备可以包括以下中的一个或更多个(在附图中每者仅描绘一个):键盘701、鼠标702、触控板703、触摸屏710、操纵杆705、麦克风706、扫描仪708和摄像装置707。
74.计算机系统700还可以包括特定人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏710或操纵杆705的触觉反馈,但是也可以存在不用作输入设备的触觉反馈设备)、音频输出设备(例如:扬声器709、头戴式耳机)、视觉输出设备(例如,包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕的屏幕710,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够通过诸如立体图像输出的手段来输出二维视觉输出或三维以上的输出;虚拟现实眼镜、全息显示器和烟罐)以及打印机。
75.计算机系统700还可以包括人类可访问存储设备及其相关联的介质,例如,包括具有cd/dvd 711等介质的cd/dvd rom/rw720的光学介质、拇指驱动器722、可移除硬盘驱动器或固态驱动器723、诸如磁带和软盘的传统磁性介质、基于专用rom/asic/pld的设备例如安全加密狗等。
76.本领域技术人员还应当理解,结合当前公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其他暂态信号。
77.计算机系统700还可以包括到一个或更多个通信网络798的接口799。网络798可以例如为无线的、有线的、光学的。网络798还可以是本地的、广域的、城域的、车辆和工业的、实时的、延迟容忍的等。网络798的示例包括:诸如以太网的局域网;无线lan;包括gsm、3g、4g、5g、lte等的蜂窝网络;包括有线电视、卫星电视和地面广播电视的电视有线或无线广域
数字网络;包括canbus的车辆和工业网络等。某些网络798通常需要附接至某些通用数据端口或外围总线(750和751)(诸如,例如计算机系统700的usb端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,到pc计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)而集成到计算机系统700的核中。使用这些网络798中的任何网络,计算机系统700可以与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如到某些canbus设备的canbus)、或双向的,例如使用局域或广域数字网络到其他计算机系统。某些协议和协议栈可以用在如上所述的这些网络和网络接口中的每一个上。
78.以上提及的人机接口设备、人可访问的存储设备以及网络接口可以附接至计算机系统700的核740。
79.核740可以包括一个或更多个中央处理单元(central processing unit,cpu)741、图形处理单元(graphics processing unit,gpu)742、图形适配器717、呈现场可编程门区域(field programmable gate area,fpga)743形式的专用可编程处理单元、某些任务的硬件加速器744等。这些设备连同只读存储器(read-only memory,rom)745、随机存取存储器746、诸如内部非用户可访问硬盘驱动器、ssd等的内部大容量存储装置747可以通过系统总线748连接。在一些计算机系统中,系统总线748可以以一个或更多个物理插头的形式访问,以允许通过附加cpu、gpu等进行扩展。外围设备可以直接地或通过外围总线751附接至核的系统总线748。外围总线的架构包括pci、usb等。
80.cpu 741、gpu 742、fpga 743和加速器744可以执行特定指令,这些指令的组合可以构成以上提及的计算机代码。该计算机代码可以存储在rom 745或ram 746中。瞬态数据也可以存储在ram 746中,而永久数据可以存储在例如内部大容量存储装置747中。对存储器设备中的任何存储器设备的快速存储和检索可以通过使用高速缓存存储器来实现,这些高速缓存存储器可以与一个或更多个cpu 741、gpu 742、大容量存储装置747、rom 745、ram 746等紧密相关联。
81.计算机可读介质在其上可以具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以具有计算机软件领域的技术人员公知且可用的类型。
82.作为示例而通过非限制的方式,具有示出的架构的计算机系统700,并且特别是核740可以由于处理器(包括cpu、gpu、fpga、加速器等)执行实施在一个或更多个有形计算机可读介质中的软件而提供功能。这样的计算机可读介质可以是与以下相关联的介质:如上面所介绍的用户可访问的大容量存储装置、以及核740的具有非暂态性质的某些存储装置例如核内部大容量存储装置747或rom 745。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并且由核740执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或者芯片。软件可以使核740,特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定过程或特定过程的特定部分,包括定义存储在ram 746中的数据结构,以及根据由软件定义的过程修改这样的数据结构。另外地或作为替选方案,计算机系统可以由于逻辑硬连线或以其他方式体现在电路(例如:加速器744)中而提供功能,该电路可以代替软件或者与软件一起操作以执行本文中描述的特定过程或特定过程的特定部分。在适当的情况下,对软件的提及可以包括逻辑,并且反之,对逻辑的提及可以包括软件。在适当
的情况下,对计算机可读介质的提及可以包括存储用于执行的软件的电路(例如,集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路或上述两者。本公开内容包括硬件和软件的任何合适的组合。
83.虽然本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的变更、置换和各种替代等同方案。因此将认识到,本领域技术人员将能够设想虽然在本文中没有明确示出或描述但是体现了本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
技术特征:
1.一种用于在主通过http的动态自适应流式传输(dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的方法,所述方法由至少一个处理器执行,所述方法包括:接收包括一个或更多个主dash媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(mpd),所述至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(url),其中,所述一个或更多个辅助mpd中的辅助mpd包括独立于所述一个或更多个主dash媒体段的一个或更多个辅助媒体段;使用所述至少一个辅助描述符检索由所述一个或更多个主mpd中的所述url引用的所述一个或更多个辅助mpd,所述一个或更多个辅助mpd的辅助mpd包括所述一个或更多个辅助媒体段和辅助媒体呈现持续时间;将所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段附加到媒体源扩展(mse)源缓冲器;以及基于与所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段相关联的呈现时间偏移,从所述mse源缓冲器调度所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段。2.根据权利要求1所述的方法,其中,所述至少一个辅助描述符包括:开始时间属性,其指示停止所述一个或更多个主dash媒体段中的主dash媒体段以调度所述一个或更多个辅助媒体段中的辅助媒体段的第一时间偏移;以及返回时间属性,其指示在调度所述一个或更多个辅助媒体段中的所述辅助媒体段之后重新开始所述一个或更多个主dash媒体段中的所述主dash媒体段的第二时间偏移。3.根据权利要求2所述的方法,其中,所述方法还包括:基于停止所述一个或更多个主dash媒体段中的所述主dash媒体段或者重新开始所述一个或更多个主dash媒体段中的所述主dash媒体段来更新mse源缓冲器时间戳偏移。4.根据权利要求2所述的方法,其中,基于所述一个或更多个辅助媒体段中的所述辅助媒体段具有等于零的所述开始时间属性,所述辅助媒体段是前置式辅助媒体段。5.根据权利要求4所述的方法,其中,基于所述辅助媒体段是所述前置式辅助媒体段,从所述mse源缓冲器调度所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段包括在所述一个或更多个主dash媒体段之前调度前置式辅助媒体段。6.根据权利要求5所述的方法,其中,基于所述辅助媒体段是所述前置式辅助媒体段,mse源缓冲器时间戳偏移等于与所述辅助媒体段相关联的呈现时间偏移。7.根据权利要求6所述的方法,其中,基于时间移位缓冲器的深度、与所述辅助媒体段相关联的所述开始时间属性、所有前置式媒体段的总持续时间、以及与所述一个或更多个主dash媒体段的第一主dash媒体段相关联的呈现时间偏移来更新所述mse源缓冲器时间戳偏移。其中,所述mse源缓冲器时间戳偏移被更新以包括最后的前置式辅助媒体段与所述第一主dash媒体段之间的阈值时间范围。8.根据权利要求7所述的方法,其中,当所述mse源缓冲器中的所述一个或更多个辅助媒体段中的一个辅助媒体段被调度时,基于与所述一个或更多个辅助媒体段中的所述一个辅助媒体段相关联的所述返回时间属性和呈现时间偏移来更新所述mse源缓冲器时间戳偏
移。9.根据权利要求2所述的方法,其中,默认返回时间属性值是与所述辅助媒体段相关联的所述辅助媒体呈现持续时间。10.根据权利要求1所述的方法,其中,所述至少一个辅助描述符还包括:mpd级别的基本属性描述符或补充属性描述符;与所述至少一个辅助描述符相关联的方案的统一资源名称(urn);以及与所述一个或更多个辅助mpd中的所述辅助mpd相关联的统一资源定位符。11.一种用于在主通过http的动态自适应流式传输(dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的装置,所述装置包括:至少一个存储器,其被配置成存储计算机程序代码;至少一个处理器,其被配置成访问所述计算机程序代码并且按照所述计算机程序代码所指示的进行操作,所述计算机程序代码包括:接收代码,其被配置成使所述至少一个处理器接收包括一个或更多个主dash媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(mpd),所述至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(url),其中,所述一个或更多个辅助mpd中的辅助mpd包括独立于所述一个或更多个主dash媒体段的一个或更多个辅助媒体段;检索代码,其被配置成使所述至少一个处理器使用所述至少一个辅助描述符检索由所述一个或更多个主mpd中的所述url引用的所述一个或更多个辅助mpd,所述一个或更多个辅助mpd的辅助mpd包括所述一个或更多个辅助媒体段和辅助媒体呈现持续时间;附加代码,其被配置成使所述至少一个处理器将所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段附加到媒体源扩展(mse)源缓冲器;以及调度代码,其被配置成使所述至少一个处理器基于与所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段相关联的呈现时间偏移,从所述mse源缓冲器调度所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段。12.根据权利要求11所述的装置,其中,所述至少一个辅助描述符包括:开始时间属性,其指示停止所述一个或更多个主dash媒体段中的主dash媒体段以调度所述一个或更多个辅助媒体段中的辅助媒体段的第一时间偏移;以及返回时间属性,其指示在调度所述一个或更多个辅助媒体段中的所述辅助媒体段之后重新开始所述一个或更多个主dash媒体段中的所述主dash媒体段的第二时间偏移。13.根据权利要求12所述的装置,其中,所述程序代码还包括:第一更新代码,其被配置成使所述至少一个处理器基于停止所述一个或更多个主dash媒体段中的所述主dash媒体段或者重新开始所述一个或更多个主dash媒体段中的所述主dash媒体段来更新mse源缓冲器时间戳偏移。14.根据权利要求12所述的装置,其中,基于所述一个或更多个辅助媒体段中的所述辅助媒体段具有等于零的所述开始时间属性,所述辅助媒体段是前置式辅助媒体段。15.根据权利要求14所述的装置,其中,基于所述辅助媒体段是所述前置式辅助媒体段,从所述mse源缓冲器调度所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段包括在所述一个或更多个主dash媒体段之前调度前置式辅助媒体段。16.根据权利要求15所述的装置,其中,基于所述辅助媒体段是所述前置式辅助媒体
段,mse源缓冲器时间戳偏移等于与所述辅助媒体段相关联的呈现时间偏移。17.根据权利要求16所述的装置,其中,基于时间移位缓冲器的深度、与所述辅助媒体段相关联的所述开始时间属性、所有前置式媒体段的总持续时间、以及与所述一个或更多个主dash媒体段的第一主dash媒体段相关联的呈现时间偏移来更新所述mse源缓冲器时间戳偏移,其中,所述mse源缓冲器时间戳偏移被更新以包括最后的前置式辅助媒体段与所述第一主dash媒体段之间的阈值时间范围。18.根据权利要求17所述的装置,其中,当所述mse源缓冲器中的所述一个或更多个辅助媒体段中的一个辅助媒体段被调度时,基于与所述一个或更多个辅助媒体段中的所述一个辅助媒体段相关联的所述返回时间属性和呈现时间偏移来更新所述mse源缓冲器时间戳偏移。19.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储指令,所述指令包括一个或更多个指令,所述一个或更多个指令在由用于在主通过http的动态自适应流式传输(dash)媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的设备的一个或更多个处理器执行时,使所述一个或更多个处理器执行以下操作:接收包括一个或更多个主dash媒体段和至少一个辅助描述符的一个或更多个主媒体呈现描述(mpd),所述至少一个辅助描述符包括引用一个或更多个辅助mpd的统一资源定位符(url),其中,所述一个或更多个辅助mpd中的辅助mpd包括独立于所述一个或更多个主dash媒体段的一个或更多个辅助媒体段;使用所述至少一个辅助描述符检索由所述一个或更多个主mpd中的所述url引用的所述一个或更多个辅助mpd,所述一个或更多个辅助mpd的辅助mpd包括所述一个或更多个辅助媒体段和辅助媒体呈现持续时间;将所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段附加到媒体源扩展(mse)源缓冲器;以及基于与所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段相关联的呈现时间偏移,从所述mse源缓冲器调度所述一个或更多个辅助媒体段和所述一个或更多个主dash媒体段。20.根据权利要求19所述的非暂态计算机可读介质,其中,所述至少一个辅助描述符包括:开始时间属性,其指示停止所述一个或更多个主dash媒体段中的主dash媒体段以调度所述一个或更多个辅助媒体段中的辅助媒体段的第一时间偏移;以及返回时间属性,其指示在调度所述一个或更多个辅助媒体段中的所述辅助媒体段之后重新开始所述一个或更多个主dash媒体段中的所述主dash媒体段的第二时间偏移。
技术总结
可以提供一种用于在主媒体流中用信号通知包括前置式媒体内容和中置式媒体内容的辅助媒体的方法和装置,该方法包括接收包括一个或更多个主媒体段和引用一个或更多个辅助(MPD)的至少一个辅助描述符的主媒体呈现描述MPD。辅助MPD可以包括独立于一个或更多个主媒体段的一个或更多个辅助媒体段。该方法可以包括使用至少一个辅助描述符来检索在一个或更多个主MPD中引用的一个或更多个辅助MPD,一个或更多个辅助MPD的辅助MPD包括一个或更多个辅助媒体段和辅助媒体呈现持续时间。可以将一个或更多个辅助媒体段和一个或更多个主媒体段附加到媒体源扩展(MSE)源缓冲器并且进行调度。度。度。
技术研发人员:伊拉吉
受保护的技术使用者:腾讯美国有限责任公司
技术研发日:2022.09.23
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:机器人护丝帽拧接机的制作方法 下一篇:一种箱体外壳加工用数控冲床的制作方法