Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND SYSTEM FOR QUICK LAUNCH OF SEGMENTED PROGRAM
Document Type and Number:
WIPO Patent Application WO/2012/071932
Kind Code:
A1
Abstract:
Provided in the present invention are a method and a system for the quick launch of a segmented program. The method comprises: a server segmenting a program source into a plurality of segmented program data, inserting respectively into each segmented program data a piece of decoding information for each segmented program data, and generating a program playlist describing the segmented program data; a client terminal acquiring the segmented program data on the basis of the program playlist, decoding on the basis of the decoding information in the segmented program data, and playing the segmented program data. The method reduces system startup latency, thereby enhancing user experience.

Inventors:
CHEN GUANGLIANG (CN)
DAI ZHIJUN (CN)
LIU JINIAN (CN)
Application Number:
PCT/CN2011/079962
Publication Date:
June 07, 2012
Filing Date:
September 21, 2011
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ZTE CORP (CN)
CHEN GUANGLIANG (CN)
DAI ZHIJUN (CN)
LIU JINIAN (CN)
International Classes:
H04N7/24
Foreign References:
CN101668194A2010-03-10
CN1510922A2004-07-07
CN101282281A2008-10-08
CN101330622A2008-12-24
Attorney, Agent or Firm:
AFD CHINA INTELLECTUAL PROPERTY LAW OFFICE (CN)
北京安信方达知识产权代理有限公司 (CN)
Download PDF:
Claims:
权 利 要 求 书

1、 一种分段节目快速启动的方法, 其包括:

服务器将节目源分成多个节目分段数据, 将各节目分段数据的解码信息 分别插入所述各节目分段数据中, 生成描述所述各节目分段数据的节目播放 列表; 以及

客户端根据所述节目播放列表获取节目分段数据, 根据所述节目分段数 据中的解码信息解码并播放所述节目分段数据。

2、 如权利要求 1所述的方法, 其中:

所述各节目分段数据中均包含随机访问单元。 3、 如权利要求 1所述的方法, 其还包括:

所述服务器还将所述节目播放列表分成一个或者多个播放列表分片, 并 将所述一个或者多个播放列表分片分别插入一个或者多个所述节目分段数据 中; 其中, 每一播放列表分片的插入位置是其所描述的首个节目分段数据之 前;

其中,所述客户端根据所述节目播放列表获取节目分段数据的步骤包括: 从首个节目分段数据开始解码, 在解码节目分段数据时, 如果解码出播放列 表分片, 则根据所述播放列表分片获取节目分段数据。

4、 如权利要求 3所述的方法, 其中:

将所述一个或者多个播放列表分片分别插入一个或者多个所述节目分段 数据中的步骤中, 所述服务器在一个节目分段数据中仅插入一个播放列表分 片。

5、 如权利要求 3所述的方法, 其还包括:

所述服务器在将所述播放列表分片插入所述节目分段数据中时, 还对所 述播放列表分片进行压缩处理, 然后将压缩后的播放列表分片和一压缩标识 插入节目分段数据中; 所述客户端在解码所述节目分段数据时,如果判断出存在所述压缩标识, 则从所述节目分段数据中解码出所述播放列表分片后, 还对其进行解压缩处 理。

6、 如权利要求 3所述的方法, 其还包括:

所述服务器以所述首个节目分段数据的统一资源定位符 ( URL )标识所 述首个节目分段数据; 所述客户端根据所述首个节目分段数据的 URL获取所述首个节目分段 数据。

7、 如权利要求 6所述的方法, 其还包括:

所述服务器在所述节目播放列表中以各节目分段数据的 URL标识所述 各节目分段数据;

所述客户端根据所述节目播放列表中的 URL来获取各节目分段数据。

8、 如权利要求 3所述的方法, 其还包括:

所述服务器在插入所述节目播放列表分片的节目分段数据中插入一插入 标识; 所述客户端在解码所述节目分段数据时, 如果判断出存在所述插入标 识, 则从所述节目分段数据中获取所述节目播放列表分片; 或者

所述服务器在插入所述节目播放列表分片的节目分段数据中插入描述所 述节目播放列表分片在整个节目播放列表中的位置的信息; 所述客户端根据 解码出的播放列表分片及其在整个节目播放列表中的位置的信息, 组装节目 播放列表。

