用于基于http的动态自适应流的基于会话的信息

文档序号:1851051 发布日期:2021-11-16 浏览:21次 >En<

阅读说明:本技术 用于基于http的动态自适应流的基于会话的信息 (Session-based information for HTTP-based dynamic adaptive streaming ) 是由 伊拉吉·索达加 于 2021-01-04 设计创作,主要内容包括:本公开的各方面提供用于接收媒体内容的媒体数据的方法、装置和非暂时性计算机可读介质。一种装置包括处理电路,处理电路接收媒体呈现描述(MPD)文件和基于会话的描述(SBD)文件。处理电路确定SBD文件是否包括开始时间属性,开始时间属性指示会话的SBD时间线的开始时间。处理电路响应于SBD文件包括开始时间属性,则基于SBD文件确定SBD时间线的开始时间。处理电路响应于SBD文件不包括开始时间属性,则基于MPD文件确定SBD时间线的开始时间。(Aspects of the present disclosure provide methods, apparatuses, and non-transitory computer-readable media for receiving media data of media content. An apparatus includes processing circuitry to receive a Media Presentation Description (MPD) file and a Session Based Description (SBD) file. The processing circuitry determines whether the SBD file includes a start time attribute indicating a start time of an SBD timeline for the session. The processing circuitry is responsive to the SBD file including a start time attribute to determine a start time of the SBD timeline based on the SBD file. The processing circuitry determines a start time of the SBD timeline based on the MPD file in response to the SBD file not including the start time attribute.)

用于基于HTTP的动态自适应流的基于会话的信息

援引并入

本申请要求于2020年10月22日提交的标题为“SESSION-BASED INFORMATION FORDynamic Adaptive Streaming over HTTP”的美国专利申请第17/076,935号(其要求了于2020年1月6日提交的标题为“EXTENSIONS AND IMPROVEMENTS TO SESSION-BASED DASHOPERATIONS”的美国临时申请第62/957,671号的优先权权益)的优先权权益。在先申请的全部公开内容通过引用整体并入本文中。

技术领域

本公开描述了总体上涉及用于基于超文本传输协议的动态自适应流(DASH)的、基于会话的信息的实施例。

背景技术

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

运动图像专家组(MPEG)已开始基于超文本传输协议的动态自适应流(DASH)标准化的新部分,以用于基于会话的DASH操作。虽然对于所有客户端,媒体呈现描述(MPD)文件是通用的,但是客户端可获取诸如基于会话的描述(SBD)文件的侧文件,该侧文件给客户端提供指令,以使MPD是该会话所特有的。然而,在当前设计中,一些SBD特有的信息仍然夹带在MPD文件中。另外,SBD专门针对每个应用来设计(例如,使用鉴定水印),通用性可能不够,而无法处理其他应用。

发明内容

本公开的各方面提供用于接收媒体内容的媒体数据的装置。一种装置包括处理电路,处理电路接收媒体呈现描述(MPD)文件和基于会话的描述(SBD)文件。处理电路确定SBD文件是否包括开始时间属性,开始时间属性指示会话的SBD时间线的开始时间。处理电路响应于SBD文件包括开始时间属性,则基于SBD文件确定SBD时间线的开始时间。处理电路响应于SBD文件不包括开始时间属性,则基于MPD文件确定SBD时间线的开始时间。

在一个实施例中,响应于SBD文件不包括开始时间属性,而基于MPD文件的类型和MPD文件的元素,来确定SBD时间线的开始时间,其中在MPD文件的元素中包括SBD描述符。SBD描述符对应于SBD文件。

在一个实施例中,响应于MPD文件的类型是动态的且MPD文件的SBD描述符包括在MPD元素中,将SBD时间线的开始时间确定为MPD元素的可用性开始时间属性的值。

在一个实施例中,响应于MPD文件的类型是静态的且MPD文件的SBD描述符包括在MPD元素中,将SBD时间线的开始时间确定为媒体内容的媒体时间线的最初开始时间。

在一个实施例中,响应于MPD文件的SBD描述符包括在周期元素中,将SBD时间线的开始时间确定为周期元素的开始时间属性的值。

在一个实施例中,SBD文件包括持续时间属性,持续时间属性指示SBD时间线的持续时间。

