background image

特征描述参数

,并将其放到 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 动画