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

用于通过HTTP的动态自适应流传输的方法和设备与流程

2022-12-20 12:24:56 来源:中国专利 TAG:

用于通过http的动态自适应流传输的方法和设备
1.相关申请的交叉引用
2.本技术要求于2021年9月23日提交的美国专利申请第17/483,334号“methods and apparatuses for dynamic adaptive streaming over http”的优先权的权益,该美国专利申请要求于2021年1月6日提交的美国临时申请第63/134,518号“cascaded session-based dash operations”的优先权的权益。在先申请的公开内容的全部内容通过引用并入本文。
技术领域
3.本公开内容描述了总体上涉及用于通过超文本传输协议的动态自适应流传输(dynamic adaptive streaming over hypertext transfer protocol,dash)的方法和设备的实施方式。


背景技术:

4.本文提供的背景描述是出于总体上呈现本公开内容的上下文的目的。当前署名的发明人的工作(在该背景部分中描述的工作的范围内)以及在提交时可能没有另外具备现有技术资格的本描述的方面既没有被明确地承认为本公开内容的现有技术,也没有被暗示地承认为本公开内容的现有技术。
5.运动图像专家组(mpeg)提供了用于在因特网协议(ip)网络上流传输多媒体内容的标准。该标准被称为通过超文本传输协议的动态自适应流传输(dash)标准。dash标准包括用于基于会话的dash操作的一部分。在基于会话的dash操作中,虽然媒体呈现文件(mpd)对于所有客户端是通用的,但是客户端可以获得侧文件,该侧文件为客户端提供指令以使mpd文件特定于客户端的会话。侧文件被称为基于会话的描述(sbd)文件。


技术实现要素:

