CN102165776A - 一种可伸缩视频编码文件的传输方法、接收方法及装置 - Google Patents

一种可伸缩视频编码文件的传输方法、接收方法及装置 Download PDF

Info

Publication number
CN102165776A
CN102165776A CN2009801487267A CN200980148726A CN102165776A CN 102165776 A CN102165776 A CN 102165776A CN 2009801487267 A CN2009801487267 A CN 2009801487267A CN 200980148726 A CN200980148726 A CN 200980148726A CN 102165776 A CN102165776 A CN 102165776A
Authority
CN
China
Prior art keywords
file
decoding dependency
decoding
information
files
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801487267A
Other languages
English (en)
Other versions
CN102165776B (zh
Inventor
张园园
刘光远
乐培玉
石腾
田永辉
袁卫忠
张楚雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102165776A publication Critical patent/CN102165776A/zh
Application granted granted Critical
Publication of CN102165776B publication Critical patent/CN102165776B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/37Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability with arrangements for assigning different transmission priorities to video input data or to video coded data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例提供一种可伸缩视频编码文件的传输方法,所述方法包括:将所述可伸缩视频编码SVC文件分割为一个基本文件和至少一个增强文件;其中,所述基本文件至少包括基本层媒体数据,所述增强文件包括部分或全部增强层媒体数据;将分割得到的每一个文件各自通过不同的传输对象进行传输;传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码依赖性信息,以使得终端根据所接收到的解码依赖性信息确定要接收的一个或多个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文件。本发明实施例,终端可以只接收对完整的SVC文件分割后得到的多个文件中的一个或多个文件,避免了对用户终端缓存的浪费,减少了接收时间,节省了电力。

Description

种可伸缩视频编码文件的传输方法、 接收方法及装置
技术领域
本发明涉及文件传输技术, 具体地, 涉及一种可伸缩视频编码文件的传输 方法、 接收方法及装置。 背景技术
随着近年来技术的发展, TV系统都面临同样的问题: 需要在一个异构的环 境中提供业务, 这里的异构包括终端能力的差异、 网络带宽的差异等。
以 MTV为例, 目前使用 MTV业务的主要是手机业机, 手机主流的屏幕分辨率 为 QVGA (Quarter Video Graphics Array, 四分之一 VGA) , 即 320 X 240, 但是 手机正在向高清视频方向发展;此外,带无线上网功能的笔记本、 PDA (Personal Digital Assistant , 个人数字助手) 等屏幕分辨率大于 QVGA的终端也都是 MTV 服务的对象。 因此 MTV运营商需要考虑如何基于广播 /组播同时向屏幕分辨率等 于 QVGA的终端和大于 QVGA的终端提供影音文件下载业务。
SVC (Scalable Video Coding, 可伸缩视频编码) 是能够解决出现于异构 环境中的网络的带宽差异、 接收终端的性能差异、 分辨率差异等各种问题的编 码技术。 在使用 SVC技术时, 可以通过作一次编码得到一个基本层和一个或多 个增强层。 增强层用于提高视频观看效果, 它不能独立解码, 需要与基本层以 及之前的增强层合在一起才能解码, 得到特定比特率、 帧速率和分辨率的视频。 将基本层和一个或多个增强层按一定的格式进行存储, 获得 SVC文件。 随着增 强层数量的增加, SVC文件可支持各种比特率、 帧速率和分辨率。
在实现本发明过程中, 发明人发现现有技术至少存在如下问题: 由于现有 的基于 FLUTE协议的 SVC文件传输或接收技术需要手机全部接收包括基本层和 全部增强层的完整的 SVC文件甚至 SVC文件组, 因此会造成手机等终端缓存空 间的浪费, 并且接收包括基本层和全部增强层的文件导致手机下载文件的时间 变长, 电力消耗大。 发明内容
本发明的实施例提供一种可伸缩视频编码文件的传输方法、 接收方法及装 置, 通过接收分割 SVC文件得到的多个文件中的一个或多个文件, 避免了对用户 终端缓存的浪费, 并且减少了文件接收的时间, 节省了电力。
本发明实施例提供一种可伸缩视频编码文件的传输方法, 包括:
将所述可伸缩视频编码 SVC文件分割为一个基本文件和至少一个增强文件; 其中, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部分或全部 增强层媒体数据;
将分割得到的每一个文件各自通过一个传输对象进行传输;
传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码依 赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的一个或多 个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文件。 本发明实施例另提供一种文件接收方法, 包括:
获取目标文件的解码依赖性信息, 所述目标文件为基本文件或增强文件, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部分或全部增强层 媒体数据;
根据所述解码依赖性信息确定待接收的文件, 所述待接收的文件为一个基 本文件, 或一个基本文件以及至少一个增强文件;
接收所述待接收的文件的描述信息;
根据所述待接收的文件的描述信息接收所述待接收的文件。
本发明实施例还提供一种 SVC文件传输装置, 包括:
分割单元, 用于将所述可伸缩视频编码 SVC文件分割为一个基本文件和至少 一个增强文件; 其中, 所述基本文件至少包括基本层媒体数据, 所述增强文件 包括部分或全部增强层媒体数据;
传输单元, 用于将分割得到的每一个文件各自通过不同的传输对象进行传 输, 并传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码 依赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的一个或 多个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文件。 本发明实施例另提供一种文件接收装置, 包括:
获取单元, 用于获取目标文件的解码依赖性信息, 所述目标文件为基本文 件或增强文件, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部 分或全部增强层媒体数据;
确定单元, 用于根据所述解码依赖性信息确定待接收的文件, 所述待接收 的文件为一个基本文件, 或一个基本文件以及至少一个增强文件;
第一接收单元, 用于接收所述待接收的文件的描述信息;
第二接收单元, 用于根据所述待接收的文件的描述信息接收所述待接收的 文件。 本发明实施例通过对 SVC文件进行分割, 可以只接收分割得到的多个文件中 的一个和多个文件, 避免了对用户终端缓存的浪费, 并且减少了文件接收的时 间, 节省了电力。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实施 例描述中所需要使用的附图作简单地介绍, 显而易见地, 下面描述中的附图仅 仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳 动性的前提下, 还可以根据这些附图获得其他的附图。
图 1为 SVC文件的格式示意图;
图 2为 FLUTE会话的结构示意图;
图 3为本发明实施例 1中 SVC文件传输方法的示意图;
图 4为图 3中步骤 120的流程示意图; 图 5为本发明实施例 1中文件接收方法的示意图;
图 6为本发明实施例 2中 SVC文件传输方法的示意图;
图 7为本发明实施例中基本文件中的元数据从增强文件中引用媒体数据的 示意图;
图 8为图 7中步骤 320的流程示意图;
图 9为本发明实施例 2中文件接收方法流程图;
图 10为图 9中步骤 405的流程示意图;
图 11为本发明实施例中文件传输装置的结构框图;
图 12为图 11中传输单元的示意图之一;
图 13为图 11中传输单元的示意图之二;
图 14为图 11中传输单元的示意图之三;
图 15为本发明实施例中文件接收装置的结构框图。 具体实施方式
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
为了便于理解本发明实施例, 首先对现有的 SVC文件格式和 FLUTE协议进 行说明。
以需要 QVGA和 VGA的异构场景为例, 可以采用 SVC技术通过一次编码得到 一个基本层和一个增强层, 基本层解码后是 QVGA格式的视频, 基本层和增强层 合在一起解码后得到 VGA格式的视频。 存储时可以将基本层作为 SVC文件的基 本轨道 (base track ) trackl , 基本层和增强层合起来作为 SVC文件的增强轨 道 (enhancement track) track2。 track2 中并不存储完整的基本层 +增强层样 本 (这里样本即视频帧) , 而是存储增强层样本和到基本层样本的指针。 在使 用 SVC文件时, 文件阅读器可根据指针合成完整的样本, 因此所需存储空间和 单个 VGA格式文件接近。
在图 1所示的 SVC文件格式中, moov代表 movie box (影片包) , 用于存 储元数据, 即对媒体数据的描述; mdat代表 media data box (媒体数据包) , 用于存储媒体数据; BL代表基本层(Base Layer ); EL代表增强层(Enhancement Layer ) ; E代表指针 ( extractor ) ; SO代表编号为 0的样本 ( sample ) ; track (轨道) 是一组相关的样本; chunk (块) 是一个 track 中物理上连续地存储在 一起的多个样本。
FLUTE协议是基于 IP协议的点到多点的文件传输协议, 在 FLUTE协议中, 一个文件用一个 TO (Transport Object , 传输对象) 承载, 传输对象用传输端 分配的 TOI (Transport Object Identifier, 传输对象标识) 标识。 一个 FLUTE 会话中有很多数据包在传输, 数据包的包头都有一个 T0I字段, 所有 T0I相同 的数据包组成一个传输对象。
多个传输对象在一个 FLUTE会话中传输, 可用 FDT (Fi le Del ivery Table, 文件传输表) 实例说明会话中当前或将要传输的文件。 对于每个文件, 在 FDT 实例中提供该文件的一组描述信息 (后面简称为文件的描述信息) , 该描述信 息包括如下参数:
Content— location: 表示文件的标识, 采用 URI ( Uniform Resource Identifier, 统一资源标识符) 格式, 后面称为 Fi leURI , 为必选参数;
T0I : 表示传输对象标识, 为必选参数;
Content-length: 表示文件的大小, 为可选参数;
Transfer-length, 表示传输对象的大小, 为可选参数;
Content-Type:表不文件的 MIME(Multipurpose Internet Mai l Extensions , 多功能因特网邮件扩充协议) 类型, 为可选参数;
Content-Encoding: 表示文件的内容编码方式, 为可选参数;
Content-MD5: 表示文件的 MD5摘要, 为可选参数;
FEC-0TI-FEC- Encoding- ID 、 FEC-0TI-FEC- Instance- ID 、 FEC - OTI - Maximum - Source - Block - Length、 FEC - 0TI - Encoding - Symbol - Length、 FEC - OTI - Max - Number - of - Encoding - Symbol s、 FEC - OTI - Scheme - Specific - Info: 表示 FEC OTI (FEC Object Transmission Information, 前向纠错编码对象传 输信息) 信息, 为可选参数;
GroupID: 表示文件所在的文件组标识, 为可选参数。
FLUTE协议规定,默认传输对象标识 T0I = 0的传输对象用于传输 FDT实例, 如图 2所示。
FLUTE协议规定, FDT实例是一个 XML文档, 并且可以任意扩展。 如果 XML 解析器不能识别扩展的元素 /属性, 将直接跳过这些元素和属性。
现有的基于 FLUTE协议的文件传输 /接收技术中终端需要接收整个文件甚至 整个文件组: 接收端在判断出已经接收到了足够恢复完整文件的数据包后, 才 认为接收到了一个文件; 如果接收端要接收文件组中的一个文件, 就必须接收 文件组中所有的文件, 除非接收端预先被配置为忽略文件组, 此时接收端只接 收该文件。
基于此, 本发明实施例提供一种 SVC文件传输方法及接收方法, 可以实现 基于广播或组播向异构终端提供 SVC文件下载业务时, 减少终端存储消耗和电 力消耗。
下面对结合附图对本发明进行更详细地说明。 实施例 1
本实施例提供一种 SVC文件的传输方法, 如图 3所示, 该方法包括: 步骤 110, 发送端将可伸缩视频编码 SVC文件分割为一个基本文件和至少一 个增强文件。
例如, SVC文件包括一个基本层与一到多个增强层的媒体数据。 它们的解码 依赖性不同。 基本层最低, 可以独立解码。 增强层不能独立解码, 需要与基本 层合在一起解码, 或者与基本层和解码依赖性更低的增强层合在一起解码, 即 增强层依赖于基本层或者依赖于基本层和解码依赖性更低的增强层解码。 在传 输 SVC文件之前, 可根据适配需求将 SVC文件分为多个 (即两个以上) 文件, 其 中一个称为基本文件, 其他的称为增强文件。 将一个基本层与一到多个增强层 按解码依赖性由低到高排列, 基本文件包括基本层以及前 0到多个增强层的媒体 数据, 该基本文件可以不依赖于其余任何文件中的数据独立解码, 即基本文件 的解码依赖性最低。 未包含在基本文件中的增强层又可按解码依赖性由低到高 的顺序分为至少一组, 每组包括一到多个增强层, 每个增强文件包括其中一组 的媒体数据, 即一到多个增强层的媒体数据, 也即包括全部或部分增强层的媒 体数据。
本发明实施例中, 所述适配需求包括但不限于支持某种屏幕分辨率、 支持 某种传输码率、 支持某种帧速率等。 运营商可在网络侧设置适配需求收集功能 实体来收集适配需求, 也可手工配置适配需求。 由于运营商是在一个异构的环 境中提供业务, 因此通常有多个适配需求。 分割 SVC文件得到的每个文件对应一 种适配需求, 即将 SVC文件分为的文件的个数等于适配需求的个数。 根据该文件 对应的适配需求,分割 SVC文件得到的每个文件可以包含一到多层媒体数据。 例 如, 适配需求是支持 QVGA、 HVGA、 VGA三种屏幕分辨率的终端, 即有三个适配需 求; SVC文件包含基本层、 增强层 1、 增强层 2、 增强层 3、 增强层 4、 增强层 5。 增强层 1到增强层 5的解码依赖性由低到高依次增加, 增强层 1的分辨率为 QVGA、 增强层 3的分辨率为 HVGA、 增强层 5的分辨率为 VGA, 其中增强层的分辨率指将增 强层与基本层及解码依赖性更低的增强层合起来解码后, 得到的视频的分辨率。 则根据适配需求将 SVC文件分为三个文件: 基本文件、 增强文件 1、 增强文件 2。 基本文件包括基本层和增强层 1的媒体数据, 未包含在基本文件中的增强层 2〜5 根据适配需求可以分为两组, 组 1包括增强层 2和增强层 3, 组 2包括增强层 4和增 强层 5。 增强文件 1包括组 1, 即增强层 2和增强层 3的媒体数据, 增强文件 3包括 组 2, 即增强层 4和增强层 5的媒体数据。
由于增强层的媒体数据需要至少结合基本层的媒体数据才能进行解码, 因 此本步骤中分割得到的增强文件也会至少依赖于基本文件进行解码。 具体地, 增强文件有可能仅和基本文件联合在一起就能够完成解码, 也有可能需要和基 本文件以及其他增强文件联合在一起才能完成解码。 增强文件包括的增强层的 解码依赖性越低, 该增强文件解码要依赖的其他增强文件就越少, 该增强文件 的解码依赖性就越低。
即根据分割后得到的文件中包括的基本层和 /或增强层的解码依赖性可以 确定该文件解码依赖性的高低, 解码依赖性低的增强文件所依赖的文件数相对 较少。
在根据适配需求分割 SVC文件时, 发送端通过读取和解析 SVC文件包含的元 数据可获取 SVC文件结构。 根据 SVC文件结构的不同, 分割方式可以不同。 既可 以按轨道 (track) 进行文件分割, 也可以按 track的子集 (tier ) , 即子轨道, 进行文件分割。 其中, tier是指按照定义的分组规则将一个 track中的样本 (媒 体数据) 分成的多个组, 每组包含一或多个可伸缩层。 分组规则可以有多种定 义方式, 包括但不限于基于分辨率、 帧率以及分辨率和帧率的组合进行定义。
分割完成后, 可给分割得到的文件分配文件标识, 如 Fi leURI。
步骤 120, 将分割得到的每一个文件各自通过一个传输对象 (TO) 承载并进 行传输。
在本发明另一实施例中, 如图 4所示, 步骤 120细分为:
步骤 120-1, 对每一个文件进行分块。 例如, 根据 FEC ( Forward Error Correction , 前向纠错) 算法的要求把文件物理分割为若干个源块 (source block) , 每个源块用 SBN (Source Block Number , 源块编号) 标识, 表示在 TO 中的相对位置。
步骤 120-2,对分块后的文件进行 FEC编码。可以采用多种 FEC方案(scheme ) 进行编码, 包括 Compact No-Code FEC scheme (压缩无编码前向纠错编码方案) 、 Compact FEC Scheme (压缩前向纠错编码方案) 、 Smal l Block Systematic FEC Scheme (小块系统前向纠错编码方案) 等。 步骤 120-3, 将 FEC编码后的数据封装到数据包中。
步骤 120-4, 发送封装好的数据包。
步骤 130, 传输所述一个基本文件和至少一个增强文件的描述信息及各文件 的解码依赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的 一个或多个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个 文件。
根据待传输的多个文件可产生 FDT实例, 该 FDT实例中包含各文件的描述信 息, 例如各文件的文件标识、 传输对象标识等等。 本发明实施例中, 所述各文 件的解码依赖性信息可以设置在 FDT实例中传输, 也可以通过单独的文件进行传 输。 本发明实施例中, 文件的解码依赖性信息用于指示该文件解码所依赖的文 件信息, 体现了与其他文件的解码依赖关系。
本发明实施例中, 可以根据适配需求分割 SVC文件为多个文件, 在需要满足 某种适配需求的数据时, 用户设备可仅接收该适配需求对应的分割后的文件及 其解码所依赖的文件, 而无需接收整个 SVC文件或文件组, 从而避免了用户设备 端缓存空间的浪费, 并且减少了文件接收的时间, 节省了电力。
相应地, 本发明实施例还提供一种文件接收方法, 该方法可由作为接收端 的终端来完成, 如图 5所示, 该方法包括:
步骤 210, 获取目标文件的解码依赖性信息。
其中, 所述目标文件可以为可伸缩视频编码 SVC文件分割为一个基本文件和 至少一个增强文件后的基本文件或增强文件, 所述基本文件至少包括基本层媒 体数据, 所述增强文件包括部分或全部增强层媒体数据。
在本发明具体应用中, 终端首先接收 ESG (Electronic Service Guide, 电 子业务指南) , 用户或者终端通过 ESG选择目标文件, 由 ESG应用将目标文件的 文件标识 FileURI传给文件接收装置, 文件接收装置可根据本发明实施例提供的 文件接收方法接收文件。 该目标文件为分割 SVC文件得到的基本文件或其中一个 增强文件。 ESG提供文件的描述信息, 说明文件针对的终端能力, 具体提供方式可以是 文本描述, 供用户理解选择; 也可以是 XML ( Extensible Markup Language , 可 标记扩展语言) 描述, 供终端理解选择。 用户或终端通常选择与终端能力匹配 的文件, 即为目标文件。 其中终端能力包括但不限于终端的屏幕分辨率、 终端 支持的编解码算法、 终端支持的网络接入带宽、 终端的缓存容量等等。 例如, SVC文件被分割为一个基本文件和两个增强文件, 基本文件的分辨率为 QVGA, 两 个增强文件的分辨率分别为 HVGA、 VGA, 其中增强文件的分辨率指将增强文件和 增强文件解码依赖的基本文件和其他增强文件合在一起解码后得到的视频的分 辨率。 ESG提供三个文件的描述信息, 说明三个文件的分辨率或者三个文件针对 的终端的屏幕分辨率分别为 QVGA、 HVGA、 VGA。 屏幕分辨率为 QVGA的用户或终端 可选择基本文件作为目标文件, 屏幕分辨率为 HVGA或 VGA的用户或终端可选择两 个增强文件中的一个作为目标文件。 ESG提供的三个文件的描述信息, 还可说明 三个文件的大小分别为 100MB、 200MB、 400MB , 缓存容量为 500MB的用户或终端 可选择基本文件作为目标文件, 缓存容量为 4GB的用户或终端可选择两个增强文 件中的一个作为目标文件。
步骤 220, 根据所述解码依赖性信息确定待接收的文件, 所述待接收的文件 为一个基本文件, 或一个基本文件以及至少一个增强文件。
例如, 如果根据所述解码依赖性信息确定所述目标文件存在解码依赖文件, 确定所述目标文件和目标文件的解码依赖文件为待接收的文件;
如果根据所述解码依赖性信息确定所述目标文件不存在解码依赖文件, 确 定所述目标文件为待接收的文件。
本实施例中, 所述解码依赖文件指目标文件解码依赖的文件, 将目标文件 和目标文件的解码依赖文件结合在一起才能完成目标文件的解码。
步骤 230, 接收所述待接收的文件的描述信息。
所述待接收的文件的描述信息可以分别从待接收的文件的 FDT实例中获得, 该描述信息至少包括传输对象标识。 步骤 240, 根据所述待接收的文件的描述信息接收所述待接收的文件。
根据所述待接收的文件的描述信息中的传输对象标识便可以接收到用于承 载所述待接收的文件的数据包。
文件接收完毕后, 接收端将接收的文件传输给上层应用设备, 如播放器, 由应用设备完成文件的解码和展示。
本发明实施例中, 根据用户或终端选择的目标文件的不同, 终端接收的是 对完整的 SVC文件分割后得到的多个文件 (一个基本文件和至少一个增强文件) 中的一个或多个。 如果目标文件为基本文件, 终端只需要接收目标文件; 如果 目标文件为增强文件, 终端只需要接收目标文件、 目标文件的解码依赖文件(即 目标文件解码依赖的基本文件和 0到多个其他增强文件) , 不需要接收目标文件 解码不依赖的其他增强文件, 从而避免了对用户终端缓存的浪费, 并减少了文 件接收的时间, 节省了电力。 实施例 2
本实施例另提供一种文件传输方法, 如图 6所示, 该方法包括:
步骤 310, 发送端根据适配需求将所述可伸缩视频编码 SVC文件分割为一个 基本文件和至少一个增强文件。
本发明实施例中, 所述适配需求包括但不限于支持多种屏幕分辨率、 支持 多种传输码率、 支持多种帧速率等。 运营商可在网络侧设置适配需求收集功能 实体来收集适配需求, 也可手工配置适配需求。
发送端通过读取和解析 SVC文件包含的元数据可获取 SVC文件结构。 根据 SVC 文件结构的不同, 分割方式可以不同。 该分割方式可能是按 track进行分割, 也 可能是按 Tier (层的操作点, track的子集) 进行分割。 其中, tier是指按照某 种分组规则将一个 track中的样本 (媒体数据) 分成的多个组, 每组包含一或多 个可伸缩层。 分组规则可以有多种定义方式, 包括但不限于基于分辨率、 帧率 以及分辨率和帧率的组合进行定义。 以分为两组为例, 分组规则可以是: 组 1的 分辨率为 QVGA、 组 2的分辨率为 VGA; 组 1的帧率为 15帧 /秒、 组 2的帧率为 30帧 / 秒; 或者, 组 1的分辨率为 QVGA且帧率为 15帧 /秒、 组 2的分辨率为 VGA且帧率为 30帧 /秒。
按 track进行分割的例子如下: 比如适配需求是支持 QVGA、 HVGA、 VGA三种 屏幕分辨率的终端, SVC文件结构如下, 包含一个 base track, 对应的分辨率为 QVGA; 两个 enhancement track, 对应的分辨率分别为 HVGA、 VGA。 则按 track将 SVC分为一个基本文件和两个增强文件。
按 tier进行分割的例子如下: 比如适配需求是支持 QVGA、 HVGA、 VGA三种屏 幕分辨率的终端, SVC文件结构如下, 包含一个 track,该 track中包含三个 tier, Tierl对应的分辨率分为 QVGA、 Tier2对应的分辨率是 HVGA、 Tier3的分辨率是 VGA。 其中 Tier2的分辨率是联合解码 Tierl和 Tier2得到的视频的分辨率; Tier2 的分辨率是联合解码 Tierl、 Tier2、 Tier3得到的视频的分辨率, 则可按 Tier将 SVC文件分为一个基本文件和两个增强文件。
在确定了文件的分割方式后, 从完整的 SVC文件中抽取适配需求相应的基本 层和 /或增强层媒体数据形成多个文件, 其中一个称为基本文件, 其他的称为增 强文件。 基本文件包括基本层以及 0到多个增强层的媒体数据, 增强文件包括未 包含在基本文件中的 1到多个增强层的媒体数据。
将 SVC分割为多个文件后, 可给分割得到的文件分配 Fi leURI并记录文件的 解码依赖性信息。 所述解码依赖性信息例如可为:
( 1 ) 基本文件, 不依赖于其它文件, 独立解码;
(2 ) 增强文件 1, 依赖于基本文件才能解码;
(3 ) 增强文件 2, 依赖于基本文件和增强文件 1才能解码。
其中, 所谓的依赖是指, 需要将文件和被依赖的文件联合在一起才能解码 该文件。
在本发明实施例中, 抽取适配需求相应的媒体数据形成多个文件有多种实 现方式, 现举例说明如下: (一) 方法 1
根据适配需求从完整的 SVC文件中抽取相应的媒体数据形成一个基本文件 和至少一个增强文件, 其中增强文件只包括未包含在基本文件内的 1到多个增强 层的媒体数据; 基本文件除包括基本层以及 0到多个增强层的媒体数据外, 还包 括元数据。 该元数据描述了对完整的 SVC文件分割后得到的多个文件包含的所有 媒体数据的物理结构和时间结构, 其中用于描述媒体数据时间结构的元数据中 包括媒体数据的解码时间。
本发明实施例中, 完整的 SVC文件采用的文件格式基于 SVC文件格式, SVC文 件格式基于 ISO ( International Standards Organization, 国际标准组织) 文 件格式定义。 现举例说明方法 1的具体实现。
图 7描述的是一个完整的 SVC文件, 图中 " ftyp " 、 "mvhd " 、 " trak "表 示文件类型包 ( fi le type box) 、 "mvhd "表示影片头包 (movie header box) 、 "Trak "表示轨道包 (track box) , 均用于存储元数据, 其中 "ftyp"用于存 储文件使用的协议版本等; "mvhd "用于存储影片的全局性描述信息, 如影片 的制作时间、 修改时间、 时长等信息; " trak " 中的元数据用于存储单个轨道, 包括轨道中媒体数据的物理结构和时间结构的描述。
如图 7所示, 该完整的 SVC文件包括多个视频轨道和至少一个其他轨道。 其 他轨道可以是音频轨道、 字幕轨道等; 多个视频轨道包括一个基本轨道和至少 一个增强轨道。 本例中, 有多个适配需求, 基本轨道及每个增强轨道分别包含 与某一适配需求对应的视频媒体数据。 从完整的 SVC文件中分别抽取各增强轨道 中的视频媒体数据存储形成各增强文件。 从完整的 SVC文件中抽取基本轨道的视 频媒体数据、 其他轨道的音频或字幕等媒体数据、 元数据存储形成基本文件。 基本文件采用的文件格式仍然基于 ISO文件格式。 增强文件采用文件格式不做绝 对化定义。 本发明的具体应用中, 开发者可以自己定义增强文件的格式, 如将 抽取出的媒体数据按二进制顺序存储 dat文件。
基本文件中的元数据用于描述对完整的 SVC文件分割后得到的多个文件包 含的所有媒体数据的物理结构和时间结构。 由于分割后, 媒体数据的物理存储 位置发生了变化, 如, 分割之前媒体数据存储在完整的 SVC文件中特定物理存储 位置上, 分割之后该媒体数据存储在基本文件或增强文件中特定物理存储位置 上。 需要对基本文件中的描述媒体数据的物理结构的元数据进行修改, 使之指 向新的物理存储位置。 描述媒体数据的物理结构的元数据包括, 包含媒体数据 的文件的 Fi leURI和媒体数据在该文件中的存储位置。 因此, 分割后, 需要为分 割得到的基本文件和增强文件分别分配 Fi leURI , 并修改基本文件中描述媒体数 据物理结构的元数据, 将 Fi leURI修改为分割后包含该媒体数据的基本文件或增 强文件的 Fi leURI , 将存储位置修改在分割后包含该媒体数据的基本文件或增强 文件中的存储位置。 使之指向新的物理存储位置。 例如, 对于增强文件中某一 媒体数据, 分割之前元数据都存放在 SVC文件中, 其中, 描述该媒体数据的物理 存储位置的元数据指向的是完整的 SVC文件中的物理存储位置, 分割之后元数据 都包含在基本文件中, 且要对描述该媒体数据的物理存储位置的元数据进行修 改, 使之指向增强文件中的物理存储位置。
(二) 方法 2
不同于方法 1将元数据集中存放在基本文件中, 该方法中元数据分散存放在 基本文件和各增强文件中, 即不管基本文件还是增强文件, 都包括元数据, 文 件中的元数据只用于描述本文件包含的媒体数据。 该元数据描述了本文件包含 的媒体数据的物理结构和时间结构, 其中用于描述媒体数据时间结构的元数据 中包括媒体数据的解码时间。
增强轨道中存储的媒体数据由指针和增强层媒体数据构成, 通过指针可引 用基本层和解码依赖性更低的增强层的媒体数据。 现有技术对指针的定义如下:
class al igned (8) Extractor () {
NALUnitHeader O;
unsigned int (8) track— ref— index ;
signed int (8) sample— off set;
unsigned int ( (lengthSizeMinusOne+1) *8) data off set;
unsigned int ( (lengthSizeMinusOne+l) *8)
data— length ; 通过指针中的 track— ref— index可在当前轨道的元数据中查找得到要引用 的基本层和解码依赖性更低的增强层媒体数据对应的轨道的标识。 根据轨道的 标识可找到这些轨道的元数据, 该元数据指向基本层和解码依赖性更低的增强 层媒体数据的物理存储位置。 从而可以引用基本层和解码依赖性更低的增强层 媒体数据。
由于现有技术中, 使用 trackID作为轨道的标识, 而 trackID只在一个展示 (presentation, 指文件元数据描述的视频轨道及其他轨道的组合) 中唯一标 识轨道, 因此现有技术只能实现引用同一个展示中的媒体数据。
而该方法 2中基本文件和增强文件是不同的展示, 因此需要对现有技术进行 扩展, 在增强文件的元数据中可用 Fi leURI和 trackID共同标识要引用的媒体数 据对应的 track, 从而实现引用另一个展示中的媒体数据。 现有 SVC文件格式中, 可以从 SVC文件的元数据中获取基本轨道中的媒体数据的解码时间和增强轨道 的媒体数据的解码时间, 根据解码时间同步基本轨道中的媒体数据和增强轨道 的媒体数据, 方法 2中类似地可以分别从增强文件、 基本文件的元数据中获取增 强文件、 基本文件的媒体数据的解码时间, 根据解码时间同步基本文件的媒体 数据和增强文件的媒体数据。
步骤 320, 进行文件传输。 如图 8所示, 该步骤细分为:
步骤 320-1, 将每一个分割后的文件用一个传输对象 (TO ) 承载, 产生 FDT 实例, 所述 FDT实例携带各文件的描述信息以及各文件的解码依赖性信息。
步骤 320-2, 传输所述 FDT实例和各传输对象。
本发明一实施例中, 对上述步骤 320-1有多种在 FDT实例中携带各文件的解 码依赖性信息的方法。 下面举例说明如下:
( 1 ) 第一种方法 扩展 FDT实例中对各文件的描述信息, 在文件的描述中增加该文件解码依赖 的一组(0到多个)文件的文件标识, 以指示该文件与其他文件的解码依赖关系。
另外, 作为本发明另一实施例, 可选的, FDT实例中还可增加解码依赖类型 标识, 用于指示解码依赖性的原因, 例如, 解码依赖类型标识的取值为 lay, 表 示解码依赖性是由分层编码造成的。 如果解码依赖性是其它原因造成的, 比如 密钥文件和媒体文件, 媒体文件依赖于密钥文件进行解码, 则可设置为其它取 值。
该 FDT实例相应的 XML定义可为:
<complexType name = "Fi leType " >
<sequence>
<element name= "DependencyOn type= " anyURI minOccurs=" 0,, maxOccurs= "unbounded" >
<element name=,, DependencyType JJ type=,, string" minOccurs=" 0,,
</complexType>
在 SVC文件被分成一个基本文件和一个增强文件时, 若基本文件的 Fi leURI 为 http : //www. example. com/SVCf i le/trackK 增强文件的 Fi leURI为 http : // www. example. com/SVCf i le/ tracks。 基本文件 http : //www. example. com/SVCfile /trackl不依赖于其他文件解码; 增强文件 http : //www. example. com/SVCfi le /^&。1^2依赖于基本文件^1 :// ¾^. example. com/SVCf i le/trackl解码。此时, FDT实例中基本文件和增强文件的描述信息例如可为:
Content-Type=//video/3gpp-svc Content-Length=//7543//
Transfer-Length=//4294//
T0I="2"
FEC-0TI-Encoding-Symbol-Length=// 16//
FEC-OTI-Scheme-Specific-Info=//AAEBBA==//
Content-Location=http: //www. example. com/SVCf i le/ trackl/>
〃增强文件的描述信息
<Fi le
Content-Type= video/3gg-svc
Content-Length= 161934
Transfer-Length= 157821"
T0I='T
FEC-0TI-Encoding-Symbol-Length= 512
Content-Location=http: //www. example. com/SVCf i le/ track2>
<dependencyOn>http: //www. example. com/SVCf i le/ trackK/ dependencyOn)
〈/Fi le〉
其中, 基本文件不依赖于其他任何文件解码, 因此基本文件的描述信息中包 含 0个解码依赖文件的文件标识; 增强文件 http:〃 www. example. com/SVCf i le /track2依赖于基本文件 http : //丽. example. com/SVCf i le/trackl解码, 增强 文件的描述信息中包含 1个解码依赖文件的文件标识 http:〃 www. example, com /SVCfi le/trackl o ( 2 ) 第 2种方法
本方法中, 可将对完整的 SVC文件分割后得到的所有文件作为一个逻辑组 合, 即一个文件组。 在 FDT实例中增加文件组的描述, 通过文件组的描述说明文 件间的解码依赖关系。 文件组的描述包含: 组标识和多组描述信息。 每组描述 信息由某一文件的文件标识、 解码该文件要依赖的文件的文件标识组成, 用来 说明该文件和其他文件间的解码依赖关系。 可选的, 文件组描述信息中还可包 含组类型标识, 用于指示组中文件之间是否存在解码依赖关系, 例如, 组类型 标识取值为 DDP (decoding dependency) , 表示组中文件间存在解码依赖关系。 另外, 作为本发明另一实施例, 可选的, FDT实例中还可增加解码依赖类型 标识, 用于指示文件间解码依赖关系的原因, 例如, 解码依赖类型标识的取值 为 lay, 表示解码依赖关系是由分层编码造成的。 如果解码依赖关系是其它原因 造成的, 比如密钥文件和媒体文件, 媒体文件依赖于密钥文件进行解码, 则可 设置为其它取值。
文件组描述的 XML定义可如下所示。
<complexType name = = "Fi leGroupType " >
<sequence>
<element name = "HowDependent,, type= "mbms: HowDependentType " maxOccurs= "unbounded"
</ sequence)
<attribute name= "GroupType " type= " string" use=,, optional " >
<attribute name= "Group ID" type= "mbms: groupIdType " use=,, required" </complexType>
<complexType name = = " HowDependent Type JJ >
<sequence>
<element name = "Dependency" type= " anyURI " >
<element name = "DependencyOn " type= " anyURI " maxOccurs= "unbounded
</ sequence)
<attribute name= "DependencyType " type= " string" use=,, optional " > </complexType>
一个具体的实施例如下所述: svc文件被分成一个基本文件和一个增强文 件, 基本文件的 Fi leURI为 http :〃胃. example. com/SVCfi le/trackl、 增强文 件的 Fi leURI为 http:〃 www. example. com/SVCf i le/track2。 两个文件组成 groupl。 此时, FDT实例中基本文件、 增强文件和文件组的描述例如可为:
〃基本文件的描述信息 <Fi le
Content-Type=//video/3gpp-svc//
Content-Length=//7543//
Transfer-Length=//4294//
T0I="2"
FEC-0TI-Encoding-Symbol-Length=// 16//
FEC-OTI- Scheme- Specific- Info="AAEBBA=="
Content-Location=http: //www. example. com/SVCf i le/ trackl groupID=,, 1,, />
〃增强文件的描述信息
<Fi le
Content-Type=//video/3gg-svc//
Content-Length=// 161934//
Transfer-Length=// 157821//
TOI ="3"
FEC-0TI-Encoding-Symbol-Length=//512//
Content-Location=http: //www. example. com/SVCf i le/ track2 groupID=,, 1,, />
〃文件组的描述信息
<Fi legroup
groupType=" DDP"
groupID=,, 1,,〉
<HowDependent
DependencyType=" lay JJ >
<Dependency>http: //www. example, com/ SVCf i le/ track2</Dependen <DependencyOn>http: //www. example. com/SVCf i le/ trackl
</DependencyOn>
</HowDependent>
</Fi legroup> 其中, 文件组的描述中包含一组描述信息, 表示增强文件 http : //www. example. eom/SVCfi le/t:rack2 依 赖 于 基 本 文 件 http:〃 www. example. com/SVCfi le/trackl解码。 本方法在具体实施时, 基本文 件的描述信息中可以不包含文件组标识。 这样, 当接收端用户设备接收的满足 某种适配需求的目标文件为基本文件时, 接收端用户设备就不需要先根据文件 组标识获取文件组的描述, 再在文件组的描述中查找目标文件对应的解码依赖 性信息了, 可以直接确定目标文件不存在解码依赖文件, 从而可以简化处理, 节省资源。
( 3 ) 第 3种方法
本方法中, 将对完整的 SVC文件分割后得到的所有文件作为一个逻辑组合, 即一个文件组。 所有文件的描述信息中都包含取值相同的组标识 (groupID) 字 段。 在文件的描述信息中增加该文件的解码依赖性大小标识, 用于指示文件的 解码依赖性大小。 默认情况下, 文件依赖于同一个文件组中解码依赖性更小的 文件进行解码。 例如, 对于如下的解码依赖性信息: 基本文件, 对应 QVGA格式 分辨率, 不依赖于其它文件, 独立解码; 增强文件 1, 对应 HVGA格式分辨率, 依 赖于基本文件才能解码; 增强文件 2, 对应 VGA格式分辨率, 依赖于基本文件和 增强文件 1才能解码。 所述基本文件的解码依赖性大小标识 (dependencylD) 取 值可为 0, 增强文件 1的解码依赖性大小标识取值可为 1, 增强文件 2的解码依赖 性大小标识取值可为 2。
相应的 XML定义可为:
<complexType name = "Fi leType " >
<sequence>
< any namespace=〃ftftothe:r〃 processContents=〃skip〃 minOccurs=〃0〃 maxOccurs= unbounded />
</ sequence) <attribute name= " dependencylD" type=,, integer"
use=,, required" >
</ complexType)
本发明实施例中, 通过根据适配需求分割 SVC文件为多个文件, 在需要满足 某种适配需求的数据时, 用户设备可仅接收该适配需求对应的分割后的文件及 其解码所依赖的文件, 而无需接收整个 SVC文件或文件组, 从而避免了用户设备 端缓存空间的浪费, 并减少了文件接收的时间, 节省了电力。
相应地, 本实施例还提供一种文件接收方法, 该方法可由作为接收端的终 端来完成, 如图 9所示, 该方法包括如下流程:
步骤 401 : 获取目标文件的文件标识 FileURI。
所述目标文件的文件标识 FileURI通常由上层应用设备传给接收端, 如用户 通过 ESG (Electronic Service Guide, 电子业务指南) 应用设备选择了一个目 标文件, 由 ESG应用设备将目标文件的 FileURI传给接收端。
步骤 402: 获取目标文件所在的文件传输会话的描述。
所述文件传输会话的描述包括: 源 IP地址, 传输会话标识 (Transport Session Identifier, TSI , 该 TSI和源 IP地址一起唯一标识一个 FLUTE会话) , 目的 IP地址、 端口等。 通常从 SDP (Session Description Protocol , 会话描述 协议) 文件中可获取文件传输会话的描述。
终端首先获取 ESG, ESG中包含 SDP文件的获取地址, 或者直接内嵌了 SDP文 件。 终端选择了目标文件后, 可以获取并存储 SDP文件, 即在步骤 402前 SDP文件 已经预先存储在终端上了, 从而终端从 SDP文件中可获取文件传输会话的描述。
步骤 403: 加入文件传输会话。
根据步骤 402获取的文件传输会话的描述可加入文件传输会话, 属于现有技 术, 不再详述。
步骤 404: 获取 FDT实例。
由于默认 FDT实例的 T0I为 0, 即包头中 T0I=0的数据包用于承载 FDT实例。 因 此本步骤可包括:
步骤 404-1, 接收包头中 T0I=0的数据包, 并将这些数据包缓存在一起。 步骤 404-2, 判断是否接收到了足够的用于恢复完整的 FDT实例的数据包。 T0I=0的数据包的包头中还包括 FEC 0TI信息, 根据 FEC 0TI信息可以计算出 FDT实例被分成的源块的数量 Ν和每个源块中的编码符号的数量 η, 如果终端接收 到的源块的数 g =N且每个源块中的编码符号的数量 =η, 就认为接收到了足够恢 复 FDT实例的数据包。 如果接收到了足够恢复 FDT实例的数据包, 则转到步骤 404-3, 否则转到步骤 404-1。
步骤 404-3, 解析接收到的数据包, 恢复 FDT实例。
步骤 405: 接收目标文件及目标文件的解码依赖文件。 如图 10所示, 该步骤 具体包括:
步骤 405-1: 在 FDT实例中查找获得目标文件的描述信息。
步骤 405-2 : 判断目标文件是否依赖于其他文件进行解码。 根据在 FDT实例 中携带文件间解码依赖关系的方法不同, 判断目标文件是否依赖于其他文件解 码的方法也不同, 例如:
( 1 )如果采用步骤 320-2中第 1种方法携带文件间的解码依赖关系, 若目标 文件的描述信息中包含解码目标文件要依赖的文件的 FileURI , 则目标文件依赖 于其他文件进行解码。
(2 ) 如果采用步骤 320-2中第 2种方法携带文件间的解码依赖关系, 从 FDT 实例中查找获得文件组的描述, 若文件组的描述中包含解码目标文件要依赖的 一组文件的 FileURI , 则目标文件依赖于其他文件进行解码。
(3 )如果采用步骤 320-2中第 3种方法携带文件间的解码依赖关系, 若目标 文件的描述信息中的解码依赖性大小标识大于 0, 则目标文件依赖于其他文件进 行解码。
如果目标文件不依赖于其他文件进行解码, 则只需要接收目标文件, 该目 标文件为待接收的文件。 转到步骤 405-3。 步骤 405-3, 根据目标文件的描述信息接收目标文件, 对目标文件的接收可 同现有技术的接收步骤。 例如具体可包括;
( 1 ) 记录目标文件的 T0I , 目标文件的描述信息中包括目标文件的 T0I。
(2 ) 接收包头中的 T0I字段的取值与记录下来的 T0I相同的数据包, 并将 这些数据包缓存在一起。
(3 )判断是否接收到了足够的用于恢复目标文件的数据, 目标文件的描述 信息中包含 FEC 0TI信息, 根据 FEC 0TI信息可以计算出目标文件被分成的源块 的数量 Ν和每个源块中的编码符号的数量 η, 如果终端接收到的源块的数目 =N且 每个源块中的编码符号的数量 =η, 就认为接收到了足够恢复目标文件的数据包。 如果接收到了足够恢复目标文件的数据包,则转到步骤(4),否则转到步骤(2 )。
(4) 解析接收到的数据包, 恢复目标文件。
如果目标文件依赖于其他文件进行解码, 则需要接收目标文件和目标文件 的解码依赖文件。 即目标文件和目标文件的解码依赖文件为待接收文件。 转到 步骤 405-4。
步骤 405-4: 确定解码目标文件要依赖的文件, 即确定目标文件的解码依赖 文件。 待接收文件为目标文件和目标文件的解码依赖文件, 记录待接收文件的 ΤΟΙ ο 根据在 FDT实例中携带文件间解码依赖关系的方法不同, 确定目标文件的 解码依赖文件的方法也不同。
如果采用步骤 320-2中第 1种方法和第 2种方法, 从目标文件或文件组的描述 中就能获得目标文件的解码依赖文件的 FileURI , 根据 Fi leURI在 FDT实例中查找 获得目标文件的解码依赖文件的描述信息, 从中获得目标文件的解码依赖文件 的 T0I。
如果采用步骤 320-2中第 3种方法, 需要扫描 FDT实例, 所有文件的描述信息 中包含相同 groupID但解码依赖性大小标识小于目标文件的解码依赖性标识的 文件即为目标文件的解码依赖文件。
步骤 405-5:接收和缓存用于承载待接收文件的数据包,即接收包头中的 T0I 字段的取值与记录下来的 TOI相同的数据包。 待接收文件至少有两个, 将这些数 据包按 T0I分组缓存, 即将其中 T0I相同的数据包缓存在一起。
步骤 405-6: 对于每个待接收文件, 根据文件的描述信息中的 FEC 0TI信息 判断是否接收到了足够恢复该文件的数据包; 如果否, 转到步骤 405-5; 如果是, 转到步骤 405-7。
步骤 405-7: 解析接收到的数据包, 恢复文件。
步骤 405-8: 判断是否接收到所有待接收文件; 如果是, 流程结束; 如果否, 转到步骤 405-5。
文件接收完毕后, 接收端将文件传给上层应用设备, 比如播放器, 由应用 设备完成文件的解码和展示。
本发明实施例中, 终端接收的是目标文件及目标文件的解码依赖文件, 而 不是完整的 SVC文件, 避免了对用户终端缓存的浪费, 并减少了电力消耗。 实施例 3
本实施例另提供一种 SVC文件的传输方法, 本实施例与实施例 2的不同之处 在于本实施例通过一个独立的文件而不是在 FDT实例来携带文件间的解码依赖 关系, 从而可以进一步提高方案的灵活性。 将该文件称为解码依赖关系声明文 件, 文件的格式可以是 XML、 SVG等等。
本实施例中, 解码依赖关系声明文件的传输方式可以有多种, 例如:
( 1 )通过文件传输表实例传输各文件的描述信息及解码依赖关系声明文件 的地址。
例如, 将解码依赖关系声明文件与分割得到的文件放在同一个 FLUTE会话中 传输。 在 FDT实例中分割得到的文件的描述信息中增加依赖性描述 (DependencyDescription) 元素, 取值为该解码依赖关系声明文件的 FileURI。
这样, 接收端接收目标文件时, 会首先根据目标文件的描述信息中的 DependencyDescription元素, 获得解码依赖关系声明文件的 FileURI, 然后从 FDT实例中获得解码依赖关系声明文件的描述信息, 根据解码依赖关系声明文件 的描述信息从 FLUTE会话中接收解码依赖关系声明文件, 根据解码依赖关系声明 文件确定目标文件依赖哪些文件进行解码, 接收目标文件和目标文件的解码依 赖文件。
( 2 )通过电子业务指南的内容分片或接入分片传输解码依赖关系声明文件 的地址。
例如, 在 ESG的 content (内容) 分片或者 Access (接入) 分片中增加 DependencyDescription元素, 取值为该解码依赖关系声明文件的 Fi leURI。
接收端接收目标文件时, 会同样根据 ESG中用于描述目标文件的 content分 片或者 Access分片中的 DependencyDescription元素, 获得解码依赖关系声明文 件的 Fi leURI , 然后从 FDT实例中获得解码依赖关系声明文件的描述信息, 根据 描述从 FLUTE会话中接收解码依赖关系声明文件, 解析解码依赖关系声明文件, 确定目标文件依赖哪些文件进行解码, 接收目标文件和目标文件的解码依赖文 件。
作为本发明实施例 1的另一替代方案, 还可以在 ESG中而不是在 FDT实例中携 带文件间的解码依赖关系。 例如, 可以在 ESG中用于描述目标文件的 content分 片或者 Access分片中增加解码该目标文件要依赖的一组文件的文件标识。 从而 还可以从 ESG的 content分片或者 Access分片获取目标文件解码依赖性关系, 进 而确定目标文件的解码依赖文件。 实施例 4
本实施例另提供一种 SVC文件的传输方法, 本实施例与前面实施例的不同之 处在于本实施例通过 T0I来携带文件间的解码依赖关系。
现有技术中通过 T0I标识一个传输对象, 一个传输对象用于承载一个文件, 本实施例中将 T0I分割为两部分。 第一部分仍然用于标识传输对象, 第二部分由 文件组标识和解码依赖性大小标识组成, 用于描述各文件之间的解码依赖关系。 可以在 FDT实例中设置 FileGroupIDLength、 D印 endencylDLength分别说明 文件组标识、 解码依赖性大小标识的长度。 一个具体的实施例如下:
基本文件, 对应 QVGA格式分辨率, 不依赖于其它文件, 独立解码; 增强文 件 1, 对应 HVGA格式分辨率, 依赖于基本文件才能解码; 增强文件 2, 对应 VGA格 式分辨率, 依赖于基本文件和增强文件 1才能解码。
基本文件、 增强文件 1、 增强文件 2组成一个文件组, 文件组的标识为 1。 基本文件的解码依赖性大小标识为 0, 增强文件 1的解码依赖性大小标识为 1, 增强文件 2的解码依赖性大小标识为 2。
在 FDT实例中设置 Fi leGroupIDLength为 12, 即用 12bi t表示文件组标识; D印 endencylDLength为 4, 即用 4bit表示解码依赖性大小标识。 则基本文件、 增 强文件 1、增强文件 2的 T0I的 16进制表示分别为: 00010010、 00020011、 00030012。 其中前 4位数用于标识传输对象, 分别为 1、 2、 3; 中间三位数代表文件组标识, 均为 1 ; 最后一位数代表解码依赖性大小标识, 分别为 0、 1、 2。 实施例 5
本实施例提供一种 SVC文件的传输装置, 如图 11所示, 该装置包括: 分割单元 510, 用于将所述可伸缩视频编码 SVC文件分割为一个基本文件和 至少一个增强文件; 其中, 所述基本文件至少包括基本层媒体数据, 所述增强 文件包括部分或全部增强层媒体数据。 在本发明一具体实施例中, 所述分割单 元可根据适配需求将所述可伸缩视频编码 SVC文件分割为一个基本文件和至少 一个增强文件。
传输单元 520, 用于将分割得到的每一个文件各自通过不同的传输对象进行 传输, 并传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解 码依赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的一个 或多个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文 件。 作为本发明另一实施例, 所述传输单元 520还用于通过文件传输表 FDT实例 传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码依赖性 信息。
作为本发明另一实施例, 所述传输单元 520还通过文件传输表实例传输所述 一个基本文件和至少一个增强文件的描述信息, 通过传输对象标识的设定位传 输各文件的解码依赖性信息。
作为本发明另一实施例, 如图 12所示, 所述传输单元 520包括:
第一传输单元 521, 用于通过解码依赖关系声明文件传输各文件的解码依赖 性信息;
第二传输单元 522, 用于通过文件传输表实例传输各文件的描述信息及所述 解码依赖关系声明文件的地址。
作为本发明另一实施例, 如图 13所示, 所述传输单元 520还包括:
第三传输单元 523, 用于通过文件传输表实例传输各文件的描述信息; 第四传输单元 524, 用于通过电子业务指南传输解码依赖关系声明文件的地 址。 本发明另一实施例中, 所述第四传输单元 524通过电子业务指南的内容分片 或接入分片传输解码依赖关系声明文件的地址。
第五传输单元 525, 用于通过所述解码依赖关系声明文件传输各文件的解码 依赖性信息。
作为本发明另一实施例, 如图 14所示, 所述传输单元 520包括:
第三传输单元, 用于通过文件传输表实例传输各文件的描述信息; 第六传输单元, 通过电子业务指南传输各文件的解码依赖文件的文件标识。 本发明另一实施例中, 所述第六传输单元通过电子业务指南的内容分片或接入 分片传输各文件的解码依赖文件的文件标识。
相应地, 本发明实施例还提供一种文件接收装置 600, 如图 15所示, 包括: 获取单元 610, 用于获取目标文件的解码依赖性信息, 所述目标文件为基本 文件或增强文件, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括 部分或全部增强层媒体数据;
确定单元 620, 用于根据所述解码依赖性信息确定待接收的文件, 所述待接 收的文件为一个基本文件, 或一个基本文件以及至少一个增强文件;
第一接收单元 630, 用于接收所述待接收的文件的描述信息;
第二接收单元 640, 用于根据所述待接收的文件的描述信息接收所述待接收 的文件。
作为本发明另一实施例, 所述确定单元 620在根据所述解码依赖性信息确定 所述目标文件存在解码依赖文件时, 确定所述目标文件和解码依赖文件为待接 收的文件, 在根据所述解码依赖性信息确定所述目标文件不存在解码依赖文件 时, 确定所述目标文件为待接收的文件。
作为本发明另一实施例, 所述文件接收装置 600还包括:
第三接收单元 650, 用于接收解码依赖关系声明文件地址信息;
所述获取单元 610还用于根据所述解码依赖关系声明文件地址信息接收所 述解码依赖关系声明文件, 获取所述目标文件的解码依赖性信息。
本发明实施例中, 终端接收的是对完整的 SVC文件分割后得到的多个文件 (一个基本文件和至少一个增强文件) 中的一个或多个文件, 避免了对用户终 端缓存的浪费, 并减少了接收时间, 节省了电力消耗。 本发明实施例还提供一 种视频编码文件, 该视频编码文件为将可伸缩视频编码 SVC文件分割为一个基本 文件和至少一个增强文件后的基本文件或增强文件; 其中, 所述基本文件至少 包括基本层媒体数据, 所述增强文件包括部分或全部增强层媒体数据, 所述增 强文件至少依赖于所述基本文件进行解码。
在本发明一具体应用中, 所述基本文件还包括元数据, 所述元数据中包括 对基本文件和增强文件各自媒体数据的描述。
在本发明另一具体应用中, 所述基本文件还包括元数据, 该元数据中包括 对基本文件对应的媒体数据的描述; 所述增强文件还包括元数据, 该元数据中 包括对增强文件对应的媒体数据的描述。 所述增强文件中还包括指向所依赖的 文件的指针。
接收端用户设备可以通过仅接收上述视频编码文件中尽量少的文件来解码 得到需要的视频, 避免了对用户终端缓存的浪费, 并减少了接收时间, 节省了 电力消耗。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程, 是可以通过计算机程序来指令相关的硬件来完成, 所述的程序可存储于一计算 机可读取存储介质中, 该程序在执行时, 可包括如上述各方法的实施例的流程。 其中, 所述的存储介质可为磁碟、 光盘、 只读存储记忆体 (Read-Only Memory, ROM) 或随机存储记忆体 (Random Access Memory, RAM) 等。
以上所述的具体实施例, 对本发明的目的、 技术方案和有益效果进行了进 一步详细说明, 所应理解的是, 以上所述仅为本发明的具体实施例而已, 并不 用于限定本发明的保护范围, 凡在本发明的精神和原则之内, 所做的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。