在一个实施例中,SBD文件包括循环属性,循环属性指示SBD时间线是否重复。

在一个实施例中,SBD文件的顺序线元素包括指示起始段的属性,从起始段开始应用顺序线元素。

在一个实施例中,起始段的定时信息基于SBD时间线的开始时间。

本公开的各方面提供用于接收媒体内容的媒体数据的方法。在一种方法中,接收媒体呈现描述(MPD)文件和基于会话的描述(SBD)文件。确定SBD文件是否包括开始时间属性,开始时间属性指示会话的SBD时间线的开始时间。响应于SBD文件包括开始时间属性,则基于SBD文件确定SBD时间线的开始时间。响应于SBD文件不包括开始时间属性,则基于MPD文件确定SBD时间线的开始时间。

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

附图说明

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

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

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

图3示出了根据本公开的实施例的示例性DASH客户端架构;

图4A和图4B示出了根据本公开的实施例的两个示例性SBD定时模型;

图5示出了根据本公开的实施例的SBD文件的示例性顺序线元素;

图6示出了根据本公开的实施例的概述过程示例的流程图;

图7示出了根据本公开的实施例的概述过程示例的另一流程图;以及

图8是根据本公开的实施例的计算机系统的示意图。

具体实施方式

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.DASH客户端架构

图3示出了根据本公开的实施例的示例性DASH客户端架构。DASH客户端(或DASH播放器,例如DASH客户端(102))可配置成与应用(312)通信并处理各种类型的事件,包括(i)MPD事件、(ii)带内事件和(iii)定时元数据事件。

清单解析器(310)可解析清单(例如,MPD)。例如,清单可由DASH服务器(101)提供。清单解析器(310)可提取与MPD事件、带内事件和嵌入在定时元数据轨道中的定时元数据事件相关的事件信息。所提取的事件信息可提供给DASH逻辑(311)(例如,DASH播放器控制、选择和启发式逻辑)。DASH逻辑(311)可基于事件信息向应用(312)通报在清单中用信号表示的事件方案。

事件信息可包括用于区分不同事件流的事件方案信息。应用(312)可使用事件方案信息来订阅感兴趣的事件方案。应用(312)可进一步通过一个或多个订阅应用程序接口(API)来指示每个订阅方案的期望调度模式。例如,应用(312)可以向DASH客户端发送订阅请求,DASH客户端识别一个或多个感兴趣的事件方案和任何期望的相应调度模式。

如果应用(312)订阅了作为一个或多个定时元数据轨道的一部分分发的一个或多个事件方案,则带内事件和‘moof’解析器(303)可将一个或多个定时元数据轨道流传输到定时元数据轨道解析器(304)。例如,带内事件和‘moof’解析器(303)解析电影片段框(“moof”),然后基于来自DASH逻辑(311)的控制信息解析定时元数据轨道。

定时元数据轨道解析器304可提取嵌入在定时元数据轨道中的事件消息。所提取的事件消息可存储在事件和定时元数据缓冲器(306)中。同步器/调度器模块(308)(例如,事件和定时元数据同步器和调度器)可将所订阅的事件调度(或发送)给应用(312)。

在MPD中描述的MPD事件可由清单解析器(310)解析,并存储在事件和定时元数据缓冲器(306)中。例如,清单解析器(310)解析MPD的每个事件流元素,并解析在每个事件流元素中描述的每个事件。对于在MPD中用信号表示的每个事件,诸如呈现时间和事件持续时间之类的事件信息可存储在与该事件相关联的事件和定时元数据缓冲器(306)中。

带内事件和‘moof’解析器(303)可解析媒体片段以提取带内事件消息。任何这样识别的带内事件以及相关联的呈现时间和持续时间可存储在事件和定时元数据缓冲器(306)中。

因此,可在事件和定时元数据缓冲器(306)中存储MPD事件、带内事件和/或定时元数据事件。例如,事件和定时元数据缓冲器(306)可以是先进先出(FIFO)缓冲器。事件和定时元数据缓冲器(306)可与媒体缓冲器(307)对应地受到管理。例如,只要媒体片段存在于媒体缓冲器(307)中,则对应于该媒体片段的任何事件或定时元数据可存储在事件和定时元数据缓冲器(306)中。

