摄影笔记下载地址:
照片的元数据(3)XMP
XMP(Extensible Metadata Platform)是Adobe公司提出的关于元数据的创建,处理和交换的一套标准。在制作和管理文档或图像时,如果在相关文件中包含有元数据(如标题,摘要,作者,版权等信息)则可通过元数据来归纳,分类,搜索等,也能获得各种参考资料,使处理过程变得很方便。但是也发现,如果在整个制作管理过程中要用到不同的应用软件,这些软件可能有自己的元素数据格式,于是在软件衔接部分就会带来很多麻烦。XMP最初的意图是使所有的Adobe软件都有统一的元数据标准,只要在制作过程中都使用Adobe软件就可以使整个流程畅通无阻,非常方便。随着很多公司支持和采纳,XMP已得到广泛使用,在2012年XMP成为国际标准ISO16684-1。
在XMP中元数据采用RDF形式来表达,整个XMP文档用XML语言编写,所以在讲述XMP前有必要先简单介绍一下XML和RDF。
一、XML与RDF
1)XML(Extensive Markuplanguage)是一种使用很广泛的标记语言,也是XMP的编写语言。这里只是为了便于讲述XMP,简单介绍一下它的语法。
·XML语法
date="08/08/2008"
>
·元素是由<xxx>和</xxx>一对括号构成。
·元素中可含有文本或子元素(即元素可嵌套)。
·元素还可以有属性,属性放在元素的标签中。
上例中为根元素。<to>,,
为note 的子元素。John等是元素的文本。date 是元素note的属性,其属性值是08/08/2008。 由此可见XMP文档是由元素构成的元素树。XML命名空间
在下面的例子中定义了两个资源前缀:h 和 f
xmlns:h="http://www.w3.org/TR/html4/"
h:table ,h:name与f:table, f:name
xmlns:h="http://www.w3.org/TR/html4/"
>
Apples
xmlns:f="http://www.w3school.com.cn/furniture"
>
African Coffee Table
2)RDF(Resource DescriptionFramework)原本是用于如何描述互联网资源,是互联网资源的一种表述模型。由资源,属性和属性值构成的三元框架结构。
例如:网页http://www.w3school.com.cn/rdf(资源)的作者(属性)是John(属性值)。相当于陈述语句中的主语(资源),谓语(属性)和宾语(属性值)。用XML书写就如下:
David
http://www.w3school.com.cn
· RDF是根元素,说明下面是RDF 文档。
· Description 元素是对资源的描述,通过about 属性指出资源是
· author 与 homepage 都是该资源的属性元素,分别表示该网页的
· David 和http://www.w3school.com.cn分别是上述属性的属性值。
这是一个简单的例子,也没有用到XML命名空间,只是介绍一下RDF是如何描述资源的。由于这种模型只定义了一个框架,具体内容由资源的性质来定,因此这样的描述模型,可以应用在多种独立的场合,XMP就借用它来表述文档或图像中的元数据,
三、用XMP表述元数据
XMP是用RDF形式来表述某个文档或图像的元数据,该文档或图像文件相当于RDF的资源,XMP元数据及其数值相当于RDF的属性及属性值。
XMP元数据的数据类型沿用RDF的类型,有单一数据,结构和矩阵三种。矩阵和结构都是有多个数据,不同的是结构的数据可以是不同类型,而矩阵中的数据是同一类型。矩阵又分为三种:
1)Bag
2)Seq
3)Alt
下面是从 XMP 文档中取出的一个Bag 矩阵的例子。creator是文档创建者,可以有多个作者,排名顺序任意,所以是一个Bag矩阵。creator 属性是在 Dublin core命名空间中定义,前缀为dc。
其它属性都是在RDF中定义的,前缀为rdf。
创建元数据的途径很多,就以照片图像而言就有Exif,IPTC等,许多应程序(如photoshop,ACDsee,cameraraw等)在处理图像后也会生成它们自己的元数据。种类繁多,还会引起名称冲突,因此需要进行归类,建立命名空间,。使各种途径创建的元数据都有各自的命名空间(即名称前缀)。这种方法也称为创建Schema,一个Schema 也是就对应一个命名空间。
XMP元数据可以归纳如下:
·XMP元数据描述的资源一般都是文档或图像,也可以是多种媒体,
但不在本文讨论之列。
·XMP元数据按命名空间(Schema)归类,每个SChema 中定义多个
属性(元数据)
·每个属性(元数据)有名称,数据类型。属性的值就是用于描述资
各部分的关系如下图所示。
下面是从一个XMP文档中摘取的某些片段。
由于XMP用XML编写,XML是很通用的语言,在同一文档中可能还会有与XMP无关的内容,因此属于XMP的内容就用与括号括起来,所以在文档开头就是xmpmeta元素,该元素有一个xmptk的属性,说明本XMP是用什么工具生成的。
下面就是RDF根元素,紧接着Description元素,由于XMP一般都嵌入在相关的文档或图像文件中,没有必要再指明资源的URI,所以它的about属性是空的。在Description元素中列出了一些命名空间(Schema),表示下面用到的属性(元数据)都在这几个命名空间内,其中XMP是XMP的基本空间,它定义了一些XMP必须具备的属性。Iptc4xmpCore 和Iptc4xmpExt都是IPTC的命名空间,分别表示IptcCore和IptcExt。除此之外,一般还会有如媒体管理(XmpMM),Dublincore(dc)等,为了简化,这些都没有列出来。下面就是各命名空间中用到的元数据,可以看到照片中原有的元数据Exif都合并到XMP中来了。元数据原本有很多,为节省篇幅,这里只选了一部分。
三、XMP的嵌入与生成
XMP可用于视频,音频,动画,文档,图像等多种媒体,但这里只谈及XMP如何用于图像文件。XMP一般都是镶嵌在与其相关的文件中,成为一个整体。如果相关文件不允许被修改,则也可以保存为独立的XMP文件。例如照片的原始RAW文件一般不允许更改,当使用Camera raw 对其处理后,並不改変原来的RAW文件,而将其元数据和处理的参数都记录在XMP文件中,Cameraraw处理的数据记录在crs的命名空间中。
常用的图像文件如JPG,TIF,DNS,PSD,GIF,PNS等都支XMP,也就是可以在这些文件中嵌入XMP,使得在图像交流,格式转换时元数据不会丢失,带来很大方便。由于这些图像的格式不同,嵌入XMP的方法也各不相同,这里只对JPG文件作一简单介绍。
XMP用XML语言编写不做任何加工处理,实际上就是一个大量字符的序列。在前面加包装元素,封装为XMP包,再将其嵌入到相应的文件中。XMP的包装元素是xpacket,为以下形式。
联系客服