Claims (19)

  1. 权 利 要 求 书
    1、 一种可伸缩视频编码文件的传输方法, 其特征在于, 包括:
    将所述可伸缩视频编码 SVC文件分割为一个基本文件和至少一个增强文件; 其中, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部分或全部 增强层媒体数据;
    将分割得到的每一个文件各自通过不同的传输对象进行传输;
    传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码依 赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的一个或多 个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文件。
  2. 2、 根据权利要求 1所述的方法, 其特征在于:
    所述基本文件还包括元数据, 该元数据中包括对基本文件对应的媒体数据 的描述;
    所述增强文件还包括元数据, 该元数据中包括对增强文件对应的媒体数据 的描述, 或对增强文件对应的媒体数据的描述以及指向所依赖的文件的指针。
  3. 3、 根据权利要求 1所述的方法, 其特征在于, 所述各文件的解码依赖性信 息包括:
    各文件标识及所述各文件的解码依赖文件的文件标识; 或者
    各文件的文件标识、 所述各文件的解码依赖文件的文件标识以及各文件所 属的同一个文件组的标识; 或者
    各文件的文件标识、 所述各文件的解码依赖文件的文件标识、 各文件所属 的同一个文件组的标识和文件组类型标识, 该文件组类型标识用于指示该文件 组内的文件之间是否存在解码依赖关系。
  4. 4、 根据权利要求 3所述的方法, 其特征在于, 所述各文件的解码依赖性信 息还包括: 解码依赖类型标识, 该解码依赖类型标识用于指示产生解码依赖性 的原因。 5、 根据权利要求 1所述的方法, 其特征在于, 所述各文件的解码依赖性信 息包括: 各文件所属的同一个文件组的标识及各文件的解码依赖性大小标识。
  5. 6、 根据权利要求 1〜5中任意一项所述的方法, 其特征在于, 传输各文件的 解码依赖性信息包括:
    通过文件传输表 FDT实例传输各文件的解码依赖性信息; 或者
    通过传输对象标识的设定位传输各文件的解码依赖性信息; 或者
    通过文件传输表实例传输解码依赖关系声明文件的地址, 并通过所述解码 依赖关系声明文件传输各文件的解码依赖性信息。
  6. 7、 根据权利要求 1所述的方法, 其特征在于, 传输各文件的解码依赖性信 息包括:
    通过电子业务指南传输解码依赖关系声明文件的地址, 并通过所述解码依 赖关系声明文件传输各文件的解码依赖性信息; 或者
    通过电子业务指南传输各文件解码要依赖的文件标识。
  7. 8、 一种文件接收方法, 其特征在于, 包括:
    获取目标文件的解码依赖性信息, 所述目标文件为基本文件或增强文件, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部分或全部增强层 媒体数据;
    根据所述解码依赖性信息确定待接收的文件, 所述待接收的文件为一个基 本文件, 或一个基本文件以及至少一个增强文件;
    接收所述待接收的文件的描述信息;
    根据所述待接收的文件的描述信息接收所述待接收的文件。
  8. 9、 根据权利要求 8所述的方法, 其特征在于, 所述根据所述解码依赖性信 息确定要接收的一个或多个文件包括:
    如果根据所述解码依赖性信息确定所述目标文件存在解码依赖文件, 确定 所述目标文件和解码依赖文件为待接收的文件;
    如果根据所述解码依赖性信息确定所述目标文件不存在解码依赖文件, 确 定所述目标文件为待接收的文件。
  9. 10、 根据权利要求 8所述的方法, 其特征在于: 获取目标文件的解码依赖性 信息具体为:
    通过文件传输表或电子业务指南获取所述解码依赖性信息。
  10. 11、 根据权利要求 8所述的方法, 其特征在于, 还包括: 接收解码依赖关系 声明文件地址信息;
    所述获取目标文件的解码依赖性信息包括: 根据所述解码依赖关系声明文 件地址信息接收所述解码依赖关系声明文件, 获取所述目标文件的解码依赖性 信息。
  11. 12、 根据权利要求 11所述的方法, 其特征在于:
    所述解码依赖关系声明文件地址设置于文件传输表或电子业务指南中。
  12. 13、 一种可伸缩视频编码文件的传输装置, 其特征在于, 包括:
    分割单元, 用于将所述可伸缩视频编码 SVC文件分割为一个基本文件和至少 一个增强文件; 其中, 所述基本文件至少包括基本层媒体数据, 所述增强文件 包括部分或全部增强层媒体数据;
    传输单元, 用于将分割得到的每一个文件各自通过不同的传输对象进行传 输, 并传输所述一个基本文件和至少一个增强文件的描述信息及各文件的解码 依赖性信息, 以使得终端根据所接收到的解码依赖性信息确定要接收的一个或 多个文件以及根据所述一个或多个文件的描述信息接收所述一个或多个文件。
  13. 14、 根据权利要求 13所述的装置, 其特征在于:
    所述传输单元还用于通过文件传输表 FDT实例传输所述一个基本文件和至 少一个增强文件的描述信息及各文件的解码依赖性信息; 或者所述传输单元还 用于通过文件传输表实例传输所述一个基本文件和至少一个增强文件的描述信 息, 通过传输对象标识的设定位传输各文件的解码依赖性信息。
  14. 15、 根据权利要求 13所述的装置, 其特征在于, 所述传输单元包括: 第一传输单元, 用于通过解码依赖关系声明文件传输各文件的解码依赖性 信息;
    第二传输单元, 用于通过文件传输表实例传输各文件的描述信息及所述解 码依赖关系声明文件的地址。
  15. 16、 根据权利要求 13所述的装置, 其特征在于, 所述传输单元包括: 第三传输单元, 用于通过文件传输表实例传输各文件的描述信息; 第四传输单元, 用于通过电子业务指南传输解码依赖关系声明文件的地址; 第五传输单元, 用于通过所述解码依赖关系声明文件传输各文件的解码依 赖性信息。
  16. 17、 根据权利要求 13所述的装置, 其特征在于, 所述传输单元包括: 第三传输单元, 用于通过文件传输表实例传输各文件的描述信息; 第六传输单元, 通过电子业务指南传输各文件要依赖的文件标识。
  17. 18、 一种文件接收装置, 其特征在于, 包括:
    获取单元, 用于获取目标文件的解码依赖性信息, 所述目标文件为基本文 件或增强文件, 所述基本文件至少包括基本层媒体数据, 所述增强文件包括部 分或全部增强层媒体数据;
    确定单元, 用于根据所述解码依赖性信息确定待接收的文件, 所述待接收 的文件为一个基本文件, 或一个基本文件以及至少一个增强文件;
    第一接收单元, 用于接收所述待接收的文件的描述信息;
    第二接收单元, 用于根据所述待接收的文件的描述信息接收所述待接收的 文件。
  18. 19、 根据权利要求 18所述的文件接收装置, 其特征在于:
    所述确定单元在根据所述解码依赖关系确定所述目标文件存在解码依赖文 件时, 确定所述目标文件和解码依赖文件为待接收的文件, 在根据所述解码依 赖关系确定所述目标文件不存在解码依赖文件时, 确定所述目标文件为待接收 的文件。
  19. 20、 根据权利要求 18所述的文件接收装置, 其特征在于, 还包括:
