采用归约边缘处理原则的视频开始时间减少

文档序号:24168 发布日期:2021-09-21 浏览:28次 >En<

阅读说明:本技术 采用归约边缘处理原则的视频开始时间减少 (Video start time reduction using reduced edge processing principles ) 是由 B.桑加维 J.弗里曼 A.黄 S.斯里达兰 于 2019-09-27 设计创作,主要内容包括:在接收到来自客户端装置的对来自内容分发网络(CDN)的信息的请求之前,归约边缘处理装置从CDN请求所述信息并将其存储在存储器中。因此,所述归约边缘处理装置被配置为利用在接收到所述请求之前存储在所述存储器中的所述信息来响应来自所述客户端装置的对来自所述CDN的信息的所述请求。(Prior to receiving a request from a client device for information from a Content Delivery Network (CDN), a reduction edge processing device requests the information from the CDN and stores it in memory. Thus, the reduction edge processing device is configured to respond to the request for information from the CDN from the client device with the information stored in the memory prior to receiving the request.)

具体实施方式

虽然出于说明目的,以下详细说明包含许多具体细节,但是本领域的普通技术人员将会了解,以下细节的许多变化和更改在本公开的范围内。因此,下面描述的本公开的实施方案的示例在不失一般性并且未暗示对要求保护的本公开的限制的情况下进行阐述。

尽管阐述了许多具体细节以便提供对本公开的实施方案的透彻理解,但是本领域技术人员将理解,可以在没有这些具体细节的情况下实践其他实施方案。在其他实例中,公知方法、过程、部件和电路没有被详细描述以免不必要地模糊本公开。本文的描述的一些部分以计算机存储器内的数据位或二进制数字信号的运算的算法和符号表示呈现。这些算法描述和表示可以是数据处理领域技术人员用来将其工作的实质传达给本领域其他技术人员的技术。

如本文所使用的算法是导致期望结果的动作或操作的自洽序列。这些动作或操作包括对物理量的物理操纵。通常,尽管并非必要,但这些量采取能够被存储、传送、组合、比较以及以其他方式操纵的电信号或磁信号的形式。已经证实,主要出于普遍使用原因,有时可以适宜地将这些信号称为比特、值、元素、符号、字符、项、数字等。

除非明确说明或从以下讨论中显而易见,否则应理解,在整个说明书中,使用诸如“处理”、“计算”、“转换”、“协调”、“确定”或“识别”等术语的讨论是指计算机平台的动作和过程,该计算机平台是一种电子计算装置,其包括处理器,该处理器将在处理器寄存器中以及可访问的平台存储器中表示为物理(例如,电子)量的数据操纵并转换为类似地在计算机平台存储器、处理器寄存器或显示屏中表示为物理量的其他数据。

计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的磁盘(包括软盘)、光盘(例如,光盘只读存储器(CD-ROM)、数字视频光盘(DVD)、Blu-Ray DiscsTM等)、以及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡、闪存或适用于存储电子指令的任何其他类型的非暂时性介质。

引言

本公开的各方面通过使用归约边缘处理器解决跨平台客户端环境中的奇偶校验性能问题来解决与现有的自适应比特率流式传输系统相关联的缺点。在处理自适应比特率流式传输时,视频在具有相对相等功能的各种客户端装置上使用。

在此称为“边缘处理”问题的问题是如何使所有这些跨平台客户端具有同等的能力来访问内容交付网络(CDN)托管的内容。假定这些装置都可以实现所有先进的边缘处理技术,这不太可能也不合情理。根据本公开的各方面的归约边缘处理架构在客户端装置或客户端应用外部的部件中提供边缘智能,因此客户端可以有能力使用先进的边缘处理技术,而不必从根本上重新配置客户端装置或应用。

一个相关的问题是“回放鲁棒性”之一,即客户端装置或应用有效处理自适应比特率流式传输的能力。这是非平凡的,尤其是在处理边缘语法和特征、延迟、错误、自适应比特率等方面。这比边缘处理问题还要复杂。

