用于快速启动播放的系统和方法与流程

文档序号:16505686发布日期:2019-01-05 09:01阅读:194来源:国知局
用于快速启动播放的系统和方法与流程

本发明一般涉及自适应流处理(streaming),更特别地涉及包括用于开始播放媒体内容的快速启动流的流处理系统。



背景技术:

术语流媒体描述了在播放设备上的媒体播放,其中媒体被存储在一个或多个服务器上并且在播放期间通过网络连续地被发送到播放设备。通常,播放设备在播放期间的任何给定时间将足够数量的媒体存储在缓冲器中,以防止由于播放设备在接收到下一部分媒体之前完成所有缓冲媒体的播放而导致的播放中断。自适应比特率流处理或自适应流处理涉及实时检测当前流处理条件(例如,用户的网络带宽和cpu能力)和相应地调整经流处理的媒体的质量。通常,源媒体以多个比特率编码,播放设备或客户端根据可用资源在对不同编码进行流处理之间切换。

自适应流处理方案通常利用或者由因特网工程任务组和万维网联盟发布的作为rfc2616的超文本传输协议(http)或者由因特网工程任务组发布的作为rfc2326的实时流传输协议(rtsp),以在服务器和播放设备之间流处理媒体。http是使播放设备能够请求文件中的字节范围的无状态协议。http被描述为是无状态的,因为服务器不需要记录关于播放设备请求信息的状态或播放设备请求的字节范围的信息以便响应从播放设备接收的请求。rtsp是被用于控制流媒体服务器的网络控制协议。播放设备向流处理媒体的服务器发出控制命令,诸如“播放”和“暂停”,来控制媒体文件的播放。当利用rtsp时,媒体服务器记录每个客户端设备的状态,并且基于从客户端设备接收的指令和客户端的状态确定要流处理的媒体。

在自适应流处理系统中,源媒体通常作为顶级索引文件存储在媒体服务器上,该顶级索引文件指向包含实际视频和音频数据的多个备用流。每个流通常存储在一个或多个容器文件中。不同的自适应流处理方案通常利用不同的索引和媒体容器。利用由万维网联盟开发的同步多媒体集成语言(smil)在若干自适应流处理方案中创建索引,自适应流传输方案包括由华盛顿州雷蒙德的microsoft公司开发的iis平滑流处理(iissmoothstreaming)和由加利福尼亚州圣何塞的adobesystems公司开发的flash动态流处理(flashdynamicstreaming)。由加利福尼亚州库比蒂诺的applecomputer公司开发的http自适应比特率流处理使用扩展的m3u播放列表文件(.m3u8)实现索引文件,扩展的m3u播放列表文件是包含通常标识媒体容器文件的uri列表的文本文件。最常用的媒体容器格式是在mpeg-4第14部分(即iso/iec14496-14)中指定的mp4容器格式和在mpeg-2第1部分(即iso/iec标准13818-1)中指定的mpeg传输流(ts)容器。mp4容器格式被用于iis平滑流处理和flash动态流处理。ts容器被用于http自适应比特率流处理。

matroska容器是由法国aussonne的matroska非营利组织开发作为开放标准项目的媒体容器。matroska容器基于可扩展二进制元语言(ebml),ebml是可扩展标记语言(xml)的二进制衍生物。许多消费电子(ce)设备支持matroska容器的解码。由加利福尼亚州圣地亚哥的divx,llc开发的divxplus文件格式利用matroska容器格式的扩展(即,是基于matroska容器格式,但包括未在matroska格式中指定的元素)。

为了提供用于通过因特网传送媒体内容的一致手段,国际标准化组织(iso)和国际电工委员会(iec)已经提出了基于http的动态自适应流处理(dash)标准。dash标准指定媒体内容的格式和使用http传送mpeg内容的内容的描述。根据dash,用于呈现的媒体内容的每个组件(component)被存储在一个或多个流中。每个流被分成段。媒体呈现描述(mpd)是包括关于每个流中的段的信息以及在播放期间呈现媒体内容所需的其他信息的数据结构。播放设备使用mpd来使用自适应比特率流处理来获得媒体内容的组件以进行播放。

