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

文档序号:32482768发布日期:2022-12-09 23:38阅读:42来源:国知局
用于通过HTTP的动态自适应流传输的方法和设备与流程
用于通过http的动态自适应流传输的方法和设备
1.相关申请的交叉引用
2.本技术要求于2021年9月16日提交的美国专利申请第17/477,288号“methods and apparatuses for dynamic adaptive streaming over http”的优先权的权益,该美国专利申请要求于2021年1月5日提交的美国临时申请第63/134,049号“a method for extending the session-based dash operations to different url classes”的优先权的权益。在先申请的公开内容以其全部内容通过引用并入本文。
技术领域
3.本公开内容描述了总体上涉及用于通过超文本传输协议的动态自适应流传输(dynamic adaptive streaming over hypertext transfer protocol,dash)的方法和设备的实施方式。


背景技术:

4.本文提供的背景描述是出于总体上呈现本公开内容的上下文的目的。当前署名的发明人的工作(在该背景部分中描述的工作的范围内)以及在提交时可能没有另外具备现有技术资格的本描述的方面既没有被明确地承认为本公开内容的现有技术,也没有被暗示地承认为本公开内容的现有技术。
5.运动图像专家组(moving picture expert group,mpeg)的通过超文本传输协议的动态自适应流传输(dash)提供了用于在ip网络上流传输多媒体内容的标准。dash标准允许在媒体片段中携带事件消息框。


技术实现要素:

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

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

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

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

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

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