如本文所述,归约边缘处理技术减轻了客户端装置和应用的边缘处理和鲁棒性责任,使它们能够在较简单的任务上表现良好。承担这些责任的归约边缘处理器是本公开的各方面的显著特征。

自适应比特率流式传输架构

图1A示出了自适应比特率(ABR)多媒体流式传输系统100的一般架构。在个人计算机、机顶盒电视装置、电话和平板计算机上用于ABR流式传输多媒体的常见协议的示例包括HTTP实时流式传输(HLS)和基于HTTP的动态自适应流式传输(DASH)。多媒体流式传输系统100包括通过网络101连接的媒体框架102、内容分发网络和服务器106、密钥服务器108以及客户端装置104。

内容分发网络(CDN)106包括多个服务器和数据服务器,这些服务器和数据服务器被配置为通过网络101向地理上分散的客户端装置104提供有效的多媒体内容。密钥服务器108向客户端装置104提供加密密钥。加密密钥用于解密来自CDN 106的媒体内容,所述媒体内容可以出于数字版权管理(DRM)的目的而加密。媒体框架102通过统一资源定位符(URL)等提供由CDN 106递送的视频内容的网络101位置。

图1B示出了HLS系统100中的现有技术客户端装置的操作。在可以在客户端装置104上播放媒体之前,客户端装置104向媒体框架102发送对媒体流在CDN106上的位置的请求。媒体框架102将CDN106的位置发送回客户端装置104。该位置可以是例如但不限于URL、互联网协议地址(IP地址)或类似形式。

客户端装置104然后与CDN 106联系以请求主播放列表。主播放列表提供了包含在不同比特率、不同格式或内容的替代再现下媒体呈现的位置的列表。然后,CDN 106通过将主播放列表发送回客户端装置104进行响应。

客户端装置然后可以选择媒体呈现的特定再现。这可以通过客户端的ABR机制来完成,以在计算上和动态地确定最佳比特率选择和对应的再现。响应于再现的选择,客户端装置104向CDN 106发送对媒体播放列表的请求。媒体播放列表提供包含在特定格式、比特率等之下媒体呈现的密钥和视频段的位置的列表。CDN 106发送媒体播放列表,并且所述媒体播放列表在客户端装置104处被接收。

为了准备加密流的媒体回放,客户端装置104可以通过发送对特定于媒体呈现视频段的加密密钥的请求来与密钥服务器108联系。密钥服务器108然后发送所请求的密钥,该请求的密钥由客户端装置104接收。该过程是任选的,因为并非所有流都被加密,并且在其他形式的安全性下可能没有密钥。

客户端装置通过向CDN 106发送对媒体段的请求而开始流式传输媒体呈现。CDN106以同样的方法开始发送媒体段,所述媒体段在客户端装置104处被接收。媒体段是媒体呈现的经编码的音频、隐藏字幕数据、元数据和控制数据和/或视频段,当其按顺序一起播放时会产生全长的媒体呈现。媒体段可以被编码,在这种情况下,客户端装置可以使用从密钥服务器接收的密钥来解密媒体段并开始回放。有关HLS系统架构的更多信息,请参见:Pantos,R.P.,“HTTP实时流式传输”,征求意见稿8216,网络工作组:1,提供在此处:https://tools.ietf.org/html/rfc8216(2017年8月),以引用方式并入本文。

归约边缘处理增强流式传输

图2A示出了根据本公开的各方面的利用归约边缘处理进行增强的HLS系统。使用归约边缘处理装置或嵌入式装置210可以通过更快的装置开始时间和减少的缓冲时间来增强基于HLS的流式传输的用户体验。使用本公开的实施方案已经实现了64%更快的缓冲时间和60%更快的开始时间。

