用于通过http的动态自适应流的方法和装置

文档序号:425867 发布日期:2021-12-21 浏览:3次 >En<

阅读说明:本技术 用于通过http的动态自适应流的方法和装置 (Method and apparatus for dynamic adaptive streaming over HTTP ) 是由 伊拉吉·索达加 于 2020-10-15 设计创作,主要内容包括:本公开的各方面提供用于接收媒体数据的方法、装置和非暂时性计算机可读存储介质。该装置包括处理电路,处理电路接收媒体呈现描述(MPD)文件,在MPD文件中,基本属性描述符包括指示基于会话的描述(SBD)文件的统一资源定位符(URL)信息的属性。SBD文件包括一组或多组密钥值对。处理电路基于URL信息接收SBD文件。处理电路基于SBD文件向服务器发送请求。(Aspects of the present disclosure provide methods, apparatuses, and non-transitory computer-readable storage media for receiving media data. The apparatus includes processing circuitry to receive a Media Presentation Description (MPD) file in which a base attribute descriptor includes an attribute indicating Uniform Resource Locator (URL) information of a Session Based Description (SBD) file. The SBD file includes one or more sets of key value pairs. The processing circuit receives the SBD file based on the URL information. The processing circuit sends a request to the server based on the SBD file.)

用于通过HTTP的动态自适应流的方法和装置

相关申请的交叉引用

本申请要求于2020年10月6日提交的标题为“METHODS AND APPARATUSES FORDYNAMIC ADAPTIVE STREAMING OVER HTTP”的美国专利申请第17/063,995号(其要求了于2020年1月6日提交的标题为“SIMPLIFIED MULTI-LEVEL SBD AND QUERY SIGNALING INMPD”的美国临时申请第62/957,666号的优先权权益)的优先权权益。在先申请的全部公开内容通过引用整体并入本文中。

技术领域

本公开描述了总体上涉及用于基于超文本传输协议的动态自适应流(DASH)的方法和装置的实施例。

背景技术

本文所提供的背景描述是出于总体上呈现本公开的背景的目的。在该背景部分中描述的作品范围内,目前命名的发明人的作品以及提交之时不可另行具备现有技术资格的本描述的各方面既未明确、亦未默示地承认为本公开的现有技术。

运动图像专家组(MPEG)基于超文本传输协议的动态自适应流(DASH)提供了用于在IP网络上流传输多媒体内容的标准。在DASH标准中,媒体呈现描述(MPD)用于给DASH客户端提供信息,以通过从DASH服务器下载媒体片段来自适应地流传输媒体内容。然而,对于所有DASH客户端,MPD是通用的。因此,DASH客户端可获取诸如基于会话的描述(SBD)文件的侧文件,该侧文件给客户端提供指令,以使MPD是该会话所特有的。

发明内容

本公开的各方面提供了装置。一种装置包括处理电路,处理电路接收媒体呈现描述(MPD)文件,在MPD文件中,基本属性描述符包括对基于会话的描述(SBD)文件指示统一资源定位符(URL)信息的属性。SBD文件包括一组或多组密钥值对。处理电路基于URL信息接收SBD文件。处理电路基于SBD文件向服务器发送请求。

在一个实施例中,基本属性描述符处于MPD级别、周期级别、自适应设置级别和表示级别中的一个级别。

在一个实施例中,基于SBD文件和基本属性描述符所包括的密钥值元素,来构造对请求的查询。

在一个实施例中,确定基本属性描述符所包括的标识(ID)属性的值是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值。

在一个实施例中,基于基本属性描述符所包括的ID属性的值被确定为对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值,确定密钥值元素所包括的密钥列表属性中的期望密钥是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的一个密钥;

在一个实施例中,基于密钥值元素所包括的密钥列表属性中的期望密钥被确定为对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥,基于与SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥相关联的值,来构造对请求的查询。

在一个实施例中,基于密钥值元素所包括的密钥列表属性中的期望密钥被确定为不对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的任何密钥,基于与密钥值元素所包括的密钥列表属性中的期望密钥相关联的默认值,来构造对请求的查询。

在一个实施例中,基于密钥值元素所包括的ID属性的值被确定为不对应于SBD文件中的一组或多组密钥值对所包括的ID属性的任何值,确定密钥值元素所包括的密钥列表属性是否包括至少一个期望密钥。