通常,内容提供者加密媒体内容流中的数据以防止未授权用户访问和使用媒体内容。因此,在播放之前,播放设备必须与认证系统交互以获得可用于从流中解密数据的密钥。获得密钥的该过程通常涉及需要时间才能完成的协商过程。这样,播放设备不能解密和播放流中的媒体内容,直到通过完成协商过程获得密钥。在某些情况下,这可能会使播放延迟一段不可接受的时间。



技术实现要素:

公开了根据本发明实施例的用于视频播放的快速启动的系统和方法。根据本发明的至少一些实施例的用于提供视频播放的快速启动的过程以以下方式执行。播放设备通过网络从内容提供者系统接收媒体内容的各种备用流和媒体内容的快速启动流的信息。备用流中的媒体内容以各种比特率、分辨率和帧率编码,并且每个特定备用流中的内容基于特定流的比特率、分辨率和帧率中的至少一个,具有特定质量。快速启动流中的媒体内容的质量比每个备用流的视频内容具有低的质量。播放设备开始通过网络流处理来自内容提供者系统的快速启动流中的媒体内容。播放设备确定流处理何时满足度量。响应于满足度量,播放设备开始通过网络流处理来自内容提供者系统的备用流之一的媒体内容。

根据一些实施例,使用第一加密过程来加密备用流。根据这些实施例中的一些实施例,播放设备响应于接收到备用流的信息,通过网络从认证系统请求第一加密过程的解密密钥。响应于请求解密密钥,播放设备从认证系统接收第一加密过程的解密密钥,以及响应于播放设备接收到解密密钥,播放设备确定度量已被满足。根据多个实施例,使用比第一加密过程安全性低的第二加密过程对快速启动流加密,并且响应于使用播放设备接收到快速启动流的信息,播放设备获得第二加密过程的解密密钥。响应于接收到快速启动流中的媒体内容,播放设备接着利用第二解密密钥解码来自快速启动流的媒体内容。根据多个实施例,播放设备从针对快速启动流接收到的信息中读取第二解密密钥。

根据许多实施例,播放设备以以下方式获得第二解密。播放设备从针对快速启动密钥接收到的信息中读取第二加密过程的解密信息,并且通过网络从内容提供者系统请求第二加密过程的解密密钥。接着,播放设备从内容提供者系统接收第二解密过程的解密密钥。

根据一些实施例,播放设备通过确定或者使用快速启动流来接收指定量的视频内容中的至少一个,或者已经过了一定量的时间,来确定度量被满足。

根据一些实施例,播放设备确定媒体内容的特定部分是使用播放设备播放媒体内容的开始位置,并且在快速启动流中从所确定的特定部分开始流处理媒体内容。

附图说明

图1示出了根据本发明实施例的自适应比特率流处理系统的网络图。

图2示出了根据本发明实施例的诸如播放设备中的处理系统的处理系统的组件的框图。

图3示出了根据本发明实施例的诸如编码系统和/或内容提供者系统中的处理系统的处理系统的组件的框图。

图4示出了根据本发明实施例的由编码系统执行以对包括媒体内容的加密数据的流进行编码的过程的流程图。

图5示出了根据本发明实施例的由播放设备使用启动流执行以开始媒体内容的播放的过程的流程图。

图6示出了根据本发明实施例的由播放设备执行以获得加密密钥的过程的流程图。

具体实施方式