归约边缘处理可以由具有嵌入式归约边缘处理装置210的客户端装置204或由连接到本地归约边缘处理装置210的客户端装置203或由通过网络101与归约边缘处理装置210进行通信的客户端装置来执行。可以在客户端装置的专用电路内或者作为具有专用指令、处理器和通过例如通信总线耦接到客户端装置的处理器的存储器的单独的专用模块来创建嵌入式归约边缘处理装置。在一些实现方式中,归约边缘处理可以被实现为装置或其操作系统(OS)上的软件服务。

该网络可以是例如但不限于互联网、局域网(LAN)或某种其他类型的广域网(WAN)。在操作期间,预取装置可以通过网络101与媒体框架202、密钥服务器208、CDN 206或其任何组合进行通信。在一些实现方式中,预取装置可以通过客户端装置进行通信。例如,媒体预取装置可以使用客户端装置的网络接口来通过网络101与服务器通信。

图2B描绘了根据本公开的各方面的与客户端装置通信的归约边缘处理装置的操作方法。媒体预取装置在客户端装置开始与托管HLS数据的服务器通信之前开始操作,如双线220所指示。在一些实现方式中,当归约边缘处理执行双线220上方的操作时,客户端装置可能不被供电。

归约边缘处理装置210可以通过向域名系统(DNS)发送对媒体框架服务器202的位置的请求来开始操作。DNS通常以IP地址的形式将媒体框架服务器的位置发送回归约边缘处理装置210,其在该处被接收。在一些实现方式中,归约边缘处理装置210可以联系可信源并下载用于加密通信的安全套接字层(SSL)证书。该可信源可以是媒体框架202的一部分。在与启用SSL的服务器进行通信期间,使用SSL证书对通信进行加密。这种加密确保了第三方截获的由服务器向客户端进行的通信(反之亦然)将是难以理解的。

归约边缘处理装置210然后可以将对CDN的位置的请求发送给媒体框架202。媒体框架202可以将CDN的位置返回到归约边缘处理装置210。CDN的位置然后被存储并且用于后续的通信。归约边缘处理装置210通过网络向CDN 206发送请求主播放列表的通信。作为响应,CDN206通过网络发送主播放列表,其中该主播放列表被归约边缘处理装置210接收。然后,归约边缘处理装置210存储主播放列表。

如上所述,主播放列表包含在不同比特率、不同格式或内容的替代版本下媒体呈现的位置的列表。CDN206上的不同媒体呈现的数量是有限的。因此,为了加速流式传输过程,在一些实现方式中,媒体预取器可以请求包括CDN 206上的每个媒体呈现的主播放列表。然后,将主播放列表存储在存储器或大容量存储装置中。在一些实现方式中,归约边缘处理装置210可以预测性地请求主播放列表以减少主播放列表所需的下载时间和存储空间。例如但不限于,归约边缘处理装置可以在表中跟踪用户的观看习惯,使得该装置具有用户上次观看内容的记录。装置可以在用户请求观看内容或甚至启动客户端装置之前下载该内容的主列表。类似地,对于游戏,系统可以跟踪用户经常玩的游戏,并且如果游戏的游戏时间或会话次数超过某个阈值,则下载主列表。注意,尽管在游戏的上下文中描述了此实现方式,但是它也可以应用于其他媒体类型,诸如视频或音乐。

一旦主播放列表被接收在归约边缘处理装置210处,则归约边缘处理装置210可将对媒体播放列表的请求发送到CDN206。与主播放列表类似,CDN206上存在有限数量的媒体呈现。因此,归约边缘处理装置可以针对CDN 206上的每个媒体呈现请求媒体播放列表。预测方法也可以用于减少下载的内容播放列表的数量。用于内容列表的前瞻性提取的预测方法与上面相对于主播放列表所述的那些预测方法基本相似。需要注意的是,对内容播放列表的用户活动的跟踪必须更加细化,因为内容播放列表代表特定的媒体呈现,而主播放列表代表具有不同比特率、不同格式或内容的替代版本的媒体呈现集合。

在CDN 206接收到对媒体播放列表的请求之后,其通过网络将媒体播放列表发送到归约边缘处理装置210。媒体播放列表由归约边缘处理装置210接收,并存储在存储器或大容量存储装置中。