CN2009801487267A 2009-07-06 2009-07-06 一种可伸缩视频编码文件的传输方法、接收方法及装置 Expired - Fee Related CN102165776B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2009/072650 WO2011003231A1 (zh) 2009-07-06 2009-07-06 一种可伸缩视频编码文件的传输方法、接收方法及装置

Publications (2)

Publication Number Publication Date
CN102165776A true CN102165776A (zh) 2011-08-24
CN102165776B CN102165776B (zh) 2012-11-21

Family

ID=43428730

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009801487267A Expired - Fee Related CN102165776B (zh) 2009-07-06 2009-07-06 一种可伸缩视频编码文件的传输方法、接收方法及装置

Country Status (3)

Country Link
EP (1) EP2453652B1 (zh)
CN (1) CN102165776B (zh)
WO (1) WO2011003231A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107094141A (zh) * 2017-04-28 2017-08-25 山东交通学院 一种p2p流媒体系统中的svc视频文件分片及调度方法
CN108419076A (zh) * 2012-09-29 2018-08-17 华为技术有限公司 视频编码及解码方法、装置及系统
US11316767B2 (en) 2020-03-02 2022-04-26 Nokia Technologies Oy Communication of partial or whole datasets based on criterion satisfaction

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8953478B2 (en) * 2012-01-27 2015-02-10 Intel Corporation Evolved node B and method for coherent coordinated multipoint transmission with per CSI-RS feedback
GB2538997A (en) 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
GB2538998A (en) * 2015-06-03 2016-12-07 Nokia Technologies Oy A method, an apparatus, a computer program for video coding
CN114845134B (zh) * 2020-10-16 2023-01-24 腾讯科技(深圳)有限公司 文件封装方法、文件传输方法、文件解码方法及相关设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7756206B2 (en) * 2005-04-13 2010-07-13 Nokia Corporation FGS identification in scalable video coding
CA2604203A1 (en) * 2005-04-13 2006-10-19 Nokia Corporation Coding, storage and signalling of scalability information
US9049449B2 (en) * 2005-04-13 2015-06-02 Nokia Corporation Coding of frame number in scalable video coding
US7725593B2 (en) * 2005-07-15 2010-05-25 Sony Corporation Scalable video coding (SVC) file format
AU2006300881B2 (en) * 2005-10-11 2011-03-17 Nokia Technologies Oy System and method for efficient scalable stream adaptation
EP1806930A1 (en) * 2006-01-10 2007-07-11 Thomson Licensing Method and apparatus for constructing reference picture lists for scalable video
WO2007080223A1 (en) * 2006-01-10 2007-07-19 Nokia Corporation Buffering of decoded reference pictures
TWI432035B (zh) * 2006-01-11 2014-03-21 Nokia Corp 可縮放視訊編碼之圖像反向相容聚合技術

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108419076A (zh) * 2012-09-29 2018-08-17 华为技术有限公司 视频编码及解码方法、装置及系统
CN108429917A (zh) * 2012-09-29 2018-08-21 华为技术有限公司 视频编码及解码方法、装置及系统
US11089319B2 (en) 2012-09-29 2021-08-10 Huawei Technologies Co., Ltd. Video encoding and decoding method, apparatus and system
CN108429917B (zh) * 2012-09-29 2022-04-29 华为技术有限公司 视频编码及解码方法、装置及系统
CN108419076B (zh) * 2012-09-29 2022-04-29 华为技术有限公司 视频编码及解码方法、装置及系统
US11533501B2 (en) 2012-09-29 2022-12-20 Huawei Technologies Co., Ltd. Video encoding and decoding method, apparatus and system
CN107094141A (zh) * 2017-04-28 2017-08-25 山东交通学院 一种p2p流媒体系统中的svc视频文件分片及调度方法
CN107094141B (zh) * 2017-04-28 2020-06-02 山东交通学院 一种p2p流媒体系统中的svc视频文件分片及调度方法
US11316767B2 (en) 2020-03-02 2022-04-26 Nokia Technologies Oy Communication of partial or whole datasets based on criterion satisfaction