9、 一种分段节目快速启动的系统, 其包括:

前端节目分段设备, 其设置为: 将节目源分成多个节目分段数据, 将各 节目分段数据的解码信息分别插入所述各节目分段数据中, 生成描述所述各 节目分段数据的节目播放列表; 以及

终端节目播放设备, 其设置为: 根据所述节目播放列表获取节目分段数 据, 根据所述节目分段数据中的解码信息解码并播放所述节目分段数据。 10、 如权利要求 9所述的系统, 其中:

各所述节目分段数据中均包含随机访问单元。

11、 如权利要求 9所述的系统, 其中:

所述前端节目分段设备还设置为: 将所述节目播放列表分成一个或者多 个播放列表分片, 并将所述一个或者多个播放列表分片分别插入一个或者多 个所述节目分段数据中; 其中, 每一播放列表分片的插入位置是其所描述的 首个节目分段数据之前;

所述终端节目播放设备是设置为以如下方式根据所述节目播放列表获取 节目分段数据: 从首个节目分段数据开始解码, 在解码节目分段数据时, 如 果解码出播放列表分片, 则根据所述播放列表分片获取节目分段数据。

12、 如权利要求 11所述的系统, 其中:

所述前端节目分段设备还设置为: 在将所述播放列表分片插入所述节目 分段数据中时, 还对所述播放列表分片进行压缩处理, 然后将压缩后的播放 列表分片和一压缩标识插入节目分段数据中;

所述终端节目播放设备还设置为: 在解码所述节目分段数据时, 如果判 断出存在所述压缩标识, 则从所述节目分段数据中解码出所述播放列表分片 后, 还对其进行解压缩处理。

13、 如权利要求 11所述的系统, 其中:

所述前端节目分段设备还设置为: 以所述首个节目分段数据的统一资源 定位符 URL标识所述首个节目分段数据;

所述终端节目播放设备还设置为:根据所述首个节目分段数据的 URL获 取所述首个节目分段数据。

14、 如权利要求 13所述的系统, 其中:

所述前端节目分段设备还设置为: 在所述节目播放列表中以各节目分段 数据的 URL标识所述各节目分段数据;

所述终端节目播放设备还设置为:根据所述节目播放列表中的 URL来获 取各节目分段数据。

15、 如权利要求 11所述的系统, 其中:

所述前端节目分段设备还设置为: 在插入所述节目播放列表分片的节目 分段数据中插入一插入标识, 或者插入描述所述节目播放列表分片在整个节 目播放列表中的位置的信息;

所述终端节目播放设备还设置为: 在解码所述节目分段数据时, 如果判 断出存在所述插入标识, 则从所述节目分段数据中获取所述节目播放列表分 片; 或者根据解码出的播放列表分片及其在整个节目播放列表中的位置的信 息, 组装节目播放列表。

Description:
一种分段节目快速启动的方法及系统

技术领域

本发明涉及多媒体系统中传输技术, 尤其涉及多媒体系统中传送分段节 目时, 实现分段节目快速启动的方法及系统。

背景技术

随着通信技术的发展, 多媒体技术的应用越来越广。 分段节目是指在节 目制作时将节目进行分段, 生成多个分段节目和播放列表, 播放时首先获取 播放列表, 然后按照播放列表依次获取分段节目播放。 这种方式能够方便地 对节目内容进行修改和替换, 而且能够兼容现有的内容分发网络(Content Delivery Network, 简称 CDN ) 系统。

但是随着节目源内容的增加会导致分段节目播 放列表的内容增大, 在网 络上, 特别是带宽受限的移动网络上传送播放列表会 产生较大时延。 如图 1 所示, 客户端点播节目时, 首先需要获取播放列表, 然后解析播放列表, 根 据播放列表的内容获取节目解码相关信息, 最后依次再获取分段节目解码播 放。 不断增加的播放列表以及多个往返流程将会增 加系统启动的时延, 降低 用户的体验质量。

发明内容

本发明要解决的技术问题是,提供一种分段节 目快速启动的方法及系统, 能够降低系统启动的时延, 提高用户体验质量。

一种分段节目快速启动的方法, 其包括:

服务器将节目源分成多个节目分段数据, 将各节目分段数据的解码信息 分别插入所述各节目分段数据中, 生成描述所述各节目分段数据的节目播放 列表; 以及

