一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于数据操纵的可打补丁的远程元素的制作方法

2022-06-18 08:22:24 来源:中国专利 TAG:

用于数据操纵的可打补丁的远程元素
相关申请的交叉引用
1.本技术要求于2021年4月1日提交的美国专利申请第17/220,590号的优先权的权益,该美国专利申请要求以下临时申请的优先权的权益:于2020年4月7日提交的us 63/006,666、于2020年4月13日提交的us 63/009,150、于2020年4月15日提交的us 63/010,285以及于2020年6月22日提交的us 63/042,282,其内容在此通过引用明确地整体并入本技术。


背景技术:

1.技术领域
2.本公开内容涉及对来自多个服务器的多个媒体内容的实时流式传输,包括对解决媒体流式传输用例的解析元素的操纵(manipulation)。2.相关技术的描述
3.在运动图像专家组(moving picture experts group,mpeg)通过http的动态自适应流(dynamic adaptive streaming over http,dash)中,在内容的回放期间,必须在构建时间线之前解析媒体呈现描述(media presentation description,mpd)的元素,并且在所述解析之后,会用所解析的元素整个地代替默认元素,然而原始内容中可能没有留下信息。
4.就其本身而言,在流式传输中,关于基于目标的内容定制——流行且重要的特征——在本领域中存在技术问题。这些特征允许每个客户端取决于观看者的偏好、位置、年龄、兴趣和其他因素而播放不同的内容。基于目标的内容例如广告在这方面是重要的用例。可以通过dash和其他流式传输协议中的远程元素来实现客户端侧基于目标的内容定制。对这样的内容定制的尝试可能不利地导致对更新的解析,其中默认元素的任何子元素丢失,并且就其本身而言,当默认元素描述了主要内容时、当客户端播放远程时段时,到实时服务器的连接可能丢失。


技术实现要素:

