买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种传送媒体内容的方法_艾锐势有限责任公司_201580057430.X 

申请/专利权人:艾锐势有限责任公司

申请日:2015-10-19

公开(公告)日:2020-10-23

公开(公告)号:CN107148779B

主分类号:H04N21/2187(20110101)

分类号:H04N21/2187(20110101);H04N21/2343(20110101);H04N21/262(20110101);H04N21/845(20110101)

优先权:["20141022 US 62/066,971"]

专利状态码:有效-授权

法律状态:2020.10.23#授权;2017.10.10#实质审查的生效;2017.09.08#公开

摘要:提供了传送媒体内容的方法,其提供显著减小的块大小。该方法包括在HTTP流送器处从媒体准备单元将一个或多个自适应输送流接收到存储器缓冲器中。所接收的输送流包括多个可切换段,每个可切换段包括一个或多个递送块,可切换段利用段边界点来标记,并且递送块利用块边界点来标记。然后将来自所请求的可切换段的所述递送块中的一个或多个传送到作出请求的客户端设备,直到达到终止段边界点,其中,每个递送块可独立解码,并且即使当HTTP流送器尚未完全从媒体准备单元接收到整个所请求的可切换段时,客户端设备也可以开始解码并渲染接收到的递送块。

主权项:1.一种传送媒体内容的方法,包括:在HTTP流送器处从媒体准备单元接收自适应输送流描述,所述自适应输送流描述用于描述能够从所述媒体准备单元获得的、作为一个或多个自适应输送流的媒体内容,其中,所述一个或多个自适应输送流中的每个自适应输送流是包括多个可切换段的连续的流,所述可切换段每个包括一个或多个递送块,所述可切换段是利用段边界点来标记的并且所述递送块是利用块边界点来标记的,其中,在所述多个可切换段中的每个可切换段之间的位置是客户端设备能够切换到所述一个或多个自适应输送流中的不同自适应输送流的位置;利用所述HTTP流送器发布播放列表,所述播放列表列出所述多个可切换段中的一个或多个可切换段的标识符,所述可切换段包括递送块;在所述HTTP流送器处将来自所述媒体准备单元的所述一个或多个自适应输送流接收到存储器缓冲器中;在所述HTTP流送器处从所述客户端设备接收要以请求的比特率被接收的对于在所述播放列表上识别的特定可切换段的请求;通过以下步骤,通过实时处理传输中的多个自适应输送流中的所接收到的一个,来响应所述HTTP流送器中的所述请求:在所述特定可切换段之前继续接收可切换段的递送块,直到所述递送块到达段边界点为止;仅在所述特定可切换段中识别所述一个或多个块的边界标记;以及使用HTTP分块传输编码以所述请求的比特率从所述特定可切换段将所述一个或多个递送块发送到所述客户端设备,直到到达终止段边界点为止,其中,所述一个或多个递送块中的每个递送块是能够由所述客户端设备独立解码的所述特定可切换段的部分,使得所述HTTP流送器被配置为当所述HTTP流送器尚未从所述媒体准备单元接收到所述可切换段的另外的可切换段时,开始发送来自所请求的可切换段的递送块,使得所述客户端设备开始解码和渲染接收到的递送块。