在一个实施例中,基于密钥值元素所包括的密钥列表属性被确定为包括至少一个期望密钥,基于与密钥值元素所包括的密钥列表属性中的至少一个期望密钥中的每个期望密钥相关联的默认值,来构造对请求的查询。

在一个实施例中,SBD文件的多用途因特网邮件扩展(MIME)类型不用信号表示。

本公开的各方面提供了用于接收媒体数据的方法。在一种方法中,接收MPD文件,在MPD文件中,基本属性描述符包括对SBD文件指示URL信息的属性。SBD文件包括一组或多组密钥值对。基于URL信息接收SBD文件。基于SBD文件向服务器发送请求。

本公开的各方面还提供了一种非暂时性计算机可读介质,非暂时性计算机可读介质存储指令,指令在由用于接收媒体数据的计算机执行时,使得计算机执行任何一种用于接收媒体数据的方法或方法的组合。

附图说明

通过以下详细描述和附图,所公开的主题的进一步特征、性质和各种优点将更加明显,在附图中:

图1示出了根据本公开的实施例的示例性基于超文本传输协议的动态自适应流(DASH)系统;

图2示出了根据本公开的实施例的另一示例性DASH系统;

图3示出了根据一些实施例的概述过程示例的流程图;

图4示出了根据一些实施例的概述过程示例的另一流程图;以及

图5是根据实施例的计算机系统的示意图。

具体实施方式

I.基于超文本传输协议的动态自适应流(DASH)和媒体呈现描述(MPD)

基于超文本传输协议的动态自适应流(DASH)是一种自适应比特率流传输技术,其能够使用超文本传输协议(HTTP)基础设施(例如Web服务器、内容分发网络(CDN)、各种代理和高速缓存等)流传输媒体内容。DASH支持从DASH服务器到DASH客户端的点播和直播流媒体,并允许DASH客户端控制流会话,使得DASH服务器不需要在大规模部署的情况下应对额外的流自适应管理负载。Dash还允许DASH客户端选择来自各种DASH服务器的流传输,因此实现网络的进一步负载均衡,以使DASH客户端受益。DASH例如通过改变比特率以适应网络条件,来提供不同媒体轨道之间的动态切换。

在DASH中,媒体呈现描述(MPD)文件给DASH客户端提供信息,以通过从DASH服务器下载媒体片段来自适应地流传输媒体内容。MPD文件可在某种程度上分成片段并分发,以减少会话启动延迟。MPD文件还可在流会话期间被更新。在一些示例中,MPD文件支持内容可访问性特征、评级和相机视图的表达。DASH还支持多视图和可缩放编码内容的分发。

MPD文件可包含一个或多个周期的序列。一个或多个周期中的每个周期可由MPD文件中的周期元素定义。MPD文件可包括MPD的availableStartTime属性和每个周期的开始属性。对于动态类型的媒体呈现(例如,用于直播服务),周期的开始属性和MPD属性availableStartTime之和以及媒体片段的持续时间可以以协调通用时间(UTC)格式指示周期的可用性时间,特别是指示对应周期中每个表示的第一媒体片段。对于静态类型的媒体呈现(例如,用于点播服务),第一周期的开始属性可以是0。对于任何其他周期,开始属性可指定相应周期的开始时间相对于第一周期的开始时间之间的时间偏移。在最后一个周期的情况下,每个周期可延伸到下一个周期的开始,或者延伸到媒体呈现的结束。周期开始时间可以是精确的并反映播放所有先前周期的媒体所产生的实际定时。

每个周期可包含一个或多个自适应集,每个自适应集可包含用于相同媒体内容的一个或多个表示。表示可以是音频或视频数据的多个可选编码版本中的一个。这些表示可通过编码类型来区分,例如通过用于视频数据的比特率、分辨率和/或编解码器以及用于音频数据的比特率和/或编解码器来区分。术语“表示”可用于指代对应于多媒体内容的特定周期并以特定方式编码的一段编码音频或视频数据。

特定周期的自适应集可分配给由MPD文件中的组属性指示的组。通常认为同一组中的自适应集可替代彼此。例如,特定周期内的视频数据的每个自适应集可分配给同一组,使得可选择任何自适应集来进行解码,以显示相应周期内的多媒体内容的视频数据。在一些示例中,一个周期内的媒体内容可由来自组0(如果存在的话)的一个自适应集来表示,或者由来自每个非零组的至多一个自适应集的组合来表示。一个周期的每个表示的定时数据可相对于该周期的开始时间来表示。