然后,归约边缘处理装置210可以针对从CDN 206接收的每个媒体播放列表向密钥服务器208请求密钥。在归约边缘处理装置210从密钥服务器208接收到这些密钥之后,将这些密钥存储在存储器中或大容量存储装置中。

一旦用户在客户端装置203上初始化流式传输系统,客户端装置203与归约边缘处理装置210之间的通信就可以开始。客户端装置可以被配置为与归约边缘处理装置进行通信,就好像它是媒体框架的一部分并且在内容交付网络中一样。因此,归约边缘处理装置210可以从客户端装置203接收对CDN位置的请求。归约边缘处理装置210将请求转发到媒体框架202。媒体框架202回复以由客户端装置203接收的CDN位置。同时,归约边缘处理装置210将内容播放列表请求发送到CDN 206。CDN 206发送内容播放列表并且内容播放列表由归约边缘处理装置210接收。

在接收到CDN位置之后,客户端装置203向归约边缘处理装置210发送对主播放列表的请求。客户端装置203可以被配置为在联系CDN 206之前或者代替CDN 206向归约边缘处理装置210请求播放列表。在接收到对主播放列表的请求之后,归约边缘处理装置210可以将所请求的主播放列表发送到客户端装置203。由于归约边缘处理装置早先已经从CDN接收到所有主播放列表,所以该装置已经在存储器中具有每个主播放列表。在预测性地请求主播放列表的实现方式中,存储器包含可能被请求的主播放列表,因此存在预测不正确的可能性,并且在这种情况下,该请求将被转发到CDN 206。

在接收到主播放列表请求之后,归约边缘处理装置210还可以向CDN206发送对媒体段的请求,以进行前瞻性的高速缓存。在一些实现方式中,归约边缘处理装置210可以请求由客户端装置203请求的主播放列表中的每个媒体播放列表的媒体段。在其他实现方式中,归约边缘处理装置210可以跟踪最近请求的媒体播放列表,并且可以从相同的媒体播放列表或全等的媒体播放列表中请求媒体段。作为示例而非作为限制,归约边缘处理装置可以保留五个最近请求的媒体播放列表、下载的媒体段等的表。可存在关于每个媒体播放列表的某些元信息,例如,表条目可以具有关于媒体播放列表通常被请求的顺序的信息,以及关于可能要请求的下一个媒体播放列表的位置的信息,即,“以前观看过:绝命毒师第1集——下一集:绝命毒师第2集——下一集的位置:Location.Location”。归约边缘处理装置可以从与元信息一致的媒体中请求媒体段,例如但不限于该系列中的下一集。在其他实现方式中,该表可以跟踪诸如语言和连接速度之类的用户偏好,并从主列表中请求与那些偏好匹配的媒体段。

在接收到对媒体段的请求之后,CDN 206开始将媒体段发送到归约边缘处理装置210。归约边缘处理装置210从CDN 206接收并存储媒体段。媒体段可以被存储在存储器中,例如在缓冲器中或在大容量存储装置中。

客户端装置203可以向归约边缘处理装置210请求媒体播放列表。作为响应,归约边缘处理装置210可以向客户端装置203发送媒体播放列表。归约边缘处理装置210已经在存储器中具有所请求的主播放列表的所有媒体播放列表,因此仅需要从存储器中检索所请求的媒体播放列表。