客户端根据所述节目播放列表获取节目分段数 据, 根据所述节目分段数 据中的解码信息解码并播放所述节目分段数据 。 较佳的, 所述各节目分段数据中均包含随机访问单元。

较佳的, 上述方法还包括:

所述服务器还将所述节目播放列表分成一个或 者多个播放列表分片, 并 将所述一个或者多个播放列表分片分别插入一 个或者多个所述节目分段数据 中; 其中, 每一播放列表分片的插入位置是其所描述的首 个节目分段数据之 前;

其中,所述客户端根据所述节目播放列表获取 节目分段数据的步骤包括: 从首个节目分段数据开始解码, 在解码节目分段数据时, 如果解码出播放列 表分片, 则根据所述播放列表分片获取节目分段数据。

较佳的, 将所述一个或者多个播放列表分片分别插入一 个或者多个所述 节目分段数据中的步骤中, 所述服务器在一个节目分段数据中仅插入一个 播 放列表分片。

较佳的, 上述方法还包括:

所述服务器在将所述播放列表分片插入所述节 目分段数据中时, 还对所 述播放列表分片进行压缩处理, 然后将压缩后的播放列表分片和一压缩标识 插入节目分段数据中;

所述客户端在解码所述节目分段数据时,如果 判断出存在所述压缩标识, 则从所述节目分段数据中解码出所述播放列表 分片后, 还对其进行解压缩处 理。

较佳的, 上述方法还包括:

所述服务器以所述首个节目分段数据的统一资 源定位符(URL )标识所 述首个节目分段数据; 所述客户端根据所述首个节目分段数据的 URL获取所述首个节目分段 数据。

较佳的, 上述方法还包括:

所述服务器在所述节目播放列表中以各节目分 段数据的 URL标识所述 各节目分段数据; 所述客户端根据所述节目播放列表中的 URL来获取各节目分段数据。 较佳的, 上述方法还包括:

所述服务器在插入所述节目播放列表分片的节 目分段数据中插入一插入 标识; 所述客户端在解码所述节目分段数据时, 如果判断出存在所述插入标 识, 则从所述节目分段数据中获取所述节目播放列 表分片; 或者

所述服务器在插入所述节目播放列表分片的节 目分段数据中插入描述所 述节目播放列表分片在整个节目播放列表中的 位置的信息; 所述客户端根据 解码出的播放列表分片及其在整个节目播放列 表中的位置的信息, 组装节目 播放列表。

一种分段节目快速启动的系统, 其包括:

前端节目分段设备, 其设置为: 将节目源分成多个节目分段数据, 将各 节目分段数据的解码信息分别插入所述各节目 分段数据中, 生成描述所述各 节目分段数据的节目播放列表; 以及

终端节目播放设备, 其设置为: 根据所述节目播放列表获取节目分段数 据, 根据所述节目分段数据中的解码信息解码并播 放所述节目分段数据。

较佳的, 各所述节目分段数据中均包含随机访问单元。

较佳的, 所述前端节目分段设备还设置为: 将所述节目播放列表分成一 个或者多个播放列表分片, 并将所述一个或者多个播放列表分片分别插入 一 个或者多个所述节目分段数据中; 其中, 每一播放列表分片的插入位置是其 所描述的首个节目分段数据之前;

所述终端节目播放设备是设置为以如下方式根 据所述节目播放列表获取 节目分段数据: 从首个节目分段数据开始解码, 在解码节目分段数据时, 如 果解码出播放列表分片, 则根据所述播放列表分片获取节目分段数据。

较佳的, 所述前端节目分段设备还设置为: 在将所述播放列表分片插入 所述节目分段数据中时, 还对所述播放列表分片进行压缩处理, 然后将压缩 后的播放列表分片和一压缩标识插入节目分段 数据中;

所述终端节目播放设备还设置为: 在解码所述节目分段数据时, 如果判 断出存在所述压缩标识, 则从所述节目分段数据中解码出所述播放列表 分片 后, 还对其进行解压缩处理。

较佳的, 所述前端节目分段设备还设置为: 以所述首个节目分段数据的 统一资源定位符 URL标识所述首个节目分段数据;