全文数据:自适应比特率流送时延减少[0001]优先权要求[0002]本申请要求根据35U.S.C.§119e的2014年10月22日提交的早先的美国临时申请序列号62066,971的优先权,其通过引用并入本文。技术领域[0003]本公开涉及数字视频流送领域,特别是关于使用自适应输送流ATS和分块传输编码以减少自适应比特率流中的时延的领域。背景技术[0004]通过诸如互联网的网络将实况或预记录的媒体内容流送到诸如机顶盒、计算机、智能电话、移动设备、平板计算机、游戏控制台、和其它设备的客户端设备变得越来越流行。这样的媒体内容的递送通常依赖于诸如MPEG-DASH、HTTP直播流送HLS、和HTTP平滑流送的自适应比特率流技术。[0005]用自适应比特率流技术编码的媒体内容流通常被分成多个段,其中每个段可以是独立可访问的。客户端设备可以通过请求和解码第一段、请求和解码第二段、并且继续请求和解码后续段只要客户端设备的用户希望播放媒体内容、或者直到回放到达媒体内容的末尾来播放媒体流。[0006]另外,流的分段可以允许客户端设备在均已经以不同质量水平编码的流的不同比特率版本之间转换。例如,当网络状况拥塞时,客户端设备可以通过请求以低比特率编码的段来开始回放媒体流,而当网络状况改善时,客户端设备可以通过请求以较高的比特率编码的后续段来转换到流的较高质量版本。[0007]虽然将媒体流分段能够是有用的,但是常规的分段过程引入延迟,特别是在实况内容的传送时。在大多数自适应比特率流实现中,服务器只能向作出请求的客户端设备提供完整的段。然而,段通常具有至少几秒的长度,诸如2至10秒。因此,向最终用户的流的初始递送直到第一段完成之后才能开始。这在可以以其它方式观看实况内容之前引入了至少该段的长度的延迟。另外,由于第一段以这种方式被延迟,所以所有后续段将被类似地延迟,并且视频将永远无法上实时。[0008]这些类型的延迟对于用户来说可能是令人沮丧的。例如,实况体育广播是受欢迎的,且观看者通常希望在体育场内发生事件之后尽快在屏幕上看到事件。然而,即使每个段的长度相对短一一诸如两秒),每个两秒的内容也必须被完全编码并封包成段,然后才能发送到客户端设备。因此,由于分段过程,屏幕上示出的事件将总是落后于实时至少两秒钟。这样的延迟对于狂热者来说可能令人失望,因为当在比赛期间发生令人兴奋的事件时,他们可能会先通过在线记分牌或无线电得知,然后他们才能实际在屏幕上看到它发生。[0009]虽然一些观看者可能不关心是否延迟地接收实况视频,但是开始观看视频流所花费的时间仍然能够使这些观看者烦恼。因为第一个视频段需要在其被发送到观看者的设备之前被完全编码和封包,所以在观看者请求视频流之后,在开始为观看者播放之前,可能会有至少等于该段大小的延迟,诸如2-10秒。对于习惯于常规电视提供的立即调谐时间的观看者来说,多秒调谐延迟可能令人沮丧。[0010]降低这种类型的调谐延迟的一种方法可以是缩短段的大小。例如,不同于在一些当前流送技术中通常使用的10秒段,段大小可以缩短到2秒,使得解码设备可以在接收到前2秒内容之后开始回放。然而,所有段通常利用前导锚帧进行编码,前导锚帧比其它帧使用更多数据。因此,减小段大小需要更多的锚帧并利用更多的数据,这可以降低编码效率并影响带宽的使用和性能。另外,减少段大小总体上将导致更多的段,并因此会增加将其递送到客户端设备所需的HTTP请求和回复的数目。发明内容[0011]需要一种系统和方法,用于即使当发送设备还不知道可切换段的完整大小时,或即使在发送设备尚未具有可切换段的完整拷贝的情况下,也可以使用分块传输编码发送来自连续自适应输送流内的各个可切换段的递送块。这可以允许在客户端设备请求可切换段之后几乎立即开始实况内容的传输、解码、和渲染,而无需等待完整的可切换段被编码和发送。[0012]在一个实施例中,本公开提供了一种用于传送媒体内容的方法,所述方法包括在HTTP流送器streamer处从媒体准备单元接收自适应输送流描述,所述自适应输送流描述描述可从媒体内容准备单元作为一个或多个自适应输送流获得的媒体内容,其中所述一个或多个自适应输送流中的每一个是包括多个可切换段的连续流,多个可切换段均包括一个或多个递送块,所述可切换段是利用段边界点来标记的,且递送块是利用块边界点来标记的,其中,在所述多个可切换段中的每一个之间的位置是客户端设备可以切换到所述一个或多个自适应输送流中的不同的自适应输送流的位置;发布播放列表,其中HTTP流送器列出所述多个可切换段中的一个或多个可切换段的标识符;在所述HTTP流送器处将所述一个或多个自适应输送流从所述媒体准备单元接收到存储器缓冲器中,在所述HTTP流送器处从所述客户端设备接收对于在所述播放列表上标识的特定可切换段的请求,以及通过来自所述特定可切换段的一个或多个递送块传送到所述客户端设备直到达到终止段边界点,使用分块传输编码来响应所述请求,其中所述一个或多个递送块中的每一个是可由客户端设备独立解码的单个可切换段的部分,使得即使在HTTP流送器尚未完全从媒体准备单元接收到所请求的可切换段时,HTTP流送器也被配置为开始发送来自所请求的可切换段的递送块,并且客户端设备也可以开始解码和渲染接收到的递送块。[0013]在另一个实施例中,本公开提供了一种对媒体内容进行编码的方法,所述方法包括:在媒体准备单元处从源接收媒体内容片段;使用媒体准备单元将所述媒体内容片段以变化的比特率水平编码为多个自适应输送流,该多个自适应输送流中的每一个是包括多个可切换段的连续流,使得解码设备可以在相邻可切换段之间的位置处从多个自适应输送流中的一个切换到多个自适应输送流中的不同自适应输送流;使用媒体准备单元编码多个自适应输送流中的每一个,使得多个可切换段中的每一个包括一个或多个递送块,其中特定可切换段内的每个递送块是特定可切换段的独立可解码部分;使用标记所述自适应输送流内的可切换段中的每一个的开始点和或结束点的多个段边界点来标记所述多个自适应输送流中的每一个,并且使用标记所述自适应输送流内的每个可切换段内的递送块中的每一个的开始点和或结束点的多个块边界点来标记多个自适应输送流中的每一个。[0014]在另一个实施例中,本公开提供了一种传送媒体内容的方法,所述方法包括:在媒体准备单元从源接收媒体内容,将媒体内容使用媒体准备单元以变化的比特率水平编码成多个自适应输送流,该多个自适应输送流中的每一个是包括多个可切换段的连续流,使得解码设备可以在相邻可切换段之间的位置处从多个自适应输送流中的一个切换到多个自适应输送流中的不同自适应输送流;使用媒体准备单元编码多个自适应输送流中的每一个,使得多个可切换段中的每一个包括一个或多个递送块,其中特定可切换段内的每个递送块为该特定可切换段的可独立解码的部分;用多个段边界点标记多个自适应输送流中的每一个,所述多个段边界点标记自适应输送流内的每个可切换段的开始点和或结束点;用多个块边界点标记多个自适应输送流中的每一个,所述多个块边界点标记多个自适应输送流中每个可切换段内的每个递送块的开始点和或结束点;将描述多个自适应输送流的自适应输送流描述从媒体准备单元传送到HTTP流送器;发布播放列表,其中HTTP流送器列出所述多个可切换段的一个或多个的标识符;在所述HTTP流送器处将所述多个自适应输送流从媒体准备单元接收到存储器缓冲器中;在所述HTTP流送器处从客户端设备接收对于在所述播放列表上标识的特定可切换段的请求;以及通过将来自所述特定可切换段的一个或多个递送块传送到所述客户端设备直到达到终止段边界点,使用分块传输编码来响应所述请求,其中即使当HTTP流送器尚未完全从媒体准备单元接收到所请求的可切换段时,所述HTTP流送器也被配置为开始发送来自所请求的可切换段的递送块,并且客户端设备也可以开始解码和渲染接收到的递送块。附图说明[0015]借助附图对本发明的进一步细节进行说明,其中:[0016]图1描绘了用于递送媒体内容的系统,包括与媒体准备单元和一个或多个客户端设备通信的HTTP流送器。[0017]图2描绘了自适应输送流的非限制性示例的一部分。[0018]图3A描绘了列出虚拟标识符的播放列表的示例性实施例。[0019]图3B描绘了列出段标识符的播放列表的示例性实施例。[0020]图4描绘了接收到在HTTP流送器处的存储器缓冲器中的自适应输送流的一部分。[0021]图5描绘了使用分块传输编码将自适应输送流从HTTP流送器传送到客户端设备的第一示例性过程。[0022]图6A-6C描绘了被接收到存储器缓冲器中的自适应输送流的可切换段和被传送到作出请求的客户端设备的该可切换段的递送块的示例。[0023]图7描绘了使用分块传输编码将自适应输送流从HTTP流送器传送到客户端设备的第二示例性过程。[0024]图8描绘了计算机系统的示例性实施例的框图。具体实施方式[0025]图1描绘了用于递送媒体内容102的系统。媒体准备单元104可以选择性地与HTTP流送器106通信和或交换数据,并且一个或多个客户端设备108可以选择性地与HTTP流送器106通信和或交换数据。[0026]媒体准备单元104可以是包括一个或多个处理器、数据存储系统或存储器、和或通信链路或接口的编码器和或转码器。媒体准备单元104可以从诸如广播者或内容提供者的源接收媒体内容102。媒体内容102可以包括音频和或视频。在一些实施例和或情境下,媒体内容102可以是实况广播,而在其它实施例和或情境下,媒体内容102可以被预记录。媒体准备单元104可以被配置为将接收到的媒体内容102编码和或转码成至少一个自适应输送流110。在一些情境和或实施例中,媒体准备单元104可将接收到的媒体内容102编码和或转码成多个替选自适应输送流110,诸如均以不同的质量水平或比特率进行编码的不同的版本。[0027]图2描绘了自适应输送流110的非限制性示例的一部分。自适应输送流110可以是连续的输送流。通过非限制性示例的方式,自适应输送流110可以是连续的MPEG2输送流。在一些实施例中,可以由媒体准备单元104根据诸如CableLabs必OpenCable™规范的规范来准备自适应输送流110,然而在其它实施例中,媒体准备单元104可以以任何其它期望的格式准备自适应输送流110。[0028]自适应输送流110可以包括一系列图片群组(GOP,每个GOP包括一个或多个帧202。每个帧202可以通过帧内预测和或帧间预测进行编码和解码。也可以仅使用帧内预测帧202—一也称为I帧或关键帧一一内的数据独立于其它帧202对I帧进行编码和解码。可以参照一个或多个其它帧202对帧间预测帧202进行编码和解码,例如通过对帧间预测帧202与一个或多个参考帧202之间的差异进行编码。可以参照先前帧202进行编码和解码的帧间预测帧202可被称为P帧。可以参考先前帧和随后帧202两者进行编码和解码的帧间预测帧202可被称为B帧。每个GOP可以以I帧开始,使得解码设备可以独立地解码前导I帧,并且然后使用该解码信息来帮助解码GOP内的任何后续P帧或B帧。[0029]多个可独立解码的可切换段204可以存在于自适应输送流110内,如图2所示。通过非限制性示例的方式,每个可切换段204可以是自适应输送流110的一部分,例如媒体内容102的2至10秒部分。每个单独的可切换段204可以包括一个或多个G0P。[0030]自适应输送流110中的每个可切换段204之间的位置可以是在客户端设备108可以在自适应输送流110的不同版本之间切换的位置。以非限制性示例的方式,经历网络拥塞的客户端设备108可以从自适应输送流110的一个版本请求和回放可切换段204,自适应输送流110的该版本以适合于通过处于当前拥塞水平下的网络递送的相对低的比特率被编码。然而,当客户端设备108到达可切换段204的末尾并且确定网络状况已经改善时,客户端设备108可以从自适应输送流110的以更高的比特率编码的不同版本请求下一可切换段204。[0031]虽然自适应输送流110可以被编码为连续的输送流,但媒体准备单元104可以提供指示段边界点206在连续的自适应输送流110内的位置的信息。段边界点206可以指示连续自适应输送流110内的每个可切换段204的起始和或结束。[0032]在一些实施例中,段边界点206可以在与自适应输送流110相关联的专用数据内被识别。以非限制性示例的方式,段边界点206可以是编码器边界点(EBP,其在内容根据CableLabs®OpenCable™规范进行编码时被标记。在其它实施例中,可以在与自适应输送流110相关联的公用数据中识别段边界点206,诸如在公用MPEG数据字段内的段边界描述符。在再其它实施例中,可以从其它数据推断段边界点206的位置。以非限制性示例的方式,每个可切换段204的第一帧202可被编码为特殊类型的I帧,称为IDR即时解码器刷新)帧,其向解码设备指示应清空其参考图片缓冲区。每个IDR帧可以指示可切换段204的开始,使得IDR帧的标识也可以指示段边界点206。[0033]每个可切换段204可以包括一个或多个递送块208。每个递送块208可以是可切换段204的一部分,诸如单个帧202、部分G0P、或一个或多个完整G0P。[0034]在一些实施例中,每个递送块208可以是可切换段204的可独立解码的子段,使得解码设备可以在接收到子段后立即解码并渲染每个递送块208,而不需要等待附加递送块208。通过非限制性示例,递送块208可以是从包括多个GOP的较大的十秒可切换段204获取的单个8帧G0P。作为另一个非限制性示例,当可切换段204包括都是I帧时,其递送块208可以是单独的帧202,因为每个帧可以被独立地解码。[0035]如图2所示,与可以指示段边界点206的方式类似地,媒体准备设备104可以通过公用或专用数据来指示自适应输送流110内的块边界点210的位置。每个块边界点210可以标记可切换段204内的递送块208的开始和或结束。[0036]回到图1,媒体准备单元104可以通过网络一一诸如互联网或任何其它数据网络——向HTTP流送器106提供对自适应输送流110的访问。HTTP流送器106可以加入与媒体准备单元104相关联的多播组以开始接收自适应输送流110。[0037]HTTP流送器106可以是被配置为将独立可切换段204从自适应输送流110递送到已请求它们的客户端设备108的封装器和或服务器。HTTP流送器106可以包括互联网协议电视(IPTV服务器、过顶OTT服务器或任何其它类型的服务器或网络元件。HTTP流送器106可以具有一个或多个处理器、数据存储系统或存储器、和或通信链路或接口。如下图4所示,HTTP流送器106可以具有一个或多个存储器缓冲器402,HTTP流送器106至少可临时将自适应输送流110的接收的部分存储到存储器缓冲器402中。[0038]每个客户端设备108可以是机顶盒、有线电视盒、电视、计算机、智能电话、移动设备、平板计算机、游戏控制台,或被配置为请求、接收、和回放可切换段204的任何其它设备。客户端设备108可以具有一个或多个处理器、数据存储系统或存储器、和或通信链路或接□〇[0039]在一些实施例中,HTTP流送器106还可以从媒体准备单元104接收自适应输送流描述112。自适应输送流描述112可以是描述从媒体准备单元104对HTTP流送器106可用的一个或多个自适应输送流110的媒体呈现描述MPD、清单,或其它信息。以非限制性示例的方式,媒体准备单元104可以向HTTP流送器106提供描述诸如媒体内容102的名称的媒体内容102的片段的自适应输送流描述112以及可从媒体准备单元104以不同的比特率获得或将可获得的媒体内容102的多个不同的自适应输送流110版本的标识符。[0040]HTTP流送器106可以使用自适应输送流描述112来生成描述媒体内容102和可用可切换段204的针对客户端设备108的播放列表114。播放列表114可以是MPD、清单、或描述可由客户端设备108从HTTP流送器106请求的一个或多个可切换段204的其它信息。,以非限制性示例的方式,播放列表114可以是DASH基于HTTP的动态自适应流MPDJTTP流送器106可以针对客户端设备108发布播放列表114。[0041]图3A描绘了播放列表114的第一实施例。在一些实施例或情境中,诸如在媒体内容102是实况广播且客户端设备108很可能请求最新的可切换段204以尽可能接近实况地呈现媒体内容102时,HTTP流送器106可以利用链接到自适应输送流110中的最新近的可切换段204的版本的虚拟标识符302来准备播放列表114。以非限制性示例的方式,HTTP流送器106可以准备播放列表114,其列出了可从媒体准备单元104获得的每个质量水平的自适应输送流110的虚拟标识符302,诸如以不同比特率编码的版本。客户端设备108可以使用播放列表114中的虚拟标识符302来从HTTP流送器106请求处于期望的质量水平的最新近的可切换段204,而不需要知道HTTP流送器106处的最新近的可切换段204的特定标识符或URL。[0042]图3B描绘了播放列表114的替选实施例。在替选实施例中,HTTP流送器106可以列出播放列表114上的特定可切换段204的独特分段标识符304,诸如文件名或URLATTP流送器106可以分析其已经在存储器缓冲器402中接收的自适应输送流110的部分,以识别至少部分地接收到的可切换段204,并且为播放列表114上的那些可切换段204添加段标识符304。在一些实施例中,播放列表114可以列出每个可切换段204的替选版本的段标识符304,诸如来自自适应输送流110的以不同比特率编码的并列的可切换段204。[0043]在这些实施例中,HTTP流送器106—开始接收新的可切换段204的一部分,它就可以在播放列表114上包括该新的可切换段204的段标识符304,即便它还没有接收到整个该可切换段204。以非限制性示例的方式,HTTP流送器106—遇到自适应输送流110中的新的段边界点206,它就可以将该新的可切换段204的段标识符304添加到播放列表114,即便它还没有接收到标记可切换段204的结束和下一可切换段204的开始的另一段边界点206。在实况内容的情况下,随着在HTTP流送器106的存储器缓冲器402中接收到自适应输送流110中的更多部分并且识别出新的可切换段204,HTTP流送器106可以利用新的段标识符304来更新播放列表114。[0044]当客户端设备108使用播放列表114来请求可切换段204时,HTTP流送器106可以使用段边界点206来识别自适应输送流110内的各个可切换段204的结束点,并且因此可以将来自连续自适应输送流110的可切换段204封装和或递送到已请求它们的客户端设备108。HTTP可以用作内容传送机制,以通过诸如互联网或任何其它数据网络的网络将可切换段204从HTTP流送器106输送到作出请求的客户端设备108ATTP流送器106可以将各个可切换段204传送到客户端设备108以作为由客户端设备108使用的自适应比特率流送技术的段,自适应比特率流送技术诸如MPEG-DASH、HTTP直播流送HLS、或HTTP平滑流。[0045]在一些实施例中,HTTP流送器106可以使用零拷贝分段来将与单个可切换段204相关联的数据传送到作出请求的客户端设备108。在这些实施例中,HTTP流送器106可以接收进入存储器缓冲器402的来自自适应输送流110的数据,如图4所示。在一些实施例中,存储器缓冲器402可以保持来自自适应输送流110的达预定量的数据,诸如接收到的媒体内容102的最新近的η秒、接收到的最新近的η个字节、接收到的最新近的η个可切换段204、或任何其它度量的数据。[0046]使用零拷贝分段,当特定可切换段204已被客户端设备108请求时,HTTP流送器106可以直接从存储器缓冲器402将与该可切换段204相关联的数据传送到作出请求的客户端设备108,而无需首先将该数据拷贝到不同的存储位置或将数据拷贝到一个或多个单独的文件中。以非限制性示例的方式,HTTP流送器106可以追踪其存储器缓冲器402中的、与自适应输送流110内的不同可切换段204相对应的所接收自适应输送流110中的位范围,并且HTTP流送器106可以使用这些位范围来直接从存储器缓冲器402中的自适应输送流110的部分向客户端设备108提供所请求的可切换段204。类似地,HTTP流送器106可以使用零拷贝分段来从使用零拷贝分段的存储器缓冲器402向客户端设备108传送来自更大的可切换段204的各个递送块208。[0047]HTTP流送器106可以使用如HTTP1.1中定义的分块输送编码CTE,以将来自每个请求的可切换段204的各个递送块208顺序递送到作出请求的客户端设备108。如上所述,每个递送块208可以选择为如单个帧202这样小,或者可以被选择为单个帧202和完整可切换段204之间的任何其它大小。在一些实施例中,HTTP流送器106可以根据在自适应输送流110的编码期间由媒体准备单元104添加的块边界点210来识别在所请求的可切换段204内的每个递送块208的开始点和或者结束点。[0048]利用分块输送编码,即使HTTP流送器106尚未接收到完整的可切换段204并且还不知道可切换段204的完整大小,HTTP流送器106也可以开始将请求的可切换段204的部分作为递送块208从其存储器缓冲器402传送到客户端设备108。[0049]以非限制性示例的方式,HTTP流送器106可以从媒体准备单元104基本上实时地接收实况广播作为自适应输送流110C3HTTP流送器106—找到指示自适应输送流110内的可切换段204的开始的段边界点206,HTTP流送器106就可以使用块边界点210来识别在该可切换段204内的可解码递送块208。一旦HTTP流送器106根据该块边界点210确定HTTP流送器106已经在其存储器缓冲器402中接收到完整的递送块208,HTTP流送器106就可以将该递送块208发送到作出请求的客户端设备108,即便HTTP流送器106还没有接收到来自该可切换段的进一步的递送块208、或者包含指示可切换段204的结束的段边界点206的自适应输送流110的进一步的部分。HTTP流送器106可以继续从媒体准备单元104实时地接收自适应输送流110的更多部分,并且可以继续向客户端设备108发送附加的递送块208,直到接收到和处理自适应输送流110中的下一个段边界点206。此时,HTTP流送器106可以向客户端设备108发送所请求的可切换段204已经终止的指示,诸如长度为零的最后的递送块208。[0050]图5描绘了使用分块传输编码将来自一个或多个自适应输送流110的数据从HTTP流送器106发送到客户端设备108的第一示例性过程。当媒体内容102是实况广播并且客户端设备108希望实时回放该实况内容时,可以使用图5的过程。[0051]在步骤502,HTTP流送器106可以从媒体准备单元104接收与媒体内容102的片段一一诸如实况广播一一相关联的自适应输送流描述112。自适应输送流描述112可以描述关于媒体内容102和可从媒体准备单元104获得的一个或多个相关联的自适应输送流HO一一诸如以不同比特率编码的媒体内容102的不同版本一一的信息。媒体准备单元104可以已经编码了利用段边界点206以及块边界点210在自适应输送流描述112中标识的每个自适应输送流110,或正在对其编码的过程中,段边界点206指示在该连续自适应输送流110内的各个可切换段204的开始和或结束点的,块边界点210标记在每个可切换段204内的递送块208的开始和或结束点。[0052]在步骤504,HTTP流送器106可以发布针对客户端设备108的播放列表114ATTP流送器106可以使用自适应输送流描述112来确定可从媒体准备单元获得的质量水平,并列出播放列表114上的处于每个可用质量水平的最新近可切换段204的虚拟标识符302,如图3A所示。[0053]在步骤506,HTTP流送器106可以从客户端设备108接收对于最新近可切换段204的版本的请求。以非限制性示例的方式,客户端设备108可以使用播放列表114上的虚拟标识符302之一请求处于期望的质量水平的最新近的可切换段204,以便几乎实时地回放媒体内容102。如果HTTP流送器106尚未开始从媒体准备单元104接收自适应输送流110,则HTTP流送器106可以加入与媒体准备单元104相关联的多播组,并且可以开始将自适应输送流110接收到其存储器缓冲器402内。[0054]在步骤508,HTTP流送器106可以使用分块传输编码来将来自所请求的可切换段204的递送块208传送到作出请求的客户端设备108。在一些实施例中,HTTP流送器106可以使用零拷贝分段将与所请求的可切换段204相关联的数据从其存储器缓冲器402直接发送到作出请求的客户端设备108。[0055]响应于客户端设备的对于最新近的可切换段204的请求而发送的第一递送块208可以是保持在HTTP流送器的存储器缓冲器402中的最新近的完整递送块208ATTP流送器106可以使用由媒体准备单元104插入的块边界点210来识别保持在其存储器缓冲器402中的自适应输送流110的部分内的递送块208。以非限制性示例的方式,图6A描绘了已经部分地接收到HTTP流送器的存储器缓冲器402内的可切换段204。尽管在存储器中仅接收了完整可切换段204中的几个帧202,但是已经接收了由块边界点210限定的完整递送块208,且HTTP流送器106可以将该递送块208发送到作出请求的客户端设备108。当媒体准备单元104将块边界点210插入自适应输送流110内以标记媒体内容102的独立可解码部分时,即使尚未接收到可切换段204的其它部分,客户端设备108也可以立即开始解码该递送块208并回放其帧202。[0056]当响应来自客户端设备108的请求时,HTTP流送器106可以追踪其在可切换段204内的位置,使得最新近发送的递送块208之后的下一个递送块208可以随后视情况被发送到客户端设备108。以非限制性示例的方式,图6B描绘了HTTP流送器106已经将来自可切换段204的第一递送块208发送到作出请求的客户端设备108的情境,并且随后在其接收并检测到指示第二递送块208的结束的块边界点210时,发送来自相同的可切换段的第二递送块208〇[0057]在步骤510,HTTP流送器106可以确定其是否已经到达自适应输送流110内的段边界点206。如果在向客户端设备108发送递送块208之后HTTP流送器106尚未到达自适应输送流110内的段边界点206,则HTTP流送器106可以返回到步骤508,以使用分块传输编码将来自所请求的可切换段204的下一个递送块208传送到作出请求的客户端设备108。然而,如果HTTP流送器106在步骤510期间确定其已经到达自适应输送流110内的段边界点206,则HTTP流送器106可以确定它已经到达当前可切换段204的结束点,并且可以移动到步骤512。以非限制性示例的方式,图6B-6C描绘了HTTP流送器106向客户端设备108发送递送块208并且然后在HTTP流送器106的存储器缓冲器402中的自适应输送流110的部分内遇到段边界点206作为下一数据片段的情境。[0058]在步骤512,HTTP流送器106可以将终止递送块208传送到客户端设备108,以指示客户端设备108请求的可切换段204的结束。如上所述,在一些实施例中,终止递送块208可以具有零长度。终止递送块208可以向作出请求的客户端设备108指示与所请求的可切换段204相关联的最后的递送块208已经被发送,并且已经到达可切换段204的末尾。[0059]在接收到终止递送块208之后,客户端设备108可以或者使用播放列表114来从处于相同或不同质量水平的自适应输送流110请求下一可切换段204,或者结束对媒体内容102的回放。[0060]在步骤514期间,HTTP流送器106可以确定是否已经从作出请求的客户端设备108接收到对于可切换段204的新请求。如果客户端设备108已经请求了另一可切换段204,则HTTP流送器106可以返回到步骤508以开始将请求的可切换段204的递送块208传送到客户端设备108。如果客户端设备108尚未请求附加的可切换段204,则该过程可以结束,和或HTTP流送器106可以等待对于可切换段204的未来请求。[0061]图7描绘了使用分块传输编码从HTTP流送器106将来自一个或多个自适应输送流110的数据传送到客户端设备108的第二示例性过程。当媒体内容102是实况广播并且客户端设备108希望以近实时的方式回放该实况内容时,或者当媒体内容102是实况或预记录的并且客户端设备108可以遍历该内容进行查找时,可以使用图7的过程。[0062]在步骤702,HTTP流送器106可以从与媒体内容102的片段相关联的媒体准备单元104接收自适应输送流描述112。自适应输送流描述112可以描述关于可从媒体准备单元104获得的媒体内容102以及一个或多个相关联的自适应输送流110——诸如以不同比特率编码的媒体内容102的不同版本一一的信息。媒体准备单元104可以已经编码了利用段边界点206以及块边界点210在自适应输送流描述112中标识的每个自适应输送流110,或正在对其的编码过程中,段边界点206指示在该连续自适应输送流110内的各个可切换段204的开始和或结束点,块边界点210标记在每个可切换段204内的递送块208的开始和或结束点。[0063]在接收到自适应输送流描述112之后,HTTP接收器106可以加入与媒体准备单元104相关联的多播组,并且可以开始将自适应输送流110接收到其存储器缓冲器402中。HTTP流送器106可以针对标记自适应输送流110内的每个可切换段204的开始的段边界点206,检查在其存储器缓冲器402中接收的自适应输送流110的部分。[0064]在步骤704,HTTP流送器106可以发布针对客户端设备108的播放列表114ATTP流送器106可以在播放列表114上列出识别的可切换段的段标识符304,如图3B所示。如上所述,HTTP流送器106可以在播放列表114上列出不完整的可切换段204,例如来自尚未在其存储器缓冲器402中完全接收的实况广播的可切换段204。以非限制性示例的方式,当HTTP流送器106在自适应输送流110的已接收的部分中找到标记可切换段204的开始的段边界点206时,它可以在播放列表114中列出可切换段204的段标识符304,即便尚未从媒体准备单元104接收完整可切换段204。[0065]在一些实施例中,当从媒体准备单元104接收到自适应输送流110的更多部分时,可以连续地或周期性地更新播放列表114。以非限制性示例的方式,当媒体准备单元104向HTTP流送器106发送作为一个或多个自适应输送流110的实况广播时,HTTP流送器106—开始接收来自媒体准备单元104的自适应输送流110,HTTP流送器106就可以发布列出开始可切换段204的段标识符304的播放列表114的初始版本。随着接收到实况广播的更多部分,并且随着遇到标记可切换段204的结束和下一可切换段204的开始的附加段边界点206,HTTP流送器106可以发布新的播放列表114或更新播放列表114的先前版本以添加附加可切换段204的段标识符304。[0066]在步骤706,HTTP流送器106可以从客户端设备108接收对于可切换段204的请求。以非限制性示例的方式,客户端设备108可以使用播放列表114上的段标识符304之一来请求在公布的播放列表114中最新近列出的可切换段204,以便近实时地回放媒体内容102。作为另一个非限制性示例,客户端设备108可以请求播放列表114中其它地方列出的可切换段204以跳回视频中的较早点。[0067]在步骤708,HTTP流送器106可以使用分块传输编码来将来自所请求的可切换段204的递送块208传送到作出请求的客户端设备108。在一些实施例中,HTTP流送器106可以使用零拷贝分段将与所请求的可切换段204相关联的数据从其存储器缓冲器402直接发送到作出请求的客户端设备108。响应于客户端设备的对于最新可切换段204的请求而发送的第一递送块208可以是HTTP流送器106的存储器缓冲器402中保持的最新近的完整递送块208ATTP流送器106可以使用由媒体准备单元104插入的块边界点210来识别在保持在其存储器缓冲器402中的自适应输送流110的部分内的递送块208。通过非限制性示例的方式,图6A描绘了已经部分地接收到HTTP流送器的存储器缓冲器402内的可切换段204。尽管在存储器中仅接收了完整可切换段204中的几个帧202,但是已经接收了由块边界点210限定的完整递送块208,且HTTP流送器106可以将递送块208发送到作出请求的客户端设备108。当媒体准备单元104将块边界点210插入自适应输送流110内以标记媒体内容102的独立可解码部分时,即使尚未接收到可切换段204的其它部分,客户端设备108也可以立即开始解码该递送块208并回放其帧202。[0068]当响应来自客户端设备108的请求时,HTTP流送器106可以追踪其在可切换段204内的位置,使得最新近发送的递送块208之后的下一个递送块208可以随后视情况被发送到客户端设备108。作为非限制性示例,图6B描绘了其中HTTP流送器106已经将来自可切换段204的第一递送块208发送到作出请求的客户端设备108的情境,并且随后在其接收并检测到指示第二递送块208的结束的块边界点210时,发送来自相同的可切换段的第二递送块208〇[0069]在步骤710,HTTP流送器106可以确定其是否已经到达自适应输送流110内的段边界点206。如果在向客户端设备108发送递送块208之后HTTP流送器106尚未到达自适应输送流110内的段边界点206,则HTTP流送器106可以返回到步骤708,以使用分块传输编码将来自所请求的可切换段204的下一个递送块208传送到作出请求的客户端设备108。然而,如果HTTP流送器106在步骤710期间确定其已经到达自适应输送流110内的段边界点206,则HTTP流送器106可以确定其已经到达当前可切换段204的结束点,并且可以移动到步骤712。作为非限制性示例,图6B-6C描绘了HTTP流送器106向客户端设备108发送递送块208并且然后在HTTP流送器106的存储器缓冲器402中的自适应输送流110的部分内遇见段边界点206作为下一数据片段的情境。[0070]在步骤712,HTTP流送器106可以将终止递送块208传送到客户端设备108,以指示客户端设备108请求的可切换段204的结束。如上所述,在一些实施例中,终止递送块208可以具有零长度。终止传送区块208可以向作出请求的客户端设备108指示与所请求的可切换段204相关联的最后的递送块208已经被发送,并且已经到达可切换段204的末尾。[0071]在接收到终止递送块208之后,客户端设备108可以或者使用播放列表114来从处于相同或不同质量水平的自适应输送流110请求下一可切换段204,或者结束对媒体内容102的回放。[0072]在步骤714期间,HTTP流送器106可以确定是否已经从作出请求的客户端设备108接收到对于可切换段204的新请求。如果客户端设备108已经请求了另一可切换段204,则HTTP流送器106可以返回到步骤708以开始将请求的可切换段204的递送块208传送到客户端设备108。如果客户端设备108未请求附加的可切换段204,则该进程可以结束,和SHTTP流送器106可以等待对于可切换段204的未来请求。[0073]当客户端设备108最初请求实况视频流时,图5和图7的过程可以减少或基本上消除调谐延迟。以非限制性示例的方式,在图5中,客户端设备108可以使用播放列表114上的虚拟标识符302以从实况视频流自动请求最新的可切换段204的版本,即使HTTP流送器106尚未接收到完整的最新可切换段。作为另一个非限制性示例,如图7所示,HTTP流送器106可以在找到自适应输送流110中的开始段边界点206之后立即在播放列表114上列出新的可切换段204,即便HTTP流送器106尚未接收到完整的新可切换段,并且该新的可切换段202—出现在播放列表114上客户端设备108就可以对其进行请求。[0074]由于递送块208可以是较大可切换段204的独立可解码部分,所以HTTP流送器106可以通过向作出请求的客户端设备108发送各个递送块208来响应对于可切换段204的请求,即便HTTP流送器106还没有接收完整的可切换段204。这样,客户端设备108可以在由HTTP流送器106接收到自适应输送流110之后以仅递送块208的大小的延迟来开始回放实况视频,而不是等待HTTP流送器106接收完整的可切换段204、并且等待该完整的可切换段204进而被发送到客户端设备108。由于递送块208的大小可以是单个或部分G0P、或甚至各个帧202,可以最小化初始调谐延迟。初始调谐时间的最小化进而可以最小化在回放实况内容的后续部分中的时延。[0075]对实践实施例所需的指令序列的执行可由一个或多个计算机系统800执行,如图8所示。以非限制性示例的方式,媒体准备单元1〇4、ΗΤΤΡ流送器106、和或客户端设备108可以是计算机系统800。尽管本文可以呈现对一个计算机系统800的描述,但是应当理解,可以采用彼此通信的任何数目的计算机系统800。[0076]现在将参照图8来描述根据一个实施例的计算机系统800,图8是计算机系统800的功能组件的框图。如本文所使用的,术语计算机系统800广泛地用于描述可以存储和独立运行一个或多个程序的任何计算设备。[0077]计算机系统800可以包括耦合到总线806的通信接口814。通信接口814可以在计算机系统800之间提供双向通信。相应计算机系统800的通信接口814可以发送和接收电、电磁或光信号,其包括表示各种类型的信号信息一一诸如指令、消息和数据一一的数据流。通信链路815可以将一个计算机系统800与另一计算机系统800链接。例如,通信链路815可以是LAN、综合业务数字网(ISDN卡、调制解调器、或互联网。[0078]计算机系统800可以通过其相应的通信链路815和通信接口814来传送和接收消息、数据和指令,其包括诸如应用或代码的程序。接收的程序代码可以在其接收时由相应的处理器807执行,和或被存储在存储设备810或其它关联的非易失性介质中以供稍后执行。[0079]在一些实施例中,计算机系统800可以结合数据存储系统831操作,数据存储系统831诸如包含可由计算机系统800容易地访问的数据库832的数据存储系统831。计算机系统800可以通过数据接口833与数据存储系统831通信。[0080]计算机系统800可以包括用于传送指令、消息和数据一一统称信息的总线806或其它通信机制,以及与总线806耦合以供处理信息的一个或多个处理器807。计算机系统800还可以包括主存储器808—一诸如随机存取存储器RAM或其它动态存储设备,其耦合到总线806以用于存储要由处理器807执行的动态数据和指令。计算机系统800还可以包括耦合到总线806的只读存储器ROM809或其它静态存储设备,以用于存储用于处理器807的静态数据和指令。也可以提供存储设备810—一诸如磁盘或光学盘并将其耦合到总线806,以用于存储处理器807的数据和指令。[0081]计算机系统800可以经由总线806耦合到诸如LCD屏幕的显示设备811。诸如字母数字键和或其它键的输入设备812可以耦合到总线806,以用于将信息和命令选择传送到处理器807。[0082]根据一个实施例,单独的计算机系统800通过其相应的处理器807执行特定操作,处理器807执行包含在主存储器808中的一个或多个指令的一个或多个序列。这样的指令可以从另一计算机可用介质——例如ROM809或存储设备810——被读入主存储器808。对主存储器808中包含的指令序列的执行可致使处理器807执行本文所述的过程。在替选实施例中,可以使用硬连线电路代替软件指令或与软件指令组合使用。因此,实施例不限于硬件电路和或软件的任何特定组合。[0083]虽然以上已经特别地描述了本发明,但是这仅仅为了教导本领域普通技术人员如何制造和使用本发明。许多附加的修改将落在本发明的范围内,因为该范围由所附权利要求书限定。

权利要求:1.一种传送媒体内容的方法,包括:在HTTP流送器处从媒体准备单元接收自适应输送流描述,所述自适应输送流描述用于描述能够从所述媒体准备单元获得的、作为一个或多个自适应输送流的媒体内容,其中,所述一个或多个自适应输送流中的每个自适应输送流是包括多个可切换段的连续的流,所述可切换段每个包括一个或多个递送块,所述可切换段是利用段边界点来标记的并且所述递送块是利用块边界点来标记的,其中,在所述多个可切换段中的每个可切换段之间的位置是客户端设备能够切换到所述一个或多个自适应输送流中的不同自适应输送流的位置;利用所述HTTP流送器发布播放列表,所述播放列表列出所述多个可切换段中的一个或多个可切换段的标识符;在所述HTTP流送器处将来自所述媒体准备单元的所述一个或多个自适应输送流接收到存储器缓冲器中;在所述HTTP流送器处从所述客户端设备接收对于在所述播放列表上识别的特定可切换段的请求;以及使用分块传输编码,通过将来自所述特定可切换段的一个或多个递送块传送到所述客户端设备直到到达终止段边界点,来响应所述请求,其中,所述一个或多个递送块中的每个递送块是能够由所述客户端设备独立解码的部分的单个可切换段,使得所述HTTP流送器被配置为即使当所述HTTP流送器尚未从所述媒体准备单元完全接收到所请求的可切换段时,也开始发送来自所请求的可切换段的递送块并且所述客户端设备能够开始解码和渲染接收到的递送块。2.根据权利要求1所述的方法,其中,所述媒体内容是实况广播。3.根据权利要求1所述的方法,其中当所述媒体内容根据OpenCable标准被编码时,所述段边界点是插入到专用数据中的编码器边界点。4.根据权利要求1所述的方法,其中,所述段边界点被插入到公用数据中。5.根据权利要求1所述的方法,其中,所述HTTP流送器在所述播放列表上发布虚拟标识符,所述虚拟标识符每个指向最新近从所述媒体准备单元部分地或完整地接收到的可切换段。6.根据权利要求1所述的方法,其中,所述HTTP流送器在所述播放列表上发布段标识符,所述段标识符每个指向由所述HTTP流送器根据所述一个或多个自适应输送流内的打开和或关闭段边界点所识别的完整可切换段或部分可切换段。7.根据权利要求6所述的方法,其中,当所述HTTP流送器遇到标记所述一个或多个自适应输送流中的新可切换段的起始的开始段边界点时,将新的段标识符添加到所述播放列表。8.根据权利要求1所述的方法,进一步包括:在达到所述终止段边界点时,将长度为零的终止递送块发送到所述客户端设备。9.根据权利要求1所述的方法,进一步包括:使用所述存储器缓冲器内的零拷贝分段,将所述递送块中的每个递送块发送到所述客户端设备,其中,将所述存储器缓冲器中的、与由打开边界点和或关闭块边界点所识别的单个递送块相对应的位从所述存储器缓冲器直接传送到所述客户端设备。10.—种编码媒体内容的方法,包括:在媒体准备单元处从源接收媒体内容片段;利用所述媒体准备单元将所述媒体内容片段以变化的比特率水平编码为多个自适应输送流,所述多个自适应输送流中的每个自适应输送流是包括多个可切换段的连续流,使得解码设备能够在相邻可切换段之间的位置处从所述多个自适应输送流中的一个自适应输送流切换到所述多个自适应输送流中的不同自适应输送流;利用所述媒体准备单元来编码所述多个自适应输送流中的每个自适应输送流,使得所述多个可切换段中的每个可切换段包括一个或多个递送块,其中,特定可切换段内的每个递送块是所述特定可切换段的能够独立解码的部分;利用多个段边界点来标记所述多个自适应输送流中的每个自适应输送流,所述多个段边界点标记在所述自适应输送流内的每个所述可切换段中的开始点和或结束点;和利用多个块边界点来标记所述多个自适应输送流中的每个自适应输送流,所述多个块边界点标记在所述自适应输送流内的每个可切换段内的每个所述递送块的开始点和或结束点。11.根据权利要求10所述的方法,其中,每个递送块是包括一系列帧的能够独立解码的图片群组,并且每个可切换段包括多个图片群组。12.根据权利要求11所述的方法,其中,所述可切换段中的每个可切换段内的帧是帧内预测帧,并且每个可切换段内的每个递送块是单个帧,使得每个递送块能够被独立地解码。13.根据权利要求10所述的方法,其中,所述媒体内容片段是实况广播。14.根据权利要求10所述的方法,其中,当所述媒体内容片段根据OpenCable标准被编码时,所述段边界点是插入到专用数据中的编码器边界点。15.根据权利要求10所述的方法,其中所述段边界点被插入到公用数据中。16.—种传送媒体内容的方法,包括:在媒体准备单元处从源接收媒体内容片段;利用所述媒体准备单元将所述媒体内容片段以变化的比特率水平编码为多个自适应输送流,所述多个自适应输送流中的每个自适应输送流是包括多个可切换段的连续流,使得解码设备能够在相邻可切换段之间的位置处从所述多个自适应输送流中的一个自适应输送流切换到所述多个自适应输送流中的不同自适应输送流;利用所述媒体准备单元来编码所述多个自适应输送流中的每个自适应输送流,使得所述多个可切换段中的每个可切换段包括一个或多个递送块,其中,特定可切换段内的每个递送块是所述特定可切换段的能够独立解码的部分;利用多个段边界点来标记所述多个自适应输送流中的每个自适应输送流,所述多个段边界点标记在所述自适应输送流内的每个所述可切换段的开始点和或结束点;利用多个块边界点来标记所述多个自适应输送流中的每个自适应输送流,所述多个块边界点标记在所述自适应输送流内的每个可切换段内的每个所述递送块的开始点和或结束点;将描述所述多个自适应输送流的自适应输送流描述从所述媒体准备单元传送到HTTP流送器;利用所述HTTP流送器发布播放列表,所述播放列表列出所述多个可切换段中的一个或多个可切换段的标识符;在所述HTTP流送器处将来自所述媒体准备单元的所述多个自适应输送流接收到存储器缓冲器中;在所述HTTP流送器处从所述客户端设备接收对于在所述播放列表上识别的特定可切换段的请求;以及使用分块传输编码,通过将来自所述特定可切换段的一个或多个递送块传送到所述客户端设备直到到达终止段边界点,来响应所述请求,其中,所述HTTP流送器被配置为即使当所述HTTP流送器尚未从所述媒体准备单元完全接收到所请求的可切换段时,也开始发送来自所请求的可切换段的递送块并且所述客户端设备能够开始解码和渲染接收到的递送块。17.根据权利要求16所述的方法,其中,所述HTTP流送器在所述播放列表上发布虚拟标识符,所述虚拟标识符每个指向最新近从所述媒体准备单元部分地或完整地接收到的可切换段。18.根据权利要求16所述的方法,其中,所述HTTP流送器在所述播放列表上发布段标识符,所述段标识符每个指向由所述HTTP流送器根据所述一个或多个自适应输送流内的打开和或关闭段边界点所识别的完整可切换段或部分可切换段。19.根据权利要求18所述的方法,其中,当所述HTTP流送器遇到标记所述一个或多个自适应输送流中的新可切换段的起始的开始段边界点时,将新的段标识符添加到所述播放列表。20.根据权利要求16所述的方法,进一步包括:使用所述存储器缓冲器内的零拷贝分段,将所述递送块中的每个递送块发送到所述客户端设备,其中,将所述存储器缓冲器中的、与由打开边界点和或关闭块边界点所识别的单个递送块相对应的位从所述存储器缓冲器直接传送到所述客户端设备。

百度查询: 艾锐势有限责任公司 一种传送媒体内容的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。