现在转到附图,示出了根据本发明的一些实施例的用于在自适应比特率流处理系统中快速启动媒体内容的播放的系统和方法。当要播放的下一帧尚未存储在播放设备的缓冲器内时,启动发生。当第一次启动视频或当在执行非序列播放操作(诸如章节搜索或时间搜索)后恢复播放时,启动可以发生。因此,缓冲或加载新媒体内容的延迟(以减少播放开始时缓冲器下溢的可能性)可能导致显示新媒体内容的延迟。根据一些实施例,当流中的编码媒体内容被加密并且播放设备必须首先协商并接收解密密钥以解码媒体内容时,启动被延迟。启动的延迟可能是几秒的量级,这对于用户来说是令人不满意的。为了减少启动所需的时间,在本发明的一些实施例中,源媒体被编码为用于正常播放的至少一个视频流和可用于执行快速启动编码媒体播放的至少一个流。在一些其他实施例中为了进一步减少启动时间,源媒体被编码为用于自适应比特率流处理的多个备用流和至少一个另外的快速启动流。在快速启动流中,源媒体以这样的方式编码:来自快速启动的编码媒体的播放比来自传统备用流的编码媒体的播放开始得快。为此,根据一些实施例,快速启动流包括编码媒体的较低质量版本。出于本讨论的目的,较低质量意味着编码媒体具有比另一流中的编码媒体低的分辨率、比特率和/或帧率。在一些其他实施例中,快速启动流可以包括以与其他备用流不同的方式加密的编码媒体的较低质量版本,使得获得快速启动流的解密信息的时间比用于其他备用流的加密方法的时间少。根据许多这些实施例,快速启动流可不以任何方式加密。根据这些实施例中的一些其他实施例,快速启动流使用加密过程加密,该加密过程具有存储在播放设备中并且对于执行播放的应用程序是可访问的解密密钥,以允许在从快速启动流接收内容之后立即开始解密媒体内容。快速启动流可以被用于比使用传统备用流之一更快地用媒体内容填充播放设备的缓冲器,以允许更快地启动播放。在若干实施例中,加载快速启动流的过程可涉及实例化第一解码器以解码启动流以及拆除第一解码器,和实例化第二解码器以解码在第一解码器播放内容期间缓冲的更高分辨率和/或更鲁棒加密的流。

根据一些实施例,媒体内容根据dash标准存储在流中。然而,本领域技术人员将认识到,诸如但不限于matroska(mkv)容器文件格式的格式可用于存储媒体内容的流而不脱离本发明。

通过以每个比特率对每个备用流和快速启动流中的每个部分的源视频进行编码,可以显着增强根据本发明的一些实施例的自适应比特率流处理系统的性能,以这样的编码方式使得视频部分在每个流中被编码为单个(或至少一个)封闭图像组(gop),其以作为帧内帧(intraframe)的瞬时解码器刷新(idr)帧开始。在许多实施例中,快速启动流中的媒体内容也以比其他备用流中的视频内容低的比特率、帧率和/或分辨率进行编码,以具有比在其他备用流中编码的媒体内容低的质量。播放设备可以在在正常播放期间使用的备用流和在段的播放完成时的快速启动流之间切换,而无论从哪个流中获得段,该段中的第一帧将是idr帧,idr帧可以在除了cluster元素中包含的编码媒体之外不参考任何编码媒体的情况下解码。因此,播放设备可以从接收来自快速启动流的媒体内容切换并执行传统的自适应比特率流处理,就像快速启动流是任何其他可用流一样。

在许多实施例中,mpd可以包含可以用于解密快速启动流中的编码媒体内容的解密密钥或可以获得解密密钥的url。播放设备从mpd获得关于每个可用流的信息,并选择一个或多个流以在媒体播放中使用。然后,播放设备可以从包含一个或多个比特流或流的容器文件中获得标题信息,标题提供关于流解码的信息。播放设备还可以请求索引存储在相关容器文件内的编码媒体的段的索引信息。索引信息可以存储在容器文件中,或者可以与mpd中的容器文件分开存储,或者可以存储在分开的索引文件中。索引信息使得播放设备能够从服务器通过http请求与包含编码媒体的特定部分的容器文件内的媒体段对应的字节范围。根据一些实施例,播放设备使用索引信息在启动期间从快速启动流请求媒体内容的部分并接着在启动完成之后从其他备用流请求编码媒体的部分。随着播放设备从具有媒体内容的流请求编码内容的部分,播放继续,其中该媒体内容以可由网络条件支持的比特率编码。

下面进一步讨论根据本发明的一些实施例的用于提供快速启动流的自适应比特率流处理系统的源视频的编码,和使用自适应比特率流处理的编码媒体内容的播放。

自适应流处理系统架构