接下来,客户端装置203可以向归约边缘处理装置210请求媒体段。当在归约边缘处理装置210处接收到对媒体段的请求时,所述归约边缘处理装置可以针对该媒体段查询它的存储器或大容量存储装置。如果找到该媒体段,则归约边缘处理装置将该段发送到客户端装置203。如果找不到该媒体段,则将对该媒体段的请求发送到CDN206。在接收到对媒体段的请求时,CDN将所请求的媒体段发送到归约边缘处理装置210。归约边缘处理装置210在接收到该媒体段之后将该媒体段存储在存储器或大容量存储装置中。然后可以将新存储的媒体段发送到客户端装置203。如上所述,可以作为DRM保护的一部分对该媒体段进行加密,因此,作为存储过程的一部分,归约边缘处理装置210使用从密钥服务器接收到的正确密钥来解密该媒体段。在其他实现方式中,媒体段可以在被发送到客户端装置之前被解密。一旦从CDN 206发送媒体段并在归约边缘处理装置210处接收到媒体段,归约边缘处理装置206就可以在客户端装置203之前存储媒体段,并根据需要将它们发送到客户端203装置。

独立式归约边缘处理系统

图3示出了根据本公开的各方面的独立式归约边缘处理装置。独立式归约边缘处理装置或边缘处理器300可以通过LAN或WAN通过网络接口307耦接到本地客户端装置302。在其他替代实现方式中,独立式归约边缘处理装置可以通过诸如互联网之类的大型网络304,通过网络接口307与非本地装置303(例如服务器或另一个客户端)进行通信。在一些实现方式中,客户端装置通过通信总线(未示出)连接至独立式归约边缘处理装置,所述通信总线诸如但不限于外围互连(PCI)总线、PCI高速总线、通用串行总线(USB)、以太网端口、火线连接器或类似接口。

独立式归约边缘处理装置300可以包括一个或多个处理器单元306,所述处理器单元可以根据公知架构(例如单核、双核、四核、多核、处理器-协处理器、单元处理器等)来配置。独立式归约边缘处理装置300还可包括一个或多个存储器单元305(例如,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、只读存储器(ROM)等)。

处理器单元306可以执行一个或多个指令308,所述指令的部分可以存储在存储器305中,并且处理器306可以通过总线或总线类型连接可操作地耦接到存储器。指令308可以被配置为实现图2B中所示的用于在HLS系统中进行预取的方法。另外,存储器305可以包含用于将播放列表存储在HLS库中的指令以及定义HLS服务器位置的协议栈。存储器305还可以包含HLS库310和协议栈311。指令308可以在操作期间进一步实现将媒体段存储在高速缓存309中。高速缓存309也可以位于存储器305中。

独立式归约边缘处理装置300可以包括网络接口307以促进经由电子通信网络304的通信。网络接口307可被配置为通过局域网和广域网(诸如互联网)来实现有线或无线通信。装置300可以通过网络304经由一个或多个消息包发送和接收数据和/或对文件的请求。通过网络304发送的消息包可以被临时存储在存储器305中的高速缓存309中。客户端装置302可以通过网络接口307连接到电子通信网络304。替代地,客户端装置303可以通过电子通信网络304与独立式归约边缘处理装置300进行通信。

嵌入式归约边缘处理系统

图4描绘了根据本公开的各方面的嵌入式归约边缘处理系统。嵌入式归约边缘处理系统可以包括耦接到用户输入装置402的客户端计算装置400。用户输入装置402可以是控制器、触摸屏、传声器、键盘、鼠标、操纵杆或允许用户向系统中输入包括声音数据的信息的其他装置。

嵌入式归约边缘处理系统400的客户端装置可以包括一个或多个处理器单元403,所述处理器单元可以根据公知架构(例如单核、双核、四核、多核、处理器-协处理器、单元处理器等)来配置。计算装置还可包括一个或多个存储器单元404(例如,随机存取存储器(RAM)、动态随机存取存储器(DRAM)、只读存储器(ROM)等)。

处理器单元403可以执行一个或多个程序,所述程序的部分可以被存储在存储器404中,并且处理器403可操作地耦接到存储器(例如,通过经由数据总线405访问存储器)。程序可以被配置为通过HLS系统408实现流式传输媒体。另外,存储器404可包含关于系统与一个或多个流式传输服务器410之间的连接的信息。存储器404还可包含媒体段409的缓冲器。媒体段和连接信息也可以作为数据418存储在大容量存储区418中。