moof’解析器(303)可以将媒体数据流解析成包括媒体内容的媒体片段、定时元数据轨道中的定时元数据以及媒体片段中的任何用信令通知的带内事件。包括媒体内容的媒体片段可以由文件格式解析器(305)解析并被存储在媒体缓冲器(307)中。
57.存储在事件和定时元数据缓冲器(306)中的事件可以允许同步器/调度器(308)通过事件/元数据api向应用(312)传送与应用(312)相关的可用事件(或感兴趣的事件)。应用(312)可以被配置成处理可用事件(例如,mpd事件、带内事件或定时元数据事件),并通过通知同步器/调度器(308)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(306)中的与应用(312)无关但反而与dash客户端本身相关的任何事件可以由同步器/调度器(308)转发给dash逻辑(311)以进行进一步处理。
58.响应于应用(312)订阅特定事件,同步器/调度器(308)可以向应用(312)传送与应用(312)已经订阅的事件方案对应的事件实例(或定时元数据样本)。事件实例可以根据默认调度模式或由(例如,对特定事件方案的)订阅请求指示的调度模式来传送。例如,在接收调度模式中,事件实例可以在接收在事件和定时元数据缓冲器(306)中时被发送至应用(312)。另一方面,在启动调度模式中,事件实例可以在它们相关联的呈现时间(例如与来自
媒体解码器(309)的定时信号同步地)被发送至应用(312)。
59.注意,在dash客户端架构中,粗数据流线指示媒体数据流,窄数据流线指示事件和定时元数据数据流,以及破折号数据流线指示控制和同步。另外,相同的处理模型可以用于cmaf事件。
60.iii.url的url类的信令
61.基于会话的dash操作是为每个会话和可能的每个客户端定制mpd的重要方法。然而,在一些相关示例中,可以仅允许在sbd会话中定制片段请求url。
62.本公开内容包括使用sbd信息扩展sbd会话以定制除片段请求url之外的不同类的url的方法。
63.根据本公开内容的方面,要定制的url的类可以从sbd操作(查询或url定制或二者)概括或扩展到除片段请求之外的不同类的url请求。
64.因此,可以允许sbd操作应用于以下类的url请求中的一个或更多个:(i)片段请求;(ii)可扩展标记语言链接语言(xlink)解析请求;(iii)mpd请求;(iv)由dash回调事件触发的所有请求;(v)对链接至mpd的所有请求;以及(vi)对回退mpd的所有请求。
65.每个url类可以定义一个或更多个url,dash客户端使用这些url来请求具有相同目的例如片段、xlink解析等的资源。
66.dash回调事件是内容中的指示,即dash客户端预期向给定url发出http get请求并忽略http响应。内容作者可以使用这样的事件来获知未包括在媒体路径中的服务器上的特定内容的回放。
67.mpd链接提供指示在一个媒体呈现结束时新的媒体呈现开始的机制。该结束可以是常规结束,或者是由于错误情况而提前终止。为了实现这种机制,“链接自”mpd可以包括指向“链接至”mpd位置的基本或补充描述符。
68.mpd链接可以包括两种情况:常规链接和回退链接。常规链接是指在“链接自”mpd结束时播放“链接至”mpd的操作。回退链接是指如下操作:“链接至”mpd仅在“链接自”mpd由于错误情况而提前终止时才播放。
69.根据本公开内容的方面,可以在mpd文件中包括的基本属性描述符中指示url的url类。基本属性描述符被用于基于会话的dash操作,并且指示针对sbd会话的sbd文件。注意,呈现描述符可以是基本属性描述符或补充属性描述符。对于基本属性,媒体呈现作者表达描述符的成功处理对于正确使用包含该描述符的父元素中的信息至关重要,除非该元素与其他基本属性元素共享相同的@id。相比之下,对于补充属性,媒体呈现作者表达描述符包含补充信息,dash客户端可以使用这些补充信息进行优化处理。
70.表1示出了包括用于指定适用的url类的属性的示例性基本属性描述符。在表中,属性@urlclass可以指定哪个url类应经历sbd处理。属性@urlclass的不同值可以指示允许的不同url类。例如,属性@urlclass的值“xlink”指示url的类是xlink解析请求。属性@urlclass的默认值是“片段”,其指示url的类是媒体片段请求。
71.表1
72.73.[0074][0075]
[0076]
根据本公开内容的方面,sbd文件可以具有用于其时间线的两个模型:基于时间的和基于顺序的。每个sbd文件可以使用基于时间的或基于顺序的时间线,但不能同时使用二者。基于顺序的时间线也称为顺序线。sbd客户端可以基于sbd文件的时间线或顺序线来执行sbd处理。
[0077]
在基于时间的时间线的情况下,可以使用时间范围来标识sbd文件中包括的多个关键字-值对中之一。因此,当sbd客户端处理url请求时,url请求的url类对url请求处理没有任何影响。也就是说,混合各种url类对由sbd客户端执行的url处理没有任何影响。
[0078]
然而,在基于顺序的时间线的情况下,使用顺序编号来标识sbd文件中包括的多个关键字-值对中之一。多个关键字-值对中之一的顺序编号可以取决于url请求的url类。因此,对于url请求的sbd处理可以有两种场景。
[0079]
在可以称为不同url类处理的第一场景中,可以基于url的url类来处理url。sbd处理仅前进属于同一类而不是其他类的url的顺序线(基于顺序的时间线)。在实施方式中,每个url类可以对应于指向相应url类的关键字-值对的单独虚拟指针。例如,媒体片段url类可以具有指向用于属于媒体片段url类的第一先前url类的第一关键字-值对的第一虚拟指针,并且xlink解析url类可以具有指向用于属于xlink解析url类的第二先前url类的第二关键字-值对的第二虚拟指针。如果当前url类属于媒体片段url类,则第一虚拟指针根据顺序线移动到第一关键字-值对旁边的第三关键字-值对,并且第一虚拟指针所指向的第三关键字-值对可以用于当前url类。如果当前url类属于xlink解析url类,则第二虚拟指针根据顺序线移动到第二关键字-值对旁边的第四关键字-值对,并且第二虚拟指针所指向的第四关键字-值对可以用于当前url类。因此,以此方式,如果下一个url来自与当前url不同的类,则当前url的sbd处理对下一个url的sbd处理没有影响。
[0080]
在可以称为集体url类处理的第二场景中,可以按顺序处理url,而与url的url类无关。在实施方式中,所有url类可以共享指向最新的先前url的关键字-值对的同一虚拟指针。例如,如果一个关键字-值对用于最新的先前url,则根据顺序线,一个关键字-值对旁边的另一关键字-值对可以用于当前url,而不管当前url和最新的先前url是否属于同一url类。因此,以此方式,当前url的sbd处理可以改变下一个url的sbd处理的结果,而与下一个url的url类无关。这是由于在不考虑url类的情况下针对每个url处理的基于顺序的时间线的前进。
[0081]
表2示出了包括指示sbd处理的不同处理或集体处理的属性的示例性顺序线模型。在表2中,当属性collective被设置为“真”时,可以基于集体url类处理来处理url。当属性collective被设置为“假”时,可以基于不同url类处理来处理url。属性collective的默认值被设置为“假”。
[0082]
表2
[0083][0084][0085]
根据本公开内容的方面,提供了将sbd处理扩展到除片段请求之外的不同类的url
请求的方法。在该方法中,扩展的类可以包括片段请求、xlink解析请求、mpd请求、由dash回调事件触发的请求、对链接至mpd的请求以及对回退mpd的请求。可以在清单(例如mpd文件中包括的基本属性描述符)中用信令通知一个或更多个url类,使得sbd客户端可以将sbd处理应用于属于这些类的url。sbd处理包括url定制和添加url查询。
[0086]
根据本公开内容的方面,提供了用于url类的顺序线处理的第一种方法。在第一种方法中,可以使用顺序线表来处理每个接收到的url。该表可以前进到下一个条目,而与url类无关。可以使用标志(例如sbd文件中的属性)用信令通知第一种处理方法。
[0087]
根据本公开内容的方面,提供了用于url类的顺序线处理的第二种方法。在第二种方法中,每个接收到的不同类的url可以使用与其他类分开的顺序线表进行处理。该表可以仅针对属于同一类(而不针对其他类)的接收到的url而前进到下一个条目。可以使用标志(例如sbd文件中的属性)用信令通知第二种处理方法。
[0088]
iv.流程图
[0089]
图4示出了概述根据本公开内容的实施方式的过程(400)的流程图。在各种实施方式中,过程(400)由处理电路系统例如dash客户端(102)中的处理电路系统来执行。在一些实施方式中,过程(400)以软件指令来实现,因此当处理电路系统执行软件指令时,处理电路系统执行过程(400)。过程(400)在(s401)处开始,其中,过程(400)接收mpd文件,该mpd文件包括指示sbd文件的基本属性描述符。基本属性描述符包括指示用于请求资源的url请求的类的属性。所述类标识所请求资源的类型。然后,过程(400)进行至步骤(s420)。
[0090]
在步骤(s420)处,过程(400)基于sbd文件和基本属性描述符中包括的属性中指示的类来生成url请求。然后,过程(400)进行至步骤(s430)。
[0091]
在步骤(s430)处,过程(400)将url请求发送至服务器以请求由url请求的类标识的类型的资源。然后,过程(400)结束。
[0092]
在实施方式中,url请求的类指示url请求的类型是媒体片段请求、xlink解析请求、mpd请求、由回调事件触发的回调请求、对链接至mpd的链接请求或者对回退mpd的回退请求中之一。
[0093]
在实施方式中,过程(400)选择sbd文件中包括的多个关键字-值对中的第一关键字-值对,并基于第一关键字-值对生成url请求。
[0094]
在实施方式中,多个关键字-值对在sbd文件中按顺序排列。多个关键字-值对中的每一对具有相应的顺序编号。sbd文件包括指示是否基于url请求的类选择多个关键字-值对中的第一关键字-值对的属性。
[0095]
在实施方式中,sbd文件中包括的属性指示基于url请求的类选择多个关键字-值对中的第一关键字-值对。过程(400)确定多个关键字-值对中的第二关键字-值对。第二关键字-值对用于生成与该url请求具有相同的类的先前url请求。过程(400)基于第二关键字-值对的顺序编号选择多个关键字-值对中的第一关键字-值对。
[0096]
在实施方式中,sbd文件中包括的属性指示不基于url请求的类选择多个关键字-值对中的第一关键字-值对。过程(400)确定多个关键字-值对中的第三关键字-值对,第三关键字-值对用于生成最新的先前url请求。过程(400)基于第三关键字-值对的顺序编号选择多个关键字-值对中的第一关键字-值对。
[0097]
在实施方式中,基本属性描述符中包括的属性的默认值指示url请求的类是媒体
片段请求类。
[0098]
v.计算机系统
[0099]
上述技术可以使用计算机可读指令被实现为计算机软件并且被物理地存储在一个或更多个计算机可读介质中。例如,图5示出了适于实现所公开的主题的某些实施方式的计算机系统(500)。
[0100]
计算机软件可以使用任何合适的机器代码或计算机语言来编码,可以对任何合适的机器代码或计算机语言进行汇编、编译、链接等机制以创建包括指令的代码,所述指令可以由一个或更多个计算机中央处理单元(cpu)、图形处理单元(gpu)等直接执行或者通过解译、微代码执行等来执行。
[0101]
指令可以在各种类型的计算机或其组件(包括例如个人计算机、平板电脑、服务器、智能电话、游戏设备、物联网设备等)上执行。
[0102]
图5中示出的计算机系统(500)的组件本质上是示例性的,而不旨在对实现本公开内容的实施方式的计算机软件的使用范围或功能提出任何限制。组件的配置也不应当被解释为具有与计算机系统(500)的示例性实施方式中所示的组件中的任何一个或组合相关的任何依赖性或要求。
[0103]
计算机系统(500)可以包括某些人机接口输入设备。这样的人机接口输入设备可以响应于由一个或更多个人类用户通过例如触觉输入(诸如:键击、轻扫、数据手套移动)、音频输入(诸如:语音、拍手)、视觉输入(诸如:姿势)、嗅觉输入(未描绘)进行的输入。人机接口设备还可以用于捕获不一定与人类有意识的输入直接有关的某些媒体,诸如音频(诸如:语音、音乐、环境声音)、图像(诸如:扫描图像、从静态图像摄像装置获得的摄影图像)、视频(诸如二维视频、包括立体视频的三维视频)。
[0104]
输入人机接口设备可以包括以下(每者仅描绘一个)中的一个或更多个:键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和摄像装置(508)。
[0105]
计算机系统(500)还可以包括某些人机接口输出设备。这样的人机接口输出设备可以通过例如触觉输出、声音、光和气味/味道来刺激一个或更多个人类用户的感觉。这样的人机接口输出设备可以包括:触觉输出设备(例如,通过触摸屏(510)、数据手套(未示出)或操纵杆(505)的触觉反馈,但是还可以存在不用作输入设备的触觉反馈设备)、音频输出设备(诸如:扬声器(509)、头戴式耳机(未描绘))、视觉输出设备(诸如屏幕(510),包括crt屏幕、lcd屏幕、等离子屏幕、oled屏幕,每个屏幕具有或不具有触屏输入能力,每个屏幕具有或不具有触觉反馈能力,其中的一些屏幕可能能够通过诸如立体图形输出的方式输出二维视觉输出或多于三维输出;虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘))、以及打印机(未描绘)。这些视觉输出设备(例如屏幕(510))可以通过图形适配器(550)连接至系统总线(548)。
[0106]
计算机系统(500)还可以包括人类可访问存储设备及其相关联的介质,例如包括具有cd/dvd等介质(521)的cd/dvd rom/rw(520)的光学介质、拇指驱动器(522)、可移动硬盘驱动器或固态驱动器(523)、传统磁性介质(例如磁带和软盘(未描绘))、基于专用rom/asic/pld的设备(例如安全加密狗(未描绘))等。
[0107]
本领域技术人员还应当理解,结合当前公开的主题所使用的术语“计算机可读介
质”不包含传输介质、载波、或其他瞬态信号。
[0108]
计算机系统(500)还可以包括到一个或更多个通信网络(555)的网络接口(554)。一个或更多个通信网络(555)可以是例如无线的、有线的、光学的。一个或更多个通信网络(555)还可以是本地的、广域的、城市的、车载的和工业的、实时的、延迟容忍的等。一个或更多个通信网络(555)的示例包括:诸如以太网的局域网、无线lan、蜂窝网络(包括gsm、3g、4g、5g、lte等)、电视有线或无线广域数字网络(包括有线电视、卫星电视和地面广播电视)、车载的和工业的(包括can总线)等。某些网络通常需要附接至某些通用数据端口或外围总线(549)(诸如,例如计算机系统(500)的usb端口)的外部网络接口适配器;其他网络通常通过附接至如下所述的系统总线(例如,集成到pc计算机系统的以太网接口或集成到智能电话计算机系统的蜂窝网络接口)而集成到计算机系统(500)的核中。使用这些网络中的任何网络,计算机系统(500)可以与其他实体进行通信。这样的通信可以是单向的仅接收的(例如,广播电视)、单向仅发送的(例如,到某些can总线设备的can总线)、或双向的(例如,使用局域数字网络或广域数字网络到其他计算机系统)。可以在如上所述的这些网络和网络接口中的每一个上使用某些协议和协议栈。
[0109]
上述人机接口设备、人类可访问存储设备和网络接口可以附接至计算机系统(500)的核(540)。
[0110]
核(540)可以包括一个或更多个中央处理单元(cpu)(541)、图形处理单元(gpu)(542)、现场可编程门阵列(fpga)(543)形式的专用可编程处理单元、用于某些任务的硬件加速器(544)等。这些设备连同只读存储器(rom)(545)、随机存取存储器(546)、内部大容量存储装置(547)(诸如内部非用户可访问硬盘驱动器、ssd等)可以通过系统总线(548)连接。在一些计算机系统中,可以以一个或更多个物理插头的形式访问系统总线(548),以使得能够通过附加的cpu、gpu等进行扩展。外围设备可以直接地或通过外围总线(549)附接至核的系统总线(548)。外围总线的架构包括pci、usb等。
[0111]
cpu(541)、gpu(542)、fpga(543)和加速器(544)可以执行某些指令,这些指令组合起来可以构成上述计算机代码。该计算机代码可以存储在rom(545)或ram(546)中。过渡数据也可以存储在ram(546)中,而永久数据可以存储在例如内部大容量存储装置(547)中。可以通过使用高速缓存存储器来实现对存储器设备中的任何存储器设备的快速存储及检索,该高速缓存存储器可以与一个或更多个cpu(541)、gpu(542)、大容量存储装置(547)、rom(545)、ram(546)等紧密相关联。
[0112]
计算机可读介质上可以在其上具有用于执行各种计算机实现的操作的计算机代码。介质和计算机代码可以是针对本公开内容的目的而专门设计和构建的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可获得的类型。
[0113]
作为示例而非限制,具有架构的计算机系统(500)并且特别是核(540)可以提供作为处理器(包括cpu、gpu、fpga、加速器等)执行在一个或更多个有形计算机可读介质中实施的软件的结果的功能。这样的计算机可读介质可以是与如以上所介绍的用户可访问大容量存储装置相关联的介质、以及核(540)的具有非暂态性的某些存储装置,诸如核内部大容量存储装置(547)或rom(545)。实现本公开内容的各种实施方式的软件可以存储在这样的设备中并且由核(540)执行。根据特定需要,计算机可读介质可以包括一个或更多个存储器设备或芯片。软件可以使核(540)并且特别是其中的处理器(包括cpu、gpu、fpga等)执行本文
中描述的特定处理或特定处理的特定部分,包括限定存储在ram(546)中的数据结构以及根据由软件限定的处理修改这样的数据结构。另外地或作为替选方案,计算机系统可以提供作为硬连线或以其他方式在电路(例如:加速器(544))中实施的逻辑的结果的功能,该逻辑可以代替软件或与软件一起操作以执行本文中描述的特定处理或特定处理的特定部分。在合适的情况下,对软件的提及可以涵盖逻辑,或者对逻辑的提及可以涵盖软件。在合适的情况下,对计算机可读介质的提及可以涵盖存储要执行的软件的电路(例如集成电路(ic))、实施要执行的逻辑的电路、或上述二者。本公开内容涵盖硬件和软件的任何合适的组合。
[0114]
尽管本公开内容已经描述了若干示例性实施方式,但是存在落入本公开内容的范围内的改变、置换和各种替换等同物。因此将理解,本领域技术人员能够设想虽然本文中没有明确示出或描述但是实施本公开内容的原理并且因此在本公开内容的精神和范围内的许多系统和方法。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1