1 引论
1.1 多媒体技术的概念
什么是媒体
- 媒体是信息表示、存储和传输的载体
媒体的分类
感觉媒体
- 能直接作用于人的感官,使人直接产生感觉的一类媒体(作用于人)
- 视觉、听觉、嗅觉、味觉、触觉
表示媒体
- 计算机对信息的表示方法的描述
- 表示媒体具体体现为编码
表现媒体
- 感觉媒体和用于通信的电信号之间转换用的一类媒体,分为输入表现媒体和输出表现媒体
- 打印机、音箱、MIDI键盘,扫描仪、键盘、鼠标
存储媒体
- 用于计算机存放表示媒体,以便计算机随时处理、加工和调用信息编码
- 光盘、硬盘、磁带、活动硬盘、优盘等
传输媒体
- 用于传输表示媒体,将表示媒体从一处传送到另一处的物理载体
- 双绞线、同轴电缆、光纤等
多媒体技术
- 计算机综合处理多种媒体信息,在文本、图形、图像、音频和视频等多种信息之间建立逻辑关系,并连同多媒体设备一起集成为一个具有交互性能的应用系统的技术
多媒体系统的四个性质
多样性
离散媒体
- 独立于时间
连续媒体
- 时基媒体
集成性
- 信息的媒体集成性
- 设备的集成性
实时性
- 多媒体技术必须要支持实时处理
交互性
- 低级交互
- 中级交互
- 高级交互
为什么字符和多媒体的数据量相差很大?
- 因为字符有限,可以逐一编码。但其编码并不是字符本身,字符本身的展示采用输出码。类似于自然人的身份证号和自然人本身
- 而多媒体信息的个数无限,例如图像个数是无限的,无法逐一编码,只能针对图像的像素逐一编码,从而导致编码数据量很大
体系结构
- 多媒体外围设备
- 多媒体计算机硬件系统
- 多媒体核心系统
- 多媒体创作平台及工具
- 多媒体创作系统
- 多媒体应用系统
2 图形图像技术
2.1 数字图类分类
符号
- 字母、数字、中文
- 输入采用输入码
- 存储和处理:采用内部编码
- 输出采用输出码,图像方式
图形
Graphics、矢量图
用一系列计算机指令来表示一幅图
优点
- 存储和传输数据量小
- 缩放、旋转、移动图像不会失真,能保证无级缩放
- 适合管理图形的每一部分
- 容易编辑
- 图块可重用
缺点
- 图形生成花费时间长
- 不适合描述彩色图像
在显示器上所有几何图形都是通过算法得到的
图表
- 乐谱、直方图
图像
Image、位图
将一幅图像在空间上离散化为多个像素,每个像素用若干个二进制位来描述其颜色、亮度和属性
优点
- 显示速度快
- 表现力强,可适用于任何自然图像,细腻、层次多、细节丰富
缺点
- 存储和传输数据量大
- 缩放、旋转时算法复杂且容易失真
位图与矢量图的互转
位图->矢量图
- 跟踪技术
矢量图->位图
- 光栅化技术
2.2 数字信号处理基础
信号采集(模数转换)
采样
- 空间/时间离散
- 图像分辨率
量化
幅值离散
量化位数的确定
分类
- 均匀量化
- 非均匀量化
信号表示
编码
定义
分类
- 非压缩编码
- 压缩编码
说明
- 模数转换有信号损失(采样、量化均有)
- 我们能承受的损失与具体需求和人们的感知有光
- 虽然数字信号有损失但数字信号有利于复制和编辑
- 音频、视频进行模数转换时同样有采样和量化
2.3 视觉特性
光的自然特性
- 光是电磁波的
- 声音是机械波
三原色理论
- 红绿蓝
色彩要素
色调
- 表明光谱的波长,反映颜色的类别
饱和度
- 颜色的浓淡成都,反映色彩中掺入白光的数量
- 饱和度越高颜色越深,饱和度越低颜色越浅
亮度
- 光的明暗程度,反映彩光所含能量
色度
- 色调与饱和度合作,表示颜色类别和深浅
- 人眼能区分较少的色调和饱和度,但是对亮度非常敏感
人眼的感光特性
- 颜色只存在于眼睛和大脑中,颜色是视觉系统对可见光的感知结果
视觉感知规律
视觉调节力
视觉暂留性
视觉锐度-视力
视网膜上光敏细胞的物理距离决定了视力的极限
亮度和对比度影响视力
人眼对彩色的分辨率低于对亮度的分辨率
注视点一般集中在高频部分
高频信号
- 图像强度(亮度/灰度)变化剧烈的地方,也就是我们常说的边缘(轮廓)
低频信号
- 图像强度(亮度/灰度)变换平缓的地方,也就是大片色块的地方
人眼对低频信号更为敏感,即人眼更容易察觉低频信号的变化
2.4 图像的颜色模型
基本概念
RGB
- 用于显示设备
- 相加混色模型
- 红绿蓝三基色
CMYK
用于打印设备
相减混色模型
- 反射的光线就是我们所看见的物体颜色,这些颜色被称之为减色
三种基本颜料颜色青色、品红、黄色
HSL
用于人眼
含义
- H-色调
- S-饱和度
- L-亮度
YUV
- 详见动画视频技术
YIQ
- 详见动画视频技术
Lab
- 用于彩色电视
- 作为在不同颜色模式之间转换时使用的中间颜色模式
- Lab 颜色模型下所生成的颜色与所使用的设备无关
- 在处理速度上,Lab色彩模式与RGB模式同样快,比CMYK模式快很多
- Lab模式的图像在转换成CMYK模式时其色彩不会丢失或被替换,因此避免色彩损失的最佳方法是应用Lab模式
Index
- 用8bit描述,最多可以使用256种颜色,采用调色板方式实现
- 由于限制了调色板中颜色的数目,因而可以减小文件的大小,同时基本上不影响视觉效果
Grayscale模式
- 用8bit描述,最多使用256级灰度来表现图像,图像中的每个像素有一个0(黑色)到255(白色)之间的亮度值。
- 灰度值也可以用黑色油墨覆盖的百分比来表示(0%表示白色,100%表示黑色)。使用灰度模式,使得能够较好地表现出单色图的图像层次
Binary
- 二值模式图像由一个个黑色和白色的像素点组成
- 每一个像素用1bit来表示,只能表示有点和无点两种状态
2.5 位图图像基本属性
分辨率
图像分辨率
显示分辨率
打印分辨率和扫描分辨率
像素分辨率
- 像素本身的尺寸
颜色深度
- 图像每个像素所占用的存储位数
调色板
- 颜色查找表
真彩色、伪彩色与直接色
真彩色
- 每个像素值中有RGB三个基色分量,每个基色分量直接决定显示设备基色强度
伪彩色
- 把像素值当作彩色查找表(调色板)的表项入口地址,用查找出的RGB强度值产生的彩色
直接色
- 每个像素值分成R,G,B分量,每个分量作为单独的索引值对它做变换。也就是通过相应的彩色变换表找出基色强度,用变换后得到的R,G,B强度值产生的彩色
位图图像数据量
B=(hwc)/8(Byte)
- h为垂直分辨率
- w为水平分辨率
- c为颜色深度
2.6 图类数据的文件类型
BMP图像文件格式
特点
- 采用位映射存储格式
- 图像颜色深度可选1bit、4bit、8bit及24bit
- 不采用其他任何压缩
- 包含的图像信息较丰富
- 占用的磁盘空间过大,不利于网络传输
- 存储数据时,图像的扫描方式是按从左到右、从下到上
文件组成
位图文件头
- 14字节
位图信息头
- 40字节
颜色表
图像数据阵列字节
图像数据压缩
BI_RLE8
每个像素位8位(索引)的RLE压缩编码,可以使用编码方式和绝对方式中的任何一种编码,这两种方式可在同一幅图中的任何地方使用。此外,还有控制标识。
控制标识
- 00 00 行的结束
- 00 01 图像结束
- 00 02 其后的两个字节标识下一个像素从当前开始的水平和垂直位置的偏移量
绝对方式
第一个字节为0,第二个字节为0x03-0xFF之间的一个值
第2个字节表示跟在这个字节后面的字节数,每个字节包含单个像素的颜色索引。压缩数据格式需要字边界对齐(存放数据成员的首地址能被数据成员基本长度整除,如此处应该被2整除)
- 00 03 45 56 67 00 表示45 56 67
编码方式
第一个字节指定使用相同颜色的像素数目,第二个字节指定使用的颜色索引
- 03 04表示 04 04 04
BI_RLB4
每个像素为4位(索引)的RLE压缩编码,可以使用编码方式和绝对方式中的任何一种编码,这两种方式可在同一幅图中的任何地方使用。此外,还有控制标识。
控制标识
- 00 00 行的结束
- 00 01 图像结束
- 00 02 其后的两个字节标识下一个像素从当前开始的水平和垂直位置的偏移量
绝对方式
第一个字节为0,第二个字节为0x03-0xFF之间的一个值
第2个字节标识颜色所引述,其后续字节包含有颜色索引,颜色索引存方在该字节的高、低4位中,1个颜色索引对饮1个像素。压缩数据格式需要字边界对齐(不论是绝对方式还是编码方式)
- 00 06 45 56 67 00表示4 5 5 6 6 7
编码方式
第一个字节指定像素数目,第二个字节包含仅有的两种颜色索引,一个在高4位,一个在低4位。第一个像素使用高4位的颜色索引,第二个像素使用低4位的颜色索引,依次类推
- 03 04表示0 4 0
颜色表(调色板)
- 包含的颜色与位图所具有的颜色数相同
- 每个颜色用4个字节表示
- 24位真彩色不使用颜色表
图像数据阵列字节
图像的每一扫描行由表示图像像素的连续的字节组成
每一行的字节数取决于图像的颜色数目和用像素表示的图像宽度,每一行(图像的扫描行)字节数必须位4的倍数
- 8*8二值bmp的图像数据需要34字节,(1+3)*8+2
扫描行是从左往右,从下往上存储的
最后由两个字节00 00为结束符
其他文件类型
常用位图格式
-
常用矢量图格式
3 音频技术
3.1 音频种类
声音
- 统称,或专指除语音、音乐之外的其他声音
语音
- 语音是声音的一种特殊类型,因为人类语音的频率范围小于声音的频率范围,且具有独特的发音特点
音乐
- 声音的一种特殊类型,主要是指MIDI音乐
3.2 声音及其物理特性
声波
振幅
- 反映声音的强度
频率
- 反映声音的音调
相位
- 声音变化的方向
按特性分类
规则声音
- 语音、音乐、音效
不规则声音
- 噪声
按频率分类
- 亚音信号(次音信号)
- 音频信号
- 超音频(超声波)信号
声音信号(复合信号)的参数
基频
- 主频率
谐音
分量信号
带宽
3.3 声音的听觉心理特性
音调
- 声音的高低,有(基)频率决定
音强(响度)
- 取决于振幅的大小
- 响度与人耳可闻程度有关
等响曲线
- 等响曲线同一条线上人耳感知一样
- 响度较小时,高、低频声音敏感度降低较明显,而低频段比高频段灵敏度降低更加剧烈,一般应重视加强低频音量
听阈
- 人能听到的最低声压级
痛阈
- 当声压级增大到一定强度时,人耳会感到不适或疼痛
掩蔽效应
一种频率的声音阻碍听觉系统感受另一种频率的声音的现象。人的耳朵只对最明显的声音反应敏感,而对于不明显的声音,反应则较不敏感
前者称为掩蔽声音,后者称为被掩蔽声音
频域掩蔽
- 指一个强纯音会掩蔽在其附近同时发声的弱纯音
时域掩蔽
- 指在时间上相邻的声音之间也有掩蔽现象
3.4 声音信号数字化
采样
- 将声音信号在时间上离散化,即每隔相等的一段时间抽取一个信号样本
量化
- 将连续的信号幅度离散化。
- 均匀量化/线性量化
- 非均匀量化/非线性量化
编码
- 按一定格式将离散的数字信号记录下来,并在数据的前后加上同步、纠错等控制信号
数字音频质量的决定因素
采样频率
Nyquist采样定理
- 采样频率高于信号最高频率的两倍,就可以从采样中完全恢复原始信号的波。因此采样频率不一比高低与声音信号最高频率的两倍
采样精度/量化位数
- 描述每个采样点样值的二进制位数。常用8位、16位、32位
- 信号噪声比(信噪比)SNR,单位为分贝,信噪比越高越好
声道数
- 指声音记录为一组波形(即单声道)还是两组波形(即双声道立体声),甚至更多组波形(多声道)
- 由于立体声声音具有多声道、多方向的特征,因此,声音的播放在时间和空间性能方面都能显示更好的效果
对应图像音频质量的决定因素
- 分辨率
- 颜色深度
- 颜色通道
声音质量的等级
- 根据声音的频带划分5个等级,以下由低到高排列
- 电话
- 调幅广播(AM)
- 调频广播(FM)
- 激光唱盘(CD-Audio)
- 数字录音带(DAT)
采样数据量
- 数据率(字节每秒)=采样频率样本精度声道数/8
- 采样数据量=数据率*采样时间
3.5 语音
语音处理的任务
- 以语音的基本特性为基础,主要针对语音的成分进行相应处理,包括语音采样、识别、模拟、合成等技术
人机语音通信的两项关键技术
语音合成
- 再生预存的语音信号
- 模拟发声
语音识别
3.6 MIDI音乐
数字音乐
- 由实现定义好的音色、音调、音符等编号组成的
- 数字音乐编码
MIDI音乐是一种数字音乐,MIDI音乐通常被称为电子音乐或合成音乐
MIDI实质上是由MIDI控制器(或MIDI文件)产生的指示电子音乐合成器要做什么、怎么做的一套标准指令
特点
优点
- 生成文件比较小
- 容易编辑
- 可以作为背景音乐
缺点
- 播放效果因软、硬件而异
- 录制较复杂,还须有专门工具
3.7 音频文件的格式
- WAV
- MIDI
- MP3
- ra(RealAudio) & rm(RealMedia)
- Widnows Media
4 动画视频技术
4.1 动态图像
概念
原理
- 利用了人眼的视觉暂留性
帧
分类
动画
- 计算机生成的非真实场景
视频
- 外界信号,真实场景
特点
时间连续性
数据量大
相关性强
实时性高
- 必须在规定的时间内完成更换画面播放的过程
动态图像参数
- 视频纵横比、观察距离和图像细节
4.2 动画基础
传统动画
- 脚本编写与动画设计
- 关键帧设计
- 中间帧生成
- 扫描上色
- 检查、拍摄
- 后期制作
计算机动画
关键技术
- 计算机动画制作软件及硬件
计算机动画的分类
根据运动的控制方式
实时动画
- 实时生成
逐帧动画
- 预先生成
根据视觉空间
二维动画
- 二维模型
三维动画
- 三维模型,得到的动画仍然是二维的图像数据
变形动画
景物的形体变化
需要对各像素点的颜色、位置做变换
图形的变形采用插值算法来实现
变形过程
- 关键帧选取
- 设定关键帧特征结构
- 参数设置
- 动画生成
4.3 视频基础
彩色空间变化
YUV颜色模型
YUV用于PAL制和SECAM彩色电视制式
Y为亮度,U、V是色差信号(B-Y, R-Y)
优点
- 亮度信号Y解决了彩色电视机与黑白电视机的兼容问题
- 大量实验表明:人眼对彩色图像细节的分辨本领比对黑白的低得多,因此对色度信号U、V,可以采用“大面积着色原理”。数字化后通常为Y:U:V=4:1:1(或者是Y:U:V=4:2:2)(可用于数据压缩)
YIQ颜色模型
YIQ用于NTSC彩色电视制式
Y是亮度,I和Q为色差信号,I代表红、黄之间颜色,Q代表蓝与紫之间的颜色
优点
- 亮度信号Y解决了彩色电视机与黑白电视机的兼容问题
- 利用人眼的彩色视觉特性,可降低数字彩色图像所需要的存储容量。实验表明:人眼分辨红、黄之间颜色变化的能力最强,而分辨蓝与紫之间颜色变化的能力最弱(可用于数据压缩)
YCrCb用于连接在计算机上的显示器
彩色电视制式
- NTSC制式
- RAL制式
- SECAM制式
4.4 数字视频
- 数字视频(Digital Video-DV)是定义压缩图像和声音数据记录及回放过程的标准
- 模拟视像设备中的视频信号是模拟信号,如果要将模拟视像设备中的模拟视频信号转变为数字视频信号,就需要通过视频卡的处理
- 数字视频可以通过软件播放器在计算机上直接进行播放
- 如果要在摄像机、电视机上观看数字视频,需要一个D/A数模转换器将二进制信息解码成模拟信号,才能进行播放
4.5 动画和视频文件格式
动画文件格式
- GIF
- SWF
- FLI/FLC
常见视频文件格式
微软的AVI
苹果的MOV
MPEG
- 运动图像压缩算法的国际标准,有损压缩
RealNetwork公司的RM
- 流式视频文件格式
ASF、WMV
- 微软的流式视频文件格式
动画和视频制作软件
Flash
- 用于制作二维矢量动画
3D Studio MAX
- 用于制作三维动画
Windows Movie Maker
- 用于视频摄像和编辑
Priemiere
- 始于视频非线性编辑
5 多媒体数据压缩技术
5.1 多媒体苏剧压缩的必要性和可能性
必要性
- 数字化后的图像、视频和音频等媒体信息的海量性
- 计算机存储资源和网络带宽难以满足需要
可能性
多媒体数据冗余
统计冗余
- 时间冗余
- 空间冗余
感知冗余
- 视觉冗余
- 听觉冗余
结构冗余
知识冗余
信息表达冗余
- 信息熵冗余
5.2 数据压缩的基本原理和方法
数据冗余
统计冗余
时间冗余
- 视频的前后帧之间存在大量的区域相同或相近
空间冗余
- 同一个静态图像或画面中有部分区域数值一样或相差不大
结构冗余
- 有些图像存在明显的分布模式(重复出现)
知识冗余
- 许多图像的理解与某些基础知识有相当大的相关性。如人脸的图像有固定的结构。比如嘴的上方有鼻子,鼻子上方有2个眼睛等
感知冗余
视觉冗余
亮度和色度的差别
- 人眼对亮度的敏感性比色度要强,所以在色度成分上,可以不要保留太多细节,这样可以使色度成分中出现更多的冗余
高亮度区和非高亮度区差别
- 在高亮度区,人眼的敏感度会下降。灰度值的量化可以更粗糙些
边缘和非边缘区别
- 人眼对急剧色彩和亮度变化的物体边缘的敏感度比非边缘区域强
听觉冗余
信息熵冗余
信源编码器模型
- X是消息集,由n个信源符号单元xj构成(j=1, 2, …, n)
- Am是符号集,由m个码元ai构成(i=1, 2, …, m),符号集中的码元组成输出的码字
- Z是输出集(码书),由n个码字zj构成(j=1, 2, …, n),zj和xj一一对应
压缩目标
- 用尽量短的码字表达信源符号,且一一对应
信息熵
一组数据所携带的平均信息量(不确定性的度量)
- N为数据的种类(信源符号)的个数,Pi为第i个信源符号出现的概率
平均信息量乘以数据的个数,就是整个一组数据的信息量
熵的性质
熵是一个非负数,即总有H≥0
当其中一个符号i的出现概率pi=1时,其余符号j出现概率pj =0,H=0,如p0=1,则p1=…=p7=0, H(x)=0
当各个符号出现的概率相同时,则H最大,为log2N
- 熵的范围为: 0≤H(x)≤log2N
- d >>H(x)有冗余,称为信息熵冗余
- d <H(x)不可能
- d ≈H(x)最佳编码
冗余度
-
编码效率
数据压缩方法分类
压缩包括数字化过程中的压缩(采样和量化)和数字化后的数据的压缩
- 压缩感知技术涉及数字化过程中的压缩
- 本课程主要涉及数字化后的数据的压缩
根据解码后数据与原始数据是否完全一致
可逆编码(无失真编码,无损编码)
- Huffman编码
- 算术编码
- 游程长度编码
不可逆编码(有失真编码,有损编码)
- 变换编码
- 预测编码
根据数据压缩的原理可以分为
统计编码
- 针对信息熵冗余
预测编码
- 针对统计冗余
变换编码
- 针对感知冗余
其他编码
- 混合编码
- 矢量化编码
- LZW算法(词典编码)
数据压缩方法评价
压缩比(压缩效果)
- 压缩前数据量/压缩后数据量
算法复杂性和运算速度(压缩速度)
编码或解码的快慢程度
对称压缩和非对称压缩
- 非对称压缩常常在解压缩方面要求是实时的,但压缩可以不是实时的
失真度(压缩质量)
- 压缩以后对媒体的感知效果
5.3 统计编码
统计编码的基本原理
- 数据压缩技术的理论基础是信息论
- 数据压缩的理论极限是信息熵
- 如果要求编码过程中不丢失信息量(无损编码),即要求保存信息熵,这种信息保持编码叫熵编码(统计编码)
- 熵编码(统计编码)要解决的问题是,如何利用信息熵理论减少数据在存储和传输中的冗余度。也就是要找到去除信源的相关性和概率分布的不均匀性的方法
- 无损压缩编码
- 根据信源符号出现概率的分布特性进行编码
- 统计编码需要在信源符号和码字之间确定严格的一一对应关系,以便准确无误地再现原来信源,同时使平均码长尽量小
- 如果所有的信源符号出现的概率相同,则说明平均信息量最大,也就不存在信源的冗余
游程(RLE)编码
将颜色值相同的相邻像素用一个计数值和那些像素的颜色值来代替
特点
- 直观、经济
- 压缩比的大小主要取决于图像本身的特点
- 适用于计算机生成的图像
- 常与其他压缩编码技术联合应用
Huffman编码
使用变长编码,对出现概率大的信源符号赋于短码字,而对于出现概率小的信源符号赋于长码字
概率最大的信源符号不一定只由1位码元编码
熵,平均码字长度
- 需要考虑信源符号的概率,并非各信源符号的码长直接求平均值,即需要加权求熵
整个编码过程实际上是建立二叉树的过程,所以编码时需要对原始数据扫描两遍
- 第一遍扫描要精确地统计出原始数据中的每个值(信源符号)出现的频率
- 第二遍是通过合并最小概率来建立Huffman树,同时还要进行编码
由于需要对多层次的二叉树节点进行编码,因此数据压缩和还原速度都较慢
压缩 = 概率统计模型 + 编码
概率统计模型
- 在压缩程序中,用来处理输入信息,计算符号的概率的模型
- 固定概率表
- 静态统计模型
- 自适应模型
特点
- Huffman编码是最佳变长码,其优点是编码效率高
- Huffman编码依赖于信源的统计特性
- 由于“0”和“1”的指定可以是任意的,所以Huffman编码所得到的编码不是唯一的
- Huffman编码不需要附加同步代码,任何一个字符的编码,都不是另一个字符编码的前缀
- 在解码时需要有编码时采用的Huffman表,才能正确解码
- 如果信源符号数很大,需要存储的码表(码书)也需很大,从而会影响存储量、编码以及解码速度等各个方面的性能
- Huffman编码是可变长度码,很难随意查找或调用压缩文件中间的内容
- 没有错误保护功能,会出现错误传播
Huffman编码使用整数位的方法往往无法获得使用熵计算的位数,因此其压缩并非一定最佳
算术编码
基本原理
- 将出现概率较多的“消息”(可以是字符或字符串) ,用尽可能少的位或字节来表示
一种变长码,主要针对出现概率高的消息序列标识的信息进行压缩
信源符号是表达消息的符号
将消息表示成实数轴上0和1之间的间隔,消息越长,这个间隔就越小,表示这一间隔所需的二进制位数就越多
算术编码用到的两个基本的参数是符号的概率和它的编码间隔。信源符号的概率决定压缩编码的效率,也决定编码过程中信源符号的间隔,间隔则决定了符号压缩后的输出
算术编码区别于Huffman编码
- 它是根据信源符号估计出各个元素的概率,然后进行迭代计算。而不象Huffman编码必须预先得知信源的出现概率
编码过程
解码过程
特点
- 算术编码的精度在64位以内,对于运算中的溢出问题,可使用比例缩放方法解决
- 在解码器中需要添加一个专门的终止符,当解码器看到终止符时就停止解码,否则会无休止的解码
- 算术编码器对整个消息只产生一个码字
- 算术编码也是一种对错误很敏感的编码方法
- 算术编码可以是静态的或者自适应的
- 信源符号概率接近时,建议使用算术编码,这种情况下其效率高于Huffman编码,JPEG扩展系统采用
5.4 词典编码
在不知数据统计特性的前提下的通用编码算法,定长码
分类
- 第一类:用已经出现过的字符串替代重复的部分,输出仅仅是指向早期出现过的字符串的“指针”。LZ77算法
- 第二类:创建一个“短语词典”。编码中遇到已在词典中出现的“短语”时,输出词典中的短语的“索引号” 。LZ78算法,后改进为LZW算法
LWZ压缩编码算法
查找冗余字符和用较短的符号标记替代冗余字符
原理
算法步骤
解压缩步骤
LZW不需要传输压缩编码时建立的词典,而是在解压缩时建立词典,此点不同于Huffman编码。但需要初始化词典/表/串表
特点
- 处理过程比其他压缩过程复杂,但过程完全可逆
- 对于简单图像和平滑且噪音小的信号源具有较高的压缩比,并且有较高的压缩和解压缩速度。对机器硬件条件要求不高
- 可压缩任何类型和格式的数据,对于数据流中连续重复出现的字节和字串,LZW压缩技术具有很高的压缩比
- LZW压缩技术有很多变体方法,常见的例如:ARC、RKARC、PKZIP高效压缩程序
5.5 预测编码
针对统计冗余
有损与无损
- 量化差值:有损,压缩比高
- 不量化差值:无损,压缩比不高
适合于声音和图像的压缩
- 对于声音来讲,预测的对象是声波的下一个幅度、下一个音色
- 对于图像而言,预测的对象是下一个像点、下一条线或下一帧
基本原理
根据预测器的设计分类
线性预测
- 为了预测的效率,一般采用
非线性预测
预测编码可以压缩的原因
- 差值可能为0,或者较小,可以较少的位数表达
- 通过量化差值更可以实现压缩
特点
- 预测编码主要采用压缩数据的空间冗余和时间冗余的方法
- 简捷且易于实现
- 需要前面多个信号参与预测,要求数据传输速度很高
- 压缩能力有限,预测差值不一定可以大量压缩
5.6 变换编码
针对感知冗余
有损压缩编码
- 在不考虑运算误差的条件下,变换本身是一种无损且可逆的技术。为了能获得更好的编码效果,忽略了一些不重要的系数(或对于系数进行了量化),由此成为了有损的技术
常用于音频信号压缩编码和图像/视频压缩信号编码
基本原理
- 对欲编码的原始数据所在的时间或空间域进行某种数学变换,从一种信号空间变换到另一种信号空间,产生一批变换系数,使得通过变换后能够突出原始数据中的重要部分,以便重点处理。然后再对这些系数进行编码处理
- 关键是要寻找一个最佳变换,使信息中最重要的部分易于识别
- 重要的系数在变换到其他空间域后,其编码的精确度高于次要的系数
数据变换的方式
- 傅里叶变换
- 沃尔什变换
- 正弦变换
- 余弦变换
- 斜变换
- 哈尔变换
- K-L变换
5.7 音频信号压缩技术
音频信号冗余度
- 幅度非均匀分布
- 样本之间的相关性
- 周期之间的相关性
- 基音之间的相关性
- 静止系数(话音间隙)
- 长期相关性
- 人类听觉感知冗余
音频编译码器的分类
音频编码常采用有损编码
- 波形编码
- 参数编码
- 混合编码
- 声音信号数字化过程中,不同采样频率、量化位数本身就是一种压缩
波形编译码器
- 直接对波形信号进行采样和量化
- 根据采样定理对模拟语音信号进行采样,然后进行幅度量化与二进制编码(事实上没有压缩数字信号,但不同编码方式在模拟信号转换为数字信号过程中实现了不同压缩编码)
- 特点:简单,失真最小
- 典型方法:脉冲编码调制PCM、差分脉冲编码调制DPCM、自适应差分脉冲编码调制ADPCM等
音源编译码器
- 从话音波形信号中提取话音生成模型的参数,使用这些参数通过话音生成模型重构出话音
- 原理:以声音信号产生的模型为基础,将声音信号转换成参数后再进一步编码
- 基本参数:基音周期、共振峰、语音谱、声强等
- 特点:压缩率大,计算量大,保真度不高,保密性能好,用在军事上
- 典型方法:通道声码器、线性预测(LPC)声码器
混合编译码器
- 综合使用上述两种技术
- MPEGⅠ中的音频部分是一种混合编码
脉冲编码调制(PCM)
-
量化分类
- 均匀量化
- 非均匀量化
增量调制(DM)
一种预测编码技术,对实际的采样信号与预测的采样信号之差的极性进行编码,将极性变成“0”和“1”这两种可能的取值之一(等价于对于实际值和预测值的差值进行二值量化)
如果实际的采样信号与预测的采样信号之差的极性为“正”,则用“1”表示;相反则用“0”表示
斜率过载
- 增量调制器的输出不能保持跟踪输入信号的快速变化
粒状噪声
- 在输入信号缓慢变化部分,即输入信号与预测信号的差值接近零的区域,增量调制器的输出出现随机交变的“0”和“1”
自适应增量调制(ADM)
- 在检测到斜率过载时开始增大量化阶Δ,而在输入信号的斜率减小时降低量化阶Δ
自适应脉冲编码调制(APCM)
根据输入信号幅度大小来改变量化阶大小的一种波形编码技术
改变量化阶大小的两种方法
前向自适应
- 根据未量化的样本值的均方根值来估算输入信号的电平,以此来确定量化阶的大小,并对其电平进行编码作为边信息(side information)传送到接收端
后向自适应
- 从量化器刚输出的过去样本中来提取量化阶信息。由于后向自适应能在发收两端自动生成量化阶,所以它不需要传送边信息
差分脉冲编码调制(DPCM)
利用样本与样本之间存在的信息冗余度来进行编码(预测编码)
PCM、DM、DPCM的不同
- PCM:量化绝对值
- DM:量化相对值(2值量化)
- DPCM:量化相对值(多值量化)
自适应差分脉冲编码调制(ADPCM)
- 综合了APCM的自适应特性和DPCM系统的差分特性
- 利用自适应的思想改变量化阶的大小,即使用小的量化阶(step-size)去编码小的差值,使用大的量化阶去编码大的差值
- 使用过去的样本值估算下一个输入样本的预测值,使实际样本值和预测值之间的差值总是最小
子带编码(SBC)
使用一组带通滤波器(band-pass filter,BPF)把输入音频信号的频带分成若干个连续的频段,每个频段称为子带
对每个子带中的音频信号采用单独的编码方案去编码
在信道上传送时,将每个子带的代码复合起来
在接收端译码时,将每个子带的代码单独译码,然后把它们组合起来,还原成原来的音频信号
优点
- 对每个子带信号分别进行自适应控制,量化阶(quantization step)的大小可以按照每个子带的能量电平加以调节
- 可根据每个子带信号在感觉上的重要性,对每个子带分配不同的位数,用来表示每个样本值
线性预测编码(LPC)
- 通过分析话音波形来产生声道激励和转移函数的参数,对声音波形的编码实际就转化为对这些参数的编码
- 在接收端使用LPC分析得到的参数,通过话音合成器重构话音
5.8 压缩感知技术
- 解决数据采集设备廉价节能而压缩算法复杂和数据解压缩设备大型高效而解压缩算法相对简单的矛盾
- 压缩感知最核心的概念在于试图从原理上降低对一个信号进行测量的成本
6 多媒体数据压缩标准
6.1 图像数据压缩标准
种类
JPEG
- 静态图像压缩标准
MPEG
- 动态图像压缩标准
H系列(H.261, H.263)
- 视频压缩标准H.26x
JPEG
采用的两种基本压缩算法
以预测为基础的DPCM无损压缩算法
- 不对差值量化
以离散余弦变换DCT为基础的有损压缩算法
- JPEG压缩通常指此方法
4种运行模式
- 基于DPCM的无损编码模式
- 基于DCT的有损顺序编码模式
- 基于DCT的递增编码模式
- 基于DCT的分层编码模式
算法特点
既可用于灰度图像,又可用于彩色图像
JPEG算法与色彩空间无关
- JPEG算法处理的彩色图像是单独的彩色分量图像,因此它可以压缩来自不同彩色空间的数据
通常使用YUV模式
JPEG不仅适于静止图像的压缩,电视图像的帧内图像的压缩编码,也常采用此算法(作为动态图像压缩的一个组成部分)
JPEG标准还可以大范围地调节图像压缩比及其保真度
JPEG中的有损压缩利用了人的视觉系统的特性,使用变换编码+量化和无损压缩编码相结合来去掉视觉的冗余信息和数据本身的冗余信息
主要步骤
图像分块
正向离散余弦变换(FDCT)
量化(quantization)
Z字形编排(zigzag scan)
使用差分脉冲编码调制(differential pulse code modulation,DPCM)对直流系数(DC)进行编码
使用游程长度编码(run-length encoding,RLE)对交流系数(AC)进行编码
熵编码(entropy coding)
Huffman编码
交流系数熵编码的中间格式
符号1(游程,尺寸)
- 游程:前后两个非0的AC系数之间连续0的个数,1个字节的高4位存储
- 尺寸:后一个非0的AC系数复制幅值编码所需比特数,1个字节的低4位存储
- 游程取值范围为0-15,超过15用扩展符号(15,0)来扩充
- 尺寸的取值范围位0-10
- 编码结束用(0,0)来表示
符号2(幅值)
- 最长10位表示
直流系数的熵编码
符号1(尺寸)
符号2(幅值)
- 幅值可以以1位到11位表示
自适应二进制算术编码
组成位数据流
各种压缩技术的组合
基于DCT的递增编码模式
递增模式每个图像分量的编码要经过多次扫描才完成
递增模式
- 按频段累进
- 按位累进
基于DCT的分层编码模式
- 降低原始图像的空间分辨率
基于DPCM的钨酸编码模式
- 三领域二维预测编码和熵编码
JPEG图像文件格式
- 标记码
- 压缩数据
EXIF格式
MEPG
M-JPEG技术(运动静止图像(或逐帧)压缩技术)
- M-JPEG只对帧内的空间冗余进行压缩。不对帧间的时间冗余进行压缩,故压缩效率不高
MPEG-1和MPEG-2视频数据压缩算法
在空间方向上,图像数据压缩采用JPEG压缩算法来去掉冗余信息
在时间方向上,图像数据压缩采用运动补偿(motion compensation)算法来去掉冗余信息
实际做法
部分帧采用JPEG压缩,特点与M-JPEG相同
部分帧利用别的帧进行预测,依赖于别的帧,压缩比高,压缩质量稍差
具体分为I图像、P图像、B图像,需要考虑分布方式,三者图像压缩质量依次递减
I图像(帧内图)
- 采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性
P图像(预测图)
用最近的前一个I图像(或P图像)预测编码得到
以图像宏块为基本算法单元
参数
- 当前要编码的图像宏块与参考图像的宏块之间的差值
- 宏块的运动矢量
B图像(插补图,即双向预测图)
- B图像在预测时, 既可使用前一个图像作参照, 也可使用后一个图像做参照或同时使用前后两个图像作为参照图像(双向预测)
H.26x
- 可用于低带宽网络上的视频传输
6.2 音频数据压缩标准
中国音视频编码技术标准
- AVS
7 多媒体应用系统创作技术
7.1 多媒体应用系统设计基本过程
- 系统目标确定
- 编写系统脚本
- 进行脚本分析
- 脚本制作
- 脚本测试
- 系统评价等
7.2 多媒体系统创作
ToolBook
- 面向对象的多媒体开发工具
- 设计过程如同构造一本书
- 主要通过使用程序设计语言OpenScript来编写脚本
Authorware Professional
- 基于流程图的可视化多媒体开发工具
- 整个过程以流程图为基本处理对象
PowerPoint
7.3 多媒体程序设计基础
在Windows系统中,对多媒体设备进行控制主要有三种办法
- 使用Microsoft提供的多媒体控制接口MCI
- 通过调用Windows的应用程序接口API多媒体相关函数
- 使用对象链接与嵌入OLE
7.4 OpenGL
- OpenGL实际上是一种图形与硬件的接口
7.5 DirectX
- DirectX是Microsoft开发的基于Windows平台的一组API,不仅支持图形/图像编程,而且支持声音、视频等
- 它是为高速的实时动画渲染、交互式音乐和环境音效等高要求应用开发服务的
7.6 四大图像库
- OpenCV
- FreeImage
- CImg
- CxImage_Advancing