表示可包括一个或多个片段。每个表示可包括初始化片段,或者表示的每个片段可以自我初始化。当存在时,初始化片段可包含用于访问表示的初始化信息。在一些情况下,初始化片段不包含媒体数据。片段可由诸如统一资源定位符(URL)、统一资源名称(URN)或统一资源标识符(URI)的标识符唯一地引用。MPD文件可给每个片段提供标识符。在一些示例中,MPD文件还可以以范围属性的形式提供字节范围,该范围可对应于URL、URN或URI可访问的文件内的片段的数据。

每个表示还可包括一个或多个媒体组件,其中每个媒体组件可对应于一个独立媒体类型的编码版本,例如音频、视频或定时文本(例如,用于隐藏字幕)。媒体组件可以以时间连续的方式跨越一个表示内的多个连续媒体片段的边界。

在一些实施例中,DASH客户端可从DASH服务器访问和下载MPD文件。也就是说,DASH客户端可检索MPD文件以用于发起直播会话。基于MPD文件,且对于每个所选择的表示,DASH客户端可做出若干决策,包括确定服务器上可用的最新片段是什么,确定下一个片段和可能的未来片段的片段可用性开始时间,确定何时开始播放片段和从片段中的哪个时间线开始播放,以及确定何时获得/获取新的MPD文件。一旦服务被播放,客户端可跟踪直播服务和它自己的播放之间的漂移,这种漂移需要被检测和补偿。

II.基于会话的DASH操作和基于会话的描述(SBD)

应注意,对于所有DASH客户端,MPD文件可以是通用的。为了使MPD文件是DASH客户端的会话所特有的,运动图像专家组(MPEG)提供基于会话的DASH操作。在基于会话的DASH操作中,DASH客户端可接收诸如基于会话的描述(SBD)文件的侧文件,侧文件给DASH客户端提供指令,以定制每个会话以及可能的每个客户端的MPD文件。

图1示出了根据本公开的实施例的示例性基于会话的DASH系统(100)。在基于会话的DASH系统(100)中,MPD文件从DASH服务器(101)(例如,内容服务器)发送到DASH客户端(102)。DASH客户端(102)可基于MPD文件从DASH服务器(101)接收媒体片段。DASH客户端(102)可以向DASH服务器(101)发送更新MPD文件的请求。另外,DASH客户端(102)可从DASH服务器(101)或第三方(例如,会话控制器)接收SBD文件。

应注意,多个DASH服务器可发送MPD文件和媒体片段,因此MPD文件和媒体片段可从不同的DASH服务器发送到DASH客户端(102)。另外,接收从DASH客户端(102)发送的请求的DASH服务器可以不同于发送媒体片段的DASH服务器。

根据本公开的各方面,SBD文件可包括多个时间范围和对应的密钥值对(或名称值对)以及附加元数据。SBD文件可由例如URL在MPD文件中引用。SBD文件可用于定制由DASH客户端(102)接收的MPD文件,使之是DASH客户端(102)的会话所特有的。例如,SBD文件可允许添加会话特有的元素来对URL进行分段,但不生成每个会话唯一的MPD。

图2示出了根据本公开的实施例的另一示例性基于会话的DASH系统(200)。在基于会话的DASH系统(200)中,多媒体内容由内容生成设备(201)(例如,智能手机)准备和生成,内容生成设备(201)可包括音频源(例如,麦克风)和视频源(例如,视频相机)。多媒体内容可由内容生成设备(201)存储,或者发送到可存储各种多媒体内容的内容服务器(202)。内容服务器(202)可从客户端设备(例如,DASH访问客户端(203))接收对多媒体内容的一个或多个媒体片段的请求。多媒体内容由MPD文件描述,MPD文件可由内容服务器(202)存储和更新并由包括DASH访问客户端(203)的客户端设备访问以检索媒体片段。

为了检索会话特有的媒体片段,DASH访问客户端(203)可以向SBD客户端(204)(例如,会话客户端)发送用于访问SBD文件的请求,SBD文件由SBD客户端(204)接收并包括当前会话的多个时间范围和对应的密钥值对。例如,DASH访问客户端(203)可以向SBD客户端(204)发送密钥名称和时间范围,然后SBD客户端(204)解析密钥名称和时间范围并向DASH访问客户端(203)返回与密钥名称和时间范围对应的值。DASH访问客户端(203)可包括对片段URL的查询中的值,当片段请求是HTTP GET或部分GET请求时,该值可发送到内容服务器(202)以请求会话特有的媒体片段。