现在转向图1,示出了根据本发明实施例的自适应流处理系统。自适应流处理系统10包括被配置为将源媒体编码为多个备用流的源编码器12。在所示实施例中,源编码器是服务器。在其他实施例中,源编码器可以是任何处理设备,其包括处理器和足够资源以执行源媒体(包括但不限于视频、音频和/或字幕)的转码。通常,源编码服务器12为包含流(其中至少多个是备用流)的多个容器文件生成顶级索引。备用流是以不同方式编码相同媒体内容的流。在许多情况下,备用流以不同的最大比特率编码媒体内容(例如但不限于视频)。在许多实施例中,备用流以不同的分辨率和/或以不同的帧率编码。顶级索引文件和容器文件被上传到http服务器14。各种播放设备则可以使用http或另一适当的无状态协议来经由诸如因特网的网络16请求顶级索引文件和容器文件的部分。

在所示实施例中,播放设备包括个人计算机18,ce播放器和移动电话20。在其他实施例中,播放设备可以包括消费电子设备,诸如dvd播放器、蓝光播放器、电视、机顶盒、视频游戏控制台、平板电脑,以及能够通过http连接到服务器和播放编码媒体的其他设备。根据本发明的实施例,尽管图1中示出了特定的架构,但是可以使用各种架构中的任何架构,其包括执行传统流处理而不是自适应比特率流处理的系统,这使得播放设备能够请求顶级索引文件和容器文件的部分。

播放设备

用于提供根据本发明实施例的方法和系统的一些过程由播放设备执行。在图2中示出了可以执行根据本发明实施例的包括自适应流处理过程的过程的播放设备中的相关组件。本领域技术人员将认识到,播放设备可以包括为简洁起见而省略的其他组件而不脱离本发明的所描述的实施例。播放设备200包括处理器205、非易失性存储器210和易失性存储器215。处理器205是处理器、微处理器、控制器,或处理器、微处理器和/或控制器的组合,其执行存储在易失性存储器215或非易失性存储器210中的指令以操纵存储在存储器中的数据。非易失性存储器210可以存储用于配置播放设备200以执行包括根据本发明实施例的过程的过程的处理器指令和/或用于所利用的过程的数据。在其他实施例中,播放设备软件和/或固件可以存储在适合于特定应用的各种非暂时性计算机可读介质中的任何一种中。

服务器

用于提供根据本发明实施例的方法和系统的一些过程由http服务器、源编码服务器和/或本地和网络时间服务器执行。在图3中示出了执行根据本发明实施例的过程的服务器中的相关组件。本领域技术人员将认识到,服务器可以包括为简洁起见而省略的其他组件而不脱离本发明的所描述的实施例。服务器300包括处理器305、非易失性存储器310和易失性存储器315。处理器305是处理器、微处理器、控制器,或处理器、微处理器和/或控制器的组合,其执行存储在易失性存储器315或非易失性存储器310中的指令以操纵存储在存储器中的数据。非易失性存储器310可以存储用于配置服务器300以执行包括根据本发明实施例的过程的过程的处理器指令和/或用于所利用的过程的数据。在其他实施例中,服务器软件和/或固件可以存储在适合于特定应用的各种非暂时性计算机可读介质中的任何一种中。尽管图3中示出了特定服务器,但是根据本发明的实施例可以利用被配置为执行任何数量的过程的各种服务器中的任何一个。

编码快速启动流和备用流

图4中示出了根据本发明实施例的由编码系统执行的用于将源媒体内容编码成包括快速启动流的备用流的过程的流程图。过程400包括接收源媒体内容(405)。根据一些实施例,源媒体内容可以包括具有特定分辨率、帧率和其他传统属性的源媒体内容。根据其他实施例,源媒体内容可以包括特定源媒体内容的多个副本,其中一组副本中的源媒体内容的每个副本具有不同的分辨率、帧率和/或其他属性,以允许生成具有不同属性的流,该不同属性供支持不同媒体内容特性的播放设备使用。

编码系统将媒体内容编码成内容的备用流(410)。根据各种实施例,备用流包括编码视频内容的一个或多个流。根据一些实施例,所生成的备用流具有不同的比特率、质量水平和/或内容。例如,每个备用流可以具有不同的比特率,使得每个流可以在网络条件可以支持该流时被使用,诸如(但不限于)在网络带宽超过流的所需比特率时。此外,根据许多实施例,不同的备用流可以包括具有不同宽高比、分辨率和/或帧率的媒体内容,以支持不同类型的播放设备和/或流的不同比特率。