所述终端节目播放设备还设置为:根据所述首 个节目分段数据的 URL获 取所述首个节目分段数据。

较佳的, 所述前端节目分段设备还设置为: 在所述节目播放列表中以各 所述终端节目播放设备还设置为:根据所述节 目播放列表中的 URL来获 取各节目分段数据。

较佳的, 所述前端节目分段设备还设置为: 在插入所述节目播放列表分 片的节目分段数据中插入一插入标识, 或者插入描述所述节目播放列表分片 在整个节目播放列表中的位置的信息;

所述终端节目播放设备还设置为: 在解码所述节目分段数据时, 如果判 断出存在所述插入标识, 则从所述节目分段数据中获取所述节目播放列 表分 片; 或者根据解码出的播放列表分片及其在整个节 目播放列表中的位置的信 息, 组装节目播放列表。

上述分段节目快速启动的方法及系统, 能够降低系统启动的时延, 提高 用户体验质量。 附图概述

图 1是一种分段节目启动的操作过程示意图;

图 2是本发明第一实施例一种分段节目快速启动 方法流程图; 图 3是本发明第一实施例一种分段节目快速启动 操作过程示意图; 图 4是本发明第二实施例一种分段节目快速启动 方法流程图; 图 5是本发明第二实施例一种分段节目快速启动 操作过程示意图; 图 6是本发明实施例一种分段节目快速启动的系 方框图;

图 7是本发明应用实例一种分段节目快速启动的 法流程图; 图 8是本发明应用实例封装播放列表分片的 MPEG-2 TS分段示意图。

本发明的较佳实施方式

下面将结合附图来详细说明本发明实施方式。

第一实施例

参见图 2, 该图示出了本发明第一实施例一种分段节目快 速启动的方法, 包括步骤:

步骤 S201 : 服务器将节目源分成多个节目分段数据, 生成描述所述各节 目分段数据的节目播放列表;

步骤 S202: 所述服务器将各节目分段数据的解码信息分别 插入所述各节 目分段数据中;

步骤 S203: 客户端根据所述节目播放列表获取节目分段数 据;

步骤 S204: 所述客户端根据所述节目分段数据中的解码信 息解码并播放 所述节目分段数据。

其中, 在执行步骤 S201时, 可以按照逻辑或者物理分段, 将节目源分成 一个或者多个逻辑分段数据或者物理分段数据 。

在解码分段数据时, 需要获取随机访问单元, 据以随机接入, 实现正确 解码。 对音频数据而言, 任何一个数据单元都可以随机接入, 即任何一个数 据单元都是随机访问单元。 对视频数据而言, 随机访问单元是指关键帧。

较佳地, 可以令每个节目分段数据中均包含随机访问单 元, 从而可以在 解码节目分段数据时, 直接从所述节目分段数据中获取随机访问单元 , 从而 使得每个节目分段数据均可以独立解码播放。

较佳地, 还可以令每个节目分段数据均以随机访问单元 开始, 这样, 在 顺序解码节目分段数据时, 最先解码出的就是随机访问单元。 当然, 所述随 机访问单元也可以位于节目分段数据的其他位 置, 在解码过程中, 通过指针 等方式定位出其中的随机访问单元。

当然, 所述随机访问单元也可以从其他位置获取: 例如, 可以令部分节 目分段数据中包含随机访问单元, 客户端在解码过程中, 在获取到随机访问 单元后, 对其进行緩存, 在后续解码过程中, 如果解码到不包含随机访问单 元的节目分段数据时, 可以根据緩存的所述随机访问单元实现随机接 入。 再 例如, 所述随机访问单元也可以存储在服务器侧的描 述文件中, 客户端在解 码时, 从服务器侧的描述文件中获取所述随机访问单 元。 本发明对此不做限 制。

其中, 在执行步骤 S202时, 较佳地, 可以将各节目分段数据的解码信息 分别插入各节目分段数据前面, 在解码过程中, 对每一节目分段数据, 先得 到该节目分段数据的解码信息, 再根据所述解码信息解码该节目分段数据。 当然, 也可以将各节目分段数据的解码信息分别插入 各节目分段数据的其他 位置, 在解析过程中, 通过指针等方式定位出解码信息, 并据以解码节目分 段数据。