应注意,SBD客户端(204)可从不同的会话控制器(诸如会话控制器(205)和会话控制器(206))接收多个SBD文件。

根据本公开的各方面,内容服务器(202)(例如,DASH服务器)的任何或所有特征可以在内容分发网络(CDN)的一个或多个设备上实现,设备例如是路由器、网桥、代理设备、交换机或其他设备。内容服务器(202)可包括请求处理单元,请求处理单元配置成从客户端设备(例如,DASH访问客户端(203))接收网络请求。例如,请求处理单元可配置成接收HTTPGET或部分GET请求,并响应于该请求提供多媒体内容的数据。请求可使用片段的URL来指定片段。在一些示例中,请求还可指定片段的一个或多个字节范围,因此包括部分GET请求。请求处理单元可进一步配置成服务于HTTP HEAD请求以提供片段的报头数据。

在一些实施例中,内容生成设备(201)和内容服务器(202)可通过无线网络或有线网络耦合,或者可直接通信耦合。

在一些实施例中,内容生成设备(201)和内容服务器(202)可包括在同一设备中。

在一些实施例中,内容服务器(202)和会话控制器(205)-(206)可包括在同一设备中。

在一些实施例中,内容服务器(202)和DASH接入客户端(203)可通过无线网络或有线网络耦合。

在一些实施例中,SBD客户端(204)和会话控制器(205)-(206)可通过无线网络或有线网络耦合,或者可直接通信耦合。

在一些实施例中,DASH接入客户端(203)和SBD客户端(204)可包括在同一设备中。

III.SBD信令和查询构造

在一些相关示例中,MPD文件中的某些描述符(例如基本属性描述符)被限制为MPD级别。另外,针对发送到DASH服务器(例如DASH服务器(101)或(202))的请求的查询的构造可能过于复杂。为了用信号表示可接收SBD文件的SBD URL地址和一个或多个期望的密钥值对,可使用基本属性描述符中的新元素。

本公开提供了用于简化SBD URL地址的信令的方法,该方法通过使用顶级描述符中的属性且能够以多个级别使用顶级描述符来简化SBD URL地址的信令。例如,可允许以MPD级别、周期级别、自适应设置级别和表示级别中的一个或多个级别使用相同的顶级描述符。SBD URL地址可以明确地在顶级描述符中的属性中用信号表示,例如通过使用基本属性描述符的值属性而在顶级描述符中的属性中用信号表示。此外,可以在顶级描述符的子元素中用信号表示用于构造对请求的查询的期望密钥。顶级描述符的子元素还可包括对应于期望密钥的默认值。如果在SBD文件中找到期望密钥,则对应于SBD文件中的期望密钥的值可用于构造对请求的查询。否则,如果在SBD文件中没有找到密钥,则顶级描述符的子元素中的默认值可用于构造对请求的查询。

根据本公开的各方面,顶级描述符可以是基本属性描述符,用于用信号表示SBDURL地址的属性可以是基本属性描述符的值属性。顶级描述符的子元素可以是基本属性描述符中的密钥值元素。密钥值元素可包括指示一个或多个期望密钥的密钥列表属性和指示一个或多个期望密钥中的每个期望密钥的默认值的默认值属性。

表1示出了根据本公开的实施例的用于基于会话的DASH操作的示例性顶级描述符。

表1

在表1中,基本属性描述符包括方案属性@schemeIdUri,其可设置为例如“urn:mpeg:dash:sbd:2019”。SBD文件的URL由基本属性描述符中的值属性@value指示。基于URL地址,诸如DASH客户端(102)或SBD客户端(204)的客户端可接收SBD文件。此外,基本属性描述符包括密钥值元素KeyValuePair,密钥值元素KeyValuePair可用于获取SBD文件中的一个或多个基于会话的参数,例如多个密钥值对。例如,密钥值元素可包括密钥列表属性,密钥列表属性指示用于构造对请求的查询的一个或多个密钥。对于一个或多个密钥中的每一个密钥,密钥值元素还可包括相应密钥的默认值。如果可以在SBD文件中找到由密钥列表属性指示的密钥,则与SBD文件中的密钥相关联的值可用于构造对请求的查询。否则,与密钥值元素中的密钥相关联的默认值可用于构造对请求的查询。

