使用W3C媒体源和加密扩展的实况CMAF/DASH播放器中的MPD链接的制作方法
未命名
08-27
阅读:109
评论:0

使用w3c媒体源和加密扩展的实况cmaf/dash播放器中的mpd链接
相关申请的交叉引用
1.本技术要求于2021年9月20日提交的、申请号为63/246,233的美国临时申请、以及于2022年9月19日提交的、申请号为17/947,801的美国申请的优先权,其内容通过引用整体明确并入本技术中。
技术领域
2.本公开的实施例涉及流媒体内容,更具体地,涉及根据运动图像专家组(mpeg)基于超文本传输协议的动态自适应流传输(dash)的流媒体、广告和实况内容。
背景技术:
3.mpeg dash为基于ip网络的流媒体内容提供了的标准。在mpeg dash中,媒体呈现描述(mpd)和事件用于向客户端传递与媒体时间线相关的事件。iso/iec 23009-1dash标准允许多速率内容的流式传输。dash标准提供了单个线性时间线,其中时段在单个时间线上是彼此的延续。iso/iec 23009-1还提供了用于mpd链接的工具,即发信号通知下一个mpd的url,以在可用于前贴片(pre-roll)广告插入的mpd中播放。
4.mpeg dash为基于ip网络的流传输多媒体内容提供了标准。虽然该标准解决了媒体内容的线性回放问题,但是该标准未能解决非线性操作的情况,例如,与彼此独立的不同时间线相关联的媒体片段。可以使用mpd链接和前贴片广告插入来克服上述缺陷。然而,当dash播放器使用w3c媒体源扩展时,即使是mpd链接和前贴片广告插入也会失败,因为使用单个mse源缓冲器来解决这种非线性回放问题是非常具有挑战性的。此外,当期望在使用mpd链接或前贴片元件之前播放广告时,当w3c加密媒体扩展用于播放受保护的实况内容时,不能使用mpd链接和前贴片广告插入。
5.因此,需要一种使用mpd链接从两个或更多个非线性源构建线性媒体源扩展(mse)缓冲器时间线的方法。此外,还需要一种使用mpd链接来处理w3c加密媒体扩展以播放受保护的实况内容的方法。
技术实现要素:
6.本公开解决了一个或多个技术问题。本公开提供了一种使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)缓冲器的方法、过程、装置和非易失性计算机可读介质。此外,本公开提供了使用单个mse源缓冲器实现非线性回放的方法、过程、装置和非易失性系统。此外,本公开还使得能够使用单个加密媒体扩展(eme)接口来播放广告和加密实况内容。
7.本公开的实施例可以提供一种使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)缓冲器的方法。所述方法可以由至少一个处理器执行,并且可以包括:解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告
媒体片段包括至少一个统一资源定位符(url);基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;基于第一定时模型,将所述一个或多个广告媒体片段附加到第一mse源缓冲器;通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。
8.本公开的实施例可以提供一种使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)缓冲器的装置。所述装置可以包括:至少一个存储器,被配置为存储计算机程序代码;至少一个处理器,被配置为访问所述计算机程序代码,并按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:解析代码,被配置为使所述至少一个处理器解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告媒体片段包括至少一个统一资源定位符(url);第一获取代码,被配置为使所述至少一个处理器基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;第一附加代码,被配置为使所述至少一个处理器基于第一定时模型,将所述一个或多个广告媒体片段附加到第一mse源缓冲器;第二附加代码,被配置为使所述至少一个处理器通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及调度代码,被配置为使所述至少一个处理器基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。
9.本公开的实施例可以提供一种非易失性计算机可读介质,用于存储指令,所述指令可以包括一个或多个指令,当所述一个或多个指令由使用媒体呈现描述(mpd)链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)缓冲器的设备的一个或多个处理器执行时,使所述一个或多个处理器:解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告媒体片段包括至少一个统一资源定位符(url);基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;基于第一定时模型,将所述一个或多个广告媒体片段附加到第一mse源缓冲器;通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。
附图说明
10.根据以下详细描述和附图,所公开的主题的其他特征、性质和各种优点将进一步明确,其中:
11.图1是根据实施例的通信系统的简化示意图。
12.图2是根据实施例的组件在流式传输环境中的放置方式的示例性示意图。
13.图3是根据实施例的dash处理模型的简化框图。
14.图4是根据实施例的在广告mpd和实况mpd之间的媒体呈现描述(mpd)链接的简化示意图。
15.图5a-b是根据实施例的媒体源扩展(mse)缓冲器的简化示意图。
16.图6是根据实施例的使用mpd链接从两个或更多个非线性源构建线性mse源缓冲器的示例性流程图。
17.图7是根据实施例的计算机系统的简化示意图。
具体实施方式
18.下面讨论的所提出的特征可以单独使用,也可以按任何顺序组合使用。此外,实施例可以由处理电路(例如,一个或多个处理器或一个或多个集成电路)来实现。在一个示例中,一个或多个处理器执行存储在非易失性计算机可读介质中的程序。
19.图1示出了根据本公开实施例的通信系统100的简化框图。通信系统100可以包括通过网络105互联的至少两个终端装置102和103。对于单向数据传输,第一终端装置103可在本地位置对视频数据进行编码,以通过网络105传输到另一终端装置102。第二终端装置102可从网络105接收另一终端装置的已编码视频数据,对已编码视频数据进行解码并显示恢复的视频数据。单向数据传输在媒体服务等应用中是较常见的。
20.图1示出了支持已编码视频的双向传输的第二对终端装置101和104,所述双向传输可例如在视频会议期间发生。对于双向数据传输,每个终端装置101和104可对在本地位置采集的视频数据进行编码,以通过网络105传输到另一终端装置。每个终端装置101和104还可接收由另一终端装置传输的已编码视频数据,且可对所述已编码视频数据进行解码并在本地显示设备上显示恢复的视频数据。
21.在图1中,终端装置101、102、103和104可为服务器、个人计算机和智能手机,但本公开的原理不限于此。本公开的实施例适用于膝上型计算机、平板电脑、媒体播放器和/或专用视频会议设备。网络105表示在终端装置101、102、103和104之间传送已编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络105可在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或互联网。出于本讨论的目的,除非在下文中有所解释,否则网络105的架构和拓扑对于本公开的操作来说可能是无关紧要的。
22.作为示例,图2示出了视频编码器和解码器在流式传输环境中的放置方式。实施例可适用于其它支持视频的应用,包括例如视频会议、数字tv、在包括cd、dvd、存储棒等的数字介质上存储压缩视频等等。
23.流式传输系统可包括采集子系统203,所述采集子系统可包括诸如数码相机等视频源201,所述视频源创建例如未压缩的视频样本流213。较于已编码的视频比特流,样本流213可以被强调为高数据量,并且可以由耦接到视频源201的编码器202处理。编码器202可包括硬件、软件或软硬件组合以实现或实施如下文更详细地描述的实施例的各方面。相较于样本流213,已编码的视频比特流204可以被强调较低数据量,并且可以存储在流式传输服务器205上以供将来使用。一个或多个流式传输客户端212和207可访问流式传输服务器205以检索已编码的视频比特流208和206,其可以是已编码的视频比特流204的副本。客户端212可包括视频解码器211。视频解码器211对已编码的视频比特流的传入副本208进行解
码,且产生可在显示器209或另一呈现装置上呈现的输出视频样本流210。在一些流式传输系统中,可以根据某些视频编解码/压缩标准对视频比特流204、206和208进行编码。上面提到了这些标准的示例,其在本文中将进一步描述。
24.图3示出了样本dash处理模型300,例如用于处理dash和通用媒体应用格式(cmaf,common media application format)事件的样本客户端架构。在dash处理模型300中,客户端对媒体片段(例如,广告媒体片段和实况媒体片段)的请求可以基于清单303中描述的地址。清单303还描述了元数据轨道,客户端可以从该元数据轨道访问元数据轨道的片段,解析这些片段,并将它们发送到应用301。
25.清单303包括mpd事件或事件,并且带内事件和“moof”解析器306可以解析mpd事件片段或事件片段,并将事件片段附加到事件和元数据缓冲器330。带内事件和“moof”解析器306还可以获取媒体片段并将它们附加到媒体缓冲器340。事件和元数据缓冲器330可以将事件和元数据信息发送给事件和元数据同步器和调度器335。事件和元数据同步器和调度器335可以将特定事件调度到dash播放器的控制、选择和试探逻辑302,并将与应用相关的事件和元数据轨道调度到应用301。
26.根据一些实施例,mse可以包括流水线,该流水线包括文件格式解析器350、媒体缓冲器340和媒体解码器345。mse 320是媒体片段的一个或多个逻辑缓冲器,其中可以基于媒体片段的呈现时间来跟踪和排序媒体片段。媒体片段可以包括但不限于与广告mpd相关联的广告媒体片段和与实况mpd相关联的实况媒体片段。可以基于媒体片段的时间戳偏移将每个媒体片段添加或附加到媒体缓冲器340,并且可以使用时间戳偏移对媒体缓冲器340中的媒体片段进行排序。
27.由于本技术的实施例可以涉及使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)缓冲器,并且非线性媒体源可以是广告mpd和实况mpd,因此文件格式解析器350可用于处理实况mpd中包括的、实况媒体片段使用的不同媒体和/或编解码器。在一些实施例中,文件格式解析器可以基于实况媒体片段的编解码器、简档和/或级别来发布改变类型。
28.只要媒体缓冲器340中存在媒体片段,事件和元数据缓冲器330就维护对应的事件片段和元数据。样本dash处理模型300可以包括定时元数据轨道解析器325,以保持跟踪与带内和mpd事件相关联的元数据。根据图3,mse 320仅包括文件格式解析器350、媒体缓冲器340和媒体解码器345。事件和元数据缓冲器330以及事件和元数据同步器和调度器335对于mse 320不是本地的,从而禁止mse 320本地处理事件并将它们发送到应用。
29.图4是示出广告mpd和实况mpd之间的mpd链接的简化示意图400。
30.如图4所示,广告mpd 410可以包括一个或多个统一资源定位符(url),该url包含到至少一个实况mpd 420的地址。根据实施例的一个方面,广告mpd 410和实况mpd 420之间的url链接可以是mpd链接。每个广告mpd 410可以包含一个或多个时段pa1、pa2等。类似地,每条线(line)mpd 420可以包括一个或多个时段p1、p2等。根据本公开的一个方面,媒体播放器可以在实况mpd 420之前播放广告mpd 410。
31.根据本公开的一个方面,可以为dash播放器提供一个或多个定时模型,用于从两个或更多个非线性媒体源设置单个媒体源扩展(mse)缓冲器,以使用mpd链接进行媒体回放。mse缓冲器可以被设置为支持所需的时移缓冲器深度。可以将重新初始化片段添加到
mse缓冲器,以播放具有不同代码、简档和/或级别的广告媒体和实况媒体。在一些实施例中,广告媒体片段可以在时移缓冲器中维护,以使dash播放器能够寻回广告,或者用实况媒体片段替换广告媒体片段,以使dash播放器能够寻找到真正的实况时移缓冲器。
32.可以从视频数据中获取一个或多个mpd。可以解析一个或多个mpd,以生成和/或检索一个或多个广告媒体片段。在一些实施例中,一个或多个广告媒体片段可以包括与一个或多个实况媒体片段相关联的至少一个统一资源定位符(url)。广告媒体片段(也称为“点播内容”)在回放之前是可用的。广告媒体片段可以不具有已知的持续时间,但是至少可以具有最大持续时间-d
max
。与一个或多个广告媒体片段相关联的呈现时间偏移可以被称为具有时标t
p
的pto
p
。
33.实况内容可以包括一个或多个实况mpd。一个或多个实况mpd可以包括一个或多个实况媒体片段。实况内容的开始时间和实况内容的当前时段开始时间可以是已知的。与一个或多个实况媒体片段相关联的呈现时间偏移可以被称为具有时标t
l
的pto
l
。用于以片段的估计最早呈现时间(eept
l
)开始实况内容的片段地址可能是未知的。与一个或多个实况媒体片段相关联的最大片段持续时间可以被称为msd,并且用于实况内容的所需时移缓冲器深度可以被称为tsb
l
。
34.根据本公开的实施例,由于广告mpd可能不具有关于实况mpd的任何信息,因此,为了设置mse缓冲器,dash客户端可能需要在设置mse缓冲器之前下载实况mpd。
35.根据上述实施例,dash播放器(例如,300)可以下载一个或多个广告mpd并对其进行解析。文件格式解析器可以在广告mpd中找到和/或检索所需的编解码器。使用来自广告mpd的广告媒体片段中的url,可以下载实况mpd,并且可以找到实况媒体mpd的实况边缘和对应的时段。文件格式解析器可以在实况mpd中找到/检索所需的编解码器。mse缓冲器可以基于广告mpd和实况mpd(或广告媒体片段和实况媒体片段)中的编解码器信息来设置。可以使用定时模型(例如,图5a-5b中的定时模型)从广告mpd下载广告媒体片段,并将它们附加到mse缓冲器。在附加广告媒体片段之后,可以使用定时模型(例如,图5a-5b中的定时模型)下载实况媒体片段,或将它们附加到mse缓冲器。
36.图5a-5b示出了使用mpd链接来处理广告媒体片段和实况媒体片段的示例性媒体源缓冲器500和媒体源缓冲器550。
37.如图5a所示,mse附加窗口可以定义为具有等于或大于最大广告持续时间(例如,d
max
)或更大的尺寸。当附加广告片段时,mse附加窗口时间戳偏移可以被设置为tso
p
=-(pto
p
/t
p
)。
38.如图5b所示,考虑到dash客户端的实况mpd时移缓冲器(tsb
l
),可以将mse附加窗口的大小调整为d
实况
。在一些实施例中,d
实况
=max(tsb
l
,d
max
)或更大。mse附加窗口时间戳偏移可以被重置为tso
l
,其中在附加第一实况片段之前,tso
l
可以等于max(tsb
l
,d
max
)+eept
l
+msd-(pto
l
/t
l
)。基于附加和时间戳偏移,可以在广告媒体片段时间和实况媒体片段时间之间的mse缓冲器上寻找。基于在实况媒体片段之前正在播放的广告媒体片段的最后一帧,可以寻找实况媒体片段的开始。如果期望播放一次广告媒体片段,则可以清除广告媒体片段时间范围。在播放器寻找时移的实况媒体片段之后播放广告媒体片段的实施例中,可以为时移的实况媒体片段创建第三时间范围。
39.广告播放一次并移除
40.mse设置:检查mse是否可以支持广告视频编解码器和简档;创建mse缓冲器;并且可以设置mse缓冲器附加窗口持续时间可以设置为d
max
。
41.回放:mse时间戳官方可以基于tso=-(pto
p
/t
p
)设置;可以检索第一广告媒体片段并将其附加到mse缓冲器;可以将广告mpd中的每个广告媒体片段附加到mse缓冲器。在每个媒体片段被下载之后,可以将mse附加窗口扩展到持续时间d
实况
,并且时间戳偏移可以是tso
l
=max(tsb
l
,d
max
)+ept+msd-(pto
l
/t
l
)。可以将第一实况媒体片段附加到mse缓冲器,并且还可以附加来自实况mpd的每个实况媒体片段。根据到达广告媒体片段的结束,寻找实况媒体片段的开始时间。
42.时移缓冲器:从广告媒体片段的开始到结束的范围可以被移除。
43.广告播放一次但停留在中贴片(mid-roll)
44.mse设置:检查mse是否可以支持广告视频编解码器和简档;创建mse缓冲器;并且mse缓冲器附加窗口持续时间可以被设置为tsb
max
=d
max
+tsbd
l
的上估计值。附加窗口的开始可以设置为零,附加窗口的结束可以设置为tsb
max
+d
实况
。在一些实施例中,如果实况节目的持续时间未知,则附加窗口结束可以是大值或无穷大。
45.回放:mse时间戳偏移可以设置为tso=tsb
max-d
max-(pto
p
/t
p
)。可以检索第一广告媒体片段并将其附加到mse缓冲器;可以将广告mpd中的每个广告媒体片段附加到mse缓冲器。可以发布关于实况媒体片段的编解码器、简档和/或级别的改变类型。可以设置时间戳偏移为tso
l
=max(tsb
l
,d
max
)+ept+msd-(pto
l
/t
l
)。可以将第一实况媒体片段附加到mse缓冲器,并且还可以附加来自实况mpd的每个实况媒体片段。根据到达广告媒体片段的结束,寻找实况媒体片段的开始时间。然后,可以再次检索第一广告媒体片段并将其附加到mse。
46.时移缓冲器管理:用于时移缓冲器的时间戳偏移可以设置为tso=tsb
max-d
max-(pto
p
/t
p
)-(pto
l
/t
l
)。基于广告媒体片段被再次播放,可以检索一个或多个广告媒体片段并将其附加到时移缓冲器。可以将每个广告媒体片段附加到时移缓冲器。
47.w3c加密媒体扩展(eme)接口
48.w3c eme接口可以用于在媒体回放中对加密数据进行解密。广告内容可能通常不受保护。然而,实况内容可以受到保护。当实况内容受到保护时,播放器可能需要下载广告mpd,并使用该广告mpd中的url来下载实况mpd。使用实况mpd中的信息,播放器可以设置eme和mse流水线(pipelines)。eme流水线设置可以包括从许可证服务器获取许可证密钥。然后,播放器可以使用广告mpd开始下载广告片段,并将它们附加到媒体流水线中。
49.在一些实施例中,由于广告mpd可以不具有关于实况mpd的信息,因此可以顺序设置mse和eme。播放器可以下载广告mpd。播放器可以使用广告mpd中的url下载并解析实况mpd。给定实况mpd的参数,播放器可以设置mse和eme缓冲器。然后,播放器可以下载后续的广告mpd,并开始下载对应的片段并将它们附加到媒体流水线。
50.在一些实施例中,广告mpd可以具有关于实况mpd的信息,因此可以并行设置mse和eme。播放器可以下载广告mpd,然后基于对广告mpd的解析,播放器可以将其时段存储在其内部存储器中。播放器可以使用广告mpd中的url下载并解析实况mpd,并将其时段存储在其内部存储器中。给定广告和实况mpd的参数,播放器可以设置mse和eme缓冲器。然后,可以下载来自广告时段的广告片段并将它们附加到媒体流水线。
51.图6示出了使用mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展(mse)
缓冲器的过程600的示例性流程图。
52.在操作610处,可以解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段(mpd)。所述一个或多个广告媒体片段可以包括至少一个统一资源定位符(url)。作为示例,清单解析器303、带内事件和moof解析器306可以解析获取的mpd。该操作可以包括检索与至少一个获取的mpd和实况mpd相关联的一个或多个代码。
53.在操作615处,可以基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段。作为示例,可以基于解析广告mpd 410中的url来获取实况mpd 420。
54.在操作620处,可以基于第一定时模型,将所述一个或多个广告媒体片段附加到第一缓冲器。在一些实施例中,可以基于至少一个获取的mpd,将第一缓冲器扩展到第一最大持续时间。作为示例,mse缓冲器可以扩展到d
max
。还可以基于与一个或多个广告媒体片段相关联的第一呈现时间偏移,设置第一缓冲器的时间戳偏移。作为示例,第一呈现时间偏移可以包括tso=tsb
max-d
max-(pto
p
/t
p
)。在一些实施例中,第一呈现时间偏移可以包括tso=-(pto
p
/t
p
)。
55.在操作625处,可以通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段。在一些实施例中,可以仅在添加了每个广告媒体片段之后附加实况媒体片段。基于第二定时模型的附加可以包括:基于一个或多个实况媒体片段,将第一缓冲器扩展到第二最大持续时间。可以基于与一个或多个实况媒体片段相关联的第二呈现时间偏移,重置第一缓冲器的时间戳偏移。作为示例,可以将mse扩展为tso
l
=max(tsb
l
,d
max
)+ept+msd-(pto
l
/t
l
)。
56.可以将第一实况媒体片段附加到一个或多个实况媒体片段中的第一缓冲器。根据实施例,第二呈现时间偏移基于与一个或多个实况媒体片段相关联的估计的最早呈现时间和与一个或多个实况媒体片段相关联的最大片段持续时间。
57.播放器可以基于一个或多个广告媒体片段的最后一帧被播放,寻找附加在第一缓冲器中的一个或多个实况媒体片段的开始。
58.在操作630处,可以基于所述第一定时模型和第所述二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。在一些实施例中,基于第一广告媒体片段被配置为播放一次,可以从第一缓冲器清除一个或多个广告媒体片段中的第一广告媒体片段。在其它实施例中,基于第一广告媒体片段被配置为播放超过一次,可以将一个或多个广告媒体片段中的第一广告媒体片段附加到第三缓冲器(例如,时间戳缓冲器),并且基于第一广告媒体片段在第一实况媒体片段期间是中贴片广告,可以在第一广告媒体片段之前附加一个或多个实况媒体片段中的第一实况媒体片段。
59.在一些实施例中,基于一个或多个实况媒体片段被加密,可以从许可证服务器检索一个或多个许可证密钥,并且可以将一个或多个许可证密钥存储和/或附加在第二缓冲器中。
60.尽管图6示出了过程600的示例框,但是在实施例中,过程600可以包括比图6所示的更多的框、更少的框、不同的框或不同排列的框。在实施例中,过程600的任何框都可以根据需要以任何数量或顺序组合或排列。在实施例中,可以并行地执行过程600的两个或更多个框。
61.上述技术可以通过计算机可读指令实现为计算机软件,并且物理地存储在一个或多个计算机可读介质中,或者通过专门配置的一个或多个硬件处理器来实现。例如,图7示出了适于实现各种实施例的计算机系统700。
62.所述计算机软件可通过任何合适的机器代码或计算机语言进行编码,通过汇编、编译、链接等机制创建包括指令的代码,所述指令可由计算机中央处理单元(cpu),图形处理单元(gpu)等直接执行或通过译码、微代码等方式执行。
63.所述指令可以在各种类型的计算机或其组件上执行,包括例如个人计算机、平板电脑、服务器、智能手机、游戏设备、物联网设备等。
64.图7所示的用于计算机系统700的组件本质上是示例性的,并不用于对实现本公开实施例的计算机软件的使用范围或功能进行任何限制。也不应将组件的配置解释为与计算机系统700的示例性实施例中所示的任一组件或其组合具有任何依赖性或要求。
65.计算机系统700可以包括某些人机界面输入设备。这种人机界面输入设备可以通过触觉输入(如:键盘输入、滑动、数据手套移动)、音频输入(如:声音、掌声)、视觉输入(如:手势)、嗅觉输入,对一个或多个人类用户的输入做出响应。所述人机界面设备还可用于捕获某些媒体,气与人类有意识的输入不必直接相关,如音频(例如:语音、音乐、环境声音)、图像(例如:扫描图像、从静止影像相机获取的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
66.人机界面输入设备可包括以下中的一个或多个(图中仅绘出其中一个):键盘701、鼠标702、触控板703、触摸屏710、操纵杆705、麦克风706、扫描仪708、照相机707。
67.计算机系统700还可以包括某些人机界面输出设备。这种人机界面输出设备可以通过例如触觉输出、声音、光和嗅觉/味觉来刺激一个或多个人类用户的感觉。这样的人机界面输出设备可包括触觉输出设备(例如通过触摸屏710或操纵杆705的触觉反馈,但也可以有不用作输入设备的触觉反馈设备)、音频输出设备(例如,扬声器709、耳机)、视觉输出设备(例如,包括阴极射线管屏幕、液晶屏幕、等离子屏幕、有机发光二极管屏的屏幕710,其中每一个都具有或没有触摸屏输入功能、每一个都具有或没有触觉反馈功能——其中一些可通过诸如立体画面输出的手段输出二维视觉输出或三维以上的输出;虚拟现实眼镜、全息显示器和放烟箱)以及打印机。
68.计算机系统700还可以包括人可访问的存储设备及其相关介质,如包括具有cd/dvd 711的高密度只读/可重写式光盘(cd/dvd rom/rw)720或类似介质的光学介质、拇指驱动器722、可移动硬盘驱动器或固体状态驱动器723,诸如磁带和软盘的传统磁介质,诸如安全软件保护器等的基于rom/asic/pld的专用设备,等等。
69.本领域技术人员还应当理解,结合所公开的主题使用的术语“计算机可读介质”不包括传输介质、载波或其它瞬时信号。
70.计算机系统700还可以包括通往一个或多个通信网络798的接口799。例如,网络798可以是无线的、有线的、光学的。网络798还可为局域网、广域网、城域网、车载网络和工业网络、实时网络、延迟容忍网络等等。网络798的示例还包括以太网、无线局域网、蜂窝网络(gsm、3g、4g、5g、lte等)等局域网、电视有线或无线广域数字网络(包括有线电视、卫星电视、和地面广播电视)、车载和工业网络(包括canbus)等等。某些网络798通常需要外部网络接口适配器,用于连接到某些通用数据端口或外围总线(750和751)(例如,计算机系统700
的usb端口);其它系统通常通过连接到如下所述的系统总线集成到计算机系统700的核心(例如,以太网接口集成到pc计算机系统或蜂窝网络接口集成到智能电话计算机系统)。通过使用这些网络798中的任何一个,计算机系统700可以与其它实体进行通信。所述通信可以是单向的,仅用于接收(例如,无线电视),单向的仅用于发送(例如can总线到某些can总线设备),或双向的,例如通过局域或广域数字网络到其它计算机系统。上述的每个网络和网络接口可使用某些协议和协议栈。
71.上述的人机界面设备、人可访问的存储设备以及网络接口可以连接到计算机系统700的核心740。
72.核心740可包括一个或多个中央处理单元(cpu)741、图形处理单元(gpu)742、图形适配器717、以现场可编程门阵列(fpga)743形式的专用可编程处理单元、用于特定任务的硬件加速器744等。这些设备以及只读存储器(rom)745、随机存取存储器746、内部大容量存储器(例如内部非用户可存取硬盘驱动器、固态硬盘等)747等可通过系统总线748进行连接。在某些计算机系统中,可以以一个或多个物理插头的形式访问系统总线748,以便可通过额外的中央处理单元、图形处理单元等进行扩展。外围装置可直接附接到核心的系统总线748,或通过外围总线751进行连接。外围总线的体系结构包括外围组件互联pci、通用串行总线usb等。
73.cpu 741、gpu 742、fpga 743和加速器744可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom 745或ram 746中。过渡数据也可以存储在ram 746中,而永久数据可以存储在例如内部大容量存储器747中。通过使用高速缓冲存储器可实现对任何存储器设备的快速存储和检索,高速缓冲存储器可与一个或多个cpu 741、gpu 742、大容量存储器747、rom 745、ram 746等紧密关联。
74.所述计算机可读介质上可具有计算机代码,用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开的目的而特别设计和构造的,也可以是计算机软件领域的技术人员所熟知和可用的介质和代码。
75.作为实施例而非限制,具有所示体系结构的计算机系统700,特别是核心740,可以作为处理器(包括cpu、gpu、fpga、加速器等)提供执行包含在一个或多个有形的计算机可读介质中的软件的功能。这种计算机可读介质可以是与上述的用户可访问的大容量存储器相关联的介质,以及具有非易失性的核心740的特定存储器,例如核心内部大容量存储器747或rom 745。实现本公开的各种实施例的软件可以存储在这种设备中并且由核心740执行。根据特定需要,计算机可读介质可包括一个或一个以上存储设备或芯片。该软件可以使得核心740特别是其中的处理器(包括cpu、gpu、fpga等)执行本文所述的特定过程或特定过程的特定部分,包括定义存储在ram 746中的数据结构以及根据软件定义的过程来修改这种数据结构。另外或作为替代,计算机系统可以提供逻辑硬连线或以其它方式包含在电路(例如,加速器744)中的功能,该电路可以代替软件或与软件一起运行以执行本文所述的特定过程或特定过程的特定部分。在适当的情况下,对软件的引用可以包括逻辑,反之亦然。在适当的情况下,对计算机可读介质的引用可包括存储执行软件的电路(如集成电路(ic)),包含执行逻辑的电路,或两者兼备。本公开包括任何合适的硬件和软件组合。
76.虽然本公开已对多个示例性实施例进行了描述,但实施例的各种变更、排列和各种等同替换均属于本公开的范围内。因此应理解,本领域技术人员能够设计多种系统和方
法,所述系统和方法虽然未在本文中明确示出或描述,但其体现了本公开的原则,因此属于本公开的精神和范围之内。
技术特征:
1.一种使用媒体呈现描述mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展mse缓冲器的方法,其特征在于,所述方法由至少一个处理器执行,并且包括:解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告媒体片段包括至少一个统一资源定位符url;基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;基于第一定时模型,将所述一个或多个广告媒体片段附加到第一媒体源扩展mse源缓冲器;通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。2.根据权利要求1所述的方法,其特征在于,所述基于第一定时模型,将所述一个或多个广告媒体片段附加到第一mse源缓冲器包括:基于所述至少一个获取的mpd,将所述第一mse源缓冲器扩展到第一最大持续时间;以及基于与所述一个或多个广告媒体片段相关联的第一呈现时间偏移,设置所述第一mse源缓冲器的时间戳偏移。3.根据权利要求2所述的方法,其特征在于,所述基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器包括:基于所述一个或多个实况媒体片段,将所述第一mse源缓冲器扩展到第二最大持续时间;基于与所述一个或多个实况媒体片段相关联的第二呈现时间偏移,重置所述第一mse源缓冲器的时间戳偏移;以及将所述一个或多个实况媒体片段中的第一实况媒体片段附加到所述第一mse源缓冲器。4.根据权利要求3所述的方法,其特征在于,所述第二呈现时间偏移基于与所述一个或多个实况媒体片段相关联的估计的最早呈现时间和与所述一个或多个实况媒体片段相关联的最大片段持续时间。5.根据权利要求1所述的方法,其特征在于,进一步包括:检索与所述至少一个获取的mpd和所述实况mpd相关联的一个或多个代码。6.根据权利要求1所述的方法,其特征在于,进一步包括:基于所述一个或多个广告媒体片段的最后一帧被播放,寻找附加在所述第一mse源缓冲器中的所述一个或多个实况媒体片段的开始。7.根据权利要求1所述的方法,其特征在于,所述方法进一步包括:基于所述一个或多个实况媒体片段被加密,从许可证服务器检索一个或多个许可证密钥;以及将所述一个或多个许可证密钥附加在第二缓冲器中。8.根据权利要求1所述的方法,其特征在于,进一步包括:基于第一广告媒体片段被配
置为播放一次,从所述第一mse源缓冲器清除所述一个或多个广告媒体片段中的所述第一广告媒体片段。9.根据权利要求1所述的方法,其特征在于,进一步包括:基于第一广告媒体片段被配置为播放超过一次,将所述一个或多个广告媒体片段中的所述第一广告媒体片段附加到第三缓冲器;以及基于所述第一广告媒体片段在第一实况媒体片段期间是中贴片广告,在所述第一广告媒体片段之前附加所述一个或多个实况媒体片段中的所述第一实况媒体片段。10.一种使用媒体呈现描述mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展mse缓冲器的装置,其特征在于,所述装置包括:至少一个存储器,被配置为存储计算机程序代码;至少一个处理器,被配置为访问所述计算机程序代码,并按照所述计算机程序代码的指令进行操作,所述计算机程序代码包括:解析代码,被配置为使所述至少一个处理器解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告媒体片段包括至少一个统一资源定位符url;第一获取代码,被配置为使所述至少一个处理器基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;第一附加代码,被配置为使所述至少一个处理器基于第一定时模型,将所述一个或多个广告媒体片段附加到第一媒体源扩展mse源缓冲器;第二附加代码,被配置为使所述至少一个处理器通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及调度代码,被配置为使所述至少一个处理器基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。11.根据权利要求10所述的装置,其特征在于,所述第一附加代码包括:第一扩展代码,被配置为使所述至少一个处理器基于所述至少一个获取的mpd,将所述第一mse源缓冲器扩展到第一最大持续时间;以及第一设置代码,被配置为使所述至少一个处理器基于与所述一个或多个广告媒体片段相关联的第一呈现时间偏移,设置所述第一mse源缓冲器的时间戳偏移。12.根据权利要求11所述的装置,其特征在于,所述第二附加代码包括:第二扩展代码,被配置为使所述至少一个处理器基于所述一个或多个实况媒体片段,将所述第一mse源缓冲器扩展到第二最大持续时间;重置代码,被配置为使所述至少一个处理器基于与所述一个或多个实况媒体片段相关联的第二呈现时间偏移,重置所述第一mse源缓冲器的时间戳偏移;以及第三附加代码,被配置为使所述至少一个处理器将所述一个或多个实况媒体片段中的第一实况媒体片段附加到所述第一mse源缓冲器。13.根据权利要求12所述的装置,其特征在于,所述第二呈现时间偏移基于与所述一个或多个实况媒体片段相关联的估计的最早呈现时间和与所述一个或多个实况媒体片段相
关联的最大片段持续时间。14.根据权利要求10所述的装置,其特征在于,所述程序代码进一步包括:第一寻找代码,被配置为使所述至少一个处理器基于所述一个或多个广告媒体片段的最后一帧被播放,寻找附加在所述第一mse源缓冲器中的所述一个或多个实况媒体片段的开始。15.根据权利要求10所述的装置,其特征在于,所述程序代码进一步包括:检索代码,被配置为使所述至少一个处理器基于所述一个或多个实况媒体片段被加密,从许可证服务器检索一个或多个许可证密钥;以及第四附加代码,被配置为使所述至少一个处理器将所述一个或多个许可证密钥附加在第二缓冲器中。16.根据权利要求10所述的装置,其特征在于,所述程序代码进一步包括:第一清除代码,被配置为使所述至少一个处理器基于第一广告媒体片段被配置为播放一次,从所述第一mse源缓冲器清除所述一个或多个广告媒体片段中的所述第一广告媒体片段。17.根据权利要求10所述的装置,其特征在于,所述程序代码进一步包括:第五附加代码,被配置为使所述至少一个处理器基于第一广告媒体片段被配置为播放超过一次,将所述一个或多个广告媒体片段中的所述第一广告媒体片段附加到第三缓冲器;以及第六附加代码,被配置为使所述至少一个处理器基于所述第一广告媒体片段在第一实况媒体片段期间是中贴片广告,在所述第一广告媒体片段之前附加所述一个或多个实况媒体片段中的所述第一实况媒体片段。18.一种非易失性计算机可读介质,其特征在于,用于存储指令,所述指令包括一个或多个指令,当所述一个或多个指令由使用媒体呈现描述mpd链接从两个或更多个非线性媒体源构建线性媒体源扩展mse缓冲器的设备的一个或多个处理器执行时,使所述一个或多个处理器:解析包括一个或多个广告媒体片段的至少一个获取的媒体呈现片段,所述一个或多个广告媒体片段包括至少一个统一资源定位符url;基于所述至少一个url,获取实况mpd,所述实况mpd包括一个或多个实况媒体片段;基于第一定时模型,将所述一个或多个广告媒体片段附加到第一媒体源扩展mse源缓冲器;通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段,其中所述第二定时模型支持用于至少所述一个或多个实况媒体片段的时移缓冲器深度;以及基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。19.根据权利要求18所述的非易失性计算机可读介质,其特征在于,所述基于第一定时模型,将所述一个或多个广告媒体片段附加到第一mse源缓冲器包括:基于所述至少一个获取的mpd,将所述第一mse源缓冲器扩展到第一最大持续时间;以及
基于与所述一个或多个广告媒体片段相关联的第一呈现时间偏移,设置所述第一mse源缓冲器的时间戳偏移。20.根据权利要求19所述的非易失性计算机可读介质,其特征在于,所述基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一mse源缓冲器包括:基于所述一个或多个实况媒体片段,将所述第一mse源缓冲器扩展到第二最大持续时间;基于与所述一个或多个实况媒体片段相关联的第二呈现时间偏移,重置所述第一mse源缓冲器的时间戳偏移;以及将所述一个或多个实况媒体片段中的第一实况媒体片段附加到所述第一mse源缓冲器。
技术总结
可以提供一种使用MPD链接从两个或更多个非线性媒体源构建线性媒体源扩展(MSE)缓冲器的方法和装置。所述方法可以包括:解析至少一个获取的媒体呈现片段,基于至少一个URL,获取实况MPD,所述实况MPD包括一个或多个实况媒体片段。所述方法可以包括:基于第一定时模型,将所述一个或多个广告媒体片段附加到第一MSE源缓冲器;通过基于第二定时模型将所述一个或多个实况媒体片段附加到所述第一MSE源缓冲器,将所述一个或多个实况媒体片段链接到所述一个或多个广告媒体片段。基于所述第一定时模型和所述第二定时模型,调度所述一个或多个广告媒体片段和所述一个或多个实况媒体片段。媒体片段和所述一个或多个实况媒体片段。媒体片段和所述一个或多个实况媒体片段。
技术研发人员:伊拉吉
受保护的技术使用者:腾讯美国有限责任公司
技术研发日:2022.09.20
技术公布日:2023/8/24
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/