DASH访问API(302)可通过HTTP协议栈(301)管理包括媒体内容和各种元数据的内容流(或数据流)的获取和接收。DASH访问API(302)可将所接收的内容流分成不同的数据流。提供给带内事件和‘moof’解析器(303)的数据流可包括媒体片段、一个或多个定时元数据轨道以及包括在媒体片段中的带内事件信令。在一个实施例中,提供给清单解析器(310)的数据流可包括MPD。

DASH访问API(302)可将清单转发给清单解析器(310)。除了描述事件之外,清单还可给DASH逻辑(311)提供与媒体片段相关的信息,DASH逻辑(311)可与应用(312)以及带内事件和‘moof’解析器(303)通信。应用(312)可与由DASH客户端处理的媒体内容相关联。在应用(312)、DASH逻辑(311)、清单解析器(310)和DASH访问API(202)之间交换的控制/同步信号,可基于与在清单中提供的媒体片段相关的信息来控制从HTTP栈(301)获取媒体片段。

带内事件和‘moof’解析器(303)可将媒体数据流解析成包括媒体内容的媒体片段、定时元数据轨道中的定时元数据以及媒体片段中的任何用信号表示的带内事件。包括媒体内容的媒体片段可由文件格式解析器(305)解析并存储在媒体缓冲器(307)中。

存储在事件和定时元数据缓冲器(306)中的事件可允许同步器/调度器(308)通过事件/元数据API向应用(312)传送与应用(312)相关的可用事件(或感兴趣的事件)。应用(312)可配置成处理可用事件(例如,MPD事件、带内事件或定时元数据事件),并通过通知同步器/调度器(308)来订阅特定事件或定时元数据。存储在事件和定时元数据缓冲器(306)中的、与应用(312)无关而是与DASH客户端本身相关的任何事件,可由同步器/调度器(308)转发给DASH逻辑(311),以进行进一步处理。

响应于应用(312)订阅特定事件,同步器/调度器(308)可以向应用(312)传送对应于应用(312)已订阅的事件方案的事件实例(或定时元数据样本)。可根据由订阅请求指示的调度模式(例如,对于特定事件方案)或默认调度模式来传送事件实例。例如,在接收调度模式中,可在事件和定时元数据缓冲器(306)中接收时向应用(312)发送事件实例。另一方面,在启动调度模式中,可在与事件实例相关联的呈现时间向应用(312)发送事件实例,例如与来自媒体解码器(309)的定时信号同步地向应用(312)发送事件实例。

IV.SBD定时模型

本公开提供了如下实施例和方法,该实施例和方法用于简化和增强SBD定时模型,以使SBD文件的SBD时间线与MPD文件的MPD时间线同步。在简化和增强的SBD定时模型中,简化和统一的锚点可用作SBD时间线的起点,且可以用信号给SBD时间线表示可选的持续时间。例如,简化和统一的锚点可用作周期级SBD和MPD的动态MPD和静态MPD的起点。

图4A和图4B示出了根据本公开的实施例的两个示例性SBD定时模型。分别在图4A和图4B中,MPD类型可以是静态的(例如,[email protected]=静态)和动态的(例如,[email protected]=动态)。为了简化用于SBD时间线的起点的锚点,可引入诸如SBDStart的开始参数。参数SBDStart可限定用于SBD时间线的起点的锚点。

根据本公开的各方面,如果MPD类型是动态的,则参数SBDStart可明确地通过SBD文件的SBD开始时间属性(例如,[email protected])用信号表示。SBD开始时间属性可在网络时间协议(NTP)时间中指示参数SBDStart。如果SBD开始时间属性的显式信令不包括在SBD文件中,则可基于MPD文件导出参数SBDStart。例如,如果对应于SBD文件的SBD描述符包括在MPD文件的MPD元素中(即,对应的SBD描述符处于MPD级别),则参数SBDStart可设置为MPD元素的可用性开始时间属性(例如,[email protected])的值。然而,如果对应的SBD描述符包括在MPD文件的周期元素中(即,对应的SBD描述符处于周期级别),则参数SBDStart可设置为周期元素的开始时间(例如,[email protected])。