表2示出了根据本公开的实施例的用于基于会话的DASH操作的示例性密钥值元素。

表2

在表2中,密钥值元素用于提供与应用于对请求的查询中的相同时间范围(例如,相同(子)片段)的多个参数相关的信息。密钥值元素包括标识(ID)属性@id、密钥列表属性@keyList和默认值属性@default。密钥列表属性可指示一个或多个期望密钥,默认值属性可指示一个或多个期望密钥中的每个期望密钥的默认值。ID属性用于选择SBD文件中的一组密钥值对。

在一个实施例中,SBD文件可包括一组或多组密钥值对,每个组对应于不同的时间间隔(例如,时间线)或片段顺序(例如,顺序线),并由相应组的ID属性标识。因此,如果密钥值元素中的ID属性的值对应于SBD文件中的一组密钥值对的ID属性的值(例如,[email protected]),则可选择这一组密钥值对来构造对请求的查询。然而,如果密钥值元素中的ID属性的值不对应于SBD文件中的一组或多组密钥值对的ID属性的任何值,则可检查密钥值元素中的密钥列表属性。如果密钥值元素中的密钥列表属性指示一个或多个期望密钥,则与默认值属性所指示的一个或多个期望密钥中的每个期望密钥相关联的值可用于构造对请求的查询。如果密钥值元素中的密钥列表属性没有指示任何期望密钥,则不向请求添加查询。

在一个实施例中,如果密钥值元素中的ID属性的值对应于SBD文件中的一组密钥值对的ID属性的值(例如,[email protected]),则选择SBD文件中的这一组密钥值对来构造对请求的查询。然后,如果密钥值元素中的密钥列表属性没有指示任何期望密钥,则SBD文件中所选择的整组密钥值对可用于构造对请求的查询。

然而,如果密钥值元素中的密钥列表属性指示一个或多个期望密钥,则可确定一个或多个期望密钥中的每个期望密钥是否可以在SBD文件中所选择的一组密钥值对的密钥列表属性中找到。如果一个或多个期望密钥中的一个期望密钥对应于SBD文件中所选择的一组密钥值对的密钥列表属性所指示的一个密钥,则与SBD文件中所选择的一组密钥值对的密钥列表属性所指示的这个密钥相关联的值可用于构造对请求的查询。例如,查询中的密钥值对中的密钥和关联值可由'='分隔。如果可以在SBD文件中所选择的一组密钥值对的密钥列表属性中找到一个或多个期望密钥中的多个密钥,则查询中的每两个连续的密钥值对可由例如'&'分隔。查询中的密钥值对的顺序可由SBD文件定义。然而,如果一个或多个期望密钥中的一个期望密钥不对应于SBD文件中所选择的一组密钥值对的密钥列表属性所指示的任何密钥,则与密钥值元素中的默认值属性所指示的、一个或多个期望密钥中的这个期望密钥相关联的默认值可用于构造针对所有时间范围的片段的查询。

根据本公开的各方面,SBD文件的多用途因特网邮件扩展(MIME)类型不用信号表示。在一个实施例中,SBD文件的MIME类型可以预定义,例如文本/xml+sbd用于可扩展标记语言(XML),应用/json+sbd用于JavaScript对象表示法(JSON)。因此,服务器和客户端侧应用均可识别MIME类型,并不需要用信号表示MPD中的SBD文件的MIME类型。

本公开提供了用于简化SBD文件的URL信息的信令的方法,该方法通过使用MPD中的顶级描述符的属性(例如,基本属性描述符中的值属性)来简化SBD文件的URL信息的信令。因此,URL信息可以在顶级元素处进行解析,并不需要在子元素处进行解析,从而使DASH客户端实现更紧凑的表示(例如,MPD)、更快的解析过程以及更低的存储器要求。

此外,可以以多个级别使用顶级描述符。例如,可以以MPD级别、周期级别、自适应设置级别和表示级别中的一个或多个级别使用顶级描述符。因此,可以不使用用于SBD的其他描述符。例如,补充属性描述符可不以周期级别来用于SBD。

应注意,以诸如自适应级别的较低级别使用的第一顶级描述符可覆盖以诸如MPD级别的较高级别使用的第二顶级描述符。第一顶级描述符和第二顶级描述符可具有相同的属性,但是对于一个属性,第一顶级描述符和第二顶级描述符可具有不同的值。

