自适应流创建和输送中的虚拟化的制作方法

文档序号:6498195阅读:192来源:国知局
自适应流创建和输送中的虚拟化的制作方法
【专利摘要】本文中描述了通过将内容分段成在随机存取存储器(易失性存储装置)中存储的数据结构而不是将内容分段成在磁盘或数据库(非易失性存储装置)上存储的段文件来创建要输送到一个或更多个客户端的内容流的自适应流传送服务器、方法和系统。
【专利说明】[0001] 自适应流创建和输送中的虚拟化

【技术领域】
[0002] 本发明涉及通过将内容分段成在随机存取存储器(易失性存储装置)中存储的数 据结构而不是将内容分段成在磁盘或数据库(非易失性存储装置)上存储的段文件来创建 要输送到一个或更多个客户端的内容流的自适应流传送服务器、方法和系统。

【背景技术】
[0003] 下面的缩略词和术语以此定义,其中的至少一些在有关至少现有技术和/或本发 明的以下描述内提及。
[0004] CDN 内容分布网络 HLS HTTP直播流传送 HTTP 超文本传送协议 IP 因特网协议 MPEG 运动图像专家组 MRTG 多路由器业务自动记录器 RTP 实时传输协议 RTSP 实时流传送协议 SNMP 简单网络管理协议 易失性存储装置(易失性存储器):是要求功率以保持存储的信息的计算机存储器,不 象不要求保持的电源的非易失性存储器。大多数形式的现代随机存取存储器(RAM)是易失 性存储装置,包括动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。内容可寻址 存储器和双端口 RAM通常使用易失性存储装置实现。
[0005] 非易失性存储装置(非易失性存储器):是即使不供电也能够保留存储的信息的计 算机存储器。非易失性存储器的示例包括只读存储器、闪存、铁电RAM、大多数类型的磁计算 机存储装置(例如,硬盘、软盘和磁带)、光盘和诸如纸带和穿孔卡的早期计算机存储方法。
[0006] 自适应比特率流传送是自适应流传送服务器用于通过一个或更多个网络流传送 多媒体到用户装置(例如,计算机、移动通信装置、平板、智能电话)的技术。虽然过去大多数 视频流传送技术利用流传送协议,如具有RTSP的RTP,但今天的自适应流传送技术主要基 于HTTP,并且设计成通过诸如因特网的大型分布式HTTP网络有效地工作。
[0007] HTTP自适应比特率流传送要求自适应流传送服务器具有以不同比特率编码的内 容流的多个文件(源视频、多媒体)。自适应流传送服务器然后基于从用户装置收到的请求 在流传送内容文件的不同编码之间切换。HTTP流的结果是用户的装置经历极少的缓冲和快 速开始时间,因此,用户对高端和低端网络连接均具有良好的体验。如今,存在若干HTTP自 适应比特率流传送技术能够由自适应流传送服务器用于通过诸如因特网的网络将多媒体 流传送到用户装置。例如,Apple的HTTP直播流(HLS) m3u8文件系统是一个此类HTTP自 适应比特率流传送技术,其中,"清单"文件被创建以引用许多视频段,这些视频段实时更新 以便以特定顺序播放。其它HTTP自适应比特率流传送技术包括Adobe的Dynamic stream for Flash、Microsoft 的 Smooth Streaming 等。
[0008] 参照图1A-1D (现有技术),有几个附图用于帮助解释传统系统100能够如何实现 HTTP自适应比特率流传送技术。如图1A (现有技术)所示,传统系统100包括内容提供商 102 (例如,广播网络102a、⑶N/内容库102b)、自适应流传送编码器/转码器104、自适应 流传送服务器106、网络107 (例如,IP网络107、⑶N网络107)及客户端108。自适应流 传送服务器106接收来自特定客户端108a对源视频110的的请求,并且然后从内容提供商 102检索源视频110 (步骤1)。在此示例中,广播网络102a具有请求的源视频110,并且提 供源视频110到自适应流传送编码器/转码器104。自适应流传送编码器/转码器104采 用源视频110,并且(例如)生成相同视频和音频内容的多个文件112a、112b、112c和112d, 但文件以不同比特率编码。例如,自适应流传送编码器/转码器104能够输出4M比特率文 件112a、2M比特率文件112b、lM比特率文件112c及512K比特率文件112d,这些文件全部 通过PTS/DTS 114相互关键帧对齐(参见图1B (现有技术))。因此,4M比特率文件112a具 有部分116a,该部分包含与2M比特率文件112b、1M比特率文件112c和512K比特率文件 112d的对应部分116b、116c和116d相同的视频和音频内容。然而,4M比特率文件的部分 116a具有比2M比特率文件的部分116b更高的质量,而2M比特率文件的部分116b具有比 1M比特率文件的部分116c更高的质量,1M比特率文件的部分116c又具有比512K比特率 文件的部分116d更高质量。
[0009] 自适应流传送服务器106包括接收多个文件112a、112b、112c和112d的多播分 组第三方保管118和存储多个文件112a、112b、112c和112d的分组第三方保管数据库120 (非易失性存储装置)。自适应流传送服务器106包括分段单元122,该单元用于将每个存储 的文件1128、1121 3、112(3和112(1分段成多个段文件120&1_11、12013 1_11、120(31_11和120(11_ 11(参见 图1C (现有技术))。自适应流传送服务器106包括存储段文件120&1_η、1201ν η、120(νη和 120dm的段数据库124(非易失性存储装置)。每个段文件120 &1_η、1201νη、120(νη和120(1^ 包含在预确定的持续时间(例如,10秒)内的视频和音频分组。在此示例中,段文件120 &1、 1201^、12〇Cl和120(^ (例如)将与时间代码tl-t2相关联,并且段文件120a4、120b4、120c4和 120d 4 (例如)将与时间代码t4-t5相关联。
[0010]自适应流传送服务器106具有HTTP服务器126,该服务器连接段数据库124并且 创建主清单文件128,该文件包括子清单文件130a、130b、130c和130d (例如)(参见图1D (现有技术))。每个子清单文件130a、130b、130c和130d分别包括对每个段文件12〇ai_n、 1201ν η、120(νη和 120(1^ 的引用 132&1_η、1321νη、132(νη 和 132(νη。HTTP 服务器 126 通过网 络107将主清单文件128发送到客户端108a (步骤2)。之后,客户端108a (例如)通过网 络107将包括子清单文件的引用之一 132&1的请求发送到HTTP服务器126(步骤3)。HTTP 服务器126使用请求的引用132?检索并通过网络107发送对应的段文件120?到播放段 文件120&1的客户端108a (步骤4)。客户端108a (例如)通过网络107将识别子清单文件 的引用之一 132b2的另一请求发送到HTTP服务器126 (步骤3')。HTTP服务器126使用请 求的引用132b2检索并通过网络107发送对应的段文件120b 2到重放段文件120b2的客户 端108a (步骤4')。客户端108a继续发送对特定段文件(例如)120a3_n、120b3_ n、120c3_n和 120d3_n的请求,并且HTTP服务器126将请求的段文件120a3_ n、120b3_n、120c3_n和120d 3_n发 回重放收到的段文件120a3_n、120b 3_n、120c3_n和120d3_ n的客户端108a (步骤3' '和4' ')。 这样,客户端l〇8a能够在经历极少缓冲和快速开始时间的同时重放请求的源视频110,因 此,用户对于高端和低端网络连接均具有良好的体验。
[0011] 实际上,传统自适应流传送服务器106能够接受直播和点播内容流。这些内容流 被分成不同质量的可管理段,并且写入存储在磁盘上的文件(示为段数据库124)。客户端 108然后能够通过向原始web服务器提出HTTP查询来检索用于视频显示的这些文件。然 而,有与当前解决方案有关的几个问题: ?分割(分切)段文件1208^12013^120(^和120(1^的灵活性受到限制。因此,提取 段的子集变得相当困难。
[0012] ?传统自适应服务器106在尝试存储原内容文件和所有其另外的段文件12〇ai_ n、 120lvn、12〇Cl_n和120(1^时,服务器106要求V0D流的冗余副本。
[0013] 相应地,需要解决与传统自适应服务器106相关联的这些问题和其它问题。本发 明满足了此需要和其它需要。


【发明内容】

[0014] 在本申请的独立权利要求中描述了解决上面提及的问题和其它问题的流传送服 务器、方法和系统。在本申请的相关权利要求中已描述了流传送服务器、方法和系统的有利 实施例。
[0015] 一方面,本发明提供用于通过网络提供内容流到客户端的流传送服务器。流传送 服务器包括服务器、分段单元和随机存取存储器单元。服务器具有配置成接收来自客户端 的播放内容流的请求的输入接口。分段单元配置成接收内容流并且将内容流分段成多个数 据结构,其中,多个数据结构包含对应于时间代码的指针和对未分段的内容流的引用。随 机存取存储器单元配置成存储多个数据结构和指针。服务器还包括:(a)处理单元,配置成 生成包括对应于内容流的多个段的多个引用的清单;(b)输出接口,配置成将清单发送到 客户端;(c)输入接口配置成接收来自客户端的获取对应于内容流的片段之一的请求;(d) 处理单元配置成从随机存取存储器单元中存储的数据结构获得与请求的片段相关联的字 节,其中,处理单元使用与请求的片段相关联的开始时间和停止时间,并且计算与多个数据 结构相关联的对应指针以从与请求的片段相关联的一个或更多个数据结构查找字节;以及 (e)输出接口配置成将与请求的片段相关联的字节发送到客户端。流传送服务器的优点是 能够推迟分段直至必需播放内容流。
[0016] 在仍有的另一方面,本发明提供由流传送服务器实现的用于通过网络提供内容流 到客户端的方法。方法包括以下步骤:(a)接收来自客户端播放内容流的请求;(b)接收内 容流;(c)将内容流分段成多个数据结构,其中,多个数据结构包含对应于时间代码的指针 和对未分段的内容流的引用;(d)在随机存取存储器单元中存储多个数据结构和指针;(e) 生成包括对应于内容流的多个片段的多个引用的清单;(f)将清单发送到客户端;(g)接收 来自客户端的获取对应于内容流的片段之一的请求;(h)通过使用与请求的片段相关联的 开始时间和停止时间并且计算与多个数据结构相关联的对应指针以从与请求的片段相关 联的一个或更多个数据结构查找字节,从随机存取存储器单元中存储的数据结构获得与请 求的片段相关联的字节;以及(i)将与请求的片段相关联的字节发送到客户端。方法的优 点是能够推迟分段,直至必需播放内容流。
[0017] 在还有的另一方面,本发明提供用于通过网络提供内容流到客户端的系统。系统 包括内容提供商和通过网络与客户端对接的流传送服务器。流传送服务器配置成:(a)接 收来自客户端播放内容流的请求;(b)接收来自内容提供商的内容流;(c)将内容流分段成 多个数据结构,其中,多个数据结构包含对应于时间代码的指针和对未分段的内容流的引 用;(d)生成包括对应于内容流的多个片段的多个引用的清单;(e)将清单发送到客户端; (f)接收来自客户端的获取对应于内容流的片段之一的请求;(g)通过使用与请求的片段 相关联的开始时间和停止时间及与多个数据结构相关联的指针以从与请求的片段相关联 的一个或更多个数据结构查找字节,从随机存取存储器单元中存储的数据结构获得与请求 的片段相关联的字节;以及(h)将与请求的片段相关联的字节发送到客户端。流传送服务 器的优点是能够推迟分段,直至必需播放内容流。
[0018] 本发明的另外方面将部分地在随附的详细描述、附图和任何权利要求中陈述,并 且部分地可从详细描述中得出,或者能通过本发明的实践而了解。要理解的是,前面的一般 描述和下面的详细描述均只是示范和说明性,并不是限制本发明为公开的内容。

【专利附图】

【附图说明】
[0019] 结合附图,参照下面详细的说明,可获得本发明的更完整理解: 图1A-1D (现有技术)是用于帮助解释传统系统能够如何通过网络提供内容流到客户 端的几个图; 图2是根据本发明的一实施例,配置成通过网络提供内容流到客户端的示范系统的 图; 图3是示出根据本发明的一实施例,由自适应流传送服务器为通过网络提供内容流到 客户端实现的示范方法的步骤的流程图; 图4是根据本发明的一实施例,用于帮助解释自适应流传送服务器能够将内容流分段 成数据结构(虚拟文件)的一种方式的图; 图5A-5B是根据本发明的一实施例,用于帮助解释自适应流传送服务器能够将视频分 段以放置到数据结构中的一种方式及它能够如何进一步扫描到内容流中以确保对应音频 分组也包含在正确数据结构中使得音频和视频时戳在内容流中均匹配的图; 图6是根据本发明的一实施例,包括配置成接收直播内容流并且然后经IP网络适应性 地输送直播内容流到一个或更多个客户端的自适应流传送服务器的示范系统的图;以及 图7是根据本发明的另一实施例,包括配置成接收点播内容流并且然后经IP网络适应 性地输送点播内容流到一个或更多个客户端的自适应流传送服务器的示范系统的图。

【具体实施方式】
[0020] 参照图2,有根据本发明的一实施例,配置成通过网络208提供内容流203到客户 端202的示范系统200的图。系统200包括内容提供商204和流传送服务器206。内容提 供商204连接流传送服务器206,而流传送服务器206又通过网络208 (例如,IP网络208、 ⑶N网络208、无线网络208或其任何组合)与客户端202 (只示出一个)连接。备选地,内 容提供商204可通过网络208连接到流传送服务器206。流传送服务器206包括分段单元 210、 随机存取存储器211 (易失性存储装置211)和服务器212 (例如,HTTP服务器212)。
[0021] 服务器212还包括输入接口 216、处理单元218和输出接口 220。在此示例中,处 理单元218包括执行在存储器218a (例如,非易失性存储器218a)中存储的过程可执行指 令以实现下述操作的处理器218a。输入接口 216配置成接收来自客户端202的播放内容流 203的请求(步骤1)。分段单元210配置成接收内容流203的一个文件或内容流203的多 个文件,其中,多个文件以不同比特率编码(步骤2)。例如,内容提供商204(例如,CDN内容 库204)可提供内容流203的文件或多个文件(参见图7)。或者,内容提供商204 (例如,广 播网络204a)可提供内容流203的单个文件到自适应流传送友好的编码器/转码器,编码 器/转码器然后生成内容流203的文件或多个文件,并且提供文件或多个文件到分段单元 210 (参见图6)。
[0022] 分段单元210还配置成将文件或多个文件的每个文件分段成多个数据结构(不是 段文件),数据结构包含对应于时间代码的指针和对未分段的内容流的引用(步骤3)。随机 存取存储器211 (易失性存储器)配置成存储内容流203的文件或多个文件的数据结构(步 骤4)。处理单元218配置成如果有内容流203的一个文件,则生成清单,或者如果有内容 流203的多个文件,则生成主清单(步骤5)。清单或主清单将存储在随机存取存储器单元 211。 在一个示例中,清单包括对应于内容流203的片段(例如,10秒片段)的引用(例如, URL)。在另一示例中,主清单包括多个子清单(例如,子清单)(步骤5)。例如,第一子清单 具有对应于具有内容流203的第一比特率的片段(例如,10秒片段)的引用(例如,URL),第 二子清单具有对应于具有内容流203的第二比特率的片段(例如,10秒片段)的引用(例如, URL)等等,其中,第一比特率比第二比特率更高等等。输出接口 220配置成将清单或主清单 发送到客户端202 (步骤6)。输入接口 216配置成接收来自客户端202的获取对应于内容 流203的片段的一个特定片段的请求(步骤7)。处理单元218配置成从在随机存取存储器 单元111中存储的数据结构获得与请求的片段相关联的字节。例如,处理单元218使用与 请求的片段相关联的开始时间和停止时间,并且计算与数据结构相关联的对应指针以从与 请求的片段相关联的一个或更多个数据结构查找字节(步骤8)。处理单元218在从与请求 的片段相关联的一个或更多个数据结构查找字节时,配置成如果需要获得请求的片段的字 节,则执行内插。输出接口 220配置成将请求的片段发送到客户端202 (步骤9)。之后,步 骤7-9将重复进行,因此,客户端202能够获得和重放内容流203。
[0023] 参照图3,图中示出根据本发明的一实施例,由流传送服务器206实现的通过网络 208提供内容流203到客户端202的示范方法300的步骤的流程图。在步骤302,流传送服 务器206接收来自客户端202的播放内容流203的请求。在步骤304,流传送服务器206接 收内容流203的一个文件或多个文件,其中,多个文件以不同比特率编码。在步骤306,流 传送服务器206将文件或多个文件的每个文件分段成多个数据结构(不是段文件),数据结 构包含对应于时间代码的指针和对未分段的内容流的引用。在步骤308,流传送服务器206 在随机存取存储器211中存储数据结构。在步骤310,流传送服务器206生成清单(如果使 用内容流203的一个文件)或主清单(如果使用具有内容流203的不同编码率的多个文件)。 在步骤312,流传送服务器206将清单或主清单发送到客户端202。在步骤314,流传送服务 器206接收来自客户端203的获取对应于内容流203的片段的一个特定片段的请求。在步 骤316,流传送服务器206从随机存取存储器单元111中存储的数据结构获得与请求的片段 相关联的字节。例如,流传送服务器206使用与请求的片段相关联的开始时间和停止时间 并且计算与多个数据结构相关联的对应指针以从与请求的片段相关联的一个或更多个数 据结构查找字节。流传送服务器206在从与请求的片段相关联的一个或更多个数据结构查 找字节时,配置成如果需要获得请求的片段的字节,则执行内插。在步骤318,流传送服务器 206将请求的片段发送到客户端202。之后,步骤314、316和318将重复进行,因此,客户端 202能够获得和重放内容流203。
[0024] 因此,根据本发明的一实施例的流传送服务器206通过实现以下操作解决现有技 术的上面提及的问题 : 1.仅在客户端需要V0D和多节目直播传输流时,才应解析它们以实现单节目自适应传 输流传送。然后,流传送服务器206在创建自适应流中只需要要求内容拆分成存储在随机 存取存储器211 (易失性存储装置)中的数据结构而不是将内容拆分成在磁盘(非易失性存 储装置)上存储的本地分段文件。这些数据结构将可用于客户端202作为文件流检索。
[0025] 2.解析流时,流传送服务器206创建清单或主清单,清单或主清单包含到流被拆 分成的数据结构的虚拟指针集。这允许客户端202以在任何传统自适应流传送系统的情况 下它将使用的相同的方式播放内容流203,但内容流203将由于数据结构原因而更快可用, 并且客户端202不需要知道流传送服务器206中内容的数据的存储格式和管理。
[0026] 用于示范数据结构的数据集如下所述: public class SimplePacketSpan extends AbstractPacketSpan {private final long sO; // 段开始时间 private final long eO; // 段结束时间 OneFileStore enclosing; // 分组数据库 } public class OneFileStore {private long end; //分组数据库结束时间 private long start; //分组数据库开始时间 protected TransportPacketBag bag; //磁盘上存储的分组的引用 protected PCRSlope slope; // "对象"(算法+数据)允许从时间映射到盘上的对 应分组。示范实现使用线性内插 } 下面关于图4-6提供流传送服务器206能够实现上面提及的方法300的几个示范方式 的详细讨论。
[0027] 参照图4,图中示出根据本发明的一实施例,流传送服务器206 (例如,自适应流传 送服务器206)能够如何将内容流203分段成数据结构402、404和406 (虚拟文件)的一种 方式的图。具体而言,此图示出以下内容: 1.表示数据结构402、404和406的随机存取存储器211的快照,这些数据结构组成自 适应流传送服务器206已分段的内容流203的不同质量。
[0028] 2.每个字母数字组合(PI、P2…P15、Ql、Q2…Q15、Nl、N2…N15)引用内容流203 中段边界的特定指针412 3.自适应流传送服务器206能够使用线性引导数据馈送以将内容流206分段(分切) 以获得引用节目的数据结构的子集402、404和406。
[0029] 参照图5A-5B,附图示出有关流传送服务器206 (例如,自适应流传送服务器206) 能够将视频分段以放置到数据结构402、404和406 (参见字母数字A)中的方式及它能够如 何进一步扫描到内容流203中以确保对应音频分组也包含在正确数据结构402、404和406 中,使得音频和视频时戳在内容流203 (参见字母数字B)中均匹配。在内容流203被输送 到客户端202时,这提供了与最新技术发展水平相比时在一部分时间中在内容流203中任 意处剪切新虚拟段和子集的灵活性。例如,如果期望,能够使用自适应流传送服务器206组 合任何两个不同编码视频文件的部分,如组合广告到内容流中。另外,图示出自适应流传 送服务器206能够如何生成主清单502 (参见字母数字C)。主清单包括多个子清单504a、 504b…504η(例如,子清单504a、504b... 504η)。例如,第一子清单504a具有多个引用506a (例如,URL),引用506a对应于具有内容流203的第一比特率的片段(例如,10秒片段)。第 二子清单504b具有引用506b(例如,URL),引用506b对应于具有内容流203的第二比特率 的片段(例如,10秒片段)。第η子清单504η具有引用506η (例如,URL),引用506η对应于 具有内容流203的第η比特率的片段(例如,10秒片段)。第一比特率高于第二比特率,第二 比特率高于第η比特率。
[0030] 参照图6,图中示出根据本发明的一实施例,包括配置成接收直播内容流203并且 然后经IP网络208适应性地输送直播内容流203到一个或更多个客户端202的流传送服 务器206(例如,自适应流传送服务器206)的示范系统600的图。自适应流传送服务器206 配置成通过将直播内容流203分段成在随机存取存储器211 (易失性存储装置211)中存储 的数据结构而不是将直播内容流203分段成在磁盘上或数据库(非易失性存储装置)内存储 的段文件来创建要输送到一个或更多个客户端202的直播内容流203。在此示例中,自适应 流传送服务器206包括多播分组第三方保管610、可配置长度非易失性存储器分组第三方 保管612 (其存储内容流203)、分段单元210、服务器212及随机存取存储器211。在广播 重新启动时移电视(TSTV)环境中实现自适应流传送的示范系统600包括以下组件 : 自适应流传送客户端202 :个人计算机、移动电话/平板、具http能力的电视等。
[0031] 自话应流传送友好的编码器/转码器602 -确保自适应流传送服务器206接收 为输入的任何内容流203将处在可管理格式。
[0032] 自话应流传送服备器206 -处理将内容流203分段成数据结构并且产生用于自 适应流传送客户端202的流(参见图2和3 )。虽然在本文中描述自适应流传送服务器206, 但应领会的是,本发明也包括作用于只具有单个比特率的流的流传送服务器。
[0033] ⑶N或内容库604 -内容分布网络或存储系统,其中,在从不同摄取入口收到内 容流203后能够将其存入库中。
[0034] 示范系统600可包括许多其它熟知的组件,但为清晰起见,这些熟知的组件在本 文中未描述,而与本发明相关的组件202、206、602、604、606已在本文中描述。示范系统600 配置成根据以下步骤提供完成的直播自适应内容流203到一个或更多个请求客户端202 (只示出三个): 1.自适应流传送客户端202具有对信道编排和引导数据列表608的接入以找出当前可 用的节目(内容流203)。
[0035] 2.自适应流传送客户端202定位要观看的节目(内容流203),并且向自适应流传 送服务器206提出播放广播直播或TSTV节目(内容流203)的请求。应注意的是,V0D流具 有开始和结束,而广播流具有开始并且然后随时间增长。
[0036] 3.自适应流传送服务器206也具有对信道编排和引导数据列表608的接入。自适 应流传送服务器206使用此信息定位请求的内容流203。
[0037] 4.在此情况下,请求的关键帧对齐的内容流203以多节目传输流格式从广播网络 606到达广播馈送。备选地,⑶N 604能够包含请求的内容流203。
[0038] 5.自适应流传送友好的编码器/转码器602根据要求重新格式化来自广播网络 606的内容流203,并且将重新格式化的内容流203作为输入提供到自适应流传送服务器 206。适应的流传送服务器206在接收适当格式化的内容流203时将内容流203分段以创 建在随机存取存储器中存储的数据结构集。如果内容流203处在多节目传输流格式,则自 适应流传送服务器206将每个内容流(具有相同内容但具有不同比特率)解复用成单节目传 输流格式的其自己的数据结构集。
[0039] 6.自适应流传送服务器206将引用内容流203的片段的主清单发送到客户端 202。主清单能够对每客户端202是独特的,并且是自适应流传送服务器206能够基于需要 创建的内容流203的片段的引用集。
[0040] 7.内容流203本身作为分段文件集被输送到客户端,然而主清单引用的数据结构 用于完成此操作。换而言之,输送内容流203不以传统方式要求来自磁盘或数据库(非易失 性存储装置)的静态段文件。
[0041] 参照图7,图中根据本发明的另一实施例的示范系统700的图包括配置成接收点 播内容流203并且然后经IP网络208适应性地输送点播内容流203到一个或更多个客户 端202的流传送服务器206(例如,自适应流传送服务器206)。自适应流传送服务器206配 置成通过将点播内容流203分段成在随机存取存储器211 (易失性存储装置211)中存储的 数据结构而不是将点播内容流203分段成在磁盘上或数据库(非易失性存储装置)内存储的 段文件来创建要输送到一个或更多个客户端203的点播内容流203。在此示例中,自适应流 传送服务器206包括分段单元210、服务器212和随机存取存储器211。在视频点播环境中 实现自适应流传送的示范系统700包括以下组件 : 自适应流传送客户端202 :个人计算机、移动电话/平板、具http能力的电视等。
[0042] 自话应流传送服备器206 -处理将内容流203分段成数据结构并且产生用于自 适应流传送客户端202的流(参见图2和3 )。虽然在本文中描述自适应流传送服务器206, 但应领会的是,本发明也包括作用于只具有单个比特率的流的流传送服务器。
[0043] ⑶N或内容库604 -内容分布网络或存储系统,其中,在从不同摄取入口收到内 容流203后能够将其存入库中。
[0044] V0D内容203 -多个关键帧对齐的视频/音频流203。应注意的是,V0D流具有 开始和结束,而广播流具有开始并且然后随时间增长。
[0045] 示范系统700可包括许多其它熟知的组件,但为清晰起见,这些熟知的组件在本 文中未描述,同时与本发明相关的组件202、206、602的604已在本文中描述。示范系统700 配置成根据以下步骤提供完成的点播自适应内容流203到一个或更多个请求客户端202 (只示出三个): 1.自适应流传送客户端202向自适应流传送服务器206提出播放VOD资产(点播内容 流203)的请求。
[0046] 2.自适应流传送服务器206从⑶N 604检索请求的关键帧对齐的V0D内容流203, 并且将检索的内容流203分段,创建要发送到客户端202的数据结构集。
[0047] 3.自适应流传送服务器206将引用内容流203的片段的清单发送到客户端202。 清单能够对每客户端202是独特的,并且是自适应流传送服务器206现在创建的内容流203 中位置的指针集。
[0048] 4.内容流203本身作为分段文件集被输送到客户端,然而清单引用的数据结构用 于完成此操作。换而言之,输送内容流203不以传统方式要求来自盘或数据库(非易失性存 储装置)的静态段文件。
[0049] 鉴于以上所述,应领会的是,配置成输送来自管理的数据结构而不是静态文件的 自适应内容流203的自适应流传送服务器206具有许多优点(例如)。
[0050] ?现在,内容流203在其分段由分段单元210完成前能够变得可用于客户端202。 这在处理直播内容流203时提供了向客户端203的更快服务输送。
[0051] ?自适应流传送服务器206能够快速更改段边界并且为客户端202提取内容流203 的子集而不必创建新文件。能够重定义段边界大幅增强了自适应流传送服务器206能够如 何管理其内容。它也使自适应流传送服务器206更易于将广告或备选流插入内容流203中。
[0052] ?仅在必需播放内容流203时才进行流分段。这在自适应流传送服务器206上是 巨大的空间消耗节省。
[0053] ?传统自适应流传送服务器在分割(分切)段文件方面灵活性有限,这使得提取段 的子集变得困难。自适应流传送服务器206通过包括能够按需在任何边界将文件分段的逻 辑解决了此问题。此逻辑用于每个段,并且不是特殊情况。
[0054] ?服务器尝试存储原内容文件并且所有其另外的段文件时,传统自适应服务器要 求V0D流的冗余副本。自适应流传送服务器206通过按需计算段而不是在文件中存储段来 解决此问题。
[0055] 虽然附图中示出且在上面的【具体实施方式】中描述了本发明的多个实施例,但应理 解的是,本发明并不限于公开的实施例,而是在不脱离随附权利要求内陈述和定义的本发 明的情况下,也能够进行多种重新布置、修改和替代。
【权利要求】
1. 一种用于通过网络提供内容流到客户端的流传送服务器,所述流传送服务器包括: 服务器,包括配置成接收来自所述客户端的播放所述内容流的请求的输入接口; 分段单元,配置成接收所述内容流并且将所述内容流分段成多个数据结构,其中所述 多个数据结构包含对应于时间代码的指针和对未分段的内容流的引用; 随机存取存储器单元,配置成存储所述多个数据结构和所述指针; 所述服务器还包括: 处理单元,配置成生成包括对应于所述内容流的多个片段的多个引用的清单; 输出接口,配置成将所述清单发送到所述客户端; 所述输入接口配置成接收来自所述客户端的获取对应于所述内容流的所述片段之一 的请求; 所述处理单元配置成从所述随机存取存储器单元中存储的所述数据结构获得与所述 请求的片段相关联的字节,其中所述处理单元使用与所述请求的片段相关联的开始时间和 停止时间,并且计算与所述多个数据结构相关联的所述对应指针以从与所述请求的片段相 关联的所述一个或更多个数据结构查找字节;以及 所述输出接口配置成将与所述请求的片段相关联的所述字节发送到所述客户端。
2. 如权利要求1所述的流传送服务器,其中如果所述分段单元将所述内容流接收作为 多节目传输流格式,则所述分段单元配置成将所述多节目传输流格式解复用成多个单节目 流模式,其中每个单节目流格式被分段成多个数据结构并且存储在所述随机存取存储器单 元中。
3. 如权利要求1所述的流传送服务器,其中所述处理单元在从与所述请求的片段相关 联的所述一个或更多个数据结构查找所述字节时,配置成如果需要获得所述请求的片段的 所述字节则执行内插。
4. 如权利要求1所述的流传送服务器,其中所述服务器配置成在所述分段单元完成将 所述内容流分段成所述多个数据结构前将所述清单发送到所述客户端。
5. 如权利要求1所述的流传送服务器,其中所述服务器配置成从所述随机存取存储器 中存储的所述数据结构提取所述内容流的片段而无需创建新的段文件。
6. 如权利要求1所述的流传送服务器,其中所述分段单元配置成仅在必需提供所述内 容流的一个或更多个所述片段到所述客户端时将所述内容流分段成所述多个数据结构。
7. 如权利要求1所述的流传送服务器,还包括配置成在所述分段单元获得所述内容流 和将所述内容流分段成所述多个数据结构前存储所述内容流的分组第三方保管和对应第 三方保管数据库。
8. 如权利要求1所述的流传送服务器,其中所述客户端是个人计算机、移动电话、平板 或具超文本传送协议(HTTP)能力的电视之一。
9. 如权利要求1所述的流传送服务器,其中所述内容流是视频点播内容流或广播内容 流之一。
10. -种由流传送服务器实现的用于通过网络提供内容流到客户端的方法,所述方法 包括以下步骤: 接收来自所述客户端播放所述内容流的请求; 接收所述内容流; 将所述内容流分段成多个数据结构,其中所述多个数据结构包含对应于时间代码的指 针和对未分段的内容流的引用; 在随机存取存储器单元中存储所述多个数据结构和所述指针; 生成包括对应于所述内容流的多个片段的多个引用的清单; 将所述清单发送到所述客户端; 接收来自所述客户端的获取对应于所述内容流的所述片段之一的请求; 通过使用与所述请求的片段相关联的开始时间和停止时间并且计算与所述多个数据 结构相关联的所述对应指针以从与所述请求的片段相关联的所述一个或更多个数据结构 查找字节,从所述随机存取存储器单元中存储的所述数据结构获得与所述请求的片段相关 联的字节;以及 将与所述请求的片段相关联的所述字节发送到所述客户端。
11. 如权利要求10所述的方法,其中如果所述内容流是多节目传输流格式,则将所述 多节目传输流格式外推成多个单节目流模式,其中每个单节目流格式被分段成多个数据结 构并且存储在所述随机存取存储器单元中。
12. 如权利要求10所述的方法,其中所述获得步骤还包括在与所述数据结构相关联的 所述指针不对应于所述请求的片段中的所述开始时间和停止时间时获得与所述请求的片 段相关联的所述字节的内插步骤。
13. 如权利要求10所述的方法,其中在完成所述内容流到所述多个数据结构的所述分 段前,将所述清单发送到所述客户端。
14. 如权利要求10所述的方法,还包括从所述随机存取存储器中存储的所述数据结构 提取所述内容流的片段而无需创建新段文件。
15. 如权利要求10所述的方法,其中将所述内容流分段成所述多个数据结构的步骤仅 在必需提供所述内容流的一个或更多个片段到所述客户端时发生。
16. 如权利要求10所述的方法,还包括在将所述内容流分段成所述多个数据结构的步 骤前存储所述收到的内容流的步骤。
17. 如权利要求10所述的方法,其中所述客户端是个人计算机、移动电话、平板或具超 文本传送协议(HTTP)能力的电视之一。
18. 如权利要求10所述的方法,其中所述内容流是视频点播内容流或广播内容流之 〇
19. 一种用于通过网络提供内容流到客户端的系统,所述系统包括: 内容提供商; 通过所述网络与所述客户端对接的流传送服务器; 所述流传送服务器配置成: 接收来自所述客户端播放所述内容流的请求; 接收来自所述内容提供商的所述内容流; 将所述内容流分段成多个数据结构,其中所述多个数据结构通过对应于时间代码的指 针识别; 生成包括对应于所述内容流的多个片段的多个引用的清单; 将所述清单发送到所述客户端; 接收来自所述客户端的获取对应于所述内容流的所述片段之一的请求; 通过使用与所述请求的片段相关联的开始时间和停止时间并且计算与所述多个数据 结构相关联的所述对应指针以从与所述请求的片段相关联的所述一个或更多个数据结构 查找字节,从所述随机存取存储器单元中存储的所述数据结构获得与所述请求的片段相关 联的字节;以及 将与所述请求的片段相关联的所述字节发送到所述客户端。
【文档编号】G06F9/46GK104126175SQ201280070100
【公开日】2014年10月29日 申请日期:2012年12月12日 优先权日:2011年12月19日
【发明者】B.富尔斯曼, C.达舍尔, C.菲利普斯, J.雷诺, S.马丁 申请人:爱立信电视公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1