根据本公开的各方面,如果MPD类型是静态的,则可基于MPD文件导出参数SBDStart。在一个实施例中,如果对应的SBD描述符包括在MPD文件的MPD元素中,则参数SBDStart设置为媒体内容的媒体时间线的最初开始时间(例如,‘0’)。例如,当点播媒体内容(例如,电影)流传输到DASH客户端(102)的会话时,如果对应于会话的SBD描述符包括在由DASH客户端(102)接收的MPD文件的MPD元素中,则参数SBDStart设置为点播媒体内容的最初开始时间。然而,如果对应的SBD描述符包括在MPD文件的周期元素中,则参数SBDStart设置为周期元素的开始时间(例如,[email protected])。

在一些相关示例中,SBD时间线的持续时间由与SBD时间线相关联的顺序线元素或时间线的总持续时间限定。然而,在本公开中,SBD持续时间可以可选地在SBD文件中用信号表示,例如由SBD文件的持续时间属性(例如,[email protected])表示。另外,在本公开中,可以对SBD文件启用卷绕特征。卷绕特征可使得当前用于DASH客户端例如DASH客户端(102)的当前会话的SBD时间线能够循环。例如,在循环SBD中,如果当前会话的会话时间线超过SBD时间线,则当启用卷绕特征时,SBD时间线可针对会话时间线复制和循环。卷绕特征可由SBD文件的循环属性(例如,[email protected])用信号表示。

如果在SBD文件中用信号表示SBD时间线的持续时间,则可明确地指示SBD文件的时间跨度。DASH客户端例如加入会话的DASH客户端(102),可分别使用SBD文件的参数SBDStart和持续时间属性(例如,[email protected])导出SBD时间线的锚点和持续时间,而不必建立整个SBD时间跨度。该特征可大幅简化DASH客户端的客户端操作以找到会话的当前播放点的SBD时间跨度。另外,SBD时间线可以在过去循环。也就是说,SBD时间线可扩展到由参数SBDStart指示的开始时间之前。在这种情况下,参数SBDStart是可应用SBD的开始时间的一个锚点,而不是对应于媒体内容或媒体会话的开始时间的原始SBD开始时间。

表1示出了根据本公开的实施例的SBD文件中的示例性密钥-值对元素。表1可以用可扩展标记语言(XML)实现。

表1

V.SBD中的顺序线元素

根据本公开的各方面,SBD文件可包括多个密钥-值对(或名称-值对)。多个密钥-值对中的一个或多个密钥-值对可添加到从DASH客户端(例如DASH客户端(102))发送到DASH服务器(例如DASH服务器(101))的请求。SBD文件的顺序线元素可限定密钥-值对的顺序。在一些实施例中,在SBD文件中可将顺序线元素表示为O元素。

根据本公开的各方面,顺序线元素可包括可选开始时间属性(例如,[email protected])和可选起始段属性(例如,[email protected][email protected])中的一个。可选开始时间属性可指示顺序线元素的开始时间,可选起始段属性可指示顺序线元素中的起始段的顺序号。也就是说,可选起始段属性可指示第一片段和起始段之间的偏移。例如,如果起始段的顺序号是f,则可跳过f-1片段,以供使用。另外,顺序线元素还可包括指示该O元素的重复次数的重复属性(例如,[email protected])。

图5示出了根据本公开的实施例的SBD文件的示例性顺序线元素。在图5中,顺序线元素限定要添加到每个请求的密钥-值对的顺序。例如,O元素表示密钥-值对的顺序,[email protected]是O元素的可选开始时间,[email protected]是O元素的可选起始段,[email protected]包括要添加到每个请求的一个或多个密钥-值对,[email protected]表示该O元素的重复次数。

根据本公开的各方面,DASH客户端(例如DASH客户端(102))可从MPD文件中的SBD描述符的URL所指示的位置下载SBD文件,解析SBD文件,以及建立时间线/顺序线表。然后,DASH客户端可在时间线/顺序线表中找到用于请求(子)片段的匹配行,并在匹配行中找到SBD描述符中列出的每个密钥的对应值,按照SBD描述符中限定的密钥顺序建立查询,以及将该查询添加到可发送到DASH服务器(例如DASH服务器(101))的(子)片段请求。