6.本公开内容的一方面提供了用于接收媒体数据的设备。设备包括接收媒体呈现描述(mpd)文件的处理电路系统,所述mpd文件包括用于基于会话的通过超文本传输协议的动态自适应流传输(dash)操作的基本属性描述符。基本属性描述符与第一基于会话的描述(sbd)文件相关联并且指示将基于第一sbd文件修改统一资源定位符(url)的一部分。url的所述一部分是基于第二sbd文件生成的。处理电路系统基于第一sbd文件修改url的所述一部分。处理电路系统基于url的修改后的部分接收媒体数据。
7.在实施方式中,url的所述一部分是url的主机部分、端口部分、路径部分、片段部分或查询部分中之一。
8.在实施方式中,对于url的多个部分中的每一部分,基本属性描述符包括指示是否将基于第一sbd文件修改url的相应部分的不同属性。
9.在实施方式中,处理电路系统基于第二sbd文件的标识信息修改url的所述一部分,所述第二sbd文件的标识信息被包括在与url的所述一部分相对应的属性之一中。
10.在实施方式中,url的所述一部分用作生成url的修改后的部分的模板。
11.在实施方式中,基本属性描述符包括指示第一sbd文件的标识信息的属性。
12.在实施方式中,url的修改后的部分是基于第一sbd文件中包括的第一关键字-值对生成的,url的所述一部分是基于第二sbd文件中包括的第二关键字-值对生成的,并且第一关键字-值对和第二关键字-值对二者具有相同的关键字。
13.本公开内容的一方面提供了用于接收媒体数据的方法。该方法可以包括由设备执行的步骤中的一个或组合。在一种方法中,接收mpd文件。mpd文件包括用于基于会话的dash操作的基本属性描述符。基本属性描述符与第一sbd文件相关联并且指示将基于第一sbd文件修改url的一部分。url的所述一部分是基于第二sbd文件生成的。基于第一sbd文件修改url的部分。基于url的修改后的部分接收媒体数据。
14.本公开内容的一方面还提供了一种存储指令的非暂态计算机可读介质,所述指令在由计算机执行以接收媒体数据时使计算机执行用于接收媒体数据的方法中的任何一种或组合。
附图说明
15.根据以下详细描述和附图,所公开主题的其他特征、性质和各种优点将更加明显,在附图中:
16.图1示出了根据本公开内容的实施方式的示例性通过超文本传输协议的动态自适应流传输(dash)系统;
17.图2示出了根据本公开内容的实施方式的另一示例性基于会话的dash系统;
18.图3示出了根据本公开内容的实施方式的示例性dash客户端架构;
19.图4示出了根据本公开内容的实施方式的示例性级联的基于会话的dash操作;
20.图5示出了概述根据一些实施方式的过程示例的流程图;以及
21.图6是根据实施方式的计算机系统的示意图。
具体实施方式
22.i.通过超文本传输协议的动态自适应流传输(dash)和媒体呈现描述(mpd)
23.通过超文本传输协议的动态自适应流传输(dash)是一种自适应比特率流传输技术,该技术使得能够使用超文本传输协议(hypertext transfer protocol,http)基础设施例如web服务器、内容分发网络(content delivery network,cdn)、各种代理和缓存等来流传输媒体内容。dash支持从dash服务器到dash客户端的点播流媒体和直播流媒体二者,并且允许dash客户端控制流传输会话,使得dash服务器不需要在大规模部署下应对流自适应管理的额外负载。dash还允许dash客户端选择来自各种dash服务器的流传输,并且因此进一步实现网络的负载平衡,以使dash客户端收益。dash例如通过改变比特率以适应网络条件来提供不同媒体轨道之间的动态切换。
24.在dash中,媒体呈现描述(mpd)文件为dash客户端提供信息以通过从dash服务器下载媒体片段来自适应地流传输媒体内容。mpd文件可以被分成片段并且分批交付,以减少会话启动延迟。mpd文件也可以在流传输会话期间被更新。在一些示例中,mpd文件支持内容可访问性特征、评级和相机视图的表达。dash还支持多视图和可缩放编码内容的交付。
25.mpd文件可以包含一个或更多个时段的序列。一个或更多个时段中的每个时段可以由mpd文件中的时段元素定义。mpd文件可以包括mpd的availablestarttime(可用开始时间)属性和每个时段的开始属性。对于动态类型的媒体呈现(例如,用于直播服务),时段的开始属性和mpd属性availablestarttime之和以及媒体片段的持续时间可以以协调世界时(coordinated universal time,utc)格式指示时段的可用时间,特别是指示对应时段中的每个表示的第一媒体片段。对于静态类型的媒体呈现(例如,用于点播服务),第一时段的开始属性可以为0。对于任何其他时段,开始属性可以指定对应时段的开始时间相对于第一时段的开始时间之间的时间偏移。每个时段可以延伸到下一个时段的开始,或者在最后一个时段的情况下,延伸到媒体呈现结束。时段开始时间可以是精确的,并且反映由播放所有先前时段的媒体所产生的实际时间。
26.每个时段可以包含一个或更多个自适应集,并且自适应集中的每一个可以包含相同媒体内容的一个或更多个表示。表示可以是音频或视频数据的多个替选编码版本之一。表示可以因编码类型例如视频数据的比特率、分辨率和/或编解码器以及音频数据的比特率和/或编解码器而不同。术语表示可以用于指代与多媒体内容的特定时段对应并以特定方式编码的一段编码音频或视频数据。
27.可以将特定时段的自适应集分配给由mpd文件中的组属性指示的组。同一组中的自适应集通常被认为是彼此的替选。例如,可以将特定时段的视频数据的每个自适应集分配给同一组,使得可以选择任何自适应集进行解码以显示对应时段的多媒体内容的视频数据。在一些示例中,一个时段内的媒体内容可以由来自组0(如果存在的话)的一个自适应集来表示或者来自每个非零组的至多一个自适应集的组合来表示。可以相对于时段的开始时间来表示针对时段的每个表示的定时数据。
28.表示可以包括一个或更多个片段。每个表示可以包括初始化片段,或者表示的每个片段可以是自行初始化的。当存在时,初始化片段可以包含用于访问表示的初始化信息。在某些情况下,初始化片段不包含媒体数据。片段可以由标识符例如统一资源定位符(uniform resource locator,url)、统一资源名称(uniform resource name,urn)或统一资源标识符(uniform resource identifier,uri)唯一地引用。mpd文件可以为每个片段提供标识符。在一些示例中,mpd文件还可以以范围属性的形式提供字节范围,字节范围可以与通过url、urn或uri可访问的文件内的片段的数据对应。
29.每个表示还可以包括一个或更多个媒体分量,其中每个媒体分量可以对应于一种单独媒体类型例如音频、视频或定时文本(例如,用于隐藏字幕)的编码版本。媒体分量可以跨一个表示内的连续媒体片段的边界是时间连续的。
30.在一些实施方式中,dash客户端可以从dash服务器访问和下载mpd文件。也就是说,dash客户端可以检索mpd文件以在启动实时会话时使用。基于mpd文件,并且对于每个选定的表示,dash客户端可以做出若干个决定,包括:确定服务器上可用的最新片段是什么,确定下一片段和可能的未来片段的片段可用开始时间,确定何时开始播放片段以及从片段中的哪个时间线开始播放,以及确定何时获得/取得新的mpd文件。一旦服务被播放,客户端可以保持追踪直播服务与其自身的播放之间的偏差,该偏差需要被检测和补偿。
31.ii.基于会话的dash操作和基于会话的描述(sbd)
32.注意,mpd文件对于所有dash客户端可以是通用的。为了使mpd文件特定于dash客
户端的会话,运动图像专家组(mpeg)提供了基于会话的dash操作。在基于会话的dash操作中,dash客户端可以接收侧文件(诸如基于会话的描述(sbd)文件),该侧文件为dash客户端提供指令以为每个会话和可能的每个客户端定制mpd文件。然而,在一些相关示例中,基于会话的dash操作是特定于应用的。也就是说,对于每个新的应用,需要新的sbd格式。
33.本公开内容包括用于使用sbd信息扩展sbd会话以定制片段url之外的不同类的url的方法。
34.图1示出了根据本公开内容的实施方式的示例性dash系统(100)。在dash系统(100)中,mpd文件被从dash服务器(101)(例如,内容服务器)发送至dash客户端(102)。dash客户端(102)可以基于mpd文件从dash服务器(101)接收媒体片段。dash客户端(102)可以向dash服务器(101)发送用于更新mpd文件的请求。dash服务器(101)可以提供内容流,包括主要内容(例如,主程序)和一个或更多个定时元数据轨道。另外,dash客户端(102)可以从dash服务器(101)或第三方(例如会话控制器)接收sbd文件。
35.根据本公开内容的方面,sbd文件可以包括多个时间范围和对应的关键字-值对(或名称-值对)以及附加元数据。可以通过例如url在mpd文件中引用sbd文件。sbd文件可以用于将由dash客户端(102)接收的mpd文件定制成特定于dash客户端(102)的会话。例如,sbd文件可以允许将特定于会话的元素添加到片段url,而无需生成每个会话的唯一的mpd。
36.图2示出了根据本公开内容的实施方式的另一示例性基于会话的dash操作架构200。在基于会话的dash操作架构200中,多媒体内容由内容生成装置(201)(例如智能电话)准备和生成,该内容生成装置(201)可以包括音频源(例如麦克风)和视频源(例如视频摄像机)。多媒体内容可以由内容生成装置(201)存储或被发送至可以存储各种多媒体内容的内容服务器(202)。内容服务器(202)可以从客户端装置例如dash访问客户端(203)接收对多媒体内容的一个或更多个媒体片段的请求。多媒体内容由mpd文件来描述,mpd文件可以由内容服务器(202)存储和更新,并且由包括dash访问客户端(203)的客户端装置访问以检索媒体片段。
37.为了检索特定于会话的媒体片段,dash访问客户端(203)可以向sbd客户端(204)(例如会话客户端)发送对访问sbd文件的请求,sbd文件由sbd客户端(204)接收并且包括针对当前会话的多个时间范围和对应的关键字-值对。例如,dash访问客户端(203)可以向sbd客户端(204)发送关键字名称和时间范围,然后sbd客户端(204)解析关键字名称和时间范围,并向dash访问客户端(203)返回与关键字名称和时间范围对应的值。dash访问客户端(203)可以在对片段url的查询中包括该值,当片段请求是http get或部分get请求时,该值可以被发送至内容服务器(202)以请求特定于会话的媒体片段。
38.注意,sbd客户端(204)可以从不同的会话控制器例如会话控制器(205)和会话控制器(206)接收多个sbd文件。
39.根据本公开内容的方面,内容服务器(202)(例如,dash服务器)的任何特征或所有特征可以被实现在内容分发网络(cdn)的一个或更多个装置例如路由器、桥接器、代理装置、交换机或其他装置上。内容服务器(202)可以包括请求处理单元,该请求处理单元被配置成从客户端装置(例如,dash访问客户端(203))接收网络请求。例如,请求处理单元可以被配置成接收http get或部分get请求并且响应于请求提供多媒体内容的数据。请求可以使用片段的url来指定片段。在一些示例中,请求还可以指定片段的一个或更多个字节范
围,因此包括部分get请求。请求处理单元还可以被配置成服务http head请求以提供片段的报头数据。
40.在一些实施方式中,内容生成装置(201)和内容服务器(202)可以通过无线网络或有线网络耦接,或者可以直接通信耦接。
41.在一些实施方式中,内容生成装置(201)和内容服务器(202)可以被包括在同一装置中。
42.在一些实施方式中,内容服务器(202)和会话控制器(205)至(206)可以被包括在同一装置中。
43.在一些实施方式中,内容服务器(202)和dash访问客户端(203)可以通过无线网络或有线网络耦接。
44.在一些实施方式中,sbd客户端(204)和会话控制器(205)至(206)可以通过无线网络或有线网络耦接,或者可以直接通信耦接。
45.在一些实施方式中,dash访问客户端(203)和sbd客户端(204)可以被包括在同一装置中。
46.根据本公开内容的方面,为了将多个sbd链接至mpd,可以在mpd级别处使用用于基于会话的dash的一个或更多个基本属性描述符,并且用于基于会话的dash的每个基本属性描述符包括类似或相同的基本属性描述符属性。注意,呈现描述符可以是基本属性描述符或补充属性描述符。对于基本属性,媒体呈现作者表达描述符的成功处理对于正确使用包含该描述符的父元素中的信息至关重要,除非该元素与其他基本属性元素共享相同的@id。相比之下,对于补充属性,媒体呈现作者表达描述符包含补充信息,dash客户端可以使用这些补充信息进行优化处理。
47.图3示出了根据本公开内容的实施方式的示例性dash客户端架构。dash客户端(或dash播放器)可以被配置成与应用(312)通信并处理各种类型的事件,包括(i)mpd事件、(ii)带内事件以及(iii)定时元数据事件。
48.清单解析器(310)可以解析清单(例如,mpd)。例如,清单可以由dash服务器(101)提供。清单解析器(310)可以提取关于mpd事件、带内事件和嵌入在定时元数据轨道中的定时元数据事件的事件信息。所提取的事件信息可以被提供给dash逻辑(311)(例如,dash播放器控制、选择和启发逻辑)。dash逻辑(311)可以基于事件信息向应用(312)通知清单中用信令通知的事件方案。
49.事件信息可以包括用于区分不同事件流的事件方案信息。应用(312)可以使用事件方案信息来订阅感兴趣的事件方案。应用(312)还可以通过一个或更多个订阅应用编程接口(api)为每个订阅方案指示期望的调度模式。例如,应用(312)可以向dash客户端发送订阅请求,该订阅请求标识感兴趣的一个或更多个事件方案和任何期望的对应调度模式。
50.如果应用(312)订阅作为一个或更多个定时元数据轨道的一部分交付的一个或更多个事件方案,则带内事件和