本发明巧妙地对节目分段方式进行改进, 确保每个节目分段数据均可以 独立解码播放, 互相之间没有耦合依赖, 从而无需再根据播放列表去获取解 码相关的信息, 加快了启动速度。 参见图 3 , 该图示出了本发明第一实施例 一种分段节目快速启动的操作过程, 从中可以看出釆用本发明实施例相对于 图 1加快了分段节目的启动速度。

第二实施例

参见图 4, 该图示出了本发明第二实施例一种分段节目快 速启动的方法, 包括步骤:

步骤 S401 : 服务器将节目源分成多个节目分段数据, 生成描述所述各节 目分段数据的节目播放列表;

步骤 S402: 所述服务器将各节目分段数据的解码信息分别 插入所述各节 目分段数据中;

步骤 S403: 所述服务器将所述节目播放列表分成一个或者 多个播放列表 分片;

步骤 S404: 所述服务器将所述一个或者多个播放列表分片 分别插入一个 或者多个所述节目分段数据中; 其中, 每一播放列表分片的插入位置是其所 描述的首个节目分段数据之前;

步骤 S405: 客户端获取首个节目分段数据;

步骤 S406: 所述客户端根据所述节目分段数据中的解码信 息解码并播放 所述节目分段数据;

步骤 S407: 所述客户端在解码节目分段数据时, 如果解码出播放列表分 片, 则根据所述播放列表分片获取节目分段数据, 返回步骤 S406。

第二实施例是在第一实施例的基础上, 通过对播放列表进行切分, 从而 解决了播放列表过大导致传输延时较大的问题 。 釆用本发明技术方案, 能够 在解码节目分段数据的同时, 根据插入所述分段数据中的播放列表分片获取 节目分段数据, 不需在接收到完整的节目播放列表后才能够解 码节目分段数 据, 进一步加快了启动速度。

其中, 在执行步骤 S401时, 可以按照逻辑或者物理分段, 将节目源分成 一个或者多个逻辑分段数据或者物理分段数据 。

在解码分段数据时, 需要获取随机访问单元, 据以随机接入, 实现正确 解码。 对音频数据而言, 任何一个数据单元都可以随机接入, 即任何一个数 据单元都是随机访问单元。 对视频数据而言, 随机访问单元是指关键帧。

较佳地, 可以令每个节目分段数据中均包含随机访问单 元, 从而可以在 解码节目分段数据时, 直接从所述节目分段数据中获取随机访问单元 , 从而 使得每个节目分段数据均可以独立解码播放。

较佳地, 还可以令每个节目分段数据均以随机访问单元 开始, 这样, 在 顺序解码节目分段数据时, 最先解码出的就是随机访问单元。 当然, 所述随 机访问单元也可以位于节目分段数据的其他位 置, 在解码过程中, 通过指针 等方式定位出其中的随机访问单元。

当然, 所述随机访问单元也可以从其他位置获取: 例如, 可以令部分节 目分段数据中包含随机访问单元, 客户端在解码过程中, 在获取到随机访问 单元后, 对其进行緩存, 在后续解码过程中, 如果解码到不包含随机访问单 元的节目分段数据时, 可以根据緩存的所述随机访问单元实现随机接 入。 再 例如, 所述随机访问单元也可以存储在服务器侧的描 述文件中, 客户端在解 码时, 从服务器侧的描述文件中获取所述随机访问单 元。 本发明对此不做限 制。

其中, 在执行步骤 S402时, 较佳地, 可以将各节目分段数据的解码信息 分别插入各节目分段数据前面, 在解码过程中, 对每一节目分段数据, 先得 到该节目分段数据的解码信息, 再根据所述解码信息解码该节目分段数据。 当然, 也可以将各节目分段数据的解码信息分别插入 各节目分段数据的其他 位置, 在解析过程中, 通过指针等方式定位出解码信息, 并据以解码节目分 段数据。

其中, 在执行步骤 S403时, 可以根据实际传输包负载大小的限制, 确定 每个播放列表分片的最大长度, 根据播放列表分片的最大长度确定一个播放 列表分片最多能够描述 N个分段数据的原则,将用于描述总共 M个分段数据 的播放列表, 分成(M+N ) /N个播放列表分片。