Also Published As

Publication number Publication date
EP2453652A4 (en) 2012-06-06
EP2453652B1 (en) 2019-09-04
CN102165776B (zh) 2012-11-21
EP2453652A1 (en) 2012-05-16
WO2011003231A1 (zh) 2011-01-13

Similar Documents

Publication Publication Date Title
US11665384B2 (en) Method and apparatus for transmitting media data in multimedia transport system
RU2689140C1 (ru) Способ, устройство и компьютерная программа для инкапсуляции сегментированных синхронизированных мультимедийных данных
TWI714602B (zh) 超級本文傳輸協定(http)上動態自適應串流(dash)客戶經驗品質度量之中間軟體傳遞
CN1764974B (zh) 存储多媒体数据的存储介质和再现多媒体数据的方法和设备
RU2622621C2 (ru) Система и способ для потоковой передачи воспроизводимого контента
US20060092938A1 (en) System for broadcasting multimedia content
CN105024852B (zh) 针对移动广播/多播流式服务器的使用而扩展富媒体容器格式的方法和装置
US20070186005A1 (en) Method to embedding SVG content into ISO base media file format for progressive downloading and streaming of rich media content
US6580756B1 (en) Data transmission method, data transmission system, data receiving method, and data receiving apparatus
US20120246335A1 (en) Method, terminal, and server for implementing fast playout
CN102165776A (zh) 一种可伸缩视频编码文件的传输方法、接收方法及装置
EP3441932A1 (en) Apparatus and method for providing streaming contents
EP2894831A1 (en) Transport mechanisms for dynamic rich media scenes
EP3257216B1 (en) Method of handling packet losses in transmissions based on dash standard and flute protocol
WO2008061416A1 (fr) Procédé et système permettant d&#39;accepter des données media de divers formats de codage
CN103650431B (zh) 视频数据传输方法及装置
CN101924742B (zh) 媒体传输方法及设备、媒体存储方法及设备
CN101237340A (zh) 用于实现多媒体业务中组播频道的系统及方法
CN102498722A (zh) 利用选择mpeg-2 传输流多路复用的多媒体流的基础分组进行该流的分发
KR20180137477A (ko) 멀티미디어 시스템 정보 교환 메카니즘 및 네트워크 전송 방법
CN101984619A (zh) 一种流媒体业务的实现方法及系统
CN103313093B (zh) 进行分布式视频点播的方法及索引系统
CN103959796A (zh) 数字视频码流的解码方法拼接方法和装置
Setlur et al. More: a mobile open rich media environment
EP4068781A1 (en) File format with identified media data box mapping with track fragment box

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121