使用第一加密过程来加密流的所生成的媒体内容(415)。流的加密防止未授权的用户查看媒体内容。根据一些实施例,第一加密过程使用比用于加密快速启动流的密钥安全的第一密钥,如下面进一步讨论的。本领域技术人员将认识到,可以使用任何加密方法而不脱离本发明。根据本发明的许多实施例使用的特定加密过程在2014年12月9日授予kiefer等人的题为“systemsandmethodsforplayingbackalternativestreamsofprotectedcontentprotectedusingcommoncryptographicinformation”的美国专利号8,909,922中描述,与加密材料的自适应比特率流处理有关的部分通过引用并入本文。

生成包括上面参考容器文件讨论的信息的每个备用流的元数据(417)。根据一些实施例,元数据可以包括与流的属性有关的信息,包括流的编码最大比特率和每个块的呈现时间信息;媒体内容的属性,包括但不限于分辨率、帧率和样本宽高比。备用流的容器文件和索引文件是从加密的备用流和加密流的元数据生成的。根据一些实施例,索引文件可以包括顶级索引文件,顶级索引文件包括每个流的元数据和用于自适应比特率流处理的每个备用流的指针或url。

本领域技术人员将认识到,尽管生成流(410)、加密流(415)、生成元数据(417)以及生成容器文件(420)被示为分开的过程,但是根据一些实施例,这些过程可以同时进行或以不同的顺序进行。

另外,生成媒体内容的快速启动流(425)。根据一些实施例,快速启动流包括媒体内容的低质量版本。根据许多实施例,低质量流可以仅包括媒体内容的小部分,诸如媒体内容的开始部分。例如,快速启动流可以仅包括媒体内容的开始部分的几秒到几分钟量级的部分,以仅允许快速启动和流处理的开始。可选地,编码系统可以使用第二加密过程来加密快速启动数据(430)。根据多个实施例,第二加密过程不如用于其他备用流的第一加密过程安全。例如,第二加密过程可以使用简单的加密/解密密钥,其可以不如第一加密过程中使用的加密/解密密钥复杂。生成快速启动流的元数据(445)。根据一些其他实施例,用于第二编码过程的加密/解密密钥存储在播放设备中并且可用于播放媒体的应用程序。根据许多实施例,为快速启动流生成的元数据与如上所述为备用流生成的元数据相同或相似。

接着,编码系统将快速启动流添加到容器文件和/或使用所生成的流和/或生成的元数据生成快速启动流的容器文件(450)。快速启动流的容器文件与为上述备用流生成的容器文件相同和/或类似。快速启动文件的元数据也被添加到流的索引文件中(455)。根据一些实施例,将快速启动流的元数据添加到索引文件包括将快速启动流的元数据添加到顶级索引文件。

编码系统还可以将第二加密过程的加密信息添加到索引文件(460)。根据一些实施例,添加加密信息可以包括将第二加密过程的解密密钥添加到包括快速启动流的元数据的索引文件。根据一些其他实施例,添加加密信息可以包括用于包含第二加密过程的解密密钥的文件的标识符或url。

本领域技术人员将认识到,尽管生成流(425)、加密流(430)、生成元数据(445)以及生成容器文件(450)被示为分开的过程,但是根据一些实施例这些过程可以同时进行。此外,本领域技术人员将认识到,尽管生成流(410)、加密流(415)、生成元数据(417)以及生成容器文件(420)被示为与上述生成备用流的相应过程分开的,但是根据一些实施例,可以同时执行快速启动流和备用流的过程。

尽管上面描述了编码备用流与快速启动流的各种过程,但是本领域技术人员将认识到,可以根据本发明的一些实施例执行编码包括快速启动流的流的其他过程。

当播放设备准备解码来自其他备用流的媒体内容时,播放设备可以使用快速启动流来更快地加载、解码和开始播放媒体内容。在一些实施例中,当播放设备完成获得用于解密的解密密钥和解码其他备用流中的媒体内容的过程时,可以使用快速启动流来播放媒体内容的开始部分。在许多实施例中,在执行特技播放命令之后,还可以使用快速启动流来获得媒体内容以填入播放设备的缓冲器。在图5中示出了根据本发明的实施例的播放设备执行以使用快速启动流开始播放的过程。