其中, 在执行步骤 S404时, 较佳地, 可以釆用在一个节目分段数据中仅 插入一个播放列表分片的方式。 例如, 节目分段数据包括节目分段数据 1、 节目分段数据 2、 节目分段数据 3和节目分段数据 4, 播放列表分片包括播放 列表分片 1和播放列表分片 2。 其中, 播放列表分片 1用于描述节目分段数 据 1和节目分段数据 2,播放列表分片 2用于描述节目分段数据 3和节目分段 数据 3。将播放列表分片 1插入节目分段数据 1中,将播放列表分片 2插入节 目分段数据 2中。 当然, 也可以在一个节目分段数据中插入多个播放列 表分 片, 例如将播放列表分片 1和播放列表分片 2均插入节目分段数据 1中。

其中, 在执行步骤 S404时, 为了节约网络传输数据, 较佳地, 所述服务 器还可以在将所述播放列表分片插入所述节目 分段数据中时, 还对所述播放 列表分片进行压缩处理, 然后将压缩后的播放列表分片和一压缩标识插 入节 目分段数据中。 所述客户端在解码所述节目分段数据时, 如果判断出存在所 述压缩标识, 则从所述节目分段数据中解码出所述播放列表 分片后, 还对其 进行解压缩处理, 以得到所述播放列表分片。 较佳地, 所述压缩处理还可以 包括: 对所述播放列表分片的数据长度进行判断, 如果其长度大于一预设的 数据长度, 则对其进行压缩处理, 否则, 不进行压缩, 直接将其插入所述节 目分段数据中。

其中, 在执行步骤 S405时, 可以通过 HTTP下载的方式获取第一个分段 数据, 也可以通过 FTP下载的方式获取第一个分段数据。

为了使得本发明实施例上述分段节目快速启动 的方法能够有效地适用于 web CDN系统, 较佳地, 所述服务器可以以所述首个节目分段数据的统 一资 源定位符 URL标识所述首个节目分段数据。所述客户端根 据所述首个节目分 段数据的 URL获取所述首个节目分段数据。 较佳地, 所述服务器还可以在所 客户端根据所述节目播放列表中的 URL来获取各节目分段数据。

其中,在执行步骤 S404时, 所述服务器还可以在插入所述节目播放列表 分片的节目分段数据中插入一插入标识, 用于指示所述节目分段数据中包含 节目播放列表分片。 所述客户端在解码所述节目分段数据时, 如果判断出存 在所述插入标识, 则从所述节目分段数据中获取所述节目播放列 表分片。

其中,在执行步骤 S404时, 所述服务器还可以在插入所述节目播放列表 分片的节目分段数据中插入描述所述节目播放 列表分片在整个节目播放列表 中的位置的信息。 所述客户端根据解码出的播放列表分片及其在 整个节目播 放列表中的位置的信息, 组装节目播放列表。

参见图 5 , 该图示出了本发明第二实施例一种分段节目快 速启动的操作 过程, 从中可以看出釆用本发明实施例相对图 3进一步加快了分段节目的启 动速度。

为了实现上述方法, 本发明实施例还提供了一种系统, 如图 6所示, 包 括:

前端节目分段设备, 将节目源分成多个节目分段数据, 将各节目分段数 据的解码信息分别插入所述各节目分段数据中 , 生成描述所述各节目分段数 据的节目播放列表;

终端节目播放设备, 根据所述节目播放列表获取节目分段数据, 根据所 述节目分段数据中的解码信息解码并播放所述 节目分段数据。 较佳地, 各所述节目分段数据中均包含随机访问单元。

较佳地, 所述前端节目分段设备, 还可以将所述节目播放列表分成一个 或者多个播放列表分片, 并将所述一个或者多个播放列表分片分别插入 一个 或者多个所述节目分段数据中; 其中, 每一播放列表分片的插入位置是其所 描述的首个节目分段数据之前。 所述终端节目播放设备根据所述节目播放列 表获取节目分段数据包括: 从首个节目分段数据开始解码, 在解码节目分段 数据时, 如果解码出播放列表分片, 则根据所述播放列表分片获取节目分段 数据。

较佳地, 所述前端节目分段设备, 可以在一个节目分段数据中仅插入一 个播放列表分片。

