软件开发技术基础顾刚计算机教学实验中心第6章多媒体编程技术讲课4学时实验2学时(Multimedia)就是文字、图形、图像、声音、动画、视频等多种媒体信息的集合多媒体定义指利用计算机技术将各种媒体以数字化的方式集成在一起,并能够对它们进行加工处理的技术。多媒体技术指在WINDOWS环境下,编写程序对多媒体信息进行播放和处理的技术。多媒体编程技术数字声音编程1.声音的特性2.声音信号的数字化3.数字音频的处理1.声音的特性声波:当物体在空气中振动时,便会产生连续的波声音:大脑对声波的感知就是声音(Sound)幅度(Amplitude):指声音的大小、强弱程度频率(Frequency):指信号每秒钟变化的次数声波可以看成在时间上和幅度上都是连续变化的模拟信号时间t幅度a1.声音的特性高保真声音的频率范围为10~20000Hz,它的带宽约为20kHz话音人的发音器官发出的声音频率大约是80~3400Hz频率小于20Hz的信号称为亚音信号高于20kHz的信号称为超音频信号(Supersonic),或称超声波(Ultrasonic)信号频率范围为20Hz~20kHz的信号称为音频信号在多媒体技术中,处理的声音信号主要是音频信号,它包括音乐、话音、风声、雨声、鸟叫声、机器声等.1.声音的特性带宽声音信号的频率范围称为带宽2.声音信号数字化模拟信号:指在时间和幅度上都连续的信号采样量化编码声音的模拟信号声音的数字信号数字信号:把时间和幅度都用离散的数字表示的信号采样(sampling)采样在某些特定的时刻对这种模拟信号进行测量叫做采样(Sampling)得到的信号称为离散时间信号如何采样使声音信号不失真?量化(measuring)量化将信号幅度取值的数目加以限定,由有限个数值来表示信号。或者对幅值加以进似的过程得到的信号就称为离散幅度信号例:假设输入电压的范围是0.0~0.7V,而它的取值仅限定在0,0.l,0.2,…,0.7V共8个值。如果采样得到的幅度值是0.123V,则近似取值为0.1V,如果采样得到的幅度值是0.271V,它的取值就近似为0.3V。举例说明数字信号声音信息的数字化实际上就是采样和量化模拟信号数字信号采样频率◆根据奈奎斯特理论(Nyqusttheory):如果采样频率不低于信号最高频率的两倍,就能把以数字表达的声音还原成原来的声音◆对于话音信号,最高频率为3400Hz,采样频率为8000Hz,能以数字声音还原原来的声音◆对于一般音频信号,最高频率为20kHz,采样频率为40kHz以上时,就能无失真地还原出原来的声音◆采样频率越高,得到的数据占用的存储空间越大采样频率:指单位时间内的采样次数采样精度采样精度:指存放采样点幅值的二进制位数◆采样精度(Samplingprecision),也叫样本位数或位深度,用每个声音样本的位数(bit或b)表示◆位数越少,声音的质量越低,需要的存储空间越少◆采样频率和采样精度是数字声音质量的两项重要指标◆声道数是数字声音的第三项指标声音的采样和量化◆数据率指还原1秒钟的声音所需传输的数据位数,也是数字化1秒钟的声音的所需传输的数据位数。未经压缩的数字声音的数据率为数据率(b/s)=采样频率(Hz)×样本精度(bit)×声道数◆由于播放设备、传输线路和网络传输速度的限制,需要对声音数据进行压缩。压缩后的数据率变小,但质量也会降低数据率1分钟的双声道声音文件的数据量为:8(bit)×8kHz×2(声道数)×60(秒)/8(bit/Byte)=960kB计算声音文件的数据量模拟声音信号的波形成采样得到的离散时间信号再量化得到的数字信号采样的3个常用频率分别:11.025kHz对应AM广播声音22.05kHz对应FM广播声音44.1kHz对应CD高保真声音不同质量的声音的性能指标质量采样频率(kHz)样本精度(b/s)声道数据率(kb/s)频率范围(Hz)电话88单声道64.0200~3400AM11.0258单声道88.250~7000FM22.05016立体声705.620~15000CD44.116立体声1411.220~20000DAT4816立体声1536.020~20000编码(coding)将采集到的物理量转换为在计算机中表示的代码的过程称为编码◆数据编码举例:设量化值为20、30、40、......、170(间隔10),有16种不同的数据,相当于16种符号,在计算机中可以用4位二进制数表示,如用0000表示20,0001表示30,0010表示40,......,1111表示170◆编码方法:自然码编码、哈夫曼编码、算术编码◆非压缩编码、压缩编码◆文件格式是数据在存储器中的存放形式。相同的数据,可以有不同的存放形式,所以也就有多种文件格式。◆WAV是Windows采用的波形声音文件存储格式,主要用于自然声的保存与回放,其特点是声音层次丰富,还原性好,表现力强。如果使用足够高的采样频率和采样精度,可以获得极好的音质,但文件的数据量比较大。该格式的文件可以被几乎所有的多媒体软件使用,易于编辑。声音文件的存储格式◆MP3是MPEG(MovingPictureExpertGroup运动图像专家组)第三层压缩文件格式,提供8kb/s到128kb/s的数据率和高达96:1的压缩比,有较好的音质。主要应用于因特网上的声音传输。常见的MP3音乐就使用了该压缩标准,是MP3播放器的主要格式◆RM、RA是RealNetworks公司制定的声音文件格式,有较高的压缩比,可以采用流媒体的方式在网络上实时播放,主要使用RealNetworks公司的播放器播放文件格式使用MCI播放音频WindowsMCI(MediaControlInterface)是Windows提供的控制多媒体设备的高层、通用的命令接口。它提供一组与设备无关的函数和命令,可有效地控制多媒体设备。Windows采用两种MCI接口与MCI设备通信:一是使用命令消息接口函数,直接控制MCI设备;二是使用命令字符串接口函数,基于文本接口或命令脚本来控制MCI设备。命令字符串接口函数说明MCIERRORmciSendString(LPCTSTRlpszCommand,LPTSTRlpszReturnString,UINTcchReturn,HANDLEhwndCallback)各参数含义如下:◈lpszCommand指向MCI命令字符串//打开01.wave波形文件命令字符串openc:\\music\\01.wave//播放mysound设备,从位置1000到2000命令字符串playmysoundfrom1000to2000notify◈lpszReturnString指向接受返回信息的缓冲区◈cchReturn缓冲区大小◈hwndCallback回调窗口句柄使用命令字符串接口函数播放声音文件#includewindows.h#includeiostream#includemmsystem.husingnamespacestd;#pragmacomment(lib,winmm)voidmain(){charszReturn[256];MCIERRORerrorCode=mciSendString(playd:\\周冰倩_真的好想你.mp3,szReturn,sizeof(szReturn),NULL);\\playd:\\邓丽君_甜蜜蜜_wav.wavinti=0;for(;;){coutNowplaying\ti++\tsecond\r;Sleep(1000);}}编译连接运行,注意程序永久运行。MCI命令消息接口函数说明MCIERRORmciSendCommand(MCIDEVICEIDIDDevice,UINTuMsg,DWORDfdwCommand,DWORD_PTRdwParam);参数含义如下:IDDevice接受命令消息的MCI设备的ID号。该参数不和MCI_OPEN命令消息一起使用。uMsg命令消息。fdwCommand命令消息的标志位。dwParam指向包含命令消息参数结构的指针。书270页给出了MCI_OPEN和MCI_PLAY的结构体定义使用命令消息接口函数播放wav文件#includewindows.h#includeiostream#includemmsystem.h#pragmacomment(lib,winmm)usingnamespacestd;intmain(){MCI_OPEN_PARMSopenParms;openParms.lpstrDeviceType=“waveaudio”;\\只能播放WAV格式声音文件openParms.lpstrElementName=d:\\邓丽君_甜蜜蜜_wav.wav;MCIERRORerrCode=mciSendCommand(NULL,MCI_OPEN,MCI_OPEN_ELEMENT|MCI_OPEN_TYPE,(DWORD)(LPMCI_OPEN_PARMS)&openParms);if(!errCode){MCI_PLAY_PARMSplayParms;MCIERRORerrCode2=mciSendCommand(openParms.wDeviceID,MCI_PLAY,NULL,(DWORD)(LPMCI_OPEN_PARMS)&playParms);}elsereturn1;//出错返回inti=0;for(;;){coutNowplaying\ti++\tsecond\r;Sleep(1000);}return0;}数字声音文件数据处理说明通过修改WAV格式文件可以实现音频的音效处理淡入、淡出、滤波、删除等需要解剖WAV文件存储结构,读取数据进行修改,书6.2.2讲述这方面内容矢量图和位图矢量图主要用于工程图、白描图、卡通漫画等,这些图形可以分解为单个的线条、文字、圆、矩形、多边形等单个的图形元素。再用一个代数式来表达每个被分解出来的元素。位图图像,亦称为点阵图像或绘制图像,是由称作像素的单个点组成的。这些点可以进行不同的排列和染色以构成图样。当放大位图时,可以看见赖以构成整个图像的无数单个方块。数字图像编程1.人类视觉对图像的感知2.图像的数字化和数字图像5.数字图像处理3.图像的颜色模型4.数字图像文件格式人类视觉对图像的感知自然界多姿多彩的景物通过人们的视觉器官在大脑中留下的印象,这就是图像空间坐标位置和景物的明暗程度均是连续变化的,称为连续图像图像是二维平面上的模拟信号2.图像的数字化和数字图像将连续的模拟图像转换为离散的数字图像图像数字化的步骤与声音数字化步骤相似采样量化编码整量将真实图像转换成计算机能表示的形式图像的采样(ImageSampling):◆将空间连续坐标(x,y)离散化,称为图像的采样◆即将平面区域的分割成若干较小的区域,以便测量小区域的值图像的整量(DensityMeasuring)◆将幅值f(x,y)离散化,称为图像的整量,或灰度级整量◆即将测量的图像色彩浓淡的连续值用离散值进似表示图像的数字化◆对图像进行采样和灰度级的整量称为图像的数字化。采样和整量的含义数字化图示图像采样量化数字图像空间上和灰度级上都离散的图像称为数字图像如果对连续图像在x、y方向上均取N个等间隔来采样,就将图像划分成N×N个小方块图像,当N很大时,小方块就可以近似看成小圆点;若对每一点的灰度(或色彩)值也用等间隔整数值来表示,即进行整量(量化),那么就可以得到一个N×N的数组(即N×N个数据值)。数组中的每一个数据都是数字图像的一个元素,称为图像元素,简称像素(Pixel)或者像元。采样和整量的方法数字图像的性能指标图像分辨率像素深度扫描分辨率显示分辨率图像采样的点数(或像元数),称为图像分辨率用“行数×列数”表示如数码像机常用的图像分辨率为640×480、1024×786、1128×764等。对相同尺幅的图像,如果组成该图的像素数目越多,则说明图像的分辨率越高