特征描述参数
,并将其放到 Flash 动画的特征索引库中,采用一定匹配算法返回符合用户请求
的检索结果
,提高 Flash 动画检索的效率和准确率。
三
Flash 动画的图像信息提取
SWF 文件支持多种图像格式,比如 bmp、jpg、gif、png 等,为了减小动画文件大小,SWF 嵌
入的图像都经过压缩
,包括 JPEG 提供的有损压缩和 ZLIB 提供的无损压缩两种压缩图像 。
JPEG 采用的数据格式由 ITU T.81 或 ISO/IEC 10918-1[6]文件描述,ZLIB 库采用的数据格式
由
1950-1952 RFCs[7]文件描述。对于精确度不高的图像采用 JPEG 压缩格式,如照片;对于精
确图像采用
ZLIB 压缩算法,如图表、图示、屏幕截图等,SWF 动画中的两种压缩图像都可以选
择包含
alpha 通道信息。SWF 动画中的 JPEG 图像采用 JPEG Interchange 格式(即 JFIF),Flash
Player 能够友好地解析常用的 JFIF 格式。
JPEG 格式是一个由独立联合图像专家组(Joint Photographic Experts Group)开发的开放
标准
,被广泛应用于多媒体和网络中,是 HTML 语言支持的标准图像格式之一。JPEG 编码采
用
YCbCr 颜色系统,Y 是亮度信息,CbCr 是色调信息,编码时对 Y 进行细量化,对 CbCr 进行粗
量化
,以提高压缩比。JPEG 格式可分为基于离散余弦变换(DCT)的有失真压缩和使用预测器
的无失真压缩
,按编码顺序又分为顺序式编码(sequential encoding)和递增式编码(progressive
encoding),顺序式编码按从左到右、从上到下编码,递增式编码按从模糊到清晰的方式分次处
理。基于
DCT 变换的有失真压缩的编码模式,分为仅能接受每像素点以 8 位标识的基本图像
处理模式
(Baseline Process)和接受每像素点 8 位或 12 位表示的扩展图像处理模式(Extended
Process),我们依据基于 DCT 变换的顺序式基本图像处理模式(Baseline Process)分析 Flash 动
画的
JPEG 压缩图像,其编码过程如图 3[8]。
在
SWF
动
画
中
, 图 像 的 定 义 与 存 储 分
别
由
DefineBits、JPEGTables、DefineBitsJPEG2、DefineBitsJPEG3、DefineBitsLossless、DefineBitsLos
sless2 六个标签完成,具体内容及功能如表 2。
JPEG 压缩图像的内容结构包括一个开始标识 SOI、一个帧 Frame(Baseline Process 只有
一帧
)、一个结束标识 EOI,Frame 中包含编码表和压缩数据。DefineBits 标签中只包含 JPEG 图
像的压缩数据
,即 Frame Header(帧头)后面的内容,JPEGTables 标签中包含了用来编码图像所
使用的编码表和量化表等
,即 Tables/Misc 的内容,因此必须综合 DefineBits 和 JPEGTabels 的
数据内容才能提取
SWF 动画中的某些图像。一个 SWF 动画只能有一个 JPEGTables 标签,所
有
DefineBits 标签定义的图像都必须共享相同的编码表和量化表。DefineBitsJPEG2 标签不同
于
DefineBits,它既包含 JPEG 编码表,也包含 JPEG 图像压缩数据,支持采用不同编码表的多
类
JPEG 图像。DefineBitsJPEG3 标签是 DefineBitsJPEG2 的扩展,增加了 alpha 通道数据,alpha
通道信息
(即透明度)不是 JPEG 图象的标准特征,与 JPEG 图像的数据分开存储,alpha 通道采
用
ZLIB 标准压缩存储。
SWF 动 画 中 的 无 损 压 缩 图 像 由 DefineBitsLossless 和 DefineBitsLossless2 定 义 。
DefineBitsLossless 定义了采用 ZLIB 压缩的 RGB 位图数据,支持 8 位 colormapped 图像和 15
位或
24 位 direct 图像,colormapped 图像定义了一个包含 256 种颜色的调色板,每一种颜色由
一个
24 位 RGB 值表示,图像的每一个像素采用 8 位索引值来关联调色板;direct 图像采用 15
位或
24 位存储实际的像素颜色值。DefineBtisLossless2 是 DefineBitsLossless 的扩展,增加了
alpha 通道信息,支持 8 位 colormapped 图像和 32 位 direct 图像,colormapped 图像的调色板颜
色采用
RGBA 值定义,direct 图像每个像素采用 32 位 ARGB 颜色值描述。
综上所述
,通过分析 Flash 动画的图像定义标签(见表 2),提取不同压缩格式的图像的内容
数据
,依据不同的编码格式,将提取的图像数据信息写成特定格式的图像,就完成了 Flash 动画
中
的
图
像
对
象
的
提
取
。
需
要
注
意
的