根据本公开的各方面,用于查询构造的期望密钥可以明确地在顶级描述符的子元素中用信号表示,从而使DASH客户端实现更紧凑的表示、更简单的内容创建过程以及更低的处理复杂度。

根据本公开的各方面,SBD文件的MIME类型不在MPD中用信号表示。SBD文件的MIME类型可以是单一的预定义类型,使得对SBD文件的处理和文件管理变得更简单,且MPD不需要识别SBD文件,从而使DASH客户端实现更简单的表示、一致的文件处理,以及使DASH服务器和DASH客户端实现更容易的文件管理和处理。

V.流程图

图3示出了根据本公开的一些实施例的概述过程(300)的流程图。在各种实施例中,过程(300)由处理电路例如DASH客户端(102)中的处理电路执行。在一些实施例中,过程(300)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(300)。过程(300)在(S310)开始,在(S310)过程(300)接收MPD文件,在MPD文件中,基本属性描述符包括对SBD文件指示URL信息的属性,SBD文件包括一组或多组密钥值对。然后,过程(300)前进到步骤(S320)。

在步骤(S320),过程(300)基于URL信息接收SBD文件。然后,过程(300)前进到步骤(S330)。

在步骤(S330),过程(300)基于SBD文件向服务器发送请求。然后,过程(300)结束。

在一个实施例中,基本属性描述符处于MPD级别、周期级别、自适应设置级别和表示级别中的一个级别。

在一个实施例中,基于SBD文件和基本属性描述符所包括的密钥值元素,来构造对请求的查询。

在一个实施例中,确定基本属性描述符所包括的ID属性的值是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值。

在一个实施例中,基于基本属性描述符所包括的ID属性的值被确定为对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值,确定密钥值元素所包括的密钥列表属性中的期望密钥是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的一个密钥。

在一个实施例中,基于密钥值元素所包括的密钥列表属性中的期望密钥被确定为对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥,基于与SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥相关联的值,来构造对请求的查询。

在一个实施例中,基于密钥值元素所包括的密钥列表属性中的期望密钥被确定为不对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的任何密钥,基于与密钥值元素所包括的密钥列表属性中的期望密钥相关联的默认值,来构造对请求的查询。

在一个实施例中,基于密钥值元素所包括的ID属性的值被确定为不对应于SBD文件中的一组或多组密钥值对所包括的ID属性的任何值,确定密钥值元素所包括的密钥列表属性是否包括至少一个期望密钥。

在一个实施例中,基于密钥值元素所包括的密钥列表属性被确定为包括至少一个期望密钥,基于与密钥值元素所包括的密钥列表属性中的至少一个期望密钥中的每个期望密钥相关联的默认值,来构造对请求的查询。

在一个实施例中,SBD文件的MIME类型不用信号表示。

图4示出了根据本公开的一些实施例的概述过程(400)的另一流程图。在各种实施例中,过程(400)由处理电路例如DASH客户端(102)中的处理电路执行。在一些实施例中,过程(400)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(400)。过程(400)在(S410)开始,在(S410)过程(400)基于SBD文件和MPD文件(例如,过程(300)中的MPD文件)的基本属性描述符所包括的密钥值元素,来构造对请求(例如,过程(300)中的请求)的查询。SBD文件包括一组或多组密钥值对,例如过程(300)中的SBD文件。然后,过程(400)前进到步骤(S420)。

在步骤(S420),过程(400)确定基本属性描述符所包括的ID属性的值是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值。当基本属性描述符所包括的ID属性的值对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的ID属性的值时,过程(400)前进到步骤(S430)。否则,过程(400)前进到步骤(S460)。

在步骤(S430),过程(400)确定密钥值元素所包括的密钥列表属性中的期望密钥是否对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的一个密钥。当密钥值元素所包括的密钥列表属性中的期望密钥对应于SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥时,过程(400)前进到步骤(S440)。否则,过程(400)前进到步骤(S450)。

在步骤(S440),过程(400)基于与SBD文件中的一组或多组密钥值对中的一组密钥值对所包括的密钥列表属性中的这个密钥相关联的值,来构造对请求的查询。

在步骤(S450),过程(400)基于与密钥值元素所包括的密钥列表属性中的期望密钥相关联的默认值,来构造对请求的查询。