在一个实施例中,DASH客户端(例如DASH访问客户端(203))可接收MPD文件,并将MPD文件中的URL地址传递给SBD客户端(例如SBD客户端(204))。SBD客户端(204)可从URL地址下载密钥-值对象并建立时间线/顺序线表。DASH客户端可以向SBD客户端发送(子)片段的定时或顺序和密钥,SBD客户端计算所请求的(子)片段的定时或顺序,并在时间线/顺序线表中找到与所请求的(子)片段的定时或顺序匹配的行。然后,SBD客户端在匹配行的密钥-值对中找到与DASH客户端发送的密钥匹配的匹配密钥名,并向DASH客户端返回与匹配密钥名对应的值。DASH客户端可将该值(或密钥=值)添加到(子)片段请求中使用的或用作HTTP报头扩展的片段URL的查询的末尾。

表2示出了根据本公开的实施例的SBD文件的示例性顺序线元素。表2可以用XML实现。

表2

根据本公开的各方面,SBD定时模型可通过使用参数SBDStart来包括SBD时间线的起点,使得SBD时间线能够定位到直播内容的清晰的挂钟时间。另外,如果参数SBDStart没有明确地用信号表示,则当对应于SBD文件的SBD描述符包括在MPD元素或属性例如[email protected]中时,当对应的SBD描述符包括在周期元素中时,SBD时间线可使用诸如[email protected]的属性来绑定到MPD时间线。因此,当MPD定时模型和SBD定时模型与其锚点对齐时,SBD时间线的生成可以更简单。

在一个实施例中,SBD定时模型可包括SBD时间线的持续时间。持续时间可允许DASH客户端(例如DASH客户端(102))的简单循环/卷绕计算。如果时间线或顺序线元素不跨越整个会话时间线,则持续时间可指示SBD时间线的结束。因此,当启用循环/卷绕特征时,时间线或顺序线元素可重复和循环,直到会话结束。

在一个实施例中,在顺序线元素中用信号表示起始段属性(例如,[email protected])。起始段属性可指示可跳过会话的起始段之前的任何片段。即,起始段属性可指示片段间隙,但不知道片段持续时间。

本公开的各方面提供一种用于描述基于会话的DASH操作的、独立于应用的通用方法,基于会话的DASH操作允许SBD时间线与MPD时间线同步。SBD时间线的锚点可通过使用单个属性而定位到静态和动态MPD类型的MPD时间线的锚点。如下是可行的:DASH客户端简单地计算循环,而不必耗尽SBD详细时间线(例如,不需要计算每个片段的片段持续时间)。SBD时间线的持续时间可限定SBD时间线的边界。SBD时间线可与顺序线元素相关联,使得当顺序线元素指示起始段的顺序编号且不知道片段持续时间时,段间隙和跳跃是可行的。独立于应用的通用方法可以用XML实现。

VI.流程图

图6示出了根据本公开的实施例的概述过程(600)的流程图。在各种实施例中,过程(600)由处理电路执行,处理电路例如是DASH客户端(102)中的处理电路、DASH访问客户端(203)中的处理电路、SBD客户端(204)中的处理电路等。在一些实施例中,过程(600)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(600)。过程(600)在(S610)开始,在(S610)过程(600)接收MPD文件和SBD文件。然后,过程(600)前进到步骤(S620)。

在步骤(S620),过程(600)确定SBD文件是否包括开始时间属性,开始时间属性指示会话的SBD时间线的开始时间。当确定SBD文件包括开始时间属性时,过程(600)前进到步骤(S630)。否则,过程(600)前进到步骤(S640)。

在步骤(S630),过程(600)基于SBD文件确定SBD时间线的开始时间。

在步骤(S640),过程(600)基于MPD文件确定SBD时间线的开始时间。

然后,过程(600)结束。

在一个实施例中,响应于SBD文件不包括开始时间属性,而基于MPD文件的类型和MPD文件的元素,来确定SBD时间线的开始时间,其中在MPD文件的元素中包括SBD描述符。SBD描述符对应于SBD文件。

在一个实施例中,响应于MPD文件的类型是动态的且MPD文件的SBD描述符包括在MPD元素中,将SBD时间线的开始时间确定为MPD元素的可用性开始时间属性的值。