moof’解析器(303)可以将一个或更多个定时元数据轨道流传输至定时元数据轨道解析器(304)。例如,带内事件和

moof’解析器(303)解析电影片段框(“moof”),并且随后基于来自dash逻辑(311)的控制信息解析定时元数据轨道。
51.定时元数据轨道解析器(304)可以提取定时元数据轨道中嵌入的事件消息。所提取的事件消息可以被存储在事件和定时元数据缓冲器(306)中。同步器/调度器模块(308)
(例如,事件和定时元数据同步器和调度器)可以将订阅事件调度(或发送)至应用(312)。
52.mpd中描述的mpd事件可以由清单解析器(310)解析并被存储在事件和定时元数据缓冲器(306)中。例如,清单解析器(310)解析mpd的每个事件流元素,并且解析每个事件流元素中描述的每个事件。对于mpd中用信令通知的每个事件,诸如呈现时间和事件持续时间的事件信息可以与事件相关联地存储在事件和定时元数据缓冲器(306)中。
53.带内事件和

moof’解析器(303)可以解析媒体片段以提取带内事件消息。任何这样识别的带内事件以及相关联的呈现时间和持续时间可以被存储在事件和定时元数据缓冲器(306)中。
54.因此,事件和定时元数据缓冲器(306)可以在其中存储mpd事件、带内事件和/或定时元数据事件。事件和定时元数据缓冲器(306)可以是例如先进先出(fifo)缓冲器。可以与媒体缓冲器(307)相对应地管理事件和定时元数据缓冲器(306)。例如,只要媒体片段存在于媒体缓冲器(307)中,与该媒体片段对应的任何事件或定时元数据可以被存储在事件和定时元数据缓冲器(306)中。
55.dash访问api(302)可以管理通过http协议栈(201)获取和接收包括媒体内容和各种元数据的内容流(或数据流)。dash访问api(302)可以将接收到的内容流分成不同的数据流。提供给带内事件和