在步骤(S460),过程(400)确定密钥值元素所包括的密钥列表属性是否包括至少一个期望密钥。当密钥值元素所包括的密钥列表属性包括至少一个期望密钥时,过程(400)前进到步骤(S470)。

在步骤(S470),过程(400)基于与密钥值元素所包括的密钥列表属性中的至少一个期望密钥中的每个期望密钥相关联的默认值,来构造对请求的查询。然后,过程(400)结束。

VI.计算机系统

可以将上面所描述的技术实现为计算机软件,该计算机软件使用计算机可读指令,且物理地存储在一个或多个计算机可读介质中。例如,图5示出了适合于实施所公开的主题的某些实施例的计算机系统(500)。

可使用任何合适的机器代码或计算机语言来对计算机软件进行编码,任何合适的机器代码或计算机语言可经受汇编、编译、链接或类似的机制以创建包括指令的代码,该指令可由一个或多个计算机中央处理单元(CPU)、图形处理单元(GPU)等直接执行或通过解释、微代码等执行。

指令可在各种类型的计算机或其组件上执行,例如包括个人计算机、平板计算机、服务器、智能电话、游戏装置、物联网装置等。

图5所示的计算机系统(500)的组件本质上是示例性的,并不旨在对实施本公开的实施例的计算机软件的使用范围或功能提出任何限制。组件的配置也不应被解释为具有与计算机系统(500)的示例性实施例中所示的组件中的任何一个组件或组件的组合有关的任何依赖性或要求。

计算机系统(500)可包括某些人机接口输入装置。此类人机接口输入装置可响应于一个或多个人类用户例如通过下述的输入:触觉输入(例如:击键、划动,数据手套移动)、音频输入(例如:语音、拍手)、视觉输入(例如:手势)、嗅觉输入(未描绘)。人机接口装置还可用于捕获不一定与人的意识输入直接相关的某些媒体,例如音频(例如:语音、音乐、环境声音)、图像(例如:扫描的图像、从静止图像相机获取摄影图像)、视频(例如二维视频、包括立体视频的三维视频)。

输入人机接口装置可包括下述中的一项或多项(每种中仅示出一个):键盘(501)、鼠标(502)、触控板(503)、触摸屏(510)、数据手套(未示出)、操纵杆(505)、麦克风(506)、扫描仪(507)和相机(508)。