在过程500中,播放设备通过接收媒体内容的顶级索引文件开始(505)。播放设备获得媒体内容的备用流的解密/加密信息(510)。根据一些实施例,从顶级索引文件中读取解密/加密信息。根据其他实施例,从另一个源接收加密/解密信息。解密/加密信息可以是诸如url或其他类型的指针之类的标识符,其将播放设备指向由认证系统和/或内容提供者系统提供的认证过程。基于解密/加密信息,播放设备执行获得解密密钥的过程(515)。

播放设备还从顶级索引文件中检索快速启动流信息(520)。根据一些实施例,快速启动流是到包含快速启动流的编码视频数据的容器文件和/或快速启动流的索引文件的url。在许多实施例中,播放设备还可以从顶级索引文件、快速启动流的索引文件和/或快速启动流的容器文件中的解密文件,获得解密密钥或其他解密信息(525)。

接着,播放设备从快速启动流容器文件开始流处理。为此,播放设备从快速启动流容器文件请求快速启动流的一部分媒体内容(即,编码的音频、字幕和/或视频数据)(530)。根据一些实施例,播放设备通过请求快速启动流容器文件的第一部分开始。在许多实施例中,在执行特技播放命令之后,播放设备开始请求在流内的期望点处的快速启动流容器文件的部分,期望点诸如但不限于媒体内容的当前呈现点。播放设备从内容提供者系统上的容器文件接收所请求的部分(535)并准备播放的媒体内容(540)。根据许多实施例,播放的媒体内容的准备可以包括解密所接收的部分和从解密的部分解码媒体内容。

播放设备确定是否已经接收到其他备用流的解密密钥(545)。根据一些实施例,可以使用另一度量来代替解密密钥的接收或者来与解密密钥的接收相结合,诸如但不限于已经接收到指定量的媒体内容或者已经过去了预定量的时间。如果尚未接收到解密密钥和/或未满足另一度量,则播放设备重复播放快速启动流的另一部分的请求(530)、接收(535)和准备(540)。如果已经接收到解密密钥和/或已经满足另一度量,则播放设备开始以传统方式执行其他备用流的流处理(550)。用于选择流和开始播放的系统和方法包括在题为“systemsandmethodsfordeterminingavailablebandwidthandperforminginitialstreamselectionwhencommencingstreamingusinghypertexttransferprotocol”的美国专利申请公开2013/0007200和题为“systemsandmethodsforperformingmultiphaseadaptivebitratestreaming”的美国专利号8,832,297中公开的那些,其公开内容通过引用整体并入本文,更特别地,播放设备执行的使用自适应比特率流处理获得媒体内容的过程通过引用并入本文。

尽管上面参考图5讨论了使用快速启动流开始播放的具体过程,本领域技术人员将认识到,可以根据本发明的各种实施例执行利用快速启动流开始播放的其他过程。

为了获得备用流的解密密钥,播放设备必须与内容提供者系统和/或第三方认证系统协商密钥。图6示出了根据本发明实施例的播放设备执行的过程。过程600包括与认证系统建立连接(605)。根据一些实施例,建立的连接是网络上的安全连接,以确保第三方不能获得机密信息。接着,播放设备与认证系统交互以协商解密密钥(610)。根据许多实施例,协商可以包括播放设备向认证系统提供证实和/或注册信息,以及认证系统验证信息以授权播放设备。一旦播放设备被授权,认证系统就将解密密钥提供给通过安全连接接收解密密钥的播放设备(615)。

尽管在图6中公开了根据本发明实施例的获得解密密钥的特定过程,根据本发明的实施例,播放设备可以执行其他过程以获得解密密钥。

尽管已经在某些特定方面描述了本发明,但是对于本领域技术人员来说许多其他修改和变化是明显的。因此,应该理解,本发明可以以不同于特定描述的方式实践,包括实施中的各种改变,诸如利用支持超出它们所遵循的特定标准中指定的特征的编码器和解码器,而不脱离本发明的范围和精神。因此,本发明的实施例应该在所有方面都被认为是说明性的而非限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1