moof’解析器(303)的数据流可以包括媒体片段、一个或更多个定时元数据轨道以及媒体片段中包括的带内事件信令。在实施方式中,提供给清单解析器(310)的数据流可以包括mpd。
56.dash访问api(302)可以将清单转发给清单解析器(310)。除了描述事件之外,清单还可以向dash逻辑(311)提供关于媒体片段的信息,dash逻辑(311)可以与应用(312)以及带内事件和

moof’解析器(303)通信。应用(312)可以与由dash客户端处理的媒体内容相关联。应用(312)、dash逻辑(311)、清单解析器(310)和dash访问api(302)之间交换的控制/同步信号可以基于关于清单中提供的媒体片段的信息来控制从http栈(201)获取媒体片段。
57.带内事件和

moof’解析器(303)可以将媒体数据流解析成包括媒体内容的媒体片段、定时元数据轨道中的定时元数据以及媒体片段中的任何用信令通知的带内事件。包括媒体内容的媒体片段可以由文件格式解析器(305)解析并被存储在媒体缓冲器(307)中。
58.存储在事件和定时元数据缓冲器(306)中的事件可以允许同步器/调度器(308)通过事件/元数据api向应用(312)传送与应用(312)相关的可用事件(或感兴趣的事件)。应用(312)可以被配置成处理可用事件(例如,mpd事件、带内事件或定时元数据事件),并通过通知同步器/调度器(308)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(306)中的与应用(312)无关但反而与dash客户端本身相关的任何事件可以由同步器/调度器(308)转发给dash逻辑(311)以进行进一步处理。
59.响应于应用(312)订阅特定事件,同步器/调度器(308)可以向应用(312)传送与应用(312)已经订阅的事件方案对应的事件实例(或定时元数据样本)。事件实例可以根据默认调度模式或由(例如,对特定事件方案的)订阅请求指示的调度模式来传送。例如,在接收调度模式中,事件实例可以在接收在事件和定时元数据缓冲器(306)中时被发送至应用(312)。另一方面,在启动调度模式中,事件实例可以在它们相关联的呈现时间(例如与来自媒体解码器(309)的定时信号同步地)被发送至应用(312)。
60.注意,在dash客户端架构中,粗数据流线指示媒体数据流,窄数据流线指示事件和
值对来修改基于sbd1中的一个或更多个第一关键字-值对生成的第一内容部分。可以使用sbd2中的一个或更多个第二关键字-值对生成第二内容部分,该第二内容部分被添加到url2的查询的经修改的第一内容部分的末尾。可替选地,可以使用sbd2中的一个或更多个第二关键字-值对来修改url2的其他部分例如url2的主机部分、端口部分、路径部分或片段部分之一。
68.通过使用级联的基于会话的dash操作,url的查询的修改过程可以不同于一些相关示例,在一些相关示例中通过使用加法操作将所有sbd1、sbd2和sbd3应用于url1的查询。也就是说,sbd1、sbd2和sbd3中的关键字-值对分别以特定顺序添加到url1的查询的末尾。在相关示例中,首先将sbd1中的一个或更多个第一关键字-值对添加到url1的查询的末尾,然后将sbd2中的一个或更多个第二关键字-值对添加到一个或更多个第一关键字-值对的末尾,最后将sbd3中的一个或更多个第三关键字-值对添加到一个或更多个第二关键字-值对的末尾。
69.在图4中,将两个sbd文件(sbd2和sbd3)应用于url2以产生url3。在其他实施方式中,可以将任何其他数目的sbd文件(例如,仅一个sbd文件或多于两个sbd文件)应用于url2以产生url3。在实施方式中,如果将多于一个sbd文件应用于url2,则可以基于包括描述符的mpd文件中的与多于一个sbd文件相关联的描述符的出现顺序来确定将多于一个sbd文件应用于url2的顺序。例如,如果将三个sbd文件(例如,第一sbd文件、第二sbd文件和第三sbd文件)应用于url2,与第一sbd文件相关联的第一基本属性描述符出现在与第二sbd文件相关联的第二基本属性描述符之前,以及第二基本属性描述符出现在与第三sbd文件相关联的第三基本属性描述符之前,则在第二sbd文件之前将第一sbd文件应用于url2,在第三sbd文件之前将第二sbd文件应用于url2。
70.在一些实施方式中,url可以包括主机部分、端口部分、路径部分、路径部分和/或片段部分。例如,典型的url可以被表示为uri=scheme:[//authority]path[?query][#fragment],其中authority部分可以被表示为authority=[userinfo@]host[:port]。
[0071]
根据本公开内容的方面,在级联的基于会话的dash操作中,可以将sbd文件应用于url的主机部分、端口部分、路径部分、片段部分或查询部分中的一个或更多个。
[0072]
根据本公开内容的方面,可以使用与sbd文件相关联的基本属性描述符用信令通知级联的基于会话的dash操作。表1示出了用于用信令通知级联的基于会话的dash操作的示例性基本属性描述符。在表1中,可以使用诸如@id的标识属性来指示sbd文件(例如,第一sbd文件)的标识信息。另外,可以使用诸如@cascade、@hostcascade、@portcascade、@pathcascade或@fragmentcascade之一的级联属性来用信令通知级联的基于会话的dash操作。例如,如果第一级联值@cascade存在并且包括另一sbd文件(例如,第二sbd文件)的标识信息,即,第一sbd文件中的@cascade=第二sbd文件中的@id,则可以基于第一sbd文件来修改基于第二sbd文件生成的url的查询部分。基于第二sbd文件生成的查询部分可以用作修改中的模板,来代替第一sbd文件中的第一模板属性@template中指示的模板。在这种情况下,第二sbd文件可以被称为级联自sbd文件,而第一sbd文件可以被称为级联至sbd文件。如果第一级联属性@cascade不存在或者没有sbd文件具有与第一sbd文件中的第一级联属性@cascade的值相同的标识信息,则不将第一sbd文件应用于url的查询部分。
[0073]
类似地,如果第二级联属性@hostcascade存在并且包括另一sbd文件(例如,第二
sbd文件)的标识信息,即,第一sbd文件中的@hostcascade=第二sbd文件中的@id,则可以基于第一sbd文件来修改基于第二sbd文件生成的url的主机部分。基于第二sbd文件生成的主机部分可以用作修改中的模板,来代替第一sbd文件中的第二模板属性@hosttemplate中指示的模板。如果第二级联属性@hostcascade不存在或者没有sbd文件具有与第一sbd文件中的第二级联属性@hostcascade的值相同的标识信息,则不将第一sbd文件应用于url的主机部分。
[0074]
类似地,如果第三级联属性@portcascade存在并且包括另一sbd文件(例如,第二sbd文件)的标识信息,即,第一sbd文件中的@portcascade=第二sbd文件中的@id,则可以基于第一sbd文件来修改基于第二sbd文件生成的url的端口部分。基于第二sbd文件生成的端口部分可以用作修改中的模板,来代替第一sbd文件中的第三模板属性@porttemplate中指示的模板。如果第三级联属性@portcascade不存在或者没有sbd文件具有与第一sbd文件中的第三级联属性@portcascade的值相同的标识信息,则不将第一sbd文件应用于url的端口部分。
[0075]
类似地,如果第四级联属性@pathcascade存在并且包括另一sbd文件(例如,第二sbd文件)的标识信息,即,第一sbd文件中的@pathcascade=第二sbd文件中的@id,则可以基于第一sbd文件来修改基于第二sbd文件生成的url的路径部分。基于第二sbd文件生成的路径部分可以用作修改中的模板,来代替第一sbd文件中的第四模板属性@pathtemplate中指示的模板。如果第四级联属性@pathcascade不存在或者没有sbd文件具有与第一sbd文件中的第四级联属性@pathcascade的值相同的标识信息,则不将第一sbd文件应用于url的路径部分。
[0076]
类似地,如果第五级联属性@fragmentcascade存在并且包括另一sbd文件(例如,第二sbd文件)的标识信息,即,第一sbd文件中的@fragmentcascade=第二sbd文件中的@id,则可以基于第一sbd文件来修改基于第二sbd文件生成的url的片段部分。基于第五sbd文件生成的片段部分可以用作修改中的模板,来代替第一sbd文件中的第五模板属性@fragmenttemplate中指示的模板。如果第五级联属性@fragmentcascade不存在或者没有sbd文件具有与第一sbd文件中的第五级联属性@fragmentcascade的值相同的标识信息,则不将第一sbd文件应用于url的片段部分。
[0077]
表1
[0078]
[0079]
[0080]
[0081]
[0082]
[0083]
[0084][0085]
本公开内容包括用于级联的基于会话的dash操作的方法。在该方法中,可以将级联至sbd文件应用于基于级联自sbd文件生成的url的一部分(例如,查询部分)。基于级联自sbd文件生成的url的一部分可以用作级联至sbd文件中的模板。级联自sbd的标识信息可以被包括在级联至sbd中。通过使用这种方式,可以对url的查询部分或各个部分执行两个或更多个级联的基于会话的dash操作。
[0086]
iv.流程图
[0087]
图5示出了概述根据本公开内容的实施方式的过程(500)的流程图。在各种实施方式中,过程(500)由处理电路系统例如dash客户端(102)中的处理电路系统来执行。在一些实施方式中,过程(500)以软件指令实现,因此当处理电路系统执行软件指令时,处理电路系统执行过程(500)。
[0088]
过程(500)通常可以从(s510)开始,其中过程(500)接收mpd文件,所述mpd文件包括用于基于会话的dash操作的基本属性描述符。基本属性描述符与第一sbd文件相关联,并且指示将基于第一sbd文件修改url的一部分。url的所述一部分是基于第二sbd文件生成的。然后,过程(500)进行至步骤(s520)。
[0089]
在步骤(s520)处,过程(500)基于第一sbd文件修改url的所述一部分。然后,过程(500)进行至步骤(s530)。
[0090]
在步骤(s530)处,过程(500)基于url的修改后的部分接收媒体数据。
[0091]
然后,过程(500)终止。
[0092]
在实施方式中,url的所述一部分是url的主机部分、端口部分、路径部分、片段部分或查询部分中之一。
[0093]
在实施方式中,对于url的多个部分中的每一部分,基本属性描述符包括指示是否将基于第一sbd文件修改url的相应部分的不同属性。
[0094]
在实施方式中,过程(500)基于第二sbd文件的标识信息修改url的所述一部分,第二sbd文件的标识信息被包括在与url的部分相对应的属性之一中。
[0095]
在实施方式中,url的所述一部分被用作生成url的修改后的部分的模板。
[0096]
在实施方式中,基本属性描述符包括指示第一sbd文件的标识信息的属性。
[0097]
在实施方式中,url的修改后的部分是基于第一sbd文件中包括的第一关键字-值对生成的,url的所述一部分是基于第二sbd文件中包括的第二关键字-值对生成的,并且第一关键字-值对和第二关键字-值对二者具有相同的关键字。
[0098]
v.计算机系统
[0099]
上述技术可以使用计算机可读指令被实现为计算机软件并且被物理地存储在一个或更多个计算机可读介质中。例如,图6示出了适于实现所公开的主题的某些实施方式的计算机系统(600)。
[0100]
计算机软件可以使用任何合适的机器代码或计算机语言来编码,可以对任何合适的机器代码或计算机语言进行汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或者通过解译、微代码执行等来执行。
[0101]
指令可以在各种类型的计算机或其组件(包括例如个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等)上执行。
[0102]
图6中示出的计算机系统(600)的组件本质上是示例性的,而不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。组件的配置也不应当被解释为具有与计算机系统(600)的示例性实施方式中所示的组件中的任何一个或组合相关的任何依赖性或要求。
[0103]
计算机系统(600)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:键击、轻扫、数据手套移动)、音频输入(诸如:语音、拍手)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人类有意识的输入直接有关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
[0104]
输入人机接口设备可以包括以下(每者仅描绘了一个)中的一个或更多个:键盘(601)、鼠标(602)、触控板(603)、触摸屏(610)、数据手套(未示出)、操纵杆(605)、麦克风(606)、扫描仪(607)和摄像装置(608)。
[0105]
计算机系统(600)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(610)、数据手套(未示出)或操纵杆(605)的触觉反馈,但是还可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(609)、头戴式耳机(未描绘))、视觉输出设备(诸如屏幕(610),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个屏幕具有或不具有触屏输入能力,每个屏幕具有或不具有触觉反馈能力,其中的一些屏幕可能能够通过诸如立体图形输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘))、以及打印机(未描绘)。这些视觉输出设备(例如屏幕(610))可以通过图形适配器(650)连接至系统总线(648)。
[0106]
计算机系统(600)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有cd/dvd等介质(621)的cd/dvd rom/rw(620)的光学介质、拇指驱动器(622)、可移动硬
盘驱动器或固态驱动器(623)、传统磁性介质(例如磁带和软盘(未描绘))、基于专用rom/asic/pld的设备(例如安全加密狗(未描绘))等。
[0107]
本领域技术人员还应当理解,结合当前公开的主题所使用的术语“计算机可读介质”不包含传输介质、载波、或其他瞬态信号。
[0108]
计算机系统(600)还可以包括到一个或更多个通信网络(655)的网络接口(654)。一个或更多个通信网络(655)可以是例如无线的、有线的、光学的。一个或更多个通信网络(655)还可以是本地的、广域的、城市的、车载的和工业的、实时的、延迟容忍的等。一个或更多个通信网络(655)的示例包括:诸如以太网的局域网、无线lan、蜂窝网络(包括gsm、3g、4g、5g、lte等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括can总线)等。某些网络通常需要附接至某些通用数据端口或外围总线(649)(诸如,例如计算机系统(600)的usb端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,集成到pc计算机系统的以太网接口或集成到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(600)的核中。使用这些网络中的任何网络,计算机系统(600)可以与其他实体进行通信。这样的通信可以是单向的仅接收的(例如,广播电视)、单向仅发送的(例如,到某些can总线设备的can总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
[0109]
上述人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(600)的核(640)。
[0110]
核(640)可以包括一个或更多个中央处理单元(cpu)(641)、图形处理单元(gpu)(642)、现场可编程门阵列(fpga)(643)形式的专用可编程处理单元、用于某些任务的硬件加速器(644)等。这些设备连同只读存储器(rom)(645)、随机存取存储器(646)、内部大容量存储装置(647)(诸如内部非用户可访问硬盘驱动器、ssd等)可以通过系统总线(648)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(648),以使得能够通过附加的cpu、gpu等进行扩展。外围设备可以直接地或通过外围总线(649)附接至核的系统总线(648)。外围总线的架构包括pci、usb等。
[0111]
cpu(641)、gpu(642)、fpga(643)和加速器(644)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom(645)或ram(646)中。过渡数据也可以存储在ram(646)中,而永久数据可以存储在例如内部大容量存储装置(647)中。可以通过使用高速缓存存储器来实现对存储器设备中的任何存储器设备的快速存储及检索,该高速缓存存储器可以与一个或更多个cpu(641)、gpu(642)、大容量存储装置(647)、rom(645)、ram(646)等紧密相关联。
[0112]
计算机可读介质上可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是针对本公开内容的目的而专门设计和构建的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可获得的类型。
[0113]
作为示例而非限制,具有架构的计算机系统(600)并且特别是核(640)可以提供作为处理器(包括cpu、gpu、fpga、加速器等)执行在一个或更多个有形计算机可读介质中实施的软件的结果的功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问大容量存储装置相关联的介质、以及核(640)的具有非暂态性的某些存储装置,诸如核内部大容量
存储装置(647)或rom(645)。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并且由核(640)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(640)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文中描述的特定处理或特定处理的特定部分,包括限定存储在ram(646)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选方案,计算机系统可以提供作为硬连线或以其他方式在电路(例如:加速器(644))中实施的逻辑的结果的功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在合适的情况下,对软件的提及可以涵盖逻辑,或者对逻辑的提及可以涵盖软件。在合适的情况下,对计算机可读介质的提及可以涵盖存储要执行的软件的电路(例如集成电路(ic))、实施要执行的逻辑的电路、或上述二者。本公开内容涵盖硬件和软件的任何合适的组合。
[0114]
尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等同物。因此将理解,本领域技术人员能够设想虽然本文中没有明确示出或描述但是实施本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献