计算机系统(500)还可包括某些人机接口输出装置。此类人机接口输出装置可例如通过触觉输出、声音、光和气味/味道来刺激一个或多个人类用户的感官。此类人机接口输出装置可包括触觉输出装置(例如触摸屏(510)的触觉反馈、数据手套(未示出)或操纵杆(505),但是也可以是不作为输入设备的触觉反馈装置)、音频输出装置(例如:扬声器(509)、耳机(未描绘))、视觉输出装置(例如包括CRT屏幕、LCD屏幕、等离子屏幕、OLED屏幕的屏幕(510),每种屏幕都有或没有触摸屏输入功能,每种屏幕都有或没有触觉反馈功能-其中的一些屏幕能够通过诸如立体图像输出之类的装置、虚拟现实眼镜(未描绘)、全息显示器和烟箱(未描绘)以及打印机(未描绘)来输出二维视觉输出或超过三维输出。这些触觉输出装置(屏幕(510))可通过图形适配器(550)连接到系统总线(548)。

计算机系统(500)还可包括人类可访问存储装置及其关联介质:例如包括具有CD/DVD等介质(521)的CD/DVD ROM/RW(520)的光学介质、指状驱动器(522)、可拆卸硬盘驱动器或固态驱动器(523)、诸如磁带和软盘之类的传统磁性介质(未描绘)、诸如安全软件狗之类的基于专用ROM/ASIC/PLD的装置(未描绘)等。

本领域技术人员还应该理解,结合当前公开的主题使用的术语“计算机可读介质”不涵盖传输介质、载波或其他瞬时信号。

计算机系统(500)还可包括到达一个或多个通信网络(555)的网络接口(554)。一个或多个通信网络(555)可例如是无线网络、有线网络、光网络。一个或多个通信网络(555)可进一步是本地网络、广域网络、城域网络、车辆和工业网络、实时网络、耐延迟网络等。一个或多个通信网络(555)的示例包括诸如以太网之类的局域网、无线LAN、包括GSM、3G、4G、5G、LTE等的蜂窝网络、包括有线电视、卫星电视和地面广播电视的电视有线或无线广域数字网络、包括CANBus的车辆和工业用电视等等。某些网络通常需要连接到某些通用数据端口或外围总线(549)的外部网络接口适配器(例如计算机系统(500)的USB端口);如下所述,其他网络接口通常通过连接到系统总线而集成到计算机系统(500)的内核中(例如,连接PC计算机系统中的以太网接口或连接到智能手机计算机系统中的蜂窝网络接口)。计算机系统(500)可使用这些网络中的任何一个与其他实体通信。此类通信可以是仅单向接收的(例如,广播电视)、仅单向发送的(例如,连接到某些CANbus装置的CANbus)或双向的,例如,使用局域网或广域网数字网络连接到其他计算机系统。如上所述,可在那些网络和网络接口的每一个上使用某些协议和协议栈。

上述人机接口装置、人机可访问的存储装置和网络接口可附接到计算机系统(500)的内核(540)。

内核(540)可包括一个或多个中央处理单元(CPU)(541)、图形处理单元(GPU)(542)、现场可编程门区域(FPGA)(543)形式的专用可编程处理单元、用于某些任务的硬件加速器(544)等。这些装置以及只读存储器(ROM)(545)、随机存取存储器(546)、诸如内部非用户可访问的硬盘驱动器、SSD等之类的内部大容量存储器(547)可通过系统总线(548)连接。在一些计算机系统中,可以以一个或多个物理插头的形式访问系统总线(548),以能够通过附加的CPU、GPU等进行扩展。外围装置可直接连接到内核的系统总线(548)或通过外围总线(549)连接到内核的系统总线(548)。外围总线的体系结构包括PCI、USB等。

CPU(541)、GPU(542)、FPGA(543)和加速器(544)可执行某些指令,这些指令可组合来构成上述计算机代码。该计算机代码可存储在ROM(545)或RAM(546)中。过渡数据也可存储在RAM(546)中,而永久数据可例如存储在内部大容量存储器(547)中。可通过使用高速缓存来进行到任何存储装置的快速存储及检索,该高速缓存可与下述紧密关联:一个或多个CPU(541)、GPU(542)、大容量存储器(547)、ROM(545)、RAM(546)等。

计算机可读介质可在其上具有用于执行各种由计算机实现的操作的计算机代码。介质和计算机代码可以是出于本公开的目的而专门设计和构造的介质和计算机代码,或者介质和计算机代码可以是计算机软件领域的技术人员公知且可用的类型。

作为非限制性示例,可由于一个或多个处理器(包括CPU、GPU、FPGA、加速器等)执行包含在一种或多种有形的计算机可读介质中的软件而使得具有架构(500),特别是内核(540)的计算机系统提供功能。此类计算机可读介质可以是与如上所述的用户可访问的大容量存储器相关联的介质,以及某些非暂时性的内核(540)的存储器,例如内核内部大容量存储器(547)或ROM(545)。可将实施本公开的各种实施例的软件存储在此类装置中并由内核(540)执行。根据特定需要,计算机可读介质可包括一个或多个存储装置或芯片。软件可引起内核(540),特别是其中的处理器(包括CPU、GPU、FPGA等)执行本文所描述的特定过程或特定过程的特定部分,包括定义存储在RAM(546)中的数据结构以及根据由软件定义的过程来修改此类数据结构。附加地或替换地,可由于硬连线或以其他方式体现在电路(例如,加速器(544))中的逻辑而使得计算机系统提供功能,该电路可替换软件或与软件一起运行以执行本文描述的特定过程或特定过程的特定部分。在适当的情况下,提及软件的部分可包含逻辑,反之亦然。在适当的情况下,提及计算机可读介质的部分可包括存储用于执行的软件的电路(例如集成电路(IC))、体现用于执行的逻辑的电路或两者都包括。本公开包括硬件和软件的任何合适的组合。

虽然本公开已经描述了多个示例性实施例,但是存在落入本公开的范围内的修改、置换和各种替换等效物。因此,应当理解,本领域技术人员将能够设计出许多系统和方法,这些系统和方法虽然未在本文中明确示出或描述,但是其体现了本公开的原理,因此落入本公开的精神和范围内。

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:对聊天机器人中的自然理解系统的具有到期指标的上下文反馈

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!