王岳平
(枣庄学院光电工程学院,山东 枣庄 277160)
在我们观看一部Flash电影时,吸引我们的不仅仅是绚丽的视觉场景,而且还包括复杂的听觉特征。声音可以增强影片视觉画面的存在感、扩展视觉空间,在Flash电影中声音主要表现在两个方面:背景音乐和声音效果。本文首先定义了Flash电影中的声音特征属性,然后分析了声音的存储结构和压缩算法,最后介绍了如何在Flash电影中提取声音特征。
在Flash电影中,音频分为两种:事件音频、流式音频。
在Flash电影播放过程中,事件音频的播放一般都会有特定的事件相伴随,比如点击鼠标、键盘,或播放过程到达某一个特殊点,都会伴随着特定的音频播放。在使用事件音频之前,必须对其进行定义,定义以后就可以多次使用。在Flash电影中,事件音频的定义和存储结构需要用得到三种标签:Define-Sound、Start-Sound1和Start-Sound2标签。构成事件音频取样的标签为Define-Sound标签,事件音频的类型由Sound-Info记录定义,类型包括音量控制、循环标志、同步、淡入、淡出。调节Flash电影初始放映声音的标签为Start-Sound1标签,调节Flash电影初始放映非事件音频类的标签为Start-Sound2标签。
在Define-Sound标签定义事件音频时,特征参数包括分辨率、采样率、声道标记。如表1为Define-Sound标签的结构特征及其说明。
表1 Define-Sound标签的结构特征及其说明
声音的唯一标识代码是Sound-ID,播放声音时Star-Sound1控制标签首先调用Sound-ID。在Flash电影中,声音格式可以分为:MP3压缩格式(用2表示)、ADPCM压缩格式(用1表示)、位压缩小字节格式(用3表示)、Nelly-moser格式(用6表示)和未压缩格式(用0表示),格式不同说明声音内容不同。Sound-Rate(声音采样率)是把声音在A/D转换的过程中,在每一秒钟时间内的采样次数,理论上要想让声音质量较好地呈现,采样率越高越好。Sound-Size(分辨率)是单个采样点表示音频的位数,Flash音频文件中的位数为8位或16位。分辨率是用一个指数来描述的,用8位分辨率来描述采样点指的是用2的8次方级深度表示采样点,同样用16位分辨率描述采样点指的是用2的16次方表示采样点。声音越细致,内容信息越多,表明声音的分辨率越大,占用空间越大。声道类型分为两种:单声道、双声道,单声道包含的内容信息是双声道包含的内容信息的一半,因此双声道音频文件占用空间是单声道音频文件的一倍。
Define-Sound标签用来定义声音,Start-Sound控制标签控制播放器播放声音的开始或者暂停。Sound-ID表示声音的唯一标识ID,Sound-Info定义声音播放方式,调整Sound-Info记录中的Sync-Stop就可以实现暂停播放。Start-Sound2标签和Start-Sound1控制标签的内容差不多,唯一的区别就是Start-Sound2标签控制播放的声音,不再是单个声音而是其他Flash电影文件中定义的声音。
Sound-Info记录是用来标注怎样播放一个Define-Sound标签定义的事件音频。记录中可以调整的声音属性有:是否循环及循环数、重放时的开始和结束位置、音量控制的声音封装。
Flash电影文件也支持流式音频格式,流式声音内容信息的下载与播放与电影文件的时间轴密不可分,音频的前几帧载入后即可进行播放,声音数据块随着Flash电影的帧进行存储。在Flash电影中,音频流与播放画面是同步的,声音内容根据帧的排列被分成很多块,若电影播放速度快,有些声音块就会跳过不进行播放,保持声音块的播放与画面播放同步。在Flash电影文件中,主要时间轴上特定时刻只有一个对应流式音频进行播放,但对每个Flash影片剪辑有自己的时间轴,可以有自己特定的流式音频。
在Flash电影声音文件中有流式音频时,必须由Sound-Stream-Head1或者Sound-Stream-Head2标签定义音频信息格式、播放格式和声音数据块中样本平均数之后,第一个音频数据包才能进行播放。Sound-Stream-Head1标签中定义的采样率有四种:5.5 kHz、11 kHz、22 kHz和44 kHz,分辨率为16位,播放类型为单声道或者双声道。此外,在Flash电影中流式声音的压缩格式只支持MP3压缩、ADPCM算法压缩这两种格式。Flash电影中的采样率、分辨率和声音类型,在播放的过程中,可以忽略它们。Sound-Stream-Head2标签在Sound-Stream-Head1标签功能的基础上,加载了音频压缩类型和音频分辨率类型。除了MP3压缩和ADPCM压缩这两种压缩类型之外,还有Nelly-moser压缩、小字节无压缩和无压缩等类型。如表2所示为Sound-Stream-Head2标签的结构特征及其说明。
表2 Sound-Stream-Head2标签的结构特征及其说明
Sound-Stream-Block标签是用来定义与帧数据混合存储的音频信息。在定义Sound-Stream-Block标签的时候,Sound-Stream-Head1或Sound-Stream-Head2两个标签必须是已经定义好了。一个Flash电影帧中只包含一个Sound-Stream-Block标签。Sound-Stream-Head1标签中定义的压缩类型决定了流式声音数据块中的内容信息。压缩类型为无压缩或者小字节无压缩时,流式声音数据块中有初始未压缩采样;压缩类型为ADPCM压缩时,流式声音数据块中有ADPCM音频数据记录;压缩类型为MP3压缩时,流式声音数据块中有MP3音频数据记录;压缩类型为Nelly-moser压缩时,流式声音数据块中有NELLY-MOSER-DATA记录。
在Flash电影中,音频文件的压缩方法主要有MP3压缩和ADPCM压缩等压缩算法。
MP3全称是Moving Picture Experts Group Audio Layer III,是当今比较流行的一种数字编码和有损压缩格式,主要是用来降低音频数据量。MP3压缩对音频文件进行压缩时,压缩掉的只是人耳听不到的波形信息,因此压缩后的音频对大多数用户来说,在听觉感受上音质没有很大区别。另外,MP3压缩格式的压缩率比较高,最高压缩率可以达到1∶12。
Flash电影中MP3的压缩过程,首先把音频波形文件加载到Flash文件中进行编辑,然后把音频波形文件以MP3格式随着Flash文件输出,在随着Flash文件输出的过程中自动会对音频波形文件进行格式转换和压缩。MP3压缩格式的压缩率比较高,既保证了声音无失真传输,又缩小了带有音频文件的Flash电影占用空间。持续时间较长的音频文件和流式音频声音文件,进行压缩时比较适合采用MP3压缩格式。在制作Flash电影过程中,载入音频文件进行压缩时,MP3压缩格式是第一选择,Flash电影制作软件中既可加载MP3格式文件,也可将导入其它格式文件在输出时压缩成MP3格式。
在Flash电影中,MP3音频参数表现在两个方面,分别是采样率和MP3帧的存储数组。采样率用于在帧上细分流式音频,MP3帧的存储数组是用来存储音频文件中声音的数据。MPEG音频帧在MP3音乐文件和MP3帧记录中是一样的,都是由前32位帧存储头信息,后面一个字节数组来存储声音编码的样本。如表3所示为MP3-FRAME标签的结构特征及其说明。
ADPCM指的是自适应差分脉冲编码调制,英文全称是Adaptive Differential Pulse Code Modulation,ADPCM调制方式是一种针对16位(或8位或者更高)声音波形属性的一种有损压缩方式。ADPCM调制对声音采样时的频率是固定不变的,采样时对采样点的实际信号幅值和预测信号幅值的变化量,对此变化量进行量化编码,量化编码采用不均匀的方式进行。当幅值变化量很小时,就会大大减少不均匀量化编码的编码位数。ADPCM算法压缩方式既有自适应脉冲编码调制系统的自适应性,又有差分脉冲编码调制系统的差分性,使得这两种特性较好地结合在一起。自适应特性可以用来改变量化阶,也就是较小的幅值变化量用小量化阶来编码,较大的幅值变化量用大的量化阶来编码;利用差分特性可以利用过去样本值估计后面样本预测值,使得预测值和实际值间的幅值变化量最小。在Flash电影文件中,ADPCM调制方式只是针对16位或8位的声音波形属性进行压缩。对16位声音波形压缩时,压缩比为4∶1,即存储采样数据时是4位,这种压缩方式是一种有损压缩,用于时间很短的时间声音输出。
ADPCM-SOUNDATA记录的定义中包括编码大小和存储ADPCM信息的ADPCM-PACKETS。在Flash电影中,ADPCM编码样本格式有四种:4位、5位、6位和7位。依据声音声道数量的不同,ADPCM-PACKETS可分为两种存储结构:ADPCM-MONOPACKET和ADPCM-STEREOPACKET。
上述提到,事件音频的内容结构是由Define-Sound、Start-Sound1和Start-Sound2三种标签来定义的,流式音频的内容结构是由Sound-Stream-Head1和Sound-Stream-Head2两种标签来定义的,在对Flash电影中的声音特征属性进行分析提取时,可以对这些定义音频文件的标签进行分析提取,进而分析其声音的内部结构和特征属性。如表4所示为Flash电影中声音特征属性描述。
表4 Flash电影中声音特征属性描述
对事件音频来说,特征参数中的声音长度的取值是短、中、长,这三种取值是用音频中的样本数量来界定的,当样本数量<20000时,取值为短;当20000<样本数量<60000时,取值为中;当样本数量>60000时,取值为长。对流式音频来说,声音长度是用音频中的样本数量和每个样本中的子样本数量的乘积来表示的,取值定义和事件音频是一样的,当样本数量<20000时,取值为短;当20000<样本数量<60000时,取值为中;当样本数量>60000时,取值为长。
在Flash电影中,对声音特征属性进行提取标注的方法有两种。第一种:根据Flash电影中对事件音频和流式音频的定义,构建Flash电影中声音特征属性提取的程序平台,在程序平台上可以对声音的特征属性进行提取,并在程序平台的显示界面上呈现出来,另外也可以直接保存到电脑的指定位置;第二种:根据Flash电影中声音特征参数字段定义,组建声音特征索引库,使用声音结构属性标注程序,把提取出的声音特征属性放置到特征索引库中,完成对Flash电影中声音特征属性的标注。
Flash声音特征属性的提取平台包括两部分:提取声音特征属性和保存声音特征属性。通过分析Flash电影中定义播放事件音频的Define-Sound标签、Start-Sound1标签、Start-Sound2标签分析提取事件音频的特征属性;通过分析Sound-Stream-Head1标签、Sound-Stream-Head2标签等分析流式音频的特征属性。提取的声音的特征属性有Flash电影中声音的数量、ID、声音的类型以及事件声音的采样率、位分辨率、声道,流式声音还添加了播放采样率、播放位分辨率、播放声道信息。提取的声音特征属性可以以txt文档的形式保存到电脑上。如图1所示为Flash电影声音的特征提取界面。
图1 Flash电影声音的特征属性提取界面
硕思闪客精灵是一款用于浏览和解析Flash电影(.swf文件和.exe文件)的工具。它能够将flash电影中的图片、矢量图、声音、字体、文字、按钮、影片片段、帧等基本元素完全分解,还可以对flash影片动作(Action)进行解析,清楚地显示其动作的代码,让您对Flash动画的构造一目了然。
我们以硕思闪客精灵反编译的声音元素个数作为标准,评价我们所开发的Flash声音特征属性的提取平台的查准率和查全率,公式1、2所示为查准率、查全率的计算公式。通过对Flash电影样本库中每一类的100个Flash电影文件进行分析,得到每一类中100个电影所含的元素个数,求得每一类Flash电影中这个元素的平均个数。所以表中的平台提取元素个数和硕思提取的元素个数都是指每一类Flash电影所包含的平均元素个数。
查准率=平台提取元素个数/平台提取的元素总数 (1)
查全率=平台提取元素个数/硕思软件提取元素总数(2)
表5 Flash电影声音元素分析统计表
表5所示为Flash电影声音元素分析统计表。如表所示,Flash电影中MTV、动画、广告类声音元素的查准率达到100%,查全率都在85%以上,课件、游戏两类Flash电影的查准率分别为99.86%、89.03%,查全率都是100%,提取效果较好,达到了实验目标。Flash电影声音内容特征提取平台对声音的提取分为对事件声音的提取和对流式声音的提取。事件声音的提取是按照Define-Sound定义标签,流式声音的提取是按照Sound-Stream-Head1标签、Sound-Stream-Head2标签。MTV、动画、广告类Flash动画中以流式声音为主,包含少量的事件声音。在提取过程中是按照Sound-Stream-Head1标签或Sound-Stream-Head2标签来计算流式声音的数量,在实际Flash电影文件中有些流式声音块被事件声音隔开,提取平台依旧算作一个声音,而在硕思闪客精灵软件中则算作两个声音,所以MTV、动画、广告类平台提取的声音个数会偏少。课件、游戏类Flash电影中主要包含事件声音,文件中可能包含流式声音SoundStreamHead1标签或Sound-StreamHead2标签,而后面并没有流式声音块,没有流式声音,提取平台却当成了一个声音,所以平台提取的课件、游戏类声音会偏多,出现查准率偏差。
[1]Kim Y.A Temporal Locality-Aware Page-Mapped Flash Transla- Layer[J].Journal of Computer Science&Technology,2013:1026-3.
[2]任晓芳.基于Flash动画的自适应多媒体流在跨设备视频会议中用[J].科学技术与工程,2014,11(31):262-268.
[3]王岳平.Flash电影中图形特征的提取与研究[J].枣庄学院学报,2015,32(2):135-139.
[4]邵长侠.Flash组成元素的内容特征提取与标注研究[D].山东师范大学,2012.
[5]石朝晖.Flash技术在动画电影中的应用研究[J].电影文学,2012,(15):52-53.
[6]蔡鹏.Flash动画在网页制作中的应用及相关探讨[J].电子技术与软件工程,2013,(19):90.
[7]钱翔.动感视觉——试论电影蒙太奇艺术表现手法在Flash动画中的运用[J].科技资讯,2010,(5):240.