计算装置400还可以包括公知的支持电路,诸如输入/输出(I/O)407、电路、电源(P/S)411、时钟(CLK)412和高速缓存413,它们可以例如经由总线405与系统的其他部件进行通信。计算装置可包括网络接口414。处理器单元403和网络接口414可以被配置为经由合适的网络协议实现局域网(LAN)或个人区域网(PAN),所述网络协议例如用于PAN的蓝牙。计算装置可任选地包括大容量存储装置415(诸如,磁盘驱动器、CD-ROM驱动器、磁带驱动器、快闪存储器等),并且大容量存储装置可存储程序和/或数据。计算装置还可包括用户界面416以促进系统与用户之间的交互。用户界面可以包括监视器、电视屏幕、扬声器、耳机或向用户传达信息的其他装置。

计算装置400可以包括网络接口414以促进经由电子通信网络420的通信。网络接口414可被配置为通过局域网和广域网(诸如互联网)来实现有线或无线通信。装置400可以通过网络420经由一个或多个消息包发送和接收数据和/或对文件的请求。通过网络420发送的消息包可以被临时存储在存储器404中的缓冲器409中。

在一些实现方式中,嵌入式归约边缘处理或嵌入式边缘处理器421可以是客户端装置400的嵌入式硬件部件,其可以经由总线耦接到主处理器,并且可以从在客户端装置上运行的应用(例如流式传输应用)接收请求。在一些实现方式中,嵌入式边缘处理器421可以发起和拦截针对CDN或其他服务器的网络通信。在这些实现方式中,嵌入式边缘处理器421可能缺少网络接口,或者可能不使用网络接口。在其他实现方式中,嵌入式边缘处理器,边缘处理器的功能可以在存储在存储器404中的流式传输软件408中或存储在大容量存储区415中并在处理器403上执行的程序417中实现。

在一些替代实现方式中,嵌入式边缘处理器421可以是例如经由本地非网络连接(诸如I/O功能407)耦接到客户端装置400的外部装置。

嵌入式边缘处理器单元421的处理器可以执行一个或多个指令424,所述指令的部分可以存储在边缘处理器存储器422中,并且处理器423可以通过总线或总线类型连接可操作地耦接到存储器422。指令424可以被配置为实现图2B中所示的用于在HLS系统中进行预取的方法。另外,存储器422可以包含用于将播放列表存储在HLS库中的指令以及定义HLS服务器位置的协议栈。存储器422还可以包含HLS库310和协议栈311。指令424可以在操作期间进一步实现将媒体段存储为数据425。替代地,HLS库、协议栈和媒体段可以存储在客户端装置400上的缓冲器408中,或者作为连接信息408存储在存储器404中,或者作为数据418存储在大容量存储区415中。

虽然以上为本公开的优选实施方案的完整描述,但是使用各种替代、修改和等效物是可能的。应理解以上描述意图为说明性的并非限制性的。例如,虽然附图中的流程图示出了由本公开的某些实施方案执行的操作的特定顺序,但是应当理解,这种顺序不是必需的(例如,替代实施方案可以以不同的顺序执行操作、将某些操作组合、重叠某些操作等)。此外,在阅读和理解以上描述之后,许多其他实施方案对于本领域技术人员将是显而易见的。尽管已经参考特定示例性实施方案描述了本公开,但是将认识到,本公开不限于所描述的实施方案,而是可以在所附权利要求的精神和范围内以修改和变型来实践。因此,本公开的范围应参考所附权利要求以及此类权利要求授权的等效物的全部范围来确定。本文所述的任何特征(不论是否优选)可与本文所述的任何其他特征(不论是否优选)组合。在随附权利要求中,不定冠词“一个”或“一种”是指冠词后的一个或多个项的量,除非其中另外明确说明。随附权利要求不应被理解为包括装置附加功能限制,除非这种限制在给定权利要求中使用短语“用于……的装置”来明确陈述。

17页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用CSV分配批量用户服务的系统和方法

网友询问留言

已有0条留言

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

精彩留言,会给你点赞!