在一个实施例中,响应于MPD文件的类型是静态的且MPD文件的SBD描述符包括在MPD元素中,将SBD时间线的开始时间确定为媒体内容的媒体时间线的最初开始时间。

在一个实施例中,响应于MPD文件的SBD描述符包括在周期元素中,将SBD时间线的开始时间确定为周期元素的开始时间属性的值。

在一个实施例中,SBD文件包括持续时间属性,持续时间属性指示SBD时间线的持续时间。

在一个实施例中,SBD文件包括循环属性,循环属性指示SBD时间线是否重复。

在一个实施例中,SBD文件的顺序线元素包括指示起始段的属性,从起始段开始应用顺序线元素。

在一个实施例中,起始段的定时信息基于SBD时间线的开始时间。

图7示出了根据本公开的实施例的概述过程(700)的另一流程图。在各种实施例中,过程(700)由处理电路执行,处理电路例如是DASH服务器(101)中的处理电路、内容生成设备(201)中的处理电路、内容服务器(202)中的处理电路等。在一些实施例中,过程(700)以软件指令实现,因此当处理电路执行软件指令时,处理电路执行过程(700)。过程(700)在(S710)开始,在(S710)过程(700)生成MPD文件和SBD文件。

在一个实施例中,当MPD文件的MPD类型是动态的时,SBD文件可包括开始时间属性,开始时间属性指示会话的SBD时间线的开始时间。

在一个实施例中,可基于MPD文件来确定会话的SBD时间线的开始时间。例如,如果在MPD文件的MPD元素中包括对应于SBD文件的SBD描述符,则分别对于静态MPD和动态MPD,SBD时间线的开始时间的锚点可以是媒体内容的媒体时间线的最初开始时间(例如,‘0’)和MPD可用性开始时间属性(例如,[email protected])的值。如果对应的SBD描述符包括在周期元素中,则SBD时间线的开始时间的锚点可以是周期元素的开始时间。

然后,过程(700)前进到步骤(S720)。

在步骤(S720),过程(700)将MPD文件和SBD文件发送到DASH客户端例如DASH客户端(102)。然后,过程(700)前进到步骤(S730)。

在步骤(S730),过程(700)接收来自DASH客户端的请求。

在一个实施例中,DASH客户端可基于MPD文件和SBD文件中的至少一个来确定SBD时间线的开始时间。例如,DASH客户端可首先确定MPD文件的MPD类型。当确定MPD类型是静态的时,DASH客户端可基于对应于SBD文件的SBD描述符来确定SBD时间线的开始时间。如果对应的SBD描述符包括在MPD元素中,则SBD时间线的开始时间可以是媒体内容的媒体时间线的最初开始时间。如果对应的SBD描述符包括在周期元素中,则SBD时间线的开始时间可以是周期元素的开始时间。当确定MPD类型是动态的时,DASH客户端可确定SBD文件是否包括开始时间属性。如果确定SBD文件包括开始时间属性,则DASH客户端可基于开始时间属性确定SBD时间线的开始时间。否则,如果确定SBD文件不包括开始时间属性,则DASH客户端可基于对应的SBD描述符来确定SBD时间线的开始时间。如果对应的SBD描述符包括在MPD元素中,则SBD时间线的开始时间可以是MPD可用性开始时间的值。如果对应的SBD描述符包括在周期元素中,则SBD时间线的开始时间可以是周期元素的开始时间。

在一个实施例中,DASH客户端可解析SBD文件,并建立时间线/顺序线表。然后,DASH客户端可按照对应的SBD描述符中限定的密钥顺序建立查询,并将该查询添加到过程(700)在步骤(S730)接收的请求中。

然后,过程(700)前进到步骤(S740)。在步骤(S740),过程(700)基于该请求向DASH客户端发送一个或多个媒体片段。然后,过程(700)结束。

VII.计算机系统

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

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

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

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

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

输入人机接口装置可包括下述中的一项或多项(每种中仅示出一个):键盘(801)、鼠标(802)、触控板(803)、触摸屏(810)、数据手套(未示出)、操纵杆(805)、麦克风(806)、扫描仪(807)和相机(808)。

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

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

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

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

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

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

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

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

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

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

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:将软件载入在安全装置上以生成装置身份以向远程服务器进行认证

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!