较佳地, 所述前端节目分段设备, 还可以在将所述播放列表分片插入所 述节目分段数据中时, 还对所述播放列表分片进行压缩处理, 然后将压缩后 的播放列表分片和一压缩标识插入节目分段数 据中。 所述客户端在解码所述 节目分段数据时, 如果判断出存在所述压缩标识, 则从所述节目分段数据中 解码出所述播放列表分片后, 还对其进行解压缩处理, 以得到所述播放列表 分片。

较佳地, 所述前端节目分段设备在执行压缩处理时, 还可以对所述播放 列表分片的数据长度进行判断, 如果其长度大于一预设的数据长度, 则对其 进行压缩处理, 否则, 不进行压缩, 直接将其插入所述节目分段数据中。

较佳地, 所述前端节目分段设备, 还可以以所述首个节目分段数据的统 一资源定位符 URL标识所述首个节目分段数据。 所述终端节目播放设备, 根 据所述首个节目分段数据的 URL获取所述首个节目分段数据。

较佳地, 所述前端节目分段设备, 还可以在所述节目播放列表中以各节 目分段数据的 URL标识所述各节目分段数据。 所述终端节目播放设备, 根据 所述节目播放列表中的 URL来获取各节目分段数据。

较佳地, 所述前端节目分段设备, 还可以在插入所述节目播放列表分片 的节目分段数据中插入一插入标识。 所述终端节目播放设备, 在解码所述节 目分段数据时, 如果判断出存在所述插入标识, 则从所述节目分段数据中获 取所述节目播放列表分片。

较佳地, 所述前端节目分段设备, 还可以在插入所述节目播放列表分片 的节目分段数据中插入描述所述节目播放列表 分片在整个节目播放列表中的 位置的信息。 所述终端节目播放设备, 还根据解码出的播放列表分片及其在 整个节目播放列表中的位置的信息, 组装节目播放列表。

为了更好地说明本发明的实施方式,下面将 在 web CDN系统中实现分段 节目快速启动为一具体应用实例进行说明。

本应用实例釆用 MPEG-2 TS ( MPEG (运动图像专家组, Moving Picture Export Group ) , TS (传输流, Transport Stream ) )文件作为数据源,该 MPEG-2 TS流包括被编码为 H.264的一路 QVGA (四分之一视频图像阵列, Quanter Video Graphic Array ) 图像流和一路 AAC (高级音频编码, Advanced Audio Coding )音频流。 需要说明的是, 本发明所述方法同样适用于多路流的情况。

本发明应用实例实现分段节目快速启动的方法 如图 7所示, 包括步骤: 根据本方法在服务器侧, 按照以下步骤进行:

步骤 S701 : 服务器获取节目解码相关信息;

从 MPEG-2 TS文件 filename.ts中提取解码相关信息, 包含 PAT (节目相 关表, Program Association Table )和 PMT (节目映射表, Program Map Table ) 的 TS包。

步骤 S702: 所述 Λ良务器将节目文件切分为多个节目分段数据

从视频图像关键帧的位置开始将 MPEG-2 TS文件 filename.ts按照时间切 分为 20秒长度的多个分段数据, 每一个分段数据均为 MPEG-2 TS文件, 每 一个分段数据的解码单元均以图像关键帧开始 。

步骤 S703: 所述服务器将各节目分段数据的解码相关信息 分别插入所述 各节目分段数据中;

将解码各节目分段数据解码相关信息 PAT和 PMT的 TS包分别插入到所 述各节目分段数据的前面, 得到多个 MPEG-2 TS 小文件, 文件名分别为 filename- l .ts, filename-2.ts,... , filename-50.ts一共 50文件。 步骤 S704: 所述服务器生成描述所述各节目分段数据的节 目播放列表; 利用 XML (可扩展标记语言, Extensible Markup Language )格式生成播 放列表, 在播放列表中按照顺序分别描述这些 MPEG-2 TS 小文件的播放时 长, 文件名等信息。

步骤 S705:所述服务器将所述播放列表分成一个或者 个播放列表分片, 并将所述一个或者多个播放列表分片分别插入 一个或者多个所述节目分段数 据中;

