搜索
中国摄像网 中国摄像网 电影技术 查看内容

数字电影中的MXF文件解析

2010-10-30 10:44| 发布者: 浪涛| 查看: 5536| 评论: 0|原作者: 视觉印象

作者:上海文广科技(集团)有限公司研发中心  沈涛  顾沛峰  徐加军
摘要:随着数字电影的飞速发展,数字电影发行包所采用的MXF 打包格式正在被越来越多的人所熟知。本文介绍了MXF文件的基础知识和组织结构,并结合作者的实践经验介绍了MXF文件的一般分析方法,以供数字电影相关从业人员参考和研究。
关键词:数字电影  klv  mxf  元数据


引言
    随着科学技术的发展,电影的数字化进程正在加速。与传统电影相比,数字电影最大的区别是不再以胶片拷贝形式发行,而换之以数字文件形式,通过网络、卫星直接传送到影院、家庭等终端用户。
    根据美国《DCI数字影院规范》的规定,数字电影包(DCP)采用MXF打包格式。
    MXF(Material eXchange Format素材交换格式)是SMPTE(美国电影与电视工程师学会)组织定义的一种专业音视频媒体文件格式。相比其他格式,具有更好的扩展性、兼容性和互操作性,主要应用于影视行业媒体制作、编辑、发行和存储等环节。
    本文先介绍了MXF格式的一些预备知识,然后详细研究了MXF文件的组织形式,重点研究元数据和加密数据的解析,最后简单阐述MXF文件如何制作成DCP包。
    1、MXF格式基础协议
    要想理解MXF文件的格式,必须先了解相关的基础知识,下面介绍几个常用的概念。
    1.1  UL(通用标签)
    UL(Universal Label)是ISO/ITU管理的一个可变长度的标签,对于SMPTE 组织来说,只能使用16字节固定长度的标签,并且前4个字节为0x06 0x0E 0x2B 0x34。通用标签用来标识特定的对象实体。
    1.2  UMID(唯一素材标识符)
    UMID(Unique Material Identifier),MXF 用它来为视音频素材提供一个全球唯一的识别码。UMID可以被简单地当作一个单独的32字节的数据。为了提供全球的唯一性,这个字节串是由12字节的通用标签(UL)、1个字节的长度标识、3个字节的瞬时号码和16个字节的素材码组成。
    1.3KLV结构
    KLV代表键值(key),长度(length)和取值(value),它起源于最初的程式化概念。KLV做为一种连续的、关联的包含分段信息的数据包已被使用多年,它提供了一种分割用户数据和确认用户数据类型 (key)的方式。MXF文件是不同类型的连续的KLV序列的组合。
    KLV的结构非常灵活,它除了简单的keylength-value的结构外,还支持KLV 组的数据封装形式,包括各种集(Sets)和包(Packs),这样,可以在表示某些相关数据的时候尽量减少信息的重复。在MXF文件中,用的比较多的是本地集(LocalSets)这种KLV组,如图1所示。
    在这种KLV结构中,可以用2字节的本地标签(LocalTag)来代替16字节的ULKey形成新的KLV结构,这些相关的新KLV结构的集合组成了最外层KLV 的value 部分。当然,这样的话开发者还需要另外提供一张LocalTag到UL Key的映射表。
    1.4强引用和弱引用
    “强引用 (StrongReference)”是指对于任何元数据组用UUID使相同变量的元数据以同一ID顺序相连。MXF使用有序排列规划,它希望各数据立即相互连接并排序,并且这种连接是一一对应的,MXF头部元数据使用强引用将各个相关的KLV Set相连接。
    “弱引用(WeakReference)”是使用UUID连接相对独立的数组,这种连接往往是多对一的关系。在MXF文件中,它可以视为文件中或者文件外的一个“全局定义”。

1234下一页

最新评论