图像视频的特点
首先,图像视频信号十分直观确切,其可以较为准确的表述信息,不容易产生混淆,较为高效。其次,人们每天接受的外界信息中,图像视频信息大约占百分之七十,具有极高的比例,信息广泛。另外,由于图象视频信息含有大量的信息,其带宽一般较大。
图像压缩
对图像进行压缩,很有必要,也可行。数字化后的图像数据是十分庞大的,如果不进行压缩,将对存储器的存储容量、传输信道的带宽以及计算机的处理能力产生极大的挑战。由于图像存在冗余,所以可以进行图像压缩。图像的冗余体现在空间冗余、结构冗余、知识冗余、时间冗余、视觉冗余等方面。空间冗余是指图像中有些部分区域像素相似,具有相同的性质,在空间上具有强相关性。时间冗余是指运动图像与图像之间的强相关性导致的信息冗余。这两种冗余,即空间冗余和时间冗余,均属于统计冗余。知识冗余是指由于人类对于某个事物的先验知识带来的冗余,比如众所周知,猫有两只耳朵、四条腿等,这些信息对人们来说,算是冗余信息。结构冗余是由于图像各个部分之间存在某种关系所产生的冗余。视觉冗余是指人眼对某些信号不敏感所导致的冗余。
图像编码方法
图像的编码方法大致分为四类:统计编码、变换编码、矢量量化编码、预测编码。
统计编码,包括算数编码、霍夫曼编码、香农编码、游程编码等。
变换编码,包括傅里叶变换编码、K-L变换编码、DCT变换编码、小波变换编码等。
统计编码的基本理论
这里,需要明确一些概念:编码长度、平均码字长、信源的熵、冗余度、压缩比、编码效率、比特率。
物以稀为贵,信息出现的概率越小,其所包含的信息量越大,编码长度越长。
以码字集为例,编码长度定义为对码字出现的概率的倒数取对数。
平均码字长定义为对所有码字的单个码字的编码长度乘以其出现概率,求和。
编码效率定义为信源的熵与平均码字长的比值。
冗余度定义为用1减去编码效率。
压缩比定义为编码前与编码后的平均码字长之比。
比特率,对于静止图像来说,是指每个像素所需要的传输比特数;对于运动图像来说,是指每秒输出或者输入的比特数。
霍夫曼编码
算法流程
- 从出现概率最小的两个符号开始编码,小的编码为0,大的编码为1(也可以相反,最好保持一致)。
- 将已编码的符号的概率相加构成新概率符号,将该符号与剩余为编码符号进行排序。
- 重复1和2步骤,知道所有符号已经编码,且最终合并的信源符号概率达到1。
- 画出每个信源符号到概率1的路径,并记录路径上的1或0,获得编码。
香农编码
算法流程
- 根据图像灰度级出现的概率由大到小进行排序。
- 计算各个概率对应的编码长度,对于二进制码,取满足 − l o g 2 p i ≤ l i < − l o g 2 p i + 1 -log_2p_i\le l_i<-log_2p_i+1 −log2pi≤li<−log2pi+1的整数,如 p i = 0.2 p_i=0.2 pi=0.2,取 l i l_i li=3。
- 计算各个概率对应的累加概率。
- 将各个累加概率对应的十进制数分别转化为二进制数。
- 据各个二进制数小数点后 l i l_i li个长度的序列作为符号的输出码字。
算术编码
算法流程:
- 将当前区间初始化为[0, 1)。
- 将当前区间按照信符的概率进行划分(区间长度对应概率大小),每块对应一个信符。
- 选择下一个信符对应的子区间,使之成为当前区间。
- 处理完所有消息后,当前区间内的任意一个数,都可以代表这一信息。
游程编码
算法流程:
- 按行计入并读数
- 对灰度值进行编码
- 对个数进行编码
变换编码
编解码系统流程
- 输入图像
- 构造子图像
- 正变换
- 量化
- 符号编码
- 得到压缩图像
- 符号解码
- 反变换
- 合并子图像
- 解压图像
预测编码
预测编码分为无损预测编码和有损预测编码两种。
基本思想:通过提取每个像素所包含的新信息来消除像素之间的冗余。