5.为了解决一个或更多个不同的技术问题,本公开内容提供了这样的技术解决方案,其在传送将各种操作应用于所解析的元素的选项的同时,减少了网络开销和服务器计算开销,使得在使用这些操作时,例如,可以保持性能中的一些性能,例如到实时服务器的连接。
6.包括方法和设备,该设备包括:存储器,其被配置成存储计算机程序代码;以及一个或更多个处理器,其被配置成访问计算机程序代码并且按照计算机程序代码所指示地进行操作。计算机程序代码包括:获得代码,其被配置成使至少一个处理器从第一内容服务器获得媒体内容;确定代码,其被配置成使至少一个处理器确定来自第一服务器的媒体内容包括的清单是否指示远程元素的存在;解析代码,其被配置成使至少一个处理器响应于确定清单指示远程元素的存在,通过将清单包括的默认远程元素更新为更新后的远程元素来解析远程元素;操纵代码,其被配置成使至少一个处理器在默认远程元素被解析为所解析
的远程元素之后,基于存储在远程位置的文档的信令,操作更新后的远程元素操纵;以及流式传输代码,其被配置成使至少一个处理器基于对更新后的远程元素的操纵,流式传输来自第一内容服务器的媒体内容和来自第二内容服务器的其他媒体内容中的至少之一,使得所述信令指示在解析远程元素之后检索多个指令,以及将所检索的指令应用于所解析的远程元素。
7.根据示例性实施方式,对更新后的远程元素的操纵包括从文档获得可扩展标记语言(xml)补丁。
8.根据示例性实施方式,在流式传输来自第二内容服务器的其他媒体内容的情况下,当客户端装置正在流式传输另一媒体内容时,由客户端装置保持到第一服务器的连接。
9.根据示例性实施方式,计算机程序代码还包括:确定代码,其被配置成使至少一个处理器在流式传输来自第二内容服务器的其他媒体内容的情况下,确定是否在更新后的远程元素中指示的终止时间之前终止其他媒体内容的流式传输。
10.根据示例性实施方式,计算机程序代码还包括:终止代码,其被配置成使至少一个处理器在客户端装置正在流式传输其他媒体内容时,基于从第一内容服务器到客户端装置的更新,在更新后的远程元素中指示的终止时间之前终止其他媒体内容的流式传输。
11.根据示例性实施方式,操纵更新后的远程元素包括操纵由第一内容服务器提供的媒体呈现描述(mpd)。
12.根据示例性实施方式,基于对更新后的远程元素的操纵来流式传输来自第一内容服务器的媒体内容和来自第二内容服务器的其他媒体内容中的至少之一包括:通过http的动态自适应流(dash)流式传输。
13.根据示例性实施方式,解析远程元素包括访问mpd中包括的多个链接。
14.根据示例性实施方式,链接中的第一链接是到所解析的远程元素,以代替mpd中包括的默认远程元素,以及链接中的第二链接是到包括用于操纵所解析的报告元素的指令的补丁。
附图说明
15.根据以下详细描述和附图,所公开主题的另外的特征、性质和各种优点将更明显,在附图中:
16.图1是根据实施方式的简化示意图。
17.图2是根据实施方式的简化示意图。
18.图3是关于根据实施方式的解码器的简化框图。
19.图4是关于根据实施方式的编码器的简化框图。
20.图5是根据实施方式的简化框图。
21.图6是根据实施方式的简化流程图。
22.图7是根据实施方式的简化流程图。
23.图8是根据实施方式的示意图。
具体实施方式
24.以下讨论的所提出的特征可以单独使用或者以任何顺序组合。此外,实施方式可
以通过处理电路(例如,一个或更多个处理器或者一个或更多个集成电路)来实现。在一个示例中,一个或更多个处理器执行存储在非暂态计算机可读介质中的程序。
25.图1示出了根据本公开内容的实施方式的通信系统100的简化框图。通信系统100可以包括经由网络105互连的至少两个终端102和103。为了数据的单向传输,第一终端103可以在本地位置处对视频数据进行编码,以供经由网络105传输至另一终端102。第二终端102可以从网络105接收另一终端的编码视频数据,对编码数据进行解码并且显示恢复的视频数据。单向数据传输在媒体服务应用等中是常见的。
26.图1示出了第二对终端101和104,其被提供以支持例如在视频会议期间可能发生的编码视频的双向传输。为了数据的双向传输,每个终端101和104可以对在本地位置处捕获的视频数据进行编码,以供经由网络105传输至另一终端。每个终端101和104还可以接收由另一终端传输的编码视频数据,可以对编码数据进行解码,并且可以在本地显示装置处显示恢复的视频数据。
27.在图1中,终端101、102、103和104可以被示出为服务器、个人计算机和智能电话,但是本公开内容的原理不限于此。本公开内容的实施方式适用于膝上型计算机、平板计算机、媒体播放器和/或专用视频会议设备。网络105表示在终端101、102、103和104之间传送编码视频数据的任何数目的网络,包括例如有线和/或无线通信网络。通信网络105可以在电路交换和/或分组交换信道中交换数据。代表性网络包括电信网络、局域网、广域网和/或因特网。出于本论述的目的,除非在下文中有所说明,否则网络105的架构和拓扑对于本公开内容的操作来说可能是不重要的。
28.作为所公开主题的应用的示例,图2示出了视频编码器和视频解码器在流式传输环境中的布置。所公开主题可以同等地适用于其他启用视频的应用,包括例如视频会议、数字tv、压缩视频在包括cd、dvd、存储棒等的数字介质上的存储等。
29.流式传输系统可以包括捕获子系统203,该捕获子系统可以包括诸如数字摄像装置的视频源201,该视频源创建例如未压缩的视频样本流213。该样本流213可以被强调为当与已编码的视频比特流相比时的高数据量,并且可以由耦接至摄像装置201的编码器202来处理。编码器202可以包括硬件、软件或其组合以实现或实施如下更详细地描述的所公开主题的各方面。已编码的视频比特流204可以存储在流式传输服务器205上以供将来使用,该已编码的视频比特流204可以被强调为当与样本流相比时的较低数据量。一个或更多个流式传输客户端212和207可以访问流式传输服务器205以检索已编码的视频比特流204的副本208和206。客户端212可以包括视频解码器211,该视频解码器对已编码的视频比特流的传入副本208进行解码,并且创建可以呈现在显示器209或其他呈现装置(未描绘)上的传出视频样本流210。在一些流式传输系统中,可以根据某些视频编码/压缩标准对视频比特流204、206和208进行编码。这些标准的示例在上面被提及并且在本文中进一步被描述。
30.图3可以是根据本发明的实施方式的视频解码器300的功能框图。
31.接收器302可以接收要由解码器300解码的一个或更多个编解码器视频序列;在同一实施方式或另一实施方式中,一次接收一个编码视频序列,其中每个编码视频序列的解码独立于其他编码视频序列。可以从信道301接收编码视频序列,该信道301可以是到存储已编码视频数据的存储装置的硬件/软件链路。接收器302可以接收已编码视频数据以及可以被转发至其各自的使用实体(未描绘)的其他数据,例如编码音频数据和/或辅助数据流。
接收器302可以将编码视频序列与其他数据分开。为了防止网络抖动,缓冲存储器303可以耦接在接收器302与熵解码器/解析器304(此后称为“解析器”)之间。当接收器302从具有足够带宽和可控性的存储/转发装置或从等同步网络接收数据时,可能不需要缓冲器303,或者缓冲器303可以是小的。为了在诸如因特网的尽力而为(best effort)型分组网络上使用,可能需要缓冲器303,缓冲器303可以相对较大并且可以有利地具有自适应大小。
32.视频解码器300可以包括从熵编码视频序列重建符号313的解析器304。这些符号的类别包括用于管理解码器300的操作的信息,以及用于控制诸如显示器312的呈现装置的潜在信息,该呈现装置不是解码器的组成部分,而是可以耦接至解码器。用于呈现装置的控制信息可以是补充增强信息(sei(supplementary enhancement information,sei)消息)或视频可用性信息参数集片段(未描绘)的形式。解析器304可以对接收到的编码视频序列进行解析/熵解码。编码视频序列的编码可以根据视频编码技术或标准,并且可以遵循对于本领域技术人员公知的原理,包括可变长度编码、霍夫曼编码(huffman coding)、具有或不具有上下文敏感性的算术编码等。解析器304可以基于与群组对应的至少一个参数,从编码视频序列提取用于视频解码器中的像素的子群组中的至少之一的子群组参数集。子群组可以包括图片群组(groups of picture,gop)、图片、图块、切片、宏块、编码单元(coding unit,cu)、块、变换单元(transform unit,tu)、预测单元(prediction unit,pu)等。熵解码器/解析器还可以从编码视频序列提取诸如变换系数、量化器参数值、运动矢量等的信息。
33.解析器304可以对从缓冲器303接收的视频序列执行熵解码/解析操作,从而创建符号313。解析器304可以接收已编码数据,并且选择性地对特定符号313进行解码。此外,解析器304可以确定特定符号313是否将被提供给运动补偿预测单元306、缩放器/逆变换单元305、帧内预测单元307或环路滤波器311。
34.取决于编码视频图片或其部分的类型(例如:帧间和帧内图片、帧间和帧内块)以及其他因素,符号313的重建可以涉及多个不同的单元。哪些单元被涉及以及这些单元如何被涉及可以通过由解析器304从编码视频序列解析的子群组控制信息来控制。出于清楚起见,未描绘解析器304与下面的多个单元之间的这样的子群组控制信息流。
35.除了已经提及的功能块之外,解码器300可以在概念上被细分为如下所描述的多个功能单元。在在商业约束下操作的实际实现方式中,这些单元中的许多单元彼此紧密地相互作用并且可以至少部分地彼此集成。然而,出于描述所公开主题的目的,在概念上细分为以下功能单元是适当的。
36.第一单元是缩放器/逆变换单元305。缩放器/逆变换单元305从解析器304接收量化变换系数以及控制信息——包括使用哪种变换、块大小、量化因子、量化缩放矩阵等——作为符号313。缩放器/逆变换单元305可以输出可以输入到聚合器310中的包括样本值的块。
37.在一些情况下,缩放器/逆变换305的输出样本可以与帧内编码块有关;即:不使用来自先前重建的图片的预测信息但可以使用来自当前图片的先前重建部分的预测信息的块。这样的预测信息可以由帧内图片预测单元307提供。在一些情况下,帧内图片预测单元307使用从当前(部分重建的)图片309提取的周围已经重建的信息来生成与重建中的块相同大小和形状的块。在一些情况下,聚合器310基于每个样本,将帧内预测单元307已经生成的预测信息添加至如由缩放器/逆变换单元305所提供的输出样本信息。
38.在其他情况下,缩放器/逆变换单元305的输出样本可以与帧间编码和潜在运动补偿块有关。在这样的情况下,运动补偿预测单元306可以访问参考图片存储器308以提取用于预测的样本。在根据与块有关的符号313对提取的样本进行运动补偿之后,可以由聚合器310将这些样本添加至缩放器/逆变换单元的输出(在这种情况下被称为残差样本或残差信号),从而生成输出样本信息。运动补偿单元从其提取预测样本的参考图片存储器内的地址可以由运动矢量控制,该运动矢量能够以可以具有例如x、y和参考图片分量的符号313的形式用于运动补偿单元。运动补偿还可以包括当子样本精确运动矢量在使用中时从参考图片存储器所提取的样本值的内插、运动矢量预测机制等。
39.聚合器310的输出样本可以在环路滤波器单元311中经受各种环路滤波技术。视频压缩技术可以包括环路内滤波器技术,该环路内滤波器技术由被包括在编码视频比特流中并且作为来自解析器304的符号313可用于环路滤波器单元311的参数控制,但是也可以响应于在对编码图片或编码视频序列的先前(按解码顺序)部分进行解码期间获得的元信息,以及响应于先前重建和环路滤波的样本值。
40.环路滤波器单元311的输出可以是样本流,该样本流可以输出至呈现装置312以及存储在参考图片存储器557中,以用于将来的帧间图片预测。
41.一旦被完全重建,某些编码图片就可以作为参考图片用于将来预测。一旦编码图片被完全重建并且编码图片(通过例如解析器304)被识别为参考图片,当前参考图片309就可以成为参考图片缓冲器308的一部分,并且可以在开始对随后的编码图片进行重建之前重新分配新的当前图片存储器。
42.视频解码器300可以根据可以记录在诸如itu-t h.265建议书的标准中的预定视频压缩技术执行解码操作。在编码视频序列遵守视频压缩技术或标准的语法的意义上,编码视频序列可以符合由所使用的视频压缩技术或标准指定的语法,如在视频压缩技术文档或标准中并且特别地在其中的简档文档中指定的。合规性所必需的还有,编码视频序列的复杂度在由视频压缩技术或标准的级别所定义的范围内。在一些情况下,级别限制最大图片大小、最大帧速率、最大重建样本速率(以例如每秒兆样本为单位进行测量)、最大参考图片大小等。在一些情况下,由级别设置的限制可以通过假设参考解码器(hypothetical reference decoder,hrd)规范以及用于在编码视频序列中指示的hrd缓冲器管理的元数据来进一步限制。
43.在实施方式中,接收器302可以接收已编码视频以及附加(冗余)数据。附加数据可以被包括为编码视频序列的一部分。可以由视频解码器300使用附加数据来适当地对数据进行解码以及/或者更准确地重建原始视频数据。附加数据可以是例如时间、空间或信噪比(signal-to-noise ratio,snr)增强层、冗余切片、冗余图片、前向纠错码等的形式。
44.图4可以是根据本公开内容的实施方式的视频编码器400的功能框图。
45.编码器400可以从视频源401(其不是编码器的一部分)接收视频样本,该视频源可以捕获要要由编码器400编码的视频图像。
46.视频源401可以提供要由编码器(303)编码的呈数字视频样本流形式的源视频序列,该数字视频样本流可以具有任何合适的位深度(例如:8位、10位、12位、
……
)、任何色彩空间(例如bt.601 y crcb、rgb、
……
)和任何合适的采样结构(例如y crcb 4:2:0、y crcb 4:4:4)。在媒体服务系统中,视频源401可以是存储先前准备的视频的存储装置。在视频会
议系统中,视频源401可以是捕获本地图像信息作为视频序列的摄像装置。视频数据可以作为在按次序观看时被赋予运动的多个单独的图片来提供。图片自身可以被组织为像素的空间阵列,其中,取决于所使用的采样结构、色彩空间等,每个像素可以包括一个或更多个样本。本领域技术人员可以容易地理解像素与样本之间的关系。以下描述侧重于样本。
47.根据实施方式,编码器400可以实时地或在应用所需的任何其他时间约束下将源视频序列的图片编码并压缩成编码视频序列410。执行适当的编码速度是控制器402的一个功能。控制器控制如下所描述的其他功能单元,并且在功能上耦接至这些单元。为了清楚起见,未描绘耦接。由控制器设置的参数可以包括速率控制相关参数(图片跳过、量化器、率失真优化技术的λ值、
……
)、图片大小、图片群组(gop)布局、最大运动矢量搜索范围等。本领域技术人员可以容易地识别控制器402的其他功能,因为控制器402的这些其他功能可能与针对特定系统设计而优化的视频编码器400有关。
48.一些视频编码器以本领域技术人员容易识别为“编码环路”的方式进行操作。作为极其简单化的描述,编码环路可以包括编码器402的编码部分(此后称为“源编码器”)(负责基于要编码的输入图片和参考图片来创建符号)以及嵌入在编码器400中的(本地)解码器406,该解码器406重建符号以创建(远程)解码器也将创建的样本数据(因为在所公开主题中考虑的视频压缩技术中,符号与编码视频比特流之间的任何压缩是无损的)。将重建的样本流输入至参考图片存储器405。由于对符号流的解码导致与解码器位置(本地或远程)无关的位精确结果,因此参考图片缓冲器内容在本地编码器与远程编码器之间也是位精确的。换言之,编码器的预测部分“看到”与解码器在解码期间使用预测时将“看到”的完全相同的样本值作为参考图片样本。参考图片同步性(以及如果例如由于信道误差而不能保持同步性,则导致漂移)的该基本原理是本领域技术人员公知的。
[0049]“本地”解码器406的操作可以与已经在上面结合图3详细描述的“远程”解码器300的操作相同。然而,还简要地参照图4,由于符号可用并且由熵编码器408和解析器304将符号编码/解码为编码视频序列可以是无损的,因此包括信道301、接收器302、缓冲器303和解析器304的解码器300的熵解码部分可能未完全在本地解码器406中实现。
[0050]
此时可以观察到,除了存在于解码器中的解析/熵解码之外的任何解码器技术也必然需要以基本上相同的功能形式存在于对应的编码器中。由于编码器技术与全面地描述的解码器技术相反,因此可以简化对编码器技术的描述。下面仅在某些区域中需要并且提供更详细的描述。
[0051]
作为其操作的一部分,源编码器403可以执行运动补偿预测编码,其参考来自视频序列的指定为“参考帧”的一个或更多个先前编码帧来预测性地对输入帧进行编码。以此方式,编码引擎407对输入帧的像素块与可以被选作输入帧的预测参考的参考帧的像素块之间的差异进行编码。
[0052]
本地视频解码器406可以基于由源编码器403创建的符号对可以被指定为参考帧的帧的编码视频数据进行解码。编码引擎407的操作可以有利地是有损处理。当可以在视频解码器(图4中未示出)处对编码视频数据进行解码时,重建的视频序列通常可以是具有一些误差的源视频序列的复制品。本地视频解码器406复制可以由视频解码器对参考帧执行的解码处理,并且可以使重建的参考帧存储在参考图片高速缓存405中。以此方式,编码器400可以本地存储重建的参考帧的副本,该副本与将由远端视频解码器获得的重建的参考
帧具有共同内容(不存在传输误差)。
[0053]
预测器404可以针对编码引擎407执行预测搜索。即,对于要编码的新帧,预测器404可以搜索参考图片存储器405以找出可以用作新图片的适当预测参考的样本数据(作为候选参考像素块)或特定元数据,例如参考图片运动矢量、块形状等。预测器404可以基于样本块逐像素块来操作,以找到适当的预测参考。在一些情况下,如由预测器404所获得的搜索结果所确定的,输入图片可以具有从参考图片存储器405中存储的多个参考图片提取的预测参考。
[0054]
控制器402可以管理视频编码器403的编码操作,包括例如用于对视频数据进行编码的参数和子群组参数的设置。
[0055]
所有前面提及的功能单元的输出可以在熵编码器408中经受熵编码。熵编码器通过根据本领域技术人员已知的技术(例如霍夫曼编码、可变长度编码、算术编码等)对符号进行无损压缩,来将由各种功能单元生成的符号转换成编码视频序列。
[0056]
发送器409可以缓冲由熵编码器408创建的编码视频序列,以使其准备好经由通信信道411进行传输,该通信信道可以是到将存储编码视频数据的存储装置的硬件/软件链路。发送器409可以将来自视频编码器403的编码视频数据与要发送的其他数据例如编码音频数据和/或辅助数据流(未示出源)进行合并。
[0057]
控制器402可以管理编码器400的操作。在编码期间,控制器405可以为每个编码图片分配特定的编码图片类型,该编码图片类型可以影响可以应用于相应图片的编码技术。例如,图片通常可以被指定为以下帧类型中之一:
[0058]
帧内图片(i图片),其可以是在不使用序列中的任何其他帧作为预测源的情况下可以被编码和解码的图片。一些视频编解码器允许不同类型的帧内图片,包括例如独立解码器刷新图片。本领域技术人员知晓i图片的这些变型及其相应的应用和特征。
[0059]
预测图片(p图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多一个运动矢量和参考索引来预测每个块的样本值。
[0060]
双向预测图片(b图片),其可以是可以使用帧内预测或帧间预测进行编码和解码的图片,所述帧内预测或帧间预测使用至多两个运动矢量和参考索引来预测每个块的样本值。类似地,多预测图片可以使用多于两个参考图片和相关联的元数据来进行单个块的重建。
[0061]
源图片通常可以在空间上细分为多个样本块(例如,每个4
×
4、8
×
8、4
×
8或16
×
16样本的块)并且在逐块的基础上进行编码。可以参考通过应用于块的相应图片的编码分配来确定的其他(已经编码的)块预测性地对块进行编码。例如,i图片的块可以被非预测性地编码,或者它们可以参考同一图片的已经编码的块被预测性地编码(空间预测或帧内预测)。p图片的像素块可以参考一个先前编码的参考图片经由空间预测或经由时间预测被非预测性地编码。b图片的块可以参考一个或两个先前编码的参考图片经由空间预测或经由时间预测被非预测性地编码。
[0062]
视频编码器400可以根据诸如itu-t h.265建议书的预定视频编码技术或标准执行编码操作。在视频编码器400的操作中,视频编码器400可以执行各种压缩操作,包括利用输入视频序列中的时间和空间冗余的预测编码操作。因此,编码视频数据可以符合由所使用的视频编码技术或标准指定的语法。
[0063]
在实施方式中,发送器409可以发送编码视频以及附加数据。源编码器403可以包括这样的数据作为编码视频序列的一部分。附加数据可以包括时间/空间/snr增强层、其他形式的冗余数据例如冗余图片和切片、补充增强信息(sei)消息、视觉可用性信息(visual usability information,vui)参数集片段等。
[0064]
图5示出了根据示例性实施方式的简化框图500,其中示出了第一内容服务器501、诸如终端等的客户端502和第二内容服务器503。根据示例性实施方式,第一内容服务器501可以与第二内容服务器503分开,并且第一内容服务器501可以向客户端502提供内容511,并且第二内容服务器503可以在内容511的部分之间向客户端502提供广告512。
[0065]
例如,第一内容服务器501可以向客户端502提供用于回放内容511的清单,并且为了提供包括各种一个或更多个基于目标的内容的这样的内容,清单可以包括时段(period)(例如,p1、p2和p3);根据其中内容511驻留在第一内容服务器501中的清单,将时段p1和p3视为显式时段,则时段p2可以是远程时段,使得针对内容511向客户端502提供的清单可以包括指向第一内容服务器501的默认时段和指向第二内容服务器503的xlink元素。
[0066]
根据示例性实施方式,当客户端502为得到内容511而解析这样的清单时,客户端502可能需要解析所述时段p2,并且由于时段p2可能在清单中被表示为指向第二内容服务器503的xlink,因此客户端502可以通过向第二内容服务器502请求时段p2来尝试根据所述xlink解析时段p2,并且然后,当从第二内容服务器502检索到时,用解析的时段p2(其可以被称为时段p2’)代替来自内容服务器501的清单中的默认时段p2,并且然后,根据解析的清单和更新后的时段来流式传输时段p2’内容,例如来自第二内容服务器503的广告内容512,如根据示例性实施方式在本文中进一步描述的。
[0067]
图6示出了根据示例性实施方式的简化流程图600。
[0068]
例如,在s601处,客户端502和第一内容服务器501可以尝试发起向客户端502流式传输内容。因此,基于从第一内容服务器501发送至客户端502的涉及这样的内容的清单,客户端502可以基于所述清单数据——清单数据例如包括以时段p1发布的初始媒体呈现描述(media presentation description,mpd)并且包括根据示例性实施方式的用于mpd更新的mpd事件流——尝试访问第一内容服务器501和第二内容服务器503中的一个或更多个。初始地与s601处的流式传输一起或稍后可以在s603处确定插入广告,使得mpd要在s604至s614处被更新为具有三个时段(例如,时段p1、p2和p3)并且所有时段表示实时内容,并且使得所有时段包含用于mpd更新的mpd事件流。根据示例性实施方式,如在s605处确定的和在s606处访问的,时段p2可以被指示为具有在s608处访问的xlink url,以及具有在s607处确定和访问的@patchurl,即,指向补丁元素的属性,该补丁元素可以包含要添加——如在s608处通过所述补丁的存在或不存在来确定,并且如果确定添加,则在s612处添加——至时段p2的远程eventstream元素的附加元素。
[0069]
同样地,当客户端502在s608、s609和s612处解析针对时段p2的xlink url时,客户端502然后可以接收更新后的时段p2’,并且类似地,当客户端502在s607、s609和s612处解析时,客户端502然后可以解析所述@patchur1,根据示例性实施方式,所述@patchur1具有将远程eventstream元素添加至p2’来代替上面关于s601和s602所述的默认p2的一个或更多个指令。
[0070]
此外,当在s610处流式传输时,当客户端502在更新后的时段p2’处播放广告时,客
户端还可以接收如在s613处所确定的携带一个或更多个mpd更新事件的eventstream,并且因此,当在s613处并且从s612和s610中的任一个识别出这样的更新时,客户端502然后用新的p2”和对应地基于新的时段p2”的新的p3’更新mpd,该新的时段p2”可以比先前的时段p2和p2’中的任一个更长或更短。例如,由于s613处的所述更新指示s614处的更新是结束来自第二内容服务器503的广告的播放并返回到来自第一内容服务器501的内容,则在s611处可以确定结束,并且如果不结束,则广告流s610可以基于更新后的mpd信息继续。
[0071]
这样的特征有利地允许即使当从第二内容服务器502播放时客户端502也保持与第一内容服务器501的连接,由于在所述xlink解析之后被添加至时段的远程mpd eventstream元素,并且根据示例性实施方式,可以添加包含用于这样的目的的带内事件的自适应集(adaptation set)。例如,如果在s601处,处理将继续进行,使得可以以时段p1发布mpd,并且然后在某一点处,可以插入广告使得mpd被更新为具有三个时段(例如,p1、p2和p3),该三个时段全部表示实时内容,但是使得p2也具有到广告服务器例如第二内容服务器503的xlink,然后在提前终止的情况下,在s613到s614、到s611、到s601处,当客户端502在时段p2播放广告时,可以用新的p2(p2’)来更新mpd,该新的p2(p2’)与p2相比具有缩短的持续时间(使得mpd然后具有三个时段p1、p2’和p3),其中p3的新更新版本(p3’)具有比p3更早的开始时间,然后在这样的示例性场景中,在广告的回放期间,客户端502可以连接至广告服务器即第二内容服务器503,但是由于客户端502之后不从第一内容服务器501流式传输任何媒体,因此与图7中的其他示例性实施方式相比,客户端502可能不接收任何带内事件,使得由于p2’被由第二内容服务器503提供的时段(即,新的p2”)代替,客户端可以不在p2”期间接收任何mpd事件,并且因此,不利的是,客户端必须频繁地尝试从第一内容服务器501拉取mpd,例如任何mpd更新。这样的不利技术问题因此通过本文中关于示例性流程图600描述的这样的示例性实施方式来解决。
[0072]
图7示出了根据示例性实施方式的关于以上关于流程图600所讨论的更新和解析的流程图700。例如,如流程图700所示,在s701处,可以由客户端502接收具有如上所述的xlink和patchurl的mpd。因此,在s702处,基于来自s701的mpd,客户端可以响应来自xlink的url1,使得可以在s703处添加元素a’——即,例如指示客户端502访问第二内容服务器503的远程元素——来代替提供给客户端502的清单的默认信息。另外,在s704处,客户端502还可以串行或并行地解析从patchurl指示的ur12,以在s705处获得补丁,并且在s706处,将补丁应用于元素a’;其中根据示例性实施方式,这样的应用可以根据xml补丁过程产生元素a”。因此,在s707处,经打补丁的远程元素a”包括如图7所示的各种xml信息。然后,在s708处,可以用mpd中的更新后的、经打补丁的远程元素a”代替提供给客户端502的mpd中的默认a,使得在s709处,可以基于该新的远程元素a”来处理mpd。
[0073]
因此,考虑例如图6和图7的这样的特征,通过允许在远程元素被解析之后对其进行操纵(manipulate),使得因此所述元素的代替可以不完全移除先前更新的信息,并且通过保持由诸如第一内容服务器501的主服务器提供的至少一些性能,同时由诸如第二内容服务器503的另一服务器代替元素,实施方式得以改进本文中描述的技术缺点,并且示例性实施方式可以实现与xml、xlink和xml补丁特征的使用有关的这样的有利的技术效果,并且可能能够对应地添加、移除和代替其中的一个或更多个元素。另外,有利地在单独的文档中实现这样的指令的存储,该文档可以独立于最初提供或准备的上述清单而被修改或更新,
并且甚至通过保持来自诸如第一内容服务器501的实时服务器的媒体流并且保持定制每个客户端的所述补丁指令的附加技术优点,也可以发生在从诸如第二内容服务器503的广告服务器进行的流式传输期间保持到这样的实时服务器的连接的可能性。
[0074]
上述技术可以被实现为使用计算机可读指令的计算机软件并且物理地存储在一个或更多个计算机可读介质中,或者通过特别配置的一个或更多个硬件处理器来实现。例如,图8示出了适合于实现所公开主题的某些实施方式的计算机系统800。
[0075]
可以使用任何合适的机器代码或计算机语言来对计算机软件进行编码,计算机软件可以经受汇编、编译、链接等机制以创建包括指令的代码,该指令可以由计算机中央处理单元(central processing unit,cpu)、图形处理单元(graphics processing unit,gpu)等直接执行或者通过解译、微代码执行等来执行。
[0076]
可以在各种类型的计算机或其部件(包括例如个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等)上执行指令。
[0077]
图8中示出的用于计算机系统800的部件本质上是示例性的,并且不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。部件的配置也不应当被解释为具有与计算系统800的示例性实施方式中示出的部件中的任一个或组合有关的任何依赖性或要求。
[0078]
计算机系统800可以包括某些人机接口输入装置。这样的人机接口输入装置可以响应于由一个或更多个人类用户通过例如触觉输入(例如:击键、滑动、数据手套移动)、音频输入(例如:语音、掌声)、视觉输入(例如:姿势)、嗅觉输入(未描绘)的输入。人机接口装置还可以用于捕获不一定与人的有意识输入直接有关的某些媒体,例如音频(例如:话语、音乐、环境声音)、图像(例如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。
[0079]
输入人机接口装置可以包括以下中的一个或更多个(描绘了每个中的仅一个):键盘801、鼠标802、触控板803、触摸屏810、操纵杆805、麦克风806、扫描仪808、摄像装置807。
[0080]
计算机系统800还可以包括某些人机接口输出装置。这样的人机接口输出装置可以通过例如触觉输出、声音、光和气味/味道刺激一个或更多个人类用户的感官。这样的人机接口输出装置可以包括触觉输出装置(例如,通过触摸屏810或操纵杆805的触觉反馈,但是也可以存在不用作输入装置的触觉反馈装置)、音频输出装置(例如:扬声器809、头戴式耳机(未描绘))、视觉输出装置(例如,屏幕810,包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个屏幕具有或不具有触摸屏输入能力,每个屏幕具有或不具有触觉反馈能力——其中的一些可能能够输出二维视觉输出或者通过诸如立体输出的手段输出多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟罐(未描绘))和打印机(未描绘)。
[0081]
计算机系统800还可以包括人类可访问存储装置及其相关联的介质,例如包括具有cd/dvd 811的cd/dvd rom/rw 820等介质的光学介质、拇指驱动器822、可移除硬盘驱动器或固态驱动器823、传统磁介质例如磁带和软盘(未描绘)、基于专用rom/asic/pld的装置例如安全加密狗(未描绘)等。
[0082]
本领域技术人员还应当理解,结合当前公开主题使用的术语“计算机可读介质”不包含传输介质、载波或其他瞬态信号。
[0083]
计算机系统800还可以包括到一个或更多个通信网络898的接口899。网络898可以
例如是无线的、有线的、光学的。网络898还可以是局域的、广域的、城域的、车载和工业的、实时的、延时容忍的等。网络998的示例包括:诸如以太网的局域网,无线lan,包括gsm、3g、4g、5g、lte等的蜂窝网络,包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络,包括canbus的车载和工业网络等。某些网络898通常需要附接至某些通用数据端口或外围总线(850和851)(诸如,例如计算机系统800的usb端口)的外部网络接口适配器;其他通常通过如下所描述(例如,到pc计算机系统中的以太网接口或到智能电话计算机系统中的蜂窝网络接口)附接至系统总线而集成到计算机系统800的核中。使用这些网络898中的任一个,计算机系统800可以与其他实体进行通信。这样的通信可以是单向仅接收的(例如,广播电视)、单向仅发送的(例如,canbus到某些canbus装置)、或双向的,例如使用局域或广域数字网络到其他计算机系统。如上所描述的,某些协议和协议栈可以用在这些网络和网络接口中的每一个上。
[0084]
以上提及的人机接口装置、人类可访问存储装置和网络接口可以附接至计算机系统800的核840。
[0085]
核840可以包括一个或更多个中央处理单元(central processing unit,cpu)841、图形处理单元(graphics processing unit,gpu)842、图形适配器817、现场可编程门区域(field programmable gate area,fpga)843形式的专用可编程处理单元、用于某些任务的硬件加速器844等。这些装置以及只读存储器(read-only memory,rom)845、随机存取存储器846、诸如内部非用户可访问的硬盘驱动器、ssd等的内部大容量存储装置847可以通过系统总线848连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线848,以使得能够由附加的cpu、gpu等进行扩展。外围装置可以直接地或通过外围总线851附接至核的系统总线848。外围总线的架构包括pci、usb等。
[0086]
cpu 841、gpu 842、fpga843和加速器844可以执行某些指令,这些指令组合起来可以构成以上提及的计算机代码。该计算机代码可以存储在rom 845或ram 846中。过渡数据也可以存储在ram 846中,而永久数据可以存储在例如内部大容量存储装置847中。可以通过使用高速缓存存储器来实现对存储装置中的任何存储装置的快速存储和检索,该高速缓存存储器可以与一个或更多个cpu 841、gpu 842、大容量存储装置847、rom 845、ram 846等紧密相关联。
[0087]
计算机可读介质上可以具有计算机代码,该计算机代码用于执行各种计算机实现的操作。介质和计算机代码可以是为本公开内容的目的而专门设计和构造的介质和计算机代码,或者它们可以是计算机软件领域的技术人员公知和可用的类型。
[0088]
作为示例而非限制,具有架构的计算机系统800并且特别是核840,可以由于处理器(包括cpu、gpu、fpga、加速器等)执行一个或更多个有形计算机可读介质中包含的软件而提供功能。这样的计算机可读介质可以是与以下各项相关联的介质:如上面所介绍的用户可访问的大容量存储装置、以及核840的具有非暂态性质的某些存储装置例如核内部大容量存储装置847或rom 845。实现本公开内容的各种实施方式的软件可以存储在这样的装置中并且由核840执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器装置或芯片。软件可以使核840并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram 846中的数据结构以及根据通过软件限定的处理来修改这样的数据结构。另外地或者作为替选方案,计算机系统可以由于
以硬连线或者其他方式包含在电路(例如:加速器844)中的逻辑而提供功能,所述逻辑可以代替软件或与软件一起运行以执行本文中描述的特定处理或特定处理的特定部分。在适当的情况下,提及软件可以包含逻辑,并且反之,提及逻辑可以包含软件。在适当的情况下,提及计算机可读介质可以包含存储用于执行的软件的电路(例如集成电路(integrated circuit,ic))、实施用于执行的逻辑的电路或两者。本公开内容包含硬件和软件的任何合适的组合。
[0089]
尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等效物。因此将认识到,本领域技术人员能够设想虽然本文中没有明确示出或描述但是实施了本公开内容的原理并且因此在其精神和范围内的许多系统和方法。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献