在具体实现时, 可以将播放列表分片封装成 TS包, 基于协议规定的 TS 包格式 , 在 MPEG-2 TS流中扩展一个新的包标识 PID=0xlFFE , 以表示封装 有播放列表分片数据的 TS 包, 扩展一个新的表标识 table— id=0xFE, 以表示 所述 TS包的净荷中的 PLT (节目列表, Program List Table ) 中封装有播放列 表分片数据。 PLT满足 MPEG-2 TS流中节目特定信息 PSI语法。 封装播放列 表分片的 MPEG-2 TS分段示意图如图 8所示。

将播放列表通过 GZIP压缩, 如果压缩后的大小不超过 4090个字节, 则 将整个压缩后的播放列表放入 PLT中, 通过压缩指示标识后面的播放列表是 否压缩, 两位 00表示未压缩, 两位 01表示釆用 GZIP压缩。 构造 TS包头, 包头中的 PID=0xlFFE, 将该包头和 PLT按照 188个字节组合成封装有播放 列表的多个 TS包,即以所述多个 TS包中承载的数据共同承载所述播放列表。 最后将这些 TS包插入到第一个分段文件 filename-l.ts的后面。

将播放列表通过 GZIP压缩, 如果压缩后的大小超过 4090个字节, 则将 所述播放列表拆分为多个小的播放列表分片后 再压缩。 确保每个压缩后的播 放列表分片均不超过 4090个字节,然后将压缩后的播放列表分片分 放入多 个 PLT中, 通过 PLT中的当前段号表示该播放列表是第几个播放 列表分片, 通过 PLT中的最终段号表示播放列表一共有几个播放 列表分片。然后构造 TS 包头, 包头中的 PID=0xlFFE, 将该包头和 PLT按照 188个字节组合成封装 有播放列表的多个 TS包。然后将这些 TS包依次插入到多个分段文件的后面。 同时确保每个分段文件中的一个或者多个 TS 包承载的仅有一个播放列表分 片。

步骤 S706: 所述服务器构造统一资源定位符 URL; 将分段后的多个 MPEG-2 TS数据文件 filename- 1.ts , filename-2.ts, filename-50.ts放在 HTTP WEB服务器的存储设备上, 同时生成统一资源定位 URL标识第一个分段数据: http://IP/VOD/filename/filename-l.ts

根据本方法在客户端侧, 按照以下步骤进行:

步骤 S707: 客户端获取第一个分段数据文件;

根据统一资源定位 URL 通过 HTTP GET 方法获取第一个分段数据 MPEG-2 TS文件 filename- l.ts:

GET /VOD/filename/filename-1.ts HTTP/1.1;

步骤 S708: 所述客户端解码节目分段数据;

根据解码相关信息启动解码器, 然后对节目分段数据进行解码播放。 步骤 S709: 所述客户端在解码节目分段数据时, 如果解码出播放列表分 片, 则根据所述播放列表分片获取节目分段数据;

所述播放列表分片用于描述第 1个至第 N个节目分段数据, N为大于 1 小于等于 50的正整数。按照已经获取的播放列表内容, 过 HTTP GET方法 获取后续分段数据文件依次解码播放。

http://IP/VOD/filename/filename-l.ts

http://IP/VOD/filename/filename-2.ts

http://IP/VOD/filename/filename-N.ts

步骤 S710: 所述客户端构造播放列表。

在解析 MPEG-2 TS分段数据, 如果发现了 PID=0xlFFE的 TS包, 则表 示该 TS包中带有播放列表, 然后解析 TS流获取 PLT, 根据 PLT中的压缩指 示 01釆用 GZIP将播放列表解压, 根据 PLT中的当前段号和最终段号, 确定 播放列表是否被分片, 如果没有被分片, 则已经获取了整个播放列表, 如果 播放列表被分片, 则还需要从后续的分段数据中继续组装播放列 表。 本领域普通技术人员可以理解上述方法中的全 部或部分步骤可通过程序 来指令相关硬件完成, 所述程序可以存储于计算机可读存储介质中, 如只读 存储器、 磁盘或光盘等。 可选地, 上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现, 相应地, 上述实施例中的各模块 /单元可以釆用 硬件的形式实现, 也可以釆用软件功能模块的形式实现。 本发明不限制于任 何特定形式的硬件和软件的结合。

以上所述仅为本发明的优选实施例而已, 并不用于限制本发明, 对于本 领域的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和 原则之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的保护 范围之内。

工业实用性

上述实施方式能够降低系统启动